検証日時
01/31/2015 (Sat)
概要
Gazeboのチュートリアル第二弾「Build a Robot」。
このチュートリアルではロボットを作ったり、修正したりします。また、センサ、アクチュエータを搭載した車輪型ロボットを作り、モデルを描画するなどの実践例も行います。
今回はその「Model structure and requirements」編です。
公式サイトを適当に翻訳しただけですので、あしからず。
レベル
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はプログラムもしくはGUIを通して直接シミュレーションを読み込むことができます。あなたがダウンロードしたり、創造したりすれば、モデルはあなたのコンピュータ上に生成されます。このチュートリアルでは、Gazeboのモデルディレクトリ構成とモデルディレクトリに必要なファイルを説明します。
Gazeboのモデルはダイナミック、キネマティック、ビジュアルプロパティなどにより物理的実体を定義します。さらに、モデルは一つ以上のモデルの挙動に影響を及ぼすようなプラグインを持っています。モデルは単純な形状から複雑なロボット(地面もまたモデルです)のような形状までどんなものでも描画することができます。
Gazeboはシミュレーションに使用するモデルについて記述したり、記録したりするデータベースに依存しています。モデルデータベースはコミュニティーによって供給される資源です。なので、あなたが作ったモデルを是非アップロードしてください。
モデルデータベースレポジトリ
モデルデータベースはここのbitbucketレポジトリにあります。
このレポジトリは以下のコマンドでcloneすることができます。
1
|
|
モデルデータベースの構成
モデルデータベースは特定のディレクトリとファイル構成でなければなりません。各モデルデータベースのルートディレクトリには一つのディレクトリと、モデルについての情報と共にメタデータdatabase.cmfig
ファイルがあります。それぞれのモデルディレクトリはモデルについてのメタデータを含むmodel.config
ファイルもあります。更に、モデルディレクトリには、モデルや物質、メッシュ、そしてプラグインのSDFもあります。
この構成は以下のようになっています。(この例では、データベースはmodel_1と呼ばれるモデルだけです。):
1 2 3 4 5 6 7 8 9 10 |
|
pluginsディレクトリ
モデルのすべてのプラグインを含むオプションディレクトリです。
meshesディレクトリ
モデルのCOLLADAやSTLファイルを含むオプションディレクトリです。
materialsディレクトリ
モデルのすべてのテクスチャ、イメージそしてOGREスクリプトを含むサブディレクトリです。テクスチャイメージはtextures
サブディレクトリに、OGREスクリプトファイルはscripts
ディレクトリに配置しなければなりません。
Database Config
モデルデータベースのルートディレクトリにあるdatabase.config
です.このファイルには、モデルのライセンス情報、データベースの名前、有効なモデルのリストが書かれています。
NOTE : database.config
ファイルはオンラインレポジトリを利用するときのみ必要です。ローカル(オフライン)コンピュータにすべてのモデルがアルバイは、database.config
は必要ありません。
ファイルdatabase.config
のフォーマットは以下のようになっています。:
1 2 3 4 5 6 7 8 |
|
name データベースの名前です。GUIや他のツールで使用されます。
license データベースにあるモデルのライセンスです。Creative Commons Attribution 3.0 Unportedライセンスを強く推奨します。
models データベースにあるすべてのモデルのURIリストです。
uri モデルのURIです。これは、
file://model_directory_name
のように記述しなければなりません。
Model Config
それぞれのモデルにはメタデータがおいてあるルートディレクトリにmodel.config
ファイルが必ず配置されています。
また、model.config
は以下のようなフォーマットで記述されます。:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
name(必須) モデルの名前です。
version(必須) モデルのバージョンです。 Note : これは、モデルが使用しているSDFのバージョンではありません。SDFの情報は、
model.sdf
ファイルに記述されています。sdf(必須) モデルをのSDFもしくはURDFファイルの名前です。ファイルが使用するSDFのバージョン情報を定義します。ただし、URDFを使用する場合は、必須ではありません。様々なの
sdf
要素は、様々なSDFバージョンをサポートするために使用されます。author(必須)
name(必須) モデルの編集者の名前です。
email(必須) 編集者のEmailアドレスです。
description(必須) モデルのdescriptionには以下の要素が必要です。
モデルが何であるか(例えば、robot、table、cup、etc…)
プラグインが何をするのか(モデルの機能)
depend(任意) モデルのすべての依存関係です。これは他のモデルであることが多いです。
model(任意)
uri(必須) モデルの依存関係のURIです。
version(必須) モデルのバージョンです。
Model SDF
すべてのモデルにはモデルのシミュレータを記述するフォーマット情報(Simulator Description Format)が記述されている、model.sdf
が必要です。このSDFについてもっと知りたい場合には、SDFのウェブサイトを参照してください。