Contents — find the section you need

Ein Pfad ist geometrisch; eine Trajektorie legt fest, wann dieser Pfad mit welcher Geschwindigkeit, Beschleunigung und welchem Ruck durchlaufen wird. Die Mittellinie eines Ganges gibt einem beladenen Wagen, einem flexiblen Roboterarm oder einem kollaborativen Manipulator keine Auskunft darüber, wie schnell er sich drehen oder anhalten kann. Selbst eine kollisionsfreie Polylinie, die von einem Planer erzeugt wird, kann unmögliche Lenkmanöver erfordern, ein Gelenk überlasten, Vibrationen auslösen oder die Nutzlast verlieren. Die Trajektoriengenerierung übersetzt geometrische Machbarkeit in zeit- und dynamikbewusste Ausführbarkeit.

Diese Einführung vergleicht trapezförmige/dreieckige Geschwindigkeitsprofile, Polynome fünften Grades und minimalen Ruck. Sie behandelt außerdem Grenzen, Sicherheit, Implementierung und die Schnittstelle zu ROS 2 und der Pfadplanung. Siehe Pfadplanungs-Einführung, ROS 2-Einführung und Einführung in Visual SLAM.

Praktische Schlussfolgerung

  • Trapezförmige Profile verdeutlichen maximale Geschwindigkeit und Beschleunigung. Kurze Bewegungen ergeben dreieckige Profile ohne Reisesegment. Ihre idealen Beschleunigungsschritte implizieren einen unendlichen Ruck, der flexible Mechaniken und Nutzlasten anregen kann.

  • Ein Polynom fünften Grades erfüllt die Randbedingungen für Position, Geschwindigkeit und Beschleunigung an beiden Enden. Null-Endpunkte für Geschwindigkeit und Beschleunigung gewährleisten einen stetigen Übergang von Position zu Beschleunigung zwischen den Segmenten.

  • Der minimale Ruck minimiert \int j(t)^2dt unter den vorgegebenen Endpunktbedingungen; bei fester Dauer ergibt sich ein Polynom fünften Grades. „Minimum“ bezieht sich auf das gewählte Ziel, nicht automatisch auf Energie, Kollisionsrisiko oder Sicherheit.

Position, Geschwindigkeit, Beschleunigung, Ruck, Grenzwerte, Stromstärke, Bremsweg, Trackingfehler und Kartenaktualität werden gleichzeitig überwacht. Ein Trajektoriengenerator ist kein Not-Aus- oder Kollisionsschutzsystem.

Zeitparametrisierung eines Pfades

Für den räumlichen Pfad p(s) und den Fortschritt s\in[0,1] über die Zeit t ergibt sich die Trajektorie p(s(t)). Hierbei ist \dot s die Fortschrittsrate:

\dot p=\frac{dp}{ds}\dot s,\qquad \ddot p=\frac{d^2p}{ds^2}\dot s^2+\frac{dp}{ds}\ddot s

Eine hohe Krümmung erhöht die Querbeschleunigung. Ein mobiler Roboter folgt näherungsweise a_{lat}=v^2\kappa, wobei \kappa die Krümmung ist. Ein seitlicher Grenzwert a_{lat,max} ergibt v\le\sqrt{a_{lat,max}/|\kappa|}. Eine Geschwindigkeitserhöhung ohne Glättung einer Kurve stellt eine unmögliche Lenkaufgabe für den Tracker dar. Bei einem Arm kann selbst eine gleichmäßige Endeffektorbahn in der Nähe einer kinematischen Singularität zu hohen Gelenkgeschwindigkeiten führen; daher müssen die Einschränkungen von Hand, Fahrzeug, Gelenk und Aktor gemeinsam geprüft werden.

Trapez- und Dreiecksgeschwindigkeit

Für die Distanz D, die Höchstgeschwindigkeit v_{max} und die Beschleunigungsgröße a_{max} beträgt die Beschleunigungszeit t_a=v_{max}/a_{max} und die Strecke, die nur zum Beschleunigen/Verzögern zurückgelegt wird, D_{tri}=v_{max}^2/a_{max}. Die Beschleunigungsgrenze ist a_{max}. Falls D\ge D_{tri}, beträgt die Reisezeit

t_c=\frac{D-D_{tri}}{v_{max}}

Falls D<D_{tri}, entfällt der Reisemodus und die Höchstgeschwindigkeit beträgt v_p=\sqrt{Da_{max}}. Dieses Profil ist transparent und lässt sich leicht in einfachen Antrieben implementieren. Die momentanen Beschleunigungsänderungen sind nicht physikalisch bedingt: Ein S-förmiges Profil begrenzt den Ruck durch eine stufenweise Beschleunigungsrampe, wodurch Stöße und Vibrationen reduziert und gleichzeitig die Bewegung verlängert werden.

Diagram 1 · Use the button to switch views
Trapezförmiges Profil: Position, Geschwindigkeit, Beschleunigung und Ruck

Diagramm: Duskcoil, konzeptionell. In einem idealen Trapez führen Beschleunigungsdiskontinuitäten zu einem impulsartigen Ruck; dies ist keine gemessene Maschinenreaktion.

Polynome fünften Grades und minimaler Ruck

Sei

p(t)=a_0+a_1t+a_2t^2+a_3t^3+a_4t^4+a_5t^5

Sechs Endpunktbedingungen – Position, Geschwindigkeit, Beschleunigung zum Anfangszeitpunkt und T – bestimmen die sechs Koeffizienten. Kurz gesagt sind dies p(0),\dot p(0),\ddot p(0),p(T),\dot p(T),\ddot p(T) und, für eine Bewegung von Ruhe zu Ruhe, p(0)=0,p(T)=D,\dot p(0)=\dot p(T)=\ddot p(0)=\ddot p(T)=0. Für eine Bewegung von Ruhe zu Ruhe über die gewählte Distanz, mit \tau=t/T,

p(t)=D(10\tau^3-15\tau^4+6\tau^5)

Minimale Rucklösung

\min_p\int_0^T\left(\frac{d^3p}{dt^3}\right)^2dt

unter Berücksichtigung von Endpunktposition, Geschwindigkeit und Beschleunigung. Die Euler-Lagrange-Bedingung führt zu einer Ableitung sechsten Grades von null, was eine Ableitung fünften Grades ergibt. Eine Verkürzung von T erhöht die erforderliche Geschwindigkeit, Beschleunigung und den Ruck rapide, daher ist die Wahl der Dauer ebenso wichtig wie die Wahl der Endpunktpositionen.

Diagram 2 · Use the button to switch views
Vergleich von minimalem Ruck und Trapezprofil

Diagramm: Duskcoil. Der Vergleich bezieht sich auf die Glätte der Endpunkte, nicht auf eine universelle Messgröße für Zeit, Energie oder Sicherheit.

Implementierung und ROS 2-Anbindung

Definieren Sie für ein Gelenk die Bewegung von q_0 nach q_f, entnehmen Sie q_d,\dot q_d,\ddot q_d aus einer Quintik und übergeben Sie diese Werte an eine Positions-/Geschwindigkeits-/Kraftregelung. Geschwindigkeit und Beschleunigung können die Vorsteuerung unterstützen. Eine alleinige Interpolation pro Gelenk kann dazu führen, dass der Endeffektor in die Nähe eines Hindernisses gelangt. Überprüfen Sie daher auch kartesische Bahn, inverse Kinematik, Gelenkbereich und Selbstkollision.

Glätten Sie für einen mobilen Roboter eine Route aus A* oder RRT, wenden Sie krümmungsabhängige Geschwindigkeitsbegrenzungen an, wählen Sie ein Trapez-/S-Kurven-/Minimal-Ruck-Zeitgesetz und wandeln Sie die generierte Geschwindigkeit v(t) in Radgeschwindigkeiten oder Lenkung und Beschleunigung um. Erscheint eine Person in einer lokalen Kostenkarte, ist die Beibehaltung des bisherigen gleichmäßigen Ankunftsverlaufs weniger wichtig als das Verlangsamen, Anhalten oder Umplanen des Pfades. Globale Pfadplanung ist nicht gleichzusetzen mit lokaler Sicherheit.

In ROS 2 werden Pfad-, Trajektorien- und Steuerungsbefehlszeitstempel unterschieden. Das Verhalten bei Taktsprüngen, verzögerten Trajektorienmeldungen, Abbruch, Ersetzung und verpassten Steuerungsperioden wird definiert; veraltete Trajektorien werden verworfen und Geschwindigkeitsdiskontinuitäten bei Ersetzungen vermieden. Der in ROS 2 Primer beschriebene ROS-2-Lebenszyklus und die Hardwaregrenzen helfen bei der Zuweisung dieser Verantwortlichkeiten, garantieren jedoch keine Echtzeit- oder funktionale Sicherheit.

Grenzen, Sicherheit und Prüfungen

Zu den Grenzen gehören |v|\le v_{max}, |a|\le a_{max} und |j|\le j_{max}, aber auch Gelenkbereich, Drehmoment-/Strom-/Wärmekapazität, Reifenreibung, Lenkgeschwindigkeit, Nutzlast, Wahrnehmung, Kommunikationslatenz und Bremsweg. Eine einfache Abschätzung d_{stop}\simeq v^2/(2a_{brake})+v t_{latency} zeigt, dass der Bremsweg quadratisch mit der Geschwindigkeit zunimmt, während die Verzögerung bei der Erfassung und Berechnung bestehen bleibt. Ein Generator muss eine Trajektorie abbrechen können, wenn der Trackingfehler, die Positionsunsicherheit, die Sättigung, die Hinderniserkennung oder die veraltete Karte einen bestimmten Bereich überschreiten.

Problem Wahrscheinliche Ursache Überwachung Beispielhafte Reaktion
Fehler in Kurven Geschwindigkeits-/Krümmungsabweichung Seitenfehler, Lenksättigung langsame, gleichmäßige Route, maximale Krümmung
Nutzlastoszillation hoher Ruck/flexibler Modus IMU, Beschleunigung, Vibration S-Kurve, längere Zeit, Resonanz vermeiden
Sprung bei Zieländerung Geschwindigkeit an der nichtlinearen Grenze v,a,j, Strom Stoßfreies Spleißen und Reinterpolation
Kann nicht anhalten Verzögerung/Bremsung/Kartenfehler Aktualität, Bremsweg Geschwindigkeitsbegrenzung und sicherer Stopp
Gelenk am Limit IK/Zeitgesetz-Fehlanpassung Position, Geschwindigkeit, Drehmoment Neuplanung, Ziel verwerfen, verlangsamen

Checkliste für die Implementierung

  1. Pfad vs. Trajektorie, Frames, Zielzeit und Steuerperiode definieren.

  2. v,a,j anhand der gemessenen Aktuator-, Nutzlast- und Stoppgrenzen festlegen.

  3. Dreieckige/trapezförmige Umschaltung und Zielersetzungsrandbedingungen testen.

  4. Maximale Ableitungen bei Reduzierung der Quintikdauer prüfen.

  5. Alte Trajektorien bei Kartenaktualisierung, Lokalisierungssprung, Tracking-Abweichung, Kommunikationsverlust oder Hinderniserkennung verwerfen.

  6. Überprüfen Sie unabhängige Not-Aus-, Drehmoment- und Verfahrwegbegrenzungen, falls die Trajektorienberechnungssoftware ausfällt.

Überprüfen Sie Ihr Verständnis
Garantiert eine gleichmäßige Positionskurve eine realisierbare Bewegung?

Das Timing bestimmt Geschwindigkeit, Beschleunigung und Ruck. Überprüfen Sie deren Grenzwerte sowie den geometrischen Pfad.

Referenzen

Related reading

Explore another aspect of this fieldMPC-Labor – Krümmungsfolge im Horizont und innerhalb der Lenkgrenzen neu lösenExplore another aspect of this fieldPfadverfolgungs-Vergleichs-Labor – PP, APP, RPP, Stanley und MPC unter denselben Bedingungen laufen lassen