课程导论与SLAM基础:什么是SLAM?
大家好,我是这门课的主讲人。在机器人行业摸爬滚打了快十年,我见过太多「看起来能跑,一上现场就跪」的定位方案。说实话,SLAM 这门技术,入门容易,精通难。今天这第一讲,咱们不急着写代码,先把 SLAM 到底是什么、能干什么、以及这门课怎么学,彻底聊透。
一、SLAM 到底是什么?
SLAM,全称是 Simultaneous Localization and Mapping,中文叫「同步定位与地图构建」。你想想看,一个机器人被扔进一个完全陌生的环境,它不知道自己在哪里,也不知道周围长什么样。它唯一能做的,就是一边往前走,一边用传感器感知周围,同时回答两个问题:
- 我在哪?(定位)
- 周围长什么样?(建图)
这两个问题其实是互相依赖的。要定位,你得先有地图;要建图,你得先知道自己的位置。这就像「先有鸡还是先有蛋」的难题。SLAM 要做的,就是把这个循环解耦,让机器人在运动过程中,同时把这两个问题解决掉。
核心理解:SLAM 不是一种算法,而是一个问题框架。解决这个问题,需要融合传感器数据、状态估计、优化理论等多个领域的知识。
我个人习惯把 SLAM 比作「盲人摸象」。机器人就像一个盲人,激光雷达就是它的手。它每摸一下,就知道局部的一小块形状。但要把整头大象的形状拼出来,它必须一边摸一边记住自己手的位置。嗯,这里要注意——如果手的位置记错了,拼出来的大象就会变形。这就是 SLAM 里最核心的挑战:误差累积。
二、激光雷达 SLAM 的应用场景
为什么我们要专门讲激光雷达 SLAM?因为在实际工程中,它比视觉 SLAM 更稳定、更可靠。我在项目中遇到过不少视觉 SLAM 在暗光、纹理缺失场景下直接「放飞自我」的情况,但激光雷达只要还能扫到东西,基本就不会丢。
来看看几个典型的落地场景:
| 应用场景 | 核心需求 | 典型传感器配置 | 我踩过的坑 |
|---|---|---|---|
| 扫地机器人 | 低成本、低功耗、实时性高 | 单线激光雷达 + IMU | 曾经在瓷砖反光环境下,雷达数据大量丢失,定位直接漂移 |
| 自动驾驶 | 高精度、高可靠性、大场景 | 多线激光雷达 + GPS + IMU | 高架桥下 GPS 信号丢失,全靠激光雷达 SLAM 撑着 |
| AGV / 仓储机器人 | 重复定位精度高、抗动态干扰 | 单线/多线激光雷达 + 轮式里程计 | 仓库里叉车来回跑,动态物体过滤没做好,地图全乱了 |
| 巡检机器人 | 长距离、长时间运行、回环检测 | 多线激光雷达 + 视觉辅助 | 长走廊场景下,回环检测失败,地图出现「鬼影」 |
说白了,激光雷达 SLAM 的强项在于:测距准、不受光照影响、角度分辨率高。但它的短板也很明显——在几何结构重复的场景(比如长走廊、大空地)容易退化。这也是为什么现代 SLAM 系统往往要融合 IMU 或视觉信息。
三、课程整体架构与学习路径
这门课一共 30 章,我把它分成了四个阶段。你跟着这个路径走,基本能覆盖从入门到工程落地的全过程。
我的建议:不要跳着看。SLAM 的知识体系是层层递进的,前面没搞懂,后面看代码会非常痛苦。我曾经带过一个实习生,直接跳到后端优化看 g2o,结果三天后回来问我「图优化里的顶点和边到底是什么」——嗯,这就是基础没打牢的典型症状。
阶段一:基础夯实(第1-8章)
- 坐标系与刚体运动(四元数、旋转矩阵,这些是基本功)
- 激光雷达原理与点云处理基础
- 里程计模型与传感器标定
- 状态估计基础:卡尔曼滤波与非线性优化
阶段二:核心算法(第9-18章)
- 前端配准:ICP、NDT 及其变种
- 后端优化:图优化、位姿图、因子图
- 回环检测与地图构建
- IMU 融合:LIO 系列算法原理
阶段三:工程实战(第19-26章)
- 从零搭建一个 2D SLAM 系统(基于 ROS)
- 3D SLAM 实战:基于 LeGO-LOAM 的改造
- 多传感器融合:激光 + IMU + 轮式里程计
- 性能调优与部署(嵌入式平台适配)
阶段四:进阶与前沿(第27-30章)
- 语义 SLAM 与动态环境处理
- 基于深度学习的点云配准
- 大规模场景下的 SLAM 系统设计
下面这张图,是我自己梳理的激光雷达 SLAM 知识体系框架。你可以把它当作整个课程的地图,每学完一章,回来看看自己处在哪个位置。
重要提醒:SLAM 的学习曲线比较陡峭。如果你之前没有接触过概率论和线性代数,建议先花一周时间补一下基础。我曾经见过有人直接上手写 ICP 配准,结果因为对 SVD 分解不熟,调了三天 bug 才发现是矩阵求逆出了问题。
好了,这一讲的内容就到这里。记住一句话:SLAM 的本质,是在不确定性中寻找确定性。后面的每一章,我们都会围绕这个核心展开。
可可精品资料库