Humanoid Challenge

Overview

World action model: the current frame, 16 noised future frames, the action flow and the flow state become 7 latent frames for the Cosmos-Predict2 DiT, which predicts the next 1.6 s of video and flow; chunks are chained ABLATION: V2 ONLYFrame now256 × 448 RGB16 future frames1.6 s at 10 HzAction flow16 steps × 14 pointsFlow stateflow now: 14 pointsPromptpick up the mug andput it on the plateWan2.1 VAEencoderWan2.1 VAEencoder, + noiseNormalise, tile896 values × 32Normalise, tile56 values × 512T5 encoder512 × 10241 latent frame, clean4 latent frames, noised1 latent frame, noised1 latent frame:given or noisedCosmos-Predict2-2B DiT · LoRA rank 647 latent frames × 448 tokens each = 3136 tokens, 3D RoPE positions28 transformer blocks, 2048 wide, 16 heads; noise level via AdaLN35 denoising steps at inferencecross-attentionWan2.1 VAEdecoderUntilemean of the 32 copies16 predicted framespredicted flow 16 × 14next chunk: last predicted frame → frame now,last predicted flow row → flow state

How the flow goes into Cosmos

The flow is repeated 32 times to fill one latent frame, noised, denoised by Cosmos with the video frames, then read back by averaging the copies Action flow16 steps × 14 points × 4= 896 numbersrepeat× 321 latent frame16 × 32 × 56 = 28,672numbers, the size ofone video latent frame+ noiseThe sequence Cosmos denoisesnow16 future framesflowstate7 latent frames; Cosmos cuts everyone, video or flow, into 448 tokensCosmos DiTdenoises all 7predicted flow frameaverage the32 copiespredicted flow:896 numbers

End-to-end evaluation

End-to-end evaluation: open loop WAM planning in chained 1.6 s chunks from the first real frame, then closed loop policy execution in the sim, 10 actions per prediction Open Loop WAM PlanningFirst real frameframe 0GT flow stateat frame 0ABLATIONWAM chunk 1predicts 16 frames+ 16 flow stepsWAM chunk 2predicts 16 frames+ 16 flow stepsWAM chunk Npredicts 16 frames+ 16 flow stepslast frameflow state……last frameflow state…Planned flowN = 7–11 chunks (11–18 s)Closed Loop Policy Executionnext 1.6 s of the plan(sim time aligned)Flow policywrist camera + state + plan→ 32 actions (1.6 s)LIBERO simulationPanda, cup, plate, 20 Hzrun the first10 actionswrist camera+ robot state

Results

E2E Policy: full_wrist_state_no_img_pos (wrist camera + flow + robot state)

flowflow statepausestrain
(80)
test
(20)
failed
(46)
no flow: baseline, both cameras––84.4 ± 1.677.8 ± 1.742.1 ± 1.6
no flow: baseline, wrist camera––59.1 ± 1.236.6 ± 2.924.9 ± 1.7
flow-conditioned, ground truth flow (E2E Policy)––93.5 ± 0.473.0 ± 1.86.8 ± 0.4
WAM v1none–48.5 ± 2.825.6 ± 7.33.5 ± 1.7
WAM v1none✓58.2 ± 2.927.8 ± 8.04.8 ± 0.9
WAM v2predicted at frame 0–36.5 ± 3.418.0 ± 4.53.9 ± 0.9
WAM v2predicted at frame 0✓40.8 ± 3.821.6 ± 7.22.2 ± 1.4
WAM v2ground truth at frame 0–43.2 ± 3.322.4 ± 7.13.9 ± 2.5
WAM v2ground truth at frame 0✓51.0 ± 1.525.4 ± 5.33.9 ± 1.6

E2E Policy: full_state (flow + robot state, no camera)

flowflow statepausestrain
(80)
test
(20)
failed
(46)
no flow: baseline, both cameras––84.4 ± 1.677.8 ± 1.742.1 ± 1.6
no flow: baseline, wrist camera––59.1 ± 1.236.6 ± 2.924.9 ± 1.7
flow-conditioned, ground truth flow (E2E Policy)––88.3 ± 1.062.2 ± 1.93.8 ± 0.4
WAM v1none–43.2 ± 3.223.6 ± 8.42.6 ± 0.9
WAM v1none✓59.2 ± 1.928.8 ± 5.72.6 ± 2.1
WAM v2predicted at frame 0–32.8 ± 1.721.0 ± 7.64.8 ± 2.1
WAM v2predicted at frame 0✓36.2 ± 2.520.4 ± 5.15.2 ± 1.7
WAM v2ground truth at frame 0–39.0 ± 2.723.6 ± 7.82.2 ± 1.4
WAM v2ground truth at frame 0✓39.5 ± 4.322.2 ± 6.60.0 ± 0.0

Which episodes succeed: wrist-camera baseline vs WAM v1 + pauses

Top view of the table, one panel per split: each episode at its cup start position, coloured by which of the two runs succeeds on it in more than half of its trialstrain (80)0-20-40-60-80-40-30-20-1001020261009_111958: neither20261009_112123: neither20261009_112406: neither20261009_112439: neither20261009_112601: neither20261009_112650: neither20261009_112955: neither20261009_113050: neither20261009_113110: neither20261009_113136: neither20261009_122712: neither20261009_122813: neither20261009_123040: neither20261009_123250: neither20261009_124956: neither20261009_125148: neither20261009_131256: neither20261009_111219: baseline only20261009_111354: baseline only20261009_111824: baseline only20261009_112010: baseline only20261009_112316: baseline only20261009_112346: baseline only20261009_112449: baseline only20261009_112758: baseline only20261009_113005: baseline only20261009_122659: baseline only20261009_122824: baseline only20261009_123015: baseline only20261009_123119: baseline only20261009_125206: baseline only20261009_125220: baseline only20261009_111257: WAM only20261009_111913: WAM only20261009_112152: WAM only20261009_112510: WAM only20261009_123049: WAM only20261009_123227: WAM only20261009_125052: WAM only20261009_125347: WAM only20261009_131243: WAM only20261009_131310: WAM only20261009_111136: both succeed20261009_111151: both succeed20261009_111246: both succeed20261009_111341: both succeed20261009_111735: both succeed20261009_111834: both succeed20261009_111900: both succeed20261009_111925: both succeed20261009_112021: both succeed20261009_112101: both succeed20261009_112132: both succeed20261009_112208: both succeed20261009_112306: both succeed20261009_112325: both succeed20261009_112336: both succeed20261009_112611: both succeed20261009_112633: both succeed20261009_112749: both succeed20261009_112815: both succeed20261009_112823: both succeed20261009_112853: both succeed20261009_113100: both succeed20261009_113144: both succeed20261009_113152: both succeed20261009_123025: both succeed20261009_123127: both succeed20261009_123136: both succeed20261009_123147: both succeed20261009_123156: both succeed20261009_123341: both succeed20261009_123350: both succeed20261009_124928: both succeed20261009_124943: both succeed20261009_125109: both succeed20261009_125123: both succeed20261009_125251: both succeed20261009_125304: both succeed20261009_131227: both succeedtest (20)0-20-40-60-8020261009_111329: neither20261009_111935: neither20261009_113014: neither20261009_123216: neither20261009_125236: neither20261009_125318: neither20261009_125332: neither20261009_111418: neither20261009_111442: neither20261009_111453: neither20261009_111724: neither20261009_125038: neither20261009_111844: baseline only20261009_112417: baseline only20261009_111746: baseline only20261009_112427: baseline only20261009_125024: WAM only20261009_123259: WAM only20261009_112142: both succeed20261009_125010: both succeedfailed (46)0-20-40-60-8020261009_111232: neither20261009_111758: neither20261009_111947: neither20261009_112033: neither20261009_112113: neither20261009_112216: neither20261009_112247: neither20261009_112257: neither20261009_112356: neither20261009_112500: neither20261009_112625: neither20261009_112641: neither20261009_112729: neither20261009_112807: neither20261009_112834: neither20261009_112902: neither20261009_112911: neither20261009_112921: neither20261009_112930: neither20261009_112938: neither20261009_112946: neither20261009_113023: neither20261009_113119: neither20261009_122803: neither20261009_122837: neither20261009_122900: neither20261009_122924: neither20261009_122936: neither20261009_122955: neither20261009_123101: neither20261009_123110: neither20261009_123205: neither20261009_123238: neither20261009_123309: neither20261009_123319: neither20261009_125135: neither20261009_111205: baseline only20261009_111430: baseline only20261009_112718: baseline only20261009_113031: baseline only20261009_113040: baseline only20261009_113127: baseline only20261009_122946: baseline only20261009_123402: baseline only20261009_112708: WAM only20261009_112844: WAM onlycup start y, cm (left +); vertical: x, cm (away from camera +)
episodestraintestfailed
both succeed3820
baseline only1548
WAM only1022
neither171236

Visualizations

success
failure
Success: episode 20261009_113014

Third-party dependencies

toolused for
Cosmos-Predict2-2B Video2Worldpretrained video model (2B DiT), fine-tuned with LoRA to predict video + flow
Wan2.1 VAEencodes frames to latents and decodes predicted latents to video (frozen; the VAE Cosmos-Predict2 uses)
T5-11B text encoderembeds the prompt once (frozen; shipped with Cosmos-Predict2)
Cosmos Policy (arXiv 2601.16163)the method for writing small vectors into a latent frame, and its noise schedule

Limitations

Content to come.