筆者が構築した環境
2026/9/27 現在、以下のような構成で Unitree G1 のロボットの歩行 simulation に成功することを確認できた。
Ubuntu 24.04
RTX 5070 Ti
NVIDIA Driver 580系
Python 3.11
uv
Isaac Sim 5.1
Isaac Lab v2.3.2
RSL-RL
Unitree G1
pretrained locomotion policy
詳しい GPU の構成は以下の通り。
$ nvidia-smi
Sun Sep 27 18:00:49 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.178.04 Driver Version: 580.178.04 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 5070 Ti Off | 00000000:01:00.0 On | N/A |
| 0% 43C P8 20W / 300W | 699MiB / 16303MiB | 5% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
適切な nvidia driver のインストール
もともとなぜか 595 系の driver がインストールされていたことにより、Isaac Sim を起動すると GUI 起動直後に Segmentation Fault していた。そのため、580 系の open kernel driver に変更。
sudo apt update
sudo apt install nvidia-driver-580-open
sudo reboot
Isaac Lab の clone
cd ~/lab
git clone https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
git checkout v2.3.2
uv で python 3.11 環境をつくる
uv python install 3.11
source .venv/bin/activate
Isaac Sim 5.1 のインストール
uv のデフォルトの timeout 時間だとインストールに失敗することがあったので、timeout 時間設定を追加。
UV_HTTP_TIMEOUT=300 uv pip install "isaacsim[all,extscache]==5.1.0" \
--extra-index-url https://pypi.nvidia.com
Isaac Lab と RSL-RL をインストール
Isaac Lab の依存関係をインストール。
UV_HTTP_TIMEOUT=600 ./isaaclab.sh -i rsl_rl
ちなみに Unitree G1 は以下のような step で動いている。G1 の姿勢・速度と目標速度を policy に入力し、各関節への action が計算される。
G1の姿勢・速度
+ 目標速度(vx, vy, wz)
↓
RSL-RLで学習したPolicy
↓
各関節へのaction
↓
Isaac Sim上のG1
学習済み policy で G1 を歩かせる
こちらが本日の本題。自分で RL で学習させるのではなく、Issac Lab 側で公開されている pretrained policy を使った。
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/play.py \
--task Isaac-Velocity-Flat-G1-v0 \
--num_envs 1 \
--use_pretrained_checkpoint
以下のように、Isaac Sim で Unitree G1 ヒューマノイドを歩行させることができた!
ただ、現在は動画のように random に歩行コマンドが生成されているだけである。次回の記事でキーボードからコマンドを送信できるようにしたい。
まとめ
今回の記事でハマったポイントは軽微だが、以下の点である。
- nvidia driver のバージョンの違いによって Isaac Sim 起動時に Segmentation Fault が発生した
- uv の default の timeout 設定によってインストールに失敗した

コメント