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에서 이슈 및 토론을 열어주세요.
- 풀 리퀘스트를 통한 기여를 환영합니다(
CONTRIBUTING.md참조). - 라이선스: Apache 2.0 (Isaac Sim 자체는 NVIDIA의 독점 약관을 따릅니다).
결론 – Isaac Lab-Arena는 NVIDIA의 Isaac Sim 생태계를 기반으로 로봇 시뮬레이션 벤치마크를 대규모로 생성, 실행, 분석할 수 있는 모듈식 고성능 파이프라인을 제공합니다.
관련
- 프로젝트
- 프로젝트
- Dispatch
- Dispatch
- 프로젝트