fan-ziqi/robot_lab
RL Extension Library for Robots, Based on IsaacLab.
robot_lab – 실제 로봇을 위한 강화 학습 환경
개요
- NVIDIA의 Isaac Lab 위에 구축된 확장 라이브러리로, 다양한 상용 로봇 플랫폼(4족 보행, 바퀴형 베이스, 휴머노이드 등)을 위한 즉시 실행 가능한 강화 학습(RL) 환경 모음을 제공합니다.
- 핵심 Isaac Lab 저장소 외부에서 작동하므로 독립적으로 설치하고 실험을 별도로 관리할 수 있습니다.
주요 기능
- 수백 개의 사전 구성된 작업 – 각 환경은 OpenAI-Gym API(
gym.Env)를 따르며RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0와 같은 이름으로 식별됩니다. 이름에는 작업(예: Velocity), 지형 스타일(Rough 대 Flat), 로봇 모델 및 버전이 인코딩되어 있습니다. - 광범위한 로봇 지원 – Anymal D, Unitree Go2/B2/A1, Deeprobotics Lite3, MagicDog, Unitree G1/H1, Booster T1 등 인기 있는 플랫폼이 포함되어 있습니다. 다리형 및 바퀴형 로봇 모두 지원됩니다.
- 다중 RL 백엔드 – 번들로 제공되는 RSL-RL 또는 실험적인 CusRL 알고리즘으로 학습할 수 있으며, skrl을 사용하는 예제도 있습니다. 스크립트를 통해 명령줄 플래그로 알고리즘, 에이전트 및 하이퍼파라미터를 전환할 수 있습니다.
- 확장 가능한 학습 – 단일 GPU, 멀티 GPU(
torch.distributed.run사용) 및 멀티 노드 설정을 지원합니다. 또한 여러 병렬 환경(--num_envs)을 실행하여 데이터 수집 속도를 높일 수 있습니다. - 편리한 유틸리티 – 상태 확인을 위한 더미 제로 또는 랜덤 에이전트, 비디오 녹화, 단일 로봇 키보드 원격 조작, 모션 캡처 데이터셋(BeyondMimic)을 학습 데이터로 변환하는 도구를 제공합니다.
- Docker 지원 – Isaac-Lab 베이스 이미지를 기반으로 하는 Dockerfile 및
docker-compose설정을 제공하여 컨테이너 내에서 전체 스택을 실행할 수 있습니다. - 확장성 – 에셋을 정의하고 새로운 Gym 환경을 등록하여 새로운 로봇을 추가하는 방법을 저장소에서 보여줍니다. 구성은 Python 클래스나 YAML 파일로 표현할 수 있습니다.
일반적인 워크플로우
- Isaac Lab 설치(NVIDIA 가이드 준수, Conda 권장).
- robot_lab 복제 및 편집 가능한 모드로 설치:
python -m pip install -e source/robot_lab. - 사용 가능한 환경 나열:
python scripts/tools/list_envs.py. - 정책 학습:
python scripts/reinforcement_learning/rsl_rl/train.py --task=RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0 --headless - 정책 재생/평가:
수동 제어에는python scripts/reinforcement_learning/rsl_rl/play.py --task=RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0--keyboard, 녹화에는--video, 여러 인스턴스를 실행하려면--num_envs를 추가합니다.
대상 사용자
- NVIDIA Isaac Sim 기반의 고충실도 시뮬레이션이 필요한 로봇 이동, 조작 또는 전신 제어 분야의 연구원 및 엔지니어.
- 하드웨어로 이전하기 전에 다양한 실제 로봇 모델에서 정책을 프로토타이핑해야 하는 팀(README는 Gazebo/실제 로봇 배포를 위한 동반 저장소
rl_sar를 가리킵니다).
설치 하이라이트
- Isaac Sim 4.5-5.1 및 Isaac Lab 2.3.2(또는 일치하는 브랜치)가 필요합니다.
- Linux 및 Windows(64비트)에서 작동합니다.
- Python 환경을 자동 구성하기 위한 선택적 VS Code 작업과 Sim UI에서 라이브러리를 로드하기 위한 Omniverse UI 확장 기능이 포함되어 있습니다.
커뮤니티
- 토론은 GitHub Discussions 및 Discord 서버(링크 제공)에서 이루어집니다.
- 프로젝트는 Apache 2.0 라이선스를 따릅니다.
결론: robot_lab은 NVIDIA의 Isaac Sim 생태계 내에서 많은 상용 로봇의 정책을 학습하고 평가할 수 있는 진정한 프로덕션급 RL 확장 기능으로, 확장 가능한 학습, Docker 배포 및 새로운 로봇 모델의 간편한 추가를 완벽하게 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트