0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

四足歩行ロボットのUnitree Go2をシミュレーション環境(Mujoco)で動かしてみる

Posted at

1. はじめに

前回の記事(四足歩行ロボットをシミュレーション環境(Gazebo)で自律走行させてみる(CHAMP Quadruped Controllerの試行))では、githubで公開されているリポジトリを利用し、CHAMP Quadruped ControllerによるGazebo上での四足歩行の自律走行シミュレーションを試行することができました。そして、その記事の中でunitree_mujocoというシミュレーション環境が、以下で公開されていることを述べました。それについて試してみたのが、この記事の内容になります。

2. 実行環境

  • CPU: CORE i7 7th Gen
  • メモリ: 32GB
  • GPU: GeForce RTX 2070
  • OS: Ubuntu22.04(WSL2ではなくPCに直接インストール)
  • ROS2: Humble

3. 構築手順

構築手順としては、 unitree_mujocoのリポジトリ[1]のreadmeにおけるpython向けの手順を実行しました。ほとんどreadmeの手順に従いましたが、少しアレンジしたところもありましたので、そこについても記載してきたいと思います。

3.1 Unitree Mujocoのクローン

以下のコマンドでUnitree Mujocoをクローンしてきます。いつもなら、ここでcolcon buildをしてビルドするのですが、今回は不要です。

terminal(1)
git clone https://github.com/unitreerobotics/unitree_mujoco.git

3.2 関連パッケージのインストール

unitree_sdk2_pythonのインストールは[1]のreadmeにあるように、以下のコマンドでインストールしました。

terminal(2)
cd ~
sudo apt install python3-pip
git clone https://github.com/unitreerobotics/unitree_sdk2_python.git
cd unitree_sdk2_python
pip3 install -e .

mujoco-pythonとjoystickのインストールについても[1]のreadmeにあるように、以下のコマンドでインストールしました。

terminal(3)
pip3 install mujoco
terminal(4)
pip3 install pygame

3.3 Joystickを使わないシミュレーションを行う場合の設定(USE_JOYSTICK = 0 に変更)

本記事ではJoystickを使わないでシミュレーションを行うことにしました。そのためunitree_mujoco/simulate_python/config.pyの中のUSE_JOYSTICK = 1USE_JOYSTICK = 0とする設定をしないと、Unitree Go2は立ったままで全く動きません。

3.4 lo インターフェースでマルチキャストを有効化

後述するstand_go2.pyを起動しようとしたときに以下のエラーが出ました。

python3: selected interface "lo" is not multicast-capable: disabling multicast

このエラーを回避するため、以下のコマンドを実行することで、lo インターフェースでのマルチキャストを有効化しました。

terminal
sudo ip link set lo multicast on

4. シミュレーション結果

以下のコマンドでシミュレーション環境(Mujoco)を起動しました。なお、起動するプログラムはクローンしてきたリポジトリにサンプルとして用意されているものです。

terminal(1)
cd ~/unitree_mujoco/simulate_python
python3 unitree_mujoco.py

これを起動すると、Unitree Go2は最初に足を突っ張った状態で立っていますが、すぐに伏せの状態になります(以下の図の状態)。

Screenshot from 2025-02-08 10-21-06.png

そして以下のコマンドを実行することでUnitree Go2が立ち上がります。

terminal(2)
cd unitree_mujoco/
python3 ./example/python/stand_go2.py

その様子が以下の動画になります。

5. まとめ

unitree_mujocoというシミュレーション環境を利用して、サンプルプログラムではありますが、Unitree go2が立ちあがるところをシミュレーションできました。次回はUnitree_ROS2を使ってのキーボードからの遠隔操作(teleop)などができないか取り組んでみたいと思います。

参考記事やサイト

[1]unitree_mujoco

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?