개발자 가이드
소개
RBQ 시뮬레이션, 명령 및 배포/업데이트 매뉴얼에 오신 것을 환영합니다
이 매뉴얼은 RBQ 로봇을 시뮬레이션하고 명령을 보내며, 실제 로봇에 직접 개발한 알고리즘을 배포하는 과정을 종합적으로 설명합니다.
개발자를 위한 시뮬레이터 및 GUI
- RBQ 로봇은 MuJoCo를 사용해 정밀하게 시뮬레이션할 수 있습니다. 📝 시뮬레이션 환경 "playground"는 다음 파일을 편집하여 수정할 수 있습니다:
resources/model/rbq_environment.xml - RBQ GUI는 로봇에 명령을 보내고 상태를 모니터링하는 직관적인 인터페이스를 제공합니다.
- 로봇 상태와 센서 상태를 시각적으로 확인할 수 있으며, 키보드와 조이스틱 입력을 모두 지원합니다.
GUI 개요
- 이 섹션에서는 RBQ GUI 사용 방법과 주요 기능, 인터페이스 구성을 설명합니다.
GUI Connect
- [1] : 상단 패널
- [2] : 중앙 패널
- [3] : 3D 패널
상단 패널
상단 패널에는 로봇 연결, 초기 자세, 모터 상태 확인 등 핵심 기능이 모여 있습니다. 비상 정지 버튼과 배터리 전압 및 IMU 센서 상태 표시기도 이 패널에 있습니다.
- Connection Status and Buttons: 로봇의 연결 상태를 표시합니다. 이 버튼으로 로봇에 연결하거나 연결을 끊을 수 있습니다.
- Auto Start 버튼: [Motor Check → Initialize Pose → Control Start] 순서로 로봇을 자동으로 초기화하고 제어 시스템을 준비합니다.
- Motor Check / Initialize Pose / Control Start 버튼: 각 시작 동작을 개별적으로 실행할 수 있습니다. 일반적으로는 Auto Start 버튼 사용을 권장합니다.
📝 시뮬레이션: Control Start 버튼만 초록색으로 표시됩니다. 실제 로봇: 준비 완료 시 세 버튼의 표시등이 모두 초록색으로 바뀝니다. - EMERGENCY 버튼: 로봇의 모든 동작을 즉시 중단하고 로봇을 부드럽게 내려앉힙니다.
- 비상 정지 후 동작을 재개하려면 Gait select 그룹 박스에서 Stance 버튼을 누르세요. 📝 RECOVERY 모드(노란색)를 거친 후 stance motion(초록색)으로 전환됩니다.
중앙 패널
중앙 패널에는 로봇에 다양한 명령을 보낼 수 있는 탭과 버튼이 있습니다. 📝 실제 로봇에서는 관절, 펌웨어, 전원 탭이 추가로 표시되지만, 일반적인 사용 시에는 건드리지 않는 것이 좋습니다.
[ 보행 탭 ] 로봇의 걷기 동작과 보행 모드 전환을 명령합니다.
✅ 버튼 동작 Sit Stance Walk Stairs Running RL-Trot RL-Pronk ⌨️ 키보드 키 1 2 3 4 5 R F
3D 패널
- 연결된 로봇의 현재 자세를 3D로 렌더링한 디지털 트윈을 표시합니다.
설치
- 이 섹션에서는 RBQ 로봇 시뮬레이션 및 개발 환경을 처음부터 설치하고 구성하는 방법을 설명합니다.
시스템 요구사항
원활한 시뮬레이션 및 개발 환경 구동을 위해 다음 사양을 권장합니다:
- 운영 체제: Ubuntu 22.04 (x86)

- 최소 PC 사양:
- CPU: Intel Core i7 12세대
- RAM: 16 GB
- 저장 공간: 25 GB
- 제어 장치
- 키보드: W, A, S, D, Q, E, R, F, [1-5] 키
- 조이스틱: Logitech Wireless Gamepad F710 (권장) GUI Connect
1. RBQ 저장소 다운로드
- 아래 명령어로 저장소를 클론하세요:
bash
git clone https://github.com/RainbowRobotics/RBQ.git
cd RBQ모든 스크립트, 바이너리, SDK 코드는
RBQ/아래에 있습니다. 모든 명령어는 이 디렉토리에서 실행하세요.
참고: 사전 빌드된 바이너리가
bin/에 포함되어 있으므로 별도 빌드 단계는 필요하지 않습니다.
▶ 시뮬레이션
- 아래 스크립트로 RBQ 제어 모듈, MuJoCo 시뮬레이터, GUI를 한 번에 실행합니다.
참고: 인자:
--help: 도움말 메시지를 출력하고 종료합니다.--vision: 비전 모듈을 함께 실행합니다 (예: 비전 센서, 계단 오르기 활성화).
bash
bash scripts/sim.bash --vision- 프롬프트가 표시되면 새로 열린 CLI 터미널에
사용자 비밀번호를 입력해 프로세스를 시작합니다.
초기화 - 시뮬레이션 로봇 연결 및 시작
RBQ GUI에서 Connect 버튼을 클릭해 연결합니다.- 성공하면
연결 표시등이 Simulator Connected 텍스트와 함께 파란색으로 바뀝니다.
- 성공하면
RBQ GUI에서 Auto Start 버튼을 클릭해 제어를 시작합니다.- 성공하면
제어 표시등이 초록색으로 변경됩니다.
- 성공하면
Stance - 로봇이 서도록 명령하기
- 경로:
"Walk" tab --> "Gait select" group-box --> "Stance" 버튼또는 키보드2를 누르세요 - 명령을 내리면 로봇이 기립 자세로 이동하기 시작합니다. 완료 후 추가 명령에 응답합니다.
- 📝 현재 자세에 따라 기립 자세로 전환하는 데 몇 초가 걸릴 수 있습니다.
| 🕹️ Joystick | Command | Keyboard key | Robot Action |
|---|---|---|---|
| L Stick | Forward / Backward | W / S | Nose up / down |
| L Stick | Left / Right | Q / E | Roll Left / Right |
| R Stick | Forward / Backward | Height up / down | |
| R Stick | Left / Right | A / D | Turn Left / Right |
| Shift | Full range of motion |
- 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.
Walk - 로봇이 걷도록 명령하기
- 경로:
"Walk" 탭 --> "Gait select" 그룹 박스 --> "Walk" 버튼또는 키보드3을 누르세요 - 명령을 내리면 로봇이 걷기 보행으로 전환됩니다. 완료 후 추가 명령에 응답합니다.
| 🕹️ Joystick | Command | Keyboard key | Robot Action |
|---|---|---|---|
| L Stick | Forward / Backward | W / S | Go Forward / Backward |
| L Stick | Left / Right | Q / E | Go Left / Right |
| R Stick | Forward / Backward | Pitch Forward / Backward | |
| R Stick | Left / Right | A / D | Turn Left / Right |
| Shift | Full speed of motion |
- 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.
Stair - 로봇이 계단을 오르도록 명령하기
- 경로:
"Walk" 탭 --> "Gait select" 그룹 박스 --> "Stairs" 버튼또는 키보드4를 누르세요 - 로봇이 비전 기능을 활용해 계단을 오릅니다.
| 🕹️ Joystick | Command | Keyboard key | Robot Action |
|---|---|---|---|
| L Stick | Forward / Backward | W / S | Go Forward / Backward |
| L Stick | Left / Right | Q / E | Go Left / Right |
| R Stick | Forward / Backward | ||
| R Stick | Left / Right | A / D | Turn Left / Right |
| Shift | Full speed of motion |
- 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.
Run - 로봇이 달리도록 명령하기
- 경로:
"Walk" 탭 --> "Gait select" 그룹 박스 --> "Running" 버튼또는 키보드5를 누르세요 - 로봇이 빠르고 민첩한 동작을 수행합니다.
- 📝 현재 자세와 보행 모드에 따라 Running으로 전환하기 전에 STANCE 자세가 필요할 수 있습니다.
| 🕹️ Joystick | Command | Keyboard key | Robot Action |
|---|---|---|---|
| L Stick | Forward / Backward | W / S | Go Forward / Backward |
| L Stick | Left / Right | Q / E | Go Left / Right |
| R Stick | Forward / Backward | ||
| R Stick | Left / Right | A / D | Turn Left / Right |
| Shift | Full speed of motion |
- 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.
Wave - 로봇이 부드럽게 걷도록 명령하기
- 경로:
"Walk" 탭 --> "Gait select" 그룹 박스 --> "Wave" 버튼 - 로봇이 Wave 보행 패턴으로 부드럽게 이동합니다.
| 🕹️ Joystick | Command | Keyboard key | Robot Action |
|---|---|---|---|
| L Stick | Forward / Backward | W / S | Go Forward / Backward |
| L Stick | Left / Right | Q / E | Go Left / Right |
| R Stick | Forward / Backward | Pitch Forward / Backward | |
| R Stick | Left / Right | A / D | Turn Left / Right |
| Shift | Full speed of motion |
- 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.
Aim - 로봇을 목표물에 향하도록 명령하기
- 경로:
"Walk" 탭 --> "Gait select" 그룹 박스 --> "Aiming" 버튼 - 특정 목표물이나 방향으로 로봇을 정확하게 조준할 때 사용합니다.
| 🕹️ Joystick | Command | Keyboard key | Robot Action |
|---|---|---|---|
| L Stick | Forward / Backward | W / S | Nose up / down |
| L Stick | Left / Right | Q / E | |
| R Stick | Forward / Backward | ||
| R Stick | Left / Right | A / D | Turn Left / Right |
| Shift | Full speed of motion |
-📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.
RL-Trot - 로봇이 RL-Trot 하도록 명령하기
- 경로:
"Walk" 탭 --> "Gait select" 그룹 박스 --> "RL-Trot" 버튼또는 키보드R을 누르세요 - 강화 학습 정책으로 생성된 Trot 보행을 활성화합니다. 로봇이 RL 기반 걷기 보행으로 전환된 후 조작 명령에 응답합니다.
| 🕹️ Joystick | Command | Keyboard key | Robot Action |
|---|---|---|---|
| L Stick | Forward / Backward | W / S | Go Forward / Backward |
| L Stick | Left / Right | Q / E | Go Left / Right |
| R Stick | Forward / Backward | Pitch Forward / Backward | |
| R Stick | Left / Right | A / D | Turn Left / Right |
| Shift | Full speed of motion |
- 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.
RL-Pronk - 로봇이 RL-Pronk 하도록 명령하기
- 경로:
"Walk" 탭 --> "Gait select" 그룹 박스 --> "RL-Pronk" 버튼또는 키보드F를 누르세요 - 강화 학습 정책으로 생성된 Pronk 보행을 활성화합니다. 로봇이 RL 기반 Pronk 보행으로 전환된 후 조작 명령에 응답합니다.
| 🕹️ Joystick | Command | Keyboard key | Robot Action |
|---|---|---|---|
| L Stick | Forward / Backward | W / S | Go Forward / Backward |
| L Stick | Left / Right | Q / E | Go Left / Right |
| R Stick | Forward / Backward | Pitch Forward / Backward | |
| R Stick | Left / Right | A / D | Turn Left / Right |
| Shift | Full speed of motion |
- 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.
Sit - 로봇을 앉히도록 명령하기
- 경로:
"Walk" 탭 --> "Gait select" 그룹 박스 --> "Sit" 버튼또는 키보드1을 누르세요 - 로봇이 부드럽게 앉은 자세로 전환합니다.
- 📝 현재 자세에 따라 전환하는 데 몇 초가 걸릴 수 있습니다.
실제 로봇
이 섹션에서는 실제 RBQ 로봇 작동 방법을 설명합니다.
📖 상세한 작동 절차는 작동 가이드를 참고하세요
1. 로봇에 연결하기
- PC를 로봇 Wi-Fi에 연결합니다. 📝 Wi-Fi SSID:
RBQ_xxxx.
2. GUI 실행 및 로봇 제어 설정
bin 디렉토리에서 GUI를 실행합니다:
bash
cd <your workspace>/RBQbash
./bin/GUI- Connect 버튼을 클릭합니다.
- 성공하면
연결 표시등이 Robot Connected 텍스트와 함께 초록색으로 바뀝니다.
- 성공하면
- 자동 시작 버튼을 클릭합니다.
- 성공하면
제어 표시등이 초록색으로 변경되며, 로봇이 정상적으로 활성화되어 조작 준비가 완료된 것입니다.
- 성공하면
3. 명령은 시뮬레이션과 동일합니다
- 📝 실제 로봇을 조작하기 전에 먼저 시뮬레이터에서 충분히 연습해 보세요.
로봇에 어플리케이션(바이너리 파일) 배포하기
- 개발 PC에서 아래 명령어를 실행하여 로봇에 바이너리를 배포합니다:
참고: 인자:
--help: 도움말 메시지를 출력하고 종료합니다.--device[USER@IP] : 원격 장치를 지정합니다 (기본값:rbq@192.168.0.10).--pro[FILES...] : 선택적으로 배포할 바이너리 이름을 지정합니다.--local: 원격 전송 없이 동일 PC에 로컬로 배포합니다.
bash
bash scripts/deploy.bash --device rbq@<robot-ip>SSH 비밀번호 입력 프롬프트가 표시됩니다.
- 비밀번호: SSH 비밀번호는 담당자에게 문의하세요.
- ⚠️ 중요:
deploy.bash가 완료되면 로봇을 재부팅하여 새로 배포된 바이너리를 적용합니다.
