実際の機械に依存せずに物理ロボットのアプリケーションを作成するために、ロボットシミュレータが使用され、コストと時間が節約されます。場合によっては、これらのアプリケーションを変更することなく、物理的なロボットに転送(または再構築)することができます。
ロボットシミュレータという用語は、いくつかの異なるロボットシミュレーションアプリケーションを指すことができます。例えば、移動ロボットアプリケーションでは、行動ベースのロボットシミュレータを使用して、剛体と光源のシンプルな世界を作成し、ロボットにこれらの世界と対話するようプログラムすることができます。ビヘイビアベースのシミュレーションでは、よりバイナリな、または計算の多いシミュレータと比較して、本質的により生物学的な動作が可能になります。さらに、行動ベースのシミュレータは間違いから「習得」し、擬人化された頑強さの威力を実証することができる。
ロボットシミュレータの最も一般的なアプリケーションの1つは、ロボットとその環境の3Dモデリングとレンダリングです。このタイプのロボットソフトウェアは、実際のロボットの動作を実際の作業エンベロープでエミュレートすることができる仮想ロボットであるシミュレータを有する。一部のロボットシミュレータでは、より現実的なロボットの動作生成のために物理エンジンを使用します。実際のロボットが利用できるかどうかにかかわらず、ロボット制御プログラムを開発するためのロボットシミュレータの使用を強く推奨します。シミュレータを使用すると、実際のロボットでテストされたプログラムの最終バージョンで、ロボットプログラムを簡単に書き留めてオフラインでデバッグすることができます。これは、主に産業用ロボット用途のみに適用され、
ロボット動作は現実世界の瞬間的なセンサ読み取り値に依存するため、センサベースのロボット動作は、シミュレートおよび/またはオフラインでプログラムすることがはるかに難しい。
特徴
現代のシミュレータは、以下の機能を提供する傾向があります。
高速ロボットプロトタイプ
作成ツール(Virtual Robot Experimentation Platform、Webots、R-Station、Marilou、4DV-Sim)として独自のシミュレータを使用します。
外部ツールを使用する。
現実的な動きのための物理エンジン。ほとんどのシミュレータは、ODE(Gazebo、LpzRobots、Marilou、Webots)またはPhysX(Microsoft Robotics Studio、4DV-Sim)を使用します。
現実的な3Dレンダリング。標準の3Dモデリングツールやサードパーティのツールを使用して環境を構築することができます。
スクリプティングを備えた動的なロボット本体。C、C ++、Perl、Python、Java、URBI、Webotsで使用されるMATLAB言語、Gazeboで使用されるPython
シミュレータ
今日、プログラミングで利用できる最新の技術の中には、仮想シミュレーションを使用するものがあります。作業環境の仮想モデルとロボット自体を使用したシミュレーションは、会社とプログラマーの両方に利点をもたらします。シミュレーションを使用することにより、コストが削減され、ロボットをオフラインでプログラムすることができ、組立ラインのダウンタイムをなくします。プロトタイプが作成される数か月前に、ロボットのアクションやアセンブリ部品を3次元の仮想環境で視覚化することができます。シミュレーションのためのコードを書くことは、物理的なロボットのコードを書くことよりも簡単です。プログラミングロボットの仮想シミュレーションへの移行はユーザーインターフェイス設計の一歩を踏み出すものですが、そのようなアプリケーションの多くは初期段階にとどまっています。
一般情報
ソフトウェア | 開発者 | 開発状況 | ライセンス | 3Dレンダリングエンジン | 物理エンジン | 3Dモデラー | サポートされているプラットフォーム |
---|---|---|---|---|---|---|---|
アクチン | エネルギー効率の高い技術 | アクティブ | 独自の | OpenGL | 独自の | 独自の | Windows、macOS、Linux、RTLinux、VxWorks、RTOS-32、およびRTXをサポートします。(QNX計画) |
ARS | RAL | 非アクティブ | BSD | VTK | ODE | 無し | Linux、macOS、Windows |
AUTOMAPPPS | コンバージェントインフォメーションテクノロジーズGmbH | アクティブ | 独自の | OpenGL | 道の | 内部 | Linux、Windows |
ガゼボ | オープンソースロボット基金(OSRF) | アクティブ | Apache 2.0 | 鬼 | ODE / Bullet / Simbody / DART | 内部 | Linux |
MORSE | 学術コミュニティ | アクティブ | BSD | ブレンダーゲームエンジン | 弾丸 | ブレンダー | Linux、BSD *、macOS |
OpenHRP | 産総研 | アクティブ | Eclipse | Java3D | ODE /内部 | 内部 | Linux、Windows |
RoboDK | RoboDK | アクティブ | 独自の | OpenGL | 無し | 内部 | Linux、macOS、Windows、Android |
SimSpark | O. Obst et al。(+26) | アクティブ | GNU GPL(v2) | 内部 | ODE | 無し | Linux、macOS、Windows |
V-Rep | コッペリアロボット | アクティブ | 独自の/ GNU GPL | 内部 | ODE / Bullet / Vortex / Newton | 内部 | Linux、macOS、Windows |
Webots | Cyberbotics Ltd. | アクティブ | 独自の | 独自の | 独自の(ODEに基づいて) | 独自の | Linux、macOS、Windows |
4DV-Sim | 4D Virtualiz | アクティブ | 独自の | 鬼 | PhysX | 内部 | Linux |
OpenRAVE | OpenRAVEコミュニティ | アクティブ | GNU LGPL | Coin3D / OpenSceneGraph | ODE / Bullet | 内部 | Linux、macOS、Windows |
ソフトウェア | 開発者 | 開発状況 | ライセンス | 3Dレンダリングエンジン | 物理エンジン | 3Dモデラー | サポートされているプラットフォーム |
技術的な案内
ソフトウェア | 主なプログラミング言語 | フォーマットのサポート | 拡張性 | 外部API | ロボットミドルウェアのサポート | 主要なユーザーインターフェイス | ヘッドレスシミュレーション |
---|---|---|---|---|---|---|---|
アクチン | C ++ | VRML、URDF、XML、ECD、ECP、ECW、ECX、ECZ、SLD、 | プラグイン(C ++)、API | 道の | ROS | GUI | はい(ActinRT) |
ARS | Python | 道の | Python | 道の | 無し | 道の | 道の |
AUTOMAPPPS | C ++、Python | STEP、IGES、STL | プラグイン(C)、API | XML、C | ソケット | GUI | はい |
ガゼボ | C ++ | SDF / URDF、OBJ、STL、Collada | プラグイン(C ++) | C ++ | ROS、Player、Sockets(メッセージを元に戻す) | GUI | はい |
MORSE | Python | 道の | Python | Python | ソケット、YARP、ROS、Pocolibs、MOOS | コマンドライン | はい |
OpenHRP | C ++ | VRML | プラグイン(C ++)、API | C / C ++、Python、Java | OpenRTM-aist | GUI | 道の |
RoboDK | Python | STEP、IGES、STL、WRML | プラグイン(C ++)、API | C / C ++、Python、Matlab | ソケット | GUI | 道の |
SimSpark | C ++、Ruby | Rubyシーングラフ | 改造(C ++) | ネットワーク(sexpr) | ソケット(sexpr) | GUI、ソケット | 道の |
V-Rep | LUA | OBJ、STL、DXF、3DS、Collada、URDF | API、アドオン、プラグイン | C / C ++、Python、Java、Urbi、Matlab / Octave | ソケット、ROS | GUI | はい |
Webots | C ++ | WBT、VRML、X3D | API、PROTO、プラグイン(C / C ++) | C、C ++、Python、Java、Matlab、ROS | ソケット、ROS、NaoQI | GUI | はい |
4DV-Sim | C ++ | 3DS、OBJ、メッシュ | プラグイン(C ++)、API | FMI / FMU、Matlab | ROS、ソケット、プラグ&プレイインターフェース | GUI | はい |
OpenRAVE | C ++、Python | XML、VRML、OBJ、Collada | プラグイン(C ++)、API | C / C ++、Python、Matlab | ソケット、ROS、YARP | GUI、ソケット | はい |
ソフトウェア | 主なプログラミング言語 | フォーマットのサポート | 拡張性 | 外部API | ロボットミドルウェアのサポート | 主要なユーザーインターフェイス | ヘッドレスシミュレーション |
インフラストラクチャのサポート
ソフトウェア | メーリングリスト | APIドキュメント | 公開フォーラム/ヘルプシステム | ユーザーマニュアル | 課題トラッカー | ウィキ |
---|---|---|---|---|---|---|
アクチン | いいえ | はい | いいえ | はい | はい(内部) | いいえ |
ARS | 道の | 道の | 道の | 道の | 道の | 道の |
AUTOMAPPPS | はい | はい | いいえ | はい | はい | いいえ |
ガゼボ | はい | はい | はい | はい | はい | はい |
MORSE | はい | はい | いいえ | はい | はい | いいえ |
OpenHRP | はい | はい | いいえ | はい | はい | いいえ |
RoboDK | はい | はい | いいえ | はい | いいえ | いいえ |
SimSpark | はい | はい | いいえ | はい | はい | はい |
V-Rep | いいえ | はい | はい | はい | 道の | いいえ |
Webots | いいえ | はい | はい | はい | はい | はい |
4DV-Sim | はい | いいえ | はい | はい | はい | いいえ |
OpenRAVE | はい | はい | はい | はい | はい | はい |
ソフトウェア | メーリングリスト | APIドキュメント | 公開フォーラム/ヘルプシステム | ユーザーマニュアル | 課題トラッカー | ウィキ |
コード品質
ソフトウェア | 静的コードチェッカー | スタイルチェッカー | 試験システム | テスト機能カバレッジ | ブランチカバレッジのテスト | コード行 | コメントの行 | 継続的インテグレーション |
---|---|---|---|---|---|---|---|---|
アクチン | 道の | 道の | 道の | 道の | 道の | 道の | 道の | ジェンキンス |
ARS | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の |
AUTOMAPPPS | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の |
ガゼボ | cppcheck | cpplint | gtestとqtest | 46.1% | 34.3% | 190.7k | 60.45k | ジェンキンス |
MORSE | N / A | パイリンツ | Python unittests | 道の | 道の | 31.4k | 9.0k | ジェンキンス、トラビス |
OpenHRP | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の |
RoboDK | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の |
SimSpark | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の |
V-Rep | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の |
Webots | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の |
4DV-Sim | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の |
OpenRAVE | 道の | 道の | Pythonの鼻 | 道の | 道の | 道の | 道の | ジェンキンス |
ソフトウェア | 静的コードチェッカー | スタイルチェッカー | 試験システム | テスト機能カバレッジ | ブランチカバレッジのテスト | コード行 | コメントの行 | 継続的インテグレーション |
特徴
ソフトウェア | CADからモーションまで | 動的衝突回避 | 相対エンドエフェクタ | オフラインプログラミング | ハードウェアのリアルタイムストリーミング制御 |
---|---|---|---|---|---|
アクチン | はい(ツールパス) | はい | はい | はい | はい |
ARS | 道の | いいえ | 道の | いいえ | いいえ |
ガゼボ | 道の | はい | はい | はい | はい |
MORSE | 道の | いいえ | 道の | いいえ | いいえ |
OpenHRP | 道の | いいえ | 道の | いいえ | いいえ |
RoboDK | 道の | いいえ | 道の | はい | いいえ |
SimSpark | 道の | いいえ | 道の | いいえ | いいえ |
V-Rep | 道の | いいえ | 道の | いいえ | いいえ |
Webots | 道の | はい | はい | はい | はい |
4DV-Sim | 道の | いいえ | 道の | いいえ | いいえ |
OpenRAVE | 道の | いいえ | 道の | いいえ | いいえ |
ソフトウェア | CADからモーションまで | 動的衝突回避 | 相対エンドエフェクタ | オフラインプログラミング | リアルタイムストリーミング制御 |
ロボットの家族
ソフトウェア | UGV(地上移動ロボット) | UAV(空中ロボット) | AUV(水中ロボット) | ロボットアーム | ロボットハンド(シミュレーションの把握) | ヒューマノイドロボット | 人間のアバター | 全リスト |
---|---|---|---|---|---|---|---|---|
アクチン | はい(マニピュレータを含むことができます) | はい(マニピュレータを含むことができます) | はい(マニピュレータを含むことができます) | はい | はい | はい | はい | |
ARS | 道の | 道の | 道の | 道の | 道の | 道の | 道の | |
ガゼボ | はい | はい | はい | はい | はい | はい | はい | |
MORSE | はい | はい | 部分 | 一部 | いいえ | いいえ | はい | |
OpenHRP | はい | いいえ | いいえ | はい | はい | はい | はい | |
RoboDK | いいえ | いいえ | いいえ | はい | いいえ | いいえ | いいえ | |
SimSpark | はい | いいえ | いいえ | 多分 | 多分 | はい | いいえ | |
V-Rep | はい | はい | いいえ | はい | はい | はい | はい | |
Webots | はい | はい | はい | はい | はい | はい | はい | Webotsロボットモデル |
4DV-Sim | はい | はい | いいえ | はい | 多分 | いいえ | はい | |
OpenRAVE | はい | 道の | 道の | はい | はい | はい | はい | |
ソフトウェア | UGV(地上移動ロボット) | UAV(空中ロボット) | AUV(水中ロボット) | ロボットアーム | ロボットハンド(シミュレーションの把握) | ヒューマノイドロボット | 人間のアバター | 全リスト |
サポートされているアクチュエータ
ソフトウェア | 一般的なキネマティックチェーン | 力制御運動 | 全リスト | 円形キネマティックチェーン | キネマティックに冗長なチェーン | 二股運動学的鎖 |
---|---|---|---|---|---|---|
アクチン | はい | はい | 動きの制約 | はい | はい | はい |
ARS | 道の | 道の | 道の | 道の | 道の | |
ガゼボ | はい | はい | はい | はい | はい | |
MORSE | はい | はい | モーリスアクチュエータ | 道の | 道の | 道の |
OpenHRP | はい | はい | 道の | 道の | 道の | |
RoboDK | 道の | 道の | 道の | 道の | 道の | |
SimSpark | はい | いいえ | SimSparkエフェクタ | 道の | 道の | 道の |
V-Rep | はい | はい | 道の | 道の | 道の | |
Webots | はい | はい | Webotsアクチュエータ | はい | はい | はい |
4DV-Sim | はい | はい | 道の | 道の | 道の | |
OpenRAVE | はい | はい | ジョイント、余分なアクチュエータ | はい | はい | はい |
ソフトウェア | 一般的なキネマティックチェーン | 力制御運動 | 全リスト | 円形キネマティックチェーン | キネマティックに冗長なチェーン | 二股運動学的鎖 |
サポートされているセンサー
ソフトウェア | オドメトリ | IMU | 衝突 | GPS | 単眼カメラ | ステレオカメラ | デプスカメラ | 無指向性カメラ | 2Dレーザースキャナ | 3Dレーザースキャナ | 全リスト |
---|---|---|---|---|---|---|---|---|---|---|---|
アクチン | はい | はい | はい | 道の | はい | はい | はい | はい | はい | はい | |
ARS | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の | |
AUTOMAPPPS | 道の | 道の | 道の | 道の | はい | はい | はい | 道の | はい | はい | |
ガゼボ | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | |
MORSE | はい | はい | はい | はい | はい | 道の | はい | 道の | はい | はい | モンスセンサー |
OpenHRP | 道の | はい | はい | 道の | はい | 道の | はい | 道の | はい | はい | OpenHRPセンサー |
RoboDK | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の | 道の | |
SimSpark | はい | はい | はい | 部分 | はい | 部分 | 道の | 道の | いいえ | いいえ | SimSparkパーセプター |
V-Rep | 道の | はい | はい | はい | はい | はい | はい | 道の | はい | はい | |
Webots | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | Webotsセンサー |
4DV-Sim | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | |
OpenRAVE | はい | はい | はい | はい | はい | はい | はい | 道の | はい | はい | |
ソフトウェア | オドメトリ | IMU | 衝突 | GPS | 単眼カメラ | ステレオカメラ | デプスカメラ | 無指向性カメラ | 2Dレーザースキャナ | 3Dレーザースキャナ | 全リスト |
他のシミュレータ
オープンソースシミュレータ
breve:Pythonでの3D世界のマルチエージェントシミュレータ
EZPhysics:Ogre3DとODE物理の組み合わせ、GUIはODEのすべてのオブジェクトデータ、Matlab / Simulinkを介した任意選択のネットワーク閉ループリモートコントロールを公開します。
Khepera Simulator Webotより前のKheperaロボット用のオープンソースWindowsシミュレータ。
Klamp’t:2013年に導入されたシミュレーターで、安定した三角形の接触を専門にしています。脚式の歩行と操作をサポートします。
LpzRobots:ライプツィヒ大学で開発された3D物理ロボットシミュレータ。
miniBloq:Arduinoボード用のこのロボットプログラミングソフトウェアは、新しいシミュレータを備えています。
Moby:C ++で書かれた剛体力学ライブラリ。
幅広い特性を持つ関節式および車輪付きロボット向けのOpenSim Simulator さらに、開発は2006年に停止した
(前方/逆運動学、力学、シミュレーション、アニメーション)と移動ロボットのロボットアーム、MATLAB用ロボティクスツールボックスは、ポーズ(均質変換、オイラーとRPY角、四元数)を表すための機能を提供フリーソフトウェアです(コントロール、ローカリゼーション、プランニング、アニメーション)。
ARTE教育用ロボットツールボックス(ARTE)は、Matlabに基づいたフリーソフトウェアの教育ツールです。位置と方向を表す関数を提供します。同様に、ロボットアームをシミュレートする機能(直接/逆運動学、ダイナミクス、経路計画など)も含まれています。ツールボックスには、ロボットセル内で表示およびシミュレートできる3Dロボットモデルの大きなセットが含まれています。
Simbad 3d Robot Simulator Javaベースのシミュレータ
SimRobot:ブレーメン大学とドイツ人工知能研究センターで開発されたロボットシミュレータソフトウェアパッケージです。
ステージ:プレーヤー/ステージシステムを形成するためにプレイヤーでよく使用される2.5Dシミュレーター。プレイヤープロジェクトの一部
STDR Simulator Robotオペレーティングシステム内で使用するための、シンプルでフレキシブルでスケーラブルな2Dマルチロボットシミュレータです。
UCHILSIM:RoboCup 2004で紹介されたAIBOロボットのための物理ベースのシミュレータ
。UWSim:センサ、ダイナミック、および物理シミュレーションを組み込んだ海洋ロボット研究開発のためのUnderWater SIMulator。
クローズドソースおよびプロプライエタリなシミュレータ
anyKode Marilou
ORCA-Sim:Newton Game Dynamics物理エンジンを使用した(Windows)3Dロボットシミュレータ。