Skip to content

Mission Commands

Mission commands tell a robot what operation to run.

  • Direction: Downlink (cloud → robot)
  • Topic: the command key on the local Zenoh session (or command/** with per-type subtopics)
  • Encoding: Cap'n Proto over Zenoh

The agent receives commands, persists the ones it needs (missions, features, objects, settings), and republishes them on local Zenoh for your robot software (or the ROS 2 bridge) to act on. Scheduled missions are held by the agent and fired when due.

Command types

Command Purpose
assignMission Run a mission/operation. May reference a feature (e.g. a route or zone) and required capabilities.
controlMissionRun Pause, resume, cancel, or abort a specific mission run. cancel/abort also remove it (including a scheduled one).
setRobotMode Set the operating mode (auto/teleop/manual/disabled/maintenance).
navigateTo Navigate to a target pose.
velocityCmd Direct velocity command.
pause / resume Halt or resume operation and the current mission.
invokeService Invoke an advertised capability (e.g. Mow).

Teleop is covered separately in Teleoperation; field rules and features in Field Rules.

assignMission fields

Known fields:

Field Notes
missionId Mission identifier.
runId Identifier for a specific run/execution.
name Mission name.
userId Who requested the mission.
detail Mission detail/description.
scheduledStartMs Epoch-ms start time. If in the future, the agent schedules it; if past, it runs immediately.
expectedEndTimeMs Epoch-ms expected completion.
missionParameters Mission-specific parameters (settings applied at the start).
capabilities Capabilities to fire or enable during the mission, with timing.
feature Optional associated Feature: a path, waypoints, or coverage area.

For the complete MissionCommand schema, including MissionCapability timing, the mission-parameters structure, and the embedded spatial feature, see Command Messages → assignMission. Every command variant is defined in the Command Messages reference.

Scheduling behavior

  • A mission with a future scheduledStartMs is scheduled by the agent and fired when due, with a fresh runId.
  • A mission with a past start time is forwarded immediately.
  • Missions fired too far past their start time may be skipped.

Feedback

Report progress and run status back to the cloud via Mission Feedback.