File size: 3,544 Bytes
fca1ab8
3c8c4c9
 
 
 
fca1ab8
f869927
fca1ab8
3c8c4c9
 
 
 
 
 
 
fca1ab8
 
3c8c4c9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
---
title: SyncWorld Simulator
emoji: 🦾
colorFrom: pink
colorTo: red
sdk: gradio
sdk_version: 6.17.3
app_file: app.py
short_description: Visually-calibrated zero-shot robot world simulator
python_version: "3.12"
startup_duration_timeout: 1h
models:
  - yyuncong/SyncWorld
datasets:
  - yyuncong/SyncWorld-Evaluation
---

# 🦾 SyncWorld — visual calibration turns a world model into a zero-shot simulator

Demo for **[SyncWorld: Visual Calibration Enables World Models as Zero-Shot Simulators](https://huggingface.co/papers/2609.09155)**
(UMass Embodied AGI) — [code](https://github.com/UMass-Embodied-AGI/SyncWorld) ·
[weights](https://huggingface.co/yyuncong/SyncWorld).

A pretrained action-conditioned video world model cannot be dropped into a new scene, because it
does not know how *this* camera sees *this* robot's action space. SyncWorld's fix is **visual
calibration**: prepend a short clip of the arm sweeping each degree of freedom, paired with the
actions that produced it, as extra fully-conditioning context. The model infers the unseen
camera↔robot mapping in-context and becomes a usable forward-dynamics simulator — with no
per-scene finetuning.

## What this Space does

Pick one of the authors' calibrated evaluation episodes, then either

- **replay the robot's own actions** — re-simulate the expert trajectory and compare against ground
  truth, or
- **drive the arm yourself** — command a constant per-step end-effector twist
  (Δx/Δy/Δz in cm/step, Δroll/Δpitch/Δyaw in °/step, plus the gripper) and watch the model render
  a counterfactual rollout.

Each press generates one or more autoregressive 16-frame windows at 512 px, closed-loop (each
window conditions on the previously *generated* frames).

## Inference path

Ported 1:1 from the authors' reference script `examples/eval_gripperhead_fdm_rollout.py`, keeping
the trained recipe exactly:

| | |
|---|---|
| Conditioning items | `[6 per-DoF calibration segments × 5 frames] + [25 sparse history frames @ stride 3] + [current frame + 16 future frames]` |
| Actions | 7-D `[Δpos_cm(3), Δeuler_xyz_deg(3), gripper(1)]`, `backward_framewise` convention, translation scale 100.0, rotation scale 57.2958 |
| Resolution / fps | 512 px square, conditioning fps 15 |
| Sampler | rectified flow, UniPC, 20 steps (adjustable) |
| Caption | the FDM training constant `"A robot arm interacts with the scene."` |
| Backbone | 16B Cosmos-3 mixture-of-transformers (Qwen3-VL-8B understanding expert + diffusion expert), Wan2.2 4×16×16 video VAE |

Deviations forced by the target hardware: single-process inference (`parallel_dims=None`),
`torch.compile` disabled (ZeroGPU forks a fresh worker per call), the audio expert disabled
(unused by this checkpoint), and the VLM processor served from a local copy of the seven tokenizer
files in `nvidia/Cosmos3-Nano` instead of downloading that repo's 35 GB of weights.

## Bundled scenes

Ten episodes (5 ManiSkill + 5 LIBERO) copied verbatim from the authors' own evaluation set,
[`yyuncong/SyncWorld-Evaluation`](https://huggingface.co/datasets/yyuncong/SyncWorld-Evaluation),
each with its paired calibration sweep and pose track. Both the code and the data are released
under **OpenMDW-1.1**; see `ATTRIBUTIONS.md` / `NOTICE` in the upstream repo.

## Citation

```bibtex
@article{syncworld2026,
  title  = {SyncWorld: Visual Calibration Enables World Models as Zero-Shot Simulators},
  author = {UMass Embodied AGI},
  year   = {2026},
  url    = {https://huggingface.co/papers/2609.09155}
}
```