1. 课程导入
在视觉惯性里程计、组合导航、无人机飞控、自动驾驶定位与AR/VR设备中,IMU(惯性测量单元)几乎都是最基础、最高频、最不可替代的传感器之一。它输出角速度与比力,短时间动态响应极好,但积分会漂移;相机或激光雷达能提供长期约束,却频率低、易受环境纹理与光照影响。把两者真正融合起来,工程上绕不开两个关键词:预积分与误差标定。前者解决“如何在优化中高效使用IMU高频测量”,后者解决“如何让IMU原始数据可信”。本课程将围绕这两条主线,从数学推导、代码实现到工程标定流程逐步展开。
一、学习目标:从“会用”到“能落地”
本课程不是单纯罗列公式,而是希望学习者最终具备三类能力。第一,理解预积分的数学本质:能够在旋转、速度、位置递推中区分世界系与机体系,理解为什么要在两帧图像之间预积分,以及预积分量如何随零偏变化而更新。第二,掌握误差标定的工程方法:包括内参(零偏、尺度、轴间非正交)与外参(IMU到相机/车体的旋转平移)的标定,理解Allan方差、六面法、转台法、手眼标定等典型手段的适用边界。第三,具备调试与排障能力:面对轨迹漂移、初始化失败、尺度跳变、重力方向错误等常见问题,能定位是标定问题、时间同步问题还是预积分模型问题。
二、核心概念:预积分与误差标定到底在做什么
IMU测量模型通常写为:
ω_meas = ω_true + b_g + n_g
a_meas = R^T (a_world - g) + b_a + n_a
其中 b_g、b_a 是陀螺与加速度计零偏,n_g、n_a 是噪声,g 是重力。预积分的核心思想是:在两个关键帧 i 和 j 之间,把大量IMU测量先“打包”成相对运动增量,而不是在优化中反复从 i 积分到 j。这样,当优化器调整 i 的状态时,不需要重新积分所有高频IMU数据,只需对预积分量做一阶修正。
误差标定则关注“测量是否可信”。它至少包含四类参数:
- 零偏:陀螺和加速度计的常值偏置,随温度和时间缓慢变化。
- 尺度因子:加速度计或陀螺输出与实际物理量之间的比例误差。
- 轴间非正交与安装误差:三轴不完全垂直导致的耦合。
- 外参:IMU与相机、雷达、车体之间的旋转和平移关系。
如果零偏未标定,预积分会在几十秒内产生明显位置漂移;如果外参错误,视觉惯性融合会把相机观测“投错位置”,导致尺度估计和重力方向同时出错。因此,预积分与标定不是两个独立话题,而是同一套估计框架中的“模型”与“数据质量”两端。
三、整体框架:从传感器到优化变量
下图给出本课程后续章节的整体技术框架。左侧是原始IMU与相机数据,中间经过时间同步、标定、预积分构建,右侧进入滑动窗口优化,最终输出位姿、速度、零偏和地图点。
四、工程应用场景与典型参数
预积分与标定技术广泛应用于以下场景:
| 应用场景 | IMU典型频率 | 关键挑战 | 标定重点 |
|---|---|---|---|
| 无人机视觉惯性导航 | 200–1000 Hz | 振动大、零偏快速变化 | 在线零偏估计、时间同步 |
| 自动驾驶组合定位 | 100–200 Hz | GNSS失锁、长距离漂移 | IMU-车轮-激光外参 |
| AR/VR头显 | 500–1000 Hz | 低延迟、快速运动 | IMU-相机外参、零偏温补 |
| 手持/背包SLAM | 100–400 Hz | 尺度不确定、剧烈晃动 | 尺度因子、重力对齐 |
以无人机为例,若陀螺零偏为 0.01 rad/s,在 10 s 内不修正,姿态误差可达 0.1 rad,约 5.7°;若加速度计零偏为 0.02 m/s²,位置误差按 0.5·b·t² 增长,10 s 后约 1 m。这正是预积分中必须保留零偏雅可比、优化中必须持续估计零偏的原因。
五、常见误区与复盘
初学者最容易陷入以下误区:
- 把预积分当成简单积分。预积分量是在两帧之间定义的相对量,必须处理零偏变化和重力对齐,不能直接当世界系位移使用。
- 忽略时间同步。IMU与相机时间戳差
5 ms,在高速运动下可能产生数厘米到数十厘米的投影误差,常被误判为外参错误。 - 标定一次用终身。零偏随温度、振动和老化变化,工程系统通常需要在线估计或定期重标定。
- 只关注均值忽略噪声。Allan方差用于分离随机游走、零偏不稳定性等噪声项,直接影响滤波器与优化权重。