4. 日志下载与转换工具
日志分析这件事,说白了就是「让数据开口说话」。但数据不会自己跳出来告诉你哪里出了问题——你得知道怎么看、看哪里、怎么对比。Mission Planner自带的日志查看器(Log Viewer)就是咱们最趁手的工具。我用了这么多年,可以说90%的疑难杂症都是靠它揪出来的。
这一章,咱们就把这个工具彻底摸透。从界面布局到操作技巧,再到多曲线叠加对比,一步步来。
4.1 界面布局:三个核心区域
打开Mission Planner,点击菜单栏的「Log」→「Download/View Log」,加载一个bin日志文件后,你会看到这样一个界面:
嗯,别被密密麻麻的曲线吓到。其实它只分三个区,搞清楚各自干什么,你就已经入门了。
核心三区速览:
- 消息列表(Message List):左侧或顶部,按时间顺序列出所有日志消息类型。
- 曲线图(Graph):中间主区域,数据可视化展示。
- 数据表(Data Table):底部或右侧,精确数值查看。
4.1.1 消息列表
消息列表里,每一行代表一种数据消息类型。比如MSG(飞控消息)、GPS(卫星数据)、IMU(惯性测量单元)、RCIN(遥控输入)等等。
我个人习惯先扫一眼消息列表,看看有没有异常消息类型。比如突然出现很多「EKF」相关的警告,那基本可以断定导航滤波器出问题了。
小技巧:消息列表支持多选。按住Ctrl键点击多个消息类型,曲线图会同时显示多条曲线。这是做对比分析的基础操作。
4.1.2 曲线图
曲线图是主战场。所有数据都以时间为横轴、数值为纵轴绘制成曲线。
你想想看,几百个数据点堆在一起,人眼根本看不出规律。但画成曲线,趋势一目了然——哪个参数在飘、哪个传感器在抖、哪个控制回路在震荡,一眼就能发现。
曲线图默认是「自动缩放」模式,也就是把所有数据都塞进可视区域。但有时候数据量太大,曲线会挤成一团。这时候就需要手动操作了。
4.1.3 数据表
数据表在底部,显示当前光标位置附近的具体数值。我经常用它来「定点取证」——比如在曲线图上看到一个异常尖峰,把光标移过去,数据表里就能读出精确的时间戳和数值。这在写故障报告时特别有用。
4.2 基本操作:缩放、平移、测量、标记
光会看界面还不够,得会用工具。日志查看器提供了几个非常实用的操作,我一个个说。
4.2.1 缩放
缩放有两种方式:
- 滚轮缩放:鼠标滚轮直接滚动,以光标位置为中心缩放。我习惯先滚到感兴趣的区域,再精细调整。
- 框选缩放:按住鼠标左键拖出一个矩形框,松开后自动放大到框选区域。这个在查看异常瞬间时特别好用。
要恢复全图视图,双击曲线图区域即可。
注意:缩放时如果曲线变得「断断续续」,别慌。那是因为数据点太密,显示做了降采样。放大到足够比例后,原始数据点就会完整呈现。
4.2.2 平移
按住Shift键,再按住鼠标左键拖动,就可以平移曲线图。平移配合缩放,可以快速浏览整个飞行过程。
我曾经排查一个「飞行中突然偏航」的问题,就是靠平移功能,一段一段地看偏航角曲线,最终发现是某个时刻地磁干扰导致的。
4.2.3 测量
测量功能用来读取曲线上任意两点的差值。操作很简单:
- 在曲线图上右键,选择「测量」模式。
- 点击第一个点,再点击第二个点。
- 状态栏会显示:时间差、数值差、斜率。
比如你想知道「从解锁到起飞,高度变化了多少?」——用测量功能,点一下解锁时刻的高度点,再点一下起飞时刻的高度点,差值就出来了。
4.2.4 标记
标记功能用来给关键位置做记号。右键点击曲线图,选择「添加标记」,输入备注文字。
我每次分析日志都会用标记标出:解锁、起飞、切换模式、异常发生、降落等关键节点。这样回头再看,或者发给同事讨论,大家都能快速定位。
我的习惯:标记颜色用红、黄、绿区分严重程度。红色标记代表「必须修复的问题」,黄色代表「需要关注」,绿色代表「正常操作节点」。
4.3 多曲线叠加对比
单看一条曲线,很多时候看不出问题。但把两条相关的曲线叠在一起对比,真相往往就浮出水面了。
4.3.1 为什么要叠加对比?
举个例子:你发现飞机在悬停时高度不稳。单独看高度曲线,只能看到「它在上下晃」。但如果你把高度曲线和油门输出曲线叠在一起看,可能会发现:油门在疯狂调节,但高度纹丝不动——这说明要么是气压计坏了,要么是电机响应出了问题。
再比如,偏航角与罗盘航向的对比。如果两条曲线在某个时刻突然分叉,那基本可以断定是罗盘受到了干扰。
4.3.2 如何叠加对比?
操作步骤:
- 在消息列表中,勾选你想要对比的消息类型(比如ATT和RCIN)。
- 曲线图会同时显示多条曲线,每条曲线用不同颜色区分。
- 如果曲线数值范围差异太大(比如高度是几十米,油门是几百微秒),可以右键点击某条曲线,选择「使用右侧Y轴」,让两条曲线共用不同纵轴。
| 对比场景 | 推荐叠加的曲线 | 能发现什么 |
|---|---|---|
| 检查姿态控制 | ATT.Roll + RCIN.Roll | 遥控指令与姿态响应是否同步 |
| 检查高度控制 | BARO.Alt + CTUN.ThrOut | 高度变化与油门调节是否匹配 |
| 检查罗盘干扰 | MAG.MagX + GPS.Spd | 高速飞行时罗盘是否受电机磁场影响 |
| 检查振动 | IMU.AccX + IMU.AccY + IMU.AccZ | 三轴加速度是否异常抖动 |
4.3.3 对比时的常见误区
我见过不少新手犯这个错:把两条曲线叠在一起,发现它们「看起来差不多」,就认为没问题。其实不然——
- 时间轴要对齐:确保两条曲线的时间轴起点一致。有时候日志文件有多个片段,时间轴没对齐,对比就毫无意义。
- 注意延迟:控制指令和传感器响应之间必然有延迟。如果两条曲线形状一致但错开了一小段,那是正常的。但如果错开太多,说明控制延迟过大。
- 别只看趋势,要看数值:曲线形状相似不代表数值正确。比如油门输出和高度变化趋势一致,但油门已经推到80%了高度还在掉——那说明推力不足。
实战案例:有一次我帮朋友排查一架四轴飞行器「起飞后自动向右偏」的问题。单独看偏航角曲线,看不出异常。但把偏航角曲线和四个电机的转速曲线叠在一起对比,发现:右前电机转速明显低于其他三个。最终查出是右前电机电调校准不一致导致的。这就是叠加对比的威力。