mink
Python Inverse-Kinematik-Bibliothek auf MuJoCo-Basis, unterstützt 20+ Roboterplattformen
Lizenz
Apache-2.0
Überblick
mink (MuJoCo Inverse Kinematics) ist eine Python-Bibliothek für differentielle inverse Kinematik auf Basis von MuJoCo. Sie löst das zentrale Robotikproblem, Gelenkgeschwindigkeiten zu berechnen, die Ziele im Aufgabenraum erfüllen und dabei physikalische Randbedingungen einhalten, indem sie das Problem als quadratisches Programm (QP) formuliert.
Die Bibliothek bietet eine komponierbare Task-Abstraktion, bei der mehrere Ziele – Posenverfolgung des Endeffektors, relative Frame-Verfolgung, Haltungsregelung, Schwerpunktregelung, Gelenkdämpfung und das Einfrieren von Freiheitsgraden – in einem einzigen Lösungsschritt kombiniert werden können. Physikalische Randbedingungen wie Gelenkpositionsgrenzen, Geschwindigkeitsgrenzen und Kollisionsvermeidung zwischen beliebigen Geometriepaaren werden automatisch eingehalten.
mink unterstützt eine breite Palette von Roboterplattformen: Ein- und Zweiarmsysteme (Franka Panda, UR5e, KUKA iiwa14, ALOHA 2), Arm-Hand-Kombinationen (iiwa14+Allegro, xArm+LEAP), geschickte Hände (Shadow Hand), Humanoide (Unitree G1, H1, Apptronik Apollo), Vierbeiner (Unitree Go1, Boston Dynamics Spot), Zweibeiner (Agility Cassie) und mobile Manipulatoren (Stanford TidyBot, Hello Robot Stretch).
Entwickelt von Kevin Zakka (Doktorand an der UC Berkeley, Google PhD Fellow) als Portierung der Pinocchio-basierten Bibliothek Pink auf MuJoCo. Version 1.0.0 erreichte im Dezember 2025 den Status als stabiles Release.
mink (MuJoCo Inverse Kinematics) ist eine Python-Bibliothek, die produktionsreife differentielle inverse Kinematik in das MuJoCo-Ökosystem bringt. Erstellt von Kevin Zakka, Doktorand an der UC Berkeley und Google PhD Fellow, füllt sie eine kritische Lücke — obwohl MuJoCo zum De-facto-Standardsimulator für Robotikforschung geworden ist, fehlte ihm ein nativer IK-Solver mit Constraint-Handling und Kollisionsvermeidung.
Die Bibliothek formuliert inverse Kinematik als quadratisches Programm (QP) und bietet damit einen mathematisch sauberen und rechnerisch effizienten Ansatz. Mehrere Aufgabenraumziele — darunter Endeffektorverfolgung, relative Rahmensteuerung, Haltungsregulierung, Schwerpunktpositionierung und Gelenkdämpfung — können gleichzeitig zusammengestellt und gelöst werden. Physikalische Einschränkungen wie Gelenkpositionsgrenzen, Geschwindigkeitsgrenzen und Kollisionsvermeidung zwischen beliebigen Geometriepaaren werden automatisch eingehalten.
mink unterstützt über 20 Roboterplattformen von Haus aus, darunter Einzel- und Doppelarme (Franka Panda, UR5e, KUKA iiwa14, ALOHA 2), Arm-Hand-Kombinationen (iiwa14+Allegro, xArm+LEAP), Geschicklichkeitshände (Shadow Hand), Humanoide (Unitree G1, H1, Apptronik Apollo), Vierbeinige (Unitree Go1, Boston Dynamics Spot), Zweibeinige (Agility Cassie) und mobile Manipulatoren (Stanford TidyBot, Hello Robot Stretch).
mink ist eine Portierung der Pink-Bibliothek (ursprünglich auf Pinocchio aufgebaut) nach MuJoCo und nutzt MuJoCos schnelle Kollisionserkennung sowie den daqp-QP-Solver. Version 1.0.0 erreichte im Dezember 2025 den stabilen Release und markiert damit die Bereitschaft für produktive Robotikanwendungen.
Warum es wichtig ist
mink füllt eine kritische Lücke im MuJoCo-Ökosystem, indem es eine saubere, gut gestaltete Inverse-Kinematik-Bibliothek mit Kollisionsvermeidung und Constraint-Handling bereitstellt. Da MuJoCo zum De-facto-Standard-Simulator für Robotikforschung geworden ist, vereinfacht eine produktionsreife IK-Bibliothek, die nativ auf MuJoCo aufbaut, Robotik-Software-Stacks erheblich.
Welches Problem es löst
Das Fehlen einer nativen, produktionsreifen Inverse-Kinematik-Bibliothek für MuJoCo, die Kollisionsvermeidung, Gelenkgrenzen und mehrere Task-Space-Ziele gleichzeitig behandelt
Wichtigste Punkte
- Differentielle IK als quadratische Programmierung mit Echtzeit-Leistung formuliert
- Unterstützt 20+ Roboterplattformen von Einzelarmen bis zu Humanoiden und Vierbeinern
- Eingebaute Kollisionsvermeidung zwischen beliebigen Geometriepaaren
- Komponierbare Task-Abstraktion zur Kombination mehrerer Ziele in einem Lösungsschritt
Für wen
- Robotikforscher, die MuJoCo verwenden
- Roboter-Manipulationsentwickler
- Humanoid-Steuerungs-Forscher
- Bewegungsplanungs-Ingenieure
Einschränkungen
- MuJoCo-spezifisch -- kann nicht mit anderen Physik-Engines verwendet werden
- Differentielle IK ist ein lokaler Löser -- kann bei großen Bewegungen in lokalen Minima stecken bleiben
- QP-Löser-Abhängigkeit (daqp) kann Einschränkungen für sehr hochdimensionale Systeme haben
- Nur Python -- keine C++-Bindings für eingebettete Echtzeit-Anwendungen