Robot-learning papers, tested on a $300 arm.

We read recent papers on world models, VLA policies and failure detection down to their protocols, translate each claim to a SO-101 arm with two webcams and a Jetson Orin NX, and test it against the cheapest baseline that could explain it. Bars are written before the run. Failures are published like successes.

Real rollouts on our SO-101: a policy success (left) and a failure (right), from the open rollout dataset.

Read the results Paper vs hardware series

How a paper gets tested

  1. Read the protocol, not the abstract.

    Main table, setup, the baselines that were run and the ones that were not.

  2. Translate the claim.

    Same question, our arm, our sensors, our sample size, with the expected discount stated.

  3. Baseline first, bar before the run.

    The cheapest explanation (commanded joints, episode length, copy-last, a random-init model) is measured first; the pass mark is committed before any result exists.

  4. Publish the verdict.

    Pass, fail or not proven, with the number, its n, the controls, the code, the data and the checkpoint.

Results

  • A JEPA world model (LeWorldModel) learns the arm's dynamics.

    Paper: LeWorldModel (arXiv 2603.19312)

    Open-loop error 0.31 against 0.89 for copying the last frame (30 steps).

    Write-up

  • …but does not plan better than the commanded joints.

    Paper: LeWorldModel (arXiv 2603.19312)

    Ranking action chunks: 0.60 for the world model against 0.68–0.90 for an action-only baseline. On a position-controlled arm, the commands already predict where the arm will be.

    Write-up

  • A published failure monitor (ContactGuard) did not transfer.

    Paper: ContactGuard (arXiv 2608.13438)

    Event-anchored probe on imagined latents: 0.70 AUROC against 0.82 for the current latent; the paper's claim reversed on our data.

    Write-up

  • A failure-risk head (ReAP) that looked strong was a shortcut.

    Paper: ReAP (arXiv 2610.16309)

    With shuffled-action and common-horizon controls added, 0.789 against 0.708 for the shuffled control: fail. The first version's 0.93 came from elapsed time and episode length.

    Write-up

  • Episode length beat a 4-billion-parameter reward model (Robometer)

    Paper: Robometer (arXiv 2603.02115)

    as a failure judge on our rollouts; a deterministic judge at rest replaced both, with zero false positives on 25 failures.

    Write-up

  • Our own claim on TurboVLA, withdrawn.

    Paper: TurboVLA (arXiv 2607.27205)

    We concluded a VLA ignored its instruction because of its architecture. Rerunning the authors' code on our data (about $3 of GPU) showed the same: task swap moved actions 0.020° against a 0.105° control. The cause is the data, not the port.

    Write-up

  • Inference on the robot (SmolVLA).

    Paper: SmolVLA (arXiv 2506.01844)

    SmolVLA from 974 ms to 238 ms per action chunk on a Jetson Orin NX with vla.cpp; a prefix overwrite at chunk boundaries cut the boundary jump by 72 % at 0.4 ms.

    Write-up

Full register of tests, bars and verdicts: ravediamond.github.io/papers

The rig

A SO-101 arm (position-controlled hobby servos, no force sensing), a top camera and a wrist camera, a Jetson Orin NX 16 GB for inference on the robot, rented GPUs for training (a few dollars per run). It cannot test force, two arms or scale, and every write-up says so.

Everything is open

Who

Shisso Robotics is run by Ravindu Somawansa — staff AI engineer (10+ years in data and ML, agentic systems and evaluation), LeRobot reviewer and vla.cpp contributor, based in Paris.

Have a paper you want tested on low-cost hardware?

Send it, or a claim you would like checked on a real arm. Researchers, labs and teams building on these methods are welcome. You can also email contact@shissorobotics.com.