ロボットシミュレーター

ロボットシミュレーターは、実機に依存せずに実ロボット用のアプリケーションを作成するためのシミュレーターです。これにより、コストと時間を節約できます。場合によっては、このようなアプリケーションは変更を加えることなく実ロボットに移植(または再構築)できます。

「ロボットシミュレータ」という用語は、様々なロボットシミュレーションアプリケーションを指す場合があります。例えば、モバイルロボットアプリケーションでは、行動ベースのロボットシミュレータを使用することで、ユーザーは剛体と光源からなるシンプルな世界を作成し、ロボットがこれらの世界と相互作用するようにプログラムすることができます。行動ベースのシミュレーションは、よりバイナリまたは計算的なシミュレータと比較して、より生物的な性質を持つ動作を可能にします。また、行動ベースのシミュレータは失敗から学習し、人間のような粘り強さを示すことができます。

Robologixロボットシミュレーター

ロボットシミュレータの最も一般的な用途の 1 つは、ロボットとその環境の3D モデリングとレンダリングです。このタイプのロボットソフトウェアには、実際の作業範囲内での物理ロボットの動作をエミュレートできる仮想ロボットシミュレータがあります。一部のロボットシミュレータでは、物理エンジンを使用して、よりリアルなロボットの動作を生成します。物理的なロボットの有無にかかわらず、ロボット制御プログラムの開発にはロボットシミュレータの使用を強くお勧めします。シミュレータを使用すると、ロボットプログラムをオフラインで簡単に記述およびデバッグでき、プログラムの最終バージョンを物理的なロボットでテストできます。これは主に産業用ロボットアプリケーションに当てはまります。オフラインプログラミングの成功は、ロボットの物理環境がシミュレートされた環境とどれだけ似ているかにかかっているからです。

センサーベースのロボットの動作は、ロボットの動きが現実世界の瞬間的なセンサーの読み取りに依存するため、オフラインでシミュレーションしたりプログラムしたりするのが非常に困難です。

特徴

最新のシミュレーターは、次のような機能を提供する傾向があります。

  • 高速ロボットプロトタイピング:
    • 独自のシミュレータを作成ツールとして使用する
    • 外部ツールの使用
  • リアルな動きを実現する物理エンジン: ほとんどのシミュレーターはBulletODE、またはPhysX を使用します。
  • リアルな 3D レンダリング: 標準の 3D モデリング ツールまたはサードパーティ ツールを使用して環境を構築できます。
  • スクリプトを使用した動的ロボット本体: Webots で使用されるCC++PerlPythonJavaURBIMATLAB言語。Gazebo使用される C++ 。

シミュレータ

今日のプログラミングに利用可能な最新技術の一つに、仮想シミュレーションを利用するものがあります。作業環境とロボット自体の仮想モデルを用いたシミュレーションは、企業とプログラマーの双方にメリットをもたらします。シミュレーションを利用することでコストが削減され、ロボットをオフラインでプログラミングできるため、組立ラインのダウンタイムがなくなります。ロボットの動作や組立部品は、プロトタイプが製造される数ヶ月前から3次元の仮想環境で視覚化できます。また、シミュレーション用のコードを書くのは、実際のロボットのコードを書くよりも簡単です。ロボットプログラミングにおける仮想シミュレーションへの移行は、ユーザーインターフェース設計における大きな前進ですが、多くのアプリケーションはまだ初期段階にあります。

一般情報

ソフトウェア開発者開発状況ライセンス3Dレンダリングエンジン物理エンジン3Dモデラーサポートされているプラ​​ットフォーム
ガゼボオープンソースロボティクス財団(OSRF)アクティブアパッチ2.0ODEBullet、Simbody、DART内部Linux、macOS、Windows
ロボDKロボDKアクティブ独自のオープンGL重力プラグイン内部Linux、macOS、Windows、Android、iOS、Debian
シムスパークO. Obst et al. (+26)アクティブGNU GPL(v2)内部常微分方程式なしLinux、macOS、Windows
ウェボットサイバーボティクス株式会社アクティブアパッチ2.0内部(WREN)ODEのフォーク内部Linux、macOS、Windows
オープンレイブOpenRAVEコミュニティアクティブGNU LGPLCoin3DOpenSceneGraphODE弾丸内部Linux、macOS、Windows
コッペリアシムコッペリアロボティクスアクティブデュアル:商用、GNU GPL内部MuJoCo、BulletODEVortexNewton内部Linux、macOS、Windows
ソフトウェア開発者開発状況ライセンス3Dレンダリングエンジン物理エンジン3Dモデラーサポートされているプラ​​ットフォーム

技術情報

ソフトウェア主なプログラミング言語フォーマットのサポート拡張性外部APIロボットミドルウェアのサポート主要なユーザーインターフェースヘッドレスシミュレーション
ガゼボC++SDF [1] /URDF、[2] OBJSTLCOLLADAプラグイン(C++)C++ROS、プレーヤー、ソケット(protobuf メッセージ)GUIはい
ロボDKパイソンSLDPRTSLDASMSTEPOBJSTL3DSCOLLADAVRMLロボット オペレーティング システム URDFRhinoceros 3D、...API、[3]プラグインインターフェース[4]Python、C/C++、C#、Matlab、...ソケットGUIはい
シムスパークC++、ルビーRubyシーングラフモッズ(C++)ネットワーク(セックスソケット(セックスGUI、ソケット未知
ウェボットC++WBT、VRMLX3D3DSBlender、BVH、COLLADAFBXSTLOBJ、URDFAPI、PROTO、プラグイン(C/C++)C、C++、Python、Java、Matlab、ROSソケット、ROS、NaoQIGUIはい[5]
オープンレイブC++、PythonXMLVRMLOBJCOLLADAプラグイン(C++)、APIC/C++、Python、Matlabソケット、ROS、YARPGUI、ソケットはい
コッペリアシムC++、Python、Lua3DSBlenderCOLLADASTLOBJ、URDF、SDF、GLTF、XMLプラグイン (C/C++)、埋め込みスクリプト (Python、Lua)、リモート API (C、C++、Python、Java、MATLAB、Octave)、アドオン (Python、Lua)C、C++、Python、Java、MATLAB、Octave、ROS、ROS 2.0ソケット、ROS、ROS 2.0、ZeroMQGUIはい
ソフトウェア主なプログラミング言語フォーマットのサポート拡張性外部APIロボットミドルウェアのサポート主要なユーザーインターフェースヘッドレスシミュレーション

インフラストラクチャー

サポート

ソフトウェアメーリングリスト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レーザースキャナー全リスト

参考文献

  1. ^ OSRF. 「SDF」. sdformat.org . 2019年4月27日閲覧
  2. ^ "urdf - ROS Wiki". wiki.ros.org . 2017年10月6日閲覧
  3. ^ “RoboDK API”. GitHub . 2021年10月22日.
  4. ^ 「RoboDKプラグインインターフェース」GitHub。2021年10月16日。
  5. ^ ただし、3DレンダリングにはXサーバーへの接続が必要です
  6. ^ 「Gazeboコミュニティ」 。 2019年4月27日閲覧
  7. ^ 「Gazebo API」。Gazeboコミュニティ。 2019年4月27日閲覧
  8. ^ 「Gazebo Answers」. Gazeboコミュニティ. 2019年4月27日閲覧。
  9. ^ 「Gazeboチュートリアル」。Gazeboコミュニティ。 2019年4月27日閲覧
  10. ^ 「Gazebo Issue Tracker」。Gazeboコミュニティ。 2019年4月27日閲覧
  11. ^ RoboDKメーリングリスト
  12. ^ RoboDK APIドキュメント
  13. ^ RoboDKフォーラム
  14. ^ RoboDKドキュメント
  15. ^ RoboDK バグトラッカー
  16. ^ SimSpark メーリングリスト
  17. ^ “SimSparkクライアントプロトコル”. 2016年2月25日時点のオリジナルよりアーカイブ2015年4月8日閲覧。
  18. ^ “SimSpark ユーザーマニュアル (Wiki)”. 2015年2月25日時点のオリジナルよりアーカイブ2015年4月8日閲覧。
  19. ^ SimSparkトラッカー
  20. ^ SimSpark Wiki [永久リンク切れ]
  21. ^ Webotsリファレンスマニュアル
  22. ^ 「ディスカッション · cyberbotics/Webots」。GitHub
  23. ^ Webots ユーザーガイド
  24. ^ GitHub 上の Webots の問題
  25. ^ GitHub 上の Webots 技術 wiki
  26. ^ Webots Discordチャンネル
  27. ^ OpenRAVE メーリングリスト
  28. ^ OpenRAVE API
  29. ^ ab OpenRAVE 問題トラッカー
  30. ^ OpenRAVE ユーザーガイド
  31. ^ OpenRAVE ウィキ
  32. ^ コッペリアシム API
  33. ^ コッペリアロボティクスフォーラム
  34. ^ CoppeliaSim ユーザーマニュアル
  35. ^ Coppelia Roboticsのバグレポート
  36. ^ abcdefgh OSRF. 「Gazebo」. gazebosim.org . 2019年4月27日閲覧
  37. ^ CppCheck
  38. ^ Clang フォーマット
  39. ^ ユニットテスト
  40. ^ APIテスト
  41. ^ Webotsマスター
  42. ^ Webotsの開発
  43. ^ 出典
  44. ^ OSRF. 「Gazebo:チュートリアル:初心者:モデルエディター」. gazebosim.org . 2019年4月27日閲覧
  45. ^ OSRF. 「Gazebo:チュートリアル:空気力学」. gazebosim.org . 2019年4月27日閲覧
  46. ^ OSRF. 「Gazebo:チュートリアル:流体力学」. gazebosim.org . 2019年4月27日閲覧
  47. ^ OSRF. 「Gazebo : ARIAC」. gazebosim.org . 2019年4月27日閲覧
  48. ^ OSRF. 「Gazebo : HAPTIX」. gazebosim.org . 2019年4月27日閲覧
  49. ^ 「DARPAの遺産:ロボット開発とテストのためのオープンソースシミュレーション」Robohub.org . 2019年4月27日閲覧
  50. ^ OSRF. 「Gazebo:チュートリアル:アニメーションモデル(アクター)の作成」gazebosim.org . 2019年4月27日閲覧
  51. ^ ab RoboDK ロボットライブラリ
  52. ^ サラマンダーロボットを含む
  53. ^ Nao、DARwIn-OP、富士通 HOAP2、Kondo KHR-2HV、KHR-3 などを含む
  54. ^ Webotsロボットモデル
  55. ^ CoppeliaSimの主な機能
  56. ^ OpenRAVE クローズドチェーン
  57. ^ OpenRAVE デュアルアームの例
  58. ^ OSRF. 「Gazebo:チュートリアル:接触センサー」. gazebosim.org . 2019年4月27日閲覧
  59. ^ OSRF. 「Gazebo:チュートリアル:カメラの歪み」. gazebosim.org . 2019年4月27日閲覧
  60. ^ ab OSRF. 「Gazebo:チュートリアル:中級:Velodyne」. gazebosim.org . 2019年4月27日閲覧
  61. ^ 衝突検出は簡略化されたモデルを使用する
  62. ^ 可能だが、ノイズのモデルはない
Retrieved from "https://en.wikipedia.org/w/index.php?title=Robotics_simulator&oldid=1305275097"