Skip to content

Architecture

Rover Nexus links your robot software to the cloud through an on-robot agent and two message hops.

The three layers

  ┌────────────────────┐   local Zenoh    ┌──────────────┐   mTLS (Zenoh    ┌───────────────┐
  │  Robot software    │  Cap'n Proto     │  rover-agent │   + Cap'n Proto) │  Rover Nexus  │
  │  (ROS 2 or native) │ <──────────────> │  (on robot)  │ <──────────────> │     cloud     │
  └────────────────────┘                  └──────────────┘                  └───────────────┘
  1. Robot software — your controller (ROS 2 or native). It exchanges messages with the agent over a local Zenoh bus using Cap'n Proto serialization.
  2. rover-agent — runs on the robot's Linux host. It ingests local messages, maintains robot state, and relays to/from the cloud. It also serves local request/reply queries (features, spatial directives, settings).
  3. Rover Nexus cloud — the fleet backend. The agent connects to it over mTLS (also Zenoh + Cap'n Proto).

Message flow

  • Uplink (robot → cloud): robot software publishes telemetry, faults/events, objects, and mission feedback to local Zenoh. The agent serializes and relays them to the cloud (rate-limited per message type).
  • Downlink (cloud → robot): the cloud sends mission commands, teleop, mode/velocity commands, settings, and spatial directives. The agent receives them, persists assets it needs (missions, features, objects, settings), and republishes commands on local Zenoh for the robot software (or the ROS 2 bridge) to act on.

Topic contract

At a glance, robot software publishes uplink messages to uplink/robot/{robot_id}/{message_type} and subscribes to downlink commands on robots/{robot_id}/commands. Local robot-software topics also include queryables (request/reply) such as feature and spatial-directive get-bulk lookups and settings queries.

See Zenoh for the full topic-contract table and the queryables list — it is the canonical reference for the local contract.

ROS 2 robots

ROS 2 robots do not change this picture. An external bridge translates ROS 2 (DDS) topics to and from the same local Zenoh Cap'n Proto topics the agent consumes — so the agent always uses one ingest path. See the ROS 2 Bridge.

Persistence and scheduling

The agent keeps a local store of assets it needs to operate offline and recover state — missions, features/routes, objects, and settings — and includes a one-shot mission scheduler that fires scheduled missions when due.

Next steps