MuJoCoを使ってみる その2(Unitree MuJoCo)

はじめに

 今回はUnitree MuJoCoのサンプルを試してみました。

 最近Unitree関連のロボットを展示会等でもよく見かけます。実機を利用することは難しいですが、せめてシミュレータだけでも動かしたいなと思っています。

▼Unitree RoboticsのGitHubのリポジトリはこちら。今回のUnitree MuJoCo以外にもいろいろあります。

https://github.com/unitreerobotics

▼MuJoCoは以前の記事でも利用したことがありますが、改めて環境を構築しています。

MuJoCoを使ってみる その1(環境構築、サンプルプログラムの実行)

はじめに  今回は物理シミュレーションを行うことができる、MuJoCoというソフトウェアを試してみました。  MuJoCoは以前の記事でGenesisを試していたときに見つけました…

▼以前の記事はこちら

Unreal Engine 5を使ってみる その9(Remote Control API、Node-RED)

はじめに  以前HTTP Blueprintを使ってUnreal Engine 5(UE5)からNode-REDへの通信は試したのですが、今回はその逆です。  HTTP Remote Control APIを使ってNod [&hell…

Genesisを使ってみる その1(環境構築、サンプルプログラムの実行)

はじめに  今回はGenesisという物理シミュレーションソフトウェアを試してみました。  3か月ほど前に公開されたばかりで、デモ動画が面白そうでした。グラフィックはUnr…

環境を構築する

 C++のシミュレータもあるようですが、今回はPythonで実行します。

▼READMEのページはこちら

https://github.com/unitreerobotics/unitree_mujoco?tab=readme-ov-file#python-simulator-simulate_python

 Windowsでも環境を構築して試そうとしたのですが、環境変数周りでエラーが起きているようだったので、今回はWSL2のUbuntu 22.04環境で実行しています。

▼WSL2のUbuntu 22.04は以下の記事でインストール済みです。

WSL2を使ってみる その1(Ubuntu 22.04、Node-RED、メモリ制限)

はじめに  今回はWindows環境でLinuxディストリビューションをインストールできる、WSL(Windows Subsystem for Linux)の環境を構築してみました。  最近オープンソー…

 基本的にはREADMEのコマンドに沿って実行していくのですが、最初にPythonの仮想環境を作成しておきます。

git clone https://github.com/unitreerobotics/unitree_mujoco.git
cd unitree_mujoco/
sudo apt install python3.10-venv
python3.10 -m venv pyenv
source pyenv/bin/activate

▼condaの環境が混じっていますが、アクティベートされました。

▼Pythonの仮想環境については以下の記事をご覧ください。

Pythonの仮想環境を作成する(venv、Windows)

はじめに  今回はPythonの仮想環境の作成についてまとめてみました。  Pythonを利用したNode-REDのノードを開発するときに仮想環境を詳しく調べていました。作成した仮…

 必要なパッケージをインストールしていくのですが、エラーが起きていました。

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

▼CYCLENEDDS_HOME or CMAKE_PREFIX_PATHをセットしてくださいというエラーです。

 cmakeはインストールされていないようだったのでインストールしました。

sudo apt install cmake

 Cyclone DDSもインストールしました。

cd ~
git clone https://github.com/eclipse-cyclonedds/cyclonedds -b releases/0.10.x 
cd cyclonedds && mkdir build install && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=../install
cmake --build . --target install

 環境変数を設定して再度インストールするのですが、READMEでは"~/cyclonedds/install"と書かれていました。ただしこのままではCYCLONEDDS_HOMEが読み込まれていないようだったので、~の部分を絶対パスに直すと実行できました。

cd ~/unitree_sdk2_python
export CYCLONEDDS_HOME="/home/<ユーザー名>/cyclonedds/install"
pip3 install -e .

 Windowsで環境を構築していたときも環境変数で引っかかっていたのですが、同じように絶対パスだと通るかもしれません。

 その他のパッケージもインストールしておきました。

pip3 install mujoco
pip3 install pygame

サンプルを実行する

 simulate_pythonのファイルを実行してみました。

cd ~
cd unitree_mujoco/
cd ./simulate_python
python3 ./unitree_mujoco.py

▼Unitree GO2のモデルがMuJoCo上に表示されました。

▼正面に階段が用意されていました。

 別のターミナルでtest_unitree_sdk2.pyを実行しました。

cd ~
cd unitree_mujoco/
cd ./simulate_python
python3 ./test/test_unitree_sdk2.py

▼センサー値が連続で表示されていました。

 simulate_pythonのconfig.pyの中身を編集すると、別のモデルを表示できました。

▼GO2ではなくG1にしてみました。

▼人型のロボットが表示されました。

▼歩行用のモデルが色々用意されています。

 exampleにあったファイルを実行しました。

python3 ../example/python/stand_go2.py

▼屈伸のような動きをしています。ファイルの中身を見ると、2つの状態のジョイントの角度に対して制御を行うようになっていました。

 Xboxなどのコントローラで操作するコードは用意されているようでしたが、こちらはあまり操作できないようでした。

▼GitHubのissueにも報告があります。

https://github.com/unitreerobotics/unitree_mujoco/issues/57

https://github.com/unitreerobotics/unitree_mujoco/issues/70

 他のissueを見ていても動かすところはあまりサポートされていないようで、あくまでもシミュレーション環境として他のツールと一緒に使うのが良さそうな感じです。

最後に

 サンプルを参考にすれば、MuJoCo上のモデルを制御できそうです。Unitree Roboticsの他の学習関連のものも試してみようと思っています。

▼ロボット学会でTechShareさんのブースで実機を見せてもらったのですが、開発についても記事があったので参考になりそうです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です