ここでは,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(出力)するデータを指定しています.