Skip to content

Connectivity

This page describes, at a high level, how robots connect to Rover Nexus and how the web application receives live updates and video.

How robots connect

Robots always initiate the connection outbound to the cloud — the cloud never reaches into a robot's network. This keeps robots deployable behind ordinary firewalls and NAT without inbound ports.

  • Mutual TLS (mTLS) — both the robot and the cloud authenticate each other, so each side knows it is talking to a trusted peer. Each robot is enrolled with its own device identity before it can connect.
  • Zenoh transport — robot-to-cloud messaging runs over Zenoh, which carries commands going down to the robot and telemetry coming back up.
  • Cap'n Proto serialization — messages on this channel are encoded with Cap'n Proto, a compact binary format.
  Robot agent ──(outbound mTLS / Zenoh + Cap'n Proto)──► Fleet Manager (cloud)
       ▲                                                          │
       └──────────────── commands / missions ◄───────────────────┘
       └──────────────── telemetry / status ─────────────────────►

ROS 2 robots

ROS 2 robots connect through an external bridge that translates between ROS 2 and the same secure messaging path described above. From the cloud's perspective, a bridged ROS 2 robot behaves like any other connected robot.

Live updates in the web app

The web application talks to the cloud services and subscribes to a real-time channel for live telemetry and status. As robots report data, updates are pushed to the operator's view without polling, so positions, battery, mode, and mission progress stay current. See Telemetry for how telemetry is also read over REST.

Video and teleoperation

Live video and remote control (teleoperation) use WebRTC for low-latency streaming between the robot and the operator. Sessions are set up using short-lived signaling tokens, so the credential used to establish a video or teleop session is brief-lived rather than long-standing.