Skip to content

High Level Command — Quick Start ​

Source: rbq_sdk/cpp/example/src/rbq_high_level.cpp

Publishes HighLevelCommand at 50 Hz. Type gait names in the terminal; control velocity with a joystick.

Build ​

bash
cd RBQ/rbq_sdk/cpp/example
bash scripts/setup.bash
bash scripts/build.bash

Run ​

bash
./bin/rbq_high_level [networkInterface] [joystickPath]

# Simulator / on-robot stack — interface defaults to lo
./bin/rbq_high_level

# Real robot — pass the interface that reaches it
./bin/rbq_high_level eth0

A joystick is required. The program auto-detects /dev/input/js* (prefers Logitech/Xbox by name).
Override with an explicit path: ./bin/rbq_high_level eth0 /dev/input/js1

Terminal usage ​

list              ← print the example's built-in list
standing          ← switch by name
3                 ← switch by ID (trotting)
waving            ← switch to wave gait

Supported gaits ​

NameIDNotes
sitting0Sit down
standing1Default at startup
trotting3MPC trot
trot_stairs4Stair-climbing trot
waving5Wave gait
docking10Auto-docking sequence

The example's built-in list also prints internal gaits that are not supported. Use only the gaits in the table above.

After commanding docking (10), monitor the sequence via the docking_state field of RobotStatus — it reports each stage and, on abort, the failure reason. See the docking-state table.

Joystick velocity ​

AxisCommandMax
L stick forward/backvel_x±1.2 m/s
L stick left/rightvel_y±0.5 m/s
R stick left/rightomega_z±60 deg/s

omega_z is in deg/s — QuadWalk converts to rad/s internally.

Important ​

The program sends switchControlMode = true at startup.
Without this, the robot ignores HighLevelCommand and stays in joystick mode.

→ Full reference: High Level Command

This user manual is intended for RBQ users.