ASPIRE — demonstration conditioning vs control

Same harness, same tasks, same seeds. The only difference is whether the agent read an action plan extracted from demonstration video before writing its program.

Head to head

metricControl — no demonstrationDemonstration-conditioned
Trials run1927
Successes1111
Seeds solved5/55/5
Mean fixes to first success5.24.6
Agent tokens5,924,7063,120,230
VLM tokens20,1590
Median trial wall time21.3s20.2s
Total wall time28.3 min28.4 min
Time in perception61%48%

Fixes-to-first-success counts only seeds that were solved. Agent tokens are self-reported by each session via scripts/agent_tokens.py and exclude cache reads.

Demonstration inputs

What the demonstration-conditioned agent read before writing any program.

open_microwave_handle — demonstration briefing and 1 clip(s)

demo00000_trimmed.mp4

# Demonstration-derived action plan

Task: `open_microwave_handle`

Extracted from demonstration video by `scripts/extract_demo_plan.py`. This describes how the task was done in a demonstration — it is a prior, not ground truth. Locating the objects in *your* scene is still your job, and the demonstration may differ from your seed's layout.

*demo00000_trimmed.mp4, 16.44s, read as native video @ 6.0 fps*

**Task.** Open Microwave Door

**Object.** Microwave door

**Goal.** Microwave door open past 0.8 rad and stationary.

**Strategy.** Grasp door handle to unlatch and pull open slightly, release handle, reposition end-effector behind door, and push inner surface outward to swing door fully open.

**Steps.**

| # | time | category | primitive | contact | what happens | state after |
|---|---|---|---|---|---|---|
| 1 | 00:00 - 00:01 | Preparation | grasp | rigid grasp on Door handle | Parallel-jaw gripper closes onto the vertical microwave handle. | Handle firmly grasped |
| 2 | 00:01 - 00:04 | Primary Action | pull | rigid grasp on Door handle | Robot arm pulls outward, unlatching and opening door partially. | Door partially open (~0.3 rad) |
| 3 | 00:04 - 00:05 | **Micro-Adjustment** | release | none on Door handle | Gripper opens and releases handle contact. | Door partially open, ungrasped |
| 4 | 00:05 - 00:08 | **Micro-Adjustment** | reposition | none on Inner surface of door | Arm moves gripper into interior space behind the open door edge. | Gripper positioned inside door arc |
| 5 | 00:08 - 00:11 | Primary Action | push | single-surface push on Inner door face | Pushes inner door surface outward to widen opening angle. | Door fully open (>0.8 rad) |
| 6 | 00:11 - 00:16 | Preparation | retract | none on none | Arm pulls back gripper clear of microwave door. | Door stationary at >0.8 rad; robot disengaged |

**Changes in how force was applied.**
- Switched from rigid handle pulling (grasp contact) to pushing the inner door panel (surface push) to avoid joint kinematic limits when opening wider.

**Releases and repositions.**
- At 00:04, released handle grasp, backed off, and repositioned end-effector inside the door frame.

**What copying the obvious strategy would get wrong.**
- Attempting to pull door fully open using only handle grasp without regrasping/repositioning, causing kinematic singularity or collision.

**Cautions.**
- Avoid colliding gripper with door edge during internal repositioning.
- Ensure initial pull force unlatches door fully before switching to push motion.

**Not visible in the demo.**
- Exact joint torques during latch release are not directly determinable.
open_microwave_handle2 — demonstration briefing and 2 clip(s)

demo00000_trimmed.mp4

demo00001_trimmed.mp4

# Demonstration-derived action plan

Task: `open_microwave_handle2`

Extracted from demonstration video by `scripts/extract_demo_plan.py`. This describes how the task was done in a demonstration — it is a prior, not ground truth. Locating the objects in *your* scene is still your job, and the demonstration may differ from your seed's layout.

## Demonstration 1
*demo00000_trimmed.mp4, 18.76s, read as native video @ 6.0 fps*

**Task.** open_microwave_door

**Object.** microwave door

**Goal.** microwave door opened wide (>= 0.8 rad) and remaining stationary after robot retreat

**Strategy.** Grasp handle, pull door partially open, release handle, re-approach door edge, push door open wider to ensure it stays open past threshold, then retreat.

**Steps.**

| # | time | category | primitive | contact | what happens | state after |
|---|---|---|---|---|---|---|
| 1 | 00:00 - 00:01 | Preparation | grasp | bilateral grasp on door handle | Gripper moves to and grasps the microwave door handle. | handle grasped, door closed |
| 2 | 00:01 - 00:07 | Primary Action | pull | bilateral pull on door handle | Pulls handle along an arc to swing the door open. | door partially open (~0.6 rad) |
| 3 | 00:07 - 00:10 | **Micro-Adjustment** | release | none on none | Opens gripper and retreats backward away from handle. | door stationary, partially open |
| 4 | 00:10 - 00:13 | Preparation | approach | none on none | Re-approaches towards the inner surface/edge of the open door. | door stationary, gripper near inner door panel |
| 5 | 00:13 - 00:15 | **Correction** | push | single-point push on inner door panel | Pushes the inner edge of the door outward to increase opening angle. | door fully open (> 0.8 rad) |
| 6 | 00:15 - 00:18 | Preparation | retreat | none on none | Breaks contact and moves arm back to home pose. | door remains open (> 0.8 rad) |

**Changes in how force was applied.**
- Switched from a two-finger grasp on handle to a single-point pushing contact on the inner door surface.

**Releases and repositions.**
- Released handle contact at 00:07, backed off, then re-contacted door inner surface at 00:13.

**What copying the obvious strategy would get wrong.**
- Assuming pulling handle once opens door sufficiently without needing a secondary push step.

**Cautions.**
- Door hinge spring/friction may cause door to rebound if not pushed past critical angle threshold.

**Not visible in the demo.**
- Exact angle values and hinge joint resistance force.

## Demonstration 2
*demo00001_trimmed.mp4, 8.96s, read as native video @ 6.0 fps*

**Task.** Open microwave door

**Object.** Microwave oven door

**Goal.** Microwave door opened beyond 0.8 rad with arm fully retracted

**Strategy.** Approach handle, grasp it securely, pull in a curved arc to swing the door open, release handle, and retract arm.

**Steps.**

| # | time | category | primitive | contact | what happens | state after |
|---|---|---|---|---|---|---|
| 1 | 00:00 - 00:01 | Preparation | approach | none on door handle | Move open gripper toward the door handle. | Door closed, gripper aligned with handle |
| 2 | 00:01 - 00:02 | Primary Action | grasp | rigid grasp on door handle | Close gripper fingers firmly around handle. | Door closed, handle firmly grasped |
| 3 | 00:02 - 00:03 | Primary Action | pull | rigid pull on door handle | Pull handle along circular trajectory to open door. | Door fully open (>1.5 rad) |
| 4 | 00:03 - 00:04 | Preparation | release | none on door handle | Open gripper fingers to unclamp handle. | Door fully open, handle unclasped |
| 5 | 00:04 - 00:08 | Preparation | retract | none on none | Retract arm back to home position. | Door remains fully open |

**Changes in how force was applied.**
- Transitioned from non-contact approach to rigid grasp on handle.
- Transitioned from rigid pulling to complete release.

**Releases and repositions.**
- Contact released once door reached maximum open position.

**What copying the obvious strategy would get wrong.**
- Pulling straight back in Cartesian space instead of following arc, causing trajectory jams.

**Cautions.**
- Ensure arc motion matches door hinge radius to prevent excessive joint torque or slipping.

**Not visible in the demo.**
- Exact latch mechanism resistance before opening.

Control — no demonstration

The agent is given only the task prompt and the curated API.

19trials
11successes
5/5seeds solved
5.2mean fixes to first success
5,924,706agent tokens
20,159VLM tokens
21.3smedian trial
61%time in perception

Failure mix

KINEMATICS ×6 MOTION ×2

Every trial

seedattemptfixesoutcomerewardwalldiagnosisstatus codes
511fail0.498679.5sKINEMATICS{'SUCCESS': 360, 'IK_FAIL': 11, 'MOTION_INCOMPLETE': 8}
512success0.969671.7sPERCEPTION{'SUCCESS': 506, 'MOTION_INCOMPLETE': 5, 'NO_DETECTION': 4, 'IK_FAIL': 8}
5130fail-0.015.7sKINEMATICS{'SUCCESS': 83, 'IK_FAIL': 1}
5141fail0.28617.4sKINEMATICS{'SUCCESS': 228, 'IK_FAIL': 3}
5152fail-0.014.7sMOTION{'SUCCESS': 58, 'MOTION_INCOMPLETE': 6}
5163fail0.5721.5sKINEMATICS{'SUCCESS': 396, 'IK_FAIL': 2}
5174fail0.28128.3sKINEMATICS{'SUCCESS': 426, 'IK_FAIL': 5}
5185fail-0.037.1sKINEMATICS{'SUCCESS': 365, 'MOTION_INCOMPLETE': 95, 'IK_FAIL': 4}
5196success0.90722.8sMOTION{'SUCCESS': 314, 'MOTION_INCOMPLETE': 2}
5216success0.97721.3sCOLLISION{'SUCCESS': 347}
5316success0.92823.9sMOTION{'SUCCESS': 353, 'MOTION_INCOMPLETE': 1}
5416success0.87722.7sMOTION{'SUCCESS': 319, 'MOTION_INCOMPLETE': 2}
5516fail0.63821.4sMOTION{'SUCCESS': 319, 'MOTION_INCOMPLETE': 2}
5527success0.89116.6sMOTION{'SUCCESS': 320, 'MOTION_INCOMPLETE': 1}
51107success0.90716.6sCOLLISION{'SUCCESS': 316}
5227success0.97716.9sCOLLISION{'SUCCESS': 347}
5327success0.92818.2sMOTION{'SUCCESS': 353, 'MOTION_INCOMPLETE': 1}
5427success0.87716.9sMOTION{'SUCCESS': 320, 'MOTION_INCOMPLETE': 1}
5537success0.89116.8sMOTION{'SUCCESS': 320, 'MOTION_INCOMPLETE': 1}

Rollouts

seed 51attempt 1fixes fail · KINEMATICS · reward 0.498

solve_ik failed on 11 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 11 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • MOTION — 8 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — Peak wrist force reached 176 N. That is a jam: the controller kept driving into something rigid. Check the keyframe pair around the motion that spiked.

third-person rollout

seed 51attempt 2fixes success · PERCEPTION · reward 0.969

4 of 16 perception calls returned nothing (25%). The prompts used did not name anything the model recognises in this scene; the segmentation overlays show what it did see.

  • PERCEPTION — 4 of 16 perception calls returned nothing (25%). The prompts used did not name anything the model recognises in this scene; the segmentation overlays show what it did see.
  • KINEMATICS — solve_ik failed on 8 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • MOTION — 5 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — Peak wrist force reached 239 N. That is a jam: the controller kept driving into something rigid. Check the keyframe pair around the motion that spiked.

third-person rollout

seed 51attempt 3fixes 0fail · KINEMATICS · reward -0.0

solve_ik failed on 1 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 1 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • COLLISION — 4 primitive(s) ran with the arm already intersecting the scene.
  • MANIPULATION — The gripper held the object but the task reward stayed at zero — the pull direction or the amount of motion after the grasp did not move the mechanism.

third-person rollout

seed 51attempt 4fixes 1fail · KINEMATICS · reward 0.286

solve_ik failed on 3 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 3 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • COLLISION — 102 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 51attempt 5fixes 2fail · MOTION · reward -0.0

6 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 6 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 11 primitive(s) ran with the arm already intersecting the scene.
  • GRASP_EXECUTION — The gripper closed 2 time(s) and never made object contact — it shut on empty space. The approach pose was wrong, not the grasp itself.

third-person rollout

seed 51attempt 6fixes 3fail · KINEMATICS · reward 0.57

solve_ik failed on 2 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 2 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • COLLISION — 142 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 51attempt 7fixes 4fail · KINEMATICS · reward 0.281

solve_ik failed on 5 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 5 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • COLLISION — 101 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 51attempt 8fixes 5fail · KINEMATICS · reward -0.0

solve_ik failed on 4 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 4 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • MOTION — 95 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 90 primitive(s) ran with the arm already intersecting the scene.
  • MANIPULATION — The gripper held the object but the task reward stayed at zero — the pull direction or the amount of motion after the grasp did not move the mechanism.

third-person rollout

seed 51attempt 9fixes 6success · MOTION · reward 0.907

2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 123 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 52attempt 1fixes 6success · COLLISION · reward 0.977

140 primitive(s) ran with the arm already intersecting the scene.

  • COLLISION — 140 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 1fixes 6success · MOTION · reward 0.928

1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 146 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 54attempt 1fixes 6success · MOTION · reward 0.877

2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 128 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 55attempt 1fixes 6fail · MOTION · reward 0.638

2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 128 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 55attempt 2fixes 7success · MOTION · reward 0.891

1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 128 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 51attempt 10fixes 7success · COLLISION · reward 0.907

123 primitive(s) ran with the arm already intersecting the scene.

  • COLLISION — 123 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 52attempt 2fixes 7success · COLLISION · reward 0.977

140 primitive(s) ran with the arm already intersecting the scene.

  • COLLISION — 140 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 2fixes 7success · MOTION · reward 0.928

1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 146 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 54attempt 2fixes 7success · MOTION · reward 0.877

1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 128 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 55attempt 3fixes 7success · MOTION · reward 0.891

1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 128 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

Demonstration-conditioned

The agent reads an action plan extracted from demonstration video before writing any program.

27trials
11successes
5/5seeds solved
4.6mean fixes to first success
3,120,230agent tokens
0VLM tokens
20.2smedian trial
48%time in perception

Failure mix

MOTION ×7 PROGRAM_ERROR ×4 KINEMATICS ×2 COLLISION ×2 PERCEPTION ×1

Every trial

seedattemptfixesoutcomerewardwalldiagnosisstatus codes
511fail0.24555.6sPERCEPTION{'SUCCESS': 135, 'NO_DETECTION': 5, 'MOTION_INCOMPLETE': 3}
5120fail0.00620.2sMOTION{'SUCCESS': 120, 'MOTION_INCOMPLETE': 7}
5131fail-0.022.0sKINEMATICS{'SUCCESS': 115, 'MOTION_INCOMPLETE': 8, 'IK_FAIL': 1}
5142fail0.06.1sPROGRAM_ERROR{'SUCCESS': 1, 'EXCEPTION': 1}
514fail0.347271.8sKINEMATICS{'SUCCESS': 190, 'MOTION_INCOMPLETE': 4, 'IK_FAIL': 56, 'EXCEPTION': 1}
5162fail0.29216.2sPROGRAM_ERROR{'SUCCESS': 96, 'MOTION_INCOMPLETE': 1, 'IK_FAIL': 1}
5173success1.21424.2sMOTION{'SUCCESS': 257, 'MOTION_INCOMPLETE': 1}
5213fail0.01324.1sMOTION{'SUCCESS': 257, 'MOTION_INCOMPLETE': 1}
5313fail-0.021.4sMOTION{'SUCCESS': 251, 'MOTION_INCOMPLETE': 2}
5413fail0.73118.5sMOTION{'SUCCESS': 219, 'MOTION_INCOMPLETE': 4}
5513fail0.21514.2sPROGRAM_ERROR{'SUCCESS': 88, 'MOTION_INCOMPLETE': 1, 'EXCEPTION': 1}
532fail0.35341.7sMOTION{'SUCCESS': 139, 'MOTION_INCOMPLETE': 11}
533fail0.21350.6sMOTION{'SUCCESS': 226, 'MOTION_INCOMPLETE': 20}
534fail0.69441.6sCOLLISION{'SUCCESS': 243}
535fail0.04740.1sCOLLISION{'SUCCESS': 55}
536fail0.53341.6sMOTION{'SUCCESS': 114, 'MOTION_INCOMPLETE': 1}
5374fail0.58413.0sPROGRAM_ERROR{'SUCCESS': 165, 'MOTION_INCOMPLETE': 1, 'IK_FAIL': 11}
5385success1.0315.2sKINEMATICS{'SUCCESS': 231, 'MOTION_INCOMPLETE': 2, 'IK_FAIL': 8}
5185success1.02718.4sMOTION{'SUCCESS': 217, 'MOTION_INCOMPLETE': 2}
5225success1.06617.6sKINEMATICS{'SUCCESS': 237, 'MOTION_INCOMPLETE': 2, 'IK_FAIL': 5}
5425success1.00315.1sMOTION{'SUCCESS': 211, 'MOTION_INCOMPLETE': 2}
5525success1.01920.4sMOTION{'SUCCESS': 215, 'MOTION_INCOMPLETE': 2, 'EXCEPTION': 4}
5196success1.02719.7sMOTION{'SUCCESS': 219, 'MOTION_INCOMPLETE': 4, 'EXCEPTION': 1}
5236success1.06619.2sMOTION{'SUCCESS': 249, 'MOTION_INCOMPLETE': 4}
5396success1.0317.6sMOTION{'SUCCESS': 249, 'MOTION_INCOMPLETE': 4, 'EXCEPTION': 2}
5436success1.00321.1sMOTION{'SUCCESS': 212, 'MOTION_INCOMPLETE': 5, 'EXCEPTION': 4}
5536success1.01918.2sMOTION{'SUCCESS': 219, 'MOTION_INCOMPLETE': 4}

Rollouts

seed 51attempt 1fixes fail · PERCEPTION · reward 0.24

5 of 12 perception calls returned nothing (42%). The prompts used did not name anything the model recognises in this scene; the segmentation overlays show what it did see.

  • PERCEPTION — 5 of 12 perception calls returned nothing (42%). The prompts used did not name anything the model recognises in this scene; the segmentation overlays show what it did see.
  • MOTION — 3 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 12 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 51attempt 2fixes 0fail · MOTION · reward 0.006

7 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 7 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — Peak wrist force reached 169 N. That is a jam: the controller kept driving into something rigid. Check the keyframe pair around the motion that spiked.

third-person rollout

seed 51attempt 3fixes 1fail · KINEMATICS · reward -0.0

solve_ik failed on 1 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 1 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • MOTION — 8 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — Peak wrist force reached 155 N. That is a jam: the controller kept driving into something rigid. Check the keyframe pair around the motion that spiked.
  • MANIPULATION — The gripper held the object but the task reward stayed at zero — the pull direction or the amount of motion after the grasp did not move the mechanism.

third-person rollout

seed 51attempt 4fixes 2fail · PROGRAM_ERROR · reward 0.0

The program raised and stopped at program line 69: torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 16.00 MiB. GPU 0 has a total capacity of 7.67 GiB of which 26.31 MiB is free. Process 81482 has 4.02 GiB memory in use. Including non-PyTo

  • PROGRAM_ERROR — The program raised and stopped at program line 69: torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 16.00 MiB. GPU 0 has a total capacity of 7.67 GiB of which 26.31 MiB is free. Process 81482 has 4.02 GiB memory in use. Including non-PyTo

third-person rollout

seed 51attempt 4fixes fail · KINEMATICS · reward 0.347

solve_ik failed on 56 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 56 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • MOTION — 4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — Peak wrist force reached 140 N. That is a jam: the controller kept driving into something rigid. Check the keyframe pair around the motion that spiked.

third-person rollout

seed 51attempt 6fixes 2fail · PROGRAM_ERROR · reward 0.292

The program raised and stopped at program line 230: AssertionError: push staging unreachable at slide-in ([ 0.694 -0.08 0.68 ])

  • PROGRAM_ERROR — The program raised and stopped at program line 230: AssertionError: push staging unreachable at slide-in ([ 0.694 -0.08 0.68 ])
  • KINEMATICS — solve_ik failed on 1 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 18 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 51attempt 7fixes 3success · MOTION · reward 1.214

1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 69 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 52attempt 1fixes 3fail · MOTION · reward 0.013

1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 22 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 1fixes 3fail · MOTION · reward -0.0

2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 21 primitive(s) ran with the arm already intersecting the scene.
  • MANIPULATION — The gripper held the object but the task reward stayed at zero — the pull direction or the amount of motion after the grasp did not move the mechanism.

third-person rollout

seed 54attempt 1fixes 3fail · MOTION · reward 0.731

4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 42 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 55attempt 1fixes 3fail · PROGRAM_ERROR · reward 0.215

The program raised and stopped at program line 230: RuntimeError: no collision-free path to the requested joints

  • PROGRAM_ERROR — The program raised and stopped at program line 230: RuntimeError: no collision-free path to the requested joints
  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 18 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 2fixes fail · MOTION · reward 0.35

11 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 11 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — Peak wrist force reached 169 N. That is a jam: the controller kept driving into something rigid. Check the keyframe pair around the motion that spiked.

third-person rollout

seed 53attempt 3fixes fail · MOTION · reward 0.213

20 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 20 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 54 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 4fixes fail · COLLISION · reward 0.694

45 primitive(s) ran with the arm already intersecting the scene.

  • COLLISION — 45 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 5fixes fail · COLLISION · reward 0.047

7 primitive(s) ran with the arm already intersecting the scene.

  • COLLISION — 7 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 6fixes fail · MOTION · reward 0.533

1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 32 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 7fixes 4fail · PROGRAM_ERROR · reward 0.584

The program raised and stopped at program line 228: AssertionError: no clear push radius behind the door

  • PROGRAM_ERROR — The program raised and stopped at program line 228: AssertionError: no clear push radius behind the door
  • KINEMATICS — solve_ik failed on 11 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • MOTION — 1 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 37 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 8fixes 5success · KINEMATICS · reward 1.03

solve_ik failed on 8 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 8 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • MOTION — 2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 62 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 51attempt 8fixes 5success · MOTION · reward 1.027

2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 58 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 52attempt 2fixes 5success · KINEMATICS · reward 1.066

solve_ik failed on 5 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.

  • KINEMATICS — solve_ik failed on 5 pose(s): out of reach or unreachable at the requested orientation. Try a different approach orientation or move the target closer to the base.
  • MOTION — 2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 62 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 54attempt 2fixes 5success · MOTION · reward 1.003

2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 56 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 55attempt 2fixes 5success · MOTION · reward 1.019

2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 2 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 59 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 51attempt 9fixes 6success · MOTION · reward 1.027

4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 58 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 52attempt 3fixes 6success · MOTION · reward 1.066

4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 62 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 53attempt 9fixes 6success · MOTION · reward 1.03

4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 62 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 54attempt 3fixes 6success · MOTION · reward 1.003

5 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 5 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 56 primitive(s) ran with the arm already intersecting the scene.

third-person rollout

seed 55attempt 3fixes 6success · MOTION · reward 1.019

4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.

  • MOTION — 4 motion(s) did not reach the commanded target — the arm was in contact while moving, so it was obstructed.
  • COLLISION — 59 primitive(s) ran with the arm already intersecting the scene.

third-person rollout