🗺️ 视觉 SLAM 与状态估计
从"我在哪、周围长什么样"讲起:拆解经典 SLAM 流水线四大模块,对比五种传感器,读懂 ORB-SLAM3 / VINS / LIO-SAM / RTAB-Map,并落到人形机器人的腿式里程计融合与漂移修正
SLAM
位姿估计
视觉惯性里程计
回环检测
腿式里程计
🎯 本页学习目标
1. 能用一句话说出 SLAM 解决什么问题,并解释"位姿"的数学含义(位置 + 姿态,SE(3),6 自由度)
2. 能对比单目 / 双目 / RGB-D / 3D LiDAR / IMU 五类传感器的成本、精度与对人形的适用性
3. 能画出经典 SLAM 流水线的四个模块(前端里程计、后端优化、回环检测、建图),并说出每个模块"解决什么问题 + 一句话原理"
4. 能说出 ORB-SLAM3、VINS-Fusion、LIO-SAM、RTAB-Map 各自的传感器配置与适用场景,并列举 2024~2025 年 NeRF / 3D 高斯泼溅、语义 SLAM 两大趋势
5. 能解释人形机器人 SLAM 的三大难点,以及腿式里程计、脚底接触约束如何参与融合与漂移修正
建议用时: 约 40 分钟
1 什么是 SLAM:同时定位与建图
SLAM(Simultaneous Localization and Mapping,同时定位与建图) 回答两个互相纠缠的问题:① 我在哪里? (定位——估计机器人自身的位姿)② 周围环境长什么样? (建图——建立环境的几何表示)。这两个问题互为前提:定位需要一张地图作为参照,而建图又必须知道相机在每个时刻的位置。正因为这种"鸡生蛋"关系,SLAM 通常被建模为一个联合估计 问题:同时优化"机器人位姿序列"和"地图中的路标/结构",让两者相互约束、一起收敛。
先搞懂"位姿":位置 + 姿态
机器人在空间中"在哪、朝哪看",不能只用一个坐标描述。一个完整的位姿(Pose) 包含两部分:
位置(Translation): 三维坐标 t = (x, y, z) ,描述相对于世界原点的位移;
姿态(Orientation): 三维旋转 R ∈ SO(3) ,描述机体的朝向(翻滚 roll、俯仰 pitch、偏航 yaw);
两者合起来构成 SE(3) (特殊欧氏群),通常写成 4×4 齐次变换矩阵 T = [R t; 0 1] ,共 6 个自由度(DOF) :3 个平移 + 3 个旋转。
SLAM 输出的核心就是一条位姿轨迹 (每一时刻一个 T )加上一张地图 。理解了"位姿 = SE(3) 上的 6 自由度量",后面读任何 SLAM 论文都不会被符号吓住。
💡 状态估计与 SLAM 的关系: 状态估计是更大的课题——用传感器观测去推断机器人内部状态(位姿、速度、关节角度、IMU 偏差等)。SLAM 是状态估计在"同时需要地图"场景下的特例;而像 腿式里程计、卡尔曼滤波 这类只估计位姿/速度、不需要地图的方法,属于纯状态估计。本页以 SLAM 为主线,但会反复用到"估计-观测-优化"这套状态估计思想。
人形机器人为什么需要 SLAM
室内自主导航: 人形机器人最终要在家庭、厂房、医院里"从 A 点走到 B 点"。导航栈需要一张地图做全局规划、一个定位做局部控制——两者都来自 SLAM。没有它,机器人只能"瞎走"或完全靠人工遥控。
回环消除漂移: 任何里程计(编码器、视觉、惯性)都会累积误差——走 10 米偏 1 厘米,走 1 公里就偏 1 米。SLAM 的回环检测 让机器人"认出自己回到过的地方",一次性把累积漂移拉回来。
与 VLA / 导航结合: 上一页(04-05)的 VLA 大模型负责"理解语义、拆解任务"——"去厨房把红色杯子拿过来";SLAM 负责"几何状态"——"厨房在哪、怎么走过去、杯子在哪个位姿"。VLA 给方向,SLAM 给坐标,导航栈(见 04-03 ROS2 软件栈)负责路径执行。三层各司其职,缺一不可。
全身协调的参照系: 人形机器人的手眼协调、抓取、上下楼梯,都需要"头部相机看到的世界"与"躯干、手臂的运动学"对齐到同一个坐标系——这正是 SLAM 提供的世界坐标系 。
2 传感器对比:没有"全能冠军"
SLAM 吃什么数据,取决于装什么传感器。下面是人形机器人场景下五类主流传感器的对比。记住一条工程铁律:没有一种传感器在所有维度上最优 ——成本、精度、鲁棒性三者不可能同时拉满,所以实际系统几乎都是多传感器融合 。
传感器 测量什么 参考成本(人民币量级) 精度 / 优点 鲁棒性短板 人形适用性
单目相机
灰度/彩色图像
百元~千元
便宜、轻、信息丰富(可做语义);可运行单目 SLAM
尺度模糊 (无法直接测距)、依赖纹理与光照、需运动初始化
常作辅助视觉,与 IMU 组成单目视觉惯性;纯单目较少作为主定位
双目相机
左右两路图像 → 视差测距
约 ¥3000~6000
被动测距恢复真实尺度 ;室内外光照适应性好
依赖基线长度与标定,弱纹理(白墙)视差失效,中远距离精度下降
头部/躯干常用,配合 IMU 做视觉惯性里程计(VINS 类)
RGB-D 相机
彩色图 + 逐像素深度(ToF/散斑)
约 ¥1000~6000
直接深度、稠密、近距离重建质量高,SLAM 最省心
主动光怕强阳光 与黑色/反光表面;量程短(通常 0.2~10 m)
室内人形首选 :头部装 RealSense D435 / Femto Bolt,配合 RTAB-Map 即可入门
3D LiDAR
激光点云(距离+角度)
数千~数万元
远距离、高精度、不依赖环境光照,点云天然适合建图
贵、重、功耗高;对镜面/玻璃/雨雾敏感;纯几何无颜色语义
重载/室外场景与科研平台(如 LIO-SAM 系统);头部安装负担大
IMU(惯性测量单元)
三轴角速度 + 三轴加速度
约 ¥10~500
极便宜、高频 (数百~1 kHz)、短时非常准,提供重力方向
长时间必然漂移 (积分两次得位移,误差爆炸);无法单独定位
任何系统标配 :视觉/LiDAR 帧间的高频"桥梁",跌倒检测、姿态估计靠它
注:成本为 2024~2025 年公开渠道量级,随渠道与采购量浮动,仅用于建立"成本感"。
三条选型直觉
尺度问题决定"能不能用单目": 单目没有深度信息,位姿与地图只能恢复到"相差一个比例因子"的程度(尺度模糊)。双目和 RGB-D 直接提供深度,尺度是真实的。人形机器人要抓取、要避障,尺度必须真实,所以主流是双目/RGB-D + IMU,或 LiDAR + IMU。
IMU 是"万金油",但单独没用: IMU 高频、便宜,能补足视觉在快速运动、短暂遮挡时的空白;但纯积分几分钟就飘。它必须与视觉/LiDAR 融合才能发挥价值——这正是"视觉惯性 / LiDAR 惯性"系统的由来。
时间同步与外参标定比传感器本身更烧钱: 多个传感器必须对齐到同一时间戳、同一个坐标系(相机-IMU 外参、相机-相机外参),否则融合出来的位姿比单传感器还差。业界常讲"标定决定系统下限"。
3 经典 SLAM 流水线:四大模块各司其职
无论系统叫 ORB-SLAM 还是 LIO-SAM,绝大多数现代 SLAM 都可以拆成下面四个模块。先记住总图,再逐个击破:
[① 前端里程计] 相邻帧特征匹配 → 增量位姿(短时,快但会漂)
│
▼
[② 后端优化] 因子图/图优化 → 全局一致性(长时,慢但准)
│
▼
[③ 回环检测] 词袋 DBoW2 → "我又回来了" → 全局约束
│
▼
[④ 建图] 点云 / 栅格 / TSDF → 地图表示
点击下方按钮,逐模块查看"解决什么问题 + 一句话原理":
① 前端里程计
② 后端优化
③ 回环检测
④ 建图
① 前端里程计(Front-end Odometry)
解决什么问题: 相邻两帧(或很短一段时间)之间,"我移动了多少、转了多少"——提供增量位姿 和候选路标点 。
一句话原理: 在图像里提取/跟踪特征(ORB 特征点、光流),匹配相邻帧的对应点,用对极几何 (两帧三角化恢复 3D 点)或 PnP (已知 3D 点求相机位姿),通过最小化重投影误差 解出相对位姿;IMU 则用预积分提供高频先验。特点:快、局部准,但误差会随距离累积。
② 后端优化(Back-end Optimization)
解决什么问题: 把历史上所有 帧的约束放在一起调整,压制噪声、抹平漂移,得到全局一致的位姿轨迹和地图。
一句话原理: 把位姿与路标看成图的"节点",把观测(特征匹配、IMU 预积分、回环)看成"边",构造一个最小二乘 问题——最小化所有重投影误差 的平方和: min Σ ‖ π(T,P) − p ‖² ,再用 g2o / GTSAM(iSAM2) 等库做非线性优化(高斯牛顿 / 列文伯格-马夸尔特)。这就是"图优化 / 因子图"的本质。
③ 回环检测(Loop Closure)
解决什么问题: 认出"我现在又回到了以前到过的地方",从而给后端加一条全局约束 ,一次性修正长时间累积的漂移。
一句话原理: 把特征描述子聚类成"视觉单词",每帧图像表示成词频向量,用 TF-IDF 加权后与历史帧比对相似度(经典实现 DBoW2 );相似度超过阈值即判定回环,再把"当前位姿 ≈ 历史位姿"作为新约束丢进后端优化。这是 SLAM 系统"越走越不飘"的关键。
④ 建图(Mapping)
解决什么问题: 把"位姿 + 观测"累积成一张可供导航、避障、交互使用的地图 。
一句话原理: 按用途选表示:稀疏路标点云(ORB-SLAM 自带,轻量够定位)、2D 栅格地图 (occupancy grid,导航规划最爱)、稠密点云 / 八叉树 (OctoMap,可压缩可更新)、TSDF (截断符号距离场,体素融合,重建与机器人操作常用)。地图不是"照片",而是"供算法查询的空间数据结构"。
⚠️ 记住模块间的频率差异: 前端里程计工作在相机帧率(30~60 Hz);后端优化以关键帧为粒度(几个 Hz);回环检测与全局优化只在"疑似回环"时触发。设计任何 SLAM 系统都要先想清楚:哪部分是高频、哪部分是低频、谁给谁提供先验。
图优化 / 因子图:一个直觉
不用被"图"吓到。想象你把机器人每次观测都写成一张"小纸条":"帧 5 看到路标 A,像素在 (x,y)"、"帧 5 到帧 6 的 IMU 预积分是 ΔT"、"帧 5 和帧 200 是同一个地方(回环)"。这些纸条就是因子 。机器人的任务,是找到一组位姿和路标位置,让所有纸条上的预测 都尽量吻合观测 ——吻合不了的差距(残差)平方求和,最小化它。这就是"最小二乘 + 因子图优化",GTSAM 的 iSAM2 还能在新增观测时增量更新,不必每次从头算。
4 代表系统:从特征法到 2024~2025 新趋势
下面四个开源系统几乎覆盖了视觉/激光 SLAM 的主流流派,是入门必读的"活的教科书"。每个给出一行定位 + 官方仓库;版本与论文信息已经过联网核实(2024~2025)。
系统 流派 / 传感器 一句话定位 官方仓库
ORB-SLAM3
特征法;单目 / 双目 / RGB-D,可加 IMU
视觉 SLAM 的"黄金标准":多地图(Atlas)、视觉-惯性紧耦合、回环 + 重定位,论文 2021 年发表于 IEEE T-RO
UZ-SLAMLab/ORB_SLAM3
VINS-Mono / VINS-Fusion
视觉惯性;单目 + IMU(扩展支持双目 / GPS)
香港科技大学开源:单目视觉惯性状态估计的经典(2018 T-RO);VINS-Fusion 是多传感器融合版,滑窗优化 + 回环
VINS-Mono / VINS-Fusion
LIO-SAM
LiDAR 惯性;3D LiDAR + IMU 紧耦合
激光 SLAM 代表作(2020 IROS):因子图 + iSAM2 增量优化,ScanContext 回环;室外大场景鲁棒性强
TixiaoShan/LIO-SAM
RTAB-Map
RGB-D / 双目 / LiDAR 通吃
"实时基于外观的建图":增量词袋回环 + 图优化,输出稠密 3D 网格/八叉树,ROS / ROS2 集成最好,入门最友好
introlab/rtabmap
流派速览:特征法 vs 直接法 vs 激光
特征法(ORB-SLAM3、VINS): 先提取特征点(ORB = Oriented FAST + Rotated BRIEF),再匹配求解。鲁棒、成熟、光照变化适应性好;代价是忽略大量非特征信息。
直接法 / 半直接法(如 DSO、SVO): 不提取特征,直接最小化像素亮度误差,能用上所有像素,纹理弱时更稳;但对光照和相机模型敏感,工程上手门槛高。
激光流派(LIO-SAM 等 LOAM 家族): 对点云做特征提取(平面点、边缘点),配准求解位姿;精度高、不怕黑,但贵、重、无色彩。
融合趋势: 2020 年后主流系统几乎都是"视觉/LiDAR + IMU"的紧耦合 ——一起优化,而不是先各自算再拼(松耦合)。
2024~2025 新趋势:NeRF / 3DGS 与语义 SLAM
NeRF SLAM: 用神经辐射场把场景表示成可微函数(代表作 iMAP、NICE-SLAM、Point-SLAM),位姿与场景一起优化,能渲染任意视角;缺点是训练/推理慢,实时性差。
3D 高斯泼溅 SLAM(3DGS-SLAM): 2024 年最热方向(代表作 MonoGS (Gaussian Splatting SLAM)、SplaTAM 、Photo-SLAM):用显式 3D 高斯椭球表示场景,可实时 重建、实时渲染新视角,还能像点云一样被导航/操作算法直接消费——人形机器人做"高保真室内重建 + 定位"的主力候选。
语义 SLAM: 把 CLIP 等视觉-语言模型嵌入地图,支持开放词汇 查询——"带我去红色椅子旁边""找到蓝色杯子"。代表工作:ConceptGraphs(2024)、LEGO-SLAM(语言嵌入高斯 SLAM)、KM-ViPE(2025,视觉-语言-几何紧耦合的开放词汇语义 SLAM)。语义 SLAM 正是连接"VLA 的语义理解"与"SLAM 的几何地图"的那座桥。
综述速查: 《How NeRFs and 3D Gaussian Splatting are Reshaping SLAM: a Survey》(arXiv:2402.13255)系统梳理了这条新脉络,想追前沿从这篇入手。
💡 学习顺序建议: 先吃透 ORB-SLAM3(特征法、模块最清晰),再读 VINS(视觉惯性融合)、LIO-SAM(激光 + 因子图),最后看 3DGS 与语义 SLAM 论文。经典系统的思想不会过时,新趋势都是在经典四模块上加"更好的表示 / 更聪明的回环"。
5 人形机器人里的 SLAM:腿式里程计与漂移修正
把前面所有知识搬上双足,你会发现:人形机器人不是一个"装在轮子上的相机",而是一个会走、会跳、会俯身、脚底会打滑 的复杂载体。它在 SLAM 上有独特的优势(更多可用约束),也有独特的难题。
人形独有的"免费传感器":腿式里程计与接触约束
腿式里程计(Leg Odometry): 用每个关节的编码器读数 + 正运动学 ,推算躯干的位移与姿态变化。虽然足底打滑时会退化,但它高频、零成本 ,是视觉帧之间极好的先验——人形机器人相当于自带一套"编码器里程计"。
脚底接触约束(Contact Constraint): 当脚底压力传感器(或 IMU + 关节力矩)判定"这只脚完全踩实、没在滑移"时,就得到一个硬约束:支撑脚接触点在世界系中不动 。这条约束能像"临时锚点"一样钉住漂移——机器人站着不动时,位姿就不该动。
与视觉/惯性融合: 典型配置是"头部 RGB-D + 躯干 IMU + 关节编码器 + 脚底力/压力"。视觉提供全局参照,IMU 提供高频姿态,腿式里程计提供行走时的位移先验,接触约束抑制漂移——四路信息进因子图一起优化(代表开源工作:Cerberus2.0,视觉-惯性-腿 VIL 里程计;ETH 的 Pronto 多传感器状态估计)。
零速/零位移更新: 双足站立或单足支撑静止时,利用接触信息做"类似 ZUPT(零速更新)"的修正,把累积的位置漂移周期性归零。
三大难点:运动快、视野低、震动大
难点 具体表现 常用对策
运动快、机动性强
快速转头、起步急停、转身、下蹲,图像出现运动模糊,特征容易跟丢
IMU 高频补偿(视觉惯性紧耦合);提高相机帧率与快门速度;鲁棒特征(ORB 金字塔)
视野低、视角受限
相机装在头部约 1.2~1.7 m 高度,近处遮挡多、看到的地面占比大,远处特征稀疏
头眼 + 躯干/腰部多相机;结合腿式里程计补盲;建图时抬头观察策略
步态震动
落地冲击让 IMU 数据噪声大、图像抖动,角速度积分易出尖刺
IMU 滤波/去偏;接触时刻的冲击建模;视觉特征用运动补偿
⚠️ 不要照搬轮式/无人机的 SLAM 参数: 人形机器人的 IMU 噪声特性、相机高度、运动模式都与轮式平台差异巨大。直接套用 EuRoC 数据集的调参结果,往往一上真机就发散。建议先做"仿真(04-04 的 MuJoCo/Isaac)+ 录包回放",再上真机。
人形 SLAM 的独特价值
反过来看,双足也带来轮式机器人没有的信息:接触约束 和腿式里程计 让状态估计的短期精度更高;而人形机器人"要与人交互、要抓取",又让 SLAM 地图必须从"纯几何"走向"几何 + 语义 + 物体位姿"——这正是上一节语义 SLAM 趋势在人形场景落地的原因:机器人既要知道"我在哪",还要知道"红色杯子在哪、怎么够到它"。
6 入门实践路线:从"跑通"到"看懂"
SLAM 是典型的"纸上得来终觉浅"。建议按下面五步走,每一步都有明确产出;不要一上来就改源码,先建立"数据 → 前端 → 后端 → 地图"的体感。
1 环境准备 Ubuntu 20.04/22.04 + ROS1/ROS2 + OpenCV + Eigen + Pangolin;准备好一台 RealSense D435(或任意 RGB-D)与一张录好的 rosbag 数据集
2 先跑 RTAB-Map 官方仓库 introlab/rtabmap,一行命令 ros2 launch rtabmap_demos rtabmap_d435.launch.py;看回环检测如何"啪"地纠正轨迹
3 再跑 ORB-SLAM3 编译 UZ-SLAMLab/ORB_SLAM3(依赖 Eigen3/OpenCV/Pangolin/DBoW2),用 TUM 或 EuRoC 数据集跑单目/双目;对比"开回环"与"关回环"的轨迹误差
4 上视觉惯性:VINS-Fusion 港科大仓库,用 EuRoC 或自录"双目 + IMU"数据;体会 IMU 如何救回快速运动下的视觉丢失
5 进阶:激光与前沿 有条件上 3D LiDAR(Livox Mid-360)跑 LIO-SAM;再读 3DGS-SLAM(MonoGS)与语义 SLAM 论文,试着把地图从"点云"升级成"语义场景图"
💡 标定是绕不开的第一课: 跑 VINS/LIO 前,先做三件事:① IMU 内参标定(Allan 方差,工具 imu_utils);② 相机-IMU 外参标定(Kalibr);③ 相机/IMU 时间同步。跳过标定,系统精度直接腰斩——这是新手最容易踩的坑。
用 evo 量化"漂移有多严重"
判断 SLAM 系统好不好,不能靠眼睛看,要量化轨迹误差。装上 evo 工具,把估计轨迹与真值(动捕/VIO 真值)对齐,看 APE(绝对位姿误差) 和 RPE(相对位姿误差)。修改参数前后各跑一次,误差曲线会直观地告诉你"回环到底值多少"。
7 常见误区:别被名字骗了
❌ "SLAM 就是建图"
错。SLAM 的核心是同时 解决定位与建图,本质是位姿与地图的联合估计。地图只是副产品,而且不同任务要的地图完全不同(导航要栅格、重建要 TSDF、操作要语义)。
❌ "室内有 GPS,不需要 SLAM"
错。GPS 室内基本无信号,室外精度也在米级;而人形机器人操作、避障需要厘米级 局部定位与局部地图 。SLAM 与 GPS 是互补关系(VINS-Fusion 就支持"视觉惯性 + GPS"松/紧耦合)。
❌ "传感器越多越好"
错。未标定、不同步的多传感器是灾难——互相矛盾的数据会让优化发散。先做好时间同步与外参标定,再谈融合;宁缺毋滥。
❌ "跑通 demo 就等于会 SLAM"
错。demo 是"黑盒复现"。真正的能力是:知道漂移从哪来(前端?后端?回环?)、知道改哪个参数、能在真机失败时定位问题。建议用 evo 量化误差,把每个模块单独跑通一遍。
❌ "LiDAR SLAM 一定比视觉 SLAM 强"
错。室内白墙走廊、玻璃幕墙、镜面,激光点云同样退化;视觉便宜、自带颜色与语义,还能直接对接 VLA。工程上两者常做"视觉为主 + LiDAR 校验"的融合,而不是二选一。
8 本节自测
1. SLAM 中"位姿(Pose)"的数学描述是下列哪一项?
A. 只有三维位置 (x, y, z)
B. 只有三个姿态角(roll / pitch / yaw)
C. 位置 + 姿态,属于 SE(3),共 6 个自由度
D. 相机的内参矩阵 K
💡 解析:位姿 = 三维平移 t + 三维旋转 R,合起来是 SE(3) 上的 6 自由度量,通常写成 4×4 齐次变换矩阵。只给位置或只给姿态都无法完整描述机器人"在哪、朝哪看"。
2. 想做一台室内人形机器人的主定位传感器,下列哪个组合最"省心"且成本可控?
A. 纯单目相机(不配 IMU)
B. RGB-D 相机 + IMU
C. 只靠 IMU 积分
D. 只靠 GPS
💡 解析:RGB-D 直接给深度,室内量程内重建质量高;IMU 高频补足快速运动与遮挡。纯单目有尺度模糊,纯 IMU 必然漂移,GPS 室内不可用。这也是 RTAB-Map + RealSense 成为入门标配的原因。
3. 后端优化(图优化/因子图)在整个 SLAM 流水线中的作用是?
A. 提取 ORB 特征点并匹配相邻帧
B. 用词袋模型判断两帧是不是同一地点
C. 联合调整所有位姿与路标,最小化重投影误差,抑制漂移
D. 把点云体素化为 TSDF 地图
💡 解析:A 是前端里程计的职责;B 是回环检测的职责;D 是建图模块的职责。后端把全部历史约束放进最小二乘,统一优化得到全局一致的轨迹——这是"越走越准"的保证。
4. 相比轮式机器人,人形机器人 SLAM 的典型难点不包括哪一项?
A. 相机安装高度低,视野受限、近处遮挡多
B. 步态落地冲击造成 IMU 噪声大、图像抖动
C. 快速转头、急停转身导致运动模糊、特征丢失
D. 完全没有可用的腿式里程计与接触约束
💡 解析:A/B/C 都是真实难点。D 说反了:人形机器人恰恰拥有"免费"的腿式里程计(关节编码器 + 正运动学)和脚底接触约束,它们是抑制漂移的独特优势,代表工作如 Cerberus2.0、Pronto。
5. 回环检测(Loop Closure)能一次性消除累积漂移,其经典实现 DBoW2 的核心思想是?
A. 用对极几何匹配相邻帧特征点
B. 把特征描述子聚成「视觉单词」,用 TF-IDF 加权比对历史帧相似度
C. 直接对 IMU 角速度做两次积分
D. 把点云体素化成 TSDF 地图
💡 解析:回环检测把特征描述子聚类成视觉单词,每帧表示成词频向量,再用 TF-IDF 加权与历史帧比对相似度,超过阈值即判定「我又回到了这里」,给后端加一条全局约束(见 3 节③)。A 是前端里程计的对极几何,C 是 IMU 积分(只会漂),D 是建图模块的表示。
6. 关于视觉 SLAM 的「尺度」问题,下列说法正确的是?
A. 单目相机有尺度模糊,恢复的位姿与地图只能相差一个比例因子
B. 双目相机同样存在尺度模糊
C. RGB-D 相机无法提供真实尺度
D. 尺度问题只影响建图,不影响抓取与避障
💡 解析:单目没有深度,只能恢复到「相差一个比例因子」的尺度;双目靠视差、RGB-D 靠逐像素深度,都能直接提供真实尺度(见 2 节)。人形机器人要抓取避障,尺度必须真实,所以主流是双目/RGB-D + IMU 或 LiDAR + IMU。
7. 下列哪一项是本节第 7 节明确指出要破除的「错误认知」?
A. 室内 GPS 基本无信号,人形机器人操作避障需要厘米级定位
B. 传感器越多越好,可以先堆传感器再谈时间同步与外参标定
C. 跑通 demo 不等于真的会 SLAM
D. LiDAR SLAM 并非在所有场景都一定强于视觉 SLAM
💡 解析:B 正是要破除的误区——未标定、不同步的多传感器会让互相矛盾的数据使优化发散,应先做好时间同步与外参标定再谈融合,宁缺毋滥。A/C/D 都是本节第 7 节所强调的正确认知。
📌 本节要点速查: ①SLAM=同时定位与建图,输出 SE(3) 上的 6 自由度位姿轨迹+地图,本质是位姿×地图的联合估计;②传感器无「全能冠军」,室内人形首选 RGB-D+IMU,IMU 高频便宜但纯积分必漂;③四模块:前端里程计(短时增量)→后端优化(全局一致)→回环检测(消漂移)→建图(按需选表示);④人形靠腿式里程计+脚底接触约束抑制漂移,难点是运动快、视野低、震动大。
📌 本节小结: SLAM = 同时定位与建图,核心输出是 SE(3) 上的位姿轨迹与地图,本质是"位姿 × 地图"的联合估计;五种传感器各有所长,主流方案是"视觉/LiDAR + IMU"紧耦合;经典流水线四模块——前端里程计(短时增量)、后端优化(全局一致)、回环检测(消除累积漂移)、建图(按需选表示)——构成了 ORB-SLAM3、VINS、LIO-SAM、RTAB-Map 的共同骨架;2024~2025 年,3D 高斯泼溅 SLAM 与语义 SLAM 正在把"几何地图"升级为"可渲染、可理解"的场景表示;落到人形机器人,腿式里程计与脚底接触约束是抑制漂移的独特武器,而运动快、视野低、震动大是必须正视的三大难点。
🤔 思考题:
1. 单目 SLAM 有尺度模糊,双目和 RGB-D 没有——那给单目加 IMU 之后,尺度问题能被解决吗?为什么?(提示:IMU 的加速度积分含有重力,能提供绝对尺度)
2. 如果人形机器人被人抱起来、平移到了地图上的另一个位置,SLAM 系统靠什么"重新找到自己"?(提示:重定位 / 回环 / 全局定位)
3. 足底接触约束为什么能抑制漂移?想想"支撑脚在世界系中不动"这条约束,在因子图里对应什么"边"?
10 参考来源
以下链接均为论文 / 官方仓库 / 官方文档,已通过联网检索核实(检索时间:2026 年前后);若打不开请以论文编号搜索备用入口。
ORB-SLAM3 论文:Campos et al.,《ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM》,IEEE T-RO 2021,arXiv:2007.11898 ;官方仓库 UZ-SLAMLab/ORB_SLAM3
VINS-Mono 论文:Qin, Li, Shen,《VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator》,IEEE T-RO 2018;官方仓库 HKUST-Aerial-Robotics/VINS-Mono 与 VINS-Fusion
LIO-SAM 论文:Shan et al.,《LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping》,IROS 2020,arXiv:2007.00258 ;官方仓库 TixiaoShan/LIO-SAM
RTAB-Map:Labbé & Michaud,《RTAB-Map as an open-source lidar and visual SLAM library for large-scale and long-term online operation》,Journal of Field Robotics 2019;官方仓库 introlab/rtabmap 与 官方文档
NeRF / 3DGS 重塑 SLAM 综述:Tosi, Zhang et al.,《How NeRFs and 3D Gaussian Splatting are Reshaping SLAM: a Survey》,arXiv:2402.13255
语义 SLAM 综述:《Semantic SLAM: A comprehensive survey of methods and applications》,ScienceDirect(2025)
图优化库 g2o:RainerKuemmerle/g2o ;因子图库 GTSAM(iSAM2):borglab/gtsam ;词袋库 DBoW2:dorian3d/DBoW2
人形/足式机器人状态估计:Cerberus2.0(视觉-惯性-腿 VIL 里程计)ShuoYangRobotics/Cerberus2.0 ;ETH Pronto 多传感器状态估计 ori-drs/pronto ;Buchanan et al.,《Learning Inertial Odometry for Dynamic Legged Robot State Estimation》,CoRL 2021,论文页
轨迹误差评测工具 evo:MichaelGrupp/evo ;相机-IMU 标定 Kalibr:ethz-asl/kalibr