第三章:IMU原理与误差模型

各位同学,今天我们来聊聊IMU。这东西在定位领域,说白了就是「又爱又恨」。爱它,是因为它不依赖外部信号,自己就能算姿态和位置;恨它,是因为它太容易飘了。我刚开始做组合导航那会儿,就被IMU的零偏坑过好几次。

这一章,我们重点拆解三个东西:加速度计和陀螺仪到底怎么工作的、Allan方差怎么分析、以及零偏和刻度因子这些误差项怎么处理。嗯,都是硬骨头,但啃下来之后,你对IMU的理解会上一个台阶。

3.1 加速度计与陀螺仪的工作原理

先说说加速度计。你想想看,它怎么测加速度的?其实原理不复杂。内部有一个质量块,被弹簧拉着。当传感器加速时,质量块会移动,弹簧的形变就反映了加速度的大小。我见过一些MEMS加速度计,内部结构就像微小的梳齿,电容变化来感知位移。

陀螺仪呢?它测的是角速度。MEMS陀螺仪用的是科里奥利效应。一个质量块在高速振动,当它旋转时,会产生一个垂直于振动方向的力。这个力的大小,就正比于角速度。我在项目中遇到过一个问题:陀螺仪在剧烈振动环境下,输出会严重失真。后来发现是振动频率和驱动频率接近了,产生了共振。

核心要点:

  • 加速度计:测量比力(重力+运动加速度)
  • 陀螺仪:测量角速度(相对于惯性空间)
  • 两者都受温度、振动、时间影响

3.2 Allan方差分析

Allan方差,听起来高大上,其实它就是用来分析IMU噪声特性的工具。我习惯用它来区分:哪些噪声是白噪声,哪些是随机游走,哪些是零偏不稳定性。

怎么做?很简单。采集一段长时间的静态数据,然后计算不同时间尺度下的方差。画出来是一条曲线,不同斜率对应不同噪声类型。我曾经用Allan方差分析一个国产IMU,发现它的零偏不稳定性比标称值大了三倍。嗯,这就是为什么我总说「标称值仅供参考」。

噪声类型 Allan方差斜率 物理含义
角度随机游走 -1/2 白噪声积分
零偏不稳定性 0 低频漂移
速率随机游走 +1/2 随机游走
量化噪声 -1 ADC量化误差

实战技巧:采集Allan方差数据时,至少需要1小时以上的静态数据。我一般会采集2-3小时,这样低频特性才看得清楚。

3.3 零偏与刻度因子

零偏,就是IMU静止时,输出不为零的那个值。说白了,就是系统误差。我刚开始做项目时,以为零偏是固定的,直接减掉就行。后来发现,零偏会随着温度、时间变化。你想想看,如果零偏在漂移,你减掉一个固定值,反而会引入更大的误差。

刻度因子呢?它描述的是输入和输出之间的比例关系。理想情况下,比例是1。但实际上,由于制造工艺、温度影响,这个比例会偏离1。我遇到过最夸张的情况:一个加速度计的刻度因子误差达到了5%,算出来的位置直接偏了十几米。

避坑指南:我曾经在标定IMU时,忽略了温度补偿。结果在户外测试时,温度从25度升到40度,零偏漂移了0.1度/秒。嗯,从那以后,我再也不敢省掉温度标定这一步了。

3.4 误差模型与补偿方法

有了上面的分析,我们就可以建立误差模型了。常用的模型是:

ω_measured = (1 + s) * ω_true + b + n

其中:

  • s 是刻度因子误差
  • b 是零偏
  • n 是噪声

补偿方法呢?我习惯分两步走:

  1. 离线标定:在实验室用转台或六面体,标定出零偏和刻度因子
  2. 在线估计:在运行过程中,用卡尔曼滤波实时估计零偏的变化

我个人建议,如果条件允许,一定要做在线估计。因为离线标定只能解决静态误差,而温度、老化这些动态因素,只有在线才能处理。

3.5 知识体系总览

下面这张图,是我自己总结的IMU误差分析框架。你可以把它当作一个检查清单,每次处理IMU数据时,对照着走一遍。

IMU误差分析知识体系 IMU 加速度计 陀螺仪 零偏 刻度因子 噪声 Allan方差分析 温度补偿 在线估计 高精度定位

这张图从IMU出发,分到加速度计和陀螺仪,再往下是零偏、刻度因子、噪声三大误差来源。分析方法包括Allan方差、温度补偿和在线估计。最终目标,就是实现高精度定位。

我的建议:刚开始接触IMU的同学,先别急着调算法。花一周时间,好好分析一下你的IMU数据。画Allan方差曲线,看零偏稳定性,测温度影响。这些基础工作做好了,后面的融合算法才能跑得稳。

好了,这一章的内容就到这里。IMU的原理和误差模型,是后续所有融合算法的基础。你想想看,如果连传感器的误差都搞不清楚,后面再怎么滤波、融合,都是白搭。嗯,下一章我们开始讲卡尔曼滤波,那才是真正的重头戏。


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