Gazebo Harmonicのインストールと動作確認

ここでは,Gazebo Harmonicのインストールと動作確認について示す
なお,このページはこちらのページを参考に作成しています.
なお,ROS2と組み合わせた利用を考えるため,ROS2の環境構築はすんでいるものとします.

Gazebo Harmonicのインストール

sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg 
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null 
sudo apt update 
sudo apt install gz-harmonic

このようにすることで, Gazebo Harmonicをインストールできる.

Gazebo Harmonicの起動

Gazebo Harmonicを起動するためには,以下のようにする.なお,以前のGazebo Classicとは起動方法が異なるので注意

gz sim

このコマンドを打つと,いろいろなシーンの選択ができるようになります.
どれかを選択して,正常にシミュレーション環境が表示されればOKです.

 

シミュレーションが起動できず,落ちるときの対処法

おそらく,Xwindowシステムの変更に伴うエラーだと思うので,従来のXwindowシステムを利用するように変更する.

echo "export QT_QPA_PLATFORM=xcb" >> ~/.bashrc
source ~/.bashrc

Gazebo内のTopic一覧の取得

(注)ここではGazeboの初期モデルとして登録されている「Tugbot in warehouse」を用いて,説明します.

Gazebo Classicとは異なり,Gazebo Harmonicでは内部でTopic通信の機能を持っています.
ここでは,利用できるTopic一覧を取得します.

GazeboのTopic一覧の確認方法は以下の通り.

gz topic -l

このコマンドによりGazebo内のTopic一覧を確認できる.

続いて,トピックの詳細情報を確認したいときは以下のコマンドを実行.

gz topic -i -t /model/tugbot/pose

上記のコマンドを実行すると,以下のように表示される.

Publishers [Address, Message Type]:
tcp://xxx.xxx.xxx.xxx:XXXXX, gz.msgs.Pose
No subscribers on topic [/model/tugbot/pose]

(注)xやXの部分にはIPアドレスやポート番号が入っています.

Topicの送信

前述のようにGazebo内ではメッセージ通信をTopicで行っているので,対応するTopicを外部から送れば,Gazebo内のモデルを制御できる.

gz topic -t /model/tugbot/cmd_vel -m gz.msgs.Twist -p "linear {x: 0.1}"

ここで,「-t」のオプションはTopic名の指定,「-m」のオプションはメッセージ型の指定,「-p」のオプションは「-m」で指定したメッセージ型に従ってPublish(出力)するデータを指定しています.