Skip to content

High Level Command — Quick Start (ROS2)

Source: rbq_sdk/ros2/src/rbq_examples/src/rbq_high_level.cpp

Publishes HighLevelCommand at 50 Hz over ROS 2.
Select gaits from the terminal; control velocity with a joystick.

Build

bash
cd RBQ/rbq_sdk/ros2
rosdep install --from-paths src -y --ignore-src
colcon build --symlink-install
source install/setup.bash

Run

bash
ros2 run rbq_examples rbq_high_level [joystickPath]
# e.g.
ros2 run rbq_examples rbq_high_level
ros2 run rbq_examples rbq_high_level /dev/input/js1

Default joystick path is /dev/input/js0.

Terminal usage

list              ← print all gaits
stand             ← switch by name
3                 ← switch by ID (walk)
rl_trot           ← switch to RL trot

All gaits

NameIDNotes
sit0Sit down
stand1Default standing
aim2Aiming posture
walk3MPC trot gait
stairs4Stair-adaptive gait
wave5Slow walk gait
run6High-speed gait
rl_trot30RL trot
rl_front_walk31RL forward walk
rl_left_walk33RL lateral left
rl_right_walk34RL lateral right
rl_bound35RL bound
rl_pace36RL pace
rl_pronk37RL pronk
rl_3leg_hr38RL 3-leg (hind right)
rl_3leg_hl39RL 3-leg (hind left)
rl_3leg_fr40RL 3-leg (front right)
rl_3leg_fl41RL 3-leg (front left)
rl_trot_vision42RL trot with vision
rl_trot_run45RL fast run
rl_silent46RL silent
rl_stairs47RL stair climbing
rl_walk_vision48RL walk w/ terrain height feedback (height/pitch adjustable)
rl_walk49RL walk (height/pitch adjustable)

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

Deadzone: 0.12. omega_z is in deg/s.

Important

At startup, switchControlMode = true is sent once to enable HighLevel mode.
Without this, the robot ignores HighLevelCommand and stays in joystick mode.

Full reference: High Level Command (ROS2)

This user manual is intended for RBQ users.