ロボティクス向けに、剛体の力学・運動学とその解析微分を扱う、高速なヘッダーオンリーC++ライブラリ。Pythonバインディングも提供します。
gbionics/jaxsim
ロボット制御、コデザイン、ロボット学習向けにJAXで構築された、微分可能な剛体物理エンジン。
- スター
- 204
- フォーク
- 22
- 未解決の Issue
- 8
- 最終コミット
- 4 日前
これは何?
JaxSimは、シミュレーションを通じた勾配計算を必要とするロボティクス研究者向けに、JAXを基盤としてPythonで実装された物理エンジンです。縮約座標系の多体系動力学を採用し、固定ベースと浮動ベースの両方のロボットに対応しています。モデルはSDFから読み込めるほか、sdformatによる変換を介してURDFも利用できます。
動力学がハードウェアパラメーターに関して微分可能なため、同じシミュレーションを勾配ベースの設計や最適化に利用できます。各関数は関数型スタイルで記述されており、JITコンパイルとベクトル化に対応し、CPU、GPU、TPUで実行できます。また、質量行列、バイアス力、重力項とコリオリ項、フレームヤコビアンなどの剛体動力学アルゴリズムを提供し、順方向モードと逆方向モードの自動微分に対応しています。
このプロジェクトは実験段階にあり、リリースごとにAPIが変更される可能性があります。現在は移動運動に重点を置いており、接触は物体同士、および滑らかな地面との間に限られます。
主な機能
- 01ハードウェアパラメーターと運動学パラメーターに関する微分可能な動力学。
- 02固定ベースと浮動ベースのロボットモデルに対応。
- 03SDFモデルを直接読み込み、URDFモデルはsdformatで変換して読み込み。
- 04JAXによるJITコンパイルと自動ベクトル化に対応し、CPU、GPU、TPUで実行可能。
- 05質量行列、バイアス力、重力項、コリオリ項、フレームヤコビアンの計算を提供。
ユースケース
- 勾配ベースのロボット形態設計やコデザインの最適化。
- 脚式ロボットの移動運動に向けた、微分可能なシミュレーターを必要とするロボット学習実験。
- 剛体動力学アルゴリズムを、JAXコード内で多体系動力学ライブラリとして利用。
クイックスタート
- 1
仮想環境内でpipを使ってPyPIからインストールする
pip install jaxsim - 2
「使い方」セクションのiCubシミュレーション例を実行する(icub_modelsとjaxのインストールが必要)
使う前に知っておきたいこと
- まだ実験段階のため、APIは予告なくリリース間で変更される場合があります。
- 衝突に対応しているのは、物体同士および滑らかな地面との間のみです。主に歩行運動を想定しています。
- URDFをサポートするには、sdformatなどのGazebo Simコンポーネントを別途インストールする必要があります。
収録されている特集
トピック
よくある質問
- jaxsim とは?
- ロボット制御、コデザイン、ロボット学習向けにJAXで構築された、微分可能な剛体物理エンジン。 JaxSimは、シミュレーションを通じた勾配計算を必要とするロボティクス研究者向けに、JAXを基盤としてPythonで実装された物理エンジンです。縮約座標系の多体系動力学を採用し、固定ベースと浮動ベースの両方のロボットに対応しています。モデルはSDFから読み込めるほか、sdformatによる変換を介してURDFも利用できます。
- jaxsim は無料で使えますか?ライセンスは?
- jaxsim は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- jaxsim は今もメンテナンスされていますか?
- 活発にメンテナンス中。jaxsim の最終コミットは 2026年11月2日 です。
- jaxsim は何に使えますか?
- 勾配ベースのロボット形態設計やコデザインの最適化。 脚式ロボットの移動運動に向けた、微分可能なシミュレーターを必要とするロボット学習実験。 剛体動力学アルゴリズムを、JAXコード内で多体系動力学ライブラリとして利用。
- jaxsim のインストール方法は?
- 仮想環境内でpipを使ってPyPIからインストールする: pip install jaxsim 「使い方」セクションのiCubシミュレーション例を実行する(icub_modelsとjaxのインストールが必要)
- jaxsim はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/gbionics/jaxsim
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
剛体・柔軟マルチボディシステム、粉体、流体・固体相互作用、車両やロボットをシミュレーションするC++マルチフィジックスライブラリ。
ロボット、車両、人体骨格などの多関節システムをシミュレーションする、オープンソースのC++マルチボディダイナミクスライブラリ。
関節ロボットやアニメーションキャラクターの運動学・動力学・接触シミュレーションに対応した、Pythonバインディング付きのC++17物理ライブラリ。
SAPIENを基盤とする、GPU並列化されたオープンソースのロボットシミュレーション・学習フレームワーク。マニピュレーションスキルに特化。
robosuiteを基盤とする、大規模な日常のキッチンタスク向け汎用ロボットの学習・ベンチマーク用シミュレーションフレームワーク。