ros-navigation/navigation2

ROS 2 Navigation Framework and System

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 26 minutes ago
Added to GitGenius on May 7th, 2025
Created on May 29th, 2018
Open Issues & Pull Requests: 92 (+0)
Number of forks: 1,923
Total Stargazers: 4,620 (+1)
Total Subscribers: 70 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.1 hours
Mean response time: 81.9 days
90th percentile: 107.4 days
Tracked items: 883

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 51% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Only 6% of issues opened in the past year have been closed. Three people close 83% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 51
New in 7 days: 3
Closed in 7 days: 3
Avg open age: 584 days
Stale 30+ days: 37
Stale 90+ days: 27

Recent activity

Opened in 7 days: 3
Closed in 7 days: 3
Comments in 7 days: 8
Events in 7 days: 26

Top labels

  • question (243)
  • enhancement (129)
  • good first issue (89)
  • bug (88)
  • in progress (86)
  • help wanted (85)
  • 1 - High (76)
  • 2 - Medium (66)

Detailed Description

Navigation2 is the ROS 2 navigation framework that provides a complete autonomous navigation system for mobile robots. Written primarily in C++, it serves as the successor to the original ROS navigation stack and offers a modern, modular architecture designed for both research and production robotics applications. The framework is actively maintained by Open Navigation LLC, which provides professional support and development services to ensure long-term sustainability of the project.

The repository encompasses a comprehensive set of navigation capabilities including path planning, localization, mapping, sensor integration, and behavior tree-based task execution. Navigation2 implements multiple planning algorithms such as the Smac Planner with Hybrid A*, State Lattice, and 2D planning options, along with the Regulated Pure Pursuit controller for path tracking. The system supports dynamic environments and can handle real-time obstacle avoidance while maintaining kinematically feasible trajectories for various robot morphologies. The framework integrates VSLAM capabilities for visual simultaneous localization and mapping, enabling robots to operate in previously unmapped environments.

The project maintains extensive documentation covering concepts, setup guides, tutorials, configuration, plugin development, and API references. Navigation2 provides Docker containers for simplified deployment and supports multiple ROS distributions. The framework is extensible through a plugin architecture that allows developers to implement custom planners, controllers, and behavior modules. The repository includes comprehensive testing infrastructure with GitHub Actions workflows and code coverage tracking via codecov.

Navigation2 has attracted significant industry backing from sponsors including Nvidia, AMD, Dexory, Polymath Robotics, Stereolabs, 3Laws Robotics, and Staer, reflecting its importance in the robotics ecosystem. The project has generated multiple peer-reviewed publications documenting its algorithms and design, with citations available for the Marathon 2 navigation system, the Smac Planner, the Regulated Pure Pursuit controller, and comparative analyses of VSLAM approaches. The repository's classification spans motion control, robot pathfinding, autonomous navigation, 2D planning, mapping, and sensor integration, positioning it as a foundational component for autonomous mobile robot systems across industrial, research, and service robotics domains.