4. 传感器校准与参数调优:加速度计校准、磁力计校准、水平校准、EKF参数调优、传感器故障排查
传感器校准,说白了就是让飞控知道「什么是正、什么是直、什么是北」。很多新手炸机,不是代码写错了,而是传感器数据本身就是歪的。我见过太多人一上来就调PID,结果加速度计都没校准——你想想看,飞控连水平都判断不准,调什么都是白搭。
这一章,我把这些年踩过的坑、总结的经验,一条条掰开讲清楚。
4.1 加速度计校准:别让飞控「站歪了」
加速度计校准的目的很简单:让飞控知道,在静止状态下,三个轴的重力分量应该是多少。理想情况下,水平放置时,Z轴读数为1g,X和Y轴为0。
核心原则:校准必须在完全静止、水平的地面上进行。任何振动或倾斜都会导致校准结果偏差。
我个人习惯用Mission Planner的「加速度计校准」功能,按提示把飞控六个面分别朝上放置。这里有个细节——
我的小技巧:在校准过程中,每次翻转后等待2-3秒再点击「完成」。因为传感器数据需要稳定下来,尤其是温度变化时。我在项目中遇到过,有次在户外校准,风一吹机架轻微晃动,结果校准出来的数据偏了0.05g,飞起来就飘。
校准完成后,检查一下参数:
INS_ACCX_OFF、INS_ACCY_OFF、INS_ACCZ_OFF:偏移量应在±0.1以内INS_ACCX_SCALE、INS_ACCY_SCALE、INS_ACCZ_SCALE:比例因子应在0.95~1.05之间
如果偏差太大,别急着调参数——先检查飞控安装是否牢固,有没有减震棉压得太紧导致变形。
4.2 磁力计校准:别让罗盘「找不着北」
磁力计是无人机最娇气的传感器。一点点电磁干扰、金属物体、甚至地磁场异常,都能让它发疯。我见过最离谱的一次,飞控装在碳纤维机架上,结果磁力计读数直接偏了30度——碳纤维本身不导磁,但机架上的金属螺丝和电机线缆形成了干扰场。
避坑指南:我曾经在停车场里做磁力计校准,结果飞控一直报错。后来才发现,地下车库的钢筋结构产生了巨大的磁场畸变。记住:校准地点必须远离建筑物、金属物体、高压线,最好在开阔的草地上进行。
校准步骤:
- 将无人机放在校准点,保持水平
- 在Mission Planner中启动「磁力计校准」
- 缓慢旋转无人机,让每个轴都经过所有方向(像画一个球体)
- 旋转时间不少于60秒,速度不要太快
校准完成后,看两个关键指标:
| 参数 | 正常范围 | 异常处理 |
|---|---|---|
COMPASS_OFS_X/Y/Z |
±200以内 | 超过±300,检查干扰源 |
COMPASS_MOT_X/Y/Z |
±50以内 | 超过±100,需要做电机干扰补偿 |
| 校准后偏移量标准差 | < 30 | 标准差过大,重新校准 |
我的习惯:每次更换电池或拆装飞控后,都重新做一次磁力计校准。因为电池位置变化、线缆重新布线,都会改变磁场分布。别偷懒,这步省不了。
4.3 水平校准:让飞控「站直了」
水平校准,也叫「加速度计水平校准」,是让飞控知道当前姿态就是「水平」。很多人以为加速度计校准完就完事了,其实不是——加速度计校准解决的是传感器本身的偏差,而水平校准解决的是安装偏差。
举个例子:你的飞控装在机架上,可能歪了1度。加速度计校准后,它知道重力方向,但不知道机架相对于重力方向的角度。水平校准就是告诉它:「现在这个角度,就是0度俯仰、0度横滚」。
操作很简单:
- 把无人机放在水平平台上(用水平仪确认)
- 在Mission Planner中执行「水平校准」
- 等待3秒,确认完成
注意:水平校准必须在加速度计校准之后做。顺序反了,数据全乱。
我有个习惯:每次更换飞控安装位置、或者更换减震板后,都重新做一次水平校准。别小看这1度偏差——在高速飞行时,1度偏差会导致几十米的漂移。
4.4 EKF参数调优:让状态估计「稳如老狗」
EKF(扩展卡尔曼滤波器)是ArduPilot的核心状态估计器。它融合GPS、IMU、磁力计、气压计等数据,输出位置、速度、姿态。参数调不好,飞控就像喝醉了酒——忽左忽右,忽高忽低。
EKF参数很多,但核心就几个:
| 参数 | 作用 | 我的推荐值 |
|---|---|---|
EK2_ALT_NOISE |
高度测量噪声 | 10(室内)、3(室外GPS好) |
EK2_VEL_NOISE |
速度测量噪声 | 0.5(GPS好)、1.0(GPS差) |
EK2_POS_NOISE |
位置测量噪声 | 0.5(RTK)、3.0(普通GPS) |
EK2_GPS_TYPE |
GPS融合模式 | 2(同时融合位置和速度) |
EK2_ENABLE |
启用EKF2 | 1(建议用EKF2,不要用EKF3除非你懂) |
避坑指南:我曾经在EKF参数上栽过大跟头。有次飞一台六轴,悬停时高度漂了2米。查了半天,发现是EK2_ALT_NOISE设成了1,气压计噪声被过度信任。改成10后,高度稳得像钉在地上。记住:噪声参数越小,滤波器越信任该传感器;但太小会导致滤波器发散。
调优步骤:
- 先做传感器校准,确保原始数据可靠
- 用默认参数试飞,看EKF状态(Mission Planner的EKF页面)
- 检查
EKF Status:正常应为0(良好),如果出现1或2,说明有问题 - 根据问题调整对应噪声参数
我的经验:如果EKF报错,先别急着调参数。90%的情况是传感器数据本身有问题——磁力计干扰、GPS信号差、加速度计未校准。先排查传感器,再动EKF参数。
4.5 传感器故障排查:快速定位问题
传感器故障是无人机最常见的「软故障」——飞控不报错,但飞起来就是不对劲。我总结了一套排查流程,按顺序来,基本能解决90%的问题。
具体排查方法:
4.5.1 加速度计故障
- 现象:悬停时漂移、起飞时倾斜、EKF报错
- 排查:在Mission Planner的「传感器」页面看原始数据。静止时,Z轴应在1000左右,X/Y轴接近0。如果波动超过±50,说明有问题
- 解决:重新校准;检查减震棉是否老化;检查飞控安装螺丝是否松动
4.5.2 磁力计故障
- 现象:航向漂移、绕圈飞行、EKF报错
- 排查:看
COMPASS_OFS是否异常;旋转无人机看磁力计读数是否平滑变化 - 解决:重新校准;远离干扰源;检查磁力计安装位置
4.5.3 GPS故障
- 现象:位置漂移、无法定高、返航偏航
- 排查:看卫星数量(至少8颗)、HDOP(小于1.5)、定位精度
- 解决:检查天线安装位置(远离碳纤维和电机);更新GPS固件;检查GPS协议(必须用u-blox协议)
4.5.4 气压计故障
- 现象:高度漂移、定高不稳
- 排查:看原始气压值是否稳定;检查气压计是否被遮挡
- 解决:确保气压计通风口不被遮挡;避免阳光直射;检查海绵盖是否脱落
终极排查法:如果所有传感器都查了还是不行,试试「传感器重置」——在Mission Planner中执行一次完整的传感器初始化,包括加速度计、磁力计、水平校准。有时候,问题就是校准数据被污染了。
嗯,传感器校准这块,说白了就是「慢工出细活」。别急着飞,先把传感器伺候好了。我见过太多人,飞控到手就装桨起飞,结果炸了才回来查传感器——那时候已经晚了。
记住一句话:传感器数据是飞控的「眼睛」。眼睛看不清,再好的算法也白搭。