3. 惯性测量单元基础

在视觉惯性融合定位(VIO)系统中,惯性测量单元(IMU)是提供高频运动先验的核心传感器。相机以 20~60 Hz 输出图像,而 IMU 通常以 100~1000 Hz 输出角速度与比力,二者在时间尺度上互补。理解 IMU 的工作原理、误差模型与标定方法,是后续预积分、状态估计与尺度恢复的前提。本节从器件原理出发,逐步建立可用于工程实现的 IMU 数学模型。

一、IMU 工作原理与信号链

典型 6 轴 IMU 由三轴 MEMS 加速度计与三轴 MEMS 陀螺仪组成,部分器件还集成三轴磁力计构成 9 轴模块。加速度计测量的是比力(specific force),即载体加速度与重力加速度的矢量和在机体系下的投影;陀螺仪测量的是机体相对惯性系的角速度。两者经 ADC 采样、温度补偿、出厂校准后,通过 SPI/I2C 输出数字量。

需要特别区分两个坐标系:IMU 机体系(body frame)与相机坐标系(camera frame)。VIO 中所有惯性量都在机体系下表达,而视觉观测在相机系下表达,因此外参 T_bc 的准确性直接影响融合精度。下图给出从物理量到 VIO 可用状态的完整信号链与误差注入位置。

IMU 信号链与误差注入示意 真实运动 a_true, ω_true 三轴加速度计 比力测量 f_b 零偏 b_a · 噪声 n_a 尺度 s_a · 非正交 三轴陀螺仪 角速度 ω_b 零偏 b_g · 噪声 n_g g 敏感 · 非正交 ADC 与温补 量化噪声 温度漂移 采样抖动 内参标定 bias / scale misalignment 时间偏移 t_d VIO 预积分 零偏随机游走随时间累积,需在线估计 t 高频 100–1000 Hz

二、加速度计与陀螺仪数学模型

工程中广泛采用如下连续时间模型,将真实值与测量值联系起来:

加速度计:
  a_m(t) = S_a · M_a · ( R_wb^T (a_w - g_w) ) + b_a(t) + n_a(t)

陀螺仪:
  ω_m(t) = S_g · M_g · ω_b(t) + b_g(t) + n_g(t)

其中:
  S_a, S_g   : 尺度因子矩阵(对角)
  M_a, M_g   : 非正交/轴间耦合矩阵
  b_a, b_g   : 零偏,建模为随机游走
  n_a, n_g   : 白噪声,零均值高斯
  R_wb       : 机体系到世界系的旋转
  g_w        : 世界系重力向量

零偏并非常量,而是缓慢变化的随机过程,通常建模为布朗运动:ḃ = n_b,其中 n_b 为驱动白噪声。这一建模是 VIO 中零偏在线估计与预积分协方差传播的理论基础。

三、噪声与随机游走参数

IMU 数据手册通常给出两类关键指标:噪声密度(noise density)与随机游走系数(random walk)。它们分别对应白噪声和零偏游走的强度,单位中带有 /√Hz 是连续时间谱密度的标志。

参数 符号 典型单位 物理含义 对 VIO 的影响
陀螺白噪声密度 σ_g rad/s/√Hz 角速度测量高频抖动 短时姿态估计方差
陀螺随机游走 σ_bg rad/s²/√Hz 零偏缓慢漂移速率 长时间姿态漂移主因
加计白噪声密度 σ_a m/s²/√Hz 比力测量高频抖动 速度与位置估计方差
加计随机游走 σ_ba m/s³/√Hz 加计零偏漂移速率 尺度与重力方向漂移
零偏不稳定性 BI °/h 或 mg Allan 方差谷底值 滤波器零偏过程噪声设定
提示:数据手册中的“噪声密度”常以 °/s/√Hz 或 μg/√Hz 给出,需换算为国际单位后再代入滤波器。例如 0.01 °/s/√Hz ≈ 1.745e-4 rad/s/√Hz。

四、内参标定方法与流程

内参标定旨在估计零偏、尺度、轴间非正交以及 IMU 与相机之间的时间偏移。常用方法包括六面法、Allan 方差分析与基于优化的联合标定。

  1. 静态零偏估计:将 IMU 静止放置数分钟,取均值作为初始零偏。注意温度稳定后再采集。
  2. 六面法标定:依次将六个面朝下静置,利用重力在各轴投影建立方程组,解算尺度与零偏。
  3. Allan 方差分析:长时间静态采集,绘制双对数曲线,从斜率 -1/2 段读取白噪声,从谷底读取零偏不稳定性。
  4. 时间偏移标定:通过相机与 IMU 同时激励(如快速旋转),最小化重投影误差或预积分残差估计 t_d。
  5. 联合优化:将内参、外参与轨迹放入同一因子图,使用 Ceres/GTSAM 求解。
# 使用 Kalibr 进行相机-IMU 联合标定示例
kalibr_calibrate_imu_camera \
  --bag imu_cam.bag \
  --cam camchain.yaml \
  --imu imu.yaml \
  --target april_6x6.yaml \
  --time-calibration

五、常见误区与复盘

  • 误区一:忽略零偏随机游走。 只估计常量零偏会导致长时间轨迹缓慢漂移,应在状态向量中加入 b_a, b_g 并传播其协方差。
  • 误区二:用数据手册噪声直接当离散噪声。 连续谱密度需除以 √Δt 才能得到离散噪声标准差。
  • 误区三:标定后长期不更新。 温度变化与器件老化会使零偏漂移,建议每次上电静置数秒重新估计。
  • 误区四:忽视时间同步。 相机与 IMU 之间 1 ms 的时间偏移,在高速运动下可造成显著重投影误差。
注意:标定环境应远离振动源与强磁场。MEMS 陀螺对振动敏感,标定期间任何晃动都会污染 Allan 方差曲线,导致噪声参数被高估。

掌握 IMU 的物理原理与误差模型后,才能在 VIO 前端正确设置噪声参数、在预积分中合理传播协方差,并在后端优化中获得稳定的零偏估计。下一阶段将进入相机模型与视觉特征提取,为视觉惯性联合奠定观测基础。