4. Control

Info

Unless specified, all values in this section are in hexadecimal values.

 

4.1. Overview

The Robotiq Hand-E Gripper is controlled directly via Modbus RTU using a RS485 signal. It can also be controlled via an optional Robotiq Universal Controller using an industrial protocol (refer to the instruction manual of the Robotiq Universal controller). The programming of the Gripper can be done with the Teach Pendant of the robot or by offline programming. The communication method used to control the Hand-E Gripper does not change the control logic or register setups described in the following subsections.

Tip

Robotiq suggests using the Robotiq User Interface test software to explore the various features of the Gripper, like object detection and force control.

Since the Robotiq Hand-E Gripper has its own embedded controller, high-level commands, such as "Go to requested position" are used to control it.

Info

The operator can:
- Control force, speed and position of the Gripper fingers.
- Finger movement is always synchronized, movement is initiated via a single "Go to requested position" command.
- Parallel or encompassing grip is performed automatically.
- A built-in object detection feature is available; the user can be notified after an object is picked once the "Go to" command has been initiated.
- Engage directional (open or close) auto-release for emergencies.

 

Control using registers

The Gripper has an internal memory that is shared with the robot controller. One part of the memory is for the robot output; gripper functionalities. The other part of the memory is for the robot input; gripper status. Two types of actions can then be performed by the robot controller :

  1. Write in the robot output registers to activate functionalities;
  2. Read in the robot input registers to get the status of the Gripper.

The Gripper Register Mapping section will map the different registers used to control the Gripper or to read its status while theRobot Output Registers & Functionalities section will detail the output (write) register functions, and the Robot Input Registers & Status section will detail the input (read) register status. The figure below is a representation of the memory and the control logic of the Gripper.

Fig. 4-1: Hand-E control logic overview

 

4.2. Gripper Register Mapping

Register mapping

Caution

Byte numbering starts at zero and not at 1 for the functionalities and status registers.

 

Register

Robot Output / Functionalities

Robot Input / Status

Byte 0

ACTION REQUEST

GRIPPER STATUS

Byte 1

RESERVED

RESERVED

Byte 2

RESERVED

FAULT STATUS

Byte 3

POSITION REQUEST

POS REQUEST ECHO

Byte 4

SPEED

POSITION

Byte 5

FORCE

CURRENT

Byte 6 to 15

RESERVED

RESERVED

Table 4-1: Registers of the Hand-E Gripper.

4.3. Robot Output Registers & Functionalities

Register: ACTION REQUEST

Address: Byte 0

Bits

7

6

5

4

3

2

1

0

Symbols

Reserved

rARD

rATR

rGTO

Reserved

rACT

rACT

First action to be made prior to any other actions; the rACT bit will activate the Gripper. Clear the rACT bit to reset the Gripper and clear any fault status.

 

Warning

When setting rACT (rACT ==1), the Gripper will begin movement to complete its activation feature.

Info

Power loss will set rACT (rACT == 1); the rACT bit must then be cleared (rACT == 0), then set again to allow operation of the Gripper.

Caution

The rACT bit must stay on afterwards for any other action to be performed.

rGTO

The "Go To" action moves the Gripper fingers to the requested position using the configuration defined by the other registers, rGTO will engage motion while bytes 3, 4 and 5 will determine aimed position, force and speed. The only motions performed without the rGTO bit are activation and automatic release routines.

rATR

Automatic Release routine action slowly opens the Gripper fingers until all motion axes reach their mechanical limits. After all motions are completed, the Gripper sends a fault signal and needs to be reinitialized before any other motion is performed. The rATR bit overrides all other commands excluding the activation bit (rACT).

Caution

The automatic release is meant to disengage the Gripper after an emergency stop of the robot.
The automatic release is not intended to be used under normal operating conditions.
Automatic release requires the rACT to be cleared (rACT == 0) then set (rACT == 1).

 

rARD

Auto-release direction. When auto-releasing, rARD commands the direction of the movement. The rARD bit should be set prior to or at the same time as the rATR bit, as the motion direction is set when the auto-release is initiated.

 

Register: GRIPPER OPTIONS

Address: Byte 1

Bits

7

6

5

4

3

2

1

0

Symbol

Reserved

 

 

Register: GRIPPER OPTIONS 2

Address: Byte 2

Bits

7

6

5

4

3

2

1

0

Symbol

Reserved

 

Register: POSITION REQUEST

Address: Byte 3

Bits

7

6

5

4

3

2

1

0

Symbol

rPR

 

This register is used to set the target position for the Gripper's fingers. The positions 0x00 and 0xFF correspond respectively to the fully opened and fully closed mechanical stops. For detailed finger trajectory, please refer to the Specifications section.

Info

The activation will allow the Gripper to adjust to any fingers/fingertips. No matter what is the size and/or shape of the fingers/fingertips, 0 will always be fully opened and 245 fully closed, with a quasi-linear relationship between the two values.

 

Register: SPEED

Address: Byte 4

Bits

7

6

5

4

3

2

1

0

Symbol

rSP

 

This register is used to set the Gripper closing or opening speed in real time, however, setting a speed will not initiate a motion.

Register: FORCE

Address: Byte 5

Bits

7

6

5

4

3

2

1

0

Symbol

rFR

 

The force setting defines the final gripping force for the Gripper. The force will fix the maximum current sent to the motor . If the current limit is exceeded, the fingers stop and trigger an object detection notification. Please refer to the Picking Features section for details on force control.

Info

Register bytes 6 to 15 are reserved and should be set to 0.

4.4. Robot Input Registers & Status

Register: GRIPPER STATUS

Address: Byte 0

Bits

7

6

5

4

3

2

1

0

Symbols

gOBJ

gSTA

gGTO

Reserved

gACT

gACT

Activation status, echo of the rACT bit (activation bit).

 

gGTO

Action status, echo of the rGTO bit (go to bit).

 

gSTA

Gripper status, returns the current status and motion of the Gripper fingers.

 

gOBJ

Object detection status, is a built-in feature that provides information on possible object pick-up. Ignore if gGTO == 0.

Caution

In some circumstances the object detection feature may not detect an object even if it is successfully grasped. For instance, picking up a thin object may be successful without the object detection status being triggered. In such applications, the "Fingers are at requested position" status of register gOBJ is sufficient to proceed to the next step of the routine.

Tip

Checking for the correct position of the fingers (byte 4), as well as object detection (byte 0, bit 6 & 7) before proceeding to the next step of a routine is a more reliable method than object detection or finger position alone.

 

Register: RESERVED

Address: Byte 1

Bits

7

6

5

4

3

2

1

0

Symbol

Reserved

 

Register: FAULT STATUS

Address: Byte 2

Bits

7

6

5

4

3

2

1

0

Symbols

kFLT

gFLT

 

gFLT

Fault status returns general error messages that are useful for troubleshooting. Fault LED (red) is present on the Gripper chassis, LED can be blue, red or both and be solid or blinking.

Minor faults (solid red LED)

Major faults (LED blinking red/blue) - Reset is required (rising edge on activation bit (rACT) needed).

Info

While booting, status LED will be solid blue/red.

kFLT

please refer to your optional controller manual (input registers and status).

 

Register: POSITION REQUEST ECHO

Address: Byte 3

Bits

7

6

5

4

3

2

1

0

Symbol

gPR

gPR

Echo of the requested position for the Gripper, value between 0x00 and 0xFF.

 

Register: POSITION

Address: Byte 4

Bits

7

6

5

4

3

2

1

0

Symbol

gPO

gPO

Actual position of the Gripper obtained via the encoders, value between 0x00 and 0xFF.

 

Register: CURRENT

Adress: Byte 5

Bits

7

6

5

4

3

2

1

0

Symbol

gCU

gCU

The current is read instantaneously from the motor drive, value between 0x00 and 0xFF, approximate current equivalent is 10 * value read in mA.

Tip

Built-in features like object detection and force control use the fingers' electrical current readings. The user does not need to create these features.

4.5. Picking Features

As stated in previous sections, object picking is done via a simple "Go To" command, rGTO bit calls for movement, while rPR byte is the aimed position, rSP and rFR will be the desired speed and force settings respectively. This section describes key features in object picking applications:

 

4.5.1. Force control

The gripping force is controlled via the rFR byte (please refer to the Robot Output Registers & Functionalities section).The Gripper behavior will change according to the rFR force requested.

Measured grip force for steel of specific hardness (Vickers)

Coming soon

 

Measured grip force for silicone of specific hardness (Durometer)

Coming soon

 

4.5.2. Re-Grasp

Re-grasp feature is a built-in feature meant to prevent object lost due to slipping or inaccurate initial grip. The Re-grasp feature will allow the Gripper to initiate a movement when an object is slipping or dropped. When Re-grasping, the Gripper will attempt to close until it reaches the position request (rPR).

Info

Feature is off at force request rFR = 0, otherwise it is on.

Info

While your initial settings for force and speed are not used for Re-grasp, they will never be eceeded to prevent damaging the part.

 

Caution

The rOBJ status is cleared when a motion is detected.

4.5.3. Object detection

When the Gripper grabs an object, the gOBJ status will allow you to know if contact with the object was successful. This is a built-in feature for adaptive grippers meant to be used by the robot controller (or PLC) commanding the overall application. The Object detection feature will change the gOBJ status and can be used inside your robot program.

As stated in the previous section:

gOBJ: Only valid if gGTO = 1.

 

Example of contact detected with an object:

  1. Set position, speed and force at maximum (full closing):
    1. rPR == 0xFF, rSP == 0xFF, rFR ==0xFF,
  2. Set ''go to requested'' will initiate movement :
    1. rGTO == 0x01
  3. Then object detection status will be "in motion"
    1. gOBJ == 0x00
  4. Until an object is picked, object detection status will then be "stopped due to contact while closing"
    1. gOBJ == 0x02
  5. The user can now assume it is holding the payload, and proceed to the next step.

 

Example of contact lost with an object:

  1. From the previous example, after an object is picked
    1. gOBJ == 0x02
  2. If the gOBJ status displays 0x03 after it was 0x02, user can assume contact with the object has been lost.

 

4.5.4. Brake engagement

The Hand-E Gripper is equipped with a brake that engages at the end of each and every Gripper move, and thus disengages between each of these moves.

For instance, when fully closing on an object, the Gripper makes contact with the surface of the object and activates the brake before sending the object detection signal to the robot.

4.6. Control Logic Example


Fig. 4-2: Example of Gripper control logic with corresponding registers.

4.7. Modbus RTU Communication

The Gripper can be controlled by Modbus RTU directly with RS485 or over USB using the ACC-ADT-USB-RS485. This section is intended to provide guidelines for setting up a Modbus master that will adequately communicate with the Gripper.

For a general introduction to Modbus RTU and for details regarding the CRC algorithm, the reader is invited to read the Modbus over serial line specification and implementation guide available at: http://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf.

For debugging purposes, the reader is also invited to download one of many free Modbus scanners such as the CAS Modbus Scanner from Chipkin Automation Systems available at: http://www.store.chipkin.com/products/tools/cas-modbus-scanner.

Info

Modbus RTU is a communication protocol based on a Big Endian byte order. Therefore, the 16-bit register addresses are transmitted with the most significant byte first. However, the data port is in the case of Robotiq products based on the Little Endian byte order. As such, the data parts of Modbus RTU messages are sent with the less significant byte first.

Tip

Modbus RTU specifications and details can be found at www.modbus.org.

4.7.1. Connection Setup

The following table describes the connection requirements for controlling the Gripper using the Modbus RTU protocol.

PROPRIETY

DEFAULT VALUE

Physical Interface

RS-4851

Baud Rate2

115,200 bps

Data Bits

8

Stop Bit2

1

Parity2

None

Supported Functions

Read Holding Registers (FC03)

Read Input Registers (FC04)

Preset Multiple Registers (FC16)

Master read & write multiple registers (FC23)

Exception Responses

Not supported

Slave ID2

0x0009 (9)

Robot Output / Gripper Input First Register

0x03E8 (1000)

Robot Input / Gripper Output First Register

0x07D0 (2000)

Termination Resistor2

120 ohms

 

1 Various converters are available in the Spare Parts, Kits and Accessories section.

2 These parameters can be adjusted using the Robotiq User Interface.

Each register (word - 16 bits) of the Modbus RTU protocol is composed of 2 bytes (8 bits) from the Gripper. The first Gripper output Modbus register(0x07D0) is composed from the first 2 Robotiq Gripper bytes (byte 0 and byte 1).

Info

200 Hz is the maximum speed when commanding / reading from the Robotiq Gripper. It is therefore recommended to send commands with a minimum delay of 5 ms between them.

Info

120 Ohms termination resistor is already present on the converter and the Gripper. If multiple grippers are connected in parallel on the same RS485 cable, termination resistor must be set to OFF in communication parameters.

4.7.2. Read holding registers (FC03)

Function code 03 (FC03) is used for reading the status of the Gripper (robot input). Examples of such data are Gripper status, object status, finger position, etc.

Example of an FC03 read function:

This message asks for register 0x07D0 (2000) and register 0x07D1 (2001) which contains Gripper Status, Object Detection, Fault Status and Position Request Echo.

 

Request is: 09 03 07 D0 00 02 C5 CE

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

07D0

Address of the first requested register

0002

Number of registers requested (2)

C5CE

Cyclic Redundancy Check (CRC)

 

Response is: 09 03 04 E0 00 00 00 44 33

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

04

Number of data bytes to follow (2 registers x 2 bytes/register = 4 bytes)

E000

Content of register 07D0

0000

Content of register 07D1

4433

Cyclic Redundancy Check (CRC)

4.7.3. Read input registers (FC04)

Function code 04 (FC04) is used for requesting the status of the Gripper's analog input register. Examples of such data are Gripper status, object status, finger position, etc.

Example of an FC04 read function:

This message asks for register 0x07D0 (2000) and register 0x07D1 (2001) which contains Gripper Status, Object Detection, Fault Status and Position Request Echo.

 

Request is: 09 04 07 D0 00 02 70 0E

Bits

Description

09

SlaveID

04

Function Code 04 (Read Input Registers)

07D0

Address of the first requested register

0002

Number of registers requested (2)

700E

Cyclic Redundancy Check (CRC)

 

Response is: 09 04 04 E0 00 00 00 44 33

Bits

Description

09

SlaveID

04

Function Code 04 (Read Holding Registers)

04

Number of data bytes to follow (2 registers x 2 bytes/register = 4 bytes)

E000

Content of register 07D0

0000

Content of register 07D1

4584

Cyclic Redundancy Check (CRC)

4.7.4. Preset multiple registers (FC16)

Function code 06 (FC16) is used to activate functionalities of the Gripper (robot output). Examples of such data are action request, speed, force, etc.

Example of setting multiple registers FC16:

This message requests to set position request, speed and force of the Gripper by setting register 0x03E9 (1002) and 0x03EA.

 

Request is: 09 10 03 E9 00 02 04 60 E6 3C C8 EC 7C

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E9

Address of the first register

0002

Number of registers written to

04

Number of data bytes to follow (2 registers x 2 bytes/register = 4 bytes)

60E6

Value written to register 0x03E9

3CC8

Value written to register 0x03EA

EC7C

Cyclic Redundancy Check (CRC)

 

Response is: 09 10 03 E9 00 02 91 30

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E9

Address of the first register

0002

Number of written registers

9130

Cyclic Redundancy Check (CRC)

4.7.5. Master read & write multiple registers FC23

Function code 23 (FC23) is used for reading the status of the Gripper (robot input) and activating functionalities of the Gripper (robot output) simultaneously. Examples of such data are Gripper status, object status, finger position, etc. Action requests are speed, force, etc.

Example of reading and writing multiple registers FC23:

This message reads registers 0x07D0 (2000) and 0x07D1 (2001), which contains Gripper Status, Object Detection, Fault Status and Position Request Echo. It also sets the position request, speed and force of the Gripper by writing to registers 0x03E9 (1001) and 0x03EA (1002).

 

Request is: 09 17 07 D0 00 02 03 E9 00 02 04 00 E6 3C C8 2D 0C

Bits

Description

09

SlaveID

17

Function Code 23 (read and write multiple registers)

07D0

Address of the first requested register, read

0002

Number of registers requested (2), read

03E9

Address of the first register written to

0002

Number of registers written to (3)

04

Number of data bytes to follow (2 registers X 2 bytes/registers = 4 bytes)

00E6

Value written to register 0x03E9

3CC8

Value written to register 0x03EA

2D0C

Cyclic Redundancy Check (CRC)

 

Response is: 09 17 04 01 00 09 E6 F6 C1

Bits

Description

09

SlaveID

17

Function Code 23 (read and write multiple registers)

04

Number of data bytes to follow (2 registers x 2 bytes/register = 4 bytes)

1000

Content of register 07D0

09E6

Content of register 07D1

F6C1

Cyclic Redundancy Check (CRC)

Note that the content of the response might change depending on the Gripper's status.

 

Info

The Gripper will execute the input command (i.e.: write), execute one cycle of motion, update the output, then return the Modbus response read.

4.7.6. Modbus RTU example

This section depicts the example from the Control Logic Example section, when programmed using the Modbus RTU protocol. The example is typical of a pick and place application. After activating the Gripper, the robot is moved to a pick-up location to grip an object. It moves again to a second location to release the gripped object.

Step 1: Activation Request ( clear and set rACT)

Request is (clear rAct): 09 10 03 E8 00 03 06 00 00 00 00 00 00 73 30

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E8

Address of the first register

0003

Number of registers written to

06

Number of data bytes to follow (3 registers x 2 bytes/register = 6 bytes)

0000

Value to write to register 0x03E9 (ACTION REQUEST = 0x01 and GRIPPER OPTIONS = 0x00): rACT = 1 for "Activate Gripper"

0000

Value written to register 0x03EA

0000

Value written to register 0x03EB

7330

Cyclic Redundancy Check (CRC)

 

Response is: 09 10 03 E8 00 03 01 30

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E8

Address of the first register

0003

Number of written registers

0130

Cyclic Redundancy Check (CRC)

Request is (set rAct): 09 10 03 E8 00 03 06 01 00 00 00 00 00 72 E1

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E8

Address of the first register

0003

Number of registers written to

06

Number of data bytes to follow (3 registers x 2 bytes/register = 6 bytes)

0100

Value to write to register 0x03E9 (ACTION REQUEST = 0x01 and GRIPPER OPTIONS = 0x00): rACT = 1 for "Activate Gripper"

0000

Value written to register 0x03EA

0000

Value written to register 0x03EB

72E1

Cyclic Redundancy Check (CRC)

 

Response is: 09 10 03 E8 00 03 01 30

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E8

Address of the first register

0003

Number of written registers

0130

Cyclic Redundancy Check (CRC)

Step 2: Read Gripper status until the activation is completed

Request is: 09 03 07 D0 00 01 85 CF

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

07D0

Address of the first requested register

0001

Number of registers requested (1)

85CF

Cyclic Redundancy Check (CRC)

 

Response (if the activation IS NOT completed): 09 03 02 11 00 55 D5

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

02

Number of data bytes to follow (1 register x 2 bytes/register = 2 bytes)

1100

Content of register 07D0 (GRIPPER STATUS = 0x11, RESERVED = 0x00): gACT = 1 for "Gripper Activation", gSTA = 1 for "Activation in progress"

55D5

Cyclic Redundancy Check (CRC)

 

Response (if the activation IS completed): 09 03 02 31 00 4C 15

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

02

Number of data bytes to follow (1 register x 2 bytes/register = 2 bytes)

3100

Content of register 07D0 (GRIPPER STATUS = 0x31, RESERVED = 0x00): gACT = 1 for "Gripper Activation", gSTA = 3 for "Activation is completed"

4C15

Cyclic Redundancy Check (CRC)

Step 3: Move the robot to the pick-up location

Step 4: Close the Gripper at full speed and full force

Request is: 09 10 03 E8 00 03 06 09 00 00 FF FF FF 42 29

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E8

Address of the first register

0003

Number of registers written to

06

Number of data bytes to follow (3 registers x 2 bytes/register = 6 bytes)

0900

Value written to register 0x03E8 (ACTION REQUEST = 0x09 and GRIPPER OPTIONS = 0x00): rACT = 1 for "Activate Gripper", rGTO = 1 for "Go to Requested Position"

00FF

Value written to register 0x03E9 (GRIPPER OPTIONS 2 = 0x00 and POSITION REQUEST = 0xFF): rPR = 255/255 for full closing of the Gripper

FFFF

Value written to register 0x03EA (SPEED = 0xFF and FORCE = 0xFF): full speed and full force

4229

Cyclic Redundancy Check (CRC)

 

Response is: 09 10 03 E8 00 03 01 30

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E8

Address of the first register

0003

Number of written registers

0130

Cyclic Redundancy Check (CRC)

 

Step 5: Read Gripper status until the grip is completed

Request is: 09 03 07 D0 00 03 04 0E

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

07D0

Address of the first requested register

0003

Number of registers requested (3)

040E

Cyclic Redundancy Check (CRC)

 

Example of response if the grip is not completed: 09 03 06 39 00 00 FF 0E 0A F7 8B

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

06

Number of data bytes to follow (3 registers x 2 bytes/register = 6 bytes)

3900

Content of register 07D0 (GRIPPER STATUS = 0x39, RESERVED = 0x00): gACT = 1 for "Gripper Activation", gGTO = 1 for "Go to Position Request" and gOBJ = 0 for "Fingers are in motion"

00FF

Content of register 07D1 (FAULT STATUS = 0x00, POSITION REQUEST ECHO = 0xFF): the position request echo tells that the command was well received and that the GRIPPER STATUS is valid.

0E0A

Content of register 07D2 (POSITION = 0x0E, FINGER CURRENT = 0x0A): the position is 14/255 and the motor current is 100mA (these values will change during motion)

F78B

Cyclic Redundancy Check (CRC)

Example of response if the grip is completed: 09 03 06 B9 00 00 FF BD 00 1D 7C

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

06

Number of data bytes to follow (3 registers x 2 bytes/register = 6 bytes)

B900

Content of register 07D0 (GRIPPER STATUS = 0xB9, RESERVED = 0x00): gACT = 1 for "Gripper Activation", gGTO = 1 for "Go to Position Request" and gOBJ = 2 for "Fingers have stopped due to a contact while closing"

00FF

Content of register 07D1 (FAULT STATUS = 0x00, POSITION REQUEST ECHO = 0xFF): the position request echo tells that the command was well received and that the GRIPPER STATUS is valid.

BD00

Content of register 07D2 (POSITION = 0xBD, FINGER CURRENT = 0x00): the position is 189/255 (can be used to validate the size of the seized object)

1D7C

Cyclic Redundancy Check (CRC)

Step 6: Move the robot to the release location

Step 7: Open the Gripper at full speed and full force

Request is: 09 10 03 E8 00 03 06 09 00 00 00 FF FF 72 19

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E8

Address of the first register

0003

Number of registers written to

06

Number of data bytes to follow (3 registers x 2 bytes/register = 6 bytes)

0900

Value written to register 0x03E8 (ACTION REQUEST = 0x09 and GRIPPER OPTIONS = 0x00): rACT = 1 for "Activate Gripper", rGTO = 1 for "Go to Requested Position"

0000

Value written to register 0x03E9 (GRIPPER OPTIONS 2 = 0x00 and POSITION REQUEST = 0x00): rPR = 0/255 for full opening of the Gripper (partial opening would also be possible)

FFFF

Value written to register 0x03EA (SPEED = 0xFF and FORCE = 0xFF): full speed and full force

7219

Cyclic Redundancy Check (CRC)

 

Response is: 09 10 03 E8 00 03 01 30

Bits

Description

09

SlaveID

10

Function Code 16 (Preset Multiple Registers)

03E8

Address of the first register

0003

Number of written registers

0130

Cyclic Redundancy Check (CRC)

Step 8: Read Gripper status until the opening is completed

Request is: 09 03 07 D0 00 03 04 0E

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

07D0

Address of the first requested register

0003

Number of registers requested (3)

040E

Cyclic Redundancy Check (CRC)

 

Example of response if the opening is not completed: 09 03 06 39 00 00 00 BB 10 30 E0

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

06

Number of data bytes to follow (3 registers x 2 bytes/register = 6 bytes)

3900

Content of register 07D0 (GRIPPER STATUS = 0x39, RESERVED = 0x00): gACT = 1 for "Gripper Activation", gGTO = 1 for "Go to Position Request" and gOBJ = 0 for "Fingers are in motion"

0000

Content of register 07D1 (FAULT STATUS = 0x00, POSITION REQUEST ECHO = 0x00): the position request echo tells that the command was well received and that the GRIPPER STATUS is valid.

BB10

Content of register 07D2 (POSITION = 0xBB, FINGER CURRENT = 0x10): the position is 187/255 and the motor current is 160mA (these values will change during motion)

30E0

Cyclic Redundancy Check (CRC)

Example of response if the opening is completed: 09 03 06 F9 00 00 00 0D 00 56 4C

Bits

Description

09

SlaveID

03

Function Code 03 (Read Holding Registers)

06

Number of data bytes to follow (3 registers x 2 bytes/register = 6 bytes)

F900

Content of register 07D0 (GRIPPER STATUS = 0xF9, RESERVED = 0x00): gACT = 1 for "Gripper Activation", gGTO = 1 for "Go to Position Request" and gOBJ = 3 for "Fingers are at requested position"

0000

Content of register 07D1 (FAULT STATUS = 0x00, POSITION REQUEST ECHO = 0x00): the position request echo tells that the command was well received and that the GRIPPER STATUS is valid.

0D00

Content of register 07D2 (POSITION = 0x0D, FINGER CURRENT = 0x00): the position is 13/255 (the fingers have reached their software limit)

564C

Cyclic Redundancy Check (CRC)

Step 9: Loop back to step 3 if other objects have to be gripped.

4.8. Control over Aubo i5

The Gripper Plugin package contains many features to program and control the Gripper. The package provides:

4.8.1. Gripper Dashboard

4.8.1.1. Overview

Single Gripper

To activate the gripper:

  1. Go to the Extensions tab on the top of the AUBORPE and go in the Gripper tab under Peripheral (on the left).
  2. Enter the ID og the gripper (default for ROBOTIQ grippers is 9)
  3. Connect to the gripper by pressing the Connect button
  4. Press the Activate Gripper button to activate the button

To control the gripper independently:

  1. Go to the Control tab (under Extensions tab)
  2. It is now possible to set values for the position, speed, and force of the gripper as well as open or close it.

 

Fig. 4-3: Use interface to control the gripper independently

To control the gripper from the Programming tab:

  1. To add a gripper node, go under the Condition tab on the left, and then press Peripheral
  2. Press the Gripper button to add a gripper node
  3. Press the Gripper node in the programming tree to set the values of position, speed and force.
Multiple Grippers
  1. Plug one of the grippers to a computer using the USB cable
  2. Open the Robotiq User Interface (RUI)
  3. Connect to the gripper
  4. In the Modbus RTU tab, change the gripper ID to something other than the default ID (default is 9)

Fig. 4-4: Modification of the gripper ID

  1. Press apply, then refresh to apply the changes
  2. Connect both grippers to the AUBO controller using the splitter
  3. To activate the grippers:
    1. Go in the Extensions tab at the top of the AUBORPE

     

    Fig. 4-5: AUBORPE user interface

    1. Select the Gripper tab on the left and go to the Settings tab at the top
    2. Input the first gripper’s ID and press the Connect button
    3. Press the Activate Gripper button
    4. Once the gripper is activated, press the Disable Connect button to disconnect from the gripper
    5. Repeat these steps with the second gripper’s ID

    Fig. 4-6: AUBORPE user interface

    1. Select the Gripper tab on the left and go to the Settings tab at the top
    2. Input the first gripper’s ID and press the Connect button
    3. Press the Activate Gripper button
    4. Once the gripper is activated, press the Disable Connect button to disconnect from the gripper
    5. Repeat these steps with the second gripper’s ID
  4. Once the grippers are activated, they can be used in programs:
    1. When adding a Gripper node to the program, simply input the ID of the desired gripper to control it

    Fig. 4-7: Using the grippers in programs.