Repolode
dartsim

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. 1

    Python パッケージをインストールする

    pip install dartpy
  2. 2

    Ubuntu / Debian に C++ パッケージをインストールする

    sudo apt install libdart-all-dev
  3. 3

    Homebrew を使って macOS に C++ パッケージをインストールする

    brew install dartsim

使う前に知っておきたいこと

  • 開発ブランチの main は変更される可能性があります。安定した動作には、タグ付きリリースまたはパッケージのインストールが必要です。
  • ディストリビューションのパッケージは、最新リリースへの反映が遅れる場合があります。
  • PyPI の wheel は、最も一般的なプラットフォームと Python バージョンのみを対象としています。

収録されている特集

トピック

#robotics#physics-engine#simulation#inverse-kinematics#multibody-dynamics#computer-animation#python-bindings#cpp#collision-detection#cpp17

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト