検証日時
01/25/2015 (Sun)
概要
Gazeboのチュートリアル第二弾「Build a Robot」。
このチュートリアルではロボットを作ったり、修正したりします。また、センサ、アクチュエータを搭載した車輪型ロボットを作り、モデルを描画するなどの実践例も行います。
今回はその「Attach Meshes」編です。
公式サイトを適当に翻訳しただけですので、あしからず。
レベル
BEGINNER
環境
PC | : | Lenovo ThinkPad X240 |
Prosessor | : | Intel Core i7-4600U (2.10GHz, 4MB, 1600MHz) |
RAM | : | PC3-12800 DDR3L (8GB) |
OS | : | Ubuntu 14.04 LTS 64bit |
Kernel | : | 3.13.0-44-generic |
Gazebo | : | Version 5.0.1 |
参考
はじめに
メッシュをモデルに追加すると、外観だけでなく、センサにとってもよりリアルなシミュレーションができます。このチュートリアルでは、カスタムメッシュの定義と、シミュレーションではそれがどのように見えるかを説明します。
メッシュを外観要素として追加する
メッシュを使う主な例は見た目のリアルさを高めるためです。
- まずは、
my_robot
ディレクトリまで移動しましょう。
1
|
|
model.sdf
ファイルを好きなエディタで開きましょう。(ここではgeditを使用します。)
1
|
|
- 台車の見た目にメッシュを取り付けます。以下のようなビジュアルについての定義を探してください。:
1 2 3 4 5 6 7 |
|
- メッシュはパソコン上のファイルもしくは他のモデルから引用することができます。今回は、pioneer2dxのメッシュを使用します。以下のようにして、メッシュを変更してください。(ただし、残りはそのままにして編集してください。)
1 2 3 4 5 6 7 |
|
- 上記の
<mesh>
によって定義されたpioneer2dxのモデルがあるなら、ローカルの台車モデルを見るために以下のコマンドで確認しましょう。:
1
|
|
もし、meshファイルが存在しないなら、Gazeboの中(Insertタブの下->http://gazebosim.org/models) で少なくとも一回、Pioneer 2DXをスポーンさせて、モデルデータベースからGazeboにモデルを引っ張ってこさせましょう。
もしくは、ローカルフォルダに直接ダウンロードしましょう。
1 2 |
|
- Gazeboで、
My_Robot
モデルをドラッグしましょう。すると、さっきまでの台車が下図のようにpioneer2dx
の様な見た目になります。
台車は、私達のロボットにほ明らかに大きすぎるので、見た目の大きさを作りなおす必要があります。
見た目の大きさを変更する必要があります。以下のように
model.sdf
を編集しましょう。
コピーはしないでください。手書きで追加していくことが、今回のチュートリアルです。
1 2 3 4 5 6 7 8 |
|
すると、以下の様になります。
- 今度は、小さくなりすぎました。(z軸方向に)見た目を改善するために、少し上に上げてるよう、以下のようにして
pose
を変更しましょう。
コピーはしないでください。手書きで追加していくことが、今回のチュートリアルです。
1 2 3 4 5 6 7 8 9 |
|
すると、以下のようになります。
ここまでで、ロボットの<visual>
要素をシンプルに変更しました。なので、GUIや、カメラ、深度カメラ、GPUレーザーの様なセンサに基づくGPUやGUIがPioneer 2DX
のようになっているはずです。また、私達は、<collision>
要素も変更していませんし、外観の幾何学形状は、衝突ダイナミクスエンジンや距離センサなどに使われます。
もっとよく知る
新しいロボットを作るとき、自分のオリジナルのメッシュを追加したくなるでしょう。メッシュをインポートするというチュートリアルでは、Gazeboに最適なフォーマットでメッシュをインポートする方法について取り上げています。
試してみる
3D Warehouseからメッシュをダウンロードしてください。ただし、メッシュデータはCollada(.dae)フォーマットにすることに注意してください。
メッシュを
~/.gazebo/models/my_robot/meshes
に配置してください。もしmesh
ディレクトリが存在しないなら、作成して、その下にメッシュを配置してください。台車を置き換えるか、追加するなどして、ロボットにメッシュを使ってみてください。
注意 : マテリアル(.pngや.jpgの様な拡張子を持つテクスチャファイル)は
~/.gazebo/models/my_robot/materials/textures
に配置する必要があります。