Nav2
面向移动机器人的 ROS 2 导航栈,具备运动规划和避障功能
许可证
Apache-2.0
概述
Nav2 是 ROS 2 中的移动机器人导航栈,也是 ROS 1 导航栈的继任者。它提供运动规划、AMCL 定位、避障和恢复行为,导航逻辑基于行为树构建。借助规划器插件、代价地图图层和航点跟随,它可以针对不同的机器人和传感器进行配置。
Nav2(Navigation2)是ROS 2的下一代导航堆栈,为自主移动机器人导航提供完整解决方案。它是ROS 1导航堆栈的继任者,具有重大的架构改进。
主要特点包括: - 多种规划器插件(NavFn、Smac、Theta*) - 基于行为树的导航逻辑 - 动态避障 - 用于传感器融合的代价地图层 - AMCL定位 - 恢复行为 - 航点跟踪和任务执行 - 用于安全的生命周期管理
Nav2被数百家公司用于仓库机器人、服务机器人和自动导引车。它高度可配置,支持各种机器人平台和传感器配置。
为何重要
Nav2 是让 ROS 2 机器人实现自主的导航栈。它以一个可用于生产的软件包提供从路径规划到避障的全部功能,已部署在全球仓库、医院和研究实验室的数千台真实机器人上。
解决的问题
让移动机器人自主导航需要集成定位、建图、规划和恢复行为。Nav2 为 ROS 2 提供了这一完整的软件栈,并由社区测试和维护。
要点
- 面向 ROS 2 移动机器人的完整自主导航栈
- 可用于生产的路径规划、定位和避障
- 基于行为树的架构,实现灵活的导航行为
- 支持多种规划算法和代价地图配置
- 已部署于各行业的商用机器人
适用人群
- 构建移动机器人的 ROS 2 开发者
- 部署自主移动机器人的公司
- 研究机器人导航算法的研究人员
- 构建仓储、配送或服务机器人的团队
局限
- 对于非标准机器人平台,配置较为复杂
- 以 2D 导航为主——3D 地形导航需要扩展
- 性能调优需要理解导航理论
- 行为树架构有一定的学习曲线