Ubuntu + RTX 5070 Ti で Isaac Sim / Isaac Lab を使って Unitree G1 を歩かせる

Uncategorized

筆者が構築した環境

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 設定によってインストールに失敗した

コメント