finds.dev← search

// the find

ai-winter/ros_motion_planning

★ 3,521 · C++ · GPL-3.0 · updated Apr 2026

Motion planning and Navigation of AGV/AMR:ROS planner plugin implementation of A*, JPS, D*, LPA*, D* Lite, Theta*, RRT, RRT*, RRT-Connect, Informed RRT*, ACO, PSO, Voronoi, PID, LQR, MPC, DWA, APF, Pure Pursuit etc.

A ROS Noetic plugin library implementing ~25 motion planning algorithms — graph-based (A*, D*, JPS, Theta*), sampling-based (RRT family), evolutionary (ACO, PSO, GA), and local controllers (DWA, MPC, LQR, PID, Pure Pursuit) — all runnable in Gazebo simulation. It's a learning resource and algorithm comparison testbed, not a production navigation stack. Robotics students and researchers who want to see how these algorithms behave side-by-side in a real ROS environment will get the most out of it.

Each algorithm is a standalone ROS plugin with a consistent interface, so swapping planners is a config change rather than a code change. The GIF animations in the README for every algorithm are genuinely useful — you can immediately see how D* Lite replans vs how RRT* converges without running anything. Config-driven launch via user_config.yaml with Python-generated XML avoids the usual ROS launch file spaghetti. The multi-agent setup with ORCA collision avoidance is a meaningful addition most similar repos skip entirely.

Hard-pinned to ROS Noetic / Ubuntu 20.04 with no ROS 2 port in sight — that's a platform nearing end-of-life and you're locked out of the entire modern ROS 2 ecosystem. The conan 1.59.0 pin is already several major versions behind and conan 2.x broke backwards compatibility, so the build will likely fail on a fresh system without manual intervention. TEB and Lattice planners are marked 'develop' with no timeline. The evolutionary planners (ACO, PSO, GA) are conceptually interesting for path planning but perform poorly in practice compared to any graph planner — including them without caveats sets up a false equivalence.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →