環境
Genesisはクロスプラットホームで様々なOS、ハードウェアで動作できるように設計されています。しかし、公式が最も推奨するのは、Linux環境にCUDAが使用できるGPUとのことです。
サポートするOSとハードの表です。WindowsではInteractive ViewerとHeadless Renderingが使えないので、Genesisを始める方は、LinuxかApple Siliconの入っているMacが良いです。
なお、筆者の環境は次の表の通りです。
項目 | 環境 |
---|---|
CPU | Intel Core i7 11700F |
GPU | RTX3070ti |
RAM | 32GB |
OS | Ubuntu22.04 |
よってこのチュートリアルはUbuntuの方用です。
Macをお使いの方は、こちらの記事が参考になります。
Genesisのインストール
インストールした方は適宜飛ばしてください。
Python3.9以上とpipをインストール
sudo apt update
sudo apt install python3
sudo apt install python3-pip
#互換性を上げておく
sudo apt install python-is-python3
PyTorchをインストール
#Cuda 11.8の場合
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
#Cuda 12.1の場合
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
#CUDA 12.4の場合
pip3 install torch torchvision torchaudio
Genesisのインストール
pip install genesis-world
モーションプランナーをインストール(必須でない)
ここから、自分の環境に合うやつをダウンロードしてください。
(私の場合ompl-1.6.0-cp310-cp310-manylinux_2_28_x86_64.whl)
cd Downloads
pip install ompl-1.6.0-cp310-cp310-manylinux_2_28_x86_64.whl
nvidiaのドライバを入れる (nvidiaのGPUを持っている人限定)
nvidiaのGPUが刺さっているPCでも、ドライバを入れなければGenesisが動きません。入れ方の参考サイトを書いておきます。すでに入れている人は飛ばしてください。
Genesisパッケージをgit cloneする
cd
git clone https://github.com/Genesis-Embodied-AI/Genesis.git
動作確認として、Genesis/exampleの中に次のコードをtest.pyとしてコピペする。gs.cpuをgs.cudaにするとnvidiaのGPUを使います。
import genesis as gs
gs.init(backend=gs.cpu)
scene = gs.Scene(show_viewer=True)
plane = scene.add_entity(gs.morphs.Plane())
franka = scene.add_entity(
gs.morphs.MJCF(file='xml/franka_emika_panda/panda.xml'),
)
scene.build()
for i in range(1000):
scene.step()
実行
cd Genesis
python3 examples/test.py
ロボットアームがぶっ倒れるシミュレーションが表示されたら成功です。
CPUのみで動かす場合に発生するエラーについて
エラーが出ない人は飛ばしてください。
cpuのみで動かす場合にエラーが出ることがあるとのことです。
とりあえず現環境(Ubuntu22.04, no GPU)でGenesis起動できた
— NWK/野分機械 (@RoboSafs01075) December 28, 2024
OpenGL.error.Error: Attempt to retrieve context when no valid contextというエラーで起動できない問題にあたっていたけど、CPU環境では既知の問題のようでhttps://t.co/sPACrxRTYS
以下の方法で動いたhttps://t.co/ngHorfOWGz pic.twitter.com/44Er6Z5nEl
その際には、このissueを参考にコードを修正してください。
4脚ロボットの強化学習環をgit cloneする
cd
git clone https://github.com/leggedrobotics/rsl_rl
cd rsl_rl && git checkout v1.0.2 && pip install -e .
pip install tensorboard
学習を回す
cd
cd Genesis
python examples/locomotion/go2_train.py
学習の途中でモニターする場合。(学習が1分未満なので私はやってない)
tensorboard --logdir logs
学習結果を見る
python examples/locomotion/go2_eval.py
成功するとこのように歩いていきます。
なんか一瞬で歩いた
— 変化 hEnka (@hEnka_robotics) December 27, 2024
rtx3070tiで51秒で学習終わった。本当に学習しているか疑うレベル pic.twitter.com/reyl8qXeTY
参考サイト
ロボットアームのチュートリアル
4脚ロボットのチュートリアル