物理エンジンまとめ(編集中)
Meridian計画の接続先として、現在使える物理エンジンにはどんなものがあるのかをまとめている最中です。
Wikipediaからの情報や検索結果をベースに集約し、識者へのヒアリング結果にて補強していきたいと思います。
物理演算の基本となる要素
① 衝突判定
② 動的シミュレーション(現実同様に物体の動き全体をシミュ)
③ 剛体演算(リジットボディ)
④ 軟体演算(ソフトボディ)、
⑤ 流体シミュレーション
このうちホビロボにクリティカルに関わってくるのは①②③あたりっぽい。
他にもモーションコントロール(物体の動作をコントロール)も大事。
主な物理エンジンライブラリ
Box2D
とくちょう:アングリーバードでつかわれたエンジン
スクリプト:C++,C#,Java,python,Java,JavaScript,ActionScript
ライセンス:zilb
Havok
とくちょう:FPSゲームに強い
アプリケーション:MayaやAutoDesk3dsMaxにプラグイン
スクリプト:C,C++
ライセンス:プロプライエタリ
Bullet
とくちょう:剛体,軟体、GPU最適化
アプリケーション:MayaやBlenderにプラグイン
スクリプト:C,C++
ライセンス:zilb
その他:PyBulletというのがAI系でよく使われているらしい
ODE (Open Dynamic Engine)
とくちょう:メジャー。動力学演算&衝突検出演算
アプリケーション:GAZEBO、Blenderでも使える?。
スクリプト:C,C++
ライセンス:BSD/LGPL
その他:
BallJoint,HingeJoint,Hinge2Joint,SliderJoint,UniversalJoint等のJointを持つ。
ODEについてくるdrawstuffはOpenGLによる簡易描画ライブラリで、物理エンジンの一部ではない。
AISTエンジン
とくちょう:産総研。拘束条件法に基づく。HRPシリーズの開発
アプリケーション:Choreonoid標準
スクリプト:?
ライセンス:?
DynaMo
とくちょう:メカ系に強いようだが古く2007年で開発が止まっている。
スクリプト:C++
ライセンス:不明
Springhead
とくちょう:剛体に強い。関節が外れぬ。発振せぬ。すり抜けぬが速い。 アプリケーション:Blenderにプラグイン。
スクリプト:Pythonから利用可能。
nVidia PhysX
とくちょう: GPUを使ったゲームのリアルタイム描写。
アプリケーション:Unreal EngineやUnityに統合
スクリプト:C++ ?
ライセンス:3条項BSDライセンス
MuJoCo
とくちょう:多関節の動力学シミュレーションに適している
アプリケーション:
スクリプト:
ライセンス:Apache License 2.0
DeepMindがMuJoCoを買収し無料化
シミュレーター開発環境
gazebo
とくちょう:ROSのデファクトスタンダード
物理エンジン:ODE, Bullet, SimBody, DART
スクリプト:C, C++, Python, MATLAB, Java等
ライセンス:BSD/LGPL
その他:
Webot
とくちょう:圧倒的ロボットモデル量、Unityに近い操作感
物理エンジン:修正版のODEらしい
スクリプト:C, C++, Python, MATLAB, Java等
ライセンス:2018よりフリー?
その他:
ほぼ100のロボットモデルが組み込まれている。車輪付き、人型、クローリング移動、単腕移動、双腕移動、ドローン、大型犬、飛行船、Dynamics Atlas、DJI Mavic 2 PRO、Nao、PR2、YouBot、UR、Turtlebot3 Burger、Spot Mini、Aibo等。自動運転環境もある。
stage :
とくちょう:移動系?
物理エンジン:?
スクリプト:?
ライセンス:?
その他:?
Choreonoid
とくちょう:ヒューマノイドに強い WRS競技でも使われた
物理エンジン:AISTエンジン, ODE, Bullet, nVidia PhysX, AGX Dynamics
スクリプト:?
ライセンス:MITライセンス
その他:RTミドルウェアに対応
Unity
とくちょう:ゲームエンジンだけどROSにも進出??
物理エンジン:Box2D, Unity Physics, Havok Physics
スクリプト:C#, ?
ライセンス:?
その他:?
Unreal Engine
とくちょう:いつも話題のゲームエンジン
物理エンジン: nVidia PhysX
スクリプト:C#, ?
ライセンス:?
その他:?
あのロボットのシミュレーター環境は?
ASIMO : ?
HRP2 : Choreonoid , ?
NAO : Choregraphe / Webots for NAO ?
おまけ:単体アプリケーション
Algodoo
2Dのゲームやピタゴラ動画の作品をよくみる。
RigidChips / Laputan Blueprints
パネキットのようなゲーム。
この記事が気に入ったらサポートをしてみませんか?