Async motion·
a background motion queue that streams /control frames without blocking the agent — fluid movement while it keeps thinking — tools/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