Low Level (RL 정책) Python — 빠른 시작
소스: rbq_sdk/python/example/sport/rbq_low_level.py
C++ rbq_low_level 예제의 Python 포팅 버전입니다. RL 정책(info.json + policy.onnx)을 로드해 10 Hz로 저수준 관절 제어를 수행합니다.
설치
bash
cd RBQ/rbq_sdk/python
pip install -e .
pip install onnxruntime실행
bash
cd RBQ/rbq_sdk/python/example/low_level
python3 rbq_low_level.py -p <policyDir> [networkInterface]bash
# 시뮬레이션 (루프백 — networkInterface 생략 가능)
python3 rbq_low_level.py -p ../../../../rbq_simulator/rbq_gym/policy/rbq10/
# 실제 로봇
python3 rbq_low_level.py -p ../../../../rbq_simulator/rbq_gym/policy/rbq10/ eth0-p는 필수 — info.json과 policy.onnx가 있는 디렉토리를 지정합니다.
C++ 버전과 달리
sudo가 필요하지 않습니다 (Python은 실시간 스레드를 쓰지 않습니다).
시뮬레이션으로 실행
RBQ/루트에서:bashbash scripts/sim.bash- RBQGUI: Connect → Auto Start Robot → Stance (
2). - 예제 실행 (시뮬레이션에서는 networkInterface 생략 가능):bash
python3 rbq_low_level.py -p ../../../../rbq_simulator/rbq_gym/policy/rbq10/
키보드 제어
| 키 | 동작 |
|---|---|
x | 서기 (ready 자세) |
z | 앉기 (ground 자세) |
c | 걷기 시작 (정책 로드 및 실행) |
q | 종료 |
정책 디렉토리
저장소에 포함된 사전 학습 정책:
rbq_simulator/rbq_gym/policy/rbq10/
├── info.json
└── policy.onnx지원 정책 이름 (info.json의 run_name): rbq10, rbq10_trot, rbq10_trot_run.
Isaac Gym이나 Isaac Lab으로 직접 학습한 정책도 -p로 지정할 수 있습니다.
상태 머신
| 상태 | 진입 방법 | 동작 |
|---|---|---|
| Idle | (기본) | 스택의 최종 관절 레퍼런스를 미러링 |
| Motion | x 또는 z | 코사인 보간으로 ready / ground 자세로 이동 |
| Control | c | ONNX 정책을 10 Hz로 실행, 관절 레퍼런스 발행 |
→ C++ 버전: Low Level (C++)
