4. IMU模型与标定

视觉惯性里程计(VIO)的核心在于将视觉几何信息与惯性测量单元(IMU)的动力学信息进行紧耦合。IMU 提供了高频的角速度与加速度测量,弥补了视觉在快速运动、纹理缺失或光照变化时的不足。然而,IMU 的原始测量值并非理想值,其中包含确定性误差(如尺度因子、轴偏差)与随机误差(如高斯白噪声、随机游走)。若不对这些误差进行建模与标定,融合后的位姿估计将迅速发散。本章将系统拆解 IMU 的测量原理、误差来源、Allan 方差分析方法以及内参标定的完整流程,为后续 VIO 的状态估计打下坚实的传感器基础。

IMU 测量模型与标定链路 物理层 MEMS 陀螺仪/加速度计 科里奥利力 / 电容检测 模拟电压输出 信号调理 ADC 采样 (16-bit) 低通滤波 (LPF) 温度补偿 误差模型 尺度因子 S 轴偏差 T (Misalignment) 零偏 b + 噪声 n 标定输出 内参矩阵 噪声密度 随机游走系数 Allan 方差分析(随机误差辨识) 数据采集 静止放置 ≥ 2h 采样率 100-1000Hz 集群划分 时间簇 τ 从 10⁻² 到 10³ 计算簇均值 方差计算 σ²(τ) = ½⟨(θ̄ₖ₊₁-θ̄ₖ)²⟩ 双对数曲线 参数辨识 斜率 -1/2 → 角度随机游走 斜率 +1/2 → 零偏不稳定性 内参标定流程(确定性误差) 六面静止 加速度计 重力参考 转台速率 陀螺仪 角速率参考 最小二乘 求解 S, T, b 残差分析 温度补偿 温箱 -40~85°C 多项式拟合 验证 静止零偏稳定性 动态轨迹对比 ▲ 确定性误差:可通过标定补偿 ▲ 随机误差:只能建模估计 ▲ 温度影响:需补偿或在线估计

4.1 IMU 测量原理与理想模型

IMU 通常包含三轴加速度计与三轴陀螺仪。MEMS 加速度计基于电容检测原理:当质量块受到加速度作用时发生位移,导致差分电容变化,通过闭环力反馈电路将电容变化转换为与加速度成正比的电压信号。MEMS 陀螺仪则利用科里奥利效应——质量块在驱动轴方向做高频振动,当有角速度输入时,在检测轴方向产生与角速度成正比的科里奥利力,同样通过电容检测输出。理想情况下,IMU 的测量模型可以表示为:

理想模型:
ω_meas = ω_true          (陀螺仪)
a_meas = a_true - g       (加速度计,g 为重力矢量)

但在实际工程中,由于 MEMS 加工误差、封装应力、温度漂移等因素,测量值包含多种误差。VIO 系统中,IMU 的测量频率通常为 200Hz~1000Hz,而视觉帧率仅为 15~60Hz,因此 IMU 在帧间提供了丰富的运动约束。理解 IMU 的误差特性,是设计 VIO 预积分、协方差传播和状态更新方程的前提。

4.2 噪声与偏差模型:从确定性到随机性

IMU 误差可分为两大类:确定性误差与随机误差。确定性误差包括尺度因子误差、轴偏差(交轴耦合)和常值零偏;随机误差包括高斯白噪声与随机游走(Bias Instability)。在 VIO 中,我们通常将零偏建模为随机游走过程,即其导数服从高斯分布。

误差类型 物理来源 数学模型 VIO 处理方式
尺度因子 S ADC 参考电压偏差、MEMS 灵敏度不一致 ω_meas = S·ω_true 离线标定补偿
轴偏差 T 芯片封装时三轴非正交 ω_meas = T·ω_true 离线标定补偿
常值零偏 b 电路偏置、温度梯度 ω_meas = ω_true + b 在线估计(状态向量)
高斯白噪声 n 电子热噪声、ADC 量化噪声 n ~ N(0, σ²) 协方差矩阵建模
随机游走 b_dot 温度缓慢变化、材料老化 b_dot = w, w ~ N(0, σ_b²) 零偏动态更新

在 VIO 的误差状态卡尔曼滤波(ESKF)中,我们通常将陀螺仪和加速度计的零偏作为状态向量的一部分,通过观测方程不断修正。而白噪声则体现在测量协方差矩阵 R 中。若离线标定不准确,尺度因子误差和轴偏差会直接导致 VIO 在快速旋转时产生尺度漂移和轨迹弯曲。

工程经验:对于消费级 MEMS IMU(如 ICM-20602、BMI160),尺度因子误差通常在 0.5%~2% 之间,轴偏差在 0.1°~1° 之间。对于 VIO 系统,若尺度因子误差超过 1%,在 10 秒的纯旋转运动后,位置误差可能累积到数十厘米。因此,高精度 VIO 必须进行内参标定。

4.3 Allan 方差分析:随机误差的“指纹”提取

Allan 方差是 IEEE 标准(IEEE Std 952-1997)推荐的 IMU 随机误差辨识方法。其核心思想是:对静止状态下的 IMU 数据进行长时间采集(通常 2~4 小时),将数据按不同时间簇长度 τ 进行划分,计算相邻簇均值之差的方差,得到 Allan 方差 σ²(τ) 与 τ 的双对数曲线。不同随机误差在曲线上呈现不同斜率的线段:

  • 斜率 -1/2 段:对应角度随机游走(ARW)或速度随机游走(VRW),即白噪声积分后的结果。
  • 斜率 0 段(平台):对应零偏不稳定性(Bias Instability),是 Allan 方差曲线的最低点。
  • 斜率 +1/2 段:对应速率随机游走(RRW),即零偏的漂移速率。
  • 斜率 +1 段:对应速率斜坡(Rate Ramp),通常由温度单调变化引起。

实际操作流程如下:

  1. 将 IMU 固定于光学平台或大理石台上,确保无振动干扰,静止采集数据至少 2 小时,采样率 200Hz 以上。
  2. 将数据按时间簇 τ 从 0.01s 到 1000s 进行对数均匀划分,每个 τ 下计算 Allan 方差。
  3. 绘制 log(σ(τ)) - log(τ) 曲线,识别各斜率段。
  4. 通过最小二乘拟合,提取 ARW 系数(单位 °/√h 或 m/s/√h)、零偏不稳定性(单位 °/h 或 m/s²)等关键参数。
数据采集要点:采集时长决定了可辨识的最慢误差。若只采集 10 分钟,则无法辨识 τ > 600s 的随机游走特性。对于 VIO 应用,建议至少采集 1.5 小时,以确保零偏不稳定性的拟合精度。同时,环境温度应保持稳定,避免空调气流直吹 IMU。

4.4 IMU 内参标定:确定性误差的补偿

内参标定的目标是估计尺度因子矩阵 S、轴偏差矩阵 T 和零偏 b。对于三轴 IMU,完整的标定模型为:

加速度计:
a_meas = T_a · S_a · a_true + b_a + n_a

陀螺仪:
ω_meas = T_g · S_g · ω_true + b_g + n_g

其中:
S = diag(s_x, s_y, s_z)  —— 尺度因子
T = [[1, -α_yz, α_zy],
     [α_xz, 1, -α_zx],
     [-α_xy, α_yx, 1]]   —— 轴偏差(小角度近似)

标定方法通常分为两类:转台标定与多位置静态标定。转台标定精度高,但设备昂贵;多位置静态标定利用重力矢量作为参考,成本低且精度足够 VIO 使用。多位置标定的核心思想是:在 N 个不同姿态下,加速度计的测量值应满足模长等于当地重力加速度 g。通过非线性优化(如 Levenberg-Marquardt)求解使残差最小的参数。

对于陀螺仪,则需要转台提供已知角速率,或者利用地球自转角速率(约 15°/h)作为参考——但后者对 MEMS 陀螺仪精度要求过高,通常不采用。工程上更常用的是:在完成加速度计标定后,利用多组旋转运动,通过积分角速度与视觉/磁力计参考对比来估计陀螺仪参数。

注意:IMU 内参标定与 VIO 的外参标定(IMU 与相机之间的旋转和平移)是两个不同概念。内参标定是传感器自身的误差补偿,外参标定是传感器之间的空间关系。在 VIO 系统中,两者缺一不可。若内参标定不准确,外参标定结果也会被污染。

4.5 案例拆解:消费级 IMU 标定实战

背景与约束:某移动机器人项目采用 ICM-20602 六轴 IMU,需要与双目相机融合实现室内定位。项目要求 VIO 在 10 米路径上的位置误差小于 2%。初始状态下,IMU 未标定,VIO 在快速旋转后出现明显的尺度漂移,轨迹弯曲约 15°。

初始现象与目标:通过 rosbag 录制静止数据 2 小时,采样率 500Hz。初步分析发现,加速度计三轴模长在静止时波动达 ±0.15 m/s²,陀螺仪零偏在 30 分钟内漂移了 0.8°/s。目标是将加速度计模长误差降至 ±0.02 m/s² 以内,陀螺仪零偏稳定性提升至 0.1°/s 以内。

关键输入数据:使用 Allan 方差工具(如 imu_utils)分析,得到加速度计白噪声 0.02 m/s/√Hz,零偏不稳定性 0.05 m/s²;陀螺仪白噪声 0.03 °/s/√Hz,零偏不稳定性 0.2 °/h。

分析判断过程:Allan 曲线显示陀螺仪在 τ=100s 处出现明显上翘,表明存在较大的速率随机游走,这解释了 VIO 在长时间静止时零偏估计缓慢漂移的问题。加速度计轴偏差估计值约为 0.8°,这会导致在倾斜姿态下重力投影误差放大。

实际操作步骤:

  1. 使用 6 位置静态标定法(三轴正反共 6 个方向),每个位置静止采集 30s,取均值作为测量值。
  2. 构建优化问题:最小化 Σ(||a_meas|| - g)²,使用 Ceres 求解 S_a, T_a, b_a。
  3. 陀螺仪标定:将 IMU 固定在转台上,以 10°/s、50°/s、100°/s 三档速率正反转各 3 次,记录角速率参考值。
  4. 联合优化陀螺仪 S_g, T_g, b_g,使 ω_meas 与参考角速率残差最小。
  5. 标定后重新录制静止数据,验证 Allan 方差曲线:零偏不稳定性从 0.2°/h 降至 0.08°/h。

结果对比:标定后,VIO 在相同测试路径上的位置误差从 1.8m 降至 0.35m(10m 路径),轨迹弯曲从 15° 降至 2°。加速度计模长波动从 ±0.15 m/s² 降至 ±0.018 m/s²。

风险与代价:多位置标定法对操作者的姿态摆放精度有一定要求,若姿态角偏差超过 2°,会引入额外的参考误差。转台标定虽然精度高,但设备成本约 20 万元,且标定时间较长(含温控约 4 小时)。对于量产场景,建议采用“出厂标定 + 在线估计”的组合策略。

复盘经验:IMU 标定不是一次性工作。MEMS 器件随温度和时间会缓慢老化,建议每 3 个月或温度变化超过 20°C 时重新标定。在 VIO 系统中,将零偏作为状态向量在线估计可以吸收部分残余误差,但尺度因子和轴偏差必须离线标定,否则无法通过滤波收敛。

4.6 常见误区与总结

误区一:认为 IMU 标定只需要做一次,忽略温度影响。实际上,MEMS 陀螺仪的零偏随温度变化可达 ±2°/s(全温区),必须进行温度补偿或采用温控方案。

误区二:将 Allan 方差分析中的白噪声系数直接作为滤波器的测量噪声。Allan 方差给出的是功率谱密度特征,而滤波器中的 R 矩阵需要根据实际运动状态调整,通常需要乘以 2~5 倍的安全系数。

误区三:忽略轴偏差的影响。在低成本 IMU 中,轴偏差可能达到 1°~2°,这相当于在旋转 90° 时引入 1.5~3cm 的位置误差(对于 1m 臂长)。

误区四:标定数据采集时未充分静止。IMU 对振动极其敏感,若采集时桌面有风扇或人员走动,Allan 方差曲线会出现异常上翘,导致随机游走系数被高估。

总结:IMU 标定是 VIO 系统精度的基石。确定性误差(尺度、轴偏差、零偏)通过多位置静态法和转台法离线标定;随机误差(白噪声、随机游走)通过 Allan 方差辨识并用于滤波器协方差设计。在工程实践中,应建立“标定-验证-在线估计”的闭环流程,并定期复标。下一阶段,我们将基于标定后的 IMU 模型,推导 VIO 中的 IMU 预积分方程与协方差传播公式。