1. はじめに
Gazeboは、ロボットの制御を3Dでシミュレーションできるツールです。AgileX社が公開している ugv_gazebo_sim には、各製品のGazeboでのシミュレーションパッケージが含まれています。
本稿では、LIMO を Gazebo上で動作させる方法をご案内します。
ugv_gazebo_sim: https://github.com/agilexrobotics/ugv_gazebo_sim
2. 環境
以下の環境にて、この手順が有効であることを確認しています。
OS: Windows 10 (64bit)
CPU: Intel(R) Core(TM) i7-6700HQ
メモリ容量: 16GB
WSL2: Ubuntu-20.04
ROS: Noetic
Gazebo: 11.11.0
3. 手順
3.1 ROSのインストール
本稿では、ROS Noetic を使用します。インストールの必要がある場合は、以前の記事の 3-3. ROS Noetic のインストール、3-4. ROS の環境設定をご参照ください。
3.2 必要なツールのインストール
ROSを使ったGazebo でのシミュレーションに必要なパッケージをインストールします。
$ sudo apt-get install ros-noetic-ros-control ros-noetic-ros-controllers ros-noetic-gazebo-ros ros-noetic-gazebo-ros-control ros-noetic-joint-state-publisher-gui
rqt_robot_steering は、スライドバーを使ってロボットの直進やステアリング動作を制御するためのROSツールです。
$ sudo apt-get install ros-noetic-rqt-robot-steering
telop-twist-keyboard は、キーボード操作でロボットを制御するためのパッケージです。
$ sudo apt-get install ros-noetic-teleop-twist-keyboard
3.3 パッケージのダウンロード
(1) ワークスペースの作成
$ mkdir -p ~/limo_ws/src
$ cd limo_ws
$ catkin init
(2) パッケージのクローン
$ cd src
$ git clone https://github.com/agilexrobotics/ugv_gazebo_sim.git
(3) 依存関係の確認・解決とビルド
$ cd limo_ws
$ rosdep install --from-paths src --ignore-src -r -y
$ catkin_make
$ source devel/setup.bash
3.4 実行
- RVizでLIMOのURDFファイルを視覚化する
$ roslaunch limo_description display_models.launch
- Gazebo でシミュレーションする
アッカーマン型
$ roslaunch limo_gazebo_sim limo_ackerman.launch
差動輪型
$ roslaunch limo_gazebo_sim limo_four_diff.launch
※ PC の動作が重くGazeboがすぐに立ち上がらない場合は、ローンチファイル内の RViz の行をコメントアウトし、RVizの起動を無効化してください。
Gazeboシミュレータを起動してから別ターミナルで以下のコマンドを打つと、LIMOを操作するツールが利用できます。
スライドバーでの制御
$ rosrun rqt_robot_steering rqt_robot_steering
キーボードでの制御
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py