isaac-sim/IsaacLab-Arena
Isaac Lab - Arena is a robotics simulation framework that enhances NVIDIA Isaac Lab by providing a composable, scalable system for creating diverse simulation environments and evaluating robot learning policies. The framework enables developers to rapidly prototype and test robotic tasks with various robot embodiments, objects, and environments.
Isaac Lab-Arena – クイック概要
概要 – NVIDIA Isaac Lab/Isaac Sim上で動作するオープンソースのフレームワークです。3つのビルディングブロック(シーン、ロボット+センサー、タスク)からロボットシミュレーション環境を構成し、GPUや複数のノードで大規模なポリシー評価実験を実行できます。
重要性 – ロボットのベンチマーク構築には、通常、多くの設定(ワールドレイアウト、オブジェクト配置、ロボット定義、報酬)を手作業で行う必要があります。Arenaはこれらの要素を再利用可能かつ構成可能にするため、多くのバリエーションを自動生成し、数千の環境で単一のポリシーを並列評価し、詳細なメトリクス(サブタスク述語、感度分析)を収集して、ポリシーがどこで失敗するかを理解できます。
コアコンセプト
| コンセプト | 役割 |
|---|---|
| Scene | 物理レイアウト – 壁、家具、オブジェクト (USDアセット)。 |
| Embodiment | ロボット定義 – モデル、センサー、アクション/観測空間、コントローラー。 |
| Task | ロボットの目標(例:ピック&プレース、ナビゲーション)。 |
| ArenaEnvBuilder | シーン、エンボディメント、タスクを受け取り、Isaac Lab内で実行される標準的な ManagerBasedRLEnvCfg を構築します。 |
主な機能
1. スケーラブルなベンチマークの作成
- 構成可能な環境 – コードを書き直すことなく、シーン、ロボット、タスクを組み合わせて使用可能。
- 関係性に基づいた配置 – 正確な座標の代わりに「テーブルの上」や「冷蔵庫の隣」といった指定が可能。
- 順序立てたタスクチェーン – 原子的なスキル(掴む、歩く、置く)を組み合わせて長期間のミッションを作成。
- エージェントによる生成(実験的) – 自然言語でタスクを記述すると、内部エージェントが仕様を作成し、アセットを見つけ、環境ファミリーを構築します。
- 制御されたバリエーション – 照明、カメラ、オブジェクトの質量などをスイープし、堅牢性をテスト。
2. 大規模な評価の実行
- GPU加速による並列ロールアウト – 単一のポリシーを数千の異種環境で同時に評価可能。
- マルチノードオーケストレーション – 実験はOSMOで分散させるか、ローカルで実行可能。
- ポリシー・クライアントサーバーAPI – 共通の観測・アクション契約を通じて、あらゆるポリシー(GR00T、π0.5、カスタム)をプラグイン可能。
3. ポリシーの堅牢性分析
- サブタスク述語 – grasp、lift、place などのマイルストーンを追跡し、失敗箇所を特定。
- 感度分析 – 環境パラメータを摂動させ、パフォーマンスの変化を観察。
はじめに (TL;DR)
# Clone with submodules
git clone --recurse-submodules git@github.com:isaac-sim/IsaacLab-Arena.git
cd IsaacLab-Arena
# Create a locked Python env (uv is the recommended installer)
uv sync
source .venv/bin/activate
export OMNI_KIT_ACCEPT_EULA=YES
# Quick sanity-check: zero-action policy for 20 steps
python isaaclab_arena/evaluation/policy_runner.py \
--policy_type zero_action --num_steps 20 cube_goal_pose
オプション: --viz kit を追加すると、GUIでロールアウトを確認できます。
Dockerユーザーは、$HOME/datasets、$HOME/models、$HOME/eval ディレクトリをマウントする提供済みの run_docker.sh スクリプトを実行できます。
例:Franka-Arm キッチンシーンの構築
from isaaclab_arena.assets.asset_registry import AssetRegistry
from isaaclab_arena.environments.arena_env_builder import ArenaEnvBuilder, ArenaEnvBuilderCfg
from isaaclab_arena.environments.isaaclab_arena_environment import IsaacLabArenaEnvironment
from isaaclab_arena.scene.scene import Scene
registry = AssetRegistry()
scene = Scene(assets=[
registry.get_asset_by_name('kitchen')(),
registry.get_asset_by_name('cracker_box')(),
registry.get_asset_by_name('tomato_soup_can')(),
])
embodiment = registry.get_asset_by_name('franka_ik')()
env_cfg = IsaacLabArenaEnvironment(
name='franka_kitchen_example',
embodiment=embodiment,
scene=scene,
)
builder = ArenaEnvBuilder(env_cfg, ArenaEnvBuilderCfg())
env = builder.make_registered()
env.reset()
ビルダーは高レベルの仕様を、RLトレーニングやポリシー評価の準備が整った完全に登録されたIsaac Lab環境に変換します。
プロジェクト構造 (高レベル)
isaaclab_arena/– コアライブラリ(環境ビルダー、シーン、タスク、エンボディメントクラス)。isaaclab_arena_environments/– 既製のベンチマーク定義。docker/– Dockerfileと起動スクリプト。osmo/– クラウドスケールオーケストレーション用の設定。submodules/– Isaac Labおよびその他の必要なリポジトリ。
ステータスと互換性
- Alpha (v0.3) – APIは変更される可能性があり、本番環境用ではありません。
- サポートされている Isaac Lab – 3.0.0 EA (または対応するリリースブランチ)。
- サポートされている Isaac Sim – 6.1.0。
- Python – ≥ 3.12, Linux 64-bit (Ubuntu 22.04を推奨)。
対象ユーザー
- ロボット研究者 – 新しいベンチマークを構築したり、学習済みポリシーの大規模評価が必要な方。
- MLエンジニア – 多くの視覚的/物理的バリエーションにわたってポリシーをストレステストしたい方。
- ベンチマーク作成者 – 他の人が同じシミュレーションスタックで実行できる、再利用可能で構成可能なタスクを公開したい方。
コミュニティと貢献
- GitHubでIssueやディスカッションを開いてください。
- プルリクエストによる貢献を歓迎します(
CONTRIBUTING.mdを参照)。 - ライセンス: Apache 2.0 (Isaac Sim自体はNVIDIAの独自の条件に従います)。
結論 – Isaac Lab-Arenaは、NVIDIAのIsaac Simエコシステム上に構築された、ロボットシミュレーションのベンチマークを大規模に作成、実行、分析するためのモジュール式で高性能なパイプラインを提供します。
関連
- プロジェクト
- プロジェクト
- Dispatch
- Dispatch
- プロジェクト