execute_trajectory
Signature:
BoosterRobot.execute_trajectory(
trajectory: TrajectoryData,
*,
on_done: Callable[[TaskHandle[None]], None] | None = None,
on_status_change: Callable[[TaskHandle[None]], None] | None = None,
) -> TaskHandle[None]
Description:
Asynchronously replays a TrajectoryData hand-guiding trajectory.
Parameters:
Parameter | Type | Default | Description |
|---|---|---|---|
|
| Required | The trajectory object to replay. |
|
|
| Callback invoked when the task enters a terminal state. |
|
|
| Callback invoked when the task status changes. |
Returns:
TaskHandle[None], see "Tasks and Subscriptions / TaskHandle"
Raises:
TypeError: trajectory is not a TrajectoryData object.
RuntimeError: The current robot model (T2) does not currently support hand-guidingănot currently in "walk" mode, hand-guiding mode is active, recording is in progress, a replay task is already running, robot is busy, or trajectory model validation failed.
Example:
from boosteros.robots.booster import BoosterRobot
from boosteros.types import TrajectoryData
import time
robot = BoosterRobot()
robot.set_mode("walk")
# Replace with actual trajectory file path
trajectory = TrajectoryData.load("/data/demo.btraj")
handle = robot.execute_trajectory(trajectory)
time.sleep(10)
handle.cancel()
status = handle.wait(timeout=60.0)
print(status)
# Example output: 'CANCELLED'