Unitree는 G1용 공식 시뮬레이션 저장소를 여러 개 운영하지만 목적이 다릅니다. `unitree_mujoco`는 주로 저수준 제어기와 Sim-to-Real 인터페이스 검증, `unitree_rl_gym`은 독립형 NVIDIA Isaac Gym 학습, `unitree_rl_lab`과 `unitree_sim_isaaclab`은 Isaac Lab 작업을 담당합니다.
최신처럼 보이는 이름보다 먼저 만들 산출물을 기준으로 경로를 고르세요. 여기서는 로봇 없이 시작하는 방법에 집중합니다. 플랫폼 전체는 로봇 시뮬레이터 비교, 실기기 연결 전 준비는 G1 EDU SDK 첫 연결에서 확인할 수 있습니다.
세 이름은 세 가지 작업 흐름을 뜻한다
공식 MuJoCo 저장소는 Unitree SDK2 메시지와 MuJoCo를 연결하고 C++·Python 구현을 제공합니다. README는 저수준 개발과 제어기 검증을 주목적으로 설명하며 G1과 H1-2는 `unitree_hg` IDL 계열을 사용합니다.
`unitree_rl_gym`은 독립형 NVIDIA Isaac Gym 스택을 사용하고 `unitree_rl_lab`은 Isaac Lab 기반입니다. 둘을 모두 Isaac Lab이라고 부르면 환경·패키지·작업 등록과 배포 단계의 차이가 사라집니다.
| 공식 경로 | 첫 용도 | 중요 경계 |
|---|---|---|
| unitree_mujoco | DDS·저수준 제어기 검증 | 완전한 RL 학습 프레임워크가 아님 |
| unitree_rl_gym | 기존 Train→Play→Sim2Sim→Sim2Real 재현 | 독립형 Isaac Gym과 고정 버전 의존성 사용 |
| unitree_rl_lab | 현행 Isaac Lab RL 작업 | 저장소의 작업명과 호환 버전 사용 |
| unitree_sim_isaaclab | Unitree DDS와 Isaac Lab 시뮬레이션 | 제공 가중치는 실기기 자동 배포용이 아님 |
제어기 인터페이스가 질문이면 MuJoCo를 고른다
이미 저수준 제어기나 SDK2 메시지 루프가 있고 관절 순서·명령·관측을 로봇 전원 없이 검증하려면 `unitree_mujoco`부터 시작하세요. 공식 문서는 C++ 버전을 권장하면서 Python 예제도 제공합니다.
Go2 기본 예제를 G1에 그대로 보내지 말고 G1 구성과 메시지 유형을 적용해야 합니다. 인터페이스를 익힐 때는 루프백과 분리된 DDS 도메인을 사용해 시뮬레이션 트래픽이 실기기에 닿지 않게 하세요.
RL Gym은 독립형 Isaac Gym 흐름에 맞춘다
`unitree_rl_gym`은 G1을 지원하고 Train, Play, Sim2Sim, Sim2Real 단계를 문서화합니다. 이미 버전이 고정된 Unitree 보행 실험이나 체크포인트를 재현할 때 의미가 있습니다.
설치 지침은 독립형 Isaac Gym, Python 3.8 환경, 지정 PyTorch와 RSL-RL 버전을 사용합니다. 최신 Isaac Lab 튜토리얼 명령을 섞은 뒤 의존성 오류를 로봇 모델 문제로 해석하면 안 됩니다.

새 RL 프로젝트는 Isaac Lab 경로를 먼저 검토한다
새 RL 작업이라면 G1-29dof 작업을 제공하는 `unitree_rl_lab`과 G1·H1-2 및 DDS 경로를 제공하는 `unitree_sim_isaaclab`을 확인하세요. 설치 전 저장소가 요구하는 Isaac Lab 버전을 재확인해야 합니다.
작업명·자산·실행 명령의 기준 저장소를 하나 정하세요. 브랜치 기록 없이 서로 다른 저장소의 URDF·USD, 보상과 설정을 섞으면 결과를 재현하기 어렵습니다.
| 첫 실행 확인 | 기록 내용 | 막을 수 있는 실패 |
|---|---|---|
| 저장소 상태 | URL·브랜치/태그·커밋 | 상류 변경으로 인한 재현 실패 |
| 로봇 자산 | G1 변형과 관절 목록 | 자유도·관절 순서 오류 |
| 미들웨어 | 인터페이스·NIC·DDS 도메인 | 메시지 단절 또는 위험한 교차 통신 |
| 제어 | 모드·주기·게인·행동 스케일 | 불안정·포화 동작 |
| 평가 | 시드·지형·교란·성공 기준 | 성공 영상만 고르는 편향 |
최소 시작 순서는 스모크 테스트부터다
선택한 공식 저장소를 받고 커밋을 고정한 뒤 해당 README의 환경을 그대로 만드세요. G1 자산을 불러와 환경 하나에서 수동 또는 기립 예제를 실행하고 관절명과 제한을 확인한 다음 병렬 환경과 학습으로 확장합니다.
학습과 평가 시드를 나누고 체크포인트에 환경 설정을 보관하세요. 도메인 랜덤화는 명목 모델과 인터페이스가 맞은 뒤에 적용해야 합니다.

Sim-to-Real은 새로운 검증 단계다
실기기 전에 제어 주기, 상태 지연, 단위, 관절 매핑, 토크·위치 제한, 정규화 통계, 시작 자세와 통신 손실 행동을 확인합니다. 지지 장치, 보수적인 제한과 접근 가능한 비상 정지로 시작해야 합니다.
공식 저장소의 G1 지원은 경로가 있다는 뜻이지 임의의 정책이 모든 G1에서 안전하다는 보증이 아닙니다. Sim-to-Real 실패 원인에 따라 내보낸 체크포인트도 별도 제어 산출물로 검토하세요.
자주 묻는 질문
unitree_rl_gym은 Isaac Lab 프로젝트인가요?
아닙니다. 독립형 NVIDIA Isaac Gym 스택을 사용합니다. `unitree_rl_lab`과 `unitree_sim_isaaclab`이 Isaac Lab 경로입니다.
G1 저수준 제어기를 어디서 시험하나요?
SDK2·DDS 메시지와 제어기 검증이 목적이면 `unitree_mujoco`를 사용하세요. G1 구성을 적용하고 DDS 도메인을 격리해야 합니다.
시뮬레이션 체크포인트를 G1에 바로 배포해도 되나요?
안 됩니다. 기체 버전, 관절 매핑, 단위, 주기, 제한, 정규화와 안전 행동을 검증한 뒤 저에너지 단계 시험을 해야 합니다.
확인한 공식 자료
- Unitree 공식 MuJoCo 저장소
- Unitree 공식 독립형 RL Gym 저장소
- Unitree 공식 Isaac Lab RL 저장소
- Unitree 공식 Isaac Lab 시뮬레이션 저장소
- Unitree 개발자 문서
최종 확인: 2026년 8월 7일