Skip to main content

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

trajectory

TrajectoryData

Required

The trajectory object to replay.

on_done

Callable[[TaskHandle[None]], None] | None

None

Callback invoked when the task enters a terminal state.

on_status_change

Callable[[TaskHandle[None]], None] | None

None

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'