Open Source Robotics

高品質なオープンソースロボティクスプロジェクト、ツール、ソフトウェアの厳選コレクション。

IKPy

URDFから直接チェーンを構築する純Python逆運動学ライブラリ

ライセンス

Apache-2.0

概要

IKPyは、Pierre Manceronによる軽量な純Python逆運動学ライブラリ。URDFファイルから運動学チェーンを直接パースし、SciPyベースの数値最適化で順運動学・逆運動学を解き、Matplotlibによるシンプルな3D可視化も備える。コンパイル済みの依存関係を持たないためPythonが動く環境ならどこにでもインストールでき、教育、ホビー用アーム、そしてその出自であるPoppyヒューマノイドエコシステムで愛用されてきた。

IKPyはロボットを、URDFからパースされるリンクのChainとしてモデル化する(DH方式の手動定義用ヘルパーもある)。順運動学は行列の連鎖で計算され、逆運動学は関節値に対する有界最小二乗最適化として実行され、位置・姿勢ターゲット、アクティブリンクマスク、関節リミットをサポートする。チェーンとターゲットをMatplotlibの3Dで描画するプロットユーティリティと、2リンクアームからBaxterのようなフルサイズのロボットまでを扱うチュートリアルを同梱。速度よりも移植性とハック可能性を意図的に優先しており、すべてNumPy/SciPyで書かれ、ビルドすべきC拡張はなく、チェーンはサブクラス化できる普通のPythonオブジェクトだ。この設計によりIKPyは、オープンソースヒューマノイドPoppyエコシステムの運動学レイヤーとなり、IKの教育、素早いプロトタイピング、そしてフルのMoveItスタックでは大げさすぎるホビーアームの駆動における定番の選択肢になった。

重要な理由

IKPyはPythonロボティクス界における「5行で書けるIK」の定番ライブラリだ。この10年間、URDFファイルから動く逆運動学への最も摩擦の少ない道であり続け、教育、Poppyヒューマノイドコミュニティ、無数のホビーアームプロジェクトで使われている。

解決する課題

ターゲット姿勢に対する関節角度が欲しいだけの場面では、フルの運動計画スタックは重装備すぎる。IKPyなら、pip installだけで任意のPythonプログラムにURDF準拠の順・逆運動学を組み込める — ROSも、コンパイル済みソルバーも、面倒な設定も不要。

主なポイント

  • URDFファイルから運動学チェーンを直接構築(DH方式の手動定義にも対応)
  • 関節リミット、アクティブリンクマスク、位置・姿勢ターゲットに対応した数値IK
  • NumPy/SciPy上の純Python — どこでもインストール可能、コンパイル済み依存なし
  • チェーンとターゲットのMatplotlib 3D可視化を内蔵
  • Poppyヒューマノイドエコシステムの運動学レイヤー。教育現場で広く利用

対象

  • 運動学を学ぶロボティクスの学生
  • ホビーロボットアームのビルダー
  • ロボットの動作をスクリプトで書くPython開発者
  • ロボティクスの教材を作る教育者

制限事項

  • 数値最適化は解析的またはコンパイル済みのIKソルバーより遅い — 高レートの制御ループには不向き
  • 衝突チェックや運動計画はなし — 関節解のみ
  • 姿勢拘束付きのIKは、うまく収束させるための調整(初期位置、アクティブリンク)が必要な場合がある

このウェブサイトにはJavaScriptが必要です。オープンソースロボティクスプロジェクトを閲覧するにはJavaScriptを有効にしてください。