Action chunking
A little push
Move a goal and watch a tiny learned policy push a cube across a tabletop. Peek inside its four-action plan and choose when it replans.
4,936 parameters
Four actions / one plan
Run the experiment
Choose a checkpoint and compute backend. Inference stays on your device.
Weights verified with SHA-256 before use
HELD-OUT WORLDS / HORIZON 2
100% trained success
128 unseen seeded worlds · 0% untrained
MEAN FINAL DISTANCE
0.034 table units
Success below 0.045 · measured in Python
THE SMALL PRINT
These are synthetic evaluation results, not a promise for every goal or real-world robot. Try the untrained checkpoint to see the difference.
Borrowing an idea, not a robot.
LeRobot ACT predicts action chunks and consumes a configurable prefix from a queue. This original teaching demo borrows that idea: a 3 → 64 → 64 → 8 ReLU MLP learns four planar moves from synthetic expert rollouts using tinygrad autograd and Adam. It is not ACT, PushT, a transformer, or a pretrained LeRobot policy.
Training & export source ↗A deliberately simple tabletop.
The square uses a circular contact proxy. No rotation, friction, mass, camera perception, or real robot data. The goal-aligned observation is mirrored for symmetry; output deltas are transformed back into table coordinates. A plan is frozen until its chosen horizon ends. Reset, goal, horizon, and checkpoint changes clear it.
WebGPU is the default; JavaScript CPU is opt-in and reads the same checked weights. Both verify Python parity before playback. No server inference. Software WebGPU validates shaders, not physical GPU performance.