Globex Robotics

Telemetry

Stream battery, pose, and mission events in real time.

Every robot publishes a telemetry stream — one message per second while idle, ten per second while a mission is active.

Subscribe to a robot

telemetry.ts
import { Globex } from "@globex/sdk"

const globex = new Globex({ token: process.env.GLOBEX_FLEET_TOKEN })

for await (const frame of globex.telemetry.stream("rbt_7741b")) {
    console.log(frame.battery.percent, frame.pose)
}

The stream is an async iterable over server-sent events; the SDK reconnects with backoff and resumes from the last received frame automatically.

Frame reference

FieldTypeMeaning
battery.percentnumberRemaining charge, 0–100.
battery.chargingbooleanWhether the unit is docked and charging.
poseobject{ x, y, heading } in site coordinates.
missionobjectActive mission id, state, and progress.
faultsarrayOpen fault codes (empty when healthy).

Fleet-wide aggregation

Subscribe to a whole fleet instead of a single unit — frames arrive tagged with the robot id:

for await (const frame of globex.telemetry.fleet("warehouse-east")) {
    if (frame.battery.percent < 15) {
        await globex.missions.dispatch(frame.robotId, { kind: "dock" })
    }
}

Telemetry is fan-out only: consuming a stream never affects robot behavior, so dashboards and alerting can subscribe freely.

On this page