検証日時
02/06/2015 (Tue)
概要
Gazeboのチュートリアル第三弾「Build a World」。
このチュートリアルでは、シミュレーション中の環境をどのように構築するかについて説明します。
今回はその「Building Edito」編です。
公式サイトを適当に翻訳しただけですので、あしからず。
レベル
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がインストールされていることを確認してください。インストールしていない場合には、Gazeboのインストールをご覧ください。
Gazeboを立ち上げてください。
1
|
|
- Editメニューより、Building Editorを選ぶか、Ctrl+Bを押して、エディタを立ち上げてください。すると、以下のような画面が立ち上がるはずです。
GUIについて
エディタは、3つのエリアからできています。
Palette : 建築物の素材や特徴を選べます。
2DView : トレースするフロアイメージをインポートできます。また、それに沿って、壁、窓、ドア、階段を追加することができます。
3DView : 建築物のプレビューを確認できます。色やテクスチャを他の建築物の部品に適用することもできます。
フロアをインポートする
スクラッチでシーンを作るか、すでにあるイメージをトレーするイメージとしてとして使います。このイメージは、例えば、2Dのレーザースキャンイメージ出会ったりもします。
ここをクリックしてフロアイメージの例をダウンロードしてください。手順は以下のとおりです。
以下のように、先ほどの建築エディタを開いたまま、エディタウィンドウの左側にある、Importボタンを押してください。すると、インポートするイメージのダイアログが出てきます。
先ほど手に入れたイメージを選んでください。選んだら、Nextを押してください。
トレースする壁が、正しい大きさで出力できているか確かめるために、メートルピクセル比[px/m]を設定しなければなりません。比を知っているなら、ダイアログに直接入力して、クリックすればOKです。今回の例では、比がわかっていないとします。しかし、トレースイメージ中の実世界での二点間の距離がわかっているとすると、(例えば。一番長い壁が7.5 [m]であるとか)比を計算することで、使用できるようになります。:
壁の一端をクリックしてください。すると、以下のように、オリジナルのラインが現れます。
壁の一端をクリックしてください。すると、ラインが定義されます。
個々で、ダイアログに距離を単位[m]で入力してください(今回は7.5 [m]です)。すると、ピクセルメートル比は先ほど指定したラインに沿って自動で計算されます。
完了したら、OKをクリックしてください。
うまく行けば、2DViewの部分に、イメージが表示されます。
コツ : レベルあ上がれば、それぞれのフロアを同じプロセスでインポートすることができます。
特徴を加える
壁を追加する
以下の手順にしたがって、すべての壁をフロアイメージに沿ってトレースしてください。後でドアや窓を付け加えることを覚えておいてください。一旦は、それらを無視して壁を作ることができます。壁を完璧に作れなくても慌てないでください。後でまた編集することができます。
Palleteの、壁の上でクリックしてください。
2DViewの上で、壁の端点からクリックをしてください。マウスを動かしたら、壁の長さが表示されます。
同じ壁のもう一方の端点でクリックし、微調整を行ってください。
新しい壁を作り始めることなく、ダブルクリックして終了します。
コツ : 右クリックもしくはEscを押すと、現在の壁の編集をキャンセルできます。
コツ : デフォルトでは、壁は15°ごと、0.25[m]ごとに増減します。また、存在する壁の端点も同じです。Shiftを押しながら操作すると、これらの制限が解除できます。
窓とドアを追加する
Note : 正確には、窓や、ドアは壁にただ穴を開けるだけです。
窓とドアをフロアイメージに沿って追加してみましょう。
PaletteにあるWindowもしくはDoorをクリックしましょう。
2DViewの上でマウスを動かすと、それらも一緒に動きます。また、それと一緒に、3DViewの上でも動きます。
コツ : 窓やドアは自動で壁に沿って動きます。壁の端までの距離は動かすごとに、ディスプレイに表示されます。気に入ったところでクリックしましょう。 コツ : 最初に壁を作った後に、フロアプランにある窓やドアの位置を探すのは難しく感じるでしょう。これを簡単にするには、2DViewの上で、フロアプランをもしくは現在までの窓やドアの表示、非表示を選択することができます。
階段を追加する
このフロアプランには階段はありませんが、階段を一つ追加したいと思います。
PalletのStairsをクリックしてください。
2DViewの上でマウスを動かすと、階段もそれと一緒に動きます。3DViewに写っているものも同様です。
気に入ったところでクリックしましょう。
階数を追加する
一階については、だいぶ完成しました。階段の先もないことですし、階数を追加しましょう。
2DViewの上にある、+の上でクリックし、階数を足しましょう。あるいは、2DViewを右クリックし、Add a levelを選びましょう。
新しい階数が追加できたら、フロアは自動で追加されます。すでに下の階に階段が設置されている場合は、建築物がセーブされるときに、フロアに自動で階段用の穴が飽きます。
Note : 現在は、すべてのフロアは矩形です。
コツ : 階数を追加する前に、現在の階数の壁が設置されていることを確認してください。
コツ : 現在は、前の海の壁は、デフォルトの素材で、新しい階の壁としてコピーされます。窓やドアはコピーされません。いらない壁は、手動で削除できます。
建築物を編集する
Note : 建築物を編集する際は気をつけてください。というのも、現在、エディタにはUndoオプションがありません。
コツ : **すべての長さはメートル単位系です。
階を変更する
階を追加したので、2DViewも新しい階に移動しましょう。2DViewの上にあるリストから選べば、一階にも戻れます。
コツ : 現在2DViewで選択されている階数は3DViewに半島名で表示されています。また、すべての下の階は半透明です。上の階は隠れています。しかし、建築物の一部であるということを覚えておいてください。
階の形状を編集することもできます。
- 階の形状オプションと一緒にインスペクターを開くために、2DViewをダブルクリックしてください。もしくは、右クリックし、Open level Inspectorを選んでください。
あなたが望まない階を追加したことでしょう。もしくは現在の階をめちゃくちゃにしいてしまい、初めからやり直したいでしょう。
- 現在の階を削除したいなら、2DViewの上のボタンをオス化、右クリックし、Delete Levelを選んでください。
壁を編集する
最初の方に、たくさんの壁を制作しました。しかし、希望通りには作成できていないかもしれません。
- 2DViewで壁をクリックしてください。
- ドラッグによって壁を新しい位置に変更してください。
端点をドラッグし、リサイズもしくは回転を行ってください。
コツ ; デフォルトでは、壁は15°ごと、0.25[m]ごとに増減します。また、存在する壁の端点も同じです。Shiftを押しながら操作すると、これらの制限が解除できます。階の形状オプションと一緒にインスペクターを開くために、2DViewをダブルクリックしてください。もしくは、右クリックし、Open level Inspectorを選んでください。いくつかのフィールドを編集し、それらの変更を反映するために、Applyを押してください。
2DViewで壁の選択中に、右クリックを押して、Deleteを選ぶか、Deleteを押すと、選択中の壁を削除できます。
コツ : 壁を編集すると、付属の壁と統合されます。
コツ : 壁を削除すると、付属の窓と壁も削除します。
窓とドアを編集する
続いては、窓とドアについて編集しましょう。壁で行ったように、多少の違いはありますが、窓やドアを正確に編集することができます。
- 2DViewで、窓やドアをクリックしてください。
- 新しいポジションまでドラッグして運んでください。窓やドアは自動で壁に沿って動きますし、壁から話してsってすることはできませんし、窓やドアは壁に穴を開けるだけであると言ったことを忘れないようにしてください。
- 回転ハンドルを使って回転させてください。現在は、できるだけ、壁に沿おうとしますし、回転原点を変更することはできません。
窓やドアの幅を端点をドラッグすることでリサイズしてください。
階の形状オプションと一緒にインスペクターを開くために、2DViewをダブルクリックしてください。もしくは、右クリックし、Window/Dooeを選んでください。
2DViewで壁の選択中に、右クリックを押して、Deleteを選ぶか、Deleteを押すと、選択中の窓やドアを削除できます。
階段を編集する
最後に、最初の方に追加した階段を編集しましょう。フロアプランにはないので、好きなように編集しましょう。
- 2DViewで、階段をクリックしてください。
- 新しいポジションまでドラッグして運んでください
- 回転ハンドルを使って90°回転させてください。現在は、できるだけ、壁に沿おうとしますし、回転原点を変更することはできません。
端点をドラッグすることでリサイズしてください。
階の形状オプションと一緒にインスペクターを開くために、2DViewをダブルクリックしてください。もしくは、右クリックし、Window/Dooeを選んでください。
2DViewで壁の選択中に、右クリックを押して、Deleteを選ぶか、Deleteを押すと、選択中の階段を削除できます。
コツ : 2DViewでは、階段の始まりも終わりも見ることができます。
色とテクスチャを追加する
さて、すべての物が設置され、リサイズされました。今度は、壁や床、そして階段の色やテクスチャを決定していきます。窓やドアはただ壁に穴を開けているだけなので、物質要素がないということを覚えておいてください。
コツ : デフォルトは、色は白で、テクスチャはありません。
建築物に色やテクスチャを追加する方法は2つあります。
インスペクタから変更する
壁、床、階段に色やテクスチャを追加するには、壁インスペクタ、床インスペクタ、階段インスペクタのそれぞれから追加することができます。まずは、インスペクタを開、物質を選んだら、Applyを押してください。インスペクタを表示するには、それぞれの物体の上でダブルクリックするか、右クリックから選択してください。
パレットから変更する
3DViewで物体をクリックすることで、建築物のアイテムの色やテクスチャをパレットから選ぶことができます。
Paletteから色とテクスチャを選んでください。
3DViewでマウスを動かすと、選択された物体のpレビューが表示され、選択された要素がハイライトされます。
- 選択した用をに適用する、もしくは、3DViewを右クリックする、もしくは、マテリアルモードを終了するために、物体の外をクリックすると、操作が完了します。
Gazebo5.1の新機能 : カスタムカラーを選ぶには、paletteのMoreをクリックします。すると、カスタムカラーを決定するためのダイアログが開きます。
私の環境は、Ver.5.0.1なので、確認できません。
下図は、公式チュートリアル掲載のものです。
コツ : それぞれの物体には、一つの色とテクスチャしか適用できません。同じ物体はすべて同じ見た目になります。
Note : 現在は、カスタムテクスチャをこのエディタで使用することはできません。
建築物を保存する
セーブをすると、SDFとConfigファイルを直接生成します。
セーブする前に、Paletteで建築物の名前を決定してください。
トップメニューでファイルを選び、Save Asもしくは、Ctrl+Sでセーブしてください。モデルを保存する場所を聞くダイアログが出現します。
コツ : アドバンスオプションでは、メタデータを設定することもできます。
終了する
Note : 一度、建築エディタを終了すると、建築物を編集することはできません。
建築物を製作し、保存したら、ファイルのところへ行き、建築エディタを終了させてください。
あなたの建築物がメインウィンドウに表示されます。将来的には、建築物をInsert
タブで見つけることができます。
最後に
私も、学校の施設を作って遊んでみました。元にした見取り図は、案内板にあったので、スマホで写真をとって作りました。シミュレーションなら、PR2も遊びに来てくれますw
奥に見えるのはWillowGarageのモデルです。