Skip to content

Low Level (RL 정책) Python — 빠른 시작 ​

소스: rbq_sdk/python/example/sport/rbq_low_level.py

C++ rbq_low_level 예제의 Python 포팅 버전입니다. RL 정책(info.json + policy.onnx)을 로드해 100 Hz로 저수준 관절 제어를 수행합니다.

설치 ​

bash
cd RBQ/rbq_sdk/python
pip install -e .
pip install onnxruntime

실행 ​

bash
cd RBQ/rbq_sdk/python/example/sport
python3 rbq_low_level.py -p <policyDir> [networkInterface]
bash
# 시뮬레이터 / 로봇 내부 스택 — 인터페이스 기본값은 lo
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은 실시간 스레드를 쓰지 않습니다).

시뮬레이션으로 실행 ​

  1. RBQ/ 루트에서:
    bash
    bash scripts/sim.bash --no-gui
  2. 같은 PC 에서 RBQ 앱을 켭니다. 데스크탑 앱이 이 시뮬레이터를 스스로 찾아 붙습니다 — 컨트롤 → 자동 기동 → STAND 순서로 누릅니다. 제어 홈 참고.
  3. 예제 실행 (인터페이스 기본값은 lo):
    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(기본)스택의 최종 관절 레퍼런스를 미러링
Motionx 또는 z코사인 보간으로 ready / ground 자세로 이동
ControlcONNX 정책을 100 Hz로 실행, 관절 레퍼런스 발행

→ C++ 버전: Low Level (C++)

This user manual is intended for RBQ users.