explaingit

zhm-real/pathplanning

9,280PythonAudience · researcherComplexity · 2/5Setup · easy

TLDR

A collection of robotics path planning algorithms, A*, Dijkstra, RRT and many variants, each with a step-by-step animation so you can watch how a robot finds a collision-free route from start to goal.

Mindmap

mindmap
  root((repo))
    What It Does
      Find safe routes
      Avoid obstacles
      Animate each step
    Algorithms
      A star search
      Dijkstra search
      RRT sampling
      RRT variants
    Use Cases
      Study path planning
      Test robot navigation
      Read original papers
    Audience
      Robotics students
      Autonomous vehicle devs
      Researchers
    Tech Stack
      Python
      Animations
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run A* or Dijkstra on a 2D grid and watch the path-finding animation unfold step by step.

USE CASE 2

Study sampling-based planners like RRT to understand how robots navigate complex high-dimensional spaces.

USE CASE 3

Use as a reference implementation when comparing path planning algorithms for a robotics project.

USE CASE 4

Follow links to original academic papers to learn the math behind each algorithm.

Tech stack

Python

Getting it running

Difficulty · easy Time to first run · 5min
License not mentioned in the explanation.

In plain English

This repository implements a collection of path planning algorithms used in robotics, meaning algorithms that figure out how a robot (or any moving agent) should travel from a starting point to a goal while avoiding obstacles. The code is written in Python and each algorithm comes with an animation so you can watch the planning process unfold step by step. The algorithms are split into two families. The first is search-based planning, which works by systematically exploring a grid or map. This group includes well-known methods like A* (pronounced A-star), Dijkstra's algorithm, and several variants that handle real-time replanning or anytime operation, meaning they can return a usable path quickly and then keep refining it. The second family is sampling-based planning, which works by randomly sampling points in space and connecting them into a tree. Methods like RRT (Rapidly-exploring Random Trees) and its many variants fall here. Sampling-based planners tend to work better in complex, high-dimensional spaces where grid search becomes too slow. For each algorithm the README links to the original academic paper where that method was first published. This makes the repository useful both as running code and as a study guide. You can run an algorithm, watch the animation, then read the paper to understand the math behind it. The practical use case for path planning algorithms is robotics and autonomous vehicles. A self-driving car needs to compute a collision-free route through a parking lot, a robot arm needs to move its joints to a target position without hitting itself or nearby objects. The algorithms here address the simpler 2D planning version of these problems, which is the standard starting point for learning the field. If you are curious about how robots decide where to move, or you are studying robotics or autonomous systems, this repository gives you working code with visual output and pointers to the foundational literature in one place.

Copy-paste prompts

Prompt 1
Show me how to run the A* path planning algorithm from zhm-real/pathplanning on a custom grid with specific start and goal coordinates.
Prompt 2
Explain the difference between RRT and RRT* in the pathplanning repo and when I should use each one.
Prompt 3
How do I modify the pathplanning code to add a new obstacle map and test Dijkstra on it?
Prompt 4
Walk me through how the sampling-based planners in zhm-real/pathplanning build their random trees step by step.
Prompt 5
Which algorithm in zhm-real/pathplanning is best for real-time replanning and how do I run it?
Open on GitHub → Explain another repo

← zhm-real on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.