Instructions to use zhouqh/act-dump-bin-interrupt-real with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use zhouqh/act-dump-bin-interrupt-real with LeRobot:
- Notebooks
- Google Colab
- Kaggle
ACT β dump_bin_interrupt_real (real-rig calibrated xArm7)
Action Chunking Transformer trained on Genesis HR Bench's real-rig calibrated
dump_bin_interrupt_real task: an xArm7 in the identity frame of the physical rig, with the
RealSense D455 head-camera extrinsics and hand-eye wrist transform taken from
the 2026-08 calibration (real/sim_setup.py).
Inputs / outputs
observation.image |
256x256x3 β head camera (D455, world pose (0.925, -0.267, 0.293)) |
observation.wrist_image |
256x256x3 β right wrist camera, attached to link7 |
observation.state |
8-D [7 arm qpos, gripper], gripper 1.0 = open |
action |
8-D [7 commanded target qpos, gripper] β absolute, not deltas |
Action space is qpos_target_abs: the recorded PD targets, not measured qpos and
not deltas. Serve it with --action-type qpos_abs.
Training
| Data | 300 episodes, runs/real/vla_data_0808/dump_bin_interrupt_real (scripted rollouts, rasterizer) |
| Steps | 25,000 (batch 80, 27.2 epochs) |
| Optimizer | AdamW, lr 1e-05, wd 0.0001, grad clip 10.0 |
| Chunk | chunk_size=100, n_action_steps=1, temporal_ensemble_coeff=0.01 |
| VAE | disabled (use_vae=false) |
| Normalization | MEAN_STD for visual / state / action |
| Final loss | 0.028 |
| Hardware | 1x H100 80GB, 1h12m |
Usage
# serve (lerobot v0.1.0 venv β this is a v0.1.0-format checkpoint:
# config.json + model.safetensors, no processor files)
python baseline/servers/lerobot_server.py \
--policy-type act --checkpoint <local_dir> --port 8775
# evaluate
python scripts/eval_vla.py --task dump_bin_interrupt_real --model act \
--server-url http://127.0.0.1:8775 --action-type qpos_abs
Status β read before using the benchmark number
The weights reproduce their training targets closely. Replaying the training
episodes' own observations through the served policy (scripts/check_act_replay.py,
frame-by-frame):
| joint MAE | gripper MAE | gripper range predicted | |
|---|---|---|---|
| with temporal ensembler | 0.012-0.014 rad | 0.003 | 0.377 - 1.00 |
| single-shot (ensembler cleared each step) | 0.012-0.017 rad | 0.004 | 0.375 - 1.01 |
(ground-truth gripper is 0.375 closed / 1.0 open, so the closed command is
being reproduced correctly.)
However, in-simulator benchmark success is currently 0% β and that is an eval-harness bug, not a property of these weights. In the eval path the human avatar is left at its home pose, which sits directly in the calibrated head camera's field of view: the policy sees a torso where the robot arm should be, from step 0 onward. Re-running the collection pipeline on the same seed produces a clean view (the avatar's forearm only enters frame during the interrupt), so the training data is unaffected. Until that is fixed, do not read 0% as a capability measurement.
Provenance
- Task registry:
real/tasks.py->dump_bin_interrupt_real - Training run: SLURM job
62715183, expact_dump_bin_interrupt_real_20260524_qpos_target_abs_300ep_real0808_c100_s25000_novae_v1 - W&B project:
act_genesis_hr_bench_real_0808(entitymulti-agent-world-model) - Source dataset (LeRobot):
ghb/dump_bin_interrupt_real_qt24_300_c100
- Downloads last month
- 11