SuWeipeng
SuWeipeng
> 注意到您在功能中增加了与matlab的交互,我有一个想法,我们进行分析,不只是对结果进行分析,对任务的分析和处理也显得有所必要。 > 是否可以在ArduPilotLog中增加对.plan或者.mission文件的处理,绘制航点之间的连线、显示对航点的坐标和计算航点之间的距离等等; > 或者经过ArduPilotLog预处理,生成.db等格式的文件,用MATLAB打开,进行航点之间连接线的绘制、坐标点的显示和航点之间的距离计算,甚至是调整航点的经纬度等操作。并且,在对.plan文件进行分析处理之后,MATLAB能够生成.plan格式的文件,在QGC中进行读取,或者上传至飞控。 > 不知这是否可行,向您请教。 你的想法可行,其实我个人大多数也是直接把 Log 通过 ArduPilotLog 导出 *.db 后用 MATLAB 分析的。通过 MATLAB 的脚本干这些事比在 QT 里写代码要容易得多,所以对于你这些想法 ArduPilotLog 就是给 MATLAB “送数据”的角色,在 MATLAB 里能更简单实现,就不在 QT 里花时间编程了。
首先说慢的原因 --- 1. 根本原因数据量大 2. ArduPilotLog 没有用到QT的多线程,所以读数据过程中界面会卡住,界面卡会加剧读取慢的感觉(实际卡不卡都是一样的速度)。PS: 为了保持代码的简洁,不让代码更复杂,多线程我不想加了,以方便初入门的人学习。 关于FMT缺失导致读不到 --- 1. FMT是Ardupilot日志数据的"结构信息",对日志文件的识别和解码是否成功起到决定性作用。 2. 你是否改过ardupilot日志代码导致FMT缺失。如果是改回去就行,如果不是我一下子也不知道怎么办。我也会偶尔在Ardupilot上加些自定义日志进去,知道方法可以交流。
BUG: conf 参考线负数绘不出【Done】