1. はじめに
IsaacSimで四足歩行ロボットを動かしてみるという記事で四足歩行ロボットを動かしてみましたが、他にもシミュレーションできる四足歩行ロボットがないか調査していました。そこでUnitree Go2というロボットがROS2に対応しシミュレーションもできるということが分かりました。この記事では、そのシミュレーション環境の構築と操作方法について紹介していきたいと思います。
2. 実行環境
- CPU: CORE i7 7th Gen
- メモリ: 32GB
- GPU: GeForce RTX 2070
- OS: Ubuntu22.04(WSL2ではなくPCに直接インストール)
- ROS2: Humble
- Nvidia Driver: 535
3. 対象としたロボット
Unitree社が出しているUnitree Go2という四足歩行ロボットはIsaac Simでもロボットモデルが提供されていたり、展示会でもよく見かけるので、今回のシミュレーションの対象としました。
そしてUnitree Go2については以下のリンクでROS2のシミュレーション環境が公開されています。今回はこれを使ってシミュレーション環境を構築しました。
4. 構築手順
4.1 リポジトリのクローン
https://github.com/anujjain-dev/unitree-go2-ros2?tab=readme-ov-fileで紹介されている手順をそのまま実行すれば構築できましたが、一応手順を記載します。
mkdir -p ~/unitree-go2-ros2/src
cd ~/unitree-go2-ros2/src
git clone https://github.com/anujjain-dev/unitree-go2-ros2.git
注:ファイル名はunitree-go2-ros2としていますが、ここは適当で大丈夫です。
4.2 依存関係のインストールとビルド
sudo apt install ros-humble-gazebo-ros2-control
sudo apt install ros-humble-xacro
sudo apt install ros-humble-robot-localization
sudo apt install ros-humble-ros2-controllers
sudo apt install ros-humble-ros2-control
sudo apt install ros-humble-velodyne
sudo apt install ros-humble-velodyne-gazebo-plugins
sudo apt-get install ros-humble-velodyne-description
sudo apt install -y python3-rosdep
rosdep update
cd ~/unitree-go2-ros2
rosdep install --from-paths src --ignore-src -r -y
そして以下のコマンドでビルドします。
cd ~/unitree-go2-ros2
colcon build
5. シミュレーション結果(遠隔操作)
ビルド完了後、以下のコマンドでシミュレーション環境(Gazebo)を起動しました。
source ~/unitree-go2-ros2/install/setup.bash
ros2 launch go2_config gazebo.launch.py rviz:=true
起動したときの画像が以下です。左の画面がGazeboで、右の画面がrviz2の画像です。どちらにもUnitree Go2が読み込まれている様子が確認できます。
そして以下のコマンドで遠隔操作(teleop)を起動します。
source ~/unitree-go2-ros2/install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard
以下が上記のコマンドで、Unitree Go2を遠隔操作した時の動画です。
6. まとめ
公開されているリポジトリを利用し、Gazebo上でUnitree Go2のシミュレーションを試行することができました。しかし、現時点では周辺環境を反映できていないことや、自律走行には対応できていないため次回以降はそれに対応していきたいと思います。