Skip to main content

IsaacLabでSoArm101ポリシーを訓練する

はじめに

このwikiでは、Isaac Labを使用してSO-ARM100/101ロボットアームのポリシーを強化学習で訓練およびテストする方法を紹介します。

📌前提条件

  • Nvidia GPU搭載のUbuntu PC
info

CUDAドライバーやCondaがインストールされていない場合は、まずそれらをセットアップしてください。

始めましょう

🚀 ステップ1. Isaac Labのインストール

NVIDIA Isaac™ Labは、研究者や開発者がロボットポリシーを効率的に訓練するのに役立つロボット学習用のオープンソース統合フレームワークです。

Ubuntu PCのターミナルで以下のコマンドを実行してください:

# Conda環境の作成とアクティベート
conda create -n isaaclab python=3.10
conda activate isaaclab

# PyTorch(GPU版)のインストール
pip install torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu128

# pipのアップグレード
pip install --upgrade pip

# Isaac Sim(拡張機能付き)のインストール
pip install 'isaacsim[all,extscache]==4.5.0' --extra-index-url https://pypi.nvidia.com

# IsaacLabリポジトリのクローン
cd ~/Documents
git clone https://github.com/isaac-sim/IsaacLab.git

# 依存関係のインストール
sudo apt install cmake build-essential

# セットアップの初期化
cd IsaacLab
./isaaclab.sh --install

インストールを確認するために以下のコマンドを実行してください:

./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py

成功すると、空のIsaac Simウィンドウが表示されます。

🤖 ステップ2. isaac_so_arm101プロジェクトのインストール

このリポジトリは、Isaac Labを使用してSO‑ARM100およびSO‑ARM101ロボット用のタスクを実装しています。これは、LycheeAI Hubシリーズプロジェクト:SO‑ARM101 × Isaac Sim × Isaac Labのいくつかのチュートリアルの基盤として機能します。

以下のコマンドを実行してください:

cd ~/Documents
git clone https://github.com/MuammerBay/isaac_so_arm101.git
cd isaac_so_arm101

# プロジェクトの依存関係をインストール
python -m pip install -e source/SO_100

# 環境のテスト
python scripts/list_envs.py

isaac_so_arm101プロジェクトが正常にインストールされると、ターミナルウィンドウに以下のログが出力されます:

🎯 ステップ3. 訓練の開始

以下のコマンドで訓練を開始してください:

python scripts/rsl_rl/train.py --task SO-ARM100-Reach-v0

これによりIsaac Simウィンドウが開き、訓練プロセスをリアルタイムで観察できます。起動コマンドに--headlessパラメータを追加すると、訓練プロセスを高速化できます。

訓練後、モデルの重みは以下の場所に保存されます: ~/Documents/isaac_so_arm101/logs/rsl_rl/so_arm100_reach

🧪 ステップ4. モデルのテスト

訓練されたモデルを以下のコマンドでテストしてください:

python scripts/rsl_rl/play.py --task SO-ARM100-Reach-Play-v0

テスト中、ターゲット位置は定義された範囲内でランダムに生成され、訓練されたモデルがロボットアームを駆動してそれらのターゲットに到達させます。

参考文献

技術サポート & 製品に関するディスカッション

弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。さまざまな好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。

Loading Comments...