Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

Penalty-Based Contact Model

  • Aussi appelé: spring-damper contact model, penalty method contact
  • Catégorie: Software & tooling › Simulation & twins
  • Mots-clés: contact, physics-simulation, differentiable-simulation, numerical-methods, dynamics

Modèle de contact qui laisse les corps se chevaucher légèrement et les repousse par une force ressort-amortisseur proportionnelle à la profondeur et à la vitesse de pénétration.

Définition

Un modèle de contact par pénalité (penalty-based contact model) traite le contact comme un ressort raide avec amortissement. Lorsque deux corps se chevauchent, le simulateur mesure la profondeur de pénétration le long de la normale au contact et applique une force de répulsion, généralement k fois la profondeur plus d fois la vitesse de pénétration, où k est une raideur et d un coefficient d'amortissement. La force n'agit que tant que les corps se chevauchent et est écrêtée pour que le contact n'attire jamais les corps l'un vers l'autre. Il existe des variantes non linéaires ; le modèle de Hunt–Crossley, par exemple, fait croître la force d'amortissement avec la profondeur de pénétration pour éviter le saut de force non physique au moment de l'impact. Le frottement tangentiel est généralement ajouté sous la forme d'une version régularisée du frottement de Coulomb.

L'approche est séduisante parce qu'elle est simple et locale : les forces de contact sont des fonctions explicites de l'état courant, de sorte qu'aucun problème global sous contraintes n'est à résoudre, et les forces sont continues par rapport à l'état, ce qui convient à l'optimisation par gradient et à la simulation différentiable. L'autre famille, le contact dur ou fondé sur les contraintes, impose exactement la non-pénétration au moyen de problèmes de complémentarité ou d'optimisation sous contraintes, au prix de solveurs plus complexes et d'un comportement non lisse. Les modèles à contraintes souples et les modèles hydroélastiques se situent entre les deux.

La principale difficulté est la raideur. Un ressort souple laisse une pénétration visible et un contact rebondissant et spongieux. Un ressort raide garde la pénétration faible mais rend les équations raides, ce qui exige de très petits pas de temps ou une intégration implicite pour rester stable, et produit des forces importantes qui varient rapidement. Pour la simulation différentiable, cela compte aussi pour les gradients : des contacts par pénalité raides produisent des gradients très grands près des événements de contact, et leur variance d'un déroulement à l'autre croît avec la raideur, ce qui peut rendre les gradients exacts du simulateur moins utiles pour l'optimisation de politique que des estimations plus lisses.

Pourquoi c'est important

Le contact est la partie la plus difficile de la simulation robotique, et le choix du modèle de contact détermine à quel point un simulateur est stable, rapide, précis et différentiable. Les modèles par pénalité sont courants dans les simulateurs différentiables et de recherche, si bien que comprendre leur compromis de raideur explique bon nombre des instabilités, pénétrations et problèmes de gradient que rencontrent les ingénieurs.

Applications principales

  • Simulateurs physiques différentiables pour l'optimisation de la commande et de la conception
  • Simulation de contacts souples et déformables
  • Simulation de la locomotion à pattes avec des modèles de sol compliants
  • Rendu haptique et guides virtuels (virtual fixtures)
  • Simulateurs simples développés sur mesure pour le prototypage et la recherche

En pratique

Un chercheur construit un simulateur différentiable simple pour optimiser un mouvement de poussée. Les contacts entre le poussoir, la boîte et la table utilisent un modèle par pénalité avec un ressort linéaire et un amortisseur le long de la normale, ainsi qu'un terme de frottement de Coulomb lissé. Avec une faible raideur, la boîte s'enfonce visiblement dans la table et glisse de façon étrange ; augmenter la raideur corrige cela mais fait diverger la simulation à moins de réduire le pas de temps d'un ordre de grandeur. Les gradients de la position finale de la boîte par rapport à la trajectoire de poussée deviennent aussi erratiques. Le chercheur retient une raideur qui limite la pénétration à une fraction de millimètre au pas de temps choisi, ajoute un amortissement proche de l'amortissement critique, et lisse les estimations de gradient en moyennant sur plusieurs déroulements perturbés.

Idées reçues

  • Une pénétration signifie que le modèle est défaillant — le ressort a besoin d'une certaine déflexion pour produire une force, donc une faible pénétration est inhérente et se règle plutôt qu'elle ne s'élimine
  • Un contact plus raide est toujours plus précis — une raideur plus élevée exige des pas de temps plus petits, peut déstabiliser la simulation et augmente la variance des gradients
  • Le contact par pénalité donne partout des gradients lisses — la force est toujours activée et désactivée au moment du contact, si bien que les gradients autour des événements de contact peuvent être grands ou peu informatifs

Qui devrait le savoir

  • Développeurs de simulation physique et de moteurs physiques
  • Chercheurs travaillant avec la simulation différentiable
  • Ingénieurs en locomotion et en manipulation qui s'appuient sur la simulation
  • Développeurs en haptique

Technologies associées

  • Modèle de contact de Hunt-Crossley (Hunt-Crossley Contact Model)
  • Modèle de Kelvin-Voigt (Kelvin-Voigt Model)
  • Problème de complémentarité linéaire (Linear Complementarity Problem)
  • Contact hydroélastique (Hydroelastic Contact)
  • Intégration implicite (Implicit Integration)

Termes associés

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

Projets associés

  • 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

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.