XLeRobot · cup grasp · 2026-09-06

Where to put the cup

Top-down view of the table. Every number measured from the 40 training episodes.

Directly in front of the RIGHT shoulder, between the shoulder and the elbow.
The band is narrow — about 2 cm wide. Sideways counts too.

⬇ Download as PDF (print it and tape it to the table)

1 · Bird’s-eye view of the table

TABLE (top-down) far edge ↑ ROBOT LEFT ARM use it as the ruler upper arm 116 mm forearm 135 mm RIGHT ARM this is the one being tested PUT IT HERE 50–90 mm in front of the right shoulder shoulder — 0 mm ELBOW — 116 mm nothing was ever grasped past here TOO FAR (this is where the cup was on 2026-09-06) only ~2 cm wide → ← sideways of this strip   is out of distribution too

Both arms seen from above, reaching away from you. Dark green = where the gripper actually closed in the 40 demonstrations (middle 80 %). Light green = the full observed range. Red = beyond the elbow, where the training data has nothing at all.

2 · The numbers behind the picture

Measured at the moment the gripper closed, in all 40 training episodes:

 MedianFull rangeMiddle 80 %
Forward from the right shoulder62 mm28 – 123 mm37 – 118 mm
Sideways from straight ahead−1 mm−18 – +1 mm−7 – +1 mm
Shoulder pan angle−0.7°−11.5° – +1.7°−8.5° – +0.7°
The sideways spread is tiny: about 19 mm in total. Every demonstration grasped the cup essentially straight ahead of the right shoulder. Moving the cup left or right takes it out of distribution just as surely as moving it too far away.

3 · Two ways to place it — they should agree

MethodWhat to do
A. Use the left arm as a rulerStretch the left arm straight forward and look at where its elbow lands. Put the cup at the same depth, but in front of the right shoulder — and slightly closer than the elbow, around the middle of the upper arm.
B. Use the head cameraOpen the preview next to the stored reference frame (/api/reference/head?i=0) and move the cup until it sits at the same place in the picture. Higher in the frame = further away.
If the two disagree, trust the camera. The policy sees pixels, not millimetres.

4 · What happened on 2026-09-06

The cup was placed at 120–175 mm — starting at the elbow and going well past it. Almost none of that band overlaps the training data.

The arm kept knocking the cup over instead of grasping it. Two trials looked like successes, but in both a person had put the cup back by hand mid-trial. Re-judged as void, the batch is 0 / 8.

The trajectories agree: the gripper spent much of its time at 128–215 mm — up to 86 % of full reach. In one trial only 6 % of frames fell inside the demonstrated band, and it looked, in the operator’s words, like the arm was “just twitching in place”.

5 · While a trial runs

What you seeWhat it means
Arm moves continuously toward the cupIn distribution. Let it run.
Arm twitches in place or drifts outwardThe cup is somewhere the policy has never seen. This trial is already lost.
Arm knocks the cup overSame cause — the approach path is wrong, not the grip.
Someone has to put the cup back mid-trialNot a success. Mark it void and write down what happened.

6 · If you want it to work further out, or off to the side

That is a data question, not a tuning question. In imitation learning the demonstrations are the syllabus. To grasp a cup at 150 mm, or 3 cm to the left, record demonstrations there. Right now there are none, so the policy cannot know what to do.

Measured on this robot, 2026-09-06. Segment lengths from SO101Kinematics (upper arm 115.9 mm, forearm 135.0 mm). Grasp positions computed from all 40 episodes of xlerobot-right-pick-cup-20260826-0042 at the frame where the gripper closed, via arm_kinematics.forward() plus the shoulder-pan angle. Self-contained page — no external fonts, scripts or images.