第二章 传感器基础:加速度计、陀螺仪与磁力计
各位同学,欢迎来到第二章。这一章咱们聊聊传感器的“底细”。
做姿态解算,说白了就是跟三个传感器打交道:加速度计、陀螺仪、磁力计。你如果不摸清它们的脾气,后面融合滤波做得再花哨,也是白搭。我在项目里见过太多人,一上来就调卡尔曼,结果数据飘得跟风筝似的——最后发现是传感器模型没搞对。
好,咱们一个一个来。
2.1 加速度计原理与输出模型
加速度计测的是什么?很多人脱口而出:“加速度呗。” 嗯,对了一半。
它测的其实是 比力(Specific Force),也就是物体受到的惯性力与重力之和,再除以质量。说白了,就是传感器感受到的“推背感”。
你把它静止放在桌面上,它输出的是 (0, 0, g) 吗?不一定。如果Z轴朝上,那就是 (0, 0, -g)。为什么?因为桌面给它一个向上的支撑力,抵消了重力。这个支撑力就是“比力”。
核心公式(理想模型):
a_meas = R^T * (a_true - g) + b_a + n_a
其中:
- a_meas:加速度计实际输出
- R:从导航系到载体系的旋转矩阵
- a_true:真实加速度(运动加速度)
- g:重力向量 [0, 0, -9.81]
- b_a:零偏(bias)
- n_a:高斯白噪声
这里有个坑,我当年踩过。做四轴飞行器悬停时,加速度计输出一直在抖。我以为是噪声太大,后来发现是电机振动耦合到了传感器。你想想看,加速度计对高频振动特别敏感,尤其是MEMS的。
我的经验: 选加速度计的时候,带宽不是越高越好。对于姿态解算,一般设到 50Hz 左右就够了。太高反而把振动噪声引进来。
2.2 陀螺仪原理与输出模型
陀螺仪测角速度,这个大家熟。但它的原理你可能不太清楚。
MEMS陀螺仪用的是 科里奥利效应。一个质量块在驱动方向上高速振动,当有角速度输入时,会在检测方向上产生科里奥利力。这个力正比于角速度。嗯,说白了就是“振动中的质量块会跑偏”。
陀螺仪的模型比加速度计稍微复杂一点:
ω_meas = ω_true + b_g + S * ω_true + n_g
这里多了一个 S,是比例因子误差(Scale Factor)。我见过不少工程师只补偿零偏,忽略了比例因子。结果在高速旋转时,角度积分误差越来越大。
注意: 陀螺仪的零偏是随时间缓慢变化的,这叫“零偏稳定性”。你开机时标定一次,过半小时它可能就漂了。所以在线估计零偏是必须的。
我记得有一次做无人机航拍云台,陀螺仪数据老是飘。查了半天,发现是温度变化引起的。MEMS陀螺仪对温度很敏感,零偏随温度变化能达到 0.1°/s/°C。所以,温度补偿 是工程中绕不开的一步。
2.3 磁力计原理与输出模型
磁力计测的是地磁场。地磁场本身很弱,大概 0.5 高斯左右。所以它特别容易被干扰。
磁力计的输出模型:
m_meas = R^T * m_true + b_m + S_m * m_true + n_m + h
这里多了一个 h,是硬铁干扰(Hard Iron)。硬铁干扰来自传感器附近的永磁体,比如扬声器、电机磁钢。它是个固定偏置。
还有一个软铁干扰(Soft Iron),它跟方向有关,会改变磁场的大小和方向。软铁干扰建模起来比较麻烦,一般用椭球拟合来补偿。
避坑指南: 我曾经在一个机器人项目里,磁力计数据怎么都校准不好。后来发现,机器人底盘下面有个大铁板。铁板会扭曲地磁场,这就是软铁干扰。最后我不得不把磁力计装到桅杆上,远离金属。
磁力计有个致命弱点:容易受电流影响。大电流流过导线时,会产生磁场。所以布局时,磁力计要远离电源线和电机驱动线。
2.4 传感器噪声特性分析
好,传感器原理讲完了。咱们聊聊噪声。这是做滤波的基础。
传感器的噪声,一般分为两类:
- 白噪声:功率谱密度平坦,各频率能量相同。用方差描述。
- 有色噪声:功率谱密度不平坦,比如低频漂移、1/f 噪声。
对于MEMS传感器,我们通常用 Allan方差 来分析噪声特性。它能区分出:
- 量化噪声
- 角度随机游走(ARW)—— 陀螺仪白噪声积分后的结果
- 零偏不稳定性
- 速率随机游走
- 速率斜坡
下面这张图,是我当年做传感器选型时画的。它展示了不同噪声成分在Allan方差曲线上的表现:
你看,Allan方差曲线能帮你找到传感器的最佳平均时间。在那个“谷底”附近,噪声最小。我一般用这个值来设计滤波器的截止频率。
实用技巧: 做传感器选型时,别只看数据手册上的噪声密度。拿 Allan 方差跑一遍,你就能看出这个传感器到底稳不稳。我有个习惯,新传感器到手,先录半小时静态数据,画 Allan 方差曲线。这比看任何参数都直观。
最后,咱们总结一下三个传感器的噪声特点:
| 传感器 | 主要噪声源 | 典型带宽 | 工程痛点 |
|---|---|---|---|
| 加速度计 | 振动噪声、白噪声 | 50-200 Hz | 运动加速度干扰 |
| 陀螺仪 | 角度随机游走、零偏漂移 | 100-400 Hz | 温度漂移、积分发散 |
| 磁力计 | 硬铁/软铁干扰、电磁噪声 | 10-100 Hz | 环境磁场畸变 |
嗯,这一章的内容就到这儿。传感器是姿态解算的“眼睛”,你把它摸透了,后面做融合滤波就顺了。下一章咱们会讲怎么把这些传感器的数据融合起来,得到稳定的姿态角。
公众号:蓝海资料掘金营,微信deep3321