1. 课程导入
当你看到一辆无人车在雨夜的城市道路上平稳穿行,或是一台机器人在没有GPS的仓库里自主搬运货物时,背后往往有一套共同的技术在支撑:它一边用激光雷达“看清”周围的三维世界,一边实时推算“我在哪里、我要去哪里”。这套技术就是3D激光SLAM与点云感知。本章作为全课程的导入,先建立整体认知地图,再逐步深入原理与工程实现。
一、核心定义:SLAM与点云感知分别解决什么问题
SLAM(Simultaneous Localization and Mapping,同时定位与建图)回答两个耦合问题:机器人在未知环境中如何确定自身位姿,以及如何增量构建环境地图。二者互为条件——定位依赖地图,建图又依赖定位,因此必须“同时”求解。
点云感知则聚焦于从激光雷达等传感器获取的三维点云中提取语义与几何信息,包括地面分割、障碍物检测、聚类、目标识别、可通行区域分析等。它更偏向“理解环境”,而SLAM更偏向“确定自身与环境的关系”。
一句话区分:SLAM解决“我在哪、环境长什么样”;点云感知解决“周围有什么、能不能走”。两者在工程中通常共享同一套点云数据流与坐标系统。
二、发展历程:从概率滤波到多传感器融合
3D激光SLAM的发展大致经历四个阶段:
- 早期滤波阶段(2000年前后):以EKF-SLAM、FastSLAM为代表,状态维度受限,难以支撑大规模三维场景。
- 图优化阶段(2010年前后):以Cartographer、LOAM为标志,将位姿估计转化为位姿图优化问题,支持回环检测与全局一致性。
- 紧耦合与多传感器融合阶段(2015年后):LIO-SAM、LVI-SAM等将激光、IMU、视觉紧耦合,提升剧烈运动与退化场景下的鲁棒性。
- 学习增强与工程化阶段(2020年至今):深度学习用于特征提取、回环检测与语义分割,同时工程上强调实时性、标定、时间同步与部署。
这一演进的主线是:从“能跑”到“跑得准”,再到“跑得稳、跑得久、跑得便宜”。
三、典型应用场景
3D激光SLAM与点云感知已渗透到多个行业,典型场景包括:
| 场景 | 核心需求 | 典型输出 |
|---|---|---|
| 自动驾驶 | 高精度定位、障碍物检测、可通行区域 | 车辆位姿、动态目标框、局部地图 |
| 仓储物流机器人 | 无GPS室内导航、货架识别 | 二维/三维栅格地图、托盘位姿 |
| 无人机测绘 | 大范围建图、地形重建 | 点云地图、DEM/DSM |
| 矿山与港口 | 粉尘、雨雾环境下的稳定感知 | 设备位姿、料堆体积 |
| 数字孪生与BIM | 建筑内部高精度扫描 | 彩色点云、语义构件 |
四、整体课程框架与学习路径
本课程共30章,按“基础—核心—进阶—工程”四层组织:
- 基础层:传感器原理、坐标系与标定、点云数据结构、ROS/ROS2工具链。
- 核心层:特征提取与配准、帧间里程计、图优化与回环检测、点云滤波与分割。
- 进阶层:多传感器融合、退化场景处理、语义SLAM、动态环境建图。
- 工程层:实时性优化、部署与调参、评测方法、故障排查与复盘。
下图给出本课程的知识结构关系,帮助你在学习每一章时都能定位到整体框架中的位置。
五、常见误区与学习建议
误区一:把SLAM当成“定位模块”。SLAM输出的是位姿轨迹与地图,定位只是其中一部分;工程中还需与GNSS、轮速计、IMU等融合。
误区二:只关注算法,忽视标定与时间同步。外参错误或时间戳不同步,会让再好的算法也“跑飞”。
误区三:认为点云感知就是“聚类”。实际工程中,地面分割、运动畸变校正、噪声滤除往往比聚类更影响最终效果。
学习建议:每学一个算法,都问三个问题——输入是什么、输出是什么、在什么条件下会失效。配合ROS bag回放与可视化工具,把“公式”变成“看得见的现象”。
六、一个最小可运行示例
后续章节会反复使用如下命令启动激光雷达数据回放与可视化,作为调试起点:
# 启动ROS核心
roscore
# 回放包含3D激光雷达与IMU的bag
rosbag play --clock demo_lidar_imu.bag
# 查看点云话题
rostopic hz /velodyne_points
# 在RViz中查看点云与里程计
rosrun rviz rviz -f map
从这一章开始,你将逐步掌握从点云数据到位姿估计、从单帧感知到全局地图的完整链路。理解整体框架,比记住某个具体算法更重要——因为工程中的问题,往往出在模块之间的衔接处。