見出し画像

物理エンジンまとめ(編集中)

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

パネキットのようなゲーム。



この記事が気に入ったらサポートをしてみませんか?