Reduced Coordinates
- Aussi appelé: minimal coordinates, joint coordinates
- Catégorie: Software & tooling › Simulation & twins
- Mots-clés: physics-simulation, rigid-body-dynamics, multibody-systems, kinematics, simulation
Manière de décrire un mécanisme articulé uniquement par ses variables articulaires, de sorte que les articulations tiennent ensemble par construction au lieu d'être imposées comme des contraintes entre corps libres.
Définition
Un système multicorps comme un bras robotique peut être simulé de deux grandes manières. En coordonnées maximales (maximal coordinates), chaque corps est un solide rigide libre à six degrés de liberté, et les articulations sont ajoutées comme des contraintes que le solveur doit imposer à chaque pas. En coordonnées réduites (reduced coordinates), le système n'est décrit que par ses variables articulaires, comme les angles articulaires et les déplacements prismatiques, plus la pose de la base pour un robot flottant. La pose de chaque corps est alors calculée à partir de ces variables par la cinématique directe, si bien que les articulations ne peuvent pas se disjoindre : les contraintes sont satisfaites par construction.
Les coordonnées réduites sont le cadre naturel des algorithmes classiques de dynamique des robots. L'algorithme récursif de Newton-Euler, l'algorithme du corps rigide composite et l'algorithme des corps articulés de Featherstone travaillent tous directement sur des grandeurs de l'espace articulaire et calculent la dynamique inverse ou directe en un temps qui croît linéairement, ou presque linéairement, avec le nombre de corps. Les équations du mouvement prennent la forme familière M(q) q̈ + C(q, q̇) q̇ + g(q) = τ, qui se transpose directement à la commande des robots. Parmi les simulateurs qui utilisent cette approche figurent MuJoCo, Drake, les outils fondés sur Pinocchio et les types d'articulation de PhysX et de Bullet ; Isaac Gym, par exemple, simule chaque robot comme une articulation PhysX en coordonnées réduites.
Les principaux avantages sont la précision et la stabilité pour les longues chaînes : il n'y a ni dérive ni étirement des articulations, les butées et les entraînements articulaires agissent sur les vraies variables articulaires, et il y a moins de variables à intégrer. Les limites sont que la structure doit être un arbre cinématique, de sorte que les boucles fermées comme les quadrilatères articulés ou les robots parallèles nécessitent des contraintes supplémentaires de fermeture de boucle, et que les contacts avec l'environnement doivent toujours être traités comme des contraintes ou des forces de pénalité. Les coordonnées maximales restent courantes dans la physique de jeux vidéo et pour les corps faiblement liés, car elles sont simples et se parallélisent facilement.
Pourquoi c'est important
La façon dont un simulateur représente un robot détermine si les articulations restent solidaires sous de fortes charges, quel pas de temps peut être utilisé et à quel point la dynamique articulaire simulée correspond au modèle du contrôleur. Savoir si un outil utilise des coordonnées réduites ou maximales explique de nombreuses différences de stabilité, de performance et d'options de modélisation entre moteurs physiques.
Applications principales
- Simulation physique de bras robotiques, de robots à pattes et d'humanoïdes
- Bibliothèques de dynamique des corps rigides pour la commande et la commande prédictive
- Simulation parallélisée sur GPU pour l'apprentissage par renforcement
- Optimisation de trajectoire avec des modèles dynamiques dans l'espace articulaire
- Simulation différentiable de systèmes articulés
En pratique
Un ingénieur importe l'URDF d'un humanoïde dans un simulateur sur GPU pour l'apprentissage par renforcement. Chargé comme une articulation en coordonnées réduites, l'état du robot se compose de la pose et de la vitesse de la base, plus une position et une vitesse par articulation, qui correspondent directement au vecteur d'observation et aux consignes PD articulaires produites par la politique. Lorsque le même modèle avait auparavant été construit à partir de corps rigides séparés reliés par des contraintes articulaires, les genoux se disjoignaient visiblement lors des réceptions brutales et il fallait beaucoup plus d'itérations du solveur. Le robot possède aussi une liaison de cheville en chaîne fermée ; comme une articulation doit être un arbre, l'ingénieur la modélise comme un arbre avec une contrainte supplémentaire de fermeture de boucle et vérifie que les limites de couple articulaire qui en résultent correspondent au mécanisme réel.
Idées reçues
- Coordonnées réduites et maximales modélisent une physique différente — idéalement, les deux décrivent la même dynamique ; les différences viennent de la résolution numérique, de la dérive et de la raideur des contraintes
- Les coordonnées réduites peuvent représenter directement n'importe quel mécanisme — les boucles cinématiques fermées, comme dans les robots parallèles et les mécanismes à barres, nécessitent des contraintes supplémentaires de fermeture de boucle
- Utiliser des coordonnées réduites dispense d'un solveur de contraintes — les contacts, les butées articulaires et les fermetures de boucle restent des contraintes à résoudre
Qui devrait le savoir
- Développeurs de simulations et de moteurs physiques
- Ingénieurs en apprentissage robotique qui utilisent des simulateurs sur GPU
- Ingénieurs en commande travaillant avec des bibliothèques de dynamique des corps rigides
- Ingénieurs qui préparent des modèles de robots, comme les fichiers URDF et MJCF
Technologies associées
- PhysX Articulations
- MuJoCo
- Pinocchio
- Drake
- Algorithme récursif de Newton-Euler (Recursive Newton-Euler Algorithm)
Termes associés
Projets associés
- GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- 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
- NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing