BotOf TechAI / IoT / Full-Stack / 植物养护知识分享
返回首页室内导航系统 05:视觉 SLAM 的三条路线,别把位姿、地图和避障混为一谈

室内导航系统 05:视觉 SLAM 的三条路线,别把位姿、地图和避障混为一谈

视觉 SLAM 能否替代 LiDAR,不能只看轨迹误差。室内导航需要至少三种产物:

  1. 连续、低延迟的里程计;
  2. 可重定位、可回环的全局位姿;
  3. 能被规划器消费的占据或距离地图。

许多 VSLAM 库主要解决前两项,并不直接提供可靠的导航障碍地图。

视觉前端在做什么

典型视觉 SLAM 包含:

  • 特征或直接法前端;
  • 帧间跟踪与关键帧选择;
  • IMU 预积分或视觉惯性融合;
  • 局部 bundle adjustment;
  • 地点识别与回环;
  • 位姿图或全局优化;
  • 地图点、关键帧或稠密重建。

单目系统存在尺度不可观问题;双目和 RGB-D 提供尺度;IMU 能改善快速运动和短时纹理丢失,但需要准确时空标定。

ORB-SLAM3:强位姿库,不是完整导航产品

ORB-SLAM3 支持单目、双目、RGB-D、视觉惯性、鱼眼和多地图。它适合:

  • 研究视觉与视觉惯性 SLAM;
  • 需要高质量稀疏位姿和回环;
  • 跨会话多地图;
  • 有能力维护 C++ 集成、相机模型和 ROS 2 封装。

需要注意:

  • 官方 ROS 示例仍偏旧环境,ROS 2 产品化通常依赖第三方 wrapper;
  • 输出的稀疏地图不能直接作为完整碰撞地图;
  • GPLv3 对闭源产品有许可证影响;
  • 低纹理、强动态、模糊和曝光突变仍会退化。

合理用法是让 ORB-SLAM3 提供 pose,再由深度、点云或独立感知构建 Nav2 costmap。

RTAB-Map:多传感器图优化与地图工程

RTAB-Map 以外观回环和图优化为核心,ROS 2 包支持 RGB-D、双目、2D/3D LiDAR,并提供 TurtleBot、Nav2 等集成示例。

它的优势是“产品面”更完整:

  • 多种视觉里程计和 ICP 里程计;
  • 长期图优化与回环;
  • 2D 占据、3D 点云和 OctoMap 等输出;
  • 数据库、回放、可视化与参数工具;
  • ROS 2 Humble、Jazzy、Rolling 二进制包。

成本是参数多、同步链复杂、CPU/内存和 DDS 配置需要调优。RGB、深度、相机信息、里程计和扫描不同步时,表现会迅速下降。

如果团队要快速把 RGB-D/双目接到 ROS 2 导航,RTAB-Map通常比自行拼接多个研究库更现实。

cuVSLAM / Isaac ROS:硬件绑定换工程性能

cuVSLAM 面向 NVIDIA Jetson/Nova 和 Isaac ROS,使用双目与 IMU 提供视觉里程计和建图。配合 Isaac Perceptor,可以形成无 LiDAR 的 Nav2 路线。

优势:

  • GPU 加速;
  • NITROS 降低图像在 ROS 图中的拷贝;
  • 与 nvblox、深度感知和 Nav2 集成;
  • 有完整的硬件参考与视觉巡检示例。

代价:

  • 依赖 NVIDIA 硬件和软件版本矩阵;
  • 容器、驱动、CUDA 与传感器兼容需要维护;
  • 地图制作可能采用离线数据采集;
  • 商业系统仍要设计独立安全感知。

选型矩阵

需求ORB-SLAM3RTAB-MapcuVSLAM
视觉/视觉惯性研究
ROS 2 导航集成需封装
RGB-D/双目建图以位姿和稀疏图为主配合 nvblox
3D LiDAR 融合另接组件
跨会话/长期图多地图数据库与图优化依方案
GPU 加速非核心非核心
许可证/产品化GPLv3 需评估BSD-3按组件评估

接入 Nav2 的正确边界

无论使用哪套 VSLAM,都要提供:

连续 odom → base_link
全局 map → odom
规划可用的地图或 costmap layer
实时障碍 observations
状态质量与失效信号

特别注意:用于全局定位的地图可以是稀疏关键帧图,用于避障的地图必须表达机器人会撞到的空间。两者不必相同。

视觉系统必须做退化测试

至少覆盖:

  • 白墙长廊与重复门;
  • 夜间、背光和灯光开关;
  • 相机被遮挡、污损和振动;
  • 人群占据大部分视野;
  • 镜面、玻璃和屏幕;
  • 快速旋转与运动模糊;
  • 静止初始化和被搬动后的重定位。

每种退化要定义速度限制、替代传感器和安全停车条件。

视觉路线的优势不是“省掉一个雷达”,而是获得语义、纹理和更丰富的三维信息。只有同时设计位姿、地图、避障和失效链,它才是一套导航系统。

延伸阅读