Skip to content

Developer's Guide

Introduction

Welcome to the RBQ simulation, command, and deploy/update manual

This manual provides a comprehensive guide on how to simulate the RBQ robot, command it, and deploy your own algorithms to the real robot.

Ready-to-use Simulator and Graphical User Interface for developers

  • The RBQ robot can be simulated accurately using MuJoCo: "A fast and accurate physics engine suitable for advanced robotics simulation."

    📝 Developers can modify the simulation environment "playground" by editing the file: resources/model/rbq_environment.xml

  • The RBQ GUI is designed to provide users with an intuitive interface for commanding and monitoring the robot.

    • It provides visual feedback of the robot status, sensor states, and allows both keyboard and joystick inputs for commands.

GUI Overview

  • This section explains how to use the RBQ GUI, including its key features and interface layout.

GUI Connect

  • [1] : TOP Panel
  • [2] : Central Panel
  • [3] : 3D Panel

Top Panel

The top panel provides the core functionality for connecting to the robot, initializing its pose, and checking motor status. It also includes a button for emergency stops and indicators for battery voltage and IMU sensor status.

  • Connection Status and Buttons: Shows whether the robot is connected. You can connect or disconnect using these buttons.

  • Auto Start Robot button: Automatically initiates the robot [Motor Check --> Initialize Pose --> Control Start] sequentially and prepares the system for control.

  • Motor Check / Initialize Pose / Control Start buttons: Perform key startup actions separately. Although it's recommended to use the Auto Start Robot button instead.
    📝 In simulation: only Control Start shows green. Meanwhile, on the real robot: all three button indicators turn green when ready.

  • EMERGENCY button: Immediately halts all robot actions so the robot will softly fall down.

    • To resume operation after an emergency stop, press the Stance button from the Gait select group box.

      📝 The system enters automatic RECOVERY mode (yellow light) before transitioning to stance motion (green light).


Central Panel

  • The central panel includes tabs with buttons for sending various commands to the robot.

    📝 On a real robot, additional Joint, Firmware, Power tabs are available, although it is not recommended to use them.

  • [ Walk tab ] commands the robot's walking behavior and transitions between gaits.

    ✅ Button ActionSitStanceWalkStairs
    ⌨️ Keyboard key1234

3D Panel

  • This panel displays a 3D rendered digital twin of the current posture of the connected robot.

Installation

  • This section explains how to install and set up the RBQ robot simulation and development environment from scratch.

Requirements

To run the RBQ simulation and deployment environment smoothly, the following requirements are recommended:

  • OS: Ubuntu 22.04 (x86)

    GUI Connect

  • Minimum PC specs:

    • CPU: Intel Core i7 - 12th Gen
    • RAM: 16 GB
    • Storage: 25 GB
  • Control Devices

    • Keyboard: W, A, S, D, Q, E, R, F, [1-5] keys
    • Joystick: Logitech Wireless Gamepad F710 (Recommended)

    GUI Connect

1. Download the RBQ Repository

  • Clone the repository and navigate to the open-source package:
bash
git clone https://github.com/RainbowRobotics/RBQ.git
cd RBQ

All scripts, binaries, and SDK code are inside RBQ/. Run all commands from this directory.

Note: Pre-built binaries are already included in bin/. No compilation step is required.

▶ Simulation

  • Start the RBQ Control Modules, MuJoCo simulator, and GUI together from RBQ/:
bash
bash scripts/sim.bash --vision

NOTE: ARGUMENTS:

  • --help : Display help message and exit.

  • --vision : Run vision modules (e.g., vision sensors, climb stairs enabled).

  • If prompted, type your user password in the newly opened CLI terminals to start the processes.

Initialize - Connect and Start the Simulated Robot

  • In the RBQ GUI, click the Connect button to establish the connection.

    • If successful, the connection indicator will change to Simulator Connected text and color blue.
  • In the RBQ GUI, click the Auto Start Robot button to initiate control.

    • If successful, the control indicator will change to color green.

Stance - Command the Robot to Stand Up

  • Path: "Walk" tab --> "Gait select" group-box --> "Stance" button or simply press keyboard button 2
  • Once commanded, the robot will start moving into a standing posture. After it is done, it will respond to further commands.
    • 📝 It might take a second to transition into a standing posture, depending on the current posture.
🕹️ 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
  • 📝 If a gamepad is detected, only the number keys of the keyboard are bound.

Walk - Command the Robot to Walk

  • Path: "Walk" tab --> "Gait select" group-box --> "Walk" button or simply press keyboard button 3
  • Once commanded, the robot will transition to a walking gait. After it is done, it will respond to further commands.
🕹️ 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
  • 📝 If a gamepad is detected, only the number keys of the keyboard are bound.

Stairs - Command the Robot to Climb Stairs

  • Path: "Walk" tab --> "Gait select" group-box --> "Stairs" button or simply press keyboard button 4
  • The robot utilizes its vision capabilities to climb stairs.
🕹️ 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
  • 📝 If a gamepad is detected, only the number keys of the keyboard are bound.

Wave Walking - Command the Robot to Walk Smoothly

  • Path: "Walk" tab --> "Gait select" group-box --> "Wave" button
  • The robot walks smoothly with a wave gait pattern.
🕹️ 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
  • 📝 If a gamepad is detected, only the number keys of the keyboard are bound.

Sit - Command the Robot to Sit Down

  • Path: "Walk" tab --> "Gait select" group-box --> "Sit" button or simply press keyboard button 1
  • Command the robot to smoothly transition into a sitting posture.
    • 📝 It might take a second to transition into a sitting posture, depending on the current posture.

Real Robot

This section explains how to operate the real RBQ robot.

📖 For detailed operation steps, refer to the Operation Guide

1. Connect to the Robot

  • Connect your PC to the robot's Wi-Fi.

    📝 Wi-Fi SSID: RBQ_xxxx.

2. Launch the GUI and Set Robot Control

Start the GUI from RBQ/:

bash
cd <your workspace>/RBQ
bash
./bin/GUI
  • Click the Connect button.

    • If successful, the connection indicator will change to Robot Connected text and color green.
  • Click the Auto Start button.

    • If successful, the control indicator will change to color green, indicating that the robot has been successfully activated and is now ready for operation.

3. Commands are exactly the same as in simulation

  • 📝 It is strongly recommended to practice commanding the robot in the simulator first.

Update the Robot

Robot software is updated from RBQGUI. On the Software Update screen, press UPDATE ROBOT — RBQGUI transfers and installs the new version, shows the install log, and then prompts you to restart the robot.

Robot Software Update

RBQGUI itself is updated the same way, from the same screen.

GUI Software Update

CAUTION

Put the robot in the sitting state before restarting, and do not move it until the restart finishes. Running a mismatched binary and script combination can cause unexpected behavior.

scripts/deploy.bash is used for local development only — it copies freshly built binaries into ~/rbq_ws/ on the machine you run it on:

bash
bash scripts/deploy.bash --local
ArgumentMeaning
--helpDisplay help message and exit
--localDeploy to ~/rbq_ws/ on the same PC
--pro [FILES...]Deploy only the named binaries

This user manual is intended for RBQ users.