> ## Documentation Index
> Fetch the complete documentation index at: https://docs.generalrobotics.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# RobotiqEPick

## RobotiqEPick

Inherits from: [`SuctionGripper`](/robot-api/reference/robot/arm/end_effector/ur5e/suction_gripper/SuctionGripper)

Communicates with the gripper directly, via socket with string commands, leveraging string names for variables.

Attributes:
ACT (str): Activate (1 while activated, can be reset to clear fault status)
GTO (str): Go to (will perform go to with the actions set in pos, for, spe)
ATR (str): Auto-release (emergency slow move)
MOD (str): Mode (0 = automatic, 1 = advanced)
FR (str): Minimum pressure
PR (str): Max/ target pressure
SP (str): Timeout for suction
STA (str): Status (0 = is reset, 1 = activating, 3 = active)
PRE (str): Position request (echo of last commanded position)
OBJ (str): Object detection
FLT (str): Fault (0=ok, see manual for errors if not zero)

### **init**

```python theme={null}
RobotiqEPick.__init__(advanced_mode: bool = False)
```

Initialize a new RobotiqEPick instance.

<ResponseField name="Arguments">
  <ParamField query="advanced_mode (bool)" type="bool">
    *No description provided.*
  </ParamField>
</ResponseField>

### connect

```python theme={null}
RobotiqEPick.connect(hostname: str, port: int, socket_timeout: float = 2.0) -> None
```

Connect to a suction gripper at the given address.

<ResponseField name="Arguments">
  <ParamField query="hostname (str)" type="str" required>
    Hostname or ip.
  </ParamField>

  <ParamField query="port (int)" type="int" required>
    Port.
  </ParamField>

  <ParamField query="socket_timeout (float)" type="float">
    Timeout for blocking socket operations.
  </ParamField>
</ResponseField>

<ResponseField name="Returns">
  <ResponseField name="returns" type="None" />
</ResponseField>

### disconnect

```python theme={null}
RobotiqEPick.disconnect() -> None
```

Close the connection with the suction gripper.

<ResponseField name="Returns">
  <ResponseField name="returns" type="None" />
</ResponseField>

### initialize

```python theme={null}
RobotiqEPick.initialize(*args, **kwargs)
```

Connect to the IP/port of the gripper and set it to an active state.

<ResponseField name="Arguments">
  <ParamField query="args" type="">
    *No description provided.*
  </ParamField>

  <ParamField query="kwargs" type="">
    *No description provided.*
  </ParamField>
</ResponseField>

### activate

```python theme={null}
RobotiqEPick.activate(*args, **kwargs)
```

Reset activation flag and reactivate suction gripper, clearing previous fault flags.

When gripping an object in the automatic mode, the Vacuum Gripper will:
1 Try to reach the maximum possible vacuum level for a maximum period of 2 seconds.
2 Directly activate the continuous mode if the maximum vacuum level detected is under 30%.
3 Automatically determine a desired minimum and maximum vacuum level in order to keep a good grip on the workpiece, if a
vacuum level of more than 10% is detected and the level seems constant.
4 Set the object flag.
5 Vacuum generator will keep the vacuum level in between min and max until a release command is received.
6 Activate a time-out regrip for the object detection if:
i. The vacuum level drops under 10% ;
ii. The object status is 0. This means that the vacuum level dropped under the minimum level for more than 1 second.
When releasing an object in the automatic mode, the Vacuum Gripper will:
1 Open the release valve.
2 Object drop flag will be set when the vacuum level falls below 0.5%.
3 Release valve will be kept open for 1 second.

When gripping an object in the manual mode with a maximum vacuum level that can’t be reached or that reached 100%, the Vacuum
Gripper will:
1 Continuously generate a vacuum
2 When the minimum vacuum level is reached, object flag will be set (gOBJ=0b01). Object flag (gOBJ=0b10) will never be set
because the maximum vacuum level is impossible to reach.
3 Activate a time-out regrip for the object detection if:
i. The vacuum level drops under 10% ;
ii. The object status is 0. This means that the vacuum level dropped under the minimum level for more than 1 second.
When releasing an object in the manual mode, the Vacuum Gripper will:
1 Open the release valve.
2 Object drop flag will be set when the vacuum level falls below 0.5%.
3 Release valve will be kept open for 1 second.

<ResponseField name="Arguments">
  <ParamField query="args" type="">
    *No description provided.*
  </ParamField>

  <ParamField query="kwargs" type="">
    *No description provided.*
  </ParamField>
</ResponseField>

### is\_active

```python theme={null}
RobotiqEPick.is_active()
```

Check if the suction gripper is active.

<ResponseField name="Returns">
  <ResponseField name="bool" type="">
    True if suction gripper is active.
  </ResponseField>
</ResponseField>

### get\_grip\_detected

```python theme={null}
RobotiqEPick.get_grip_detected() -> bool
```

*No docstring provided.*

<ResponseField name="Returns">
  <ResponseField name="returns" type="bool" />
</ResponseField>

### grasp\_status

```python theme={null}
RobotiqEPick.grasp_status() -> ObjectStatus
```

*No docstring provided.*

<ResponseField name="Returns">
  <ResponseField name="returns" type="ObjectStatus" />
</ResponseField>

### set\_advanced\_mode

```python theme={null}
RobotiqEPick.set_advanced_mode(advanced_mode: bool)
```

*No docstring provided.*

<ResponseField name="Arguments">
  <ParamField query="advanced_mode (bool)" type="bool" required>
    *No description provided.*
  </ParamField>
</ResponseField>

### open

```python theme={null}
RobotiqEPick.open(*args, **kwargs)
```

Release the object by opening the release valve, setting POS to 255.

<ResponseField name="Arguments">
  <ParamField query="args" type="">
    *No description provided.*
  </ParamField>

  <ParamField query="kwargs" type="">
    *No description provided.*
  </ParamField>
</ResponseField>

### close

```python theme={null}
RobotiqEPick.close(*args, **kwargs)
```

Closes the suction gripper, if in advanced mode, can set the pressure, timeout, and release mode.

<ResponseField name="Arguments">
  <ParamField query="args" type="">
    *No description provided.*
  </ParamField>

  <ParamField query="kwargs" type="">
    *No description provided.*
  </ParamField>
</ResponseField>

### detect\_porus\_object

```python theme={null}
RobotiqEPick.detect_porus_object()
```

Detects porous objects by checking the FAULT flag.

### get\_tool\_center\_wrt\_arm

```python theme={null}
RobotiqEPick.get_tool_center_wrt_arm()
```

*No docstring provided.*
