1. SLAM概述:SLAM的定义、发展历史、应用领域

各位同学好,我是这门课的主讲。今天咱们来聊聊SLAM——这个在机器人、AR/VR和自动驾驶领域都绕不开的核心技术。

先说说我自己的经历。十年前我刚入行做机器人导航时,遇到一个很头疼的问题:机器人在陌生环境里走着走着就不知道自己到哪了。那时候我就在想,要是能让机器人一边走一边画地图,同时还能知道自己在地图上的位置,那该多好。后来我才知道,这其实就是SLAM要解决的核心问题。

1.1 SLAM的定义

SLAM的全称是Simultaneous Localization and Mapping,中文叫「同步定位与地图构建」。说白了,就是让一个移动的智能体在未知环境中,同时完成两件事:

  • 定位:知道自己当前在哪儿
  • 建图:把周围的环境画成地图

你想想看,这其实是个「鸡生蛋蛋生鸡」的问题。要定位准确,你得先有地图;要建好地图,你又得知道自己的位置。SLAM就是把这个循环给解开了。

核心思想:SLAM通过传感器数据(比如摄像头、激光雷达),在运动过程中不断估计自身位姿,同时增量式地构建环境地图。两者相互依赖、相互促进。

我个人习惯把SLAM比作「盲人摸象」——只不过这个盲人一边摸一边走,还要记住大象的形状。嗯,这个比喻可能不太严谨,但意思到了。

1.2 发展历史

SLAM的发展史,我把它分成三个阶段来讲。

阶段 时间 标志性事件 我的评价
萌芽期 1986-2000 Smith等人提出概率SLAM框架 理论奠基,但算力跟不上
发展期 2000-2010 EKF-SLAM、FastSLAM、GraphSLAM 算法百花齐放,我开始接触这个领域
成熟期 2010至今 ORB-SLAM、LSD-SLAM、VINS-Mono 视觉SLAM大爆发,开源生态完善

我记得2007年刚接触SLAM时,用的还是EKF-SLAM。那时候跑一个简单的室内场景,计算量就大得吓人。现在回想起来,真是感慨技术进步之快。

避坑指南:我曾经在项目里盲目追求最新的SLAM算法,结果发现稳定性还不如经典的ORB-SLAM2。后来我学乖了——选算法要看场景,不是越新越好。

1.3 应用领域

SLAM的应用场景,我归纳为三大块:机器人、AR/VR、自动驾驶。每个领域对SLAM的要求都不太一样。

机器人领域

这是SLAM最传统的应用场景。扫地机器人、仓储AGV、服务机器人,都离不开SLAM。

  • 室内导航:机器人需要知道自己在房间里的位置
  • 环境探索:未知区域自动建图
  • 避障规划:基于地图做路径规划

我在做仓储机器人项目时,遇到过一个问题:仓库里货架经常变动,地图需要频繁更新。这时候用传统的静态SLAM就不行了,得用动态环境下的SLAM方案。

AR/VR领域

AR/VR对SLAM的要求很苛刻——不仅要准,还要快,延迟一高就头晕。

  • 空间定位:手机或头显在空间中的6DoF位姿
  • 平面检测:识别桌面、地面等平面,用于放置虚拟物体
  • 光照鲁棒性:室内外光照变化大,SLAM要扛得住

你想想看,玩AR游戏时虚拟物体要「粘」在现实场景中,这背后就是SLAM在实时工作。我测试过一些AR应用,SLAM一掉帧,虚拟物体就开始「漂移」,体验感瞬间崩塌。

自动驾驶领域

自动驾驶对SLAM的要求是最高的——安全第一,容不得半点差错。

  • 高精地图构建:厘米级的地图精度
  • 多传感器融合:摄像头+激光雷达+IMU+GPS
  • 长距离闭环检测:行驶几公里后能识别出之前到过的地方

注意:自动驾驶场景下,SLAM的失效可能导致严重后果。我曾经参与过一个测试,车辆在隧道里GPS信号丢失,纯视觉SLAM又因为光照不足而失效,最后只能靠IMU硬撑。所以多传感器冗余设计非常重要。

1.4 知识体系总览

下面这张图是我自己画的SLAM知识体系框架,涵盖了本章的核心内容。你可以把它当作整个课程的地图。

SLAM知识体系框架 SLAM核心 传感器数据 状态估计 地图表示 摄像头 激光雷达 IMU/里程计 滤波方法 图优化 回环检测 稀疏地图 稠密地图 语义地图 机器人导航 AR/VR体验 自动驾驶 图1:SLAM知识体系框架——从传感器到应用的全链路

这张图展示了SLAM的完整链路:传感器采集数据 → 状态估计(定位)→ 地图表示(建图)→ 应用落地。我们这门课会按照这个框架逐步展开。

学习建议:我个人建议初学者先理解「状态估计」这一块,这是SLAM的数学核心。地图表示部分可以放到后面,因为不同应用对地图的需求差异很大。

好了,第一章的内容就到这里。SLAM的定义、发展史和应用场景,咱们都过了一遍。下一章我会深入讲传感器模型和数据处理,那是SLAM的「眼睛」部分。


公众号:蓝海资料掘金营,微信deep3321