第二章 传感器基础:加速度计、陀螺仪与磁力计

各位同学,欢迎来到第二章。这一章咱们聊聊传感器的“底细”。

做姿态解算,说白了就是跟三个传感器打交道:加速度计、陀螺仪、磁力计。你如果不摸清它们的脾气,后面融合滤波做得再花哨,也是白搭。我在项目里见过太多人,一上来就调卡尔曼,结果数据飘得跟风筝似的——最后发现是传感器模型没搞对。

好,咱们一个一个来。

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方差 来分析噪声特性。它能区分出:

  1. 量化噪声
  2. 角度随机游走(ARW)—— 陀螺仪白噪声积分后的结果
  3. 零偏不稳定性
  4. 速率随机游走
  5. 速率斜坡

下面这张图,是我当年做传感器选型时画的。它展示了不同噪声成分在Allan方差曲线上的表现:

Allan方差曲线 - 传感器噪声成分分析 相关时间 τ (s) 10⁻² 10⁰ 10² 10⁴ Allan方差 σ²(τ) 角度随机游走 零偏不稳定性 速率随机游走 最佳估计点 白噪声 零偏漂移 低频噪声

你看,Allan方差曲线能帮你找到传感器的最佳平均时间。在那个“谷底”附近,噪声最小。我一般用这个值来设计滤波器的截止频率。

实用技巧: 做传感器选型时,别只看数据手册上的噪声密度。拿 Allan 方差跑一遍,你就能看出这个传感器到底稳不稳。我有个习惯,新传感器到手,先录半小时静态数据,画 Allan 方差曲线。这比看任何参数都直观。

最后,咱们总结一下三个传感器的噪声特点:

传感器 主要噪声源 典型带宽 工程痛点
加速度计 振动噪声、白噪声 50-200 Hz 运动加速度干扰
陀螺仪 角度随机游走、零偏漂移 100-400 Hz 温度漂移、积分发散
磁力计 硬铁/软铁干扰、电磁噪声 10-100 Hz 环境磁场畸变

嗯,这一章的内容就到这儿。传感器是姿态解算的“眼睛”,你把它摸透了,后面做融合滤波就顺了。下一章咱们会讲怎么把这些传感器的数据融合起来,得到稳定的姿态角。


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