Skip to content

Isaac Gym

소개

RBQ 로봇을 위한 오픈소스 Isaac Gym 학습 환경

이 가이드는 IsaacGym에서 RBQ 로봇의 보행 정책을 **학습(Train)**하고, **평가(Play)**한 뒤, 실제 로봇에 **배포(Deploy)**하는 방법을 설명합니다.

요구사항

항목요구사항
OSUbuntu 22.04 (x86_64)
CPUIntel Core i7 12세대 이상
RAM16 GB
저장공간25 GB 이상
GPUNVIDIA RTX 4080 이상

NOTE — GPU 호환성

Isaac Gym은 NVIDIA RTX 50 시리즈(Blackwell) GPU를 지원하지 않습니다. RTX 40 시리즈 이하를 사용하세요.

워크플로우

Train → Play → Sim2Sim → Deploy

단계설명
TrainIsaacGym + PPO — 설계된 보상을 최대화하는 정책 학습
PlayIsaacGym 내에서 학습된 정책 검증
Sim2Simrbq_low_level로 MuJoCo에서 재평가
Deploy실제 로봇에서 실행
Isaac GymMuJoCo
Isaac GymMuJoCo

환경 설정

RBQ 저장소 루트에서 rbq_simulator/rbq_gym 디렉토리로 이동:

bash
cd <workspace>/rbq_simulator/rbq_gym

환경 설정 스크립트 실행:

bash
bash scripts/setup.bash

학습 (Train)

bash
bash scripts/train.bash
  • --headless 옵션을 추가하면 렌더링 없이 실행됩니다 (학습 속도 향상).
  • 학습 중 v키를 눌러 뷰포트 렌더링을 토글할 수 있습니다.
Train RBQ10
Isaac Gym Train

평가 (Play)

학습된 정책 검증:

bash
bash scripts/play.bash

옵션:

  • --sim_device=cpu — GPU 대신 CPU 사용.
  • --load_run <name> — 특정 실험 런 지정.
  • --checkpoint <n> — 특정 모델 이터레이션 로드.

기본값: 마지막 런의 마지막 모델을 로드합니다.

Play RBQ10

Sim2Sim & 배포

학습 완료 후 policy.onnxinfo.json을 사용합니다.
MuJoCo 검증 및 실제 로봇 배포는 Low Level (RL 정책)을 참조하세요.

사전 학습된 정책 위치:

rbq_simulator/rbq_gym/policy/rbq10/
├── info.json
└── policy.onnx

디렉토리 구조

rbq_simulator/rbq_gym/
├── rbq_gym/
│   ├── envs/
│   │   ├── base/              # 기본 환경 클래스 및 설정
│   │   └── rbq10/             # RBQ10 환경, 설정, 보상 함수
│   ├── model_test.py
│   ├── play.py
│   ├── train.py
│   └── utils/                 # 헬퍼, 키보드, 로거, 수학, 태스크 레지스트리, 지형
├── policy/
│   └── rbq10/
│       ├── info.json
│       └── policy.onnx
├── scripts/
│   ├── setup.bash, train.bash, play.bash
├── dependencies.yaml
└── setup.py

새 환경 추가

  1. rbq_gym/envs/에 새 폴더를 추가하고 기존 환경 설정을 상속받는 <env>_config.py 작성.
  2. 새 로봇 추가 시: resources/에 에셋 추가, 설정에서 에셋 경로·바디 이름·기본 관절 위치·PD 게인 정의.
  3. <env>_env.py에서 환경 구현 (기존 환경 상속, 보상 함수 오버라이드).
  4. rbq_gym/envs/__init__.py에 환경 등록.
  5. 보상을 비활성화하려면 scale을 0으로 설정 — 다른 환경의 파라미터는 수정하지 마세요.

관련 문서

This user manual is intended for RBQ users.