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 파일로 표현할 수 있습니다.

일반적인 워크플로우

  1. Isaac Lab 설치(NVIDIA 가이드 준수, Conda 권장).
  2. robot_lab 복제 및 편집 가능한 모드로 설치: python -m pip install -e source/robot_lab.
  3. 사용 가능한 환경 나열: python scripts/tools/list_envs.py.
  4. 정책 학습:
    python scripts/reinforcement_learning/rsl_rl/train.py --task=RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0 --headless
    
  5. 정책 재생/평가:
    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 배포 및 새로운 로봇 모델의 간편한 추가를 완벽하게 지원합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트