IMU噪声模型

原始IMU测量值以一种结构化的方式受到污染。完整的误差模型(遵循Woodman的入门教程)包括偏置、比例因子误差、交叉轴失准以及每个传感器的白噪声:

a~=a+ba+Saa+Maa+ηa,ω~=ω+bg+Sgω+Mgω+ηg\tilde{\mathbf{a}} = \mathbf{a} + \mathbf{b}^a + \mathbf{S}^a\mathbf{a} + \mathbf{M}^a\mathbf{a} + \boldsymbol{\eta}^a, \qquad \tilde{\boldsymbol{\omega}} = \boldsymbol{\omega} + \mathbf{b}^g + \mathbf{S}^g\boldsymbol{\omega} + \mathbf{M}^g\boldsymbol{\omega} + \boldsymbol{\eta}^g

其中 S\mathbf{S} 是(对角的)比例因子误差,M\mathbf{M} 是交叉轴敏感度。VIO估计器假设 S\mathbf{S}M\mathbf{M} 已由出厂或离线标定处理,只保留两个在线项——加性白噪声和缓慢变化的偏置:

ω~=ω+bg+ηga~=a+ba+ηa\tilde{\boldsymbol{\omega}} = \boldsymbol{\omega} + \mathbf{b}^g + \boldsymbol{\eta}^g \qquad \tilde{\mathbf{a}} = \mathbf{a} + \mathbf{b}^a + \boldsymbol{\eta}^a

其中 η\boldsymbol{\eta} 是零均值白高斯噪声,每个偏置都被建模为随机游走:b˙=ηb\dot{\mathbf{b}} = \boldsymbol{\eta}^b,拥有自己的白色驱动噪声。

为什么这两项如此重要

四个参数及其单位

一个VIO配置需要四个数值(通常按轴给出,一般共用):

参数符号典型连续时间单位
陀螺噪声密度(角度随机游走)σηg\sigma_{\eta^g}rad/s/Hz\mathrm{rad/s/\sqrt{Hz}}
加速度计噪声密度(速度随机游走)σηa\sigma_{\eta^a}m/s2/Hz\mathrm{m/s^2/\sqrt{Hz}}
陀螺偏置随机游走σbg\sigma_{b^g}rad/s2/Hz\mathrm{rad/s^2/\sqrt{Hz}}
加速度计偏置随机游走σba\sigma_{b^a}m/s3/Hz\mathrm{m/s^3/\sqrt{Hz}}

这些是连续时间密度。要在离散采样间隔 Δt\Delta t 下使用它们,标准的转换是:测量噪声用 ση,d=ση/Δt\sigma_{\eta,d} = \sigma_\eta / \sqrt{\Delta t},偏置增量用 σb,d=σbΔt\sigma_{b,d} = \sigma_b \sqrt{\Delta t}——这是实现中常见错误的一个长期来源(见”常见陷阱”)。这四个数值直接输入EKF的协方差传播或预积分IMU因子的协方差中,即它们决定了估计器相对于相机对IMU的信任程度。

Allan方差:识别参数

Allan方差是从一段长时间静止记录(数小时,温度稳定)中识别这些噪声参数的标准工具。在对数-对数坐标下绘制Allan偏差 σ(τ)\sigma(\tau) 相对于平均时间 τ\tau 的曲线,可以通过斜率区分不同的噪声来源:

斜率噪声来源参数
1/2-1/2白噪声(角度/速度随机游走)ση\sigma_{\eta}(在 τ=1s\tau = 1\,\mathrm{s} 处读取的噪声密度)
00(平坦的最小值)偏置不稳定性
+1/2+1/2偏置随机游走σb\sigma_{b}(随机游走密度)

从这张图上读出的四个数值,正是VINS-Mono、OpenVINS、Kimera-VIO及其他所有VIO系统的配置文件所需要的参数,例如Kalibr风格的imu.yaml中:

# continuous-time noise densities (example structure — measure your own values)
gyroscope_noise_density:     ...   # [rad/s/sqrt(Hz)]
gyroscope_random_walk:       ...   # [rad/s^2/sqrt(Hz)]
accelerometer_noise_density: ...   # [m/s^2/sqrt(Hz)]
accelerometer_random_walk:   ...   # [m/s^3/sqrt(Hz)]
update_rate: 200.0                 # [Hz]

kalibr_allanallan_variance_ros等工具可以自动完成记录和拟合流程。在实践中,数值通常会在Allan方差推导值的基础上适度放大(通常是数倍),以吸收未建模的效应:振动、温度波动、比例因子残差。

常见陷阱

对SLAM的意义

噪声模型是你的硬件与估计器之间的契约:它决定了IMU因子相对于视觉因子的权重。参数过于乐观会使滤波器对IMU过度自信(在振动下发散);过于悲观则会丢弃IMU的运动信息。能够运行并读懂Allan方差图,是任何在真实硬件上部署VIO的人的基本实践技能。

相关条目