Isaac Gym
소개
RBQ 로봇을 위한 오픈소스 Isaac Gym 학습 환경
이 가이드는 IsaacGym에서 RBQ 로봇의 보행 정책을 **학습(Train)**하고, **평가(Play)**한 뒤, 실제 로봇에 **배포(Deploy)**하는 방법을 설명합니다.
요구사항
| 항목 | 요구사항 |
|---|---|
| OS | Ubuntu 22.04 (x86_64) |
| CPU | Intel Core i7 12세대 이상 |
| RAM | 16 GB |
| 저장공간 | 25 GB 이상 |
| GPU | NVIDIA RTX 4080 이상 |
NOTE — GPU 호환성
Isaac Gym은 NVIDIA RTX 50 시리즈(Blackwell) GPU를 지원하지 않습니다. RTX 40 시리즈 이하를 사용하세요.
워크플로우
Train → Play → Sim2Sim → Deploy
| 단계 | 설명 |
|---|---|
| Train | IsaacGym + PPO — 설계된 보상을 최대화하는 정책 학습 |
| Play | IsaacGym 내에서 학습된 정책 검증 |
| Sim2Sim | rbq_low_level로 MuJoCo에서 재평가 |
| Deploy | 실제 로봇에서 실행 |
| Isaac Gym | MuJoCo |
|---|---|
![]() | ![]() |
환경 설정
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 |
|---|
![]() |
평가 (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새 환경 추가
rbq_gym/envs/에 새 폴더를 추가하고 기존 환경 설정을 상속받는<env>_config.py작성.- 새 로봇 추가 시:
resources/에 에셋 추가, 설정에서 에셋 경로·바디 이름·기본 관절 위치·PD 게인 정의. <env>_env.py에서 환경 구현 (기존 환경 상속, 보상 함수 오버라이드).rbq_gym/envs/__init__.py에 환경 등록.- 보상을 비활성화하려면 scale을
0으로 설정 — 다른 환경의 파라미터는 수정하지 마세요.
관련 문서
- Isaac Lab — Isaac Lab 학습 환경
- Low Level (RL 정책) — 학습된 정책 배포
- 시뮬레이터 개요



