What they did
Gharsallah Abderrahmen connected Claude Opus 5 straight to a six-servo LeRobot SO-101 arm instead of recording demonstrations and training a policy. A Python bridge owns the motors and runs a 30 Hz loop; the model sends goals such as joint targets, paths or actions like paint and chess_move, and reads back joint angles, motor load, tool-tip height and guard events. An overhead camera and a wrist camera feed OpenCV, which turns frames into facts like board position and square occupancy. The bridge enforces joint limits, a 12 degree per-command cap, a floor guard fitted to the table, stall detection, a half-strength gripper and a STOP button. For painting, the author taught it the paper corners, each paint pan and the water cup. For chess, Stockfish picks the moves and python-chess checks them, and the model only does the physical pick and place.
How it went
The arm painted a landscape in 84 strokes with 4 colour changes in about 31 minutes and signed it Claude. Early runs muddied colours and pressed the brush into the table because the arm sags 1.5 to 2 cm under load, which was fixed with a height map, more water dips and rules about spacing. Chess is not finished: it has made real moves including a camera-verified 2.Nc3, reaches all 64 squares but can grasp on only 60, and has 1 to 2 cm of error. A step mode with a check after each sub-move works but takes several minutes per move.
Worth knowing
The author says most of the work went into guardrails and calibration rather than prompts, and the safety layer was built before the model moved anything. Plastic jaws could not hold pieces until rubber finger cots went over them. Only Opus 5 was tried, and the harness used to connect it is not named beyond the author's own bridge.