4、加速度计误差分析:零偏误差、刻度因数误差、交叉耦合误差、随机噪声(角度随机游走)、温度漂移
做惯导的人都知道,加速度计看着简单,其实坑不少。我刚开始接触MEMS加速度计时,觉得这东西不就是测个重力嘛,能有多难?结果一上电,数据飘得我怀疑人生。今天咱们就把加速度计的几个主要误差掰开揉碎了讲清楚。
4.1 零偏误差(Bias)
零偏,说白了就是加速度计在静止状态下,输出不为0的那个值。理想情况下,你把加速度计平放在桌面上,Z轴应该输出1g,X和Y轴输出0。但现实是,它总会给你带点“私货”。
我习惯把零偏分为两类:
- 固定零偏:出厂就带有的偏差,可以通过标定补偿掉。
- 逐次上电零偏:每次上电都不一样,这个比较头疼。
关键点:零偏误差会直接导致姿态角计算出现累积误差。你想想看,如果加速度计在水平方向有10mg的零偏,那算出来的俯仰角就会偏差大约0.57度。单看不大,但时间一长就麻烦了。
我在项目中遇到过最典型的情况:一款无人机在悬停时,飞控日志显示水平速度一直在缓慢增加。查了半天,最后发现是加速度计X轴的零偏没校准干净。嗯,从那以后我每次上电都会做一次静态零偏采集。
4.2 刻度因数误差(Scale Factor)
刻度因数误差,就是加速度计实际输出与理想输出之间的比例关系偏差。举个例子,你输入1g,它输出1.001g,那这0.1%就是刻度因数误差。
这个误差在低g值下不明显,但在高动态环境下会放大。我个人习惯在做六位置标定时,把刻度因数误差和零偏一起解算出来。
| 误差类型 | 典型值(MEMS) | 影响 |
|---|---|---|
| 零偏 | ±10 ~ ±100 mg | 姿态角偏移 |
| 刻度因数 | 0.1% ~ 1% | 加速度测量比例失真 |
| 交叉耦合 | 0.1% ~ 0.5% | 轴间串扰 |
小技巧:标定刻度因数时,最好用转台或者已知角度的斜面。我曾经用水平仪加角度块做过简易标定,精度虽然不如转台,但够用。
4.3 交叉耦合误差(Cross-Axis Sensitivity)
交叉耦合,就是当一个轴感受到加速度时,其他轴也跟着“凑热闹”。这主要是因为MEMS传感器的加工工艺限制,三个敏感轴不可能做到绝对正交。
你想想看,如果X轴有1g的加速度,按理说Y轴应该输出0。但因为交叉耦合,Y轴可能输出了几个mg的信号。这在姿态解算中会引入额外的误差。
我记得有一次做车载导航,车辆在转弯时侧向加速度很大,结果垂直方向的加速度计读数也跟着跳。排查后发现是交叉耦合在作怪。后来在算法里加了一个3x3的交叉耦合补偿矩阵,问题就解决了。
4.4 随机噪声与角度随机游走
随机噪声,就是加速度计输出中那些高频抖动的成分。你拿示波器看加速度计的原始数据,会发现它一直在跳,这就是噪声。
角度随机游走(Angle Random Walk, ARW)是噪声在时间上的积分效应。说白了,噪声经过积分后,会变成角度上的随机漂移。这个参数在惯导选型时特别重要。
注意:不要以为加个低通滤波器就能解决所有问题。滤波太狠,信号延迟会变大,动态响应就慢了。我见过有人把截止频率设到1Hz,结果无人机一翻身,姿态完全跟不上。
我一般这样处理噪声:
- 先看数据手册,确认ARW指标
- 根据应用场景选择截止频率(静止场景用低一点,动态场景用高一点)
- 必要时用滑动窗口平均或者卡尔曼滤波
4.5 温度漂移
温度漂移,是加速度计最让人头疼的问题之一。零偏和刻度因数都会随温度变化,而且不是线性的。
我曾经在冬天做户外测试,早上零下10度,中午10度,加速度计的零偏漂了将近50mg。如果不做温度补偿,姿态角直接偏了快3度。
常用的补偿方法有两种:
- 多项式拟合:采集不同温度下的零偏数据,拟合出一条曲线
- 查表法:把温度分成若干区间,每个区间存一个补偿值
我的建议:如果项目对成本不敏感,尽量选带温度传感器的加速度计,或者用带内置温度补偿的型号。如果必须用裸芯片,那温度标定这步绝对不能省。
知识体系总览
下面这张图,我把加速度计的五类误差以及它们之间的关系画了出来。你可以对照着看,理解起来会更清晰。
这张图把五类误差和补偿策略串在了一起。你可以看到,零偏、刻度因数、交叉耦合属于“可标定误差”,而随机噪声和温度漂移则需要通过算法和硬件设计来抑制。
避坑指南:我曾经在批量生产时发现,同一批次的加速度计,零偏和刻度因数差异很大。后来我养成了一个习惯——每颗芯片单独标定,绝不共用一组参数。虽然麻烦点,但可靠性高了很多。
好了,加速度计的误差分析就讲到这里。下一章我们会聊聊如何利用这些误差模型,设计出更鲁棒的姿态解算算法。记住一句话:理解误差,才能驾驭传感器。
公众号:蓝海资料掘金营,微信deep3321