# ros-planning/navigation

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ros-planning-navigation).**

2,648 stars · 1,831 forks · C++ · archived

## Links

- GitHub: https://github.com/ros-planning/navigation
- awesome-repositories: https://awesome-repositories.com/repository/ros-planning-navigation.md

## Topics

`navigation` `robotics` `ros`

## Description

This project is a framework for autonomous mobile robot navigation within the Robot Operating System ecosystem. It provides a suite of tools for calculating safe trajectories and movement commands, enabling mobile bases to reach specific destinations while avoiding obstacles in dynamic environments.

The system utilizes a hierarchical planning approach that separates long-range path generation from short-range reactive obstacle avoidance. It maintains spatial awareness through a centralized coordinate tracking system and a grid-based representation that stores obstacle information and proximity costs. A plugin-based architecture allows for the integration of custom path planners and recovery behaviors, while a message-passing interface decouples sensor processing from control logic.

The framework supports comprehensive robot operations, including sensor data integration from cameras, lidars, and encoders, as well as simultaneous localization and mapping. It continuously translates high-level navigation goals into low-level linear and angular velocity commands to drive robot hardware.

## Tags

### Hardware & IoT

- [Robotics Software Stacks](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/robotics-software-stacks.md) — Provides a comprehensive framework for autonomous mobile robot path planning, obstacle avoidance, and localization within the ROS ecosystem.
- [Autonomous Robot Navigation](https://awesome-repositories.com/f/hardware-iot/autonomous-robot-navigation.md) — Calculates safe movement speeds and guides mobile bases toward destinations while avoiding obstacles. ([source](https://github.com/ros-planning/navigation#readme))
- [Robotic Path Planners](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/path-planning-algorithms/sampling-based-planners/robotic-path-planners.md) — Provides algorithms for calculating safe trajectories and movement commands for mobile bases.
- [Sensor Processing](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/sensor-processing.md) — Integrates inputs from cameras, lidars, and encoders to perceive the environment and identify hazards.
- [Grid-Based Costmaps](https://awesome-repositories.com/f/hardware-iot/grid-based-costmaps.md) — Provides grid-based spatial representations to store obstacle information and proximity costs for safe navigation corridor evaluation.

### Artificial Intelligence & ML

- [Robotic Hierarchical Planners](https://awesome-repositories.com/f/artificial-intelligence-ml/attention-mechanisms/hybrid-global-local-attention/robotic-hierarchical-planners.md) — Implements a two-tier hierarchical planning system that separates long-range path generation from short-range reactive obstacle avoidance.

### Scientific & Mathematical Computing

- [Velocity Command Generation](https://awesome-repositories.com/f/scientific-mathematical-computing/tangential-velocity-calculation/trapezoidal-velocity-profilers/velocity-command-generation.md) — Translates high-level navigation goals into low-level linear and angular velocity commands for robot hardware.
- [Coordinate Frame Transformations](https://awesome-repositories.com/f/scientific-mathematical-computing/kinematic-coordinate-frames/coordinate-frame-transformations.md) — Maintains a centralized transform tree to track spatial relationships between robot sensors and the world frame.

### Part of an Awesome List

- [Simultaneous Localization and Mapping](https://awesome-repositories.com/f/awesome-lists/data/simultaneous-localization-and-mapping.md) — Determines robot position while simultaneously building maps of the environment using sensor data.

### Game Development

- [Mobile Base Controllers](https://awesome-repositories.com/f/game-development/rigid-body-physics-engines/articulated-body-simulators/velocity-level-controllers/mobile-base-controllers.md) — Translates high-level navigation goals into low-level velocity commands to drive robot wheels or tracks.

### Software Engineering & Architecture

- [Inter-Process Communication](https://awesome-repositories.com/f/software-engineering-architecture/inter-process-communication.md) — Uses a message-passing interface to decouple sensor processing from high-level path planning and control logic.
- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures.md) — Employs a plugin-based architecture to allow swapping path planners and recovery behaviors without modifying the core control loop.
