Skip to main content

General Robot Development Protocol

boosteros.base.Robot is the abstract base class for robot clients. Its purpose is to provide a unified interface abstraction, making it convenient to use Robot as a type annotation for function or method parameters when writing cross-model generic code. For example, a generic function can declare that it accepts a Robot, and at runtime receive a BoosterRobot or any other concrete implementation that inherits from Robot.

Robot is an abstract class; it cannot be instantiated directly and does not handle connecting to any specific robot. The API table below provides a quick overview of the capability categories, return types, and purposes of the public methods. For the exact call signatures, parameters, exceptions, and implementation behavior, refer to the API documentation for the corresponding robot implementation (e.g., BoosterRobot in Chapter 2).

General API quick-reference table:

Capability Category

API Name

Return Type

Description

Information Retrieval

robot_info

RobotInfo

Get robot name, model, serial number, firmware version and other basic metadata.

Information Retrieval

list_frames

list[str]

Get the names of currently queryable coordinate frames.

Information Retrieval

list_joints

list[JointInfo]

Get available joint information for the current robot.

Information Retrieval

list_actions

list[ActionInfo]

Get the list of predefined actions supported by the current robot.

Sensor Data

get_image

AnyImage

Read a single camera image snapshot.

Sensor Data

get_camera_info

CameraInfo

Read camera intrinsics and calibration information.

Sensor Data

get_imu

IMUState

Read a single IMU data snapshot.

Sensor Data

get_odom

OdomState

Read a single odometry data snapshot.

Sensor Data

get_joint_states

JointStates

Read all current joint states.

Sensor Data

get_battery

BatteryState

Read current battery state.

Sensor Data Subscription

subscribe_image

SensorSubscription

Subscribe to camera image updates.

Sensor Data Subscription

subscribe_imu

SensorSubscription

Subscribe to IMU data updates.

Sensor Data Subscription

subscribe_odom

SensorSubscription

Subscribe to odometry data updates.

Sensor Data Subscription

subscribe_battery

SensorSubscription

Subscribe to battery state updates.

Coordinate Transform

get_transform

Transform

Query the latest transform between two coordinate frames.

Basic Control

set_velocity

None

Set the robot's planar motion velocity in the robot coordinate frame.

Basic Control

set_joints

None

Send joint control commands in batch.

Basic Control

reset_odom

None

Reset the robot odometry to the specified pose, and the default reset target is the zero pose.

Advanced Task

get_active_tasks

list[TaskHandle[None]]

Get currently active TaskHandles, filterable by task information.

Advanced Task

do_action

TaskHandle[None]

Execute predefined action asynchronously and return TaskHandle.

Advanced Task

execute_trajectory

TaskHandle[None]

Execute trajectory object asynchronously and return TaskHandle.

Advanced Task

play_sound

TaskHandle[None]

Play audio resource or file asynchronously and return TaskHandle.