SLAM 与 VIO
为什么重要
SLAM 是最经典的"边感知边建模"系统:机器人一边建世界模型(地图),一边在其中定位自己。它是空间智能第一个完整闭环,也是检验前面所有模块(几何、估计、表示)的综合考场。
直观理解
SLAM 的经典分工:前端做实时里程计(特征跟踪/光流 → 帧间运动),后端做全局一致性优化(因子图),回环检测识别"回到老地方"以消除累积漂移。三个子系统对应前面三个模块的知识汇合。
核心思想
SLAM 问题的形式化:同时估计轨迹 与地图 ,给定观测 与控制 。两条技术路线沿用模块 06 的分野:滤波派(EKF-SLAM、MSCKF——把路标塞进状态向量,边际化历史)与优化派(因子图 + 关键帧 BA,iSAM2 增量求解)。现代系统(ORB-SLAM3、VINS、Kimera)全部是优化派主导 + 滤波思想的局部保留。
VIO(视觉惯性里程计) 是高频低延迟的状态估计骨干:IMU 提供帧间高频约束(预积分技术把两关键帧间的数百个 IMU 读数压缩成单个因子),视觉提供长期无漂移锚定与尺度。MSCKF(滤波派代表)用多状态约束避免维护地图;VINS-Mono/Kimera-VIO(优化派代表)在滑窗内联合优化位姿、速度与 IMU bias。可观测性分析(尺度、重力方向何时可恢复)是 VIO 特有的理论深度。
回环检测是对抗漂移的终极机制:VIO/里程计的误差随路径长度无限累积,唯有识别"我来过这里"才能把误差闭环清零——位置识别(place recognition,模块 08)因此是 SLAM 的记忆子系统。评估文化同样重要:EuRoC 数据集 + evo 工具 + ATE/RPE 指标是定量比较的系统标准。
关键概念
- 前端 / 后端:实时里程计 vs 全局优化。
- IMU 预积分:把高频惯性读数压成关键帧间的一个因子。
- 滤波 vs 优化:MSCKF vs 滑窗 BA 的路线之争。
- 回环检测:位置识别驱动的漂移清零机制。
- ATE / RPE:轨迹精度与相对运动误差的评估标准。
核心公式
VIO 滑窗优化目标:
其中 为 IMU 预积分残差, 为视觉重投影残差。
大学课程
| 课程 | Lecture | 链接 |
|---|---|---|
| MIT 16.485 VNAV | L20 Visual-Inertial Odometry、L23–L24 SLAM(factor graphs、marginalization)、Lab 9/9.5(ORB-SLAM3 vs Kimera-VIO 对比) | 课程主页 |
| ETH/UZH VAMR | L13 Visual-Inertial Fusion、L14 SLAM + mini-project(完整 VO) | 课程主页 |
论文
- Must Read:Mur-Artal, Montiel & Tardós (2015), ORB-SLAM: A Versatile and Accurate Monocular SLAM System(arXiv:1502.00956)。
- Recommended:Cadena et al. (2016), Past, Present, and Future of SLAM(arXiv:1606.05830);Qin, Li & Shen (2018), VINS-Mono(arXiv:1708.03852)。
- Optional:Mourikis & Roumeliotis (2007), MSCKF(ICRA,搜索论文名);Teed & Deng (2021), DROID-SLAM(arXiv:2108.10869)——学习化 SLAM 的代表。
动手实践
暂无专属 Lab。建议路径:先完成 Lab 1 建立滤波直觉,然后按 MIT VNAV Lab 9 的思路在 EuRoC 序列上跑 ORB-SLAM3 与 Kimera-VIO 的开源镜像并用 evo 评估。
自测
- 为什么 SLAM 必须做回环检测,而 VIO 可以不做?
- IMU 预积分解决了 什么计算问题?
- ATE 与 RPE 分别度量什么?
显示答案
- 里程计类方法(含 VIO)只维护局部窗口,误差随路径无限累积;SLAM 的目标是全局一致的地图,必须靠回环约束把"首尾相接"的信息注入优化,一次性摊销累积漂移。短时任务的纯里程计可以容忍无回环。
- 关键帧之间(如 100ms)有数百个 IMU 采样,若每个都建约束优化不可行。预积分把两段关键帧间所有 IMU 读数压成一个相对运动约束(位置/速度/旋转增量 + 协方差),且当 bias 估计更新时可高效修正,避免重复积分。
- ATE(绝对轨迹误差)度量估计轨迹与真值全局对齐后的位置偏差——全局一致性;RPE(相对位姿误差)度量固定时间窗内的局部位姿漂移——局部精度。一个系统可以 ATE 差而 RPE 好(无回环漂移)或反之(回环强行对齐但局部抖动)。
要点回顾
- SLAM = 前端里程计 + 后端因子图 + 回环检测,是几何/估计/表示的系统集成。
- VIO 用 IMU 预积分与视觉重投影残差在滑窗内融合两种互补传感器。
- 回环是漂移的解药;ATE/RPE + EuRoC 是定量评估的标准文化。
下一模块
模块 08:空间记忆——SLAM 记住几何,智能体还需要记住"我到过哪里"。