Skip to content

개발자 가이드

소개

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(초록색)으로 전환됩니다.

중앙 패널

  • 중앙 패널에는 로봇에 다양한 명령을 보낼 수 있는 탭과 버튼이 있습니다. 📝 실제 로봇에서는 관절, 펌웨어, 전원 탭이 추가로 표시되지만, 일반적인 사용 시에는 건드리지 않는 것이 좋습니다.

  • [ 보행 탭 ] 로봇의 걷기 동작과 보행 모드 전환을 명령합니다.

    ✅ 버튼 동작SitStanceWalkStairsRunningRL-TrotRL-Pronk
    ⌨️ 키보드 키12345RF

3D 패널

  • 연결된 로봇의 현재 자세를 3D로 렌더링한 디지털 트윈을 표시합니다.

설치

  • 이 섹션에서는 RBQ 로봇 시뮬레이션 및 개발 환경을 처음부터 설치하고 구성하는 방법을 설명합니다.

시스템 요구사항

원활한 시뮬레이션 및 개발 환경 구동을 위해 다음 사양을 권장합니다:

  • 운영 체제: Ubuntu 22.04 (x86) GUI Connect
  • 최소 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를 누르세요
  • 명령을 내리면 로봇이 기립 자세로 이동하기 시작합니다. 완료 후 추가 명령에 응답합니다.
    • 📝 현재 자세에 따라 기립 자세로 전환하는 데 몇 초가 걸릴 수 있습니다.
🕹️ JoystickCommandKeyboard keyRobot Action
L StickForward / BackwardW / SNose up / down
L StickLeft / RightQ / ERoll Left / Right
R StickForward / BackwardHeight up / down
R StickLeft / RightA / DTurn Left / Right
ShiftFull range of motion
  • 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.

Walk - 로봇이 걷도록 명령하기

  • 경로: "Walk" 탭 --> "Gait select" 그룹 박스 --> "Walk" 버튼 또는 키보드 3을 누르세요
  • 명령을 내리면 로봇이 걷기 보행으로 전환됩니다. 완료 후 추가 명령에 응답합니다.
🕹️ JoystickCommandKeyboard keyRobot Action
L StickForward / BackwardW / SGo Forward / Backward
L StickLeft / RightQ / EGo Left / Right
R StickForward / BackwardPitch Forward / Backward
R StickLeft / RightA / DTurn Left / Right
ShiftFull speed of motion
  • 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.

Stair - 로봇이 계단을 오르도록 명령하기

  • 경로: "Walk" 탭 --> "Gait select" 그룹 박스 --> "Stairs" 버튼 또는 키보드 4를 누르세요
  • 로봇이 비전 기능을 활용해 계단을 오릅니다.
🕹️ JoystickCommandKeyboard keyRobot Action
L StickForward / BackwardW / SGo Forward / Backward
L StickLeft / RightQ / EGo Left / Right
R StickForward / Backward
R StickLeft / RightA / DTurn Left / Right
ShiftFull speed of motion
  • 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.

Run - 로봇이 달리도록 명령하기

  • 경로: "Walk" 탭 --> "Gait select" 그룹 박스 --> "Running" 버튼 또는 키보드 5를 누르세요
  • 로봇이 빠르고 민첩한 동작을 수행합니다.
    • 📝 현재 자세와 보행 모드에 따라 Running으로 전환하기 전에 STANCE 자세가 필요할 수 있습니다.
🕹️ JoystickCommandKeyboard keyRobot Action
L StickForward / BackwardW / SGo Forward / Backward
L StickLeft / RightQ / EGo Left / Right
R StickForward / Backward
R StickLeft / RightA / DTurn Left / Right
ShiftFull speed of motion
  • 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.

Wave - 로봇이 부드럽게 걷도록 명령하기

  • 경로: "Walk" 탭 --> "Gait select" 그룹 박스 --> "Wave" 버튼
  • 로봇이 Wave 보행 패턴으로 부드럽게 이동합니다.
🕹️ JoystickCommandKeyboard keyRobot Action
L StickForward / BackwardW / SGo Forward / Backward
L StickLeft / RightQ / EGo Left / Right
R StickForward / BackwardPitch Forward / Backward
R StickLeft / RightA / DTurn Left / Right
ShiftFull speed of motion
  • 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.

Aim - 로봇을 목표물에 향하도록 명령하기

  • 경로: "Walk" 탭 --> "Gait select" 그룹 박스 --> "Aiming" 버튼
  • 특정 목표물이나 방향으로 로봇을 정확하게 조준할 때 사용합니다.
🕹️ JoystickCommandKeyboard keyRobot Action
L StickForward / BackwardW / SNose up / down
L StickLeft / RightQ / E
R StickForward / Backward
R StickLeft / RightA / DTurn Left / Right
ShiftFull speed of motion

-📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.

RL-Trot - 로봇이 RL-Trot 하도록 명령하기

  • 경로: "Walk" 탭 --> "Gait select" 그룹 박스 --> "RL-Trot" 버튼 또는 키보드 R을 누르세요
  • 강화 학습 정책으로 생성된 Trot 보행을 활성화합니다. 로봇이 RL 기반 걷기 보행으로 전환된 후 조작 명령에 응답합니다.
🕹️ JoystickCommandKeyboard keyRobot Action
L StickForward / BackwardW / SGo Forward / Backward
L StickLeft / RightQ / EGo Left / Right
R StickForward / BackwardPitch Forward / Backward
R StickLeft / RightA / DTurn Left / Right
ShiftFull speed of motion
  • 📝 조이스틱이 연결된 경우 키보드 숫자 키만 유효합니다.

RL-Pronk - 로봇이 RL-Pronk 하도록 명령하기

  • 경로: "Walk" 탭 --> "Gait select" 그룹 박스 --> "RL-Pronk" 버튼 또는 키보드 F를 누르세요
  • 강화 학습 정책으로 생성된 Pronk 보행을 활성화합니다. 로봇이 RL 기반 Pronk 보행으로 전환된 후 조작 명령에 응답합니다.
🕹️ JoystickCommandKeyboard keyRobot Action
L StickForward / BackwardW / SGo Forward / Backward
L StickLeft / RightQ / EGo Left / Right
R StickForward / BackwardPitch Forward / Backward
R StickLeft / RightA / DTurn Left / Right
ShiftFull 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>/RBQ
bash
./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가 완료되면 로봇을 재부팅하여 새로 배포된 바이너리를 적용합니다.

This user manual is intended for RBQ users.