// the find
ai-winter/python_motion_planning
Motion planning(Path Planning and Trajectory Planning/Tracking) of AGV/AMR:python implementation of Dijkstra, A*, JPS, D*, LPA*, D* Lite, (Lazy)Theta*, RRT, RRT*, RRT-Connect, Informed RRT*, Voronoi, PID, DWA, APF, LQR, MPC, RPP, Bezier, Dubins etc.
A Python library collecting classic motion planning algorithms — graph search (A*, Dijkstra, JPS, Theta*), sampling-based planners (RRT family, Voronoi), path-tracking controllers (PID, DWA, APF, Pure Pursuit, RPP), and trajectory curve generators (Bezier, Dubins, splines). It's aimed at robotics students and engineers who want readable reference implementations to study or benchmark against, not a production planning stack.
The module layout mirrors the actual taxonomy of the field (path_planner/graph_search vs sample_search vs hybrid_search, separate controller and traj_optimizer packages), so finding and comparing implementations of a specific algorithm is fast. It ships a working 2D physics toy simulator with two robot kinematic models for actually testing controllers against a plant, not just drawing a path on a grid — and it supports multi-agent runs. Every implemented algorithm has a rendered demo (svg/gif) and the package is pip-installable with a real mkdocs tutorial site, which is more polish than most algorithm-collection repos bother with.
The GitHub topics and description advertise D*, D* Lite, LPA*, Informed RRT*, LQR, MPC, ACO, GA, PSO, and DDPG, but the README's own demo tables admit all of these are 'not migrated' from v1.1.1/v1.0 — they simply don't exist in the current src tree, so anyone picking this repo specifically for MPC or D* Lite will be let down. 3D is essentially decorative: controllers, curve generators, and most sample-search planners are 'Not implemented' in 3D, so despite the pitch this is a 2D library with partial 3D path planning. There's no tests directory in the source tree, which is a real gap for something people will pip install and build logic on top of. Contributing anything beyond a trivial fix requires contacting the two maintainers first, which will throttle how fast the 'not migrated' algorithms actually come back.