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 the actions it uses.
controlMissionRun Pause, resume, or cancel a specific mission run. cancel also removes it (including a scheduled one).
setRobotMode Set the operating mode (auto/teleop/manual/disabled/maintenance).
velocityCmd Direct velocity command.
pause / resume Halt or resume operation and the current mission.
invokeAction Invoke an advertised action (e.g. Mow).

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

There is no navigateTo command. To send a robot to a location outside a mission, push a Feature with layerRole = target. Inside a mission, put the route or target in the mission's feature.

assignMission fields

Known fields:

Field Notes
missionRunId Identifier for this run, assigned by the server. Echo it in feedback.
name Mission name.
scheduledStartMs Epoch-ms start time. If in the future, the agent schedules it; if past, it runs immediately.
missionParameters Mission-specific parameters (settings applied at the start).
actions Actions 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 MissionAction timing, the mission-parameters structure, and the embedded spatial feature, see Command Messages → assignMission. Every command variant is defined in the Command Messages reference.

One id per run. Missions are keyed by a single missionRunId. The former missionId / runId pair is gone, as are userId, detail, and expectedEndTimeMs.

Scheduling behavior

  • A mission with a future scheduledStartMs is scheduled by the agent and fired when due, carrying the same missionRunId.
  • 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.