宇宙力学ミッションにおける宇宙機の軌道・姿勢・誘導・航法・制御をシミュレーションする、PythonとCによるフレームワーク。
StanfordASL/frax
JAXをベースにした、JITコンパイルと自動微分でコントローラー設計を高速化する、純粋なPython製のロボット運動学・動力学ライブラリです。
- スター
- 688
- フォーク
- 47
- 未解決の Issue
- 0
- 最終コミット
- 一昨日
これは何?
fraxは、JAXを基盤とするPython製のロボット運動学・動力学ライブラリです。質量行列、関節・リンク・フレームの変換、ヤコビアン、重力ベクトル、コリオリ力など、逆運動学や逆動力学コントローラーの構成要素を計算します。
計算はJAXの関数として実装されているため、JITコンパイルやGPU・TPU上でのバッチ処理が可能で、自動微分にも対応しています。そのため、ヤコビアンを手計算しなくても、ロボットの状態に依存する制約やコスト項を通常の関数として記述できます。Franka Panda、Kuka iiwa、Unitree G1、Unitree A2などのロボットモデルを内蔵しており、URDFファイルから独自のロボットを読み込むこともできます。
逆運動学とリターゲティング用のfrax.ikモジュールも提供しており、微分IK、作業空間制御、制御バリア関数に基づく安全制約の例も含まれています。
主な機能
- 01URDF形式のロボットモデルについて、質量行列、ヤコビアン、重力項、コリオリ項を計算します。
- 02JAXを使い、運動学・動力学の計算に対するJITコンパイルと自動微分に対応します。
- 03GPU・TPU上でのバッチ計算に対応し、倍精度演算もオプションで利用できます。
- 04Franka Panda、Kuka iiwa、Unitree G1、A2のモデルを内蔵しています。
- 05逆運動学とヒューマノイドのリターゲティングに使えるfrax.ikモジュールを提供します。
ユースケース
- Pythonで微分逆運動学や作業空間コントローラーのプロトタイプを作成する。
- ロボットの運動学に依存する制御バリア関数などの制約を記述する。
- アクセラレーター上で、サンプリングベースまたは学習ベースの制御向けに動力学計算をバッチ実行する。
- 人間の動作データをヒューマノイドロボットモデルにリターゲティングする。
クイックスタート
- 1
PyPIからIK用の追加機能付きでfraxをインストールする
pip install "frax[ik]" - 2
Pythonで組み込みロボットモデルの質量行列を計算する
使う前に知っておきたいこと
- JAXが必要です。CPUで高速な動力学計算を行うためのパフォーマンス向上のヒントでは、特定の古いバージョンのJAXが推奨されています。
- 衝突判定メソッドを使うには、ロボットの衝突形状を球体で近似したモデルが必要です。
収録されている特集
トピック
よくある質問
- frax とは?
- JAXをベースにした、JITコンパイルと自動微分でコントローラー設計を高速化する、純粋なPython製のロボット運動学・動力学ライブラリです。 fraxは、JAXを基盤とするPython製のロボット運動学・動力学ライブラリです。質量行列、関節・リンク・フレームの変換、ヤコビアン、重力ベクトル、コリオリ力など、逆運動学や逆動力学コントローラーの構成要素を計算します。
- frax は無料で使えますか?ライセンスは?
- frax は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- frax は今もメンテナンスされていますか?
- 活発にメンテナンス中。frax の最終コミットは 2026年11月4日 です。
- frax は何に使えますか?
- Pythonで微分逆運動学や作業空間コントローラーのプロトタイプを作成する。 ロボットの運動学に依存する制御バリア関数などの制約を記述する。 アクセラレーター上で、サンプリングベースまたは学習ベースの制御向けに動力学計算をバッチ実行する。 人間の動作データをヒューマノイドロボットモデルにリターゲティングする。
- frax のインストール方法は?
- PyPIからIK用の追加機能付きでfraxをインストールする: pip install "frax[ik]" Pythonで組み込みロボットモデルの質量行列を計算する
- frax はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/StanfordASL/frax
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ロボティクス向けに、剛体の力学・運動学とその解析微分を扱う、高速なヘッダーオンリーC++ライブラリ。Pythonバインディングも提供します。
関節ロボットやアニメーションキャラクターの運動学・動力学・接触シミュレーションに対応した、Pythonバインディング付きのC++17物理ライブラリ。
Bullet Physics SDKは、ゲーム、VR、ロボティクス、機械学習で使われる、リアルタイム衝突検出とマルチフィジックスシミュレーション向けのC++ライブラリです。
PyBulletベースのGymnasium環境で、クアッドコプター向けの単一・マルチエージェント強化学習コントローラーを訓練できます。
推定・計画・制御の教育と研究向けに、集中定数系の空力モデルを備えたPython製マルチローターUAVシミュレーターです。