九州工業大学 CIR-KIT Blog

九工大自律移動ロボット製作プロジェクトCIR-KITの技術系ブログ

No.3-1:環境をつくろう ! (新規の環境を作る 編)

gazebo_logo

検証日時

02/03/2015 (Tue)

概要

Gazeboのチュートリアル第三弾「Build a World」。 このチュートリアルでは、シミュレーション中の環境をどのように構築するかについて説明します。
今回はその「Building a New World」編です。
公式サイトを適当に翻訳しただけですので、あしからず。

レベル

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
参考

GAZEBO Tutorial-Build a World

はじめに

このチュートリアルでは、動的もしくは静的な物体を生成する過程について説明します。

用語説明

  • World : ロボットや物体(例えばビルやテーブル、照明など)さらに、空や照明のパラメータ、物理的特性を記述するのに使用します。

  • Static : staticマークがついた物体(SDFファイルで<static>true</static>と記述されているもの)であり、衝突要素のみを持つ様な物体です。すべての動いていない物体はstaticと記述する必要があります。また、そのように記述することで、パフォーマンスが向上します。

  • Dynamic : dynamicマークがついた物体(SDFファイルには<static>要素がないか、falseが設定されています)で、衝突要素の他に慣性要素を含みます。

セットアップ

  1. Gazeboがインストールされていることを確認してください。インストールしていない場合には、Gazeboのインストールをご覧ください。

  2. チュートリアル用の作業ディレクトリを作成しましょう。:

1
2
mkdir ~/build_world_tutorial
cd ~/build_world_tutorial
  1. Gazeboを起動し、以下のようにgland planeが起動していることを確かめましょう。
1
gazebo

empty_world

物体を追加する

Gazeboには、物体を追加する方法が2つあります。

  1. 1つ目は、簡単な形状の設置です。これは、以下のようにレンダリングウィンドウの上部にあります。 empty_world_simple_shapes_highlighted

  2. 2つ目は、モデルデータベースにあります。以下のように画面左上部にあるInsertタブをクリックすることで、追加する物体の一覧が表示でき、追加する物体を選択することができます。 empty_world_insert_highlighted

簡単な図形を追加する

箱、球、円柱をアイコンをレンダリングウィンドウ上部のアイコンをクリックすることで追加できます。それぞれの形状の大きさは以下のようになっています。

  • 箱 : 1x1x1 [m]

  • 球 : 直径 1 [m]

  • 円柱 : 直径 1 [m]、高さ 1 [m]

箱のアイコンを選択し、マウスをレンダリングウィンドウに動かしてください。すると、マウスと共に動く箱を確認できるはずです。気に入った場所に箱を設置するには、左クリックを押してください。
球と円柱でも同じことを繰り返してください。すると以下のような感じになるはずです。 simple_shapes

モデルデータベースからモデルを追加する

Gazeboのモデルデータベースはロボットや机、建物に至るまでのありとあらゆる種類の保管場所です。

  1. モデルデータベースに接続するために、画面左上端にあるInsertタブを選択してください。
    モデルのリストは現在の場所に従ったセクションに分けられています。それぞれのセクションはURIもしくはパスによって読み込まれています。リモートサーバーに置かれている物体を選択するとモデルを~/.gazebo/modelsにダウンロードします。

  2. worldにいろいろなモデルを追加してみましょう。モデルをダウンロードするときは、容量の大きい物もありますので、注意してください。

  3. 以下のような感じでモデルを追加することができたと思います。モデルは、あなたが選んだものが表示差rているはずです。ですので、以下のキャプチャは、あくまでも一例です。: added_models_to_empty_world

モデルのポジション

それぞれのモデルのポジションは変換ツールもしくは回転ツールを使うことで変更できます。
以下のように、アイコンが用意されています。 empty_rts

変換

変換ツールでは、物体をx,y,z軸それぞれに移動することができます。動かしたいモデルをクリックで選択しこのツールを使ってみましょう。3軸マーカーがモデル上に現れたと思います。このマーカーを使ってモデルをx,y,z軸方向に動かすのです。
モデルをクリックし、ドラッグするだけで、物体をx-y平面では移動させることができます。x,y,zのキーを押しながらドラッグすることで、どの軸に沿って動かすのかを決定することができます。
いろいろな方法で、モデルを動かしてみましょう。

回転

回転ツールではx,y,z軸周りにモデルを回転することができます。動かしたいモデルをクリックで選択しこのツールを使ってみましょう。3つの輪でできたマーカがモデル上に現れたと思います。このマーカーを使ってモデルをx,y,z軸周りに回転することができるのです。
いろいろな方向にモデルを回転させてみましょう。

大きさ

大きさツールではモデルの大きさをx,y,z軸に沿って変更することができます。現在は、このツールは簡単な形状(つまり、箱、球、円柱)にのみ適用できます。簡単なモデルを選択し、このツールを使ってみましょう。すると、三軸のマーカーが出現したはずです。これを使ってx,y,z軸方向に物体の大きさを変更することができます。
いろいろな大きさにしてみましょう。

モデルを削除する

モデルを選択し、Deleteキーを押せばモデルを削除できます。また、モデルの上で右クリックし、Deleteを選択してもモデルを削除できます。
いくつかのモデルを削除してみましょう。

Worldを保存する

気に入ったworldデータが出来上がったら、Fileメニューより保存することができます。
Fileメニューを選びSave asを選択しましょう。
ポップアップが現れ、新しいファイルネームを問われます。my_world.sdfなどのフィル名を入力し、OKをクリックしましょう。

Worldを読み込む

コマンドラインで以下のように入力すれば、保存したworldデータを読み込むことができます。
以下の例は、my_worlf.sdfを読み込んでいます。

1
gazebo my_world.sdf

ファイル名は現在の作業ディレクトリ直下にしてください。そうしない場合には、絶対パスもしくは、作業ディレクトリからの相対パスを入力してください。

Next >> 環境を修正する