Skip to content

Gripper

The move command, its answer, and the gripper calibration. How the gripper works explains what the gripper does with them.

Send_gripper_data_pack

ID 61host → driver0 or 5 bytesPython: Send_gripper_data_pack()

The gripper command, for a driver set up as a gripper (#Gripper 1, saved). Position, speed and the current limit of the move, plus the activate, action and E-stop bits. A move is carried out only while the gripper is calibrated, activated and the action bit is 1. An empty frame (0 bytes) only asks for the state. The answer is sent before the driver acts on the frame, so it carries the state from before it. While the gripper calibration runs, send only the empty frame: a full one ends the calibration.

5 bytes

Byte Bit Field Type Meaning
0 Position unsigned 8-bit 0 fully open, 255 fully closed
1 Speed unsigned 8-bit 0 slowest, 255 fastest
2-3 Current signed 16-bit current limit of the move in mA, the grip force; not clamped by the firmware, see Force and speed for the safe range
4 7 Activate bit 1 activate the gripper, 0 deactivate
4 6 Action bit 1 go to the position, 0 idle
4 5 E-stop bit 1 raises the gripper E-stop error, again at every cycle while the last command's bit is 1
4 4 Release direction bit read by the firmware but not used

The driver answers with Respond_Gripper_data_pack.


Respond_Gripper_data_pack

ID 60driver → host4 bytes

The driver's answer to Send_gripper_data_pack: position, measured current, and the state bits. Python attributes gripper_position, gripper_current, gripper_activated, gripper_action_status, gripper_object_detection, gripper_temperature_error, gripper_timeout_error, gripper_estop_error, gripper_calibrated.

The frame (4 bytes)

Byte Bit Field Type Meaning
0 gripper_position unsigned 8-bit 0 fully open, 255 fully closed
1-2 gripper_current signed 16-bit measured current in mA
3 7 gripper_activated bit 1 activated
3 6 gripper_action_status bit the action bit of the last command, as received; stays 1 while holding, not changed by the calibration
3 5-4 gripper_object_detection 2 bits bit 5 is the low bit, bit 4 the high bit: 0 moving, 1 object detected while closing, 2 object detected while opening, 3 at the position
3 3 gripper_temperature_error bit
3 2 gripper_timeout_error bit
3 1 gripper_estop_error bit
3 0 gripper_calibrated bit 1 calibrated

Send_gripper_calibrate

ID 62host → driver0 bytesPython: Send_gripper_calibrate()

Starts the gripper calibration (the jaws find their end stops). Needed after every power-up. It has no answer: poll with empty Send_gripper_data_pack frames until the calibrated bit is 1, and send nothing else meanwhile, since a full gripper command or Send_Clear_Error ends the calibration. With an error active the request is dropped: clear first.

The driver does not answer this command.


Comments


Found a mistake on this page? Edit it on GitHub · Report it · Get help · This page as Markdown · llms.txt · The whole manual as PDF