1. 课程导入
激光SLAM(Simultaneous Localization and Mapping,同步定位与建图)是移动机器人、自动驾驶与空间智能领域最核心的底层能力之一。它让机器人在没有先验地图、没有卫星定位的环境中,仅依靠激光雷达等传感器,一边估计自身位姿,一边构建环境地图。本课程聚焦的不是“从零推导算法”,而是把一套已经能跑的激光SLAM系统,调试到稳定、精确、实时、可交付的工程状态。
一、核心定义:激光SLAM到底在解什么问题
激光SLAM的输入是连续帧的激光点云,输出是机器人轨迹(位姿序列)与全局一致的地图。它的本质是一个状态估计问题:在存在传感器噪声、运动畸变、环境退化和数据关联错误的情况下,估计机器人状态 x 与地图 m 的联合后验概率。
从工程视角看,激光SLAM系统通常由四个环节构成:前端扫描匹配、后端位姿图优化、回环检测与地图维护。前端负责帧间配准,后端负责全局一致性,回环负责消除累积漂移,地图维护负责输出可用的栅格或点云地图。理解这条链路,是后续调试与优化的前提。
二、发展历程:从滤波到图优化,再到多传感器融合
激光SLAM的发展大致经历三个阶段。早期以滤波方法为主,如EKF-SLAM与粒子滤波,计算量随地图规模增长而迅速膨胀,适合小场景。中期进入图优化时代,以Cartographer、LOAM、LeGO-LOAM为代表,通过位姿图与因子图把全局优化问题稀疏化,显著提升了大规模建图能力。当前阶段则强调多传感器融合与工程鲁棒性,激光与IMU、轮速计、GNSS融合,配合紧耦合优化,成为自动驾驶与具身智能的主流方案。
| 阶段 | 代表方法 | 核心特点 | 典型瓶颈 |
|---|---|---|---|
| 滤波时代 | EKF-SLAM、FastSLAM | 在线递推、实现简单 | 地图规模受限、线性化误差 |
| 图优化时代 | Cartographer、LOAM | 全局一致、支持大场景 | 回环误匹配、计算资源占用 |
| 融合时代 | LIO-SAM、FAST-LIO | 紧耦合、鲁棒性强 | 时间同步、参数敏感 |
三、典型应用场景:不同场景对调试提出不同要求
激光SLAM的应用场景差异极大,调试重点也完全不同。室内服务机器人关注低矮障碍物与动态行人,地图分辨率要求高;仓储AGV关注重复纹理与长走廊,容易发生退化;自动驾驶关注高速运动下的运动畸变与GNSS失锁;测绘与巡检关注全局一致性与回环质量。理解场景,才能判断“什么样的误差是可以接受的”。
- 室内服务机器人:重点调试点云去畸变、地面分割与动态物体滤除。
- 仓储AGV:重点调试长走廊退化、回环阈值与地图更新策略。
- 自动驾驶:重点调试IMU与激光时间同步、外参标定与高速运动补偿。
- 测绘巡检:重点调试回环检测、全局优化与地图精度评估。
四、工程调试与性能优化的价值
很多团队能跑通开源激光SLAM,却无法交付稳定产品。原因往往不在算法本身,而在工程细节:时间戳不同步导致点云错位,外参标定偏差导致地图重影,回环阈值不当导致错误闭合,CPU占用过高导致丢帧。工程调试与性能优化的价值,就是把“能跑”变成“可靠”,把“实验室可用”变成“现场可交付”。
调试的核心思路:先保证数据质量,再保证前端匹配,最后保证后端一致性与实时性。顺序颠倒,往往会在错误的方向上浪费大量时间。
五、学习路径:从观测到调参,再到系统优化
本课程的学习路径分为四步。第一步,建立观测能力,学会看点云、看轨迹、看残差、看日志。第二步,掌握前端调试,包括去畸变、配准参数、特征选择与退化处理。第三步,掌握后端与回环调试,包括位姿图构建、回环阈值、鲁棒核函数与全局优化。第四步,进行性能优化,包括多线程、降采样、内存管理与实时性保障。
# 典型调试观测命令示例
ros2 topic hz /scan # 检查激光频率
ros2 topic delay /scan /odom # 检查时间同步
ros2 run tf2_tools view_frames # 检查坐标变换
ros2 bag record /scan /imu /odom # 录制调试数据
建议每调一个参数,只改变一个变量,并保留 rosbag 与日志。可复现,是工程调试的第一原则。
常见误区:一上来就调后端优化参数,却忽略点云时间戳与外参。多数“地图重影”问题,根源在前端数据质量,而不是后端算法。
当你能够稳定地观测系统、定位问题、验证修改,激光SLAM就不再是一个黑盒,而是一套可以掌控的工程系统。接下来的章节,将沿着这条路径逐步展开。