3、传感器基础:IMU、陀螺仪、加速度计、磁力计

做无人机控制,第一关就是搞懂传感器。说白了,飞控就是靠这些“小东西”感知世界的。你想想看,一个在天上飞的机器,如果不知道自己朝哪、歪没歪、转没转,那跟闭着眼睛开车有啥区别?

我个人习惯把传感器比作无人机的“五官”。今天咱们就把这几个核心部件掰开揉碎了讲清楚。

3.1 IMU:惯性测量单元,飞控的“小脑”

IMU 是 Inertial Measurement Unit 的缩写,中文叫惯性测量单元。它不是一个单独的传感器,而是一个组合体。通常,一个标准的 IMU 内部集成了三轴陀螺仪和三轴加速度计。有些高级的还会把磁力计也塞进去,但严格来说,磁力计属于“外部感知”,咱们后面单独聊。

我在项目中遇到过不少新手,上来就问“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 传感器融合:为什么需要“三个臭皮匠”?

你看,每个传感器都有毛病:

  • 陀螺仪:动态好,但会漂移
  • 加速度计:不漂移,但怕振动
  • 磁力计:提供绝对方向,但怕干扰

所以,飞控里不会只用一种传感器。而是把三个数据融合起来,取长补短。最经典的算法就是互补滤波和卡尔曼滤波。

简单来说:短时间内,相信陀螺仪;长时间内,用加速度计和磁力计来修正陀螺仪的漂移。

下面这张图展示了传感器融合的基本逻辑:

传感器融合基本逻辑 陀螺仪 角速度 (ω) 加速度计 比力 (a) 磁力计 磁场 (m) 姿态解算算法 互补滤波 / 卡尔曼滤波 输出:横滚角 / 俯仰角 / 偏航角 注:陀螺仪提供短期精度,加速度计和磁力计提供长期参考

3.6 选型建议:别只看参数,要看场景

很多同学喜欢盯着数据手册看:陀螺仪量程要 ±2000°/s,加速度计量程要 ±16g。其实,对于大多数消费级和工业级无人机,这些参数都够用。

我个人更关注以下几点:

参数 为什么重要 我的建议
零偏稳定性 决定陀螺仪漂移快慢 选 10°/h 以内的,否则积分几分钟就偏了
噪声密度 影响姿态角的平滑度 越低越好,但别盲目追求,算法也能滤掉一部分
温度漂移 温度变化时输出会变 选带温度补偿的,或者自己做温补
输出频率 控制环路需要高频数据 至少 200Hz,我习惯用 400Hz 以上
我的经验:别迷信“军工级”。很多工业级 IMU(比如 ICM-20689、MPU-9250)在正确使用下,效果已经非常好。关键是你的算法和安装工艺。我曾经用一颗 20 块钱的传感器,做出了比某些“高端模块”还稳的效果——秘诀就是做好减震和校准。

嗯,传感器基础就聊这么多。记住一句话:没有完美的传感器,只有完美的融合算法。 下一节咱们会深入讲姿态解算的具体实现,到时候你就知道怎么把这些原始数据变成真正的角度了。


公众号:蓝海资料掘金营,微信deep3321