Open Source Robotics

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

Penalty-Based Contact Model

  • Auch genannt: spring-damper contact model, penalty method contact
  • Kategorie: Software & tooling › Simulation & twins
  • Schlagwörter: contact, physics-simulation, differentiable-simulation, numerical-methods, dynamics

Ein Kontaktmodell, das Körper leicht überlappen lässt und sie mit einer Feder-Dämpfer-Kraft auseinanderdrückt, die proportional zu Eindringtiefe und Eindringgeschwindigkeit ist.

Definition

Ein penaltybasiertes Kontaktmodell (Penalty-Based Contact Model) behandelt Kontakt als steife Feder mit Dämpfung. Wenn sich zwei Körper überlappen, misst der Simulator die Eindringtiefe entlang der Kontaktnormalen und bringt eine abstoßende Kraft auf, typischerweise k mal die Tiefe plus d mal die Eindringgeschwindigkeit, wobei k eine Steifigkeit und d ein Dämpfungskoeffizient ist. Die Kraft wirkt nur, solange sich die Körper überlappen, und wird begrenzt, damit der Kontakt die Körper nie zueinander zieht. Es gibt nichtlineare Varianten; das Hunt–Crossley-Modell beispielsweise lässt die Dämpfungskraft mit der Eindringtiefe wachsen, um den unphysikalischen Kraftsprung im Moment des Aufpralls zu vermeiden. Tangentiale Reibung wird meist als regularisierte Form der Coulomb-Reibung hinzugefügt.

Der Ansatz ist attraktiv, weil er einfach und lokal ist: Kontaktkräfte sind explizite Funktionen des aktuellen Zustands, sodass kein globales Problem mit Zwangsbedingungen gelöst werden muss, und die Kräfte sind stetig im Zustand, was gradientenbasierter Optimierung und differenzierbarer Simulation entgegenkommt. Die andere Familie, harter oder nebenbedingungsbasierter Kontakt, erzwingt Nichtdurchdringung exakt über Komplementaritätsprobleme oder beschränkte Optimierung, um den Preis komplexerer Solver und nicht glatten Verhaltens. Modelle mit weichen Nebenbedingungen und hydroelastische Modelle liegen zwischen beiden.

Die Hauptschwierigkeit ist die Steifigkeit. Eine weiche Feder lässt sichtbares Eindringen und federnden, schwammigen Kontakt zu. Eine steife Feder hält das Eindringen klein, macht die Gleichungen aber steif, erfordert sehr kleine Zeitschritte oder implizite Integration, um stabil zu bleiben, und erzeugt große, sich schnell ändernde Kräfte. Für differenzierbare Simulation ist das auch für die Gradienten wichtig: Steife Penalty-Kontakte erzeugen Gradienten, die in der Nähe von Kontaktereignissen sehr groß sind, und deren Varianz über Rollouts hinweg wächst mit zunehmender Steifigkeit, was exakte Simulatorgradienten für die Policy-Optimierung weniger nützlich machen kann als glattere Schätzungen.

Warum es wichtig ist

Kontakt ist der schwierigste Teil der Robotersimulation, und die Wahl des Kontaktmodells bestimmt, wie stabil, schnell, genau und differenzierbar ein Simulator ist. Penalty-Modelle sind in differenzierbaren und Forschungssimulatoren verbreitet, daher erklärt das Verständnis ihres Steifigkeitskompromisses viele der Instabilitäten, Durchdringungen und Gradientenprobleme, auf die Ingenieure stoßen.

Wichtige Anwendungen

  • Differenzierbare Physiksimulatoren für Regelungs- und Entwurfsoptimierung
  • Simulation weichen und verformbaren Kontakts
  • Simulation der Beinfortbewegung mit nachgiebigen Bodenmodellen
  • Haptisches Rendering und virtuelle Führungen (Virtual Fixtures)
  • Einfache selbst geschriebene Simulatoren für Prototyping und Forschung

In der Praxis

Ein Forscher baut einen einfachen differenzierbaren Simulator, um eine Schiebebewegung zu optimieren. Die Kontakte zwischen Schieber, Kiste und Tisch verwenden ein Penalty-Modell mit einer linearen Feder und einem Dämpfer entlang der Normalen sowie einem geglätteten Coulomb-Reibungsterm. Bei geringer Steifigkeit sinkt die Kiste sichtbar in den Tisch ein und gleitet seltsam; eine höhere Steifigkeit behebt das, lässt die Simulation aber explodieren, wenn der Zeitschritt nicht um eine Größenordnung verkleinert wird. Auch die Gradienten der Endposition der Kiste bezüglich der Schiebetrajektorie werden sprunghaft. Der Forscher entscheidet sich für eine Steifigkeit, die das Eindringen beim gewählten Zeitschritt auf einen Bruchteil eines Millimeters begrenzt, ergänzt eine Dämpfung nahe der kritischen und glättet die Gradientenschätzungen durch Mittelung über mehrere gestörte Rollouts.

Häufige Missverständnisse

  • Eindringen bedeutet, dass das Modell fehlerhaft ist — die Feder braucht eine gewisse Auslenkung, um Kraft zu erzeugen, daher ist geringes Eindringen inhärent und wird abgestimmt statt beseitigt
  • Steiferer Kontakt ist immer genauer — höhere Steifigkeit erfordert kleinere Zeitschritte, kann die Simulation destabilisieren und erhöht die Varianz der Gradienten
  • Penalty-Kontakt liefert überall glatte Gradienten — die Kraft wird im Moment des Kontakts weiterhin ein- und ausgeschaltet, daher können Gradienten um Kontaktereignisse groß oder wenig aussagekräftig sein

Wer das wissen sollte

  • Entwickler von Physiksimulationen und Engines
  • Forschende, die mit differenzierbarer Simulation arbeiten
  • Ingenieure für Fortbewegung und Manipulation, die auf Simulation angewiesen sind
  • Haptik-Entwickler

Verwandte Technologien

  • Hunt-Crossley-Kontaktmodell (Hunt-Crossley Contact Model)
  • Kelvin-Voigt-Modell (Kelvin-Voigt Model)
  • Lineares Komplementaritätsproblem (Linear Complementarity Problem)
  • Hydroelastischer Kontakt (Hydroelastic Contact)
  • Implizite Integration (Implicit Integration)

Verwandte Begriffe

  • Differentiable Simulation
  • Coulomb Friction
  • Contact mode
  • Signed Distance Field
  • Hybrid system
  • Reduced Coordinates

Verwandte Projekte

  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • ProtoMotions: NVIDIA framework for training simulated digital humans and humanoid robots on GPUs
  • PHC: Physics-based perpetual humanoid controller with fail-state recovery for real-time avatars
  • SOFA Framework: Real-time physics simulation framework for medical simulation and soft tissue modeling
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
  • frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics

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