# zhm-real/pathplanning

**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/zhm-real-pathplanning).**

9,294 stars · 1,773 forks · Python · MIT

## Links

- GitHub: https://github.com/zhm-real/PathPlanning
- Homepage: https://github.com/zhm-real/PathPlanning
- awesome-repositories: https://awesome-repositories.com/repository/zhm-real-pathplanning.md

## Topics

`anytime-dstar` `anytime-repairing-astar` `astar` `batch-informed-trees` `dstar` `dstar-lite` `dynamic-rrt` `extended-rrt` `fast-marching-trees` `informed-rrt-star` `learning-realtime-astar` `lifelong-planning-astar` `path-planning` `realtime-adaptive-astar` `rrt` `rrt-connect` `rrt-star` `rrt-star-smart`

## Description

PathPlanning is a library of animated path planning algorithms that includes implementations of A-star, Dijkstra, RRT, and spline-based trajectory generation for both 2D and 3D environments. The project provides a collection of motion planning algorithms that demonstrate how robots can find collision-free paths through continuous spaces, with each algorithm rendered as a step-by-step visual animation to show how the search or tree grows over time.

The library covers three main categories of path planning: sampling-based methods like RRT, RRT-star, and BIT-star that grow trees by randomly sampling configuration space; search-based methods including A-star, Dijkstra, and D-star Lite that compute optimal routes through known environments using heuristic graph search; and trajectory generation techniques that produce smooth, continuous curves using Bezier, B-spline, cubic spline, Dubins, or polynomial interpolation. These algorithms can operate in both two-dimensional and three-dimensional spaces, with the tree-building algorithms adjusting their sampling and collision-checking dimensions accordingly.

The project includes a step-by-step animation engine that renders each algorithm iteration as a visual frame, making it possible to observe how different planning methods explore space and converge toward a solution. The library also provides spline-based path smoothing capabilities for generating continuous, differentiable curves from waypoints.

## Tags

### Hardware & IoT

- [Path Planning Algorithms](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/path-planning-algorithms.md) — Provides a comprehensive library of animated path planning algorithms for 2D and 3D environments. ([source](https://github.com/zhm-real/PathPlanning))
- [3D RRT Implementations](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/path-planning-algorithms/3d-rrt-implementations.md) — Implements 3D Rapidly-exploring Random Tree path planning for robotic motion planning.
- [Sampling-Based Planners](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/path-planning-algorithms/sampling-based-planners.md) — Implements RRT, RRT-star, and BIT-star algorithms for sampling-based path planning in continuous spaces. ([source](https://github.com/zhm-real/PathPlanning/blob/master/README.md))
- [3D RRT Implementations](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/sampling-based-motion-planning/3d-rrt-implementations.md) — Implements 3D Rapidly-exploring Random Tree path planning for robotic motion planning. ([source](https://github.com/zhm-real/PathPlanning/tree/master/Sampling_based_Planning))
- [RRT Implementations](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/sampling-based-motion-planning/rrt-implementations.md) — Implements Rapidly-exploring Random Tree algorithm for sampling-based motion planning.

### Artificial Intelligence & ML

- [Multi-Dimensional Tree Growth](https://awesome-repositories.com/f/artificial-intelligence-ml/leaf-wise-tree-growth/multi-dimensional-tree-growth.md) — Grows RRT trees in both 2D and 3D spaces for robotic motion planning.
- [Configuration Space Samplers](https://awesome-repositories.com/f/artificial-intelligence-ml/search-space-definition/conditional-search-space-configuration/configuration-space-samplers.md) — Implements configuration space sampling for collision detection in path planning algorithms.

### Education & Learning Resources

- [Dijkstra Implementations](https://awesome-repositories.com/f/education-learning-resources/path-optimization-algorithms/weighted-graph-path-optimizations/dijkstra-implementations.md) — Implements Dijkstra's algorithm for computing shortest paths in weighted graphs.
- [Algorithm Visualizations](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/technical-academic-domains/algorithmic-design-analysis/algorithm-visualizations.md) — Provides step-by-step animated visualizations of path planning algorithm execution for educational understanding. ([source](https://github.com/zhm-real/PathPlanning/blob/master/README.md))

### Scientific & Mathematical Computing

- [Heuristic Graph Search Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/heuristic-graph-search-algorithms.md) — Implements heuristic graph search algorithms like A-star and D-star Lite for optimal pathfinding.
- [A-Star Search](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/algorithms/graph-processing/shortest-path-algorithms/a-star-search.md) — Implements A-star heuristic search algorithm for finding shortest paths through known environments.
- [Heuristic Search Planners](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/algorithms/graph-processing/shortest-path-algorithms/a-star-search/heuristic-search-planners.md) — Implements A-star and D-star Lite algorithms for heuristic graph-search path planning in known environments. ([source](https://github.com/zhm-real/PathPlanning))
- [Spline Interpolators](https://awesome-repositories.com/f/scientific-mathematical-computing/spline-interpolators.md) — Generates smooth, differentiable curves from waypoints using spline interpolation for navigation.

### Software Engineering & Architecture

- [Path Planning Algorithms](https://awesome-repositories.com/f/software-engineering-architecture/path-planning-algorithms.md) — Ships Dijkstra and D-star Lite implementations for classic graph-search path planning. ([source](https://github.com/zhm-real/PathPlanning/blob/master/README.md))
- [2D RRT Implementations](https://awesome-repositories.com/f/software-engineering-architecture/path-planning-algorithms/2d-rrt-implementations.md) — Implements 2D Rapidly-exploring Random Tree path planning for robotic navigation.
- [Configuration Space Samplers](https://awesome-repositories.com/f/software-engineering-architecture/randomized-selection-algorithms/randomized-data-retrieval/random-sampling/configuration-space-samplers.md) — Generates paths by randomly sampling configuration space with RRT, RRT-star, and BIT-star algorithms.
- [Random-Sampling Tree Expansion](https://awesome-repositories.com/f/software-engineering-architecture/randomized-selection-algorithms/randomized-data-retrieval/random-sampling/random-sampling-tree-expansion.md) — Grows trees by randomly sampling configuration space for RRT and RRT-star algorithms.
- [2D RRT Implementations](https://awesome-repositories.com/f/software-engineering-architecture/sampling-based-planning/2d-rrt-implementations.md) — Implements 2D Rapidly-exploring Random Tree path planning for collision-free navigation. ([source](https://github.com/zhm-real/PathPlanning/tree/master/Sampling_based_Planning))
- [Algorithm Visualizations](https://awesome-repositories.com/f/software-engineering-architecture/path-planning-algorithms/algorithm-visualizations.md) — Provides animated visualizations of path planning algorithm exploration and convergence.

### Part of an Awesome List

- [Algorithm Animations](https://awesome-repositories.com/f/awesome-lists/devtools/motion-planning/algorithm-animations.md) — Provides animated visual playback of motion planning algorithm exploration and convergence.

### Graphics & Multimedia

- [Navigation Curve Generators](https://awesome-repositories.com/f/graphics-multimedia/bezier-curve-interpolations/navigation-curve-generators.md) — Creates smooth navigation curves using Bezier, B-spline, cubic spline, and Dubins curves.
- [Spline Trajectory Generators](https://awesome-repositories.com/f/graphics-multimedia/path-smoothing/spline-trajectory-generators.md) — Generates smooth navigation curves using Bezier, B-spline, cubic spline, Dubins, and polynomial interpolation. ([source](https://github.com/zhm-real/PathPlanning/tree/master/CurvesGenerator))

### User Interface & Experience

- [Algorithm Iteration Animators](https://awesome-repositories.com/f/user-interface-experience/animation-libraries/stepped-animation-controllers/algorithm-iteration-animators.md) — Provides step-by-step visual playback of path planning algorithm exploration and convergence.
