Nonholonomic Constraint
- Auch genannt: non-holonomic constraint
- Kategorie: Foundations & spatial maths › Kinematics
- Schlagwörter: kinematics, mobile-robots, motion-planning, wheeled-robots, control-theory
Eine Zwangsbedingung für die Geschwindigkeiten eines Systems, die sich nicht zu einer Zwangsbedingung für seine Konfiguration integrieren lässt, etwa ein Rad, das nicht seitwärts rutschen, aber dennoch jede Position erreichen kann.
Definition
Eine nichtholonome Zwangsbedingung (Nonholonomic Constraint) schränkt die Richtungen ein, in die sich ein System in jedem Augenblick bewegen kann, ohne einzuschränken, welche Konfigurationen es schließlich erreichen kann. Holonome Zwangsbedingungen lassen sich als Gleichungen in der Konfiguration selbst schreiben, etwa ein fester Abstand zwischen zwei Punkten, und sie entfernen Dimensionen aus dem erreichbaren Konfigurationsraum. Nichtholonome Zwangsbedingungen werden für Geschwindigkeiten formuliert, typischerweise in der Pfaffschen Form A(q) q̇ = 0, und lassen sich nicht zu solchen Gleichungen integrieren. Das klassische Beispiel ist ein Rad, das ohne Schlupf rollt: Seine Geschwindigkeit muss in Fahrtrichtung zeigen, und doch kann es durch Kombination von Vorwärtsbewegung und Drehen jede Position und Orientierung in der Ebene erreichen.
Radgetriebene mobile Roboter sind der häufigste Fall. Ein Roboter mit Differentialantrieb oder ein Auto kann sich nicht augenblicklich seitwärts bewegen, daher erfordert seitliches Einparken eine Folge von Vorwärts- und Rückwärtsbögen. Weitere Quellen sind lenkbare Räder an Rad-Bein-Robotern, das Rollen einer Kugel auf einer Platte und die Erhaltung des Drehimpulses bei frei schwebenden Weltraumrobotern, die Geschwindigkeiten auf eine Weise einschränkt, die sich nicht integrieren lässt. Ob ein System mit solchen Zwangsbedingungen alle Konfigurationen erreichen kann, ist eine Frage der Steuerbarkeit, die durch die Prüfung beantwortet wird, ob die Lie-Klammern der zulässigen Bewegungsrichtungen den Konfigurationsraum aufspannen (Satz von Chow).
Nichtholonome Zwangsbedingungen haben praktische Folgen für Planung und Regelung. Geradlinige Pfade im Konfigurationsraum sind oft nicht realisierbar, daher verwenden Planer Steuerfunktionen wie Dubins- oder Reeds-Shepp-Kurven, Gitterprimitive oder Trajektorienoptimierung, die die Zwangsbedingung einbezieht. In der Regelung zeigt Brocketts Ergebnis von 1983, dass viele nichtholonome Systeme, darunter das Unicycle, nicht mit einem glatten, zeitinvarianten Zustandsrückführungsgesetz in einen Punkt stabilisiert werden können; praktische Regler folgen stattdessen einer bewegten Referenztrajektorie, verwenden zeitvariante oder unstetige Rückführung oder regeln einen Punkt vor der Radachse.
Warum es wichtig ist
Die meisten Radroboter sind nichtholonom, und wer dies ignoriert, erhält Pläne, denen der Roboter nicht folgen kann, und Regler, die in der Nähe des Ziels versagen. Das Konzept erklärt auch, warum omnidirektionale Plattformen und holonome Antriebe gewählt werden, wenn Seitwärtsbewegung wichtig ist.
Wichtige Anwendungen
- Pfadplanung für Autos, Roboter mit Differentialantrieb und Sattelzüge
- Trajektorienfolgeregelung radgetriebener mobiler Roboter
- Bewegungsoptimierung für Rad-Bein-Roboter
- Einparken und Manövrieren auf engem Raum
- Lageregelung frei schwebender Weltraumroboter
In der Praxis
Ein Team, das einen Indoor-Lieferroboter mit Differentialantrieb baut, stellt fest, dass sein für einen Punktroboter geschriebener globaler Planer in schmalen Türdurchgängen Pfade mit scharfen Ecken und seitlichen Schritten erzeugt. Es stellt den lokalen Planer so um, dass er Geschwindigkeitsbefehle abtastet, die die Zwangsbedingung des Antriebs einhalten, etwa Vorwärtsgeschwindigkeit und Drehrate, und ergänzt ein abschließendes Anfahrverhalten, das entlang einer Kurve an die Ladestation heranfährt, statt kleine seitliche Fehler auf der Stelle zu korrigieren. Bei einem Rad-Bein-Vierbeiner wird eine ähnliche Zwangsbedingung in den Ganzkörperoptimierer aufgenommen: Die Bodengeschwindigkeit jedes Rades muss in Richtung seines Lenkwinkels zeigen, sodass der Solver nie seitlichen Radschlupf plant.
Häufige Missverständnisse
- Ein nichtholonomer Roboter kann manche Positionen nicht erreichen — er kann meist jede Konfiguration erreichen, nur nicht entlang jedes Pfades
- Nichtholonom bedeutet, dass der Roboter weniger Freiheitsgrade hat — der Konfigurationsraum behält seine Dimension; eingeschränkt sind nur die momentanen Geschwindigkeiten
- Jede Geschwindigkeitsgrenze ist eine nichtholonome Zwangsbedingung — Geschwindigkeits- und Beschleunigungsgrenzen sind Ungleichungsgrenzen, keine nicht integrierbaren Gleichheitsbedingungen für die Richtung
- Eine gewöhnliche Rückführungsregelung kann einen autoähnlichen Roboter in einem Punkt parken — Brocketts Bedingung schließt glatte, zeitinvariante Rückführung für solche Systeme aus, daher sind andere Strategien nötig
Wer das wissen sollte
- Ingenieure für Planung und Regelung mobiler Roboter
- Teams für Bewegungsplanung autonomer Fahrzeuge
- Entwickler von Rad-Bein- und Feldrobotern
- Robotikstudierende, die sich mit Kinematik und Regelung befassen
Verwandte Technologien
- Dubins-Pfade (Dubins Paths)
- Reeds-Shepp-Kurven (Reeds-Shepp Curves)
- Zustandsgitter-Planer (State Lattice Planners)
- Pure Pursuit
- Mecanum-Räder (Mecanum Wheels)
Verwandte Begriffe
- Unicycle Model
- Configuration Space
- Omnidirectional Drive
- Kinematics
- Trajectory Planning
- Underactuated system
Verwandte Projekte
- 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
- mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
- Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
Videos
- Holonomic vs. Nonholonomic Constraints for Robots | Fundamentals of Robotics | Lesson 4: Mecharithm - Robotics and Mechatronics
- Nonholonomic Constraints & Lagrange Multipliers Explained | ESM 5314 Lecture 22: Dr. Shane Ross