Stickybit.← TelemetryPortuguêsCase · robotics · measured simulation
Case · simulated robot · Mantis HX-4

A robot made only of code. The telemetry caught it tripping.

We built a hydraulic praying mantis in 3D from scratch, with no Blender and no imported model: 6 limbs, 34 actuators and 79 telemetry channels at 60 Hz. Compressed with TUBE, the telemetry gets 31 times smaller and no reading leaves its declared tolerance. Computed from that telemetry alone, the stability verdict found the 26 frames in which the robot was out of support, by up to 7.6 cm, and got the side wrong in none of them.

Measured in a deterministic simulation
Video · the prototype and its telemetry, in 49 s

Recorded frame by frame from the demo itself, with the gait already fixed. No audio; captions in Portuguese. Also in 16:9 (MP4).

Live demo

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.

The Mantis HX-4 demo: the robot in the centre, telemetry panels around it and the live TUBE strip showing 19.0 kB/s raw, 2.2 kB/s compressed, error over tolerance 1.00 and certified stability.
Shortcuts: Q/E and Space trigger the strike, S toggles slow motion, X explodes the parts, K shows the core in X-ray.
What it costs

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.

groupchannelstolerancerawTUBE v4ratio
Leg joints12±0.05°185.6 KB8.9 KB21×
Leg rams8±0.5 mm123.8 KB5.7 KB22×
Feet in the world12±1 mm185.6 KB1.7 KB107×
Feet relative to hip12±1 mm185.6 KB7.6 KB24×
Load and contact8±0.05 kN · contact exact123.8 KB2.3 KB54×
Claw joints6±0.05°92.8 KB2.1 KB45×
Claw tips6±2 mm92.8 KB3.9 KB24×
Claw force and speed4±0.1 kN · ±0.05 m/s61.9 KB2.1 KB30×
Body and centre of mass6±1 mm92.8 KB3.1 KB30×
Body and head4±0.05°61.9 KB1.6 KB39×
Hydraulics1±0.5 bar15.5 KB0.2 KB66×
Total791,222.0 KB39.3 KB31×
The trip

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.

-10010203040506010.0 s10.5 s11.0 s11.5 s12.0 smargin from centre of mass to edge of support (cm)fixedversion 1out of supportuncertain zone at 1 cm tolerance (±2.8 cm)time in the 22 s cycle · end of walk →
First cycle, between 9.7 s and 12.1 s. The margin jumps when a leg lifts or lands, because the support polygon changes all at once; the line breaks at those jumps, and stretches above 60 cm fall outside the frame.
tolerance on feet and centre of masscostv1: frames out, certifiedv1: uncertainv1: wrong verdictsfixed: uncertain
1 mm33 B/s26 of 26100
1 cm20 B/s19 of 261200
5 cm12 B/s0 of 266400
10 cm9 B/s0 of 26208095

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.

Derive instead of send

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.

angles + feet + rams · 32 channels22.3 KBangles only (±0.0089°) · 12 channels14.4 KBlegs, 66 s at 60 Hz · −35%
The kinematic model reproduces the recorded feet with an error of 1e-15 m: the measured difference comes from compression alone.
The bits follow the action

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.

bytes per second, TUBE v4, 1 s blocks (59 channels)05001,0001,500off479power-up706stand732walk1,511stalk866cock1,213hold1,044threat643retract873
Tolerance

How far each returned reading may stray from the original. Declared per channel, in engineering units, and checked on every reading.

Stability margin

The distance from the centre of mass to the edge of the polygon of feet on the ground. Negative means out of support.

Certified

A verdict that stays right even at the worst error compression allows.

Uncertain

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.

Talk to us

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.

Talk on WhatsApp algorithms@stickybit.com.br Stickybit · Porto Alegre, Brazil, since 2004

← Certified telemetry · stickybit.com.br

Sources