Open Source Robotics

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

Motion Primitive

  • Auch genannt: movement primitive, motor primitive, action primitive, skill primitive
  • Kategorie: Planning & manipulation › Motion planning
  • Schlagwörter: motion-planning, manipulation, skills, learning-from-demonstration, task-planning

Ein wiederverwendbarer Baustein von Roboterbewegung, etwa eine parametrisierte Fertigkeit (zu einer Pose fahren, Greifer öffnen) oder ein kurzes Trajektoriensegment, den Planer und Policies zu längerem Verhalten kombinieren.

Definition

Bewegungsprimitive (Motion Primitives) zerlegen Roboterverhalten in wiederverwendbare Einheiten, die sich verketten lassen. Statt jede Bewegung auf der Ebene von Gelenkbefehlen zu planen oder zu lernen, ruft ein System ein Primitiv mit wenigen Parametern auf, etwa einer Zielpose, einer Greiferöffnung oder einer Schieberichtung, und das Primitiv erzeugt die detaillierte Bewegung. Der Begriff umfasst mehrere verwandte Ideen, die sich darin unterscheiden, wie das Primitiv dargestellt wird und was zwischen Primitiven auswählt.

In Manipulation und Aufgabenplanung sind Primitive parametrisierte Fertigkeiten: zu einer Pose fahren, greifen, ablegen, schieben, ausgießen, den Greifer öffnen oder schließen. Aufgabenplaner, Behavior Trees oder Sprachmodelle wählen eine Abfolge und füllen die Parameter aus; mehrere neuere Systeme lassen ein Sprachmodell ein kurzes Programm schreiben, das solche Funktionen aufruft. In der Bewegungsplanung sind Primitive kurze vorberechnete Trajektoriensegmente, die die Dynamik eines Fahrzeugs respektieren, und Lattice-Planer setzen sie auf einem regelmäßigen Gitter von Zuständen zusammen, um zulässige Pfade für Autos, mobile Roboter und Drohnen zu suchen. Beim Lernen aus Demonstrationen sind Bewegungsprimitive aus Beispielen gelernte Trajektorienmodelle, die sich anpassen lassen: Dynamic Movement Primitives (DMPs), entwickelt von Ijspeert, Nakanishi und Schaal, kodieren eine Demonstration als stabiles dynamisches System mit einem gelernten Anregungsterm, sodass Start und Ziel sich ändern können, während Probabilistic Movement Primitives (ProMPs) eine Verteilung über Trajektorien darstellen.

Der zentrale Zielkonflikt besteht zwischen Struktur und Reichweite. Eine feste Bibliothek macht Verhalten vorhersagbar, testbar und schnell planbar, da der Planer nur über wenige diskrete Wahlmöglichkeiten und ihre Parameter sucht. Sie beschränkt den Roboter aber auch auf das, was die Bibliothek ausdrücken kann: Kontaktreiche, reaktive oder eng koordinierte Bewegungen können Primitive mit eingebauter Rückführung oder gelernte Policies erfordern. Die Wahl der Granularität der Primitive ist daher eine eigenständige Entwurfsentscheidung.

Warum es wichtig ist

Bewegungsprimitive machen Aufgaben mit langem Horizont für Planer und Sprachmodelle handhabbar, indem sie ihnen eine kleine Menge erprobter Aktionen geben. Sie trennen übergeordnete Entscheidungen von der Low-Level-Regelung, sodass jede Schicht für sich entwickelt und verifiziert werden kann.

Wichtige Anwendungen

  • Manipulation, gesteuert von Aufgabenplanern oder Sprachmodellen
  • Lattice-basierte Bewegungsplanung für Fahrzeuge und Drohnen
  • Lernen aus Demonstrationen mit Dynamic Movement Primitives
  • Behavior Trees, die wiederverwendbare Fertigkeiten aufrufen
  • Einräumen, Verpacken und Montage mit langem Horizont

In der Praxis

Ein Team, das ein System zum Einräumen von Regalen baut, definiert eine Bibliothek von Primitiven wie Schieben, Wischen, Einsetzen und Greifen-und-Ablegen, jedes als kurzer Regler mit Parametern wie Kontaktpunkt, Richtung und Strecke implementiert, jedes mit Vorbedingungen, die vor der Ausführung geprüft werden, und mit Abbruchbedingungen für Kraft oder Position. Ein gelerntes Modell sagt vorher, wie sich Objekte unter jedem parametrisierten Primitiv bewegen, ein Planer sucht über Abfolgen und Parameter, und der Roboter führt den ersten Schritt aus und plant neu. Bei einer Drohne erscheint dieselbe Idee als Bibliothek kurzer Polynomtrajektorien, die über Endgeschwindigkeiten abgetastet und in jedem Planungszyklus gegen die Hinderniskarte geprüft werden.

Häufige Missverständnisse

  • Ein Bewegungsprimitiv ist immer eine feste, fest einprogrammierte Trajektorie — viele sind parametrisiert oder enthalten Rückführung, und DMPs passen sich zur Laufzeit an neue Ziele an
  • Primitive zu verwenden heißt, auf Lernen zu verzichten — Primitive werden oft aus Demonstrationen gelernt, und gelernte Modelle werden genutzt, um sie auszuwählen und zu parametrisieren
  • Mit einer ausreichend großen Bibliothek lässt sich jede Aufgabe lösen — Aufgaben, die kontinuierlichen reaktiven Kontakt erfordern, können außerhalb dessen liegen, was diskrete Primitive ausdrücken, und die Bibliothek selbst muss entworfen und gepflegt werden

Wer das wissen sollte

  • Manipulationsingenieure, die Fertigkeitsbibliotheken aufbauen
  • Ingenieure für Bewegungsplanung, die mit Lattice-Planern arbeiten
  • Forschende im Roboterlernen, die am Lernen aus Demonstrationen arbeiten
  • Entwickler, die Sprachmodelle oder Aufgabenplaner mit Robotern verbinden

Verwandte Technologien

  • Dynamic Movement Primitives (DMP)
  • Probabilistic Movement Primitives (ProMP)
  • State-Lattice-Planer (State Lattice Planner)
  • Behavior Trees
  • Task and Motion Planning
  • Fertigkeitsbibliotheken (Skill Libraries)

Verwandte Begriffe

  • Motion Planning
  • Trajectory Planning
  • Task and Motion Planning
  • Task Planning
  • Imitation Learning
  • Behavior Tree

Verwandte Projekte

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
  • NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
  • OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
  • BehaviorTree.CPP: C++ behavior tree library for robot task planning, powering Nav2 and ROS 2 systems
  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design

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