在ROS2 Humble中,除了dddmr_navigation,还有不少针对三维环境导航的开源方法。它们各有侧重,从完整导航栈到专注特定问题的模块都有,下面我为你整理了其中一些主流的方案:

📊 主流三维导航方案对比

方案名称 核心原理与特色 成熟度与生态 适用场景 资源链接
Mesh Navigation Stack 基于三角网格表示3D地形,支持斜面、粗糙度等物理层,可运行连续向量场规划器。 ⭐️⭐️⭐️⭐️
GitHub 833 Stars
基于MBF,模块化插件架构。
户外、矿区、森林等不平坦的越野环境导航。 GitHub
MoveBase3D 基于平面拟合处理不平坦地形,为UGV提供3D导航框架。 ⭐️⭐️⭐️
GitHub 150 Stars
模块化程度较高。
非结构化环境下的UGV导航。 GitHub
vox_nav 基于体素(Octomap) 环境模型,提供SE2/SE2.5规划器,专为农业等户外场景设计。 ⭐️⭐️⭐️
模块化设计,支持Foxy/Humble。
农业、户外粗糙地形导航。 文档 GitHub
PCT_planner 基于点云断层扫描技术,直接在点云中进行路径规划。 ⭐️⭐️⭐️
GitHub 340 Stars
可作为Nav2插件使用。
复杂3D环境下的路径规划。 GitHub
NATURE Stack 模块化越野导航栈,集成感知、规划与控制,支持ROS1/ROS2,提供A*、人工势场等算法。 ⭐️⭐️⭐️
研究导向,模块化设计。
越野、非结构化环境下的自主导航研究。 GitHub

💡 其他主流方法与辅助工具

除了上述完整的导航栈,一些专注于特定环节的算法和辅助库,也是构建三维导航方案的重要拼图。

🎯 导航与规划框架
  • Nav2 扩展与演示:Nav2官方与AMD合作提供的opennav_amd_demonstrations项目,包含城市环境3D导航示例,适合希望在Nav2框架内实现三维导航的开发者参考。
  • 高级规划算法:如FAR Planner,通过构建动态可见图,适用于大规模未知环境下的长距离路径规划,支持ROS2。
🗺️ 建图与环境表示
  • OctoMap:使用八叉树数据结构构建三维概率占据地图。它高效、紧凑,是ROS中处理3D地图的事实标准,可为上层规划器(如vox_nav)提供环境模型。
  • 2.5D高程地图
    • grid_map:通用的多图层网格地图库,可存储高程、可通行性、法向量等多种信息。
    • elevation_mapping:专用于从传感器数据构建高程地图的库,可创建2.5D表示,常用于腿式机器人。该库也有GPU加速版本
  • 视觉SLAM建图RTAB-Map (Real-Time Appearance-Based Mapping) 是一种基于外观的图优化SLAM方法,常用于RGB-D相机(如Intel RealSense)进行三维重建和视觉定位,是许多项目的建图基础。
🔧 辅助工具与仿真平台
  • Laser_RobMap:一种低成本方案,通过旋转2D激光雷达模拟3D雷达进行三维建图。
  • Arena 4.0:一个基于ROS2的人机交互导航开发与基准测试平台,支持利用生成式模型创建复杂仿真环境。

🤔 如何选择

你可以根据核心需求来做选择:

  • 越野、爬坡:首选 Mesh Navigation StackMoveBase3D
  • 2D雷达升维3D:可以考虑 Laser_RobMap 方案。
  • 追求高性能规划FAR Planner 是强有力的候选。
  • 视觉SLAM建图RTAB-Map 是成熟且广泛应用的方案。

🔗 常用资源链接

希望这份整理能帮你对ROS2的三维导航生态有一个更全面的了解。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐