Reproduction 002 · E2F · NVIDIA A10
The closed loop runs: scene → observation → π0 → action → MuJoCo → next observation, thirty times over, on the unmodified AutoBio pipette bench. Every joint moves. Nothing on the bench does.
Untuned checkpoint. This is pi0_base, which has never
seen this task. The run asks whether the loop produces stable, interpretable
motion — not whether the robot performs the protocol.
Task success: NOT EVALUATED.
Reset pose. Pipette already in the hand. — table_cam_front — the same MJCF camera pi0 receives as base_0_rgb
If the policy were reaching for the tube, this line would fall. It climbs for twelve cycles, peaks 35 cm further away than it started, wanders back, and ends 2.7 cm below its starting value — against 1923 mm of path travelled. That 1.4% is incidental, not directed.
A render that looks like progress. In the final bench
view the pipette appears poised over the tube rack. Measured, the tip sits at
(0.334, 0.054, 1.571) and the tube at
(-0.036, 0.018, 0.830) — 74 cm above and 37 cm across.
The front camera collapses depth and height. This is why the verdict rests on
distances rather than on the picture.
| # | Joint | Initial | Final | Δ rad | max |v| rad/s |
|---|---|---|---|---|---|
| 0 | 1/ur:shoulder_pan | +0.004 | +0.839 | +0.834 | 0.464 |
| 1 | 1/ur:shoulder_lift | -1.511 | -1.533 | -0.022 | 0.638 |
| 2 | 1/ur:elbow | +1.525 | +1.826 | +0.301 | 0.513 |
| 3 | 1/ur:wrist_1 | -0.003 | -1.895 | -1.891 | 0.708 |
| 4 | 1/ur:wrist_2 | +1.635 | +1.821 | +0.185 | 0.567 |
| 5 | 1/ur:wrist_3 | +1.558 | +1.597 | +0.039 | 0.065 |
| 6 | 1/ur:dh:rh_thj3 | +0.000 | +0.494 | +0.494 | 1.024 |
| 7 | 2/ur:shoulder_pan | +0.008 | -1.224 | -1.232 | 0.019 |
| 8 | 2/ur:shoulder_lift | -1.474 | -1.476 | -0.002 | 0.086 |
| 9 | 2/ur:elbow | +1.509 | +1.977 | +0.468 | 0.031 |
| 10 | 2/ur:wrist_1 | -1.559 | -2.252 | -0.693 | 0.362 |
| 11 | 2/ur:wrist_2 | -1.518 | -1.693 | -0.175 | 0.013 |
| 12 | 2/ur:wrist_3 | -1.557 | -1.505 | +0.052 | 0.044 |
| 13 | 2/ur:2f85:right_driver_joint | +0.000 | +0.571 | +0.571 | 0.623 |
Indices 6 and 13 are the absolute-encoded actuators — the pipette plunger and the gripper. Both responded, which is what confirms the delta/absolute action contract drives real hardware. Peak velocity 1.02 rad/s against a 50 rad/s instability threshold: slow, smooth, nowhere near divergence.
| Count | Body A | Body B | What it is |
|---|---|---|---|
| 150 | 5/centrifuge_50ml_screw_body | 3/centrifuge_10slot | tube resting in its own rack — already present at t = 0 |
| 60 | 1/ur:dh:rh_lfmiddle | tl/pipette | hand against the welded pipette |
| 51 | 1/ur:dh:rh_thdistal | tl/pipette_knob | thumb on the plunger knob |
| 46 | 1/ur:dh:rh_ffdistal | tl/pipette | hand against the welded pipette |
| 41 | 1/ur:dh:rh_rfdistal | tl/pipette | hand against the welded pipette |
| 39 | 1/ur:dh:rh_lfdistal | tl/pipette | hand against the welded pipette |
| 30 | 1/ur:dh:rh_mfdistal | tl/pipette | hand against the welded pipette |
Zero robot–to–free–object contacts. The pipette is
welded to the hand (dofnum = 0), so hand–pipette contact exists
regardless of what the policy does, and is not called a grasp. The 150 tube
contacts are the tube sitting in its rack at reset.
The harness first reported OBJECT_INTERACTION.
The raw numbers above are what disproved it.
centrifuge_50ml. All 150
matches were the tube in its rack, present before the policy ran. Tube
displacement (0.912 mm) was below the 5 mm threshold, so it was purely the
name test that fired — the test needed a robot-body predicate on the
other side of the pair and had none.REACHING_MOTION, because
828.9 < 855.6 − 20. The chart above shows why that is an artefact of
where the run happened to stop.Corrected classification: SUSTAINED_MOTION
Three 224×224 uint8 frames per step, unretouched.