第三节:传感器校准基础

传感器校准,说白了就是给飞控的「眼睛」配副合适的眼镜。我见过太多新手,一上来就调PID,结果飞机乱飘,最后发现是加速度计数据都是歪的。嗯,这节课我们就把四个核心传感器的校准讲透。

3.1 加速度计校准:六面法

加速度计测量的是重力加速度在三个轴上的分量。理想情况下,静止时三轴平方和应该等于1g²。但实际器件有零偏、刻度因子误差,还有轴间非正交误差。

六面法的核心思想:让加速度计的每个轴分别朝上和朝下,采集6组数据,然后解算出误差参数。

校准模型

a_真实 = K * (a_测量 - b)

其中:

  • K 是3x3的刻度因子+非正交矩阵
  • b 是3x1的零偏向量

具体操作步骤:

  1. 将飞控水平放置,Z轴朝上,记录数据
  2. 翻转180°,Z轴朝下,记录数据
  3. 同理,X轴朝上、朝下各一次
  4. Y轴朝上、朝下各一次
  5. 共6组数据,每组取几十秒均值

我个人习惯用最小二乘法来解这个方程组。你想想看,6个方程解6个未知数(3个零偏+3个刻度因子),刚好能定解。如果还要解非正交项,那就需要更多姿态数据了。

避坑指南:我曾经在项目里发现,用手拿着飞控翻转时,手的抖动会引入额外加速度。后来我改用泡沫块垫着飞控,等数据稳定了再记录。这个小改动让校准精度提升了30%。

3.2 陀螺仪零偏校准

陀螺仪测的是角速度。静止时,理想输出应该是0。但实际器件总有零偏,这个零偏会随时间漂移,也会随温度变化。

校准方法其实很简单

  • 让飞控完全静止不动
  • 采集30秒到1分钟的陀螺仪数据
  • 取平均值,就是零偏值
  • 后续使用时,直接减去这个值

注意:陀螺仪零偏校准必须在飞控上电稳定后进行。我遇到过有人刚上电就校准,结果温漂还没稳定,校准完反而更差了。建议上电后等30秒再开始采集。

为什么取平均就行?说白了,陀螺仪的噪声是零均值的高斯白噪声,取平均就能把噪声滤掉,剩下的就是零偏。这个原理在信号处理里叫「时域平均法」。

3.3 磁力计椭球拟合校准

磁力计这玩意儿最让人头疼。它测的是地磁场,但周围任何铁磁物质都会干扰它。硬磁干扰(比如电机、电池)会给数据加一个固定偏置,软磁干扰(比如铁壳)会改变磁场形状。

椭球拟合的原理

理想情况下,磁力计在三维空间旋转时,数据点应该落在一个球面上。但受干扰后,球变成了椭球。我们要做的就是把这个椭球「拉」回球体。

校准步骤

  1. 拿着飞控在空中画「8」字,让所有轴都充分旋转
  2. 采集至少200个点,覆盖各个方向
  3. 用最小二乘法拟合椭球参数
  4. 解出球心偏移(硬磁)和椭球形状(软磁)

我记得第一次做磁力计校准时,怎么画8字都拟合不好。后来发现是桌子上有个铁质水杯。嗯,校准环境一定要远离铁磁物质,包括你的手机、钥匙、手表。

实用技巧:如果飞控装在机架上,建议带着机架一起校准。因为机架本身就有铁磁物质,单独校准飞控再装上去,效果反而不好。

3.4 气压计温度补偿

气压计用来测高度,但它对温度极其敏感。温度变化1°C,高度读数可能漂移几十厘米。这在定高飞行时是致命的。

温度补偿的核心思路:建立温度-气压偏移的映射关系,实时修正。

温度范围 典型偏移量 补偿方式
0°C ~ 25°C +0.5 hPa 线性插值
25°C ~ 50°C -0.3 hPa 线性插值
50°C ~ 80°C -1.2 hPa 多项式拟合

具体做法:

  1. 把飞控放进温箱,从-10°C加热到80°C
  2. 记录每个温度点下的气压计读数
  3. 拟合出温度-偏移曲线
  4. 飞控运行时,根据当前温度查表修正

重要提醒:气压计上方不能有遮挡,否则气流会形成局部压力变化。我曾经见过有人把气压计贴在飞控外壳下面,结果飞行时高度数据疯狂跳动。后来开了个通气孔,问题就解决了。

你想想看,如果温度补偿没做好,飞机在太阳下飞一会儿,高度就会慢慢漂移。明明悬停在2米,飞控却以为自己在3米,然后开始下降...嗯,这就是炸机的节奏。

知识体系总览

下面这张图总结了四种传感器校准的核心逻辑和相互关系:

传感器校准知识体系 加速度计校准 方法:六面法 模型:a_真 = K*(a_测 - b) 参数:零偏b + 刻度因子K 数据:6组静止姿态 陀螺仪零偏校准 方法:静止采集 模型:ω_真 = ω_测 - b_gyro 参数:零偏b_gyro 数据:30秒静止均值 磁力计椭球拟合 方法:画8字旋转 模型:椭球→球体变换 参数:硬磁偏移 + 软磁矩阵 数据:≥200个方向点 气压计温度补偿 方法:温箱标定 模型:P_真 = P_测 - f(T) 参数:温度-偏移曲线 数据:全温区扫描 传感器融合 数据质量决定融合精度 校准顺序:陀螺仪 → 加速度计 → 磁力计 → 气压计

这张图把四种校准的关系串起来了。你会发现,陀螺仪和加速度计是IMU层面的校准,磁力计和气压计是环境感知层面的校准。它们之间没有严格的先后顺序,但我个人习惯先做陀螺仪和加速度计,再做磁力计和气压计。

总结一下

  • 加速度计六面法:6组数据解6个参数
  • 陀螺仪零偏:静止均值,简单有效
  • 磁力计椭球拟合:画8字,远离铁磁
  • 气压计温度补偿:温箱标定,实时查表

传感器校准是飞控调参的基石。你想想看,如果传感器数据都是歪的,后面调PID调得再好也没用。我曾经在一个项目中,花了两周调PID,飞机还是不稳,最后发现是加速度计安装歪了0.5度。嗯,从那以后,我每次调参前都会先检查一遍传感器校准状态。


专注资料整理