Submit
Icon for Nav2

Nav2

Open-source navigation stack providing perception, planning, control, and localization for autonomous mobile robots and AGVs.

Screenshot of Nav2 website

Nav2 is the professionally-supported successor to the ROS Navigation Stack, optimized for mobile and surface robotics. It enables robots to navigate complex environments while avoiding obstacles and completing user-defined tasks.

The framework uses behavior trees to orchestrate modular servers for planning, control, and recovery behaviors. It supports holonomic, differential-drive, legged, and Ackermann robot types with both circular and arbitrarily-shaped footprints for collision checking.

Core capabilities

  • Global planning: Compute optimal paths through environments using A*, Dijkstra, or custom planners
  • Local control: Follow paths with DWB, Pure Pursuit, or other controller plugins
  • Behavior trees: Define complex navigation logic using BehaviorTree.CPP for decision making
  • State estimation: Integrate with AMCL, SLAM Toolbox, and robot_localization for positioning
  • Environmental modeling: Costmap-based representations with layer plugins for sensor fusion
  • Recovery behaviors: Handle failure conditions like getting stuck or sensor errors

Architecture

Nav2 follows a server-based architecture where independent modules communicate via ROS 2 actions and services:

  • BT Navigator: Behavior tree orchestration and high-level decision making
  • Planner Server: Global path planning algorithms
  • Controller Server: Local trajectory following and obstacle avoidance
  • Behavior Server: Recovery and auxiliary behaviors
  • Smoother Server: Path refinement and optimization
  • Route Server: Graph-based routing for structured environments
  • Waypoint Follower: Multi-point mission execution

Use cases

  • Warehouse AMR navigation and pallet transport
  • Indoor service robotics and delivery robots
  • Outdoor autonomous vehicles and agricultural robots
  • Research and education in mobile robotics
  • Fleet management integration for multi-robot systems

Limitations

  • Requires ROS 2 expertise for configuration and tuning; steep learning curve for beginners
  • Performance depends heavily on sensor quality and calibration (LIDAR, odometry, IMU)
  • Complex environments with dynamic obstacles may require extensive parameter tuning
  • No built-in fleet management; requires external orchestration for multi-robot coordination
  • Limited support for non-planar or highly dynamic locomotion (legged robots need custom integration)
  • Behavior tree XML files can become complex for sophisticated applications
Categories:

Share:

Kind
Software
Vendor
Open Navigation LLC
License
Open Source
Website
docs.nav2.org
Deployment TypeFramework
Show all
Ad
Icon