mink
Bibliothèque Python de cinématique inverse construite sur MuJoCo prenant en charge plus de 20 plateformes robotiques
Licence
Apache-2.0
Aperçu
mink (MuJoCo Inverse Kinematics) est une bibliothèque Python pour la cinématique inverse différentielle construite sur MuJoCo. Elle résout le problème fondamental de la robotique consistant à calculer des vitesses d'articulation qui satisfont des objectifs dans l'espace des tâches tout en respectant les contraintes physiques, en formulant le problème comme un programme quadratique (QP).
La bibliothèque fournit une abstraction de tâche composable où plusieurs objectifs — suivi de pose d'effecteur terminal, suivi de cadre relatif, régulation de posture, contrôle du centre de masse, amortissement des articulations et gel des degrés de liberté — peuvent être combinés en une seule étape de résolution. Les contraintes physiques incluant les limites de position des articulations, les limites de vitesse et l'évitement de collision entre toute paire de géométrie sont appliquées automatiquement.
mink prend en charge un large éventail de plateformes robotiques : bras simples et doubles (Franka Panda, UR5e, KUKA iiwa14, ALOHA 2), combinaisons bras-main (iiwa14+Allegro, xArm+LEAP), mains dextères (Shadow Hand), humanoïdes (Unitree G1, H1, Apptronik Apollo), quadrupèdes (Unitree Go1, Boston Dynamics Spot), bipèdes (Agility Cassie) et manipulateurs mobiles (Stanford TidyBot, Hello Robot Stretch).
Créé par Kevin Zakka (doctorant à UC Berkeley, boursier Google) comme portage de la bibliothèque Pink (basée sur Pinocchio) vers MuJoCo. La version 1.0.0 a atteint une version stable en décembre 2025.
mink (MuJoCo Inverse Kinematics) est une bibliothèque Python qui apporte une cinématique inverse différentielle de qualité production à l'écosystème MuJoCo. Créée par Kevin Zakka, doctorant à UC Berkeley et Google PhD Fellow, elle comble un manque essentiel : alors que MuJoCo est devenu le simulateur de référence de la recherche en robotique, il ne disposait pas de solveur de cinématique inverse natif gérant les contraintes et l'évitement de collisions.
La bibliothèque formule la cinématique inverse comme un programme quadratique (QP), une approche mathématiquement propre et efficace en calcul. Plusieurs objectifs dans l'espace des tâches (suivi de l'effecteur, commande de repères relatifs, régulation de posture, positionnement du centre de masse et amortissement articulaire) peuvent être composés et résolus simultanément. Les contraintes physiques, comme les limites de position et de vitesse des articulations et l'évitement de collision entre n'importe quelle paire de géométries, sont appliquées automatiquement.
mink prend en charge d'origine plus de 20 plateformes robotiques : bras simples et doubles (Franka Panda, UR5e, KUKA iiwa14, ALOHA 2), combinaisons bras-main (iiwa14+Allegro, xArm+LEAP), mains dextres (Shadow Hand), humanoïdes (Unitree G1, H1, Apptronik Apollo), quadrupèdes (Unitree Go1, Boston Dynamics Spot), bipèdes (Agility Cassie) et manipulateurs mobiles (Stanford TidyBot, Hello Robot Stretch).
mink est un portage vers MuJoCo de la bibliothèque Pink (construite à l'origine sur Pinocchio), qui tire parti de la détection de collisions rapide de MuJoCo et du solveur QP daqp. La version 1.0.0, stable, est sortie en décembre 2025, signe que la bibliothèque est prête pour les applications robotiques en production.
Pourquoi c'est important
mink comble un écart critique dans l'écosystème MuJoCo en fournissant une bibliothèque de cinématique inverse propre et bien conçue avec évitement de collision et gestion des contraintes. Comme MuJoCo est devenu le simulateur de référence pour la recherche en robotique, avoir une bibliothèque IK de qualité production construite nativement sur MuJoCo simplifie considérablement les piles logicielles de robotique.
Le problème résolu
L'absence d'une bibliothèque de cinématique inverse native et de qualité production pour MuJoCo qui gère l'évitement de collision, les limites d'articulation et plusieurs objectifs dans l'espace des tâches simultanément.
Points clés
- IK différentielle formulée comme programmation quadratique avec performance en temps réel
- Prend en charge plus de 20 plateformes robotiques des bras simples aux humanoïdes et quadrupèdes
- Évitement de collision intégré entre toute paire de géométrie
- Abstraction de tâche composable pour combiner plusieurs objectifs en une seule étape de résolution
Pour qui
- Chercheurs en robotique utilisant MuJoCo
- Développeurs de manipulation robotique
- Chercheurs en contrôle humanoïde
- Ingénieurs en planification de mouvement
Limites
- Spécifique à MuJoCo — ne peut pas être utilisé avec d'autres moteurs physiques
- La cinématique inverse différentielle est un solveur local — peut se coincer dans des minima locaux pour de grands mouvements
- La dépendance au solveur QP (daqp) peut avoir des limitations pour les systèmes à très grand nombre de DDL
- Python uniquement — pas de liaisons C++ pour les applications embarquées en temps réel