3. 传感器校准与参数:加速度计、陀螺仪、磁力计、气压计的校准参数详解

传感器校准,说白了就是让飞控知道「什么是水平」、「什么是静止」、「什么是北」。

我见过太多飞友,飞机一上天就抽风,第一反应是调 PID。其实八成是传感器数据本身就是脏的。你想想看,飞控拿到的加速度计数据偏了 0.1g,它以为自己在倾斜,实际上机体是平的——那姿态解算能对吗?

所以这一章,咱们把四个核心传感器的校准参数和排查思路彻底讲透。

核心原则:校准顺序不能乱。我的习惯是:加速度计 → 陀螺仪 → 磁力计 → 气压计。因为磁力计依赖姿态,姿态依赖加速度计和陀螺仪。

3.1 加速度计校准

加速度计测量的是比力(重力 + 运动加速度)。校准时,我们只关心重力分量。

校准参数

参数名 说明 典型值范围
CAL_ACC0_XOFF X 轴偏移量 -0.3 ~ 0.3 m/s²
CAL_ACC0_YOFF Y 轴偏移量 -0.3 ~ 0.3 m/s²
CAL_ACC0_ZOFF Z 轴偏移量 -0.3 ~ 0.3 m/s²
CAL_ACC0_XSCALE X 轴比例因子 0.95 ~ 1.05
CAL_ACC0_YSCALE Y 轴比例因子 0.95 ~ 1.05
CAL_ACC0_ZSCALE Z 轴比例因子 0.95 ~ 1.05

校准方法很简单:把无人机依次摆成 6 个姿态(水平朝上、水平朝下、左侧、右侧、机头朝上、机头朝下),每个姿态保持静止 2-3 秒。飞控会自动采集数据,拟合出偏移和比例因子。

我的经验:摆姿态时,尽量让机体轴线与重力方向对齐。别用手扶着,用校准支架或者干脆把飞机放桌角上。手抖会引入噪声,校准结果就不干净。

校准失败排查

  • 现象:校准过程中提示「姿态变化太快」或「数据不稳定」。
  • 排查:检查飞控是否固定牢固?有没有减震棉松动?加速度计数据在 QGroundControl 的传感器页面看,如果数值跳动超过 ±0.05 m/s²,说明振动太大。
  • 我曾经遇到过一台四轴,怎么校准都不过。最后发现是飞控的减震柱有一颗螺丝没拧紧,飞机一碰就晃。拧紧后一次通过。

3.2 陀螺仪校准

陀螺仪测量角速度。校准时,飞控需要知道「静止时角速度应该为零」。

校准参数

参数名 说明 典型值范围
CAL_GYRO0_XOFF X 轴角速度偏移 -0.05 ~ 0.05 rad/s
CAL_GYRO0_YOFF Y 轴角速度偏移 -0.05 ~ 0.05 rad/s
CAL_GYRO0_ZOFF Z 轴角速度偏移 -0.05 ~ 0.05 rad/s

陀螺仪校准只需要把飞机静止放在水平面上,点击校准即可。飞控会采集 1-2 秒的数据,取平均值作为零偏。

注意:陀螺仪对温度敏感。如果你在室内 25°C 校准,拿到室外 0°C 飞,零偏可能会漂移。我建议在飞行环境温度下做热校准,或者开启 PX4 的陀螺仪温度补偿功能(参数 IMU_GYRO_TCOMP)。

校准失败排查

  • 现象:校准后,飞机悬停时缓慢自旋。
  • 排查:检查陀螺仪原始数据。在 QGC 的 MAVLink Inspector 里看 SCALED_IMU2 的角速度值,静止时应该接近 0。如果某个轴有 0.1 rad/s 以上的偏移,说明校准没生效,或者参数被覆盖了。
  • 另一个坑:有些飞控板上有多个陀螺仪(比如 ICM-20602 和 BMI088),PX4 默认使用第一个。如果你换了飞控型号,记得检查 CAL_GYRO0_ID 是否匹配实际硬件。

3.3 磁力计校准

磁力计是传感器里最娇气的。它测的是磁场,但周围任何铁磁性物质都会干扰它。

校准参数

参数名 说明 典型值范围
CAL_MAG0_XOFF X 轴磁场偏移 -200 ~ 200
CAL_MAG0_YOFF Y 轴磁场偏移 -200 ~ 200
CAL_MAG0_ZOFF Z 轴磁场偏移 -200 ~ 200
CAL_MAG0_XSCALE X 轴比例因子 0.8 ~ 1.2
CAL_MAG0_YSCALE Y 轴比例因子 0.8 ~ 1.2
CAL_MAG0_ZSCALE Z 轴比例因子 0.8 ~ 1.2

校准方法:拿着无人机,在空中画「8」字,或者绕每个轴旋转 360°。目的是让磁力计采集到各个方向的磁场数据,拟合出椭球参数。

我个人习惯:校准磁力计时,把飞机拿到室外,远离建筑物和金属物体。室内钢筋、电线、甚至桌子腿都会让校准结果偏掉。校准完成后,在 QGC 里看磁场模值,应该在 0.4-0.6 Gauss 之间(视纬度而定),且三个轴的读数变化平滑。

校准失败排查

  • 现象:校准后,航向角(Yaw)漂移,或者飞机在悬停时打转。
  • 排查:先看磁力计数据是否饱和。如果某个轴的读数一直卡在 ±1200 附近,说明磁力计饱和了——周围有强磁场。我曾经遇到过客户把 GPS 模块装在电机正下方,电机一通电,磁力计直接爆表。
  • 另一个常见问题:校准椭球拟合失败,提示「数据点不足」或「分布不均匀」。这说明你画 8 字不够全面。记得让机头朝上、朝下、左右翻滚都覆盖到。

3.4 气压计校准

气压计用于测量高度。它其实不需要用户手动校准——PX4 在上电时会自动采集当前气压作为基准。

校准参数

参数名 说明 典型值
SENS_BARO_QNH 海平面气压基准 1013.25 hPa
CAL_BARO0_OFF 气压计偏移(极少使用) 0

气压计校准的关键在于「上电时不要动」。飞控上电后,会采集 5-10 秒的气压数据取平均,作为零高度基准。如果你在上电期间移动了飞机,基准就偏了。

注意:气压计对气流非常敏感。飞控的减震海绵如果堵住了气压计的通气孔,高度数据会严重滞后。我见过有人把飞控装在密封的泡沫盒子里,结果高度数据完全不动。

校准失败排查

  • 现象:起飞后高度数据跳变,或者悬停时高度上下波动超过 0.5 米。
  • 排查:检查气压计通气孔是否被遮挡。在 QGC 里看 SCALED_PRESSURE 的原始值,如果数值在静止时跳动超过 10 Pa(约 0.8 米),说明有风直吹或者减震设计有问题。
  • 另一个点:气压计受温度影响很大。飞控刚上电时,内部元件还在发热,气压计读数会缓慢漂移。我建议上电后等 1-2 分钟再起飞,让温度稳定下来。

3.5 传感器校准知识体系

下面这张图总结了四个传感器的校准要点和相互依赖关系:

传感器校准知识体系 传感器校准知识体系 加速度计 陀螺仪 磁力计 气压计 校准方法 6 姿态静止法 静止采集零偏 画 8 字 / 旋转 上电自动基准 常见失败原因 振动过大 姿态未摆正 温度漂移 参数被覆盖 铁磁干扰 8 字不完整 通气孔堵塞 上电移动

3.6 校准后的验证

校准完别急着飞。我习惯做三步验证:

  1. 看数据流:在 QGC 的「传感器」页面,检查加速度计三个轴是否在静止时显示 [0, 0, -9.8] 左右,陀螺仪三个轴接近 0,磁力计模值稳定。
  2. 做预解锁检查:PX4 的预解锁检查(Arming Check)会提示传感器状态。如果报错,先别强制解锁,回去查参数。
  3. 小幅度试飞:在 1 米高度悬停 10 秒,观察姿态角和高度是否稳定。如果 Yaw 缓慢漂移,多半是磁力计问题。

最后说一句:传感器校准是飞控调参的基石。这一步省了时间,后面调 PID 会花十倍时间补回来。我见过太多人跳过校准直接飞,结果炸了机还怪飞控不行。嗯,先把传感器伺候好,再谈性能。