Real2Sim · Rollout Viewer

Real2SimAgent

Two tasks, one human video each (serving bread, watering flowers), on a robot twin: dual Tianji 7-DoF arms, two Sharpa Wave 22-DoF hands, a ZED camera. Every rollout ran in Isaac Sim; this page replays the recorded states.

—000 / 000– fps
Close-up
Policy input
Loading robot…
—
Wristright hand
x–cm
y–cm
z–cm
yaw–°
Tactile · 16 regionsforce proxy
total–
peak–
0–
Monitorspolicy calls –
Lift height– mm
Bread → plate– cm

Success rates

One human video, four ways to use it, and the twin's own ceiling. Every arm runs the same 30 randomized bread and plate placements of serve_bread_002 in Isaac Sim. Original physics: the cem8 controller, the bread about 2.7× too heavy, release triggered by the plate pose. Realistic physics: a 75 g croissant with measured friction and 20 N fingertip caps, the policy releases on its own, each placement run with two seeds. The numbers are counted in your browser from the recorded rollouts below.

Loading rollouts…

Evaluation

The fixed evaluation of every arm, from the raw rollout files. Strict success: the task done and held (bread at rest on the plate for 1 s after an open-hand release; ≥ 100 ml on the flowers with 1 s of on-target water and the pot intact). Subtask reach: the share of the 60 rollouts (30 placements × 2 seeds) that got at least that far, every earlier subtask reached too. Completion score: the subtasks reached, each counted once reached, equal weights, approach not scored. Intervals: Wilson 95 % for success, placement-cluster bootstrap 95 % for completion.

Loading the evaluation…

Datasets

Every robot-twin dataset generated from the human videos, published on Hugging Face: each episode's result json, the per-row recording (_viz.npz: joint angles, object and hand poses, fingertips, camera intrinsics and extrinsics) and the policy-input video. The policies on this page were finetuned on their strict successes; failures are kept so the data can be re-filtered.

Loading the datasets…

How it runs

From one egocentric human video to a robot policy evaluated in the twin.

01 · PRETRAIN

Ego-pretrained world-action model

The policy (c-hist-ev) is pretrained on 1,691 h of human egocentric video. Arm C starts from the base video model instead, without this step.

02 · ONE VIDEO

One human demonstration

A single HumanEgo recording, serve_bread_002: a person picks up a croissant and puts it on a plate. It defines the task and the object trajectories.

03 · TWIN

Twin data with a tuned controller

The recording is replayed object-centrically in the Isaac twin under randomized placements and physics. The agent-tuned controller (cem8) turns hand motion into Sharpa finger commands, and only strict successes become finetuning data (arms A and C).

04 · DEPLOY

Closed loop in Isaac Sim

The finetuned policy sees the ZED image and the measured joint state. It drives the Tianji arms and Sharpa hands through the same controller, 32 executed steps per call and up to 35 s per rollout, on 30 placements it was not trained on.

01

From one human video to a robot twin

Each test case starts from an egocentric HumanEgo recording of a person serving a croissant. The croissant and the plate are reconstructed as textured meshes at metric scale (SAM 3D), and the person's hand trajectory is mapped onto the robot cell in Isaac Sim, with the croissant simulated as an FEM soft body.

Replaying the human motion through the robot's controller, the GT replay, is the reference for everything else.

Policy input of a GT replay: the simulated ZED image with the robot replaced by a rendered human hand.
The same rollout in the browser renderer.
02

The agent tunes the low-level controller

An agent proposes batches of controller settings (grasp, squeeze, release and gain knobs), runs every candidate on the same test cases with paired seeds, and reads back where each episode failed. Screening batches are small, so every rate is shown with its Wilson 95 % interval, and the conservative estimate (the worse of two seed replicas) as a hollow marker.

Physics parameters (friction, croissant stiffness) are not tuning knobs. The first search moved them too, which makes the simulation easier rather than the controller better, so the current objective moves only controller knobs and randomises physics within an uncertainty band.

A tuned controller is reported here only after it is confirmed against the default on a validation batch of at least 60 episodes under that objective; until then the page shows the baseline, the method and the screening batches, labelled as such.

Loading tuning results…
03

Policy rollouts you can steer

A learned policy drives the same twin from the ZED view. Every rollout on this page was precomputed in Isaac Sim: move a knob, drag on the table map or click a dot, and the viewer jumps to the nearest recorded initial condition. Nothing is simulated in your browser.

—
Table · top viewsuccess fail plate
Knobsinit_* offsets in the table frame
—
ParametersIsaacConfig overrides vs defaults

Data format

Each rollout is an r2s.viz.v1 record written by the Isaac recorder (30 Hz rows: measured joint angles, object poses, hand poses, fingertips, 16-region tactile, phase, policy calls with predicted wrist trajectories, ZED intrinsics / extrinsics, run metadata), packed for the web into episode.json + arrays.bin. The viewer interpolates joint angles and slerps object rotations between rows and renders at the display rate. Every gallery card (and the viewer toolbar) has a download button: the replay video (an MP4 rendered frame by frame in your browser), the policy-input video, and the data as episode.json + arrays.npz (NumPy) with a README.