Skip to content

Telemetry

Telemetry is the live operational data a robot reports: its position, heading, mission progress, and health.

What it represents

Each robot continuously reports telemetry while it operates. Over REST you read the latest known values as point-in-time snapshots. For a continuous, high-frequency stream, use the real-time channel described under Real-time streaming rather than polling these endpoints.

Authentication

Latest-position and robot-detail reads require robots:read. Live mission and operation status also requires operations:read. See Authentication.

Last-known position and health

The latest stored snapshot is on the robot object:

GET /v1/robots?fleet_id={fleet_id}
GET /v1/robots/{robot_id}

Each robot includes pose, velocity, GPS fix, mode, e-stop, battery, and related fields, plus nested motionTelemetry and statusTelemetry objects when a report is present. Those nested objects are null when the robot has not reported yet.

For a fleet-wide spatial snapshot, use Agent API get-map-context:

{
  "org_id": "org-uuid",
  "fleet_id": "fleet-uuid",
  "include": ["robots"]
}

Robot entries include robot_id, name, latitude, longitude, and elevation_m. Fields are null when no position has been reported. An optional bbox is accepted but is not applied yet; the response covers the whole fleet.

Usage totals and latest per-device health are on GET /v1/robots/{robot_id}/details. See Robots.

Current mission state

Use Agent API get-runtime-status with robot_id for the live mission view:

{
  "org_id": "org-uuid",
  "fleet_id": "fleet-uuid",
  "robot_id": "robot-uuid"
}

The robot object includes online, available, assignment refs, and live run fields such as mission_state, mission_progress_pct, current_step_index, remaining distance, and estimated time remaining. Fields are null when the robot is not currently running a mission.

get-entity with kind: "robot" returns the same assignment refs together with capability descriptors and current settings. Finished runs are under Missions.

Real-time streaming

The REST endpoints above return point-in-time snapshots. For continuous, live telemetry, Rover Nexus delivers updates over a real-time streaming channel instead of REST polling. To stream live telemetry today, use the Zenoh messaging surface, rover_ros2_bridge (ROS 2 Bridge), or rovernexus-cu-components (Copper Bridge).