
室内导航系统 11:从 SLAM 到车队调度,开源项目应该按层选
搜索“开源机器人导航”会得到几十个项目。最危险的选型方法是按 star 数排序,然后期待一个仓库覆盖传感器驱动、SLAM、地图、规划、控制、安全和多机器人。
更有效的方式是按系统层选择,并为每层保留清晰输入输出。
基础中间件与单机导航
ROS 2
负责消息、生命周期、参数、TF、记录和组件集成。对新室内项目,优先使用仍在支持周期内的发行版,并冻结 DDS、RMW 和关键包版本。
Nav2
负责路线、规划、控制、行为树、costmap、停靠与碰撞监控。它不包含底盘驱动,也不要求特定 SLAM 或传感器。
适合:轮式 AMR、服务机器人,以及轮足系统的全局导航层。
2D 建图与定位
slam_toolbox
- 作用:2D LiDAR SLAM、序列化位姿图、继续建图、定位和 lifelong mapping。
- 优点:ROS 2/Nav2 主线、功能完整。
- 适合:仓库、办公楼、零售等平面环境。
- 注意:动态环境、玻璃和长期地图写入仍需工程策略。
AMCL
- 作用:在已知 2D 栅格上做粒子滤波定位。
- 优点:成熟、可解释、与 Nav2 集成直接。
- 注意:全局冷启动、大面积重复空间和被搬动恢复需要额外设计。
视觉与多传感器图优化
RTAB-Map / rtabmap_ros
- 输入:RGB-D、双目、2D/3D LiDAR 和多种里程计。
- 产物:图优化、数据库、2D/3D 地图和 Nav2 示例。
- 许可证:BSD-3-Clause。
- 适合:需要快速集成视觉/深度/点云并保留地图数据库的 ROS 2 项目。
- 注意:同步、DDS、参数和资源管理复杂。
ORB-SLAM3
- 输入:单目、双目、RGB-D、IMU、鱼眼。
- 强项:视觉/视觉惯性位姿、多地图和研究基线。
- 许可证:GPLv3,闭源产品需认真评估。
- 注意:官方工程环境较旧,ROS 2 和稠密导航地图需要额外集成。
OpenVINS / VINS-Fusion
适合视觉惯性研究和自定义融合。产品使用时要评估维护状态、ROS 2 支持、相机模型和许可证,不能只看论文指标。
3D LiDAR 里程计与建图
KISS-ICP
- 作用:低参数、稳健的 LiDAR 里程计。
- 适合:快速基线、验证点云与运动补偿。
- 注意:回环和长期地图需外接。
FAST-LIO2
- 作用:高频直接 LiDAR—IMU 里程计。
- 适合:四足、无人机和快速移动平台。
- 注意:时空标定敏感,全局图和地图运营需补充。
LIO-SAM
- 作用:IMU 预积分、LiDAR 和回环的因子图。
- 适合:需要理解/扩展多因子全局优化。
- 注意:原项目的 ROS 2 产品化、依赖与传感器适配要实测。
稠密三维与距离场
nvblox / isaac_ros_nvblox
- 作用:GPU 加速 TSDF、occupancy、ESDF 和 mesh。
- 适合:Jetson/NVIDIA 平台、RGB-D/3D LiDAR、局部三维规划。
- 注意:硬件和软件版本矩阵、显存与地图范围。
OctoMap
- 作用:概率式八叉树 3D 占据。
- 优点:经典、稀疏、生态广。
- 注意:实时大规模更新和连续距离查询不如专门 ESDF。
轮足地形与可通行性
elevation_mapping_cupy
- 作用:GPU 高程图、漂移补偿、清理、语义融合和可通行性。
- 许可证:MIT。
- 适合:四足/轮足局部地形层。
- 注意:主要生态和示例仍要与目标 ROS 2 栈适配。
原始 ANYbotics/elevation_mapping 已明确不再积极维护,新项目应优先评估 CuPy 路线或其它活跃实现。
Wild Visual Navigation
- 作用:用预训练视觉特征和在线自监督学习可通行性。
- 适合:纯几何难判断的地面材质与野外场景。
- 注意:现有集成偏研究代码和 ROS 1,生产需重做接口、安全和评测。
多机器人与楼宇协同
Open-RMF
- 作用:多车队互操作、门、电梯、建筑设施与任务协调。
- 适合:医院、机场、楼宇和多供应商机器人。
- 注意:它不是单机导航替代品,通常通过 fleet adapter 与各机器人/Nav2 对接。
VDA 5050
是工业 AMR/AGV 与主控通信的重要接口规范。选择前要确认版本、厂商兼容和任务语义,不能把协议支持等同于交通调度能力。
开源选型评分表
每个候选至少评分:
目标场景匹配
ROS 2 / 系统版本支持
最近发布与 issue 响应
许可证
硬件与算力
可重放数据和示例
测试覆盖
可观测性
失败恢复
团队能否维护
研究代码可以进入原型,但进入产品前要补齐容器、版本锁定、健康检查、参数 schema、日志、回归数据、异常状态和安全边界。
两套推荐组合
常规室内 AMR
ROS 2 + ros2_control
wheel odom + IMU + robot_localization
slam_toolbox / AMCL
Nav2 + Collision Monitor
Open-RMF(多车队/楼宇需要时)
视觉/轮足复杂平台
VIO 或 FAST-LIO2
RTAB-Map/图优化后端
nvblox 或 elevation_mapping_cupy
Nav2 全局层
自研 locomotion planner + 全身控制
开源项目真正节省的是成熟模块的重复开发,不会替团队承担系统边界、标定、参数、验收和现场维护。