1. 课程导入

在自动驾驶、移动机器人、无人机、AR/VR 以及室内外无缝定位等场景中,稳定、连续、可解释的位姿估计是系统能否真正落地的关键。GNSS 在开阔环境下可以提供绝对位置,但进入城市峡谷、隧道、地下车库或室内后,信号遮挡与多径会让定位精度急剧下降;激光雷达和视觉可以提供丰富的环境约束,却容易受到纹理缺失、光照变化、动态物体和计算资源的影响。此时,IMU 凭借高频率、短时高精度、不依赖外部环境的特性,成为定位系统中不可替代的传感器。

然而,IMU 单独积分会迅速漂移,直接把它放进优化问题又会带来一个工程难题:IMU 测量频率通常为 100~1000 Hz,如果每一帧都作为优化变量,因子图规模会爆炸。IMU 预积分正是解决这一矛盾的核心技术:它在两个关键帧之间把大量 IMU 测量压缩成一个相对运动约束,使优化器只处理关键帧状态,同时保留 IMU 的高频信息。因子图则把这些约束、视觉/激光观测、GNSS 观测统一建模为概率图,通过非线性优化获得全局一致的轨迹与地图。

本节是课程导入,不要求你立刻推导公式,而是先建立一张“全局地图”:知道 IMU 预积分解决什么问题,因子图融合定位由哪些模块组成,后续 30 章分别攻克哪些能力,以及最终要完成什么实战项目。

一、应用背景:为什么需要 IMU 预积分与因子图融合

先看一个典型场景:一辆园区配送车从室外驶入地下车库。室外阶段,GNSS 与激光雷达可以提供绝对位置和全局地图匹配;进入车库后,GNSS 失效,视觉可能因光照不足退化,激光雷达也可能因长廊结构相似而出现误匹配。此时,IMU 预积分可以在关键帧之间提供高频相对运动约束,因子图则把“IMU 相对约束 + 轮速计 + 激光/视觉观测 + 历史地图”联合优化,使车辆在无 GNSS 环境下仍能保持连续、平滑、可回环的定位输出。

这类系统的核心价值可以概括为三点:

  • 连续性:IMU 提供高频运动先验,避免关键帧之间出现“跳变”或“空白”。
  • 一致性:因子图把多源观测统一到同一优化框架,减少传感器之间互相矛盾。
  • 可解释性:每个因子对应明确的物理约束,便于排障、调参和工程验收。

二、核心原理:从 IMU 积分到预积分,再到因子图

IMU 原始测量包含角速度 ω 和比力 a。若直接积分,需要从初始状态开始逐步递推,一旦初始状态在优化中改变,所有积分都要重算。预积分的思路是:把两个关键帧之间的 IMU 测量预先积分成相对旋转、相对速度、相对位置增量,并保留噪声传播与零偏更新的一阶雅可比。这样,优化变量从“每一帧 IMU 状态”变成“关键帧状态 + 零偏”,计算量大幅下降。

因子图则把待估计变量表示为节点,把观测约束表示为因子。一个典型的融合定位因子图包含:

  • IMU 预积分因子:连接相邻关键帧的位姿、速度、零偏。
  • 视觉/激光里程计因子:提供局部相对观测。
  • GNSS 因子:提供绝对位置约束。
  • 回环因子:提供长距离全局约束。
  • 零偏随机游走因子:约束零偏缓慢变化。

优化目标是最小化所有因子的残差平方和。常用求解器包括 GTSAM、Ceres、g2o 等。工程上,我们通常采用“滑动窗口 + 边缘化 + 回环”的策略,在精度与实时性之间取得平衡。

IMU预积分与因子图融合定位系统架构 IMU 原始测量 ω 角速度 / a 比力 100~1000 Hz 预积分模块 ΔR / Δv / Δp 噪声传播 + 雅可比 关键帧状态 R / p / v / ba / bg 滑动窗口管理 视觉 / 激光观测 特征点 / 点云匹配 局部相对约束 GNSS / 回环观测 绝对位置 / 全局约束 抑制累计漂移 零偏随机游走 ba / bg 缓慢变化 约束零偏漂移 因子图优化 节点:关键帧位姿 / 速度 / 零偏 因子:IMU / 视觉 / 激光 / GNSS / 回环 求解:GTSAM / Ceres / g2o 滑动窗口 + 边缘化 + 回环 输出:全局一致轨迹与地图 评估与调优 ATE / RPE / 回环误差 零偏收敛 / 实时性分析

三、方法流程:一个可落地的融合定位流水线

从工程实现角度看,IMU 预积分与因子图融合定位通常遵循以下流程:

  1. 数据接入与时间同步:统一 IMU、相机、激光、GNSS 的时间戳,处理硬件触发与插值。
  2. IMU 预积分:在相邻关键帧之间积分,计算 ΔR、Δv、Δp 及协方差、雅可比。
  3. 前端观测构建:视觉特征跟踪、激光点云配准、GNSS 坐标转换与回环检测。
  4. 因子图构建:添加 IMU 因子、视觉/激光因子、GNSS 因子、回环因子与零偏因子。
  5. 非线性优化:滑动窗口内求解,边缘化旧状态,保持计算量可控。
  6. 输出与评估:发布轨迹、地图与协方差,使用 ATE、RPE 等指标评估精度。

下面给出一个典型的配置文件片段,用于说明工程中需要关注的关键参数:

imu_preintegration:
  acc_noise: 0.02          # 加速度计噪声密度
  gyro_noise: 0.001         # 陀螺仪噪声密度
  acc_bias_rw: 0.0001       # 加速度计零偏随机游走
  gyro_bias_rw: 0.00001     # 陀螺仪零偏随机游走
  integration_rate: 200     # 预积分频率 Hz

factor_graph:
  window_size: 10           # 滑动窗口关键帧数量
  solver: "GTSAM"
  loop_closure: true
  gnss_factor: true
  max_iterations: 30

四、案例与场景:从园区配送车到无人机巡检

以园区配送车为例,室外段 GNSS 与激光雷达融合,进入地下车库后 GNSS 失效,系统切换到“IMU 预积分 + 激光里程计 + 轮速计”模式。因子图中,IMU 预积分因子提供高频相对运动,激光里程计因子提供环境约束,轮速计因子提供平面运动约束。当车辆重新驶出车库并收到 GNSS 信号时,GNSS 因子重新加入,因子图通过回环与全局优化修正累计漂移。

再以无人机巡检为例,飞行过程中视觉可能因快速旋转而模糊,IMU 预积分可以在视觉短暂失效时维持姿态与位置递推;因子图则把视觉、IMU、气压计和 GNSS 统一优化,保证在桥梁、隧道等复杂场景下的定位连续性。

模块 输入 输出 关键挑战
IMU 预积分 ω、a、零偏估计 ΔR、Δv、Δp、协方差、雅可比 零偏变化、数值积分精度
视觉/激光前端 图像、点云 相对位姿、特征关联 光照、纹理、动态物体
因子图优化 多源因子 全局一致轨迹 计算量、边缘化一致性
回环与 GNSS 历史地图、卫星观测 全局约束 误回环、多径、坐标对齐

五、常见误区与复盘

误区一:把预积分当成普通积分。预积分的关键在于“相对量 + 零偏雅可比 + 噪声传播”,如果忽略零偏更新,优化时每次迭代都要重积分,实时性会迅速恶化。
误区二:因子图只加 IMU 和视觉。在 GNSS 可用场景中,GNSS 因子是抑制全局漂移的关键;在室内场景中,回环因子和轮速计因子同样重要。因子图的价值在于“多源互补”,而不是单一传感器堆叠。
复盘建议:每完成一个模块,都用小规模数据集验证残差是否下降、零偏是否收敛、轨迹是否平滑。不要等到全系统联调时才排查问题。

六、课程整体框架与实战项目

本课程共 30 章,整体分为五个阶段:

  • 基础篇:IMU 误差模型、坐标系、旋转表示、预积分推导。
  • 核心篇:预积分雅可比、零偏更新、因子图建模、滑动窗口与边缘化。
  • 融合篇:视觉/激光/GNSS/轮速计因子构建,回环检测与全局优化。
  • 工程篇:GTSAM/Ceres 实战、时间同步、参数调优、实时性优化。
  • 实战篇:完成一个“园区配送车多传感器融合定位”项目,包含数据回放、建图、定位、评估与报告。

实战项目将提供 IMU、相机、激光、GNSS 与轮速计数据,要求你从零搭建预积分模块,构建因子图,完成轨迹估计,并与真值对比。最终交付物包括:可运行代码、参数配置、轨迹评估报告与问题复盘文档。

学习目标:完成本课程后,你应能独立推导 IMU 预积分公式,理解因子图优化原理,使用 GTSAM 或 Ceres 构建融合定位系统,并具备调参、排障与工程落地的能力。