Open Source Robotics

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

Contact mode

  • Aussi appelé: contact state
  • Catégorie: Planning & manipulation › Manipulation
  • Mots-clés: contact, manipulation, hybrid-dynamics, friction, planning

Une étiquette discrète indiquant quels contacts d'un système robot-objet sont actifs et si chacun adhère ou glisse ; chaque étiquette correspond à un ensemble différent de dynamiques lisses.

Définition

Dans un système à contact frottant, chaque contact potentiel peut se trouver dans l'un de plusieurs états : séparé, sans force ; adhérent, en contact sans mouvement tangentiel relatif ; ou glissant, en contact et en mouvement tangentiel, avec la force de frottement sur la frontière du cône de frottement et opposée au mouvement. Un mode de contact (contact mode) attribue l'un de ces états à chaque contact du système. À mode fixé, les équations du mouvement sont lisses, car les contraintes actives et la forme des forces de frottement sont connues. Aux frontières entre modes, la dynamique change brutalement. La dynamique de contact est donc hybride : des modes lisses séparés par des surfaces de garde, comme un écart de contact qui atteint zéro ou la force tangentielle d'un contact adhérent qui atteint la limite de frottement.

Le nombre de modes croît exponentiellement avec le nombre de contacts. Avec n contacts à trois états chacun, il y a jusqu'à 3ⁿ combinaisons, et davantage en trois dimensions où le glissement peut se produire dans différentes directions, même si beaucoup sont irréalisables pour une géométrie donnée. Cette structure combinatoire est le principal obstacle à la planification de la manipulation et de la locomotion riches en contacts. Les méthodes diffèrent dans la façon de la traiter : énumérer les modes réalisables et planifier une séquence à travers eux ; coder les choix de mode par des variables entières dans des programmes en nombres entiers mixtes ; l'optimisation de trajectoire à contact implicite, qui représente le contact par des contraintes de complémentarité afin que l'optimiseur choisisse les modes implicitement ; et le lissage, qui remplace la dynamique de contact non lisse par une approximation lisse afin que les méthodes à gradient puissent voir au-delà du mode courant, comme dans l'article de planification globale présent sur notre site.

Pour la manipulation quasi statique et quasi dynamique, où les effets inertiels sont faibles par rapport aux forces de contact et de frottement, l'énumération des modes est souvent traitable pour quelques contacts et donne un plan interprétable, par exemple : pousser l'objet pendant que le doigt adhère, laisser le doigt glisser vers une nouvelle position, puis faire pivoter l'objet autour d'un coin. Les séquences de modes sont aussi centrales en locomotion à pattes, où la démarche définit quels pieds sont en contact au fil du temps, même si la séquence y est souvent fixée à l'avance par un calendrier de démarche au lieu d'être recherchée.

Pourquoi c'est important

Choisir quels contacts établir et rompre, et s'ils adhèrent ou glissent, est la décision centrale en manipulation et en locomotion. Les modes de contact expliquent pourquoi ces problèmes sont difficiles pour les optimiseurs lisses et comment les planificateurs modernes contournent cette difficulté.

Applications principales

  • Planification de manipulation non préhensile comme pousser, faire pivoter et faire basculer
  • Manipulation dans la main avec contacts glissants et roulants
  • Optimisation de trajectoire à contact implicite pour les robots à pattes
  • Planification de démarches et de séquences de contacts
  • Estimation de l'état de contact à partir de la détection d'effort et tactile

En pratique

Une équipe planifie qu'un robot pousse une boîte sur une table puis la redresse en la faisant pivoter contre un mur. Elle modélise le contact doigt-boîte, le contact boîte-table par des points de coin, et le contact boîte-mur. Pour la phase de poussée, elle choisit un mode où le doigt adhère à la boîte et la boîte glisse sur la table ; pour le pivotement, elle choisit la boîte adhérente par son coin contre le mur, glissant sur la table, avec le doigt glissant sur la face de la boîte. Dans chaque mode, elle calcule des mouvements du doigt qui maintiennent toutes les forces à l'intérieur de leurs cônes de frottement. Pendant l'exécution, elle surveille les mesures d'effort et la pose suivie de la boîte pour détecter les changements de mode non prévus, comme le glissement du doigt, et replanifie lorsqu'il s'en produit un.

Idées reçues

  • Un mode de contact dit seulement quels contacts se touchent — il dit aussi si chacun adhère ou glisse, ce qui change la dynamique autant que l'établissement ou la rupture d'un contact
  • Les planificateurs doivent énumérer tous les modes de contact — l'optimisation à contact implicite et le lissage évitent l'énumération explicite, au prix de garanties plus faibles et de minima locaux
  • Les modes de contact sont un artefact de modélisation — ils reflètent des changements physiques réels ; une pince qui glisse a changé de mode, et un contrôleur qui l'ignore peut échouer

Qui devrait le savoir

  • Chercheurs en planification de manipulation
  • Ingénieurs en commande de locomotion à pattes
  • Développeurs de simulation physique
  • Ingénieurs en détection tactile et d'effort

Technologies associées

  • Problèmes de complémentarité linéaire (Linear Complementarity Problems)
  • Optimisation de trajectoire à contact implicite (Contact-Implicit Trajectory Optimization)
  • Modèles de contact quasi statiques (Quasi-Static Contact Models)
  • Drake
  • MuJoCo

Termes associés

  • Hybrid system
  • Friction Cone
  • Mixed-Integer Programming
  • Wrench
  • Dexterous Manipulation
  • Extrinsic dexterity

Projets associés

  • 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
  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments

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