![見出し画像](https://assets.st-note.com/production/uploads/images/88597297/rectangle_large_type_2_8371ed23cdb3983d4b05bad70ded8560.png?width=1200)
🤖webotsとgazebo VRML 言語 robotbenchmarkのオンラインロボット
Webotsファイルフォーマット
ワールドファイル: .wbt 拡張子を持つ。Webots環境内でシミュレーションされるシーンやロボットの配置、環境の設定などを定義します。テキストベースであり、編集が比較的容易です。
プロトタイプファイル(PROTO): .proto 拡張子を持つ。再利用可能なモデルやロボットのコンポーネントを定義するために使用されます。これにより、複雑なオブジェクトやロボットもモジュール化して、簡単に再利用できます。
Gazeboファイルフォーマット
ワールドファイル: .world 拡張子を持つ。Gazeboのシミュレーション環境を記述し、ロボット、センサー、環境オブジェクトなどの配置を定義します。XMLベースのフォーマットで、詳細なシミュレーション環境を記述することができます。
モデルファイル: Gazeboでは、SDF(Simulation Description Format)ファイルフォーマットを使用してロボットやオブジェクトのモデルを定義します。.sdf 拡張子を持ち、XMLベースであります。SDFは、Gazebo専用に設計されたフォーマットで、ロボットの物理的特性やセンサー、アクチュエータの動作を細かく記述できます。
URDF(Unified Robot Description Format): ロボットの構造とプロパティを記述するためのXMLフォーマットです。Gazeboだけでなく、ROSとの統合においても広く使用されています。URDFは、ロボットの各部分の関係や動きをモデル化するために使われます。
Webotsは、フリーでオープンソースの3Dロボットシミュレータです。
フリー&オープンソースのApache 2ライセンスで公開されています
Webotsには、ゼロから新しいモデルを構築したり、3D CADソフトウェアからインポートしたりすることも可能である。ロボットモデルを設計する際、ユーザーはオブジェクトのグラフィカルプロパティと物理的プロパティの両方を指定します。グラフィカルプロパティには、オブジェクトの形状、寸法、位置と向き、色、テクスチャなどが含まれます。物理的特性には、質量、摩擦係数、バネ定数、減衰定数などがあります。簡単な流体力学はこのソフトウェアに含まれています。
Webots は、衝突の検出と剛体ダイナミクスのシミュレーションに ODE (Open Dynamics Engine) のフォークを使用しています。
Webotsには、ライダー、レーダー、近接センサー、光センサー、タッチセンサー、GPS、加速度センサー、カメラ、エミッターとレシーバー、サーボモーター(回転および直線)、位置と力のセンサー、LED、グリッパー、ジャイロ、コンパス、IMUなどのロボット実験でよく使われるセンサーとアクチュエータが含まれています。
Webots では、スクリーンショットを撮ったり、シミュレーションを記録することができます。Webots の世界は、VRML 言語をベースとしたクロスプラットフォームの *.wbt ファイルに保存されます。また、WebotsのワールドとオブジェクトをVRMLフォーマットでインポート/エクスポートすることもできます。ユーザーは、ロボットやその他のオブジェクトをマウスで動かして、実行中のシミュレーションを操作することができます。また、WebGLを利用して、Webブラウザ上でシミュレーションをストリーミングすることもできます。
Windowsでの起動まで MACもほぼ同じ
![](https://assets.st-note.com/img/1695263368893-34eHAtNoIZ.png)
![](https://assets.st-note.com/img/1695296438279-jphu1iNBMG.png?width=1200)
豊富なサンプルに悶絶
この章では、Webots パッケージで提供されているサンプルワールドの概要を説明します。.wbt "ファイルは "WEBOTS_HOME/projects "ディレクトリの "worlds "ディレクトリにあり、"File "メニューの "Open Sample World "項目を使って Webots から直接開くことができます。コントローラコードは、対応する "controllers "ディレクトリにあります。この章では、それぞれの例について簡単な説明をします。より詳しい説明はソースコードにあります。
![](https://assets.st-note.com/img/1695298284490-WUUdfxtDu1.png?width=1200)
![](https://assets.st-note.com/img/1695298594968-iJVKxTg48b.png?width=1200)
anaglyph.wbt
この例では、アナグリフ画像を作成するために、2つのカメラ画像を1つに統合する例を示します。立体カメラはiRobot Createロボットに取り付けられています。各ステップにおいて、2つのカメラ画像はディスプレイデバイスにマージされ、一方は赤でフィルタリングされ、もう一方はシアン色でフィルタリングされます。これにより、アナグリフ3D画像が生成され、低コストの赤/シアン3Dガラスで見ることができる。
gantry.wbt
この例では、ガントリーロボットが3色の箱を積み重ねて「ハノイの塔」を演奏しています。ガントリーロボットは、LinearMotorとRotationMotorデバイスを組み合わせてモデル化されている。ハノイの塔の問題を解くために、再帰的アルゴリズムが使用されます。
hexapod.wbt
この例では、LinearMotorとRotationMotorの組み合わせで昆虫型ロボットが作られている。このロボットは、三脚を交互に使った歩行で移動する。
moon.wbt
この例では、2台のコアラロボット(Kチーム)が月のような表面を周回します。キーボードの矢印キーで軌道を修正できます。月のような景色はIndexedFaceSetノードでできています。どちらのロボットも同じコントローラコードを使っています。
soccer.wbt
この例では、単純なロボットの2つのチームがサッカーをします。Supervisorコントローラがレフェリーとして使用され、ゴールをカウントし、現在のスコアと残り時間を3Dビューに表示します。この例では、Supervisorコントローラを使用して、オブジェクトの位置を読み取り、変更する方法を示しています。
stewart_platform.wbt
これはスチュワート・プラットフォームの一例である。スチュワートプラットフォームは、リニアアクチュエータの八面体アセンブリを使用するパラレルマニピュレータの一種です。自由度は6つ(x、y、z、ピッチ、ロール、ヨー)。この例では、スチュワート・プラットフォームに数個の積み重ねられた箱を載せ、プラットフォームが移動して箱がばらばらになる。このシミュレーションでは、リニアアクチュエータ(油圧ピストン)の両端をスチュワートプラットフォームの下部と上部に取り付けます。
ブラウザでもロボットシミュレーション robotbenchmark.net
2017年8月18日より、robotbenchmark.netのウェブサイトでは、Webotsのウェブインターフェースを通じて、Webotsのシミュレーションに基づく一連のロボットベンチマークに無料でアクセスできるようになっています。Webotsのインスタンスはクラウド上で動作しており、3Dビューはユーザーのブラウザに表示されます。このWebインターフェースから、ユーザーはPythonでロボットをプログラミングし、ステップバイステップの手順でロボット制御を学ぶことができます。
![](https://assets.st-note.com/img/1695300524977-cl1oS66jTh.png?width=1200)
![](https://assets.st-note.com/img/1665282363275-Lmw4mh8Uct.png?width=1200)
![](https://assets.st-note.com/img/1665282374409-30QeRDTnZf.png?width=1200)
いいなと思ったら応援しよう!
![あたり帳簿](https://assets.st-note.com/production/uploads/images/146045306/profile_76a0adfc7bd4b4908ef76d29ad61ae98.png?width=600&crop=1:1,smart)