← Back to project

Tactile simulation reproduction · FlexiTac and UniVTAC videos

Actual headless execution on NVIDIA L40S · September 9, 2026
FlexiTacUniVTACIsaac Simworkflow reproduced

1 · FlexiTac trajectory replay

The released bimanual trajectory was replayed in the released FlexiTac environment using Isaac Sim 5.1. This video combines the recorded external camera with four enlarged tactile arrays and a synchronized force trace. Playback is slowed to 0.25×. All arrays use a fixed 0–0.6 color range with no sensor-value interpolation.

Why the previous final frame showed zeros: contact had already cleared at step 512 (4.27 s). During the grasp, all four arrays produce nonzero values. At step 300 (2.50 s), their peak values are 0.268, 0.519, 0.491 and 0.485. The cover image shows this contact frame.

This is trajectory replay, not a trained policy rollout or a physical sensor validation.

2 · Verified outputs

MeasurementLocal result
Simulation steps516
Original recording129 camera frames · 30 fps · 4.3 simulated seconds
Enlarged presentation1600 × 1040 · 516 displayed frames · 17.2 seconds at 0.25×
Tactile arrays4 × 12 × 32
Simulated force range0–0.531010
Nonzero array readings across the run87,614
Evidence retained locallyMP4, per-step force arrays, joint positions, metrics, source revisions and logs

3 · FlexiTac Viser control and contact

A separate control trial used scripted Viser client events for end-effector targets, gripper sliders and recording buttons. These events passed through the released inverse-kinematics controller and sensor implementation. The trial recorded 364 synchronized physics steps: approach, close, lift and release.

Both left-gripper arrays registered contact (peak values 0.134 and 0.359), maintained it during lifting, and returned to zero after release. The socket reached a maximum world height of 0.0543 m. The two right-gripper arrays remained zero in this trial; this is a contact-control demonstration, not bimanual assembly success. Browser controls and recording were also checked in the actual Viser interface.

4 · Compatibility changes

5 · UniVTAC optical tactile simulation

The released grasp-classify teacher completed seed 0 in Isaac Sim 4.5 with the bundled TacEx contact solver. The synchronized recording contains 48 frames, including head and wrist cameras, both GelSight Mini images, depth maps, marker coordinates, robot state and object state. The task reported success after 334 physics steps.

The right panels show simulated optical tactile images, including the contact imprint and displaced marker grid. Both depth streams and marker streams are finite and change during the saved trajectory. This diagnostic teacher episode is distinct from a trained policy evaluation. The video uses the released 10 fps recording cadence.

UniVTAC records every second 120 Hz physics step and encodes videos at 10 fps. Continuously recorded motion therefore plays at about one sixth of simulated speed; intervals with recording disabled are omitted.

Headless compatibility fix: explicitly enabled scene queries, which graphical mode enables implicitly. TacEx uses these queries to attach the gelpads; both sensors now have 83 fixed vertices. Earlier runs with zero attachment vertices were invalid and are excluded. Production collection without diagnostic instrumentation subsequently completed seeds 0–4 successfully and passed synchronized-data checks for all five saved episodes. All eight task collections are now complete.

6 · Teacher collection video gallery

Eight-task overview · 136.1 seconds. This compilation contains all eight complete selected teacher recordings, with every decoded frame verified identical to its source. Use a task button to jump to its chapter. These are successful teacher examples; failed attempts are shown separately below.

Expand each task to view its synchronized camera and optical tactile recording individually. Each example is the lowest successful seed from a collection whose five saved episodes have been audited. These trajectories were generated by the released task teacher. ACT training uses the separate 50-demo-per-task released dataset; these five new episodes are not the training set. Failed attempts are retained and counted in the table below.

grasp_classify · teacher · seed 0

First successful seed in the completed collection; 50 frames at 10 fps. Collection: 5 successes in 5 attempts. All five saved episodes passed synchronized-data checks.

insert_HDMI · teacher · seed 0

First successful seed in the completed collection; 118 frames at 10 fps. Collection: 5 successes in 10 attempts. All five saved episodes passed synchronized-data checks.

insert_hole · teacher · seed 0

First successful seed in the completed collection; 169 frames at 10 fps. Collection: 5 successes in 5 attempts. All five saved episodes passed synchronized-data checks.

insert_tube · teacher · seed 0

First successful seed in the completed collection; 188 frames at 10 fps. Collection: 5 successes in 5 attempts. All five saved episodes passed synchronized-data checks.

lift_bottle · teacher · seed 0

First successful seed in the completed collection; 187 frames at 10 fps. Collection: 5 successes in 5 attempts. All five saved episodes passed synchronized-data checks.

lift_can · teacher · seed 0

First successful seed in the completed collection; 176 frames at 10 fps. Collection: 5 successes in 5 attempts. All five saved episodes passed synchronized-data checks.

pull_out_key · teacher · seed 0

First successful seed in the completed collection; 198 frames at 10 fps. Collection: 5 successes in 5 attempts. All five saved episodes passed synchronized-data checks.

put_bottle_in_shelf · teacher · seed 0

First successful seed in the completed collection; 275 frames at 10 fps. Collection: 5 successes in 7 attempts. All five saved episodes passed synchronized-data checks.

All 47 collection-attempt videos were fully decoded: 40 successes and 7 failures. The first failed attempt for each task with failures is shown below.

insert_HDMI · failed teacher · seed 1

Lowest failed collection seed; 118 decoded frames at 10 fps. This failed attempt remains in the collection denominator and is not one of the five saved successful episodes.

put_bottle_in_shelf · failed teacher · seed 2

Lowest failed collection seed; 273 decoded frames at 10 fps. This failed attempt remains in the collection denominator and is not one of the five saved successful episodes.

7 · Closed-loop ACT evaluation

The released author ACT checkpoint completed all ten grasp-classify evaluation seeds, 2000000–2000009: 10 successes, zero task failures and zero runtime errors. All ten videos were decoded and checked. The example below is seed 2000000. After the released pre-grasp routine, the policy executed 37 actions using live camera and tactile observations; the task reported success at physics step 276. The recorded policy phase contains 19 frames at the released 10 fps cadence.

This is an actual policy rollout, distinct from teacher collection and released-trajectory replay. The ten-seed result is a smaller workflow-reproduction evaluation, not the paper-scale 100-trial benchmark.

Locally trained ACT: 10/10 successes on the same independent seeds. This checkpoint was trained locally on 50 released Isaac Sim 4.5 synthetic demonstrations. All ten formal rollout videos were decoded and checked. The example below is seed 2000000.

An earlier local evaluation attempt encountered a contact-solver stall during initial reset, before policy actions. Its error log is retained separately. After a bounded diagnostic, all ten formal seeds were rerun with detailed solver logging; no physical parameters or policy weights were changed. The cause of the intermittent reset stall remains unresolved. These completed runs verify the workflow on this task, not general reliability across all tasks.

8 · Additional ACT outcomes

Each task and checkpoint variant contributes its lowest successful seed with a recorded video and lowest failed seed with a recorded video, when available. Failed trials remain part of the evaluation. Videos below are examples; the task table reports the accumulated results.

After all eight training runs completed, evaluation was split across the two L40S GPUs. Author evaluations use physical GPU 0; local evaluations through the key task used physical GPU 1, except for the earlier grasp-classify run. The previously completed grasp-classify evaluations both used GPU 0. Physical GPU 1 is exposed as logical CUDA device 0 to support the Isaac Sim 4.5 scene interface. Both tactile attachments and actual policy actions were verified on GPU 1. Two earlier GPU 1 startup attempts stopped before policy trials; their logs are retained. Checkpoint weights, evaluation seeds and physical parameters are unchanged.

After all 80 author trials finished, the final local shelf evaluation was dispatched to the now-idle GPU 0. The local key worker continued on GPU 1 while only its scheduler was paused to prevent a duplicate shelf launch. The scheduler resumed after the shelf result was retained. The key run's scheduler wall time can include this pause; per-trial timings are unchanged.

Preparation failures and empty recordings: four of the six author insert-tube failures (seeds 2000006–2000009) occurred in the released pre-grasp planner at physics step 35. The released loop increments its action counter to 300 even though physics no longer advances. Preparation frames are not recorded, leaving four empty MP4 containers. Six actual rollout videos were decoded; the four empty files are retained and explicitly excluded from decoded-video counts. All four trials remain included in the failure count.

Original diagnostic image · author insert_tube · preparation failure · seed 2000009Original diagnostic image at physics step 35 after pre-grasp planning failed

This original ACT diagnostic image was preserved from the final trial. It is not a reconstructed video.

insert_HDMI · author ACT · failed · seed 2000000

Lowest seed with a recorded video for this outcome; 300 decoded frames at 10 fps. All ten trials are complete.

insert_HDMI · author ACT · success · seed 2000002

Lowest seed with a recorded video for this outcome; 277 decoded frames at 10 fps. All ten trials are complete.

insert_HDMI · local ACT · failed · seed 2000000

Lowest seed with a recorded video for this outcome; 300 decoded frames at 10 fps. All ten trials are complete.

insert_hole · author ACT · failed · seed 2000000

Lowest seed with a recorded video for this outcome; 92 decoded frames at 10 fps. All ten trials are complete.

insert_hole · author ACT · success · seed 2000001

Lowest seed with a recorded video for this outcome; 91 decoded frames at 10 fps. All ten trials are complete.

insert_hole · local ACT · failed · seed 2000000

Lowest seed with a recorded video for this outcome; 102 decoded frames at 10 fps. All ten trials are complete.

insert_tube · author ACT · success · seed 2000000

Lowest seed with a recorded video for this outcome; 128 decoded frames at 10 fps. All ten trials are complete.

insert_tube · author ACT · failed · seed 2000001

Lowest seed with a recorded video for this outcome; 150 decoded frames at 10 fps. All ten trials are complete.

insert_tube · local ACT · failed · seed 2000000

Lowest seed with a recorded video for this outcome; 72 decoded frames at 10 fps. All ten trials are complete.

insert_tube · local ACT · success · seed 2000003

Lowest seed with a recorded video for this outcome; 76 decoded frames at 10 fps. All ten trials are complete.

lift_bottle · author ACT · success · seed 2000000

Lowest seed with a recorded video for this outcome; 141 decoded frames at 10 fps. All ten trials are complete.

lift_bottle · author ACT · failed · seed 2000001

Lowest seed with a recorded video for this outcome; 250 decoded frames at 10 fps. All ten trials are complete.

lift_bottle · local ACT · success · seed 2000000

Lowest seed with a recorded video for this outcome; 154 decoded frames at 10 fps. All ten trials are complete.

lift_bottle · local ACT · failed · seed 2000001

Lowest seed with a recorded video for this outcome; 250 decoded frames at 10 fps. All ten trials are complete.

lift_can · author ACT · success · seed 2000000

Lowest seed with a recorded video for this outcome; 77 decoded frames at 10 fps. All ten trials are complete.

lift_can · author ACT · failed · seed 2000002

Lowest seed with a recorded video for this outcome; 72 decoded frames at 10 fps. All ten trials are complete.

lift_can · local ACT · success · seed 2000000

Lowest seed with a recorded video for this outcome; 144 decoded frames at 10 fps. All ten trials are complete.

lift_can · local ACT · failed · seed 2000001

Lowest seed with a recorded video for this outcome; 150 decoded frames at 10 fps. All ten trials are complete.

pull_out_key · author ACT · success · seed 2000000

Lowest seed with a recorded video for this outcome; 89 decoded frames at 10 fps. All ten trials are complete.

pull_out_key · author ACT · failed · seed 2000002

Lowest seed with a recorded video for this outcome; 66 decoded frames at 10 fps. All ten trials are complete.

pull_out_key · local ACT · failed · seed 2000000

Lowest seed with a recorded video for this outcome; 64 decoded frames at 10 fps. All ten trials are complete.

pull_out_key · local ACT · success · seed 2000002

Lowest seed with a recorded video for this outcome; 58 decoded frames at 10 fps. All ten trials are complete.

put_bottle_in_shelf · author ACT · failed · seed 2000000

Lowest seed with a recorded video for this outcome; 150 decoded frames at 10 fps. All ten trials are complete.

put_bottle_in_shelf · author ACT · success · seed 2000001

Lowest seed with a recorded video for this outcome; 119 decoded frames at 10 fps. All ten trials are complete.

put_bottle_in_shelf · local ACT · failed · seed 2000000

Lowest seed with a recorded video for this outcome; 150 decoded frames at 10 fps. All ten trials are complete.

9 · Reproduction results

ACT training has completed for 8 tasks: grasp_classify, insert_HDMI, insert_hole, insert_tube, lift_bottle, lift_can, pull_out_key, put_bottle_in_shelf. Each uses 50 released Isaac Sim 4.5 demonstrations and the released 4,000-step configuration (the upstream loop executes 4,001 updates). All eight local training runs are complete.

Collection completed five successful synchronized trajectories for each of all eight tasks (40 total). The 47 attempts produced 7,674 synchronized observation timesteps and 5.71 GB of successful HDF5 trajectories. The full held-out closed-loop evaluation requires ten independent seeds per task and variant. The requested simulation workflow is reproduced: eight task collections, eight local ACT trainings, and all 160 held-out evaluation trials are complete and checked. The 156 recorded rollout videos were decoded; 4 zero-frame preparation failures are documented separately. This is workflow reproduction on ten seeds per task/variant, not a paper-scale numerical replication or a physical-robot experiment.

Released reference counts successes in the author-provided checkpoint metadata on seeds 1000000–1000099, verified against the pinned source files. Our author/local evaluations use seeds 2000000–2000009. The reference records are separate from our 160 requested trials and are not labeled as paper benchmark results.

TaskTeacher successes / attemptsSaved / audited episodesCollection wall timeLocal ACT trainingReleased referenceAuthor ACT evaluationLocal ACT evaluation
grasp_classify5/55 / 55.9 minComplete100/10010 success · 0 failed · complete10 success · 0 failed · complete
insert_HDMI5/105 / 522.1 minComplete14/1002 success · 8 failed · complete0 success · 10 failed · complete
insert_hole5/55 / 517.7 minComplete39/1003 success · 7 failed · complete0 success · 10 failed · complete
insert_tube5/55 / 517.8 minComplete64/1004 success · 6 failed (4 preparation) · complete6 success · 4 failed · complete
lift_bottle5/55 / 513.9 minComplete46/1008 success · 2 failed · complete6 success · 4 failed · complete
lift_can5/55 / 513.7 minComplete29/1003 success · 7 failed · complete2 success · 8 failed · complete
pull_out_key5/55 / 515.2 minComplete48/1005 success · 5 failed · complete4 success · 6 failed · complete
put_bottle_in_shelf5/75 / 526.3 minComplete8/1001 success · 9 failed · complete0 success · 10 failed · complete

Persisted-evidence snapshot: 2026-09-10T03:44:57.645215+00:00. Collection wall time includes simulator startup and unsuccessful attempts, before the data audit. These runs overlap other simulation or training jobs, so the timings are not isolated throughput benchmarks.

10 · Public sources

Training provenance was checked against dataset revision e1aee7b0c95543b535e0146b2de3ee1bc6ddaabd: all 400 original HDF5 files (50 per task, 59.18 GB), eight author policy checkpoints and the shared tactile encoder match the pinned remote LFS SHA256 values. The released checkpoints are associated with Isaac Sim 4.5, matching this evaluation environment.

FlexiTac simulation implementation · UniVTAC implementation · Pinned UniVTAC dataset and author checkpoints

Completed simulation workflow · Eight tasks · 160 held-out trials · Not paper-scale numerical or hardware replication