第1章:惯性测量单元(IMU)原理
各位同学,咱们今天聊聊IMU。这东西说白了就是飞控系统的「内耳」——没有它,飞机就不知道自己身在何处、姿态如何。我做了这么多年飞控,踩过最多的坑就是IMU选型和数据处理。今天我把压箱底的经验都掏出来,咱们一个一个说清楚。
1.1 加速度计工作原理
加速度计测量的是什么?很多人以为是「速度变化率」,其实不对。它测量的是比力——也就是物体受到的惯性力与重力的合力。你想想看,静止放在桌面上时,加速度计读数是1g向上,而不是0。为什么?因为桌面支撑力抵消了重力,传感器感受到的是支撑力带来的加速度。
我当年刚入行时,死活想不通这个道理。直到有一次调试四旋翼,发现悬停时加速度计Z轴读数一直是-1g,我还以为是传感器坏了……后来才明白,这就是重力在体坐标系下的投影。
核心公式:
a_meas = a_true - g + noise
其中g是重力矢量,方向指向天。所以静止时a_meas = -g。
加速度计内部结构,常见的有两种:
- 电容式MEMS加速度计:利用质量块位移改变电容值。便宜、功耗低,消费级无人机的主力。
- 压阻式加速度计:利用压阻效应。响应快,但温漂大,现在用得少了。
我个人习惯用MEMS电容式,性价比高。但要注意——它的带宽有限,一般也就几百赫兹。你如果拿它去测高频振动,那数据基本是废的。
2.2 陀螺仪工作原理
陀螺仪测的是角速度,单位是°/s。MEMS陀螺仪的核心原理是科里奥利效应。简单说:一个振动的质量块,当它旋转时,会受到一个垂直于振动方向和旋转轴方向的力。测这个力的大小,就能反推出角速度。
嗯,这里要注意:MEMS陀螺仪测的是角速度,不是角度。你要得到角度,得积分。但积分会累积误差,这就是后面要讲的零偏问题。
我的经验:陀螺仪数据在静态时看起来「很干净」,但一旦运动起来,噪声和偏移会迅速累积。我曾经在某个项目中,只用陀螺仪积分做姿态估计,结果10秒后角度漂了30度……从那以后,我再也不敢纯靠陀螺仪了。
陀螺仪的关键指标:
- 量程:常见±250°/s、±500°/s、±2000°/s。飞控一般选±500或±1000就够。
- 零偏稳定性:这个最重要,后面细说。
- 带宽:一般100-200Hz,够用。
2.3 IMU误差模型
IMU不是完美的。它有三个主要误差源:零偏、尺度因子、交轴耦合。咱们一个一个拆。
2.3.1 零偏(Bias)
零偏就是传感器在零输入时的输出值。比如陀螺仪静止时,理论上应该输出0,但实际可能输出0.1°/s。这个误差会随时间积分,导致角度漂移。
零偏又分两种:
- 静态零偏:上电后固定不变的部分。可以通过标定消除。
- 动态零偏:随温度、时间变化的零偏。这个最难搞。
避坑指南:我曾经在一个项目中,忽略了温度对零偏的影响。结果飞机在夏天飞得好好的,到了冬天一上天就翻……后来加了温度补偿,问题才解决。记住:零偏是温度的函数,不是常数!
2.3.2 尺度因子(Scale Factor)
尺度因子误差,说白了就是「输入输出比例不对」。比如你转了100°/s,陀螺仪输出却是95°/s,那尺度因子误差就是5%。
这个误差通常用百分比表示。好的MEMS陀螺仪,尺度因子误差在1%以内。差一点的,5%甚至更高。
我建议:选型时看数据手册里的「Scale Factor Non-linearity」,这个值越小越好。
2.3.3 交轴耦合(Cross-axis Coupling)
交轴耦合,就是X轴感受到Y轴的转动。理想情况下,三个轴应该完全正交,但实际做不到。比如你绕Z轴旋转,X轴和Y轴也会输出一点信号。
这个误差用矩阵表示:
a_meas = M * a_true + bias + noise
其中M是3x3矩阵:
M = [Sxx Mxy Mxz
Myx Syy Myz
Mzx Mzy Szz]
S是尺度因子,M是交轴耦合系数。
交轴耦合系数一般很小,在0.1%到1%之间。但如果你做高精度导航,这个误差必须补偿。
完整的IMU误差模型:
ω_meas = M_gyro * ω_true + b_gyro + n_gyro
a_meas = M_acc * a_true + b_acc + n_acc
其中M包含尺度因子和交轴耦合,b是零偏,n是噪声。
2.4 IMU选型要点
选IMU,我一般看这几个指标:
| 指标 | 说明 | 我的建议 |
|---|---|---|
| 零偏稳定性 | 静态下零偏的波动程度 | 陀螺仪<10°/h,加速度计<0.1mg |
| 角度随机游走 | 噪声积分后的角度误差 | <0.2°/√h |
| 带宽 | 传感器能响应的最高频率 | 飞控用100-200Hz足够 |
| 量程 | 最大可测范围 | 陀螺仪±500°/s,加速度计±8g |
| 温度稳定性 | 零偏随温度的变化 | 最好有内置温度补偿 |
我常用的几款IMU:
- ICM-20689:性价比高,消费级飞控标配
- BMI088:工业级,抗振动性能好
- ADIS16470:战术级,贵但稳,适合高精度应用
选型口诀:「零偏要稳,噪声要小,温漂要低,量程够用就好。」别盲目追求高指标,够用就行。我见过有人给玩具飞机装战术级IMU,纯属浪费钱。
本章知识体系
下面这张图,把IMU的核心知识点串起来了:
这张图把IMU的脉络理清了:从传感器本身,到工作原理,再到误差模型,最后落到选型。你照着这个框架学,不会乱。
本章小结:
- 加速度计测比力,陀螺仪测角速度
- IMU三大误差:零偏、尺度因子、交轴耦合
- 选型看零偏稳定性、噪声、带宽、量程、温漂
- 温度补偿是工程中的关键,别忽略
好了,IMU的原理就聊到这儿。下一章咱们讲传感器标定——怎么把这些误差一个个揪出来干掉。到时候我会分享一个我亲手写的标定程序,保证实用。
公众号:蓝海资料掘金营,微信deep3321