关于 Nav2
Nav2 是什么
Section titled “Nav2 是什么”Navigation2(Nav2)是 ROS 2 中标准的移动机器人导航软件栈,也是 ROS 生态中应用最广、生命周期最长的项目之一。它的目标是提供一个完整、灵活、可扩展的自主导航解决方案,让移动机器人能够自主地从起点移动到目标位置,并在行进过程中避开障碍、遵守运动学约束。
Nav2 建立在 ROS 1 导航栈(Navigation Stack)十余年积累的成功经验之上,针对 ROS 2 重新设计了架构:采用模块化的插件体系,使得路径规划、局部控制、代价地图、行为恢复等核心环节都可以按需替换,方便在不同机器人平台上复用。
- 全局与局部规划:在已知地图上规划全局路径,并在行进中实时避开动态障碍物。
- 多种控制器:内置 DWB、MPPI、Smac、纯追踪(Pure Pursuit)、Shim 等控制器,适配差速、阿克曼、全向等不同底盘。
- 代价地图(Costmap):通过多层插件叠加激光雷达、深度相机、点云等传感器数据,统一表示环境中的可通行区域与障碍。
- 行为树(Behavior Tree):用行为树编排高层导航逻辑(如到点失败后如何恢复),比传统的状态机更灵活。
- 定位与建图:与 AMCL、SLAM Toolbox、robot_localization 等紧密集成,支持 GPS、VIO 等多种定位源。
- 安全保障:碰撞监控器(Collision Monitor)、限速、禁入区等机制保障运行安全。
能做什么:典型应用场景
Section titled “能做什么:典型应用场景”- 仓储与物流:AMR/AGV 在仓库、工厂车间内的自主搬运与多点配送,是 Nav2 应用最密集的领域。
- 服务机器人:酒店、商场、医院的送物与导览机器人,依赖动态避障与电梯/门禁联动。
- 巡检与安防:电厂、化工厂、数据中心的周期性巡检,沿路径采集仪表与设备状态。
- 农业与户外:农田、果园中的自主作业与转运,配合 GPS/RTK 定位源。
- 科研平台:高等院校与新算法验证的标准基准平台,与 Gazebo、TurtleBot 等仿真/硬件开箱即用。
- 多机协同:配合 fleet 管理器(如 Open-RMF)实现多机器人调度与交通管制。
- 事实标准:ROS 2 官方导航栈,社区活跃、文档齐全,新机器人项目默认选型;
- 插件化架构:规划器、控制器、代价地图层、行为树节点全部可替换,同一框架适配不同底盘与场景;
- 多底盘支持:差速、阿克曼、全向、腿式等运动学模型均有现成插件;
- 完整生命周期管理:基于 ROS 2 生命周期节点构建,启动、配置、故障恢复语义清晰,适合工业级部署;
- 仿真即实物:同一套配置可在仿真与真实机器人上运行,与 Gazebo、MoveIt、rosbag2 工具链无缝协作。
本站的「Nav2 导航」分组按由浅入深的顺序组织:
说明:本站是 Nav2 官方文档的中文学习版,内容来自 docs.nav2.org 并做了中文化与重组。如需了解 Nav2 项目本身(源码、贡献、路线图等),请访问 Navigation2 GitHub 仓库。