Bullet Physics SDKは、ゲーム、VR、ロボティクス、機械学習で使われる、リアルタイム衝突検出とマルチフィジックスシミュレーション向けのC++ライブラリです。
dartsim/dart
関節ロボットやアニメーションキャラクターの運動学・動力学・接触シミュレーションに対応した、Pythonバインディング付きのC++17物理ライブラリ。
代替できる製品:MATLAB Simscape Multibody
- スター
- 1,223
- フォーク
- 307
- 未解決の Issue
- 13
- 最終コミット
- 19 時間前
これは何?
DART(Dynamic Animation and Robotics Toolkit)は、関節を持つ剛体および柔軟体をシミュレーションするための、Pythonバインディング(dartpy)付きC++17ライブラリです。システムを一般化座標で表現し、FeatherstoneのArticulated Body Algorithmで運動を計算します。また、質量行列、コリオリ力と重力、ヤコビアンおよびその導関数を利用できます。
接触処理にはLCPベースのソルバー(Dantzig、PGS)を使用し、関節の可動範囲制限や閉運動学ループにも対応します。衝突検出にはFCL(デフォルト)、Bullet、ODE、またはDART独自の検出器を利用できます。ロボットやシーンのモデルはURDF、SDF、SKEL、MJCF(実験的)ファイルから読み込め、階層型の全身逆運動学機能も備えています。また、DARTはgz-physicsを介してGazeboの物理バックエンドとしても機能します。
このライブラリはpip、conda-forge、vcpkg、Homebrew、複数のLinuxディストリビューションから利用でき、pixiを使ってソースからビルドすることもできます。
主な機能
- 01FeatherstoneのArticulated Body Algorithmによる一般化座標での動力学計算
- 02DantzigおよびPGSソルバーによるLCPベースの接触処理と、柔軟体のサポート
- 03FCL、Bullet、ODE、独自検出器などの衝突検出バックエンド
- 04URDF、SDF、SKELおよび実験的なMJCFファイルからのモデル読み込み
- 05解析ソルバーにも対応した階層型の全身逆運動学
- 06C++ APIとdartpy Pythonバインディング
ユースケース
- 制御やモーションプランニングの研究における、ヒューマノイドロボットやマニピュレータのシミュレーション
- 逆運動学や操作空間法を用いた全身制御のプロトタイピング
- 関節を持つ身体による、物理的にもっともらしいキャラクターアニメーションの生成
- Gazeboなどのロボットシミュレーター向け物理バックエンド
クイックスタート
- 1
Python パッケージをインストールする
pip install dartpy - 2
Ubuntu / Debian に C++ パッケージをインストールする
sudo apt install libdart-all-dev - 3
Homebrew を使って macOS に C++ パッケージをインストールする
brew install dartsim
使う前に知っておきたいこと
- 開発ブランチの main は変更される可能性があります。安定した動作には、タグ付きリリースまたはパッケージのインストールが必要です。
- ディストリビューションのパッケージは、最新リリースへの反映が遅れる場合があります。
- PyPI の wheel は、最も一般的なプラットフォームと Python バージョンのみを対象としています。
収録されている特集
トピック
よくある質問
- dart とは?
- 関節ロボットやアニメーションキャラクターの運動学・動力学・接触シミュレーションに対応した、Pythonバインディング付きのC++17物理ライブラリ。 DART(Dynamic Animation and Robotics Toolkit)は、関節を持つ剛体および柔軟体をシミュレーションするための、Pythonバインディング(dartpy)付きC++17ライブラリです。システムを一般化座標で表現し、FeatherstoneのArticulated Body Algorithmで運動を計算します。また、質量行列、コリオリ力と重力、ヤコビアンおよびその導関数を利用できます。
- dart は無料で使えますか?ライセンスは?
- dart は BSD-2-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- dart は今もメンテナンスされていますか?
- 活発にメンテナンス中。dart の最終コミットは 2026年11月5日 です。
- dart は何に使えますか?
- 制御やモーションプランニングの研究における、ヒューマノイドロボットやマニピュレータのシミュレーション 逆運動学や操作空間法を用いた全身制御のプロトタイピング 関節を持つ身体による、物理的にもっともらしいキャラクターアニメーションの生成 Gazeboなどのロボットシミュレーター向け物理バックエンド
- dart のインストール方法は?
- Python パッケージをインストールする: pip install dartpy Ubuntu / Debian に C++ パッケージをインストールする: sudo apt install libdart-all-dev Homebrew を使って macOS に C++ パッケージをインストールする: brew install dartsim
- dart はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/dartsim/dart
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ロボット、車両、人体骨格などの多関節システムをシミュレーションする、オープンソースのC++マルチボディダイナミクスライブラリ。
剛体・柔軟マルチボディシステム、粉体、流体・固体相互作用、車両やロボットをシミュレーションするC++マルチフィジックスライブラリ。
スレッドプールで多数のGym形式環境を並列実行する、強化学習向けのC++バッチ環境プール。
ゲームやVR向けの、マルチコア環境に適したC++剛体物理・衝突検出ライブラリ。
ロボット制御、コデザイン、ロボット学習向けにJAXで構築された、微分可能な剛体物理エンジン。