机器人SLAM类型:LiDAR、视觉与视觉惯性SLAM

同时定位和制图在构建或更新环境表示的同时,估算机器人的轨迹。这两种估计相互依赖:运动用于在地图中放置观测值,需要地图来纠正累积的运动误差。因此, SLAM 是一个估计问题,而不仅仅是绘制占用图像的方法。

LiDAR、视觉和视觉惯性 SLAM 在观测内容和失效方式上有所不同。距离扫描强调几何结构,相机利用图像外观和投影,视觉-惯性系统结合图像约束与高速惯性传播。轮里程计、深度、 GNSS或其他先验可以补充其中任何一种。

使用本指南与 机器人传感器融合指南机器人传感器概览一起使用。从校准轨迹和下游任务证据中选择系统,而非仅凭一张漂亮的地图截图。

SLAM同时估计位姿并构建地图

机器人从不确定的姿态开始,接收来自未知或部分已知的地标、表面或图像特征的观测。相对运动连接连续状态,而重复观测则将轨迹回溯到早期位置。优化或过滤则找到一组最符合这些约束的状态和映射变量。

必须定义规范自由度和参考系。局部地图可以在没有全球测量原点的情况下内部一致。尺度可在公制距离系统中观测,但不一定能从单一相机中单独观测,除非有额外信息。输出为度量、重力一致且全局参照的状态。

TurtleBot3 Burger 移动机器人,配备激光雷达轮编码器和车载计算机
移动 SLAM 平台结合了距离感测、车轮里程计和车载计算,每个平台都有自己的帧、时间戳和故障模式。来源:Kuscu0,维基共享资源。许可:CC BY-SA 4.0

前端将传感器数据转换为约束

SLAM前端检测图像特征、对齐扫描、估计视觉里程或将新观测与早期状态关联。它提供相对姿态或标志约束和不确定性。不良关联会产生后端可能无法修复的可靠错误边缘。

时间戳和外部校准影响所有约束。滚动快门、运动失真、车轮打滑和IMU偏置需要合适的模型或预处理。监控匹配得分、内点数量和残差分布,而非假设每个接受匹配都同样可靠。

SLAM 层主要工作证据失败
传感器准备时间和校准输入时间戳和校准残差运动失真
前端创建局部约束邻近与匹配残差错误的关联
里程计传播局部运动增量与协方差累积漂移
回环闭合认识到重访几何验证错误或漏掉环
后端优化图表或状态目标与剩余不一致解

后端负责分配累积误差

姿态图将机器人姿态表示为节点,相对约束为边。当有效的回环检测包将当前姿态与先前访问过的位置连接起来时,图优化可以将漂移重新分布到多个姿态,而不是应用一个突兀的局部补丁。

当前 slam_toolbox文档描述 了姿态图映射和定位工作流程。当重复性重要时,保存序列化的图和配置;仅渲染图像会失去后续诊断所需的约束和不确定性信息。

LiDAR SLAM 观察几何范围结构

二维 LiDAR SLAM 能够对齐平面扫描,并且在墙体和物体在扫描平面附近形成独特几何形态时表现良好。三维系统增加了垂直结构并支持更丰富的运动,但增加了数据、计算和校准负担。

谷歌的 Cartographer 存档库 展示了局部轨迹构建和全球姿态图的理念。距离感测也并非免疫于失败:漫长无特征的走廊、对称性、玻璃、镜面、灰尘、雨水和流动的人群都可能导致遗漏或误导性的返回。

视觉 SLAM 使用外观和摄像机几何

单目视觉 SLAM 追踪图像特征或直接强度关系,并根据系统不同可以创建稀疏或密集的地图。立体或RGB-D相机在其可靠范围内增加度量深度。相机提供丰富的视觉效果,但依赖于曝光、对焦、纹理和可见度。

运动模糊、重复图案、黑暗、眩光和大光照变化会降低关联质量。动态人物或屏幕可能会移动系统假定为静态的特征。相机校准、快门模型和曝光策略是估计器的一部分,而非单独的外观设置。

五级机器人 SLAM 验证流程
轨迹证据和可重复性揭示的不仅仅是一张干净的占用地图图像。来源:物理人工智能实验室。

视觉惯性 SLAM 增加了高速运动证据

ORB-SLAM3 是一个开放参考文献,涵盖视觉、视觉惯性和多地图研究流程。其 仓库文档 还显示,相机-IMU 校准和初始化是明确要求,而非可选改进。

IMU有助于连接快速运动和低纹理间隔,并在适当的激励下使重力和公制尺度可观测。然而,偏置、时序和轴误差的积分速度较快。初始化弱或运动无激发性会导致即使轨迹看起来平滑,比例、偏置或方向也难以被观察到。

家庭观察力强典型弱点验证场景
2D LiDAR平面几何玻璃与重复走廊混合墙几何
3D LiDAR度规3D结构成本与运动失真多层路线
单眼视觉外观与方位比例与灯光纹理与曝光扫视
立体声或RGB-D公制视觉深度射程与光学故障近远天体
视觉-惯性快速运动与重力时序、偏置与初始化激动的六轴运动

回环检测需要几何验证

地点识别提出两个观察来自同一地点。在添加环路前,应通过单独的几何检查验证相对变换。重复的书架、门或走廊可以产生感知上相似但物理上不同的位置。

同时测试假阳性和漏回环行为。一个假的高置信闭包可能会扭曲本应有用的映射,而没有闭包则允许漂移存在。记录提案、验证残差、接受边以及每个环路引起的轨迹变化。

轨迹度量揭示了地图图像所隐藏的内容

绝对轨迹误差衡量路径上与参考的对齐情况,而相对姿态误差则检查选定区间内的局部漂移。还测量环路一致性、重新定位时间、追踪丢失率、地图重复性以及长时间会话中的CPU或内存行为。

报告对齐方法和参考不确定性。拟合变换可以隐藏缩放或全局偏移,因此保留原始和对齐的指标。导航方面,添加定位跳跃、路径净空误差和重复路线成功。几何清晰的壁面地图可以与偏向机器人姿势共存。

失败测试应当还原真实环境

建造带有直线走廊、旋转、电梯或坡道、玻璃、变换灯光、动态物体以及临时遮挡的路线。调整速度、加速度和传感器温度。测试多个地图点启动,而非总是从一个已知起点启动。

移除车轮里程计、遮挡摄像头、阻挡部分扫描或引入时间戳延迟。验证不确定性、跟踪丢失检测和恢复。一个稳健的系统必须知道何时信心薄弱;继续保持看起来精准错误的姿势可能比停止更糟糕。

SLAM,定位和导航有不同的作用

SLAM 估算轨迹和地图,定位估计在现有表示中定位,导航选择并控制朝目标移动。一个软件包可以暴露多种模式,但这些要求保持独立。地图维护和仅定位操作在数据保留和变更策略上也有所不同。

在全局校正过程中为控制器定义帧连续性。在适当情况下通过单独的变换应用地图级修正时,保持局部里程平滑。用规划器覆盖、障碍物层和重复路线验证地图,确保估计输出在下游有效。

评估“机器人SLAM类型:LiDAR、视觉与视觉惯性SLAM”时,还应保存模型版本、机器人配置、标定文件、测试日期和全部试验记录。把成功、失败、恢复与人工介入放在同一份数据中,才能区分模型能力、系统接口和现场流程造成的差异。

成本评估除了设备与算力,还要记录数据采集、工程调试、安全措施、维护、停机和人员培训。只有把这些持续投入与单位成功任务的价值比较,才能判断方案是否适合扩大。

上线后仍要持续检查分布变化、传感器漂移、机械磨损和人工接管原因。监测结果应能触发降级、停止与重新验证流程,并为下一轮数据采集和模型更新留下可追溯记录。

  • 校准时序、本征和传感器外因。
  • 测量局部漂移和全局环路一致性。
  • 几何验证回环检测。
  • 测试光照、几何、运动和动态物体失效。
  • 验证已保存地图上的定位和导航。

常见问题

SLAM和导航是同一种技术吗?

不。 SLAM 估计姿势和地图;导航使用世界表示和状态估计来规划和控制运动。

LiDAR SLAM总是比视觉SLAM更准确吗?

不会。准确性取决于环境、运动、校准、算法和参考。几何形状差或反射的场景会破坏 LiDAR 就像光线会破坏视觉一样。

回环检测是强制性的吗?

并非每个短任务都如此,但如果没有全局引用或重访,局部漂移通常会在较长的路线上积累。

SLAM能没有轮式编码器工作吗?

是的。 LiDAR、视觉惯性或其他方法可以估算运动,但编码器输入在正确建模时可以补充有用的证据。

干净的地图能证明定位准确吗?

不需要。评估轨迹误差、循环一致性、重复定位和下游导航,而不仅仅是渲染后的地图。

SLAM 证据边界注释

SLAM 输出取决于校准、环境、运动、关联和估计配置。部署前,使用独立参考和下游导航栈验证轨迹和故障恢复。