3、IMU测量模型与噪声:加速度计与陀螺仪模型、Allan方差分析、IMU噪声特性、零偏与随机游走
好,咱们今天来聊聊IMU的“脾气”。说白了,IMU就是两个传感器:一个加速度计,一个陀螺仪。它们测量的是啥?加速度计测的是比力,陀螺仪测的是角速度。但问题是,它们测出来的数据,从来都不是“干净”的。
我刚开始做VIO的时候,拿到IMU数据直接往优化里塞,结果轨迹飞得跟喝醉了似的。后来才明白,不把IMU的噪声模型搞清楚,后面全是白搭。今天这一讲,咱们就把IMU的“底细”摸清楚。
3.1 加速度计与陀螺仪的测量模型
先看公式。加速度计的测量模型长这样:
a_m = R^T * (a - g) + b_a + n_a
陀螺仪的测量模型:
ω_m = ω + b_g + n_g
这里面的符号,我一个个解释:
- a_m 和 ω_m:传感器读出来的原始值,也就是你从IMU驱动里拿到的数据。
- a 和 ω:真实的加速度和角速度。注意,这个真实值我们永远不知道,只能估计。
- R:从世界坐标系到IMU坐标系的旋转矩阵。加速度计测的是比力,所以要把重力加速度g给减掉。
- b_a 和 b_g:零偏(Bias)。这是IMU最让人头疼的东西,后面细说。
- n_a 和 n_g:白噪声。可以理解为测量值上的随机抖动。
嗯,这里要注意一点:加速度计测的是“比力”,不是“加速度”。比力 = 加速度 - 重力。所以当IMU静止放在桌上时,加速度计读出来的是重力加速度的反方向,也就是(0, 0, -9.8)左右。我第一次测的时候还以为是传感器坏了,后来才反应过来。
3.2 IMU噪声特性:白噪声与零偏
IMU的噪声,主要分两类:
- 白噪声(White Noise):高频随机抖动。说白了就是每次测量都带一点随机误差,但均值是零。这个好处理,一般用滤波器就能压下去。
- 零偏(Bias):低频漂移。这个才是大麻烦。零偏不是固定的,它会随着时间、温度、甚至IMU的运动状态慢慢变化。
为什么会这样?因为IMU的物理结构决定了它不可能完美。MEMS加速度计里的微机械结构,受温度影响会热胀冷缩;陀螺仪的谐振频率也会随温度漂移。所以零偏是IMU天生的“原罪”。
在VIO初始化中,零偏的估计至关重要。如果零偏没估准,积分出来的位置和姿态会越偏越远。你想想看,一个0.01 rad/s的陀螺零偏,积分10秒就是0.1 rad的误差,这已经够让视觉匹配对不上了。
3.3 Allan方差分析:IMU噪声的“体检报告”
怎么定量分析IMU的噪声特性?Allan方差是工业界最常用的方法。说白了,它就是把IMU的静态数据,按不同的时间窗口做平均,然后看方差的变化规律。
Allan方差曲线长这样:
σ²(τ) = (1/2) * E[(y(t+τ) - y(t))²]
其中τ是时间窗口长度。画出来是一条双对数曲线,不同斜率对应不同的噪声源:
| 斜率 | 噪声类型 | 物理含义 |
|---|---|---|
| -1/2 | 角度/速度随机游走 | 白噪声积分后的结果 |
| 0 | 零偏不稳定性 | 零偏的长期漂移幅度 |
| +1/2 | 速率随机游走 | 零偏的缓慢变化 |
| +1 | 量化噪声 | ADC采样精度限制 |
我个人习惯,拿到一个新IMU后,第一件事就是做Allan方差分析。把IMU静止放置至少1小时,采集数据,然后画Allan方差曲线。从曲线上可以读出三个关键参数:
- 角度随机游走(ARW):陀螺仪白噪声的强度,单位 °/√h
- 速度随机游走(VRW):加速度计白噪声的强度,单位 m/s/√h
- 零偏不稳定性(Bias Instability):零偏长期漂移的RMS值
3.4 零偏与随机游走:IMU的“慢性病”
零偏和随机游走,其实是同一个问题的不同侧面。零偏是“当前值”,随机游走是“变化率”。
在VIO中,我们通常把零偏建模为一个随机游走过程:
ḃ = n_b
也就是说,零偏的变化率是一个白噪声。这个白噪声的强度,就是Allan方差曲线上读出来的“速率随机游走”系数。
为什么这么建模?因为零偏的变化是随机的、不可预测的。我们没法用一个确定性的模型去描述它,只能用随机过程去近似。在VIO的优化框架里,零偏会被当作一个状态变量,和位姿一起优化。
嗯,这里有个关键点:零偏的随机游走模型,决定了我们在优化中给零偏加多大的“先验约束”。如果随机游走系数很大,说明零偏变化很快,我们就得给零偏更大的自由度;反之,如果随机游走系数很小,说明零偏很稳定,我们就可以用更强的先验把它约束住。
3.5 知识体系总览
为了让你更直观地理解这一章的知识结构,我画了一张图:
这张图把这一章的核心逻辑串起来了。左边是IMU的测量模型,右边是Allan方差分析,底部是零偏的随机游走模型。你仔细看,其实所有内容都围绕着“如何描述和量化IMU的噪声”这个核心问题。
好了,这一章就到这里。IMU的噪声模型是VIO的基石,后面所有的初始化方法,都建立在对这些噪声的正确理解之上。下一章我们会聊IMU预积分,到时候你会看到,这些噪声参数是怎么具体影响积分结果的。
公众号:蓝海资料掘金营,微信deep3321