Skip to content

Async motion·

a background motion queue that streams /control frames without blocking the agent — fluid movement while it keeps thinkingtools/rover_async.py, 1 tool.

From the module docstring

⚡ rover_async — non-blocking motion queue for FLUID movement.

tool does
rover_async ⚡ Non-blocking motion queue — keep moving while you think.

rover_async·

rover_async(
    action: str = 'status',
    steps: Optional[List[Dict[str, Any]]] = None,
    priority: str = 'normal',
) -> Dict[str, Any]

⚡ Non-blocking motion queue — keep moving while you think.

Unlike rover_move (which blocks until the drive finishes), this enqueues motion segments to a background worker and returns INSTANTLY. The rover keeps driving fluidly across your turns while you look, reason, and queue the next leg. Pose is updated automatically as segments execute.

argument meaning
action "queue" | "status" | "stop" | "start".
steps list of segment dicts (for action='queue').
priority "urgent" (0), "normal" (5), or "interrupt" (clears queue then queues these next). For action='queue'.

Actions

queue   → add segments to the motion queue (non-blocking). Provide
          `steps`: [{linear, angular, duration, label}, ...].
status  → what's queued / currently executing.
stop    → CLEAR the queue and halt immediately (kill switch).
start   → ensure the background worker is running.

Returns

Dict with status, summary, and queue JSON.

source: tools/rover_async.py:192