Open Source Robotics

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

Differentiable Simulation

  • Auch genannt: differentiable physics, differentiable simulator, differentiable dynamics
  • Kategorie: Software & tooling › Simulation & twins
  • Schlagwörter: simulation, automatic-differentiation, system-identification, trajectory-optimization, sim-to-real, physics-engine

Physiksimulation, die Gradienten ihrer Ausgaben nach ihren Eingaben und Parametern berechnen kann, sodass Roboterregler, Entwürfe und Modelle direkt per Gradientenabstieg optimiert werden können.

Definition

Differenzierbare Simulation (differentiable simulation) ist Physiksimulation, die so geschrieben ist, dass sich Ableitungen durch sie hindurch berechnen lassen. Ein herkömmlicher Simulator nimmt einen Zustand, Stellgrößen und physikalische Parameter entgegen und gibt den nächsten Zustand zurück. Ein differenzierbarer Simulator gibt zusätzlich zurück, wie sich dieser nächste Zustand, oder jede aus einer ganzen simulierten Trajektorie berechnete Größe, in Bezug auf diese Eingaben ändert. Die Gradienten werden meist mit automatischer Differentiation in Frameworks wie JAX, PyTorch oder NVIDIA Warp gewonnen oder aus analytischen Ableitungen der Dynamikgleichungen.

Gradienten durch die Physik eröffnen mehrere Anwendungen. Bei der Trajektorienoptimierung kann eine Folge von Stellgrößen verbessert werden, indem man dem Gradienten einer Kostenfunktion durch den simulierten Rollout folgt. Beim Policy-Lernen propagieren analytische Policy-Gradienten einen Aufgabenverlust durch den Simulator zurück in das Policy-Netz, was weit weniger Samples erfordern kann als Reinforcement-Learning-Methoden, die Gradienten allein aus Belohnungen schätzen. Bei der Systemidentifikation werden Parameter wie Masse, Reibung oder Steifigkeit an reale Messungen angepasst, und beim Co-Design werden die Abmessungen eines Roboters zusammen mit seinem Regler optimiert.

Die Robotik ist wegen des Kontakts ein anspruchsvolles Feld für differenzierbare Physik. Stöße und Reibung erzeugen Unstetigkeiten und steife Dynamik, sodass der wahre Gradient null, undefiniert oder irreführend sein kann. Simulatoren begegnen dem mit geglätteten oder weichen Kontaktmodellen, nachgiebigen Straffkräften oder indem sie durch die Optimierungsprobleme differenzieren, mit denen der Kontakt aufgelöst wird. Jede dieser Entscheidungen tauscht physikalische Genauigkeit gegen Gradientenqualität. Lange Rollouts bringen ein zweites Problem mit sich: Gradienten können über viele Zeitschritte explodieren oder verschwinden, und die Optimierungslandschaft kann zerklüftet sein, selbst wenn Gradienten existieren.

Differenzierbare Simulation wird oft mit gelernten Komponenten kombiniert. Ein neuronales Netz kann die schwer herzuleitenden Teile der Dynamik modellieren, etwa das Verhalten von Aktuatoren oder die Verformung weicher Körper, während der Rest des Simulators physikbasiert bleibt, und das Gesamtsystem wird Ende-zu-Ende trainiert. Differenzierbares Rendering lässt Gradienten von Kamerabildern zurück zu Szenenparametern fließen. Verfügbare Werkzeuge sind unter anderem MuJoCo MJX, Brax und NVIDIA Warp.

Warum es wichtig ist

Gradienten erlauben es der Optimierung, die Struktur der Physik zu nutzen, statt den Simulator als Blackbox zu behandeln, was Lernen, Kalibrierung und Entwurf deutlich dateneffizienter machen kann. Differenzierbare Simulation ist außerdem ein praktischer Weg, Simulatoren an reale Hardware anzupassen und so die Lücke zwischen simuliertem und realem Verhalten zu verkleinern.

Wichtige Anwendungen

  • Systemidentifikation — Anpassung physikalischer Parameter von Robotern und Objekten an Messdaten
  • Trajektorienoptimierung — Verfeinerung von Stellgrößenfolgen per Gradientenabstieg durch simulierte Dynamik
  • Policy-Lernen — Training von Reglern mit analytischen Gradienten durch den Simulator
  • Modellierung weicher Roboter — Kalibrierung von Simulationen verformbarer Körper an realer Hardware
  • Roboter-Co-Design — Optimierung mechanischer Parameter zusammen mit dem Regler

In der Praxis

Ein Team, das differenzierbare Simulation einsetzt, zeichnet zunächst Bewegungs- und Gelenkmomentdaten seines Roboters auf und passt dann Reibungs-, Dämpfungs- und Masseparameter an, indem es die Differenz zwischen simulierten und gemessenen Trajektorien per Gradientenabstieg minimiert. Mit dem kalibrierten Modell kann es eine Trajektorie optimieren oder eine Policy trainieren, indem es einen Aufgabenverlust durch kurze simulierte Rollouts zurückpropagiert, wobei es oft den Horizont kürzt oder analytische Gradienten mit Reinforcement Learning mischt, um die Gradienten stabil zu halten. Die Gradientenqualität wird sorgfältig geprüft, zum Beispiel gegen finite Differenzen, und auf die Kontakteinstellungen wird geachtet, da weiche Kontaktparameter, die für glatte Gradienten gewählt wurden, die Simulation dem realen Roboter weniger getreu machen können.

Häufige Missverständnisse

  • Differenzierbare Simulation liefert immer bessere Gradienten als Reinforcement Learning — Kontaktunstetigkeiten und lange Horizonte können analytische Gradienten verrauscht oder irreführend machen
  • Jeder Simulator wird differenzierbar, wenn man ihn in Autodiff einbettet — nicht glatte Kontaktbehandlung, verzweigter Code und iterative Löser brauchen eine besondere Behandlung, um brauchbare Gradienten zu liefern
  • Differenzierbar heißt genauer — Differenzierbarkeit betrifft die Berechnung von Ableitungen; Glättung für gute Gradienten kann die physikalische Genauigkeit verringern

Wer das wissen sollte

  • Forschende im Roboterlernen, die an modellbasierter Regelung und modellbasiertem Lernen arbeiten
  • Simulationsingenieure, die Physik-Engines entwickeln
  • Forschende in der Soft Robotics, die verformbare Modelle kalibrieren
  • Regelungstechniker, die Trajektorienoptimierung einsetzen

Verwandte Technologien

  • Automatische Differentiation (Automatic Differentiation)
  • JAX
  • MuJoCo MJX
  • NVIDIA Warp
  • Trajektorienoptimierung (Trajectory Optimization)
  • Systemidentifikation (System Identification)

Verwandte Begriffe

  • Digital Twin
  • Sim2Real
  • Reinforcement Learning
  • System Identification

Verwandte Projekte

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • RLinf: Scalable infrastructure for post-training foundation models via RL
  • Webots: Cross-platform robot simulator with built-in models, sensors, and development environment

Videos

  • Finally, Differentiable Physics is Here!: Two Minute Papers
  • Learning on the Fly: Rapid Policy Adaptation via Differentiable Simulation (RA-L 2026): UZH Robotics and Perception Group

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