1. 课程导入

在移动机器人、自动驾驶与无人机系统中,实时、鲁棒、高精度的位姿估计是一切上层任务的基础。激光雷达提供稠密几何观测,惯性测量单元提供高频运动信息,两者天然互补。FAST-LIO 正是围绕“激光 + 惯性”这一组合,构建出的一套高效、可工程落地的紧耦合里程计方案。本课程将带你从原理到代码、从仿真到实机,系统掌握 FAST-LIO 的工程实现。

一、FAST-LIO 的定位:它解决什么问题

FAST-LIO(Fast LiDAR-Inertial Odometry)是一种紧耦合的激光惯性里程计。它把 IMU 的预积分预测与激光点云残差放入同一个迭代扩展卡尔曼滤波(IEKF)框架中求解,从而在剧烈运动、稀疏特征、甚至退化场景下仍能保持稳定输出。

与松耦合方案相比,紧耦合的核心优势在于:IMU 不仅用于提供初值,还参与状态更新;激光残差直接约束状态向量,避免了“先算激光、再融合 IMU”带来的信息损失。其状态向量通常包含位姿、速度、重力、IMU 零偏以及外参,更新时通过流形上的迭代优化逼近最优解。

核心思想:用 IMU 做高频预测,用激光做低频校正,在同一个滤波框架内迭代求解,兼顾实时性与精度。

二、发展历程:从 LOAM 到 FAST-LIO

理解 FAST-LIO 的演进脉络,有助于把握其设计取舍。早期 LOAM 系列奠定了“特征提取 + 帧间匹配 + 地图优化”的经典范式,但计算量大、对特征依赖强。随后 LIO-mapping、LIO-SAM 等方案引入 IMU 与因子图优化,提升了全局一致性,但实时性仍受限于优化规模。

FAST-LIO 的关键突破在于迭代卡尔曼滤波 + 直接点面残差:不显式提取线面特征,而是直接利用原始点云构建残差,并通过 iKD-Tree 加速最近邻搜索。后续 FAST-LIO2 进一步去掉特征提取模块,支持更多雷达类型,并引入增量式地图管理,使系统在嵌入式平台上也能实时运行。

阶段代表方案核心特点主要局限
特征法LOAM / LeGO-LOAM提取线面特征,帧间匹配特征依赖强,计算量大
优化法LIO-SAM / LIO-mapping因子图,IMU 预积分实时性受优化规模限制
滤波法FAST-LIO / FAST-LIO2IEKF,直接点面残差需调参,依赖 IMU 质量

三、应用场景:它适合用在哪里

FAST-LIO 的典型应用集中在需要高频位姿且计算资源受限的平台:

  • 无人机室内外导航:在 GPS 拒止环境下提供稳定里程计,支撑避障与轨迹控制。
  • 地面移动机器人:仓储 AGV、巡检机器人,在长廊、隧道等退化场景中保持定位。
  • 手持/背包式扫描:快速构建三维点云地图,配合回环检测形成完整 SLAM 系统。
  • 自动驾驶定位冗余:作为 GNSS/INS 的补充,在遮挡或隧道中维持短时高精度位姿。
选型提示:若平台算力有限、雷达帧率较高、且对实时性要求严格,FAST-LIO 通常是优先考虑的方案;若更看重全局一致性与回环,可在其之上叠加后端优化。

四、整体学习路线与核心数据流

本课程按“原理—代码—调试—实战”递进。下图展示了 FAST-LIO 的核心数据流:IMU 数据进入预积分与状态预测,激光点云经过运动补偿后与地图做最近邻匹配,构建点面残差,最终在 IEKF 中迭代更新状态并输出位姿,同时更新局部地图。

IMU 数据 加速度 / 角速度 激光点云 原始帧 / 去畸变 IMU 预积分 状态预测 运动补偿 点云去畸变 IEKF 迭代更新 点面残差 / 卡尔曼增益 位姿输出 高频里程计 局部地图 iKD-Tree 增量维护 实线:前向数据流 虚线:地图反馈与残差构建

围绕这条数据流,课程将依次展开:IMU 预积分与状态预测、点云去畸变与运动补偿、iKD-Tree 与最近邻搜索、IEKF 迭代更新、地图增量维护,最后进入实机调试与性能评估。每一部分都会配合可运行的代码片段与参数说明。

五、常见误区与学习建议

误区一:认为 FAST-LIO 可以“开箱即用”。实际上外参、时间同步、IMU 噪声参数对结果影响极大。
误区二:把 FAST-LIO 当成完整 SLAM。它主要提供里程计,回环与全局优化需额外模块。
误区三:忽视运动补偿。高速运动下不去畸变,点面残差会严重失真。

建议的学习方式是:先跑通官方数据集,观察轨迹与点云地图;再逐步替换为自己的传感器数据,重点检查时间戳对齐与外参标定;最后通过调整滤波参数与地图分辨率,理解精度与实时性的权衡。

# 典型运行命令示例
roslaunch fast_lio mapping_avia.launch
rosbag play your_dataset.bag --clock

# 关键配置片段
common:
  lid_topic:  "/livox/lidar"
  imu_topic:  "/livox/imu"
  time_sync_en: true

掌握 FAST-LIO,不仅是学会一个算法,更是建立“传感器融合 + 实时估计 + 工程调优”的完整思维。接下来,我们将从 IMU 预积分开始,逐层拆解这套系统的每一个关键环节。