Nav2
Nav2 is the modern, flexible, and production-grade navigation stack built to support the next generation of autonomous robots.
β When to Use Nav2
If you're working with any of the following, Nav2 is the right choice:
- ROS 2-based robotic platforms
- Warehouse/mobile robots and AMRs
- Custom navigation workflows (e.g., elevators, docking, charging)
- Need for behavior trees and complex task control
- Use of multiple sensors or planners
π§ Difference Between Nav (ROS 1 move_base) and Nav2 (ROS 2 Navigation)
π What is Nav2?
Nav2 (Navigation 2) is the official navigation stack for ROS 2, designed to replace the ROS 1 move_base
. It provides tools and libraries that enable robots to move autonomously in an environment. Nav2 is modular, scalable, and extensible, supporting modern navigation concepts like behavior trees, lifecycle management, and multi-sensor integration.
Itβs ideal for mobile robots, autonomous warehouses, delivery robots, and advanced AMRs that require production-ready performance.
π Feature Comparison Table
Aspect | Nav (move_base - ROS 1) | Nav2 (ROS 2 Navigation Stack) |
---|---|---|
Framework | Built for ROS 1 | Built for ROS 2 |
Main Node | move_base (monolithic) | Modular architecture (separate nodes for planner, controller, etc.) |
Communication | ROS 1 Pub/Sub & Service | ROS 2 Pub/Sub, Services, Actions, and Lifecycles |
Lifecycle Management | Not supported | Fully integrated via ManagedLifecycleNode |
Behavior Trees | Not supported (basic goal send) | Supported via Behavior Tree Navigator |
Planning Plugins | Navfn, DWA, TEB | NavFn, SmacPlanner, Theta*, DWB, RPP, custom plugins |
Configuration | Single YAML file (move_base.yaml ) |
Multiple YAMLs per node (planner, controller, recovery, etc.) |
Costmap Architecture | Single plugin-based costmap_2d | Separate global and local costmaps, improved plugin system |
Recovery Behaviors | Predefined (rotate, clear, backup) | BT-based, customizable and extensible |
Sensor Integration | Primarily 2D (LaserScan) | Supports 3D via Voxel Layer, PointCloud, Depth Cameras |
Extensibility | Limited pluginlib-style | Highly extensible via plugin + modular node architecture |
Active Maintenance | Deprecated for ROS 1 | Actively developed and maintained |
SLAM/Localization | AMCL, GMapping, Cartographer | Same tools, integrated with ROS 2 lifecycles and launch system |
Simulation Support | Works with Gazebo (ROS 1) | Works with Gazebo, Ignition, RViz2, and full ROS 2 simulation |
π§ Summary
Nav2 (ROS 2): Modular, extensible, behavior-tree-based, and ready for production-level robotic applications.