Simulator to create applications for physical robots
ロボットシミュレーターは、実機に依存せずに実ロボット用のアプリケーションを作成するためのシミュレーターです。これにより、コストと時間を節約できます。場合によっては、このようなアプリケーションは変更を加えることなく実ロボットに移植(または再構築)できます。
「ロボットシミュレータ」という用語は、様々なロボットシミュレーションアプリケーションを指す場合があります。例えば、モバイルロボットアプリケーションでは、行動ベースのロボットシミュレータを使用することで、ユーザーは剛体と光源からなるシンプルな世界を作成し、ロボットがこれらの世界と相互作用するようにプログラムすることができます。行動ベースのシミュレーションは、よりバイナリまたは計算的なシミュレータと比較して、より生物的な性質を持つ動作を可能にします。また、行動ベースのシミュレータは失敗から学習し、人間のような粘り強さを示すことができます。
Robologixロボットシミュレーターロボットシミュレータの最も一般的な用途の 1 つは、ロボットとその環境の3D モデリングとレンダリングです。このタイプのロボットソフトウェアには、実際の作業範囲内での物理ロボットの動作をエミュレートできる仮想ロボットシミュレータがあります。一部のロボットシミュレータでは、物理エンジンを使用して、よりリアルなロボットの動作を生成します。物理的なロボットの有無にかかわらず、ロボット制御プログラムの開発にはロボットシミュレータの使用を強くお勧めします。シミュレータを使用すると、ロボットプログラムをオフラインで簡単に記述およびデバッグでき、プログラムの最終バージョンを物理的なロボットでテストできます。これは主に産業用ロボットアプリケーションに当てはまります。オフラインプログラミングの成功は、ロボットの物理環境がシミュレートされた環境とどれだけ似ているかにかかっているからです。
センサーベースのロボットの動作は、ロボットの動きが現実世界の瞬間的なセンサーの読み取りに依存するため、オフラインでシミュレーションしたりプログラムしたりするのが非常に困難です。
特徴
最新のシミュレーターは、次のような機能を提供する傾向があります。
シミュレータ
今日のプログラミングに利用可能な最新技術の一つに、仮想シミュレーションを利用するものがあります。作業環境とロボット自体の仮想モデルを用いたシミュレーションは、企業とプログラマーの双方にメリットをもたらします。シミュレーションを利用することでコストが削減され、ロボットをオフラインでプログラミングできるため、組立ラインのダウンタイムがなくなります。ロボットの動作や組立部品は、プロトタイプが製造される数ヶ月前から3次元の仮想環境で視覚化できます。また、シミュレーション用のコードを書くのは、実際のロボットのコードを書くよりも簡単です。ロボットプログラミングにおける仮想シミュレーションへの移行は、ユーザーインターフェース設計における大きな前進ですが、多くのアプリケーションはまだ初期段階にあります。
インフラストラクチャー
サポート
| ソフトウェア | メーリングリスト | APIドキュメント | 公開フォーラム、ヘルプシステム | ユーザーマニュアル | 問題追跡 | ウィキ | チャット |
|---|
| ガゼボ | はい[6] | はい[7] | はい[8] | はい[9] | はい[10] | いいえ |
|---|
| ロボDK | はい[11] | はい[12] | はい[13] | はい[14] | はい[15] | いいえ | 未知 |
|---|
| シムスパーク | はい[16] | はい[17] | いいえ | はい[18] | はい[19] | はい[20] | 未知 |
|---|
| ウェボット | いいえ | はい[21] | はい[22] | はい[23] | はい[24] | はい[25] | はい[26] |
|---|
| オープンレイブ | はい[27] | はい[28] | はい[29] | はい[30] | はい[29] | はい[31] | 未知 |
|---|
| コッペリアシム | いいえ | はい[32] | はい[33] | はい[34] | はい[35] | 未知 | いいえ |
|---|
| ソフトウェア | メーリングリスト | APIドキュメント | 公開フォーラム、ヘルプシステム | ユーザーマニュアル | 問題追跡 | ウィキ |
|---|
コードの品質
| ソフトウェア | 静的コードチェッカー | スタイルチェッカー | テストシステム | テスト関数カバレッジ | テストブランチカバレッジ | コード行数 | コメントの行 | 継続的インテグレーション |
|---|
| ガゼボ | cppcheck [36] | cpplint [36] | gtestとqtest [36] | 77.0% [36] | 53.3% [36] | 32万[36] | 106k [36] | ジェンキンス[36] |
|---|
| ロボDK | 未知 | 未知 | 未知 | 未知 | 未知 | 未知 | 未知 | 未知 |
|---|
| シムスパーク | 未知 | 未知 | 未知 | 未知 | 未知 | 未知 | 未知 | 未知 |
|---|
| ウェボット | cppcheck [37] | clangフォーマット[38] | ユニットテスト[39] | API機能の100% [40] | マスターする、[41]開発する[42] | 約20万 | 約5万 | GitHubアクション |
|---|
| オープンレイブ | 未知 | 未知 | ニシキヘビの鼻 | 未知 | 未知 | 未知 | 未知 | ジェンキンス[43] |
|---|
| コッペリアシム | 未知 | 未知 | 未知 | 未知 | 未知 | 未知 | 未知 | 未知 |
|---|
| ソフトウェア | 静的コードチェッカー | スタイルチェッカー | テストシステム | テスト関数カバレッジ | テストブランチカバレッジ | コード行数 | コメントの行 | 継続的インテグレーション |
|---|
特徴
| ソフトウェア | CADからモーションへ | 動的衝突回避 | 相対エンドエフェクタ | オフラインプログラミング | ハードウェアのリアルタイムストリーミング制御 |
|---|
| ガゼボ | 未知 | はい | はい | はい | はい |
|---|
| ロボDK | はい | はい | はい | はい | はい |
|---|
| シムスパーク | 未知 | いいえ | 未知 | いいえ | いいえ |
|---|
| ウェボット | 未知 | はい | はい | はい | はい |
|---|
| オープンレイブ | 未知 | いいえ | 未知 | いいえ | いいえ |
|---|
| コッペリアシム | 未知 | はい | はい | はい | はい |
|---|
| ソフトウェア | CADからモーションへ | 動的衝突回避 | 相対エンドエフェクタ | オフラインプログラミング | リアルタイムストリーミング制御 |
|---|
ロボット家族
| ソフトウェア | UGV(地上移動ロボット) | UAV(航空ロボット) | AUV(水中ロボット) | ロボットアーム | ロボットハンド(把持シミュレーション) | ヒューマノイドロボット | 人間のアバター | 全リスト |
|---|
| ガゼボ | はい[44] | はい[45] | はい[46] | はい[47] | はい[48] | はい[49] | はい[50] | |
|---|
| ロボDK | いいえ | いいえ | いいえ | はい[51] | いいえ | いいえ | いいえ | はい[51] |
|---|
| シムスパーク | はい | いいえ | いいえ | 多分 | 多分 | はい | いいえ | |
|---|
| ウェボット | はい | はい | はい[52] | はい | はい | はい[53] | はい | はい[54] |
|---|
| オープンレイブ | はい | 未知 | 未知 | はい | はい | はい | はい |
|---|
| コッペリアシム | はい | はい | はい | はい | はい | はい | はい | はい[55] |
|---|
| ソフトウェア | UGV(地上移動ロボット) | UAV(航空ロボット) | AUV(水中ロボット) | ロボットアーム | ロボットハンド(把持シミュレーション) | ヒューマノイドロボット | 人間のアバター | 全リスト |
|---|
サポートされているアクチュエータ
| ソフトウェア | 一般的な運動連鎖 | 力制御運動 | 全リスト | 円形運動連鎖 | 運動学的に冗長なチェーン | 分岐した運動連鎖 |
|---|
| ガゼボ | はい | はい | | はい | はい | はい |
|---|
| ロボDK | 未知 | 未知 | | 未知 | 未知 | 未知 |
|---|
| シムスパーク | はい | いいえ | SimSparkエフェクター | 未知 | 未知 | 未知 |
|---|
| ウェボット | はい | はい | Webotsアクチュエータ | はい | はい | はい |
|---|
| オープンレイブ | はい | はい | ジョイント、追加アクチュエータ | はい[56] | はい | はい[57] |
|---|
| コッペリアシム | はい | はい | | はい | はい | はい |
|---|
| ソフトウェア | 一般的な運動連鎖 | 力制御運動 | 全リスト | 円形運動連鎖 | 運動学的に冗長なチェーン | 分岐した運動連鎖 |
|---|
サポートされているセンサー
| ソフトウェア | オドメトリ | IMU | 衝突 | GPS | 単眼カメラ | ステレオカメラ | 深度カメラ | 全方位カメラ | 2Dレーザースキャナー | 3Dレーザースキャナー | 全リスト |
|---|
| ガゼボ | はい | はい | はい[58] | はい | はい[59] | はい | はい | はい | はい[60] | はい[60] | |
|---|
| ロボDK | 未知 | 未知 | 未知 | 未知 | 未知 | はい | はい | はい | はい | はい | |
|---|
| シムスパーク | はい | はい | はい[61] | 部分的[62] | はい | 部分的 | 未知 | 未知 | いいえ | いいえ | SimSpark パーセプター |
|---|
| ウェボット | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | Webotsセンサー |
|---|
| オープンレイブ | はい | はい | はい | はい | はい | はい | はい | 未知 | はい | はい |
|---|
| コッペリアシム | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい |
|---|
| ソフトウェア | オドメトリ | IMU | 衝突 | GPS | 単眼カメラ | ステレオカメラ | 深度カメラ | 全方位カメラ | 2Dレーザースキャナー | 3Dレーザースキャナー | 全リスト |
|---|
参考文献
- ^ OSRF. 「SDF」. sdformat.org . 2019年4月27日閲覧。
- ^ "urdf - ROS Wiki". wiki.ros.org . 2017年10月6日閲覧。
- ^ “RoboDK API”. GitHub . 2021年10月22日.
- ^ 「RoboDKプラグインインターフェース」GitHub。2021年10月16日。
- ^ ただし、3DレンダリングにはXサーバーへの接続が必要です
- ^ 「Gazeboコミュニティ」 。 2019年4月27日閲覧。
- ^ 「Gazebo API」。Gazeboコミュニティ。 2019年4月27日閲覧。
- ^ 「Gazebo Answers」. Gazeboコミュニティ. 2019年4月27日閲覧。
- ^ 「Gazeboチュートリアル」。Gazeboコミュニティ。 2019年4月27日閲覧。
- ^ 「Gazebo Issue Tracker」。Gazeboコミュニティ。 2019年4月27日閲覧。
- ^ RoboDKメーリングリスト
- ^ RoboDK APIドキュメント
- ^ RoboDKフォーラム
- ^ RoboDKドキュメント
- ^ RoboDK バグトラッカー
- ^ SimSpark メーリングリスト
- ^ “SimSparkクライアントプロトコル”. 2016年2月25日時点のオリジナルよりアーカイブ。2015年4月8日閲覧。
- ^ “SimSpark ユーザーマニュアル (Wiki)”. 2015年2月25日時点のオリジナルよりアーカイブ。2015年4月8日閲覧。
- ^ SimSparkトラッカー
- ^ SimSpark Wiki [永久リンク切れ]
- ^ Webotsリファレンスマニュアル
- ^ 「ディスカッション · cyberbotics/Webots」。GitHub。
- ^ Webots ユーザーガイド
- ^ GitHub 上の Webots の問題
- ^ GitHub 上の Webots 技術 wiki
- ^ Webots Discordチャンネル
- ^ OpenRAVE メーリングリスト
- ^ OpenRAVE API
- ^ ab OpenRAVE 問題トラッカー
- ^ OpenRAVE ユーザーガイド
- ^ OpenRAVE ウィキ
- ^ コッペリアシム API
- ^ コッペリアロボティクスフォーラム
- ^ CoppeliaSim ユーザーマニュアル
- ^ Coppelia Roboticsのバグレポート
- ^ abcdefgh OSRF. 「Gazebo」. gazebosim.org . 2019年4月27日閲覧。
- ^ CppCheck
- ^ Clang フォーマット
- ^ ユニットテスト
- ^ APIテスト
- ^ Webotsマスター
- ^ Webotsの開発
- ^ 出典
- ^ OSRF. 「Gazebo:チュートリアル:初心者:モデルエディター」. gazebosim.org . 2019年4月27日閲覧。
- ^ OSRF. 「Gazebo:チュートリアル:空気力学」. gazebosim.org . 2019年4月27日閲覧。
- ^ OSRF. 「Gazebo:チュートリアル:流体力学」. gazebosim.org . 2019年4月27日閲覧。
- ^ OSRF. 「Gazebo : ARIAC」. gazebosim.org . 2019年4月27日閲覧。
- ^ OSRF. 「Gazebo : HAPTIX」. gazebosim.org . 2019年4月27日閲覧。
- ^ 「DARPAの遺産:ロボット開発とテストのためのオープンソースシミュレーション」Robohub.org . 2019年4月27日閲覧。
- ^ OSRF. 「Gazebo:チュートリアル:アニメーションモデル(アクター)の作成」gazebosim.org . 2019年4月27日閲覧。
- ^ ab RoboDK ロボットライブラリ
- ^ サラマンダーロボットを含む
- ^ Nao、DARwIn-OP、富士通 HOAP2、Kondo KHR-2HV、KHR-3 などを含む
- ^ Webotsロボットモデル
- ^ CoppeliaSimの主な機能
- ^ OpenRAVE クローズドチェーン
- ^ OpenRAVE デュアルアームの例
- ^ OSRF. 「Gazebo:チュートリアル:接触センサー」. gazebosim.org . 2019年4月27日閲覧。
- ^ OSRF. 「Gazebo:チュートリアル:カメラの歪み」. gazebosim.org . 2019年4月27日閲覧。
- ^ ab OSRF. 「Gazebo:チュートリアル:中級:Velodyne」. gazebosim.org . 2019年4月27日閲覧。
- ^ 衝突検出は簡略化されたモデルを使用する
- ^ 可能だが、ノイズのモデルはない