Skip to content

Motion·

raw drive primitives — move (linear/angular for a duration), stop, and the sync/async contract every persona relies ontools/rover_motion.py, 3 tools.

From the module docstring

🕹️ Earth Rover motion tools — drive, turn, stop, lamp.

tool does
rover_move Drive the rover with velocity control, then auto-stop.
rover_stop EMERGENCY STOP — immediately halt all rover motion.
rover_lamp Toggle the rover's headlamp.

rover_move·

rover_move(
    linear: float = 0.0,
    angular: float = 0.0,
    duration: float = 1.0,
    capture: str = 'front',
) -> Dict[str, Any]

Drive the rover with velocity control, then auto-stop.

Returns BEFORE and AFTER camera frames inline so the model can SEE the visual delta of the move (no follow-up rover_see needed).

argument meaning
linear Forward/backward speed, -1.0 (full reverse) to 1.0 (full forward).
angular Turn rate, -1.0 (full right) to 1.0 (full left).
duration Seconds to apply the command before auto-stop (0.1-10). Commands are re-sent every ~0.4s during the window because the rover's firmware expects a continuous command stream.
capture "front" (default), "both" (front+rear), or "off" (skip frames).

Returns

Dict with status, summary text, and before/after image blocks.

source: tools/rover_motion.py:71

rover_stop·

rover_stop() -> Dict[str, Any]

EMERGENCY STOP — immediately halt all rover motion.

Returns

Dict with status.

source: tools/rover_motion.py:144

rover_lamp·

rover_lamp(on: bool = True) -> Dict[str, Any]

Toggle the rover's headlamp.

argument meaning
on True to switch lamp on, False to switch off.

Returns

Dict with status.

source: tools/rover_motion.py:158