open_gripper¶
Queued EXEC mode Enabled Homed Takes control
Open the gripper's jaws fully, as a queued command. The jaws move to position 1, next to the open end (0) of the gripper's 0 to 255 scale, at speed 100 of 255 and with at most 200 mA. The command waits in the queue like a move, but the robot does not wait for a move to finish: it starts the jaws as soon as it has sent the moves queued before it. So the jaws can open while the arm still moves, and a move queued after it starts while the jaws still move.
The command has settled when the jaws are within 5 of their target, or when the gripper steadily reports that they reached it or that something stopped them. gripper_result() then says which, and wait_released_part() raises GripFailed unless the jaws opened clear.
Syntax¶
Arguments¶
| Name | Type | Default | Description |
|---|---|---|---|
timeout |
float |
120.0 |
Seconds to wait for the jaws to settle, in sync mode only. |
**options |
Any |
each setting's own | Settings for this move only. Each one you leave out takes its default: speed = 100 % accel = 100 % duration = none (the speed decides) profile = "ruckig" jerk = 100 % ramp_fraction = 0.25 blend = 0 blend_mode = "exact_velocity" blend_continuity = "c1" ik_solver = "pinocchio" singularity_strategy = "stop" samples = automatic dry_run = False |
Returns¶
str
The command id. The call returns once the robot has accepted the command; call wait_gripper_move_complete() to wait until the jaws have settled. In sync mode the call returns when they have settled.
Examples¶
Further details¶
Note
The gripper has one target at a time. A gripper command that starts
before the previous one has settled replaces it, and the previous one
fails with SUPERSEDED. Call wait_gripper_move_complete() between
two gripper commands.
Further details¶
Warning
The jaws move with force. Keep hands away from them.
stop(), disable() and an error stop the jaws where they are.
Usage restrictions 14 codes
This command is added to the robot's motion queue. The robot accepts it only when it is ready for motion (EXEC mode, enabled and homed), from the client that holds control or when no client does. Otherwise, the robot refuses it with one of:
- [6010] Command not allowed now — the message names the mode or state it needs
- [6101] Control held by another client — another client holds control; the message names it
- [5002] Program aborted — an earlier move failed; clear errors first
- [6004] Invalid motion options — a setting is unknown, out of range, or refused for a single move
- [6011] Motion queue full
Once accepted, the move can still fail before it starts:
- [2304] Gripper did not settle — the jaws had neither reached the target nor reported an object 5 s after the command started. The commands queued after it still run
- [6020] Gripper command replaced — another gripper command started before this one settled and replaced its target. The commands queued after it still run
- [6023] No gripper — the robot has no CAN gripper; nothing is queued
- [6024] Gripper in motor mode — the gripper is in motor mode (
set_gripper_ctrl_mode()); nothing is queued - [5001] Trajectory planning failed
- [3201] Trajectory not taken by RTI
A move that has started can end early with:
- [5003] Command cancelled — an earlier move failed, or the robot left EXEC mode
- [5004] Command stopped —
stop()was called - [5005] Move did not settle — only with
set_completion_policy("strict")
In Python, a refusal raises CommandRejected; its number is the code above. A failure after the robot accepted the move is raised by wait_idle() as MotionFailed, or by this call itself in sync mode as CommandRejected. No answer raises RobotTimeout; no connection, RobotConnectionError.
Protocol¶
A client that does not use robotclient sends this over the TCP command protocol (port 29000) for the example above: