Model Predictive Path Integral
- Auch genannt: MPPI, MPPI control, information-theoretic MPC, path integral MPC
- Kategorie: Control › Feedback control
- Schlagwörter: model-predictive-control, sampling-based-control, optimal-control, gpu-computing, navigation
Ein samplingbasiertes Verfahren der modellprädiktiven Regelung, das viele zufällig gestörte Stellgrößenfolgen durch ein Dynamikmodell simuliert und sie, nach Kosten gewichtet, mittelt, um die nächste Aktion zu wählen.
Definition
Model Predictive Path Integral (MPPI) Control ist eine samplingbasierte Form der modellprädiktiven Regelung, entwickelt von Grady Williams, Evangelos Theodorou und Kollegen, mit einer viel zitierten Demonstration von 2016 an einem kleinen autonomen Rallyeauto, das mit hoher Geschwindigkeit auf einer unbefestigten Strecke fuhr. Wie andere modellprädiktive Regler plant MPPI eine Folge von Stellgrößen über einen kurzen Horizont, wendet die erste an und plant im nächsten Zeitschritt neu. Was es auszeichnet, ist die Art, wie der Plan berechnet wird.
In jedem Schritt geht MPPI von der vorherigen Stellgrößenfolge aus und erzeugt durch Hinzufügen von Zufallsrauschen eine große Zahl gestörter Varianten davon. Jede gestörte Folge wird durch ein Dynamikmodell ausgerollt, um die resultierende Trajektorie vorherzusagen, und diese Trajektorie wird mit einer Kostenfunktion bewertet. Die neue Stellgrößenfolge ist ein gewichteter Mittelwert aller Samples, mit Gewichten, die gemäß einem Temperaturparameter exponentiell mit den Kosten abnehmen. Samples mit niedrigen Kosten dominieren den Mittelwert, während die Aktualisierung glatt bleibt.
Das Verfahren stammt aus der Theorie der Pfadintegralregelung, die eine Klasse stochastischer Optimalsteuerungsprobleme mit Erwartungswerten über gesampelte Trajektorien verknüpft. In der Praxis liegt der Hauptreiz von MPPI darin, dass es keine Gradienten braucht: Dynamikmodell und Kostenfunktion können nichtlinear, unstetig oder gelernt sein, solange sie sich viele Male auswerten lassen. Rollouts sind unabhängig voneinander und lassen sich daher gut auf GPUs parallelisieren.
Die Kompromisse sind der Rechenaufwand, der mit der Zahl der Samples und der Horizontlänge wächst, und die Empfindlichkeit gegenüber Rauschpegel und Temperatur. Mit zu wenig Rauschen exploriert der Regler schlecht; mit zu viel werden die Befehle zittrig, weshalb eine Glättung der gesampelten Folgen oder der Ausgabe üblich ist.
Warum es wichtig ist
MPPI ermöglicht Robotern die Planung mit komplexen oder gelernten Dynamikmodellen und mit Kosten, die sich schwer differenzieren lassen, etwa Hinderniskarten und Geländerisiko. Da seine Rollouts parallel laufen, kann es schnell genug neu planen für Bodenfahrzeuge, Drohnen und Laufroboter, die in Echtzeit arbeiten.
Wichtige Anwendungen
- Autonomes Fahren mit hoher Geschwindigkeit und im Gelände
- Lokale Navigation für mobile Roboter, auch im ROS 2 Nav2-Stack
- Agile Quadrotorregelung
- Planung mit gelernter Dynamik und Weltmodellen
- Manipulation und Fortbewegung mit nicht glatten Kontaktkosten
In der Praxis
Ein Team, das MPPI für die Navigation im Freien einsetzt, betreibt es typischerweise auf einer GPU an Bord und sampelt in jedem Zyklus viele Stellgrößenfolgen über einen Horizont von einigen Sekunden. Jede Folge wird durch ein Fahrzeugmodell propagiert, entweder ein kinematisches oder dynamisches Modell oder ein gelerntes Vorwärtsdynamikmodell, und anhand von Kosten bewertet, die Fortschritt zum Ziel, Hindernis- und Befahrbarkeitskosten sowie die Glätte der Stellgrößen kombinieren. Es gibt Open-Source-Implementierungen, darunter einen MPPI-Controller im ROS 2 Nav2-Navigationsstack. Der größte Teil des technischen Aufwands fließt in die Kostenfunktion und die Sampling-Parameter: Teams stellen Rauschkovarianz und Temperatur in der Simulation ein und prüfen dann auf der Hardware, dass das Fahrzeug nicht schwingt und schnell auf neue Hindernisse reagiert.
Häufige Missverständnisse
- MPPI ist bloß Zufallssuche — es nutzt Zufall zur Exploration, aber seine kostengewichtete Mittelung ist aus der Theorie der stochastischen Optimalsteuerung hergeleitet
- Mehr Samples beheben schlechte Leistung immer — eine schlecht entworfene Kostenfunktion oder schlecht eingestelltes Rauschen und eine schlecht eingestellte Temperatur begrenzen die Ergebnisse unabhängig von der Zahl der Samples
- MPPI braucht kein Modell — es stützt sich auf ein Dynamikmodell, um jeden Rollout vorherzusagen; nur die Gradienten des Modells sind unnötig
Wer das wissen sollte
- Regelungsingenieure für autonome Fahrzeuge und mobile Roboter
- Entwickler von Drohnen- und Quadrotorregelung
- Forschende, die gelernte Modelle mit Planung kombinieren
- Nav2-Nutzer, die lokale Controller konfigurieren
Verwandte Technologien
- Modellprädiktive Regelung (Model Predictive Control)
- Nav2
- Kreuzentropie-Methode (Cross-Entropy Method)
- iLQR
- Vorwärtsdynamikmodell (Forward Dynamics Model)
- CUDA
Verwandte Begriffe
Verwandte Projekte
- Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
- ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
- MRPT: Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation
- TurtleBot3: ROS packages for TurtleBot3 — the standard educational mobile robot platform
- MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo