传感器基础:加速度计、陀螺仪、磁力计、气压计的工作原理与数据特性
各位同学,欢迎来到传感器融合的第一课。说实话,很多做AI的工程师一上来就搞算法,结果数据质量不行,模型再牛也白搭。我当年在做一个无人机定高项目时,就吃过这个亏——气压计数据没处理好,飞机在天上跟坐过山车似的。所以,咱们先把这四种传感器的脾气摸透。
加速度计:感知“平动”的专家
加速度计测量的是物体在三个轴向上的加速度。注意,它测的是比力,不是单纯的运动加速度。什么意思?静止时它测到的是1g的重力加速度,而不是0。
核心原理:内部有一个质量块,通过电容或压电效应检测位移。说白了,就是牛顿第二定律F=ma的物理实现。
数据特性上,加速度计有两个致命弱点:
- 高频噪声大:你拿着手机走路,波形抖得像心电图。我习惯先做低通滤波,截止频率设在5-10Hz。
- 对旋转不敏感:匀速旋转时,加速度计输出几乎不变。所以单靠它算姿态,会飘。
我的经验:在机器人平衡项目中,我通常用加速度计做长期姿态参考,但不会用它做短时控制。因为它对震动太敏感了——你敲一下桌子,输出直接跳变。
陀螺仪:旋转运动的“记录员”
陀螺仪测量的是角速度,单位是°/s。它基于科里奥利效应工作——一个振动的质量块在旋转时会产生侧向位移,通过检测这个位移就能算出角速度。
数据特性上,陀螺仪和加速度计正好互补:
- 短时精度高:你快速转一下,它能立刻响应。我做过对比测试,100ms内的积分误差不到1°。
- 长时漂移严重:积分时间一长,误差累积。我曾经让一个陀螺仪静止积分10分钟,结果算出来转了180°——实际上它根本没动。
避坑指南:我曾经在四轴飞行器上只用陀螺仪积分算姿态,结果飞了30秒就开始侧翻。后来才意识到,必须用加速度计和磁力计来修正陀螺仪的漂移。这就是传感器融合的由来。
磁力计:地球的“指南针”
磁力计测量的是磁场强度,三个轴分别输出。它本质上是一个微型磁阻传感器,通过检测磁场方向变化来工作。
数据特性:
- 易受干扰:电机、扬声器、甚至钢筋都会影响它。我在一个智能穿戴项目中,发现手表靠近笔记本电脑时,磁力计输出直接偏了30°。
- 需要校准:硬铁干扰和软铁干扰必须做补偿。我建议每次上电都做一次“8字校准”——就是拿着设备在空中画8字。
关键点:磁力计只能提供航向角(yaw),不能提供俯仰和横滚。而且在地磁极附近,它的精度会急剧下降。所以极地探险的导航,不能全靠它。
气压计:高度变化的“气压表”
气压计测量的是大气压强,通过气压-高度公式换算成海拔高度。原理很简单:高度越高,气压越低。
数据特性:
- 分辨率高但噪声大:现代MEMS气压计能分辨10cm的高度变化,但受气流影响,数据会跳来跳去。我习惯做滑动平均滤波,窗口大小设10个点。
- 受温度影响:温度变化1°C,气压变化约0.12hPa,对应1米的高度误差。所以必须做温度补偿。
我的做法:在无人机定高项目中,我把气压计和加速度计做互补滤波。气压计提供长期高度参考,加速度计提供短期垂直加速度。效果比单用气压计好得多。
四种传感器的对比总结
| 传感器 | 测量量 | 优点 | 缺点 | 典型应用 |
|---|---|---|---|---|
| 加速度计 | 比力(含重力) | 长期稳定,可测倾角 | 高频噪声大,对旋转不敏感 | 姿态初始对准、计步器 |
| 陀螺仪 | 角速度 | 短时精度高,动态响应快 | 长时漂移,积分误差累积 | 运动控制、VR头显 |
| 磁力计 | 磁场强度 | 提供绝对航向 | 易受干扰,需校准 | 电子罗盘、导航 |
| 气压计 | 大气压强 | 分辨率高,可测高度 | 受气流和温度影响 | 无人机定高、海拔测量 |
传感器融合的核心逻辑
说白了,传感器融合就是取长补短。加速度计和陀螺仪是天生一对——一个稳但慢,一个快但飘。磁力计和气压计则是辅助角色,提供绝对参考。
下面这张图展示了四种传感器在融合系统中的角色和关系:
你想想看,如果只用陀螺仪,积分几分钟就飘到天边了。但加上加速度计,就能用重力方向把俯仰和横滚拉回来。再加上磁力计,航向也有了参考。气压计则给高度一个绝对基准。
核心公式(互补滤波简化版):
姿态 = α × (陀螺仪积分) + (1-α) × (加速度计+磁力计算出的姿态)
其中α通常取0.98左右。α越大,越信任陀螺仪;α越小,越信任加速度计。这个参数我一般通过实验调出来,没有固定值。
重要提醒:千万别以为融合算法能解决所有问题。数据质量才是根本。我见过有人花三个月调卡尔曼滤波参数,结果发现是加速度计安装歪了2°。先检查硬件,再谈算法。
好了,这一章的内容就到这里。四种传感器的脾气你摸透了,融合的逻辑也清楚了。下一章我们会深入互补滤波和卡尔曼滤波的具体实现——到时候我会把当年在无人机项目里踩过的坑,一个一个讲给你听。