Minimum-Snap Trajectory
- Auch genannt: minimum snap trajectory, min-snap
- Kategorie: Planning & manipulation › Trajectory optimisation
- Schlagwörter: trajectory-generation, quadrotors, aerial-robotics, motion-planning, optimization
Eine glatte Bahn durch Wegpunkte, die durch Minimierung des Integrals des quadrierten Snaps, der vierten Ableitung der Position, gefunden wird; der Standardweg zur Planung von Quadrotorflügen.
Definition
Eine Minimum-Snap-Trajektorie (minimum-snap trajectory) verläuft durch eine Folge von Wegpunkten und minimiert dabei das Integral der quadrierten vierten zeitlichen Ableitung der Position, die als Snap bezeichnet wird. Jede Koordinate wird meist als stückweises Polynom dargestellt, mit einem Segment pro Wegpunktpaar, wobei an den Übergängen Stetigkeit der Position und ihrer Ableitungen erzwungen wird. Da die Kosten in den Polynomkoeffizienten quadratisch und die Wegpunkt- und Stetigkeitsbedingungen linear sind, ist die Bestimmung der Koeffizienten bei festen Segmentdauern ein quadratisches Programm, das sich im unbeschränkten Fall in geschlossener Form lösen lässt.
Das Verfahren ist eng mit Quadrotoren verbunden. Mellinger und Kumar (2011) zeigten, dass ein Quadrotor mit Position und Gierwinkel als flachen Ausgängen differenziell flach (differentially flat) ist: Der vollständige Zustand und die Eingänge lassen sich aus diesen Ausgängen und ihren Ableitungen berechnen. Schubrichtung und -betrag folgen aus der Beschleunigung, die Körperdrehraten aus dem Ruck und die Winkelbeschleunigungen, und damit die Motormomente, aus dem Snap. Die Minimierung des Snaps hält daher die nötigen Änderungen der Motorbefehle klein und glatt, was die Trajektorie leichter verfolgbar macht. Dieselbe Idee bei niedrigerer Ordnung ergibt Minimum-Jerk-Trajektorien, die seit Langem für Armbewegungen verwendet werden, und Bahnen minimaler Beschleunigung.
Die Polynomlösung deckt nur einen Teil des Problems ab. Die Segmentdauern müssen separat gewählt werden, oft durch eine äußere Optimierung oder durch Skalieren der Zeit, bis Grenzen für Geschwindigkeit, Schub und Körperdrehraten eingehalten sind. Die Lösung verläuft durch die Wegpunkte, vermeidet aber von sich aus keine Hindernisse zwischen ihnen; daher fügen Planer entweder Zwischenwegpunkte ein, wo die Bahn eine Ecke schneidet, oder beschränken jedes Segment auf einen sicheren konvexen Korridor. Minimum-Snap-Trajektorien sind glatt, aber nicht zeitoptimal, weshalb Rennsysteme auch sampling- oder optimierungsbasierte zeitoptimale Planer einsetzen.
Warum es wichtig ist
Die Erzeugung von Minimum-Snap-Trajektorien ist der Standardweg, Wegpunkte in fliegbare Referenzen für Multirotoren zu verwandeln. Sie ist schnell, gut verstanden und lässt sich über die differenzielle Flachheit sauber auf die Quadrotordynamik abbilden, weshalb sie in Forschungsautopiloten, im Drohnenrennsport und in der Inspektion aus der Luft vorkommt.
Wichtige Anwendungen
- Wegpunktflug und aggressive Manöver von Quadrotoren
- Referenztrajektorien für Drohnenrennen
- Bahnen für Inspektion und Fotografie aus der Luft
- Glatte Gelenk- oder kartesische Trajektorien für Manipulatoren (Minimum-Jerk-Varianten)
- Trajektorienverfeinerung nach einem geometrischen Bahnplaner
In der Praxis
Ein Drohnenrennteam hat eine Karte der Torpositionen auf einer Strecke. Es setzt einen Wegpunkt in die Mitte jedes Tores, stellt den Gierwinkel so ein, dass er zum nächsten Tor zeigt, und passt ein stückweises Minimum-Snap-Polynom in x, y und z an, das an jedem Tor bis zum Snap stetig ist. Eine anfängliche Zeitzuteilung ergibt sich aus Abständen und einer Nenngeschwindigkeit. Anschließend prüft das Team die Trajektorie gegen Grenzen für Geschwindigkeit, Gesamtschub und Körperdrehraten, die über die Flachheitsabbildung berechnet werden, und streckt oder staucht Segmentzeiten, bis jede Grenze mit Reserve eingehalten wird. Die resultierende Trajektorie wird mit der Reglerfrequenz abgetastet und an einen geometrischen Folgeregler übergeben, und dieselbe Referenz wird verwendet, um Labels für eine gelernte Wahrnehmungs-Policy zu erzeugen.
Häufige Missverständnisse
- Minimum-Snap ist zeitoptimal — es minimiert Glattheitskosten für feste Segmentzeiten, nicht die Flugzeit
- Die Trajektorie vermeidet Hindernisse, weil die Wegpunkte kollisionsfrei sind — Segmente zwischen Wegpunkten können trotzdem Ecken schneiden, wenn keine Korridorbeschränkungen hinzugefügt werden
- Aktuatorgrenzen werden automatisch berücksichtigt — Grenzen für Geschwindigkeit, Schub und Körperdrehraten müssen über die Zeitzuteilung oder Nebenbedingungen geprüft und durchgesetzt werden
- Minimum-Snap ist dasselbe wie differenzielle Flachheit — Flachheit ist eine Eigenschaft des Fahrzeugmodells; Minimum-Snap ist eine Kostenfunktion, mit der flache Ausgänge geplant werden
Wer das wissen sollte
- Ingenieure für Flugrobotik und Drohnenautopiloten
- Forschende in der Bewegungsplanung
- Entwickler für Drohnenrennen und Inspektion
- Studierende der Regelungstechnik, die Trajektoriengenerierung lernen
Verwandte Technologien
- Quadratische Programmierung (Quadratic Programming)
- Stückweise polynomiale Splines (Piecewise Polynomial Splines)
- PX4
- Geometrische Folgeregelung auf SE(3) (Geometric Tracking Control on SE(3))
- Sichere Flugkorridore (Safe Flight Corridors)
Verwandte Begriffe
- Differential Flatness
- Trajectory Planning
- UAV
- Direct Collocation
- Kinodynamic Planning
- Model Predictive Control
Verwandte Projekte
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- GTSAM: Factor-graph optimization library powering many modern SLAM backends
- OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization