Skip to content

Capabilities

A robot advertises the services it supports as capabilities. Rover Nexus matches missions and operations to robots by capability.

Why capabilities matter

In a heterogeneous fleet, robots are operated by what they can do, not by make or model. When the cloud needs to run an operation, it selects robots whose advertised capabilities satisfy the requirement.

Example: a robot that advertises a Mow service can be targeted by any mowing mission, regardless of vendor.

Declaring capabilities

Capabilities are declared in the robot configuration. Each capability describes a service the robot offers and may carry metadata.

Field Purpose
Service name The capability the robot advertises (e.g. Mow).
Required role Some capabilities declare a role required to invoke them.
Parameters / settings Optional metadata or settings associated with the service.

Detailed capability declaration schemas (field names, types, where they live in the config) and the list of standard service names are coming soon.

How matching works

  1. The robot advertises its capabilities to the cloud (via the agent).
  2. A mission or operation specifies the capabilities it requires.
  3. The cloud matches the operation to robots whose capabilities satisfy the requirement.
  4. The matched robot receives the operation as a mission command on the downlink.

Mission commands and spatial directives can also carry a capabilities field, used to scope which robots/services they apply to. See Mission Commands and Spatial Directives.

Roles

A capability may declare a required role governing who is allowed to invoke it. Detailed role definitions and how they are evaluated are coming soon.

Invoking a service

The cloud can invoke an advertised service on a robot (an "invoke service" command on the downlink). The robot software receives it via the command topic. Detailed invoke-service payload schemas are coming soon.