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 옵션을 추가하면 렌더링 없이 실행됩니다 (학습 속도 향상).
Train RBQ10
Isaac Gym Train

TIP

학습이 시작된 뒤 v 키를 누르면 렌더링을 멈춰 성능을 높일 수 있습니다. 진행 상황을 확인할 때 다시 켜면 됩니다.

평가 (Play) ​

학습된 정책 검증:

bash
bash scripts/play.bash

옵션:

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

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

Play RBQ10

Sim2Sim & 배포 ​

학습 완료 후 policy.onnx와 info.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.