3. 日志数据字段解析:时间戳、姿态、位置、传感器与遥控信号
拿到一份 QGC 日志,很多人第一反应是「这么多字段,从哪看起?」。我刚开始带项目时也犯过这毛病——恨不得把所有曲线都拖出来,结果看了一下午,啥也没分析出来。
其实,日志里真正核心的字段就那么几类。你只要把这五类数据看懂了,80% 的飞行问题都能定位。今天我就把这五类数据掰开揉碎了讲给你听。
3.1 时间戳:所有数据的「对齐基准」
时间戳是日志的灵魂。没有它,姿态、位置、传感器数据全是孤立的碎片。
QGC 日志里时间戳通常有两种:
- 系统启动时间(单位:微秒 µs)—— 飞控上电开始计时
- UTC 时间(单位:秒)—— GPS 锁定后提供
我个人习惯优先看系统启动时间。为什么?因为 GPS 可能在室内或搜星不足时丢失,但系统时间永远不会断。
举个例子,有一次我在分析一台炸机的日志,发现 GPS 时间在 120 秒处突然跳变。当时以为是 GPS 故障,后来对照系统时间才发现——其实是飞控重启了。嗯,这就是时间戳对齐的价值。
3.2 姿态数据(ATT):飞机的「体态语言」
姿态数据告诉你飞机是平飞、倾斜还是倒扣。核心字段就四个:
| 字段名 | 含义 | 单位 | 正常范围 |
|---|---|---|---|
| Roll | 横滚角 | 度 (°) | -45 ~ +45(正常飞行) |
| Pitch | 俯仰角 | 度 (°) | -30 ~ +30(正常飞行) |
| Yaw | 偏航角 | 度 (°) | 0 ~ 360 |
| Heading | 航向角(相对磁北) | 度 (°) | 0 ~ 360 |
你想想看,如果 Roll 突然跳到 90°,那基本可以断定飞机已经侧翻了。我在项目中遇到过一架六轴,日志里 Roll 在 3 秒内从 5° 飙到 80°,紧接着就是 IMU 报错——后来查出来是减震棉老化导致传感器共振。
3.3 位置数据(GPS):飞机的「地理坐标」
GPS 数据是飞行安全的最后一道防线。我建议你重点关注这几个字段:
- Lat / Lon:经纬度,定位的基础
- Alt:海拔高度(椭球高或 MSL)
- HDOP / VDOP:水平/垂直精度因子,越小越好
- Satellites:可见卫星数
- Fix Type:定位类型(0=无定位,2=2D,3=3D,4=RTK 固定解)
说白了,GPS 数据好不好,先看 Fix Type 和 Satellites。Fix Type 低于 3 的日志,基本可以放弃位置分析——数据不可信。
我曾经帮一个飞友排查「自动返航偏航」的问题。日志里 Fix Type 一直是 3,但 Satellites 从 18 颗慢慢掉到 7 颗,HDOP 从 0.8 涨到 3.5。返航时飞机直接偏了 50 米。原因很简单:GPS 天线被机臂遮挡了。
- HDOP < 1.0:优秀
- HDOP 1.0 ~ 2.0:良好
- HDOP > 2.5:谨慎飞行
- Satellites < 10:建议不要起飞
3.4 传感器数据(IMU/磁力计/气压计):飞控的「感知器官」
这部分数据最杂,但也最能暴露问题。我按传感器类型给你拆开讲。
3.4.1 IMU(加速度计 + 陀螺仪)
加速度计测的是比力(单位 m/s²),陀螺仪测的是角速度(单位 rad/s)。日志里通常有两条 IMU 数据流(IMU0 和 IMU1),用于冗余校验。
我习惯先看加速度计的模长:
accel_norm = sqrt(accel_x² + accel_y² + accel_z²)
悬停时,这个值应该在 9.8 m/s² 左右(1g)。如果偏差超过 0.5g,说明传感器可能坏了。
3.4.2 磁力计(Magnetometer)
磁力计提供航向参考,但也是最容易受干扰的传感器。日志里看 MagX / MagY / MagZ 三个分量。
正常情况,飞机水平旋转时,三个分量应该呈现平滑的正弦波。如果出现毛刺或跳变,说明有电磁干扰。
我记得有一次排查「罗盘异常」故障,日志里 MagZ 在某个方向突然跳变 200 个单位。后来发现是机臂上的 LED 灯带电源线离磁力计太近了——电流变化产生的磁场干扰。
3.4.3 气压计(Barometer)
气压计用于高度估算,字段通常是 BaroAlt(单位米)。它的特点是:短期精度高,长期会漂移。
我建议你看气压计时,关注它的变化率。如果 BaroAlt 在 1 秒内变化超过 5 米,而飞机实际没有快速升降,那基本可以断定气压计被风干扰了——比如飞控舱没有做密封。
3.5 RC 输入与输出:飞手的「指令」与飞机的「响应」
这部分数据用来判断:飞手发了什么指令,飞机实际执行了什么。
| 字段前缀 | 含义 | 典型值(PWM) |
|---|---|---|
| RCIN | 遥控器输入信号 | 1000 ~ 2000 µs |
| RCOUT | 飞控输出到电机的信号 | 1000 ~ 2000 µs |
| Servo | 舵机输出(如果有) | 1000 ~ 2000 µs |
对比 RCIN 和 RCOUT 是排查「飞手说打了杆但飞机没反应」这类问题的关键。如果 RCIN 有变化但 RCOUT 没变,说明飞控没有响应遥控指令——可能是模式设置问题,也可能是飞控死机了。
我曾经遇到一个案例:飞手说推油门没反应,日志里 RCIN[2](油门通道)从 1100 变到 1800,但 RCOUT 始终卡在 1100。后来发现是飞控的油门限位被误设为 50%。
3.6 知识体系总览
下面这张图把这五类数据的关系串起来了。你可以把它当作日志分析的「导航地图」。
这张图你看懂了吗?核心逻辑就是:时间戳是骨架,姿态和位置是表象,传感器是内因,RC 数据是验证手段。排查问题时,按这个顺序走,基本不会漏。