Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

ROS Motion Planning

Ein Repo mit über 40 klassischen und lernbasierten Pfadplanern als ROS-Plugins

Lizenz

GPL-3.0

Überblick

ros_motion_planning ist eine umfassende Sammlung von Bewegungsplanungsalgorithmen für Roboter, implementiert als Plugins für den ROS-Navigations-Stack: globale Planer von A, Theta, D und JPS bis RRT, Informed RRT* und Voronoi-Planern; lokale Planer einschließlich DWA, TEB-artiger Ansätze, PID, LQR und MPC; Kurvengenerierung (Bezier, Dubins, Reeds-Shepp, B-Spline); sowie lernbasierte Planer wie DDPG. Jeder Algorithmus läuft im selben Gazebo-/RViz-Setup, was das Repo zu einer einzigartig praktischen Referenz macht, um Planer unter gleichen Bedingungen zu vergleichen.

Das Repository verpackt Dutzende Planer hinter den standardmäßigen nav_core-Plugin-Schnittstellen von ROS, sodass jeder Algorithmus in move_base (ROS 1) eingesetzt werden kann — mit einer begleitenden ROS-2-Implementierung — und gegen dieselben Costmaps, Roboter und Gazebo-Welten getestet wird. Die globale Planung umfasst Graphensuche (Dijkstra, A, D, LPA, D Lite, Theta, Lazy Theta, JPS, GBFS), samplingbasierte Methoden (RRT, RRT, Informed RRT, RRT-Connect), intelligente/evolutionäre Ansätze (ACO, GA, PSO) und Planung über Voronoi-Diagramme. Die lokale Planung reicht von PID-, DWA-, APF-, LQR- bis zu MPC-Reglern, und ein Kurvengenerierungsmodul implementiert Dubins-, Reeds-Shepp-, Bezier- und Spline-Pfade. Lernbasierte Planer (z. B. DDPG-basierte RL-Navigation) runden das Set ab. Docker-Images, umfangreiche Animationen pro Algorithmus und ein passendes Python-Visualisierungs-Repo machen es gleichermaßen nützlich als Referenz für die Lehre wie als Ausgangspunkt für die Entwicklung von Produktionsplanern.

Warum es wichtig ist

Dies ist die vollständigste Einzelimplementierung des klassischen Bewegungsplanungs-Kanons in funktionierendem ROS-Code: Die Lehrbuchalgorithmen, die in Papern meist Pseudocode bleiben, laufen hier alle in einem konsistenten Stack — deshalb ist es die bevorzugte Referenz für Navigationsingenieure und Robotikstudierende gleichermaßen.

Welches Problem es löst

Pfadplaner fair zu vergleichen erfordert, jeden einzelnen im selben Navigations-Stack zu implementieren — Monate an Plugin-Engineering. ros_motion_planning hat das für über 40 Algorithmen bereits erledigt und verwandelt Planerauswahl und Lehre in eine Konfigurationsänderung.

Wichtigste Punkte

  • Über 40 Planer: Graphensuche, samplingbasiert, evolutionär, Kurvengenerierung, lernbasiert
  • Alle als Standard-ROS-Nav-Plugins implementiert und im selben Gazebo-/RViz-Setup lauffähig
  • Unterstützung für ROS 1 und ROS 2 mit Docker-Images für den Schnellstart
  • Lokale Planer umfassen DWA-, APF-, PID-, LQR- und MPC-Regler
  • Begleitendes Python-Repo bietet passende Algorithmus-Visualisierungen zum Studium

Für wen

  • Navigationsingenieure, die Planer für AMRs/AGVs auswählen
  • Robotikstudierende, die Pfadplanungsalgorithmen lernen
  • Forscher, die neue Planer gegen die Klassiker benchmarken
  • Lehrende, die Lehrmaterial zur Bewegungsplanung erstellen

Einschränkungen

  • Breite statt Tiefe — einzelne Planer sind Referenzimplementierungen, keine abgestimmten Produktionsregler
  • Die GPL-3.0-Lizenz schränkt die Closed-Source-Wiederverwendung ein
  • Zielt primär auf 2D-Navigation radgetriebener Roboter (keine Manipulationsplanung)

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.