本文面向 SLAM 领域的初学者系统介绍这个领域的发展历程、核心问题、技术分支、主流算法、应用场景和发展趋势。读完之后你会对整个 SLAM 领域有一个完整的认知框架。一、SLAM 是什么1.1 定义SLAM Simultaneous Localization and Mapping同时定位与建图白话机器人到了一个陌生环境一边走一边干两件事——搞清楚我在哪和周围啥样。这两件事互相依赖要知道自己在哪需要参照物地图要建地图需要知道每次观测时自己站在哪里。SLAM 就是同时解决这个问题。1.2 为什么重要GPS 能解决室外定位但以下场景 GPS 不可用或精度不足室内商场、仓库、医院——信号被墙遮挡地下车库、隧道、矿井——完全无信号城市峡谷高楼间——多径反射导致跳变高精度要求自动驾驶要求厘米级GPS只有米级AR/VR需要毫米级跟踪手机/头显的6自由度位姿凡是这些场景都需要 SLAM 或基于 SLAM 思想的技术。1.3 SLAM 的历史脉络年代里程碑意义1986Smith, Self Cheeseman 提出SLAM问题首次形式化定义1990s基于EKF的SLAM第一代解法2D、小环境2000sFastSLAM粒子滤波、图优化SLAM规模化、精度提升2007MonoSLAM首个实时单目SLAM2014LOAM、LSD-SLAM3D激光里程计、大规模直接法视觉2015ORB-SLAM视觉SLAM的工程标杆2016CartographerGoogle开源工业级2D/3D SLAM2018VINS-Mono视觉惯性融合的标杆2020LIO-SAM因子图框架的LiDAR-IMU融合2022FAST-LIO2极致高效的滤波式LiDAR-IMU融合2023Neural SLAM、3DGS-SLAM神经隐式表达、高斯泼溅建图二、SLAM 解决的核心问题2.1 状态估计SLAM 的本质是一个状态估计问题。待估计的状态包括位姿Pose6自由度——3个平移(x,y,z) 3个旋转(roll,pitch,yaw)速度线速度和角速度融合IMU时需要传感器偏置IMU的零偏随时间漂移需要在线估计地图环境的某种表示点云/特征点/栅格/隐式场2.2 定位 vs 建图 vs SLAM任务输入输出场景纯定位传感器数据 已有地图当前位姿地图已建好日常使用纯建图传感器数据 已知轨迹环境地图有外部定位源如动捕SLAM传感器数据无先验位姿 地图首次到达陌生环境实际工程中的典型流程第一次到场景跑 SLAM 建图 → 保存地图 → 之后每次只做定位更快更稳定。2.3 定位的两层含义里程计Odometry相对定位估计相邻时刻的运动增量。快速但会累积漂移。全局定位Global Localization在已有地图中确定绝对位置。解决绑架问题突然被放到未知位置。三、传感器体系3.1 外部感知传感器传感器输出频率精度优势劣势单目相机2D图像30-60Hz像素级便宜、信息丰富纹理颜色无深度、怕光照变化、无绝对尺度双目相机图像视差深度30Hz近距cm级有深度、被动感知基线限制测量范围、计算量大RGBD相机图像深度图30Hzmm级(近距)直接获得深度室外/远距失效、易受阳光干扰机械式LiDAR3D点云10-20Hzcm级精度高、不受光照影响、测距远贵、有运动畸变、无颜色固态LiDAR3D点云(非重复扫描)10Hzcm级便宜(相对机械)、无旋转部件可靠视角小、点云分布不规则2D LiDAR平面扫描线10-40Hzmm级便宜可靠只有2D信息事件相机像素级亮度变化事件μs级像素级超高动态范围、无运动模糊数据处理方式完全不同3.2 内部感知传感器传感器输出频率作用IMU惯性测量单元角速度线加速度200-1000Hz高频运动预测、辅助去畸变、提供重力方向轮式里程计线速度/角速度50-200Hz地面机器人的平面运动约束气压计海拔高度10-50Hz无人机高度约束磁力计航向角50-100Hz绝对航向参考但容易受干扰3.3 外部参考传感器传感器精度作用GPS/GNSS2-5m (单点), 1-2cm (RTK)提供全局绝对位置消除累积漂移UWB10-30cm室内绝对定位动作捕捉mm级提供ground truth用于评估算法精度3.4 常见传感器组合平台传感器组合代表方案自动驾驶汽车多线LiDAR IMU GPS 相机Autoware, Apollo室内服务机器人2D/3D LiDAR IMUCartographer, FAST-LIO2无人机单目/双目相机 IMUVINS-Mono, PX4AR眼镜/手机单目/鱼眼相机 IMUARKit, ARCore手持扫描仪LiDAR IMU 相机FAST-LIVO, R2LIVE扫地机器人2D LiDAR 轮式里程计GMapping, Cartographer四足机器人LiDAR IMU 腿部里程计VILENS, Cerberus四、SLAM 系统的模块划分一个完整的 SLAM 系统一般包含以下模块传感器数据数据预处理去畸变/特征提取/时间同步前端里程计帧间运动估计后端优化全局一致性维护回环检测识别重访区域地图构建环境表示与更新输出: 位姿地图4.1 数据预处理不同传感器的预处理工作LiDAR运动补偿去畸变一帧扫描期间机器人在动需要校正降采样减少数据量同时保留几何信息去除无效点过近/过远/噪声点相机畸变校正鱼眼/广角镜头的畸变矫正特征提取角点、边缘、描述子直方图均衡化应对光照变化IMU坐标系对齐统一到body坐标系零偏补偿减去估计的bias时间同步与其他传感器时间对齐4.2 前端里程计前端解决的是相邻两帧之间我运动了多少即短时相对运动估计。视觉前端的两大流派方法代表原理优缺点特征点法ORB-SLAM提取特征点→描述子匹配→对极几何精度高、鲁棒计算量较大直接法/光流法DSO, VINS直接用像素灰度或光流做匹配快、适合纹理弱区域对光照敏感LiDAR前端方法代表原理ICP经典方法最近邻点匹配最小化距离点到面ICPFAST-LIO2利用局部平面约束收敛更快GICP—概率模型统一框架NDTAutoware正态分布体素匹配特征配准LOAM, LIO-SAM提取edge/planar特征后配准IMU里程计对角速度积分得到旋转变化对加速度二重积分得到位移单独使用会快速漂移秒级必须和其他传感器融合4.3 后端优化后端解决的是综合所有历史信息最优的完整轨迹是什么。两大流派方法原理优点缺点代表滤波递推更新当前状态边缘化历史快、实时性好无法修正历史、线性化误差累积FAST-LIO2(ESKF), MSCKF图优化所有位姿作为变量联合优化精度高、支持回环修正计算量随规模增长LIO-SAM, ORB-SLAM, VINS图优化的直觉理解把每个位姿想象成一个可以移动的节点传感器观测是节点之间的弹簧约束。优化就是找所有节点的位置使得弹簧总能量最小。回环检测相当于在远处两个节点之间加了一根新弹簧拉动整条轨迹修正。主流优化库GTSAM因子图框架增量优化(ISAM2)LIO-SAM使用g2o通用图优化ORB-SLAM使用Ceres Solver通用非线性最小二乘VINS-Mono使用4.4 回环检测当机器人重新回到之前去过的地方时识别出我来过这里提供一个全局约束消除累积漂移。方法分类类型方法原理基于外观DBoW2 (视觉词袋)将图像编码为词袋向量做相似度匹配基于结构ScanContext将3D点云编码为2D极坐标描述子基于位置距离搜索历史轨迹中找距离近但时间远的帧基于学习NetVLAD, PointNetVLAD深度学习提取全局描述子回环验证候选帧检出后通常需要几何验证ICP配准或PnP求解确认是真回环而非误匹配假阳性。4.5 地图表示地图类型表示方式优势用途稀疏特征地图3D特征点集合轻量、适合定位视觉重定位稠密点云地图大量3D点细节丰富三维重建、检测体素地图3D网格占据概率结构化、适合规划OctoMap2D栅格地图鸟瞰图黑白格直观、适合2D导航扫地机器人、AGVTSDF截断符号距离场适合融合多帧深度KinectFusion网格Mesh三角面片表面可渲染AR、仿真NeRF/3DGS神经辐射场/高斯泼溅照片级真实感渲染数字孪生、VR语义地图带类别标注的地图理解环境含义智能交互五、SLAM 技术分支详解5.1 视觉 SLAMVisual SLAM用相机作为主传感器的 SLAM。特征点法代表 — ORB-SLAM 系列提取 ORB 特征点 → 描述子匹配 → 对极几何求位姿三线程并行跟踪(Tracking) / 局部建图(LocalMapping) / 回环(LoopClosing)ORB-SLAM3 支持单目/双目/RGBD/鱼眼 IMU直接法代表 — DSODirect Sparse Odometry不提取特征直接用像素灰度值做匹配光度误差最小化优点纹理弱的区域也能工作缺点对光照变化敏感视觉惯性代表 — VINS-Mono/Fusion相机 IMU 紧耦合滑动窗口优化Ceres鲁棒初始化恢复尺度和重力方向是 VIOVisual-Inertial Odometry的标杆5.2 激光 SLAMLiDAR SLAM用 LiDAR 作为主传感器的 SLAM。2D 激光 SLAMGMapping粒子滤波 栅格地图Hector SLAM扫描匹配无需里程计Cartographersubmap branch-and-bound 回环用途扫地机器人、AGV、室内服务机器人3D 激光 SLAMLOAM2014开创 edge/planar 特征提取 两频率优化LeGO-LOAM2018轻量级改进加入地面分割LIO-SAM2020因子图 IMU预积分 回环 GPSFAST-LIO22022ikd-Tree iterated ESKF极致效率KISS-ICP2023极简点到点ICP开箱即用3D LiDAR SLAM 的演化路径LOAM(2014) → LeGO-LOAM(2018) → LIO-SAM(2020) [图优化路线] | └──→ FAST-LIO(2021) → FAST-LIO2(2022) [滤波路线] | └──→ FASTER-LIO(iVox) [更快数据结构]5.3 多传感器融合 SLAM融合多种传感器以互补优缺点融合方式优势代表LiDAR IMULiDAR提供精确空间约束IMU提供高频预测和去畸变FAST-LIO2, LIO-SAMCamera IMU相机提供丰富纹理信息IMU提供尺度和旋转VINS-Mono, ORB-SLAM3LiDAR Camera IMU最全面的环境感知R2LIVE, FAST-LIVO2LiDAR GPSGPS消除全局漂移LIO-SAM (GPS因子)融合方式分类松耦合各传感器独立出结果再融合。模块化但信息利用不充分。紧耦合原始测量级融合共享状态联合优化。精度高但实现复杂。现代高精度系统基本都是紧耦合。5.4 语义 SLAM在几何 SLAM 的基础上加入语义理解识别物体类别这是椅子、那是门剔除动态物体行人、车辆不应出现在地图中构建物体级地图不只是点云而是哪里有什么辅助回环检测看到同一个路标比几何匹配更可靠代表工作Kimera、DS-SLAM、DynaSLAM5.5 深度学习与 SLAM深度学习正在渗透 SLAM 的各个模块模块传统方法深度学习方法特征提取ORB, SIFTSuperPoint, R2D2特征匹配BF/FLANN暴力匹配SuperGlue, LoFTR深度估计双目视差/结构光MonoDepth, DPT位姿估计PnP/ICPPoseNet精度还不够回环检测DBoW2NetVLAD, CosPlace建图点云/MeshNeRF, 3D Gaussian Splatting动态物体几何一致性检测语义分割运动估计目前趋势传统几何方法仍是主干精度和可解释性更好深度学习作为强力模块嵌入特别是在特征/回环/建图方面。六、应用场景详解6.1 自动驾驶高精地图构建用采集车LiDARIMUGPS建立厘米级道路地图实时定位行驶中在高精地图中做点云配准定位挑战大规模城市级、动态环境车流人流、全天候6.2 室内服务机器人场景仓库AGV、配送机器人、清洁机器人典型方案2D LiDAR Cartographer 建栅格图 → AMCL 粒子滤波定位挑战动态环境人流、长期运行地图老化6.3 无人机场景室内巡检、航拍建图、自主飞行典型方案相机IMU (VIO)计算资源和重量受限挑战快速运动IMU必须、视觉退化仰视天花板无纹理6.4 AR/VR/MR需求手机/头显在空间中的6-DoF实时跟踪代表Apple ARKit、Google ARCore、Meta Quest SLAM特点必须极低延迟20ms、消费级硬件6.5 三维重建与数字孪生场景建筑BIM、文物扫描、工厂数字孪生方案LiDAR建图 纹理贴图 或 NeRF/3DGS高质量重建趋势从点云地图 → 照片级真实感渲染6.6 矿井/隧道巡检特点完全无GPS、环境重复性高退化严重方案LiDARIMU紧耦合 多模态退化检测挑战粉尘干扰LiDAR、狭长结构退化七、SLAM 的核心难题7.1 累积漂移前端每帧估计都有小误差时间越长越偏。像闭眼走路每步偏一点点走一百步就偏很远。应对回环检测 图优化检测到回到旧地方一次性修正整条轨迹GPS/UWB等绝对位置源定期校准更高精度的前端减小单步误差7.2 动态环境行人、车辆等运动物体会污染地图、干扰配准。应对基于一致性的动态点检测多帧不一致→动态语义分割识别动态类别人、车直接剔除鲁棒核函数降权异常观测7.3 退化场景某些环境缺乏足够约束退化类型现象影响的传感器长走廊/隧道前进方向无约束LiDAR空旷场地测不到东西LiDAR纯白墙无纹理特征相机黑暗环境看不见相机重复结构无法区分位置所有应对多传感器融合互补LiDAR走廊退化时IMU补偿相机无纹理时LiDAR补偿、退化检测与告警。7.4 计算效率嵌入式平台算力有限但SLAM需要实时。应对高效数据结构ikd-Tree, iVox滤波代替全量优化降采样减少数据量GPU加速/专用芯片7.5 大规模与长时间地图越来越大怎么办跑几个小时地图变化了怎么办应对地图分块管理子地图加载/卸载关键帧稀疏化不保留所有帧长期地图更新检测变化区域并更新7.6 鲁棒性实际环境千变万化雨雪雾、强光逆光、传感器故障、剧烈运动…应对多传感器冗余异常检测与降级策略鲁棒统计方法M-estimator、RANSAC八、SLAM 与相关领域的关系SLAM定位/导航三维重建自动驾驶机器人自主移动AR/VR/MR状态估计理论计算机视觉数值优化信号处理深度学习计算机视觉视觉SLAM大量依赖CV技术特征、光流、深度估计状态估计/控制论卡尔曼滤波、图优化的理论基础机器人学SLAM是自主导航的基础模块数值优化非线性最小二乘、流形优化深度学习越来越多模块被学习方法增强九、发展趋势9.1 与深度学习的融合端到端 SLAM从图像直接出位姿但目前精度不足学习增强的传统 SLAM学习做特征/匹配/回环几何仍用传统方法神经隐式建图NeRF/3DGS 替代点云地图9.2 多机协作 SLAM多个机器人同时建图共享和融合各自的地图挑战通信带宽有限、相对位姿估计、地图合并9.3 语义化与场景理解不只是几何地图还要理解这是什么、有什么意义物体级SLAM地图中的元素是桌子门而非一堆点为机器人决策提供更高层次信息9.4 长期自主运行环境会变化施工、季节、家具搬动地图要能更新长期运行的稳定性内存泄漏、数值精度、地图膨胀终身学习从经验中改进自身9.5 新型传感器4D毫米波雷达穿透雾雨雪成本低事件相机超高动态范围微秒级时间分辨率固态LiDAR阵列多个小型固态LiDAR拼接全视角十、学习路线建议阶段一建立感性认识1-2周跑通一个开源 SLAM demo推荐 FAST-LIO2代码最精简用 rviz 看点云地图生成的过程跑不同数据集感受不同环境的效果不需要看代码先知道这东西能干嘛阶段二补数学基础2-4周坐标系变换与齐次坐标旋转表示旋转矩阵、四元数、轴角最小二乘与非线性优化基础概率论基础高斯分布、贝叶斯推荐高翔《视觉SLAM十四讲》前8章阶段三精读一个系统4-8周选一个系统看源码推荐FAST-LIO2代码量最小、结构最清晰对照论文理解每个模块修改参数看效果变化阶段四对比不同方案4周对比滤波vs图优化FAST-LIO2 vs LIO-SAM对比视觉vs激光VINS-Mono vs FAST-LIO2理解各自的取舍和适用场景阶段五工程实践持续换自己的传感器跑处理实际问题标定、时间同步、异常数据根据场景需求改算法加回环、加GPS、处理退化推荐资源类型资源适合阶段入门书高翔《视觉SLAM十四讲》阶段二进阶书Barfoot《State Estimation for Robotics》阶段三视频Cyrill Stachniss SLAM课程 (YouTube)阶段二代码FAST-LIO2 / LIO-SAM / VINS-Mono阶段三论文各算法的原始论文阶段三-四社区知乎SLAM话题、泡泡机器人、古月居全程十一、常见误解澄清“SLAM就是建图”不是。SLAM 的重点是定位“我在哪”建图是实现定位的手段。很多应用中地图建完后主要用定位功能。“有了GPS就不需要SLAM”GPS室内不可用、城市中精度差、频率低(10Hz)。即使室外有GPS也通常和SLAM融合使用GPS修正漂移SLAM提供高频高精度。“LiDAR SLAM比视觉SLAM好”各有所长。LiDAR精度高不怕光照但贵视觉便宜信息丰富但怕光照和无纹理。实际趋势是融合使用。“深度学习会取代传统SLAM”短期内不会。端到端学习方法精度和泛化能力不足。当前趋势是传统几何方法为主干深度学习增强特定模块特征提取、回环检测、建图。“SLAM问题已经解决了”实验室demo层面基本解决但工程落地仍有大量挑战动态环境鲁棒性、极端天气、长期运行稳定性、大规模地图管理、计算效率等。这也是为什么SLAM算法工程师仍然大量需求。延伸阅读入门高翔《视觉SLAM十四讲》综述论文Cadena C, et al. “Past, Present, and Future of Simultaneous Localization and Mapping.” IEEE T-RO, 2016.视觉SLAM综述Kazerouni I, et al. “A Survey of State-of-the-Art on Visual SLAM.” Expert Systems with Applications, 2022.LiDAR SLAM综述Zhang J, et al. “A Survey on LiDAR-based SLAM.” Robotics and Autonomous Systems, 2023.本系列后续第1-12篇逐步深入各个具体算法和源码实现
SLAM 建图与定位 — 领域全景入门
发布时间:2026/6/12 9:13:16
本文面向 SLAM 领域的初学者系统介绍这个领域的发展历程、核心问题、技术分支、主流算法、应用场景和发展趋势。读完之后你会对整个 SLAM 领域有一个完整的认知框架。一、SLAM 是什么1.1 定义SLAM Simultaneous Localization and Mapping同时定位与建图白话机器人到了一个陌生环境一边走一边干两件事——搞清楚我在哪和周围啥样。这两件事互相依赖要知道自己在哪需要参照物地图要建地图需要知道每次观测时自己站在哪里。SLAM 就是同时解决这个问题。1.2 为什么重要GPS 能解决室外定位但以下场景 GPS 不可用或精度不足室内商场、仓库、医院——信号被墙遮挡地下车库、隧道、矿井——完全无信号城市峡谷高楼间——多径反射导致跳变高精度要求自动驾驶要求厘米级GPS只有米级AR/VR需要毫米级跟踪手机/头显的6自由度位姿凡是这些场景都需要 SLAM 或基于 SLAM 思想的技术。1.3 SLAM 的历史脉络年代里程碑意义1986Smith, Self Cheeseman 提出SLAM问题首次形式化定义1990s基于EKF的SLAM第一代解法2D、小环境2000sFastSLAM粒子滤波、图优化SLAM规模化、精度提升2007MonoSLAM首个实时单目SLAM2014LOAM、LSD-SLAM3D激光里程计、大规模直接法视觉2015ORB-SLAM视觉SLAM的工程标杆2016CartographerGoogle开源工业级2D/3D SLAM2018VINS-Mono视觉惯性融合的标杆2020LIO-SAM因子图框架的LiDAR-IMU融合2022FAST-LIO2极致高效的滤波式LiDAR-IMU融合2023Neural SLAM、3DGS-SLAM神经隐式表达、高斯泼溅建图二、SLAM 解决的核心问题2.1 状态估计SLAM 的本质是一个状态估计问题。待估计的状态包括位姿Pose6自由度——3个平移(x,y,z) 3个旋转(roll,pitch,yaw)速度线速度和角速度融合IMU时需要传感器偏置IMU的零偏随时间漂移需要在线估计地图环境的某种表示点云/特征点/栅格/隐式场2.2 定位 vs 建图 vs SLAM任务输入输出场景纯定位传感器数据 已有地图当前位姿地图已建好日常使用纯建图传感器数据 已知轨迹环境地图有外部定位源如动捕SLAM传感器数据无先验位姿 地图首次到达陌生环境实际工程中的典型流程第一次到场景跑 SLAM 建图 → 保存地图 → 之后每次只做定位更快更稳定。2.3 定位的两层含义里程计Odometry相对定位估计相邻时刻的运动增量。快速但会累积漂移。全局定位Global Localization在已有地图中确定绝对位置。解决绑架问题突然被放到未知位置。三、传感器体系3.1 外部感知传感器传感器输出频率精度优势劣势单目相机2D图像30-60Hz像素级便宜、信息丰富纹理颜色无深度、怕光照变化、无绝对尺度双目相机图像视差深度30Hz近距cm级有深度、被动感知基线限制测量范围、计算量大RGBD相机图像深度图30Hzmm级(近距)直接获得深度室外/远距失效、易受阳光干扰机械式LiDAR3D点云10-20Hzcm级精度高、不受光照影响、测距远贵、有运动畸变、无颜色固态LiDAR3D点云(非重复扫描)10Hzcm级便宜(相对机械)、无旋转部件可靠视角小、点云分布不规则2D LiDAR平面扫描线10-40Hzmm级便宜可靠只有2D信息事件相机像素级亮度变化事件μs级像素级超高动态范围、无运动模糊数据处理方式完全不同3.2 内部感知传感器传感器输出频率作用IMU惯性测量单元角速度线加速度200-1000Hz高频运动预测、辅助去畸变、提供重力方向轮式里程计线速度/角速度50-200Hz地面机器人的平面运动约束气压计海拔高度10-50Hz无人机高度约束磁力计航向角50-100Hz绝对航向参考但容易受干扰3.3 外部参考传感器传感器精度作用GPS/GNSS2-5m (单点), 1-2cm (RTK)提供全局绝对位置消除累积漂移UWB10-30cm室内绝对定位动作捕捉mm级提供ground truth用于评估算法精度3.4 常见传感器组合平台传感器组合代表方案自动驾驶汽车多线LiDAR IMU GPS 相机Autoware, Apollo室内服务机器人2D/3D LiDAR IMUCartographer, FAST-LIO2无人机单目/双目相机 IMUVINS-Mono, PX4AR眼镜/手机单目/鱼眼相机 IMUARKit, ARCore手持扫描仪LiDAR IMU 相机FAST-LIVO, R2LIVE扫地机器人2D LiDAR 轮式里程计GMapping, Cartographer四足机器人LiDAR IMU 腿部里程计VILENS, Cerberus四、SLAM 系统的模块划分一个完整的 SLAM 系统一般包含以下模块传感器数据数据预处理去畸变/特征提取/时间同步前端里程计帧间运动估计后端优化全局一致性维护回环检测识别重访区域地图构建环境表示与更新输出: 位姿地图4.1 数据预处理不同传感器的预处理工作LiDAR运动补偿去畸变一帧扫描期间机器人在动需要校正降采样减少数据量同时保留几何信息去除无效点过近/过远/噪声点相机畸变校正鱼眼/广角镜头的畸变矫正特征提取角点、边缘、描述子直方图均衡化应对光照变化IMU坐标系对齐统一到body坐标系零偏补偿减去估计的bias时间同步与其他传感器时间对齐4.2 前端里程计前端解决的是相邻两帧之间我运动了多少即短时相对运动估计。视觉前端的两大流派方法代表原理优缺点特征点法ORB-SLAM提取特征点→描述子匹配→对极几何精度高、鲁棒计算量较大直接法/光流法DSO, VINS直接用像素灰度或光流做匹配快、适合纹理弱区域对光照敏感LiDAR前端方法代表原理ICP经典方法最近邻点匹配最小化距离点到面ICPFAST-LIO2利用局部平面约束收敛更快GICP—概率模型统一框架NDTAutoware正态分布体素匹配特征配准LOAM, LIO-SAM提取edge/planar特征后配准IMU里程计对角速度积分得到旋转变化对加速度二重积分得到位移单独使用会快速漂移秒级必须和其他传感器融合4.3 后端优化后端解决的是综合所有历史信息最优的完整轨迹是什么。两大流派方法原理优点缺点代表滤波递推更新当前状态边缘化历史快、实时性好无法修正历史、线性化误差累积FAST-LIO2(ESKF), MSCKF图优化所有位姿作为变量联合优化精度高、支持回环修正计算量随规模增长LIO-SAM, ORB-SLAM, VINS图优化的直觉理解把每个位姿想象成一个可以移动的节点传感器观测是节点之间的弹簧约束。优化就是找所有节点的位置使得弹簧总能量最小。回环检测相当于在远处两个节点之间加了一根新弹簧拉动整条轨迹修正。主流优化库GTSAM因子图框架增量优化(ISAM2)LIO-SAM使用g2o通用图优化ORB-SLAM使用Ceres Solver通用非线性最小二乘VINS-Mono使用4.4 回环检测当机器人重新回到之前去过的地方时识别出我来过这里提供一个全局约束消除累积漂移。方法分类类型方法原理基于外观DBoW2 (视觉词袋)将图像编码为词袋向量做相似度匹配基于结构ScanContext将3D点云编码为2D极坐标描述子基于位置距离搜索历史轨迹中找距离近但时间远的帧基于学习NetVLAD, PointNetVLAD深度学习提取全局描述子回环验证候选帧检出后通常需要几何验证ICP配准或PnP求解确认是真回环而非误匹配假阳性。4.5 地图表示地图类型表示方式优势用途稀疏特征地图3D特征点集合轻量、适合定位视觉重定位稠密点云地图大量3D点细节丰富三维重建、检测体素地图3D网格占据概率结构化、适合规划OctoMap2D栅格地图鸟瞰图黑白格直观、适合2D导航扫地机器人、AGVTSDF截断符号距离场适合融合多帧深度KinectFusion网格Mesh三角面片表面可渲染AR、仿真NeRF/3DGS神经辐射场/高斯泼溅照片级真实感渲染数字孪生、VR语义地图带类别标注的地图理解环境含义智能交互五、SLAM 技术分支详解5.1 视觉 SLAMVisual SLAM用相机作为主传感器的 SLAM。特征点法代表 — ORB-SLAM 系列提取 ORB 特征点 → 描述子匹配 → 对极几何求位姿三线程并行跟踪(Tracking) / 局部建图(LocalMapping) / 回环(LoopClosing)ORB-SLAM3 支持单目/双目/RGBD/鱼眼 IMU直接法代表 — DSODirect Sparse Odometry不提取特征直接用像素灰度值做匹配光度误差最小化优点纹理弱的区域也能工作缺点对光照变化敏感视觉惯性代表 — VINS-Mono/Fusion相机 IMU 紧耦合滑动窗口优化Ceres鲁棒初始化恢复尺度和重力方向是 VIOVisual-Inertial Odometry的标杆5.2 激光 SLAMLiDAR SLAM用 LiDAR 作为主传感器的 SLAM。2D 激光 SLAMGMapping粒子滤波 栅格地图Hector SLAM扫描匹配无需里程计Cartographersubmap branch-and-bound 回环用途扫地机器人、AGV、室内服务机器人3D 激光 SLAMLOAM2014开创 edge/planar 特征提取 两频率优化LeGO-LOAM2018轻量级改进加入地面分割LIO-SAM2020因子图 IMU预积分 回环 GPSFAST-LIO22022ikd-Tree iterated ESKF极致效率KISS-ICP2023极简点到点ICP开箱即用3D LiDAR SLAM 的演化路径LOAM(2014) → LeGO-LOAM(2018) → LIO-SAM(2020) [图优化路线] | └──→ FAST-LIO(2021) → FAST-LIO2(2022) [滤波路线] | └──→ FASTER-LIO(iVox) [更快数据结构]5.3 多传感器融合 SLAM融合多种传感器以互补优缺点融合方式优势代表LiDAR IMULiDAR提供精确空间约束IMU提供高频预测和去畸变FAST-LIO2, LIO-SAMCamera IMU相机提供丰富纹理信息IMU提供尺度和旋转VINS-Mono, ORB-SLAM3LiDAR Camera IMU最全面的环境感知R2LIVE, FAST-LIVO2LiDAR GPSGPS消除全局漂移LIO-SAM (GPS因子)融合方式分类松耦合各传感器独立出结果再融合。模块化但信息利用不充分。紧耦合原始测量级融合共享状态联合优化。精度高但实现复杂。现代高精度系统基本都是紧耦合。5.4 语义 SLAM在几何 SLAM 的基础上加入语义理解识别物体类别这是椅子、那是门剔除动态物体行人、车辆不应出现在地图中构建物体级地图不只是点云而是哪里有什么辅助回环检测看到同一个路标比几何匹配更可靠代表工作Kimera、DS-SLAM、DynaSLAM5.5 深度学习与 SLAM深度学习正在渗透 SLAM 的各个模块模块传统方法深度学习方法特征提取ORB, SIFTSuperPoint, R2D2特征匹配BF/FLANN暴力匹配SuperGlue, LoFTR深度估计双目视差/结构光MonoDepth, DPT位姿估计PnP/ICPPoseNet精度还不够回环检测DBoW2NetVLAD, CosPlace建图点云/MeshNeRF, 3D Gaussian Splatting动态物体几何一致性检测语义分割运动估计目前趋势传统几何方法仍是主干精度和可解释性更好深度学习作为强力模块嵌入特别是在特征/回环/建图方面。六、应用场景详解6.1 自动驾驶高精地图构建用采集车LiDARIMUGPS建立厘米级道路地图实时定位行驶中在高精地图中做点云配准定位挑战大规模城市级、动态环境车流人流、全天候6.2 室内服务机器人场景仓库AGV、配送机器人、清洁机器人典型方案2D LiDAR Cartographer 建栅格图 → AMCL 粒子滤波定位挑战动态环境人流、长期运行地图老化6.3 无人机场景室内巡检、航拍建图、自主飞行典型方案相机IMU (VIO)计算资源和重量受限挑战快速运动IMU必须、视觉退化仰视天花板无纹理6.4 AR/VR/MR需求手机/头显在空间中的6-DoF实时跟踪代表Apple ARKit、Google ARCore、Meta Quest SLAM特点必须极低延迟20ms、消费级硬件6.5 三维重建与数字孪生场景建筑BIM、文物扫描、工厂数字孪生方案LiDAR建图 纹理贴图 或 NeRF/3DGS高质量重建趋势从点云地图 → 照片级真实感渲染6.6 矿井/隧道巡检特点完全无GPS、环境重复性高退化严重方案LiDARIMU紧耦合 多模态退化检测挑战粉尘干扰LiDAR、狭长结构退化七、SLAM 的核心难题7.1 累积漂移前端每帧估计都有小误差时间越长越偏。像闭眼走路每步偏一点点走一百步就偏很远。应对回环检测 图优化检测到回到旧地方一次性修正整条轨迹GPS/UWB等绝对位置源定期校准更高精度的前端减小单步误差7.2 动态环境行人、车辆等运动物体会污染地图、干扰配准。应对基于一致性的动态点检测多帧不一致→动态语义分割识别动态类别人、车直接剔除鲁棒核函数降权异常观测7.3 退化场景某些环境缺乏足够约束退化类型现象影响的传感器长走廊/隧道前进方向无约束LiDAR空旷场地测不到东西LiDAR纯白墙无纹理特征相机黑暗环境看不见相机重复结构无法区分位置所有应对多传感器融合互补LiDAR走廊退化时IMU补偿相机无纹理时LiDAR补偿、退化检测与告警。7.4 计算效率嵌入式平台算力有限但SLAM需要实时。应对高效数据结构ikd-Tree, iVox滤波代替全量优化降采样减少数据量GPU加速/专用芯片7.5 大规模与长时间地图越来越大怎么办跑几个小时地图变化了怎么办应对地图分块管理子地图加载/卸载关键帧稀疏化不保留所有帧长期地图更新检测变化区域并更新7.6 鲁棒性实际环境千变万化雨雪雾、强光逆光、传感器故障、剧烈运动…应对多传感器冗余异常检测与降级策略鲁棒统计方法M-estimator、RANSAC八、SLAM 与相关领域的关系SLAM定位/导航三维重建自动驾驶机器人自主移动AR/VR/MR状态估计理论计算机视觉数值优化信号处理深度学习计算机视觉视觉SLAM大量依赖CV技术特征、光流、深度估计状态估计/控制论卡尔曼滤波、图优化的理论基础机器人学SLAM是自主导航的基础模块数值优化非线性最小二乘、流形优化深度学习越来越多模块被学习方法增强九、发展趋势9.1 与深度学习的融合端到端 SLAM从图像直接出位姿但目前精度不足学习增强的传统 SLAM学习做特征/匹配/回环几何仍用传统方法神经隐式建图NeRF/3DGS 替代点云地图9.2 多机协作 SLAM多个机器人同时建图共享和融合各自的地图挑战通信带宽有限、相对位姿估计、地图合并9.3 语义化与场景理解不只是几何地图还要理解这是什么、有什么意义物体级SLAM地图中的元素是桌子门而非一堆点为机器人决策提供更高层次信息9.4 长期自主运行环境会变化施工、季节、家具搬动地图要能更新长期运行的稳定性内存泄漏、数值精度、地图膨胀终身学习从经验中改进自身9.5 新型传感器4D毫米波雷达穿透雾雨雪成本低事件相机超高动态范围微秒级时间分辨率固态LiDAR阵列多个小型固态LiDAR拼接全视角十、学习路线建议阶段一建立感性认识1-2周跑通一个开源 SLAM demo推荐 FAST-LIO2代码最精简用 rviz 看点云地图生成的过程跑不同数据集感受不同环境的效果不需要看代码先知道这东西能干嘛阶段二补数学基础2-4周坐标系变换与齐次坐标旋转表示旋转矩阵、四元数、轴角最小二乘与非线性优化基础概率论基础高斯分布、贝叶斯推荐高翔《视觉SLAM十四讲》前8章阶段三精读一个系统4-8周选一个系统看源码推荐FAST-LIO2代码量最小、结构最清晰对照论文理解每个模块修改参数看效果变化阶段四对比不同方案4周对比滤波vs图优化FAST-LIO2 vs LIO-SAM对比视觉vs激光VINS-Mono vs FAST-LIO2理解各自的取舍和适用场景阶段五工程实践持续换自己的传感器跑处理实际问题标定、时间同步、异常数据根据场景需求改算法加回环、加GPS、处理退化推荐资源类型资源适合阶段入门书高翔《视觉SLAM十四讲》阶段二进阶书Barfoot《State Estimation for Robotics》阶段三视频Cyrill Stachniss SLAM课程 (YouTube)阶段二代码FAST-LIO2 / LIO-SAM / VINS-Mono阶段三论文各算法的原始论文阶段三-四社区知乎SLAM话题、泡泡机器人、古月居全程十一、常见误解澄清“SLAM就是建图”不是。SLAM 的重点是定位“我在哪”建图是实现定位的手段。很多应用中地图建完后主要用定位功能。“有了GPS就不需要SLAM”GPS室内不可用、城市中精度差、频率低(10Hz)。即使室外有GPS也通常和SLAM融合使用GPS修正漂移SLAM提供高频高精度。“LiDAR SLAM比视觉SLAM好”各有所长。LiDAR精度高不怕光照但贵视觉便宜信息丰富但怕光照和无纹理。实际趋势是融合使用。“深度学习会取代传统SLAM”短期内不会。端到端学习方法精度和泛化能力不足。当前趋势是传统几何方法为主干深度学习增强特定模块特征提取、回环检测、建图。“SLAM问题已经解决了”实验室demo层面基本解决但工程落地仍有大量挑战动态环境鲁棒性、极端天气、长期运行稳定性、大规模地图管理、计算效率等。这也是为什么SLAM算法工程师仍然大量需求。延伸阅读入门高翔《视觉SLAM十四讲》综述论文Cadena C, et al. “Past, Present, and Future of Simultaneous Localization and Mapping.” IEEE T-RO, 2016.视觉SLAM综述Kazerouni I, et al. “A Survey of State-of-the-Art on Visual SLAM.” Expert Systems with Applications, 2022.LiDAR SLAM综述Zhang J, et al. “A Survey on LiDAR-based SLAM.” Robotics and Autonomous Systems, 2023.本系列后续第1-12篇逐步深入各个具体算法和源码实现