SOUSResearch notesHome

World models

Learning the shape of a push

Every thirty minutes, we froze a PushT world model and tested it on the same 100 unseen starts. The strongest run reached 99%.

Note
02 / 02
Published
Updated
Reading
7 min read

Final system

Three successful pushes, before the explanation.

These are three of the highest-overlap held-out runs. They make the result tangible; the fixed 100-start evaluation below supplies the measurement.

0199.0% overlap170 steps · final frozen system
0298.7% overlap119 steps · final frozen system
0398.7% overlap123 steps · final frozen system

The game

Contact is the curriculum.

PushT looks almost trivial: use a circular pusher to move a T-shaped block into a matching target. The difficulty is hidden in contact. A push that translates the block from one angle can rotate it away from the goal from another. A plan that is geometrically short can be dynamically impossible.

The controller therefore cannot succeed by drawing a path and hoping the object follows it. It has to learn what a push does: when contact begins, how motion transfers through an off-center collision, when rotation dominates translation, and when the current plan should be abandoned.

The closed loop

A model earns trust one short future at a time.

Prediction matters only when it changes the next action—and when reality gets the final word.

  1. 01Observe

    Read the current contact state.

  2. 02Simulate

    Run a few candidate pushes.

  3. 03Choose

    Commit to a short action prefix.

  4. 04Act

    Push briefly, then look again.

Predicted transitionobserved transitionrevise the model

The main result

The same 100 held-out starts moved from 68% to 99%.

The strongest run rose from 68% at the first frozen checkpoint to 100% after 90 minutes, then closed at 99%. This is not a single lucky trajectory: every point is the success rate over the same 100 unseen initial states.

We also changed what the system could observe. Supplying motion directly produced the fastest rise; inferring it from state history improved more gradually; starting from images was less stable. The plot reports every scheduled snapshot, including regressions and plateaus.

Held-out evaluation

Learning is fast, uneven, and visible.

Hover a line—or focus its label—to reveal all six checkpoint values for that run.

100 fixed starts
Held-out success rate by checkpoint
Observation condition30 minutes60 minutes90 minutes120 minutes150 minutes180 minutes
State + true motion68%73%100%99%99%99%
State + inferred motion60%85%86%97%97%97%
Images + inferred motion75%92%88%92%82%84%
Diffusion Policy CNN91%91%91%91%91%91%
UniPi42%42%42%42%42%42%
LeRobot Diffusion Policy65.4%65.4%65.4%65.4%65.4%65.4%
OpenVLA35%35%35%35%35%35%
What changed between runs

The task stayed fixed. One run received state plus simulator motion; one received state and inferred motion from a short history; one began from images and reconstructed state and motion before planning. These are end-to-end system routes, not a controlled component ablation.

Published PushT scores: DP-C 91%, LeRobot DP 65.4%, UniPi 42%, and OpenVLA 35%. The first frozen systems were evaluated at 30 minutes.

One start in detail

One game makes the aggregate change legible.

The curve says the improvement generalizes. A single held-out start shows how the behavior changes. We replayed one held-out start with all six frozen versions of the same system.

It remains stuck at 30 and 60 minutes, with only 50.6% and 54.7% overlap. At 90 minutes it crosses the episode threshold for the first time; the finishing contact continues to change through 120 and 150 minutes, reaching 98.2%. The final two checkpoints match, so the plateau remains visible rather than edited out.

0150.6% overlap · 95 stepsAn early contact moves the block, but never finds a useful alignment.
0254.7% overlap · 143 stepsThe attempt lasts longer, yet remains far from a complete solution.
0395.0% overlap · 131 stepsThe first frozen system that completes this held-out start.
0495.5% overlap · 145 stepsA different finishing contact produces a slightly stronger alignment.
0598.2% overlap · 184 stepsA later strategy pushes deeper into the target before stopping.
0698.2% overlap · 184 stepsThe final checkpoint preserves the same high-overlap solution.

Same held-out start and evaluation contract. Each recording autoplays in view, loops, and can be paused independently.

Model and planner

Learning the dynamics made planning worth doing.

The world model and the planner do different jobs. The model answers a local question: given this state and this push, what state should follow? The planner composes those answers to search for a useful sequence. If the model predicts the wrong contact, a more expensive search only finds a more confidently wrong plan.

The controller continually re-anchors itself to the real observation. It plans through the executable model, acts for a short horizon, compares the predicted transition with the observed one, and replans when the difference becomes meaningful. An approximate model can therefore be operationally strong: it only has to be trusted long enough to choose the next useful action.

The six clips expose that division. Later checkpoints do not simply “try harder.” They support different contact choices, different corrections, and eventually a more complete final alignment from the same initial state.

Public references

The final system reached 99%.

The bar chart places that result alongside four published PushT scores. Against the public LeRobot Diffusion Policy checkpoint specifically, the difference is 33.6 percentage points.

Reported success rate

Published PushT scores, side by side.

99% final
Sous · final frozen system
99.0%
DP-C
91.0%
LeRobot · Diffusion Policy
65.4%
UniPi
42.0%
OpenVLA
35.0%

Sources: the published PushT comparison table and the public LeRobot model card.

A useful world model does not need to predict forever. It needs to know when reality has made it obsolete.

What remains

The next problem is a wider world, learned faster.

PushT has unusually clear boundaries: one object, one target shape, a clean 2D plane, a fixed action space, and a short horizon. That makes it a useful test of contact learning, but not yet a test of whether the same system can keep learning across changing objects, goals, sensors, and dynamics.

Expanding the task means adding unfamiliar geometries, noisy or partial observations, moving goals, and sequences of tasks where old knowledge should help without becoming a brittle prior. The system should reuse what transfers and revise what does not, rather than relearning every world from zero.

Speed matters just as much. The three-hour trace is promising, but the loop should become more selective about which evidence to collect, reuse learned contact primitives, evaluate revisions in parallel, and reach a trustworthy model with far fewer real interactions. The goal is not a larger PushT score. It is a shorter path from surprise to a model that can act.