Open the robot. The telemetry runs with it.
The demo is the same simulation used in this study, running in the browser. The robot powers up, stands, walks, stalks a prey and strikes. Around it, panels show pressure, force at the claw tips, load on each leg, the gait seen from above and strike speed, all computed from the pose in every frame.
The TUBE · ao vivo (live) strip does the job of a ground station. Every second, the 79 channels become TUBE blocks, are decoded back and checked: the maximum error divided by the tolerance never exceeds 1.00. Stability is recomputed only from what was decoded, and shows as certified, uncertain or out of support.
Live, each second is an independent block, so a lost packet costs only that second. That costs compression: 8 to 9 times live, against 31 times on the whole file. The demo's labels are in Portuguese.

79 channels, 610 bytes per second.
We recorded three full cycles of the simulation (66 s, 3,960 samples per channel) and declared a tolerance for each channel, in engineering units: joint angle within ±0.05°, foot position within ±1 mm, pressure within ±0.5 bar. The tolerance is the promise: no returned reading strays further than that.
Stored as 4-byte numbers, the 79 channels take 19.0 kB per second. gzip brings that to 9.0 kB/s. TUBE brings it to 610 B/s, 31 times less than raw and 14.7 times less than gzip, with the worst error at exactly 1.00 of the tolerance. With access to any second without decompressing the rest, the cost rises to 1,442 B/s (13×).
Feet in world coordinates compress 107 times because a planted foot does not move: the channel is a staircase, and a flat step costs almost nothing. The joints, which move all the time, compress 21 times.
| group | channels | tolerance | raw | TUBE v4 | ratio |
|---|---|---|---|---|---|
| Leg joints | 12 | ±0.05° | 185.6 KB | 8.9 KB | 21× |
| Leg rams | 8 | ±0.5 mm | 123.8 KB | 5.7 KB | 22× |
| Feet in the world | 12 | ±1 mm | 185.6 KB | 1.7 KB | 107× |
| Feet relative to hip | 12 | ±1 mm | 185.6 KB | 7.6 KB | 24× |
| Load and contact | 8 | ±0.05 kN · contact exact | 123.8 KB | 2.3 KB | 54× |
| Claw joints | 6 | ±0.05° | 92.8 KB | 2.1 KB | 45× |
| Claw tips | 6 | ±2 mm | 92.8 KB | 3.9 KB | 24× |
| Claw force and speed | 4 | ±0.1 kN · ±0.05 m/s | 61.9 KB | 2.1 KB | 30× |
| Body and centre of mass | 6 | ±1 mm | 92.8 KB | 3.1 KB | 30× |
| Body and head | 4 | ±0.05° | 61.9 KB | 1.6 KB | 39× |
| Hydraulics | 1 | ±0.5 bar | 15.5 KB | 0.2 KB | 66× |
| Total | 79 | 1,222.0 KB | 39.3 KB | 31× |
The robot left its support. The compressed telemetry saw it.
A four-legged robot standing still does not fall while its centre of mass stays inside the polygon formed by the feet on the ground. The distance to the edge is the stability margin. When a leg lifts, the polygon becomes a triangle, and the body has to shift to the right side first.
In the first version, that sway shrank along with the speed. At the end of each walk, a leg was still in the air when the sway had already gone, and the centre of mass left the support by up to 7.6 cm: 26 frames over three cycles, about 0.15 s per cycle. Visually, nothing stood out.
We recomputed the margin from the compressed telemetry alone. Its error has a known bound: at most 2√2 times the tolerance of the feet and centre of mass. Outside that bound the verdict is certified; inside it, it is uncertain, and the system says it does not know.
| tolerance on feet and centre of mass | cost | v1: frames out, certified | v1: uncertain | v1: wrong verdicts | fixed: uncertain |
|---|---|---|---|---|---|
| 1 mm | 33 B/s | 26 of 26 | 1 | 0 | 0 |
| 1 cm | 20 B/s | 19 of 26 | 12 | 0 | 0 |
| 5 cm | 12 B/s | 0 of 26 | 64 | 0 | 0 |
| 10 cm | 9 B/s | 0 of 26 | 208 | 0 | 95 |
At 1 mm tolerance, 33 bytes per second are enough to certify all 26 frames out of support. At 5 cm, the trip drops off the radar, but those frames become uncertain, not stable: compression does not hide the problem, it says it cannot decide. At no tolerance did the verdict land on the wrong side.
The fix: the sway starts before the first step and only ends after the last leg lands. The minimum margin went from −7.6 cm to +24.1 cm, and up to 5 cm of tolerance no uncertain frame remains.
Send the angles. The feet come with a guarantee.
The position of each foot and the length of each ram are functions of the leg's three angles. Whoever receives the angles can compute the rest. The question is whether the guarantee survives the arithmetic.
It does, if the angle is tighter. The foot's lever arm, in the worst case, adds up to 6.46 m; to guarantee 1 mm at the foot, the angle needs ±0.0089°. With that, the rams are guaranteed to 0.10 mm.
Sending 12 tight angles costs 35% less than sending 32 channels (angles, feet and rams). The worst error measured on the derived feet was 0.46 mm, inside the guaranteed 1 mm. The guarantee is worst-case, so there is room to spare.
Walking costs 3.2 times standing still.
When the robot is still, almost every channel repeats its previous value, and the compressor has nothing to send. When it walks, every joint and ram changes every frame.
Measured in 1 s windows: off costs 479 B/s, walking 1,511 B/s. The strike is fast (the claw tip reaches 28 m/s), but lasts tenths of a second and costs less than walking.
To size the radio link, budget for the most expensive phase, not the average.
How far each returned reading may stray from the original. Declared per channel, in engineering units, and checked on every reading.
The distance from the centre of mass to the edge of the polygon of feet on the ground. Negative means out of support.
A verdict that stays right even at the worst error compression allows.
When the worst allowed error could flip the verdict. The system says it does not know, instead of guessing.
Where this could be wrong.
It is a simulation
The telemetry has no sensor noise. A real robot compresses less: in TUBE, the IMU of a real ROS2 robot gets 21 times smaller, and the ALOHA arm 37 times. The 31× here is the ceiling, not the promise.
Stability is static
The margin uses the centre of mass projected on the ground, without acceleration. During the strike the robot is dynamic, and the right calculation would be a different one (the zero moment point).
The derived guarantee is worst-case
The lever arm adds every joint in the worst alignment. The error measured at the feet was under half of what was guaranteed; a finer calculation would spend fewer bytes.
Live compresses less
1 s blocks start from scratch every second. That is the price of losing no more than a second when a packet goes missing.
Does this apply to your case?
Tell us in two lines what you need to decide or measure. The first conversation is to see whether measurement solves your case, and if it does not, we say so.
← Certified telemetry · stickybit.com.br
- Simulation: Mantis HX-4, Three.js with procedural geometry, deterministic noise (seed 29). No imported 3D model.
- Telemetry: 3 cycles of 22 s at 60 Hz, 3,960 samples per channel, 79 channels. The demo generates the same series, frame by frame.
- Codec: TUBE v4 in JavaScript (codec4.js), byte-identical to Go. Every channel was decoded and checked against its tolerance.
- Analysis and results: analise.js, resultados.json (fixed) and resultados-v1.json (before the fix).