Initialization
BoosterRobot is the development entry point for physical Booster robots and virtual robot simulation environments, providing all APIs for connecting to robots, reading sensor data, and sending control commands.
Signature:
BoosterRobot(
network_interface: str = "",
virtual_robot_name: str = "",
*,
timeout: float = 5.0,
callback_workers: int = 4,
enable_tf_listener: bool = True,
**kwargs: Any,
) -> BoosterRobot
Description:
Create and initialize a Booster robot client.
Only one BoosterRobot instance should be created and reused for the same robot. Each instance independently establishes a ROS node, data subscriptions, and underlying control publishing channels; creating duplicates not only wastes resources, but multiple control publishers coexisting may also cause command conflicts.
Parameters:
Parameter | Type | Default | Description |
|---|---|---|---|
|
|
| Reserved parameter, currently fixed to use the default value |
|
|
| Virtual robot name, only needs to be filled in multi-virtual robot mode. |
|
|
| Timeout for initialization, service discovery, and data readiness waiting (seconds). |
|
|
| Number of worker threads for sensor callbacks, must be >= 1. For high-frequency subscription scenarios (such as subscribing to multiple sensors simultaneously), this can be increased appropriately. |
|
|
| Whether to start TF listener. If disabled, |
| — | — | Advanced low-level options, passed via keyword arguments, generally no need to set. Supports the following keys: |
Returns:
BoosterRobot
The initialized robot client instance.
Raises:
ValueError: callback_workers is less than 1.
LocoClientInitError: Robot motion control service was not discovered within the specified timeout.
Example:
from boosteros.robots.booster import BoosterRobot
robot = BoosterRobot()
robot_info = robot.robot_info
print(robot_info)
# Example output: RobotInfo(manufacturer='Booster Robotics', model='Booster K1', name='vr1', serial_number='rivt9', ...)