Gazebo入門
はじめに
さて,みなさんはロボットの何かしらを開発する時,どのソフトウェアを使うでしょうか.
スタンダードとしてはROSがあるかと思います.
とはいえ,私は今回ROSについては何も言及しません(予定).
ROSの付属品的な扱いのGazeboについて入門を行いたいと思います.
GazeboはROSとは異なるミドルウェアで実はロボット制御もできちゃったりします.
ROSのほうが楽なのは確かですが….
まあ,知らないよりは知っているほうがよいので,Gazeboについて知っておきましょう.
インストール等の内容を示しますが,今回はUbuntu14.04またはUbuntu16.04を想定しております.
インストール
ではまずはインストールをしましょう.いくつか方法はあるようですが,ここではcurlを使って,
curl -ssL http://get.gazebosim.org | sh
とするだけ(結構時間がかかります).これで現在リリースされている最新バージョンがインストールされます.
ROSを入れている方は注意!!
GazeboはROSの依存パッケージのひとつであり,ROSのバージョンごとに入るGazeboのバージョンが決まっています.
大抵ROSに入るのはちょっと古いものです(2017年4月現在のROS Kineticは最新の7.xが入るそうですが).
gazebo側のrosパッケージのインストールもあるので,ROSを入れている場合は,ROSがデフォルトでインストールするGazeboのバージョンをそのまま使うか
ROSをアンインストールをしてください.
起動
問題なくいけたら起動してみましょう.
gazebo
これで起動です.初回起動は少し時間がかかります.
もしworldファイル(xmlファイル)を起動する場合は
gazebo <worldファイルの名前>
としてください.
また,Gazebo自体に影響するわけではありませんが,--verbose
オプションを使っておくことをお勧めします.
これは起動したコマンドライン上でGazeboの細かい情報がでます.デバッグには必ず使いましょう.
こんな画面が出れば成功です.
起動方法はもう一つあり,
gzclient
の後,別端末で
gzserver
と入力していただいても同じことができます.
大まかにgzclient
は画面表示に関わる部分,gzserver
は物理計算等を行う部分です.gazebo
と言うコマンドはgzclient
とgzserver
を行う,という処理になります.
アンインストール
curlでインストール(上記の方法)した場合,以下のコマンドを打ち込んでください.
sudo apt-get remove '.*gazebo.*' '.*sdformat.*' '.*ignition-math.*'
Ubuntu14.04では確認をいたしましたが,他のOSでは確認をしておりません.またROS等が入っている場合の確認はしておりませんので,そのあたりは自己責任でお願いします.
modelについて
Gazeboは起動時にModel Databaseに接続を試みます.もしproxy環境下にある場合は絶対に失敗しますので,モデルを直接ダウンロードしましょう.
参考
ダウンロードの方法はhg
を使って,
hg clone https://bitbucket.org/osrf/gazebo_models
と打ってください(hgのほうにもproxyの設定が必要ですが…).