Suggestion / Idea: When in PUMP mode, add G CODE command for sensorless Z axis stallguard probing - Maybe SEEKZ or something like that. This way, once object location x,y identified, the pneumatic picker could seek downward to establish contact with an object. Once established due to stall guard event, return OK. Then we could call PICK and move the arm.
This would allow the arm to pick up objects of different sizes and heights, leveraging the stallguard sensorless homing normally associated with bed leveling to be used for the picker.
Disallow this command if not in PUMP mode.