Self-learning case study: the syringe jam
Task-level success says whether an execution achieved its objective, not where or why it failed. That matters for agentic robotics, where execution feedback is used to diagnose failures, revise programs and introduce recovery behaviours. This case study follows one failure through that loop on Syringe Packing, from a recurring jam to a new skill in the policy graph.
1The failure
On cluttered trays the graph posts several syringes, then stops. In sweep s6, every failed trial ended the same way. After 3–5 posts, the syringes already in the box stood or leaned under the hole, and the next one landed on them. That syringe was left standing in the aperture, the post-release check returned blocked, and the episode aborted.
2The diagnosis
An error message says only that verification failed. Pairing task-level verification with simulator ground-truth inspection identifies the physical conditions behind it. Two jammed episodes, t01 and t29, terminate with final verification reporting blocked and 7/8 and 6/8 syringes posted. In both, a syringe straddles the lid plane, with its needle end inside the cavity and its opposite end above the opening.
The surrounding syringes sit in different configurations, which shows execution-induced variation: earlier placements alter the geometry encountered by later insertions. The box cavity (89 × 166 × 172 mm) holds about five syringes lying flat, so a tray of 6–8 fills it, and the jam is partly a capacity limit.
3The new skill
The diagnosis points at a specific recovery: a syringe standing on a pile is easy to topple. So the graph gained an unjam step that runs before it gives up. The closed gripper comes top-down over the hole, pushes the fingertips 25 mm below the rim onto the protruding top, and sweeps ±10 mm along the box's long axis. The check then runs again, and only a second blocked aborts.
4What changed across sweeps
Each sweep ran the graph over the same 30 cluttered-tray trials, holding 176 syringes in total.
| Sweep | Changes since the previous sweep | Trials solved | Syringes posted |
|---|---|---|---|
| s6 | Before the unjam recovery | 8 / 30 (27%) | 64% |
| s7 | Unjam recovery, half-turn grasp, tilt-check fix | 13 / 30 (43%) | 137 / 176 (78%) |
| s8 | Stricter blocked threshold, stricter candidate filter, slower reconfiguring turns | 16 / 30 (53%) | 152 / 176 (86%) |
The loop did not finish the task. In s8, 8 of the 14 failures were still box jams, where a later syringe stayed blocked after the unjam push. Another 4 were grasps stopping short in tight corners, and 2 were syringes that slipped or fell from the fingers, which the seat check correctly refused. The next round of diagnosis starts from those records.