UFACTORY 1
UFACTORY Table 1.General Presentation ...............................................................................................................4 1.1. Gripper Introduction ...................................................................................................4 1.2. Setup and Control ........................................................................................................4 1.3. Safety ............................................................................................
UFACTORY 3.3. Use ROS-SDK to Control xArm Gripper .............................................................. 16 3.4. Use Modbus-TCP Communication Protocol to Control xArm Gripper ...... 16 3.4.1. Modbus-TCP Communication Format ..................................................... 17 3.4.2. Read xArm Gripper Register ....................................................................... 18 3.4.3. Write xArm Gripper Register....................................................................... 21 3.4.
UFACTORY 1. General Presentation 1.1. Gripper Introduction The gripper is the end-effector of the robotic arm, which can grasp objects dynamically. The value range of the gripper opening and closing is: -10 to 850. The larger the value, the greater the stroke of the gripper, meaning the smaller the value, the smaller the stroke of the gripper. If the clamping is not tight, a negative value can be set until it is tightened. 1.2.
UFACTORY 1.3. Safety Warning The operator must have read and understood all of the instructions in the following manual before handling the xArm Gripper.
UFACTORY 1.3.1. Warning Caution Any use of the Gripper in noncompliance of these warnings is inappropriate and may cause injury or damage. Warning ● The Gripper needs to be properly secured before operating the robot. ● Do not install or operate a Gripper that is damaged or lacking parts. ● Never supply the Gripper with an alternative current (AC) source. ● Make sure all cord sets are always secured at both ends,Gripper end & Robot end ● Always satisfy the recommended keying for electrical connections.
UFACTORY evaluated with a risk assessment. The robot integrator must ensure that all local safety measures and regulations are respected. Depending on the application, there may be risks that need additional protection/safety measures, for example, the work-piece the gripper is manipulating may be inherently dangerous to the operator. 1.3.3. Intended Use The gripper is designed for grasping and temporarily securing or holding objects.
UFACTORY 2. Installation The following subsections will guide you through the installation and general setup of xArm Gripper. (1) The Scope of Delivery section (2) The Mechanical Installation section (3) The Electrical Setup section Warning Before installing: Read and understand the safety instructions related to the xArm Gripper. Verify your package according to the Scope of delivery and your order info. Have the required parts, equipment and tools listed in the requirements readily available.
UFACTORY 2.1. Scope of Delivery 2.1.1. General Kit A Gripper Kit generally includes these items: xArm Gripper xArm Gripper signal cable Cross countersunk head screws M6*8 (4) 2.2. Mechanical Installation xArm Gripper installation steps (as shown below): 1. Move the robotic arm to a safe position. Avoid touching the robotic arm mounting surface or other equipment; 2. Power off the robotic arm by pressing the emergency stop button on the control box; 3.
UFACTORY 4. Connect the robotic arm and the gripper with the gripper connection cable; Note: 1. When wiring the gripper connection cable, be sure to power off the robotic arm, the emergency stop button is in the pressed state and the power indicator of the robotic arm is off, so as to avoid robotic arm failure caused by hot plugging; 2. Due to the limitation of the length of the gripper connection cable, the gripper connector and the tool/end effector connector must be on the same side; 3.
UFACTORY pins of the gripper connection cable are relatively thin, avoid bending the male pins during disassembly. 2.3. Electrical Setup Power and communication are established with the xArm Gripper via a single gripper connection cable. The gripper connection cable provides a 24V power supply to the Gripper and enables serial RS485 communication to the control box. Warning Power must be off before connecting the Gripper and the robotic arm via the gripper connection cable. 2.3.1.
UFACTORY There are 8 pins inside the cable with different colors, each color represents different functions, please refer to the following table: Line sequence Color Signal 1 White 24V 2 Brown 24V 3 Green GND 4 Yellow GND 5 Gray 485-A 6 Powder 485-B 7 Blue IN0(Digital input) 8 Red IN1(Digital input) Note: 1. For details of the tool/end effector connector of the robotic arm, please refer to the xArm user manual: https://www.ufactory.
UFACTORY 3. Control 3.1. Use xArm Studio to Control xArm Gripper 1. Set up xArm Gripper ⚫ Enter [Settings]-[End Effector] Select the end effector: xArm Gripper 1. The opening and closing speed of the gripper can be adjusted. 2. The self-collision prevention model of the gripper can be turned on by clicking the button. 3. When "TCP payload compensation" is turned on, the default TCP payload will be changed to the TCP payload parameter of the gripper.
UFACTORY 2. Control xArm Gripper ⚫ Control the xArm gripper in the live control Control Method: 1) By dragging this progress bar, you can control the opening and closing stroke of the gripper.
UFACTORY ⚫ Control the xArm gripper through Blockly xArm Gripper.Blockly The role of this program: execute this program to control the gripper to pick the target object at the specified position, and then place the target object at the target position. Note: 1) When the gripper is installed on the robotic arm, the TCP Payload of the gripper should be set in the Blockly program.
UFACTORY of the gripper changes after the object is picked, a new TCP Payload needs to be set. 3.2. Use Python-SDK to Control xArm Gripper For details on controlling Gripper with python-SDK, please refer to the link below: https://github.com/xArm-Developer/xArm-Python-SDK/blob/master/example/wra pper/common/5004-set_gripper.py 3.3. Use ROS-SDK to Control xArm Gripper Please refer to Section 5.7.7 in the ReadMe file attached to the ROS package to control the gripper. xArm ROS-SDK link : https://github.
UFACTORY This section mainly explains how to control the xArm Gripper by using the Modbus-TCP protocol through xArm control box. 3.4.1. Modbus-TCP Communication Format Modbus-TCP: Modbus protocol is an application layer message transmission protocol, including three message types: ASCII, RTU, and TCP. The standard Modbus protocol physical layer interface includes RS232, RS422, RS485 and Ethernet interfaces, and adopts master / slave communication. Modbus TCP Communication Process: 1.
UFACTORY On the problem of users using communication protocols to organize data in big endian and little endian: In this article, data analysis is big-endian analysis. 3.4.2. Read xArm Gripper Register 3.4.2.1.
UFACTORY Resgister: Resgister Starting Registers Value Address Stop status: 0x0000 Get Gripper status Register 0x0000 2 Bytes Motion status: 0x0001 Clipping status: 0x0010 Get Gripper position Register Get Gripper Error Register 0x0702 4bytes 0xFFFFFFFB-0x00000320 An error occurs: all other return values 0x000F indicate an error(except 0) 2 Bytes No error occurred: 0x0000 3.4.2.2. Example 1.
UFACTORY Internal Use Modbus RTU Data Status Value 1 Byte 0x00 Internal Use 1 Byte 0x09 Slave ID 1 Byte 0x08 Function Code 1 Byte 0x03 Byte Count 1 Byte 0x02 2 Bytes 0x00,0x01 Registers Value (Robotic arm is in motion status) 2.
UFACTORY 3.
UFACTORY Internal Use Internal Use 1 Byte 0x09 Slave ID (Gripper) 1 Byte 0x08 Function Code 1 Byte 0x10 2 Bytes Address Quantity of Registers 2 Bytes N* Byte Count 1 Byte N*x2 Registers Value N*x2 Bytes Value Modbus RTU Data Register Starting Address Response Transaction Identifier 2 Bytes 0x00,0x01 Protocol Identifier 2 Bytes 0x00,0x02 Length 2 Bytes 0x00,0x09 Unit Identifier 1 Byte 0x7C Status Value 1 Byte 0x00 Internal Use 1 Byte 0x09 Slave ID 1 Byte 0x08 Functi
UFACTORY 3.4.3.2. Example 1.
UFACTORY Internal Use Unit Identifier 1 Byte 0x7C Internal Use 1 Byte 0x09 Slave ID (Gripper) 1 Byte 0x08 Function Code 1 Byte 0x10 2 Bytes 0x01,0x00 Quantity of Registers 2 Bytes 0x00,0x01 Byte Count 1 Byte 0x02 Registers Value 2 Bytes 0x00,0x01 Modbus RTU Data Register Starting Address Response MBTP Header Internal Use Modbus RTU Data Transaction Identifier 2 Bytes 0x00,0x01 Protocol Identifier 2 Bytes 0x00,0x02 Length 2 Bytes 0x00,0x09 Unit Identifier 1 Byte 0x7C
UFACTORY Internal Use Modbus RTU Data Protocol Identifier 2 Bytes 0x00,0x02 Length 2 Bytes 0x00,0x09 Unit Identifier 1 Byte 0x7C Status Value 1 Byte 0x00 Internal Use 1 Byte 0x09 Slave ID 1 Byte 0x08 Function Code 1 Byte 0x10 Register Starting Address 2 Bytes 0x03,0x03 Quantity of Registers 2 Bytes 0x00,0x01 4.
UFACTORY Quantity of Registers 2 Bytes 0x00,0x02 3.4.4.
UFACTORY baud rate is 2Mbps and the slave ID is 0x08. The currently supported function codes are: 0x03 / 0x10. In this article, data analysis is big-endian analysis.
UFACTORY Get Gripper position 0x0702 Register 4bytes 0xFFFFFFFB-0x00000320 An error occurs: Get Gripper Error 0x000F Register 2 Bytes all other return values indicate an error(except 0) No error occurred: 0x0000 3.5.3.
UFACTORY Close the Gripper : 0x0000 0x0032 0x0100-0x0400 Set Position Speed Register 0x0303 2 Bytes Unit : r/min Set Gripper Mode Register 0x0101 2bytes Position mode:0x0000 3.5.4. Modbus RTU Example This section demonstrates the example given in the Control Logic section when programmed using the Modbus RTU protocol.
UFACTORY Modbus RTU Data Slave ID (Gripper) 1 Byte 0x08 Function Code 1 Byte 0x10 Register Starting Address 2 Bytes 0x01,0x00 Quantity of Registers 2 Bytes 0x00,0x01 Byte Count 1 Byte 0x02 Registers Value 2 Bytes 0x00,0x01 Modbus CRC16 2 Bytes 0x1D,0x00 Response Modbus RTU Data Slave ID 1 Byte 0x08 Function Code 1 Byte 0x10 Register Starting Address 2 Bytes 0x01,0x00 Quantity of Registers 2 Bytes 0x00,0x01 Modbus CRC16 2 Bytes 0x00,0xAC Step3:Set xArm Gripper Speed Se
UFACTORY Quantity of Registers 2 Bytes 0x00,0x02 Byte Count 1 Byte 0x04 4 Bytes 0x00,0x00,0x00,0x82 2 Bytes 0x7B,0x62 Registers Value (position:400) Modbus CRC16 Response Modbus RTU Data Slave ID 1 Byte 0x08 Function Code 1 Byte 0x10 Register Starting Address 2 Bytes 0x07,0x00 Quantity of Registers 2 Bytes 0x00,0x02 Modbus CRC16 2 Bytes 0x40,0x25 31
UFACTORY 4. Gripper Alarm Code & General Response The user can re-power on the robotic arm as an error handling, the steps are as follows (all the following steps are needed): 1. Re-powering the robotic arm via the emergency stop button on the control box. 2. Enable the robotic arm. a. xArm Studio enable method: Click the guide button of the error pop-up window or the ‘STOP’ red button in the upper right corner. b. xArm-Python-SDK enable method: Refer to Error Handling Method. c.
UFACTORY Software Error Error Handling Code Gripper Current Detection Error G9 G11 G12 G14 G15 G20 G21 Please restart the xArm with the Emergency Stop Button on the xArm Control Box. Gripper Current Overlimit Please click “OK” to re-enable the Gripper. Gripper Speed Overlimit Please click “OK” to re-enable the Gripper. Gripper Position Command Overlimit Please click “OK” to re-enable the Gripper. Gripper EEPROM Read and Write Error Please click “OK” to re-enable the Gripper.
UFACTORY please contact technical support. Appendix: xArm-Python-SDK alarm processing method: When designing the robotic arm motion path with the Python library, if the robot fails, you need to manually clear the errors. After clearing the error, you still need to re-enable the robotic arm and set the robot to motion mode for the robot to move normally. Then the path planning of the robotic arm should be re-adjusted according to the reported error information.
UFACTORY 5. xArm Gripper Technical Specifications Gripper Nominal Supply Voltage 24V DC Absolute Maximum Supply Voltage 28V DC Quiescent Power 1.5W (Minimum Power Consumption) Peak Current 1.
UFACTORY 6. After-sales Service 1. After-sales policy: For the detailed after-sales policy of the product, see the official website: https://store-ufactory-cc.myshopify.com/pages/warranty-returns 2. The general process of after-sales service is: (1) Contact UFACTORY technical support (support@ufactory.cc) to confirm whether the product needs to repair and which part should be sent back to UFACTORY. (2) After the bill of lading on UPS, we will send the invoice and label to you by mail.
UFACTORY Note: 1. Please keep the original packaging materials of the product. When you need to send the product back to get repaired, please pack the product with the original box to protect the product during the transportation.