OpenArm Isaac Lab を試す
「OpenArm Isaac Lab」を試したのでまとめました。
・Ubuntu 22.04
・Isaac Sim v5.1.0
・Isaac Lab v2.3.0
・Python 3.11
1. OpenArm Isaac Lab
「OpenArm Isaac Lab」は、「NVIDIA Isaac Sim」および「Isaac Lab」を基盤としたOpenArmロボットプラットフォーム向けのシミュレーションおよび学習環境です。
2. タスクとポリシー
提供されてる強化学習のタスクとポリシーは、次のとおりです。

・タスク
・Isaac-Reach-OpenArm-v0
目標位置に到達
・Isaac-Lift-Cube-OpenArm-v0
キューブを持ち上げる
・Isaac-Open-Drawer-OpenArm-v0
キャビネットの引き出しを開ける
・Isaac-Reach-OpenArm-Bi-v0
目標位置に到達(両手操作)
・ポリシー
・rsl_rl
ロボティクス向けの軽量RLライブラリ。主に PPO系 を手早く回したいとき向き。Isaac系で定番。
・rl_games
高性能志向 のRLフレームワーク。PPO / SAC / A2C などに対応し、Isaac系シミュレーションと相性がよいです。
・skrl
柔軟で拡張しやすい RLライブラリ。PyTorch / JAX 対応で、研究用途や独自実装をいじりたいとき向きです。
3. OpenArm Isaac Lab を試す
3-1. セットアップ
(1) Isaac Lab コンテナのプル。
docker pull nvcr.io/nvidia/isaac-lab:2.3.0(2) Isaac Lab コンテナの生成。
xhost +
docker run --name isaac-lab --entrypoint bash -it --gpus all --rm -e "ACCEPT_EULA=Y" --network=host \
-e "PRIVACY_CONSENT=Y" \
-e DISPLAY \
-v $HOME/.Xauthority:/root/.Xauthority \
-v ~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw \
-v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \
-v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \
-v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \
-v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \
-v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \
-v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \
-v ~/docker/isaac-sim/documents:/root/Documents:rw \
nvcr.io/nvidia/isaac-lab:2.3.0(3) OpenAI Isaac Lab リポジトリのクローン。
cd /workspace
git clone https://github.com/enactic/openarm_isaac_lab.git(4) Pythonパッケージのインストール。
cd openarm_isaac_lab
python -m pip install -e source/openarm(5) 実行可能なすべての環境の確認。
python ./scripts/tools/list_envs.py3-2. 学習と評価
(1) 学習の実行。
自分の環境では15数分かかりました。
python ./scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Reach-OpenArm-Bi-v0 --headless################################################################################
Learning iteration 549/550
Computation: 55439 steps/s (collection: 1.641s, learning 0.132s)
Mean action noise std: 0.12
Mean value_function loss: 0.0005
Mean surrogate loss: 0.0009
Mean entropy loss: -10.8552
Mean reward: 3.27
Mean episode length: 720.00
Episode_Reward/left_end_effector_position_tracking: -0.0149
Episode_Reward/right_end_effector_position_tracking: -0.0045
Episode_Reward/left_end_effector_position_tracking_fine_grained: 0.0413
Episode_Reward/right_end_effector_position_tracking_fine_grained: 0.1692
Episode_Reward/left_end_effector_orientation_tracking: -0.0125
Episode_Reward/right_end_effector_orientation_tracking: -0.0358
Episode_Reward/action_rate: -0.0028
Episode_Reward/left_joint_vel: -0.0013
Episode_Reward/right_joint_vel: -0.0013
Curriculum/action_rate: -0.0050
Curriculum/left_joint_vel: -0.0010
Curriculum/right_joint_vel: -0.0010
Metrics/left_ee_pose/position_error: 0.0756
Metrics/left_ee_pose/orientation_error: 0.1097
Metrics/right_ee_pose/position_error: 0.0125
Metrics/right_ee_pose/orientation_error: 0.3514
Episode_Termination/time_out: 1.0000
--------------------------------------------------------------------------------
Total timesteps: 54067200
Iteration time: 1.77s
Time elapsed: 00:15:51
ETA: 00:00:01(2) 評価の実行。
python ./scripts/reinforcement_learning/rsl_rl/play.py --task Isaac-Reach-OpenArm-Bi-v0 --num_envs 64OpenArm Isaac Lab をおためし中
— 布留川英一 / Hidekazu Furukawa (@npaka123) March 30, 2026
目標位置に到達(両手操作)のタスク pic.twitter.com/BHLe6r59Us
自分の環境では、play.pyの以下の行をコメントアウトする必要がありました。
# from isaaclab_rl.utils.pretrained_checkpoint import get_published_pretrained_checkpoint