3、传感器基础:IMU、陀螺仪、加速度计、磁力计
做无人机控制,第一关就是搞懂传感器。说白了,飞控就是靠这些“小东西”感知世界的。你想想看,一个在天上飞的机器,如果不知道自己朝哪、歪没歪、转没转,那跟闭着眼睛开车有啥区别?
我个人习惯把传感器比作无人机的“五官”。今天咱们就把这几个核心部件掰开揉碎了讲清楚。
3.1 IMU:惯性测量单元,飞控的“小脑”
IMU 是 Inertial Measurement Unit 的缩写,中文叫惯性测量单元。它不是一个单独的传感器,而是一个组合体。通常,一个标准的 IMU 内部集成了三轴陀螺仪和三轴加速度计。有些高级的还会把磁力计也塞进去,但严格来说,磁力计属于“外部感知”,咱们后面单独聊。
我在项目中遇到过不少新手,上来就问“IMU 怎么选”。其实你只要记住一句话:IMU 负责测量物体的角速度和加速度。它不直接告诉你位置,也不直接告诉你角度,它只告诉你“变化”。
3.2 陀螺仪:感知“旋转”的专家
陀螺仪测量的是角速度,单位是 °/s(度每秒)。它告诉你无人机绕 X、Y、Z 三个轴转得有多快。
举个例子:你用手快速转动无人机,陀螺仪会立刻输出一个很大的数值。如果无人机静止不动,陀螺仪输出应该接近 0(实际上会有零偏,后面讲)。
陀螺仪的优点:响应极快,动态性能好。无人机做剧烈机动时,主要靠它。
陀螺仪的缺点:有漂移。你想想看,陀螺仪测的是“速度”,要得到角度就得积分。积分就会累积误差。哪怕零点几度的微小偏差,积分几秒钟后,角度就不知道偏到哪去了。
3.3 加速度计:感知“重力”的方向
加速度计测量的是比力,单位是 m/s² 或 g(重力加速度)。它告诉你无人机在三个轴向上受到的加速度。
这里有个关键点:加速度计在静止时,测到的是重力加速度(1g)。所以,通过重力在三个轴上的分量,我们可以反推出无人机的倾斜角度(横滚角和俯仰角)。
举个例子:无人机水平静止时,Z 轴感受到 1g,X 和 Y 轴为 0。如果无人机向前倾斜 30 度,X 轴上就会出现一个重力分量。
加速度计的优点:没有长期漂移。只要无人机不加速运动,它给出的角度是绝对准确的。
加速度计的缺点:怕振动,怕加速度。无人机一飞起来,电机振动和加减速产生的惯性力会严重干扰它。这时候它算出来的角度就“疯疯癫癫”的,完全不能用。
3.4 磁力计:寻找“北”的指南针
磁力计测量的是磁场强度,单位是 μT(微特斯拉)。它告诉你无人机周围的磁场方向。
为什么要用磁力计?因为陀螺仪和加速度计只能算出横滚和俯仰,算不出偏航角(也就是机头朝哪)。偏航角需要参考地球磁场,也就是找北。
磁力计的工作原理跟指南针一样。通过测量地磁场在三个轴上的分量,就能算出无人机相对于磁北的方向。
磁力计的优点:提供绝对的偏航参考,没有漂移。
磁力计的缺点:极其脆弱。电机产生的磁场、大电流的导线、甚至地下的钢筋,都会让它“发疯”。
3.5 传感器融合:为什么需要“三个臭皮匠”?
你看,每个传感器都有毛病:
- 陀螺仪:动态好,但会漂移
- 加速度计:不漂移,但怕振动
- 磁力计:提供绝对方向,但怕干扰
所以,飞控里不会只用一种传感器。而是把三个数据融合起来,取长补短。最经典的算法就是互补滤波和卡尔曼滤波。
简单来说:短时间内,相信陀螺仪;长时间内,用加速度计和磁力计来修正陀螺仪的漂移。
下面这张图展示了传感器融合的基本逻辑:
3.6 选型建议:别只看参数,要看场景
很多同学喜欢盯着数据手册看:陀螺仪量程要 ±2000°/s,加速度计量程要 ±16g。其实,对于大多数消费级和工业级无人机,这些参数都够用。
我个人更关注以下几点:
| 参数 | 为什么重要 | 我的建议 |
|---|---|---|
| 零偏稳定性 | 决定陀螺仪漂移快慢 | 选 10°/h 以内的,否则积分几分钟就偏了 |
| 噪声密度 | 影响姿态角的平滑度 | 越低越好,但别盲目追求,算法也能滤掉一部分 |
| 温度漂移 | 温度变化时输出会变 | 选带温度补偿的,或者自己做温补 |
| 输出频率 | 控制环路需要高频数据 | 至少 200Hz,我习惯用 400Hz 以上 |
嗯,传感器基础就聊这么多。记住一句话:没有完美的传感器,只有完美的融合算法。 下一节咱们会深入讲姿态解算的具体实现,到时候你就知道怎么把这些原始数据变成真正的角度了。
公众号:蓝海资料掘金营,微信deep3321