mink
20以上のロボットプラットフォームをサポートするMuJoCo上に構築されたPython逆運動学ライブラリ
ライセンス
Apache-2.0
概要
mink(MuJoCo Inverse Kinematics)は、MuJoCo上に構築された微分逆運動学のPythonライブラリです。物理的な制約を守りながらタスク空間の目標を満たす関節速度を求めるという、ロボティクスの中核的な問題を、二次計画問題(QP)として定式化することで解きます。
このライブラリは組み合わせ可能なタスク抽象化を備えており、エンドエフェクタの位置姿勢追従、相対フレーム追従、姿勢の維持、重心制御、関節ダンピング、自由度の固定といった複数の目標を1回の求解ステップでまとめて扱えます。関節位置の制限、速度制限、任意のジオメトリペア間の衝突回避といった物理的制約は自動的に適用されます。
minkは幅広いロボットプラットフォームに対応しています。シングルアームとデュアルアーム(Franka Panda、UR5e、KUKA iiwa14、ALOHA 2)、アームとハンドの組み合わせ(iiwa14+Allegro、xArm+LEAP)、多指ハンド(Shadow Hand)、ヒューマノイド(Unitree G1、H1、Apptronik Apollo)、四足歩行ロボット(Unitree Go1、Boston Dynamics Spot)、二足歩行ロボット(Agility Cassie)、モバイルマニピュレータ(Stanford TidyBot、Hello Robot Stretch)です。
UC BerkeleyのPhD学生でGoogle PhD FellowのKevin Zakkaが、Pinkライブラリ(Pinocchioベース)をMuJoCoへ移植する形で開発しました。バージョン1.0.0は2025年12月に安定版としてリリースされました。
mink(MuJoCo Inverse Kinematics)は、MuJoCoエコシステムにプロダクション品質の微分逆運動学をもたらすPythonライブラリです。UC BerkeleyのPhD学生でありGoogle PhD FellowであるKevin Zakkaによって作成され、重要なギャップを埋めています。MuJoCoはロボティクス研究の事実上の標準シミュレータとなっていましたが、制約処理と衝突回避を備えたネイティブのIKソルバーが欠けていました。
このライブラリは逆運動学を二次計画問題(QP)として定式化し、数学的にクリーンで計算効率の高いアプローチを提供します。エンドエフェクタートラッキング、相対フレーム制御、姿勢調整、重心位置決め、関節ダンピングなど、複数のタスク空間目的関数を同時に構成して解くことができます。関節位置制限、速度制限、任意のジオメトリペア間の衝突回避などの物理的制約は自動的に適用されます。
minkは20以上のロボットプラットフォームをすぐに使える状態でサポートしており、シングルおよびデュアルアーム(Franka Panda、UR5e、KUKA iiwa14、ALOHA 2)、アームハンドの組み合わせ(iiwa14+Allegro、xArm+LEAP)、多指ハンド(Shadow Hand)、ヒューマノイド(Unitree G1、H1、Apptronik Apollo)、四足歩行ロボット(Unitree Go1、Boston Dynamics Spot)、二足歩行ロボット(Agility Cassie)、移動マニピュレータ(Stanford TidyBot、Hello Robot Stretch)に対応しています。
minkはPinkライブラリ(元々Pinocchio上に構築)をMuJoCoに移植したもので、MuJoCoの高速衝突検出とdaqp QPソルバーを活用しています。バージョン1.0.0は2025年12月に安定版リリースに達し、プロダクションロボティクスアプリケーションへの準備が整ったことを示しています。
重要な理由
minkはMuJoCoエコシステムの重大なギャップを埋めます:衝突回避と制約処理を持つクリーンで適切に設計された逆運動学ライブラリです。MuJoCoがロボティクス研究の事実上の標準シミュレーターとなるにつれ、MuJoCoネイティブに構築された本番品質のIKライブラリはロボティクスソフトウェアスタックを大幅に簡素化します。
解決する課題
衝突回避・関節限界・複数のタスク空間目標を同時に処理するMuJoCo用のネイティブで本番品質の逆運動学ライブラリの不足
主なポイント
- リアルタイム性能を持つ二次計画法として定式化された微分IK
- シングルアームからヒューマノイドと四足歩行ロボットまで20以上のロボットプラットフォームをサポート
- 任意のジオメトリペア間の組み込み衝突回避
- 単一のソルブステップで複数の目標を組み合わせるコンポーザブルタスク抽象化
対象
- MuJoCoを使用するロボティクス研究者
- ロボット操作開発者
- ヒューマノイド制御研究者
- モーションプランニングエンジニア
制限事項
- MuJoCo固有 — 他の物理エンジンでは使用不可
- 微分IKはローカルソルバー — 大きなモーションでは局所最小値にはまる可能性あり
- QPソルバー依存(daqp)は非常に高いDOFシステムに対して限界がある可能性あり
- Python限定 — リアルタイム組み込みアプリケーション向けのC++バインディングなし