Skip to content

MuJoCo ​

소개 ​

RBQ 4족 보행 로봇을 위한 오픈소스 MuJoCo 시뮬레이터.

MuJoCo는 물리 시뮬레이션 위에서 RBQ 소프트웨어 스택 전체(Motion / Vision / GUI)를 실행합니다. 강화학습 정책을 학습하는 Isaac Gym · Isaac Lab 환경과 달리, MuJoCo는 하드웨어 없이 로봇 소프트웨어 자체를 개발·검증하기 위한 환경입니다. 실행 중인 RBQ 스택에 DDS 피어로 참여하므로, 실제 로봇에서 동작하는 Motion / Vision / GUI 프로세스가 그대로 시뮬레이터에 연결됩니다.

MuJoCo
MuJoCo

구성 ​

경로설명
src/시뮬레이터 소스 → bin/rbq_mujoco
resources/model/MJCF 모델 — default.xml(사족) / wheel.xml(휠타입), 각각 로봇과 env/environment.xml 을 포함
scripts/빌드 / Docker 스크립트

옵션 ​

옵션의미
--wheel휠타입 RBQ (12관절 + 구동륜 4개). 기본은 사족
--livoxLivox Mid-360 x2 (앞 / 뒤): 하우징을 그리고 레이트레이서 스레드를 띄웁니다
--ousterOuster OS1 x1 (뒤 데크): 하우징만 그립니다. 스캔 자체는 아직 시뮬되지 않습니다
-p, --path <mjcf>불러올 MJCF 모델. 기본값은 선택한 변형의 resources/model/ 아래 모델입니다
-i, --interface <name>DDS 네트워크 인터페이스. 기본 lo — 호스트에서 도는 RBQ 스택과 같은 값입니다
--selftest [초]화면 없이 N초(기본 3) 돌린 뒤 결과와 함께 종료합니다. scripts/docker/run.bash --test 가 씁니다

기본 모델은 resources/model/default.xml 이고 --wheel 이면 wheel.xml 을 씁니다. -p 는 불러올 파일만 바꿀 뿐, 관절 구성은 변형 플래그를 따릅니다.

RBQ 스택 전체와 함께 실행 (Local) ​

RBQ 스택 전체(Motion / Vision)를 MuJoCo 시뮬레이터와 함께 실행합니다:

scripts/sim.bash 는 RBQ 스택을 도커 안에서 실행하므로, 도커 외에는 따로 설치할 것이 없습니다. 도커가 없으면 스크립트가 설치를 제안합니다. 처음 실행할 때 rbq-sim 이미지를 만드느라 몇 분 걸립니다. 로그는 log/sim-docker/ 에 남고, Ctrl-C 로 스택을 멈춥니다. 실행 중 앱에서 바꾼 설정은 스택을 멈추면 유지되지 않습니다.

bash
# Clone
git clone https://github.com/RainbowRobotics/RBQ.git
cd RBQ

# 의존성 설치 (최초 1회)
cd rbq_simulator/rbq_mujoco && bash scripts/debian-dep.bash

# rbq_mujoco 빌드
bash scripts/build.bash
cd ../../

사족

bash
bash scripts/sim.bash --vision --no-sim
cd rbq_simulator/rbq_mujoco
./bin/rbq_mujoco

휠타입 RBQ

bash
bash scripts/sim.bash --vision --no-sim -r wheel
cd rbq_simulator/rbq_mujoco
./bin/rbq_mujoco --wheel

RBQ 스택 전체와 함께 실행 (Docker) ​

같은 스택을 Docker 안에서 MuJoCo 시뮬레이터와 함께 실행합니다:

bash
# Clone
git clone https://github.com/RainbowRobotics/RBQ.git
cd RBQ
bash
bash scripts/sim.bash --vision --no-sim
cd rbq_simulator/rbq_mujoco
bash scripts/docker/run.bash            # 사족
bash scripts/docker/run.bash --wheel    # 휠타입 RBQ

run.bash 가 모델 경로를 알아서 넘깁니다. --headless, --build, --test [초], --gpu, --no-check 를 처리하고 나머지 인자는 시뮬레이터로 그대로 넘기므로 --wheel, --livox, --ouster 도 그대로 전달됩니다.

NOTE — DDS 네트워킹

시뮬레이터는 호스트 RBQ 스택과 루프백 인터페이스(lo)에서 DDS 도메인 0을 공유합니다. Docker에서는 --network host로 제공됩니다.

관련 문서 ​

This user manual is intended for RBQ users.