4、IMU模型与标定:IMU测量原理、噪声与偏差模型、IMU内参标定、IMU与相机外参标定
视觉惯性SLAM系统的精度上限,很大程度上取决于IMU(惯性测量单元)的建模精度与标定质量。IMU提供了高频的角速度与加速度测量,但原始数据中混杂着确定性误差与随机噪声。若不对其进行建模与补偿,融合定位系统将迅速发散。本章从IMU的物理测量原理出发,深入解析噪声与偏差的数学模型,并给出内参标定与相机-IMU外参标定的完整工程流程。
上图展示了IMU标定在视觉惯性SLAM系统中的核心位置:物理层的原始测量经过误差建模与参数补偿后,才能进入预积分与状态估计模块。下面我们逐层拆解。
4.1 IMU测量原理与误差来源
IMU通常包含三轴加速度计与三轴陀螺仪。加速度计测量的是比力(Specific Force),即物体所受非引力加速度之和,单位为 m/s²;陀螺仪测量的是相对于惯性系的角速度,单位为 rad/s。在VINS中,我们关心的是IMU坐标系(B系)相对于世界坐标系(W系)的运动。
理想测量模型为:
a_m = R_wb * (a_w - g_w) + b_a + n_a
ω_m = ω_wb + b_g + n_g
其中,a_m、ω_m为原始测量值;R_wb为世界系到IMU系的旋转;a_w为世界系下的加速度;g_w为重力向量;b_a、b_g为加速度计与陀螺仪的零偏(Bias);n_a、n_g为高斯白噪声。
实际传感器还存在确定性误差:尺度因子误差(Scale Factor)与轴间非正交误差(Misalignment)。这些误差在出厂时已部分校准,但温度变化、机械应力会导致残余误差,因此需要用户自行标定。
| 误差类型 | 来源 | 对SLAM的影响 | 标定方式 |
|---|---|---|---|
| 零偏(Bias) | MEMS制造工艺、温度漂移 | 导致位姿漂移,积分发散 | 静止放置求均值 |
| 尺度因子 | ADC量化、放大电路增益偏差 | 速度/位移估计偏大或偏小 | 六面法+最小二乘 |
| 轴间非正交 | 芯片贴装、封装应力 | 耦合误差,旋转时产生虚假加速度 | 多位置旋转标定 |
| 高斯白噪声 | 电子热噪声、采样量化 | 影响滤波精度,需用Allan方差分析 | Allan方差法 |
| 随机游走 | 零偏的积分累积 | 长期漂移,无法完全消除 | Allan方差法估计 |
核心原理:零偏是慢变误差,随机游走是零偏的随机波动。在VINS中,我们通常将零偏作为状态量在滑动窗口中在线估计,而随机游走则通过噪声协方差矩阵建模。
4.2 噪声与偏差的数学模型
IMU的随机误差通常用Allan方差(Allan Variance)来表征。Allan方差将不同时间尺度上的噪声源分离,典型曲线呈“V”形或“碗”形。通过拟合Allan方差曲线,可以提取出:
- 角度随机游走(ARW):陀螺仪白噪声的积分效应,单位 °/√h。
- 速度随机游走(VRW):加速度计白噪声的积分效应,单位 m/s/√h。
- 零偏不稳定性(Bias Instability):Allan方差曲线的最低点,代表零偏的极限波动。
- 量化噪声:ADC采样分辨率限制。
在VINS的ESKF(误差状态卡尔曼滤波)或滑动窗口优化中,我们通常将IMU噪声建模为:
n_a ~ N(0, σ_a² I)
n_g ~ N(0, σ_g² I)
b_a_dot = n_ba ~ N(0, σ_ba² I)
b_g_dot = n_bg ~ N(0, σ_bg² I)
其中,σ_a、σ_g为测量白噪声标准差;σ_ba、σ_bg为零偏随机游走标准差。这些参数直接影响预积分的协方差传播,进而影响优化权重。
工程经验:对于消费级IMU(如MPU6050、BMI160),σ_a 通常在 0.01~0.05 m/s²/√Hz,σ_g 在 0.001~0.005 rad/s/√Hz。工业级IMU(如ADIS16470)可低一个数量级。若参数设置过小,系统会过度信任IMU,导致视觉约束被忽略;设置过大则IMU约束失效。
4.3 IMU内参标定流程
内参标定的目标是确定加速度计与陀螺仪的零偏、尺度因子和轴间非正交矩阵。最常用的方法是六面静止法:将IMU分别以六个面朝上静止放置,记录加速度计输出。由于静止时比力等于重力向量,我们可以建立线性方程组求解。
具体操作流程如下:
- 将IMU固定在一个精密水平台上,确保每个面朝上时静止至少30秒。
- 记录每个位置的加速度计均值
a_i(i=1..6)。 - 构建误差模型:
a_m = T_a * K_a * (a_true + b_a),其中T_a为非正交矩阵,K_a为尺度矩阵。 - 使用最小二乘法求解12个参数(3个零偏、3个尺度、6个轴偏角)。
- 陀螺仪标定需要转台提供已知角速度,或使用多位置旋转法。
对于没有转台的团队,可以使用多位置静态法:将IMU旋转到多个任意姿态,利用重力向量模长恒为g的约束,同样可以解算出加速度计内参。陀螺仪零偏则通过静止时输出均值直接估计。
风险提示:六面法对水平台精度要求极高,若台面倾斜超过0.1°,标定出的零偏误差将超过0.01 m/s²。建议使用气泡水平仪校准台面,并在每个位置采集更长时间(>60秒)以平滑噪声。
标定完成后,应验证残差:将标定参数代入,重新计算各位置的比力模长,与g的偏差应小于0.005 m/s²。若偏差过大,需检查数据采集质量或模型是否遗漏了温度项。
4.4 IMU与相机外参标定
外参标定是视觉惯性融合的关键步骤,即求解相机坐标系(C系)到IMU坐标系(B系)的变换矩阵 T_BC = [R_BC | t_BC]。外参误差会直接导致视觉与惯性约束不一致,严重时系统初始化失败。
常用的标定方法分为离线标定与在线标定两类:
| 方法 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| Kalibr(离线) | 利用AprilTag标定板,联合优化相机内参、IMU内参、外参 | 精度高,可同时标定时间延迟 | 需要标定板,操作繁琐 |
| VINS初始化(在线) | 利用旋转约束估计R_BC,利用平移约束估计t_BC | 无需标定板,自动完成 | 需要充分激励,精度略低 |
| 手眼标定法 | 将相机-IMU视为手眼系统,求解AX=XB | 数学严谨,适合批量标定 | 需要高精度转台 |
在VINS-Fusion中,外参的在线估计被集成在初始化阶段。其核心思想是:在纯旋转运动下,视觉特征的对极约束与IMU陀螺仪的积分旋转应一致,从而可以线性求解 R_BC。平移 t_BC 则需要在有加速度激励时,通过视觉与IMU预积分的位置残差来估计。
实战场景:某移动机器人平台使用Realsense D435i(内置IMU),出厂外参精度不足。团队采用Kalibr标定,流程如下:
- 打印AprilTag标定板(8x6,方格0.2m),固定于墙面。
- 手持设备以缓慢旋转为主,辅以小幅平移,录制约2分钟bag包。
- 运行Kalibr,同时标定相机内参、IMU内参、外参及时间延迟。
- 标定结果:R_BC 的欧拉角误差 <0.1°,t_BC 误差 <2mm。
- 将标定结果写入VINS配置文件,初始化成功率从70%提升至95%。
需要注意的是,外参标定对运动激励有严格要求:旋转角速度应覆盖0.5~2 rad/s,避免纯平移或纯旋转。若运动过慢,陀螺仪噪声占比大;运动过快,则图像模糊导致视觉跟踪失败。
4.5 常见误区与总结复盘
在IMU标定与建模中,工程师常犯以下错误:
- 忽略温度影响:MEMS零偏随温度漂移可达±0.1 m/s²。若标定环境温度与工作环境差异大,应做温补或在线估计。
- 噪声参数设置随意:直接使用数据手册值,未考虑实际安装后的振动环境。建议用Allan方差实测。
- 外参标定运动不充分:只做平移或只做旋转,导致外参某轴不可观。
- 时间同步未处理:相机与IMU的时间戳偏差(通常1-5ms)会引入等效的旋转误差,需在标定中联合估计。
复盘建议:在VINS系统调试中,若初始化频繁失败,优先检查外参是否准确;若运行中位姿漂移大,优先检查噪声协方差是否过小。建议建立标定档案,记录每次标定的温度、运动轨迹、残差指标,便于回溯。
总结而言,IMU标定不是一次性任务,而是贯穿系统生命周期的持续工程。内参标定保证了测量值的准确性,外参标定保证了多传感器空间对齐,而噪声模型则决定了融合滤波器的信任分配。三者缺一不可,共同构成了VINS系统稳定运行的基石。