3、校准基础理论:零偏、标度因数、正交误差、温漂的概念与数学模型
各位同学,欢迎来到校准理论的第一课。说实话,很多飞控新手一上来就急着调PID参数,结果飞起来总是偏航、漂移,折腾半天找不到原因。我当年也犯过这个错——后来才明白,传感器没校准好,后面调得再辛苦也是白搭。
今天咱们就把校准的四个核心概念讲透:零偏、标度因数、正交误差、温漂。你想想看,这就像给传感器做一次全面的体检,知道它哪里有问题,才能对症下药。
核心观点:校准的本质,就是建立传感器实际输出与理想物理量之间的映射关系。说白了,就是找到传感器的「坏习惯」,然后想办法补偿它。
3.1 零偏——传感器最基础的「坏习惯」
零偏,也叫偏置或零位误差。什么意思呢?就是当传感器应该输出0的时候,它偏偏输出一个非零值。
举个例子:你把加速度计平放在桌面上,理论上Z轴应该输出1g(重力加速度),X轴和Y轴应该输出0。但实际读出来X轴是0.05,Y轴是-0.03。这多出来的0.05和-0.03,就是零偏。
数学模型很简单:
实际输出 = 理想输入 + 零偏
y = x + b
其中:
y —— 传感器实际输出
x —— 理想物理量输入
b —— 零偏值
我的经验:零偏校准是最容易做的,但也是最容易被忽略的。我曾经调试一架四旋翼,悬停时总是缓慢向一个方向漂移,查了两天发现是加速度计X轴零偏了0.08g。校准后问题立刻解决。记住:零偏校准是校准的第一步,也是性价比最高的一步。
校准方法:采集静止状态下的数据,取平均值作为零偏值,然后在后续输出中减去这个值。
3.2 标度因数——传感器的「放大镜」
标度因数,也叫灵敏度或比例因子。它描述的是传感器输出变化量与输入变化量之间的比例关系。
理想情况下,标度因数应该是1。但实际传感器往往有偏差——比如你转90度,它告诉你转了92度;或者你施加1g的加速度,它输出1.05g。
数学模型:
实际输出 = 标度因数 × 理想输入 + 零偏
y = s × x + b
其中:
s —— 标度因数(理想值为1)
b —— 零偏
你看,这个模型把零偏和标度因数放在一起了。实际校准中,我们通常先校准零偏,再校准标度因数。
关键点:标度因数误差会导致测量值整体偏大或偏小。在飞控中,这直接影响姿态解算的精度。比如陀螺仪的标度因数不准,积分出来的角度就会越来越偏。
校准方法:给传感器施加已知的标准输入(比如精确的90°旋转、1g的重力加速度),对比实际输出与理论值,计算出标度因数。
3.3 正交误差——轴与轴之间的「串扰」
正交误差是个比较隐蔽的问题。理想情况下,加速度计的三个轴(X、Y、Z)应该是互相垂直的,陀螺仪的三个轴也一样。但实际制造中,做不到绝对垂直,总会有几度的偏差。
这就导致了一个问题:当你只给X轴施加加速度时,Y轴和Z轴也会感应到一部分信号。说白了,就是轴与轴之间「串扰」了。
数学模型稍微复杂一些:
[y_x] [s_xx m_xy m_xz] [x_x] [b_x]
[y_y] = [m_yx s_yy m_yz] × [x_y] + [b_y]
[y_z] [m_zx m_zy s_zz] [x_z] [b_z]
其中:
s_ii —— 各轴的标度因数(对角线元素)
m_ij —— 正交误差系数(非对角线元素)
b_i —— 各轴零偏
这个矩阵看着吓人,但实际用起来并不复杂。非对角线元素m_ij就代表了轴i对轴j的耦合程度。理想情况下,所有m_ij都等于0。
注意:正交误差在低成本MEMS传感器中比较明显,尤其是消费级的IMU芯片。我见过一个项目,用的传感器正交误差达到3度,飞控怎么调都调不稳。后来换了工业级传感器,问题迎刃而解。所以选型时一定要看数据手册里的正交误差指标。
校准方法:需要多位置法——把传感器放在不同姿态下采集数据,然后通过最小二乘法拟合出整个矩阵。具体操作我们后面章节会详细讲。
3.4 温漂——温度一变,参数就变
温漂是最让人头疼的问题。零偏、标度因数、正交误差,这些参数都不是固定的——它们会随着温度变化而变化。
你想想看,无人机在冬天起飞和夏天起飞,传感器温度可能相差40度。如果温漂严重,校准参数就全废了。
温漂的数学模型:
b(T) = b_0 + α_b × (T - T_0) + β_b × (T - T_0)²
s(T) = s_0 + α_s × (T - T_0) + β_s × (T - T_0)²
其中:
b_0, s_0 —— 参考温度T_0下的零偏和标度因数
α, β —— 一阶和二阶温度系数
T —— 当前温度
大多数情况下,我们只考虑一阶项(线性温漂)就够了。二阶项只在极高精度要求下才需要。
我的建议:如果你用的是消费级传感器,别指望数据手册里的温漂参数有多准。我习惯自己做温漂测试——把传感器放进温箱,从-20度到60度扫一遍,记录参数变化曲线。虽然麻烦,但效果立竿见影。
补偿策略:
- 硬件补偿:使用带温度补偿的传感器(如BMI088、ICM-20948)
- 软件补偿:建立温度-参数查找表,实时查表修正
- 混合策略:先硬件粗补偿,再软件精补偿
3.5 四种误差的校准顺序
校准不是乱来的,有严格的先后顺序。我个人习惯的流程是:
- 先校零偏——最简单,效果最明显
- 再校标度因数——需要零偏校准后的数据
- 然后校正交误差——需要前两步都做完
- 最后处理温漂——需要多个温度点下的完整校准数据
为什么是这个顺序?因为后面的校准步骤依赖前面的结果。比如标度因数校准需要先去掉零偏,正交误差校准需要先知道各轴的标度因数。一步错,步步错。
3.6 实际应用中的注意事项
| 误差类型 | 典型值(消费级) | 典型值(工业级) | 校准频率 |
|---|---|---|---|
| 零偏 | ±50 mg (加速度计) | ±5 mg | 每次上电 |
| 标度因数 | ±3% | ±0.5% | 每月或温度变化大时 |
| 正交误差 | ±2° | ±0.1° | 出厂校准一次即可 |
| 温漂 | ±0.5 mg/°C | ±0.05 mg/°C | 温度变化超过10°C时 |
避坑指南:我曾经犯过一个低级错误——在飞控上电后立即采集数据做零偏校准。结果因为传感器还没稳定,采集到的零偏值一直在漂。后来我改成上电后等待5秒再采集,问题就解决了。记住:传感器需要预热时间,尤其是陀螺仪。
好了,这一章的内容就到这里。四种误差的概念和数学模型,是后续所有校准操作的理论基础。你把这些搞清楚了,后面学具体校准方法就会轻松很多。
公众号:蓝海资料掘金营,微信deep3321