Skip to content

RBQ C++ SDK — Quick Start

Get the SDK built and your first example running in 5 steps.

1. Clone the repository

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

All scripts, SDK source code, and examples are in the repository root. Run all commands from RBQ/ unless stated otherwise.

2. Build the C++ SDK

bash
cd rbq_sdk/cpp/rbq_sdk_cpp

# First time only — build bundled CycloneDDS
sudo bash scripts/build_dds.bash

# Build and install the SDK
sudo bash scripts/build.bash

cd ../../..

3. Build the examples

bash
cd rbq_sdk/cpp/example

# Install build dependencies (first time only)
bash scripts/setup.bash

# Build examples
bash scripts/build.bash

cd ../../..

Binaries are placed in rbq_sdk/cpp/example/bin/.

4. Start the simulator (skip for real hardware)

From the RBQ/ root:

bash
bash scripts/sim.bash

In RBQGUI:

  1. Connect → indicator turns blue.
  2. Auto Start Robot → indicators turn green.
  3. Walk tab → Stance (or press 2) to stand the robot up.

5. Run your first example

From rbq_sdk/cpp/example/:

bash
# Terminal-based command test
./bin/rbq_sport_client eth0

# Joystick control
./bin/rbq_sport_client_joy eth0

# High-level gait + velocity (requires joystick)
./bin/rbq_high_level eth0

# Low-level RL policy
sudo ./bin/rbq_low_level -p ../../rbq_simulator/rbq_gym/policy/rbq10/

Replace eth0 with your network interface (ifconfig to check).
For robot Wi-Fi (RBQ_xxxx), use the Wi-Fi interface (e.g. wlp4s0).

Examples overview

ExampleBinaryWhat it does
Sport Client →rbq_sport_clientTerminal CLI — test any SportClient command
Sport Client (Joy) →rbq_sport_client_joyGamepad — full button mapping
High Level Cmd →rbq_high_level50 Hz gait + joystick velocity
Low Level (Policy) →rbq_low_levelJoint control + ONNX RL policy

Build issues? See SDK Build Issues

This user manual is intended for RBQ users.