Table of Contents

Advertisement

Quick Links

1

Advertisement

Table of Contents
loading

Summary of Contents for UFactory xArm6

  • Page 2: Table Of Contents

    Table Table..........................2 Preface..........................7 Product Information....................7 Main Contents of the Manual.................7 Terms and Definitions...................8 xArm Motion Parameters..................10 Unit Definition..................... 11 Additional Information..................12 Safety Precautions....................12 xArm User Manual-Hardware Section.................18 1. Hardware Installation Manual..................18 1.1. The Hardware Composition of xArm............18 1.1.1.
  • Page 3 2.2.4. Electrical Alarms and Cautions............33 2.3. End-Effector I/O....................34 2.3.1. Digital Output..................36 2.3.2. Digital Input..................37 2.3.3. Tool Analog Input................37 2.4. Control Box Electrical IO................39 2.4.1. General Specifications for all Digital I/O.......... 39 2.4.2. Dedicated Safety I/O................41 2.4.3. General Digital I/O Function..............45 2.4.4.
  • Page 4 1.4 Robotic Arm Setting..................65 1.4.1 Motion Settings.................. 65 1.4.2 End Effector..................68 1.4.3 TCP Settings..................70 1.4.4 I/O Settings..................74 1.4.5 Safety Settings..................79 1.4.6 Mounting................... 81 1.4.7 Timed Tasks..................83 1.4.8 Coordinate System................85 1.4.9 Advanced Settings................87 1.4.10 System Settings................98 1.5 Live Control....................106 1.5.1 Status Bar..................
  • Page 5 1.6.11 Math....................131 1.6.12 Text....................131 1.6.13 Variable..................132 1.6.14 Function..................133 1.6.15 Set & Edit Motion Coordinates.............134 1.6.16 Path Planning Guidelines.............. 135 1.7 Python IDE....................135 1.7.1 Create a New Project................136 1.8 Recording....................137 2. xArm Motion Analysis...................140 2.1 Robotic Arm Motion Mode and State Analysis.......... 141 2.1.1 The Motion Mode of the Robotic Arm...........
  • Page 6 Appendix2-Technical Specifications................. 170 2.1 xArm5/6/7 Common Specifications............170 2.2 xArm 5 Specifications.................171 2.3 xArm 6 Specifications.................172 2.4 xArm 7 Specifications.................173 Appendix3-FAQ......................175 Appendix4-The xArm Software/Firmware Update Method........176 Appendix5- Maintenance and Inspection..............183 Appendix6- After-sales Service................. 184...
  • Page 7: Preface

    Preface Product Information Package contains: 1. Robotic Arm x 1 2. Control Box x 1 3. Power cable for the Control Box 4. Power cable for the Robotic Arm 5. Communication cable for the Robotic Arm x 1 6. Ethernet Cable x1 7.
  • Page 8: Terms And Definitions

    (2) Electrical interface (3) xArm end-effector xArm User Manual Software Section (1) xArm Studio instructions (2) xArm motion analysis (3) Typical examples Appendix (1) xArm error reporting and handling (2) xArm technical specifications (3) FAQ (4) The xArm software/firmware update method (5) Maintenance and Inspection (6) After-sales service Terms and Definitions...
  • Page 9 Y ˆ Z ˆ by β, and finally around by α. Each rotation is around a fixed axis of the reference coordinate system {A}. This method is called the XYZ fixed angle coordinate system, and sometimes they are defined as the roll angle, pitch angle, and yaw angle. The above description is shown in the following figure: Roll/Pitch/Yaw The equivalent rotation matrix is:...
  • Page 10: Xarm Motion Parameters

    Tool Coordinate System Consists of tool center point and coordinate orientation. If the TCP offset is not set, the default tool coordinate system is located at flange center. (please refer to the figure 1) For tool coordinate system based motion: The tool center point is taken as the zero point, and the trajectory of the robotic arm refers to the tool coordinate system.
  • Page 11: Unit Definition

    Table 1.1 working range of each joint of the robotic arm Robotic Arm xArm 5 xArm 6 xArm 7 Maximum Speed 180°/s 180°/s 180°/s 1st Axis ±360° ±360° ±360° 2st Axis -118° ~ 120° -118° ~ 120° -118° ~ 120° 3st Axis ±360°...
  • Page 12: Additional Information

    UFACTORY devotes to providing reliable and safety information, but these contents do not constitute warranties by UFACTORY. UFACTORY will not have or accept any liability, obligation, or responsibility whatsoever for any loss, destruction, or damage arising from or in respect of any use or misuse of xArm.
  • Page 13 ● Limitations on Liability Exceptions Any information given in this manual regarding safety must not be construed as a warranty by UFACTORY that the xArm will not cause injury or damage even if all safety instructions are complied with. Safety Alarms in this Manual ●...
  • Page 14 HIGH TEMPERATURE This indicates a potential hot surface, which if touched, could result in personal injury. NOTICE If not avoided, could result in personal injury or damage to the equipment. CAUTION: If not avoided, could result in personal injury or damage to the equipment.
  • Page 15 before each use (e.g. the operational safety and the possible damage of the robotic arm and other device systems). 5. Preliminary testing and inspection for both robotic arm and peripheral protection system before production is essential. 6. The operator must be trained to guarantee a correct operation procedure when using SDK(Python/ROS/C++) and graphical interface xArm Studio.
  • Page 16 The authorized restructuring needs to be in accordance with the latest version of all relevant service manuals. If the robotic arm is modified or altered in any way, UFACTORY (Shenzhen) Technology Co., Ltd. disclaims all liability. 7. Users need to check the collision protection and water-proof measures before any transportation.
  • Page 17 5. Be careful when the robotic arm is running too fast. 6. Be careful about dropping items that can be caused by accidental power off or unstable clamping of the robotic arm.
  • Page 18: Xarm User Manual-Hardware Section

    xArm User Manual-Hardware Section 1. Hardware Installation Manual 1.1. The Hardware Composition of xArm 1.1.1. Hardware Composition The composition of robotic arm hardware includes:  Robotic Arm(Figure 2-1)  Control Box (Figure 2-2)  Robotic Arm Signal Cable (Figure 2-3) ...
  • Page 19: Emergency Stop Button

    The xArm robotic arm system consists of a base and rotary joints, and each joint represents a degree of freedom. From the bottom to the top, in order, Joint 1, Joint 2, Joint 3, etc. The last joint is known as the tool side and can be used to connect end- effector (e.g.
  • Page 20: Control Box Description

    xArm Studio:enable the robotic arm:click the button: [Enable Robot] Python-SDK:enable the robotic arm: motion_enable (true) 1.1.3. Control Box Description Control Box Buttons and Indicator Parameter Name Function ROBOT power indicator ROBOT PWR The light is on, indicating that the xArm is powered on.
  • Page 21: Robot Installation

    1. The robotic arm and its hardware composition must not be in direct contact with the liquid, and should not be placed in a humid environment for a long time. 2. A safety assessment is required each time installed. 3. When connecting or disconnecting the arm cable, make sure that the external AC is disconnected.
  • Page 22 installing the robotic arm, make sure the range of motion of the robotic arm is taken into account, so as not to bump into the surrounding people and equipment (the end- effector not included in the working range). Working space of xArm7 (unit: mm) Note:The following working range diagrams are only for safety assessment.
  • Page 23 Working space of xArm5 and xArm6 (unit: mm) Note:The following working range diagrams are only for safety assessment.
  • Page 24 1.2.2.2.Robot Installation The robotic arm has five M5 bolts provided and can be mounted through five ∅ 5.5 holes in the base of the robotic arm. It is recommended to tighten these bolts with a torque of 20N·m. Robot Base Mounting (unit: mm) 1.2.2.3.
  • Page 25 1.2.2.4. Control Box Networking Plug the Network Cable into the interface marked LAN on the Control Box, and plug the other end of the Network Cable into the computer. 1.2.2.5. End-effector Installation The End-effector flange has fourteen M6 threaded holes and one Ф5 positioning hole, where the end-effector of two different sizes can be mounted.
  • Page 26 Mechanical dimensions of end-effector flange (unit: mm) Drawing of tool I/O 1. Make sure the tool is properly and safely bolted in place. 2. If the end-effector does not have a locating hole, the orientation of the end-effector must be archived as a file. 3.
  • Page 27: Power Supply For The Robotic Arm

    effector tools. 5. If the installed end-effector exceeds the robotic arm mounting surface at the zero position of the robotic arm, a safety assessment is required for the zero return operation. 1.3. Power Supply for the Robotic Arm 1.3.1. Preparation before Power On ...
  • Page 28: Shut Down The Robotic Arm System

    1. Turn on the OFF/ON button and ensure the indicator lights are lit. 2. Press the power button, when the status indicator(CONTROLLER) lights up, the control box is turned on. 3. Rotate the emergency stop button in the direction indicated by the arrow and is pulled up, at which point the xArm power indicator(ROBOT PWR)...
  • Page 29 Unplugging the power cord directly from the wall outlet to shut down the system may result in damage to the file system of the control box, which may result in robotic arm malfunction.
  • Page 30: Electrical Interface

    2. Electrical Interface 2.1. AC Control Box 2.1.1. Connect the Control Box to the Robotic Arm 1. The robotic arm power supply cable connects the power port of the robotic arm and the ROBOT power port of the control box. 2.
  • Page 31: Definition Of The Robotic Arm Industrial Connector

    shortest time possible and protect the safety of both personnel and the equipment. To power on the robotic arm, the control box must be connected to the power supply. In this process, the corresponding IEC C19 wire must be used. Connect to the standard IEC C20 plug of the Control Box to complete the process, see the figure below.
  • Page 32: Definition Of Industrial Connector

    2.2.2. Definition of Industrial Connector 4-Pin Industrial Connector (External 24V Power ) Industrial connector wire sequence Functional definition Null Null...
  • Page 33: Specification Of External Power

    2.2.3. Specification of External Power Input Rated voltage 24V-28V Rated power 400W Rated current 2.2.4. Electrical Alarms and Cautions Always follow the warnings and cautions below when designing and installing a robotic arm application. These warnings and cautions are also subject to the implementation of maintenance work.
  • Page 34: End-Effector I/O

    1. Interfering signals above the level specified in the IEC standard will cause abnormal behaviour of the robotic arm. Extremely high signal levels or excessive exposure can cause permanent damage to the robotic arm. UFACTORY (Shenzhen) Technology Co., Ltd. is not responsible for any loss caused by EMC problems.
  • Page 35 There are 12 pins inside the cable with different colors, each color represents different functions, please refer to the following table: Pin sequence Color Signal Brown +24V(Power) Blue +24V(Power) White 0V (GND) Green 0V (GND) Pink User 485-A Yellow User 485-B Black Tool Output 0 (TO0)...
  • Page 36: Digital Output

    2.3.1. Digital Output The digital output is implemented in the form of NPN with an open collector(OC). When the digital output is activated, the corresponding connector will be driven to GND. When the digital output is disabled, the corresponding connector will be open (open collector/open drain).
  • Page 37: Digital Input

    2.3.2. Digital Input The digital input is already equipped with a pull-down resistor. This means that the reading of the floating input is always low. The electrical specifications are as follows: Parameter Typical Unit Input Voltage -0.5 Logic Low Voltage Logic High Voltage Input Resistance Ω...
  • Page 38 2.3.3.1. Non-differential Analog Input The following figures show how the analog sensor can be connected to a non- differential output. Voltage mode Current mode 2.3.3.2. Differential Analog Input The following figures show how the analog sensor is connected to the differential output.
  • Page 39: Control Box Electrical Io

    2.4. Control Box Electrical IO This chapter explains how to connect devices to the electrical I/O outside of the control box. The I/Os are extremely flexible and can be used in many different devices, including pneumatic relays, PLCs, and emergency stop buttons. The figure below shows the electrical interface layout inside the control box.
  • Page 40 If larger current is needed, connect the external power supply as shown below. The electrical specifications for the internal and external power supplies are as follows. Terminal Parameter Min. Value Typical Value Max. Value Unit Built-in 24V Power Supply [PWR - GND] Voltage [PWR - GND] Current...
  • Page 41: Dedicated Safety I/O

    There is no current protection on the digital output of the Control Box. If the specified values exceeded, permanent damage may result. 2.4.2. Dedicated Safety I/O This section describes the dedicated safety inputs and their configurations of the safety I/O. Please follow the universal specifications in Section 2.4.1. Safety devices and equipment must be installed to comply with the safety instructions and risk assessment (see Chapter 1).
  • Page 42 arm, please check the following figure for the correct connection. 2.4.2.2. Connect to the Emergency Stop Button In most applications, one or more additional emergency stop buttons are required. The figure below shows how to connect one or more emergency stop buttons. 2.4.2.3.
  • Page 43 2.4.2.4. Automatically Recoverable Protective Stop The door switch is an example of a basic protective stop device. When the door is open, the robotic arm stops. See the figure below. This configuration is only for applications where the operator is unable to close the door from behind.
  • Page 44 How to realize the protection reset function with reset button: 1. Configure "CI0-CI1" as the protection reset in xArm Studio. The specific steps are as follows: Enter "Settings" - "I/O" - "Input" - Configure CI0 and CI1 as protection reset -"Save". 2.
  • Page 45: General Digital I/O Function

    2.4.3. General Digital I/O Function 2.4.3.1. Configurable Digital Output The digital output is implemented in the form of NPN. When the digital output is enabled, the corresponding connector will be driven to GND. When the digital output is disabled, the corresponding connector will be open (OC/OD). Users must follow the electrical specifications set in section 2.4.1 ‘universal specification’.
  • Page 46: General Analog I/O

    Users must follow the electrical specifications set in the 2.4.1 ‘universal specification’. This example shows how a simple button is connected to a digital input. 2.4.3.3. Communicate with other Machines or PLCs If general GND (0V) is established and the machine uses open-drain output technology, digital I/O and other can be used device communication, see the figure below.
  • Page 47 Terminal Parameter Min. Value Typical Value Max. Value Unit Analog Input under Voltage Mode [AIx - AG] Voltage [AIx - AG] Resistance Ω [AIx - AG] Resolution Analog Output under Voltage Mode [AOx - AG] Voltage [AOx - AG] Current [AOx - AG] Resistance 100k...
  • Page 48: Communication Interface

    Communication Interface 2.5. The Control Box provides RS-485 interface and Ethernet interface, as shown in the figure below. 2.5.1. RS-485 Communication The control box provides an RS-485 interface. (RS-485 communication cable is not factory standard accessory and requires additional purchase) The control box and the computer are connected through the RS-485 interface, one end of the 485 communication cable is connected with the computer, and the other end is connected with the RS-485 interface of the control box.
  • Page 49: Ethernet Tcp/Ip

    2.6. Ethernet TCP/IP The control box provides a gigabit Ethernet interface. Ethernet connection steps: • The control box and the computer are connected via Ethernet. One end of the network cable is connected to the network interface of the control box, and the other end is connected to the computer or LAN network interface.
  • Page 50: End-Effector

    3. End-Effector 3.1. Gripper 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.
  • Page 51: The Flow Of Gripper Movement

    Note: 1. When wiring the gripper connection cable, be sure to power off the robotic arm, to set the emergency stop button in the pressed state, and to ensure that power indicator of the robotic arm is off, as to avoid robotic arm failure caused by hot- plugging;...
  • Page 52: Precautions

    The gripper of the robotic arm in the zero position will exceed the mounting surface. Note: For detailed instructions on the xArm gripper, please refer to the xArm gripper user manual, download link: https://www.ufactory.cc/pages/download-xarm...
  • Page 53: Vacuum Gripper

    3.2. Vacuum Gripper The vacuum gripper can dynamically suck the smooth plane object with payload ≤5kg. The vacuum gripper is equipped with 5 suction cups, which can be partially selected for use according to the size of the object surface, and the unused suction cup needs to be sealed.
  • Page 54: Turn On/Off Vacuum Gripper

    1. Python-SDK and xArm Studio provide wrapped functions that can be called to turn on/off the vacuum gripper. xArm Studio-Blockly Command-End Effector-Vacuum Gripper. 2. For detailed instructions on the xArm vacuum gripper, please refer to the xArm vacuum gripper user manual, download link: https://www.ufactory.cc/pages/download-xarm...
  • Page 55: Xarm User Manual-Software Section

    xArm User Manual-Software Section 1. xArm Studio xArm Studio is a graphical user application for controlling the robotic arm. With this application, you can set parameters, move the robotic arm in live control, and create a motion trajectory by simply drag and drop the code blocks of Blockly. xArm Studio allows users to plan the motion trajectory for the robotic arm without programming skills.
  • Page 56: Connect To The Robotic Arm

    Before using xArm Studio, you must ensure that the hardware is installed correctly and all the protective measures for the workplace environment have been implemented. 1. The robotic arm is fixed on the plane; protective measures are in place within the range of motion.
  • Page 57 (2) The control box, PC and router are connected by Ethernet cable. (3) PC and router are connected by wireless network, and control box and router are connected by Ethernet cable. Note: It is not recommended because of the delay and packet loss of wireless connection.
  • Page 58: Ip Configuration

    (4) The control box, PC and network switch are connected by Ethernet cable. 1.2.2 IP Configuration Before connecting the robotic arm with xArm Studio (communication with the robotic arm), make sure that the IP address of the computer and the IP address of the control box are on the same network segment.
  • Page 59 Step1: Open the “Network and Sharing Center” Step2: Open the “Ethernet” Step3: Open the “Properties”...
  • Page 60 Step4: Open the “IPV4” Step5: Then check whether the computer IP is within 192.168.1.1-192.168.1.255 (the tail number should be 1 to 255, and can not be the same as the IP address of the control box). If not, please modify the computer's IP. Step6: After the modification is completed, please verify the IP address of the computer: enter cmd in the search box (see the figure below), open a command prompt, and...
  • Page 61: Connect To The Robotic Arm

    (1) Download xArm Studio xArm Studio download address: https://store-ufactory-cc.myshopify.com/pages/download-xarm (2) Install xArm Studio software (3) Open the xArm Studio software, and enter the IP address of the control box in the search box (the default IP address of the device has been marked on the side of the control box) 2.
  • Page 62: Return To The Search Interface

    1.2.4 Return to the Search Interface PC: Click 【Tool】 - 【Search】 to return to the search interface.
  • Page 63: Xarm Studio Homepage

    1.3 xArm Studio Homepage 1.3.1 xArm Studio Homepage Parameters The homepage displays the number of axes currently connected to the robotic arm, Controller IP, Robot State, TCP Payload, Collision Sensitivity, Robot-Mounting, and Motion Enable. Robot State: 【Error】 indicating that the robotic arm has not been enabled, or the robot is in error state.
  • Page 64: Toolbar

    Live Control: Gives the ability to control the position of the xArm and adjust its posture. Blockly: A graphical programming tool that allows users to achieve programming for the control of the robotic arm , I/O, or end-effector by simply drag and drop the code blocks. Python IDE: Python integrated development environment that uses the xArm-Python-SDK API directly and has ability to view the Python code generated by the Blockly project.
  • Page 65: Robotic Arm Setting

    1.4 Robotic Arm Setting Click the 【Settings】button on the home page to enter the robotic arm setting interface. Set the desired parameters according to the actual situation. 1.4.1 Motion Settings 1.4.1.1 Linear Motion Acceleration: The acceleration of linear motion. The larger the value, the less time it takes to reach the set speed.
  • Page 66 takes to reach the set speed. The range is recommended to be within 20 times the maximum operating speed [20*180°/s]. Joint step: Set the step length for fine adjustment of single joint rotation in Live- control. 1.4.1.3 Sensitivity Setting Collision sensitivity: •...
  • Page 67 【Confirm】: Save the changes. 【Cancel】: Cancel the changes.
  • Page 68: End Effector

    1.4.2 End Effector  When the end effector provided in the option is installed at the end of the xArm, select the corresponding end effector. The end effectors currently supported by xArm are: xArm Gripper, xArm vacuum Gripper, xArm BIO Gripper, Robotiq-2F-85 Gripper, Robotiq-2F-140 Gripper. Take the xArm Gripper as an example.
  • Page 69  When installing other end effectors (not officially provided) at the end of the robotic arm, please choose 【other】. 1. You can choose a 3D model (cylinder/cuboid) that can wrap the end effector and use it as the self-collision prevention model of the end effector.
  • Page 70: Tcp Settings

     When no end effector is installed at the end of the robotic arm, select [No End Effector] 1.4.3 TCP Settings Set TCP Payload and TCP Offset according to the actual situation. 【TCP Payload】 ● The load weight refers to the actual mass (end-effector + object ) in Kg; X/Y/Z- axis represents the position of the centre of gravity of payload in mm, this position is expressed in default TCP coordinate located at flange center(Frame B in the above figure) .
  • Page 71 coincides with the centre point of the tool output flange. 1.4.3.1 TCP Payload On this page, the current payload of the robotic arm can be set and the additional TCP payload data can be recorded. The additional TCP payload data can be referenced during Blockly programming.
  • Page 72 【Save】: Save for the newly added payload record, setting the default payload, and deleting the payload record. 【Cancel】: Cancel saving the newly added payload record, setting the default payload, or deleting the payload record. Create New TCP Payload There are two ways to create a new TCP payload: Manual input or Automatic identification.
  • Page 73 1.4.3.2 TCP Offset On this page, the current offset of the robotic arm can be set and the additional TCP offset data can be recorded. The additional TCP offset data can be referenced during Blockly programming. 【Set as default】: Set the offset data to the offset of the current robotic arm and display the current offset at the top.
  • Page 74: I/O Settings

    1.4.4 I/O Settings The control box of the robotic arm is equipped with 8 digital input and output signals, which can be set in the Blockly project and SDK only when IO is set to General Input / Output. Otherwise the custom setting will not take effect. 1.4.4.1 Input The following functions (if configured), can be triggered by low-level input signals.
  • Page 75 【Offline Task】 ● Offline Task can add multiple Blockly to be triggered through programs I/O, and without the need for computer and network. As shown in the figure above, CI4 is set to the function of Offline Task and a Blockly project is added. Click 【 】...
  • Page 76 1.4.4.2 Output The below functions can be configured for each output. 【General Output】 ● General purpose output, can be configured in programs to output signals. 【Emergency Stop】 ● The system enters an emergency stop state and outputs a low level signal. Otherwise, the output is high.
  • Page 77 【In motion】 ● When the robotic arm is in motion, the output is low. The robotic arm outputs a high level when in a fixed position. This safety related IO will come in pairs. 【Error】 ● When the robotic arm reports an error, the output is low. Otherwise, the output is high.
  • Page 78 1.4.4.3 IO Commissioning In this interface, the IO input status and IO output status of the control box can be monitored, and the IO output status of the control box can be controlled by clicking the button.
  • Page 79: Safety Settings

    1.4.5 Safety Settings 1.4.5.1 Safety Boundary Safety Boundary ● When this mode is turned on, the working range of the robotic arm in Cartesian space can be limited. If the tool center point (TCP) of the robotic arm exceeds the set safety boundary, the robotic arm will stop moving.
  • Page 80 1.4.5.2 Reduced Mode Reduced Mode ● When this mode is turned on, the maximum linear speed, maximum joint speed, and joint range of the robotic arm in Cartesian space will be limited.
  • Page 81: Mounting

    1.4.6 Mounting Setting the mounting direction of the robotic arm is mainly to inform the control box of the current relationship between the actual mounting direction of the robotic arm and the direction of gravity. If the mounting direction of the robotic arm is set incorrectly, the robotic arm will not be able to accurately recognize the direction of gravity, which will cause the robotic arm to frequently trigger a collision warning and stop motion, and will also result in uncontrolled motion of the robotic arm after...
  • Page 82 【WallDown (90 °, 0 °)】 ● Indicates that the robotic arm is wall-mounted and the end of the robotic arm is facing down. 【Customized】 ● Mount at other angles. For mounting at a certain angle. It is necessary to set the tilt angle and the rotation angle according to the actual situation.
  • Page 83: Timed Tasks

    Make sure the robotic arm is properly placed according to the actual use. Must be mounted on a sturdy, shock-resistant surface to avoid the risk of rollover of the robotic arm. 1.4.7 Timed Tasks Timed tasks can schedule the offline task to run at a specific time or within a time range in the future, without the need for an I/O triggering signal.
  • Page 84 【Timing Task】: The robotic arm will run the added tasks during the timing range within the set effective time according to the system time of the control box. 【Periodic Task】: The robotic arm will periodically run the added tasks during the timing range within the set effective time according to the system time of the control box.
  • Page 85: Coordinate System

    1.4.8 Coordinate System In this interface, the user can set the coordinate offset to customize the user coordinate system. X, Y, Z are coordinate values that are offset relative to the base coordinate system. Roll, Pitch, Yaw represents the angular values of orientation relative to the base coordinate system.
  • Page 86 【Default】: The data is the default current base coordinate offset. 【Cancel】: Cancel the selection. 【Save】: Save the modified data. 【Discard】: Discard the modified data. Example: When expressed in coordinate system {A}: B is (207,0,112,180,0,0) , D = 1000mm , if user want to set the world reference coordinate system to {C}, just express the position and orientation of user coordinate system {C} in coordinate system {A}.
  • Page 87: Advanced Settings

    1.4.9 Advanced Settings 1.4.9.1. Advanced Parameters If you want to modify the joint jerk and TCP jerk of the robotic arm, you can modify time here. Note: 1. The jerk affects the acceleration performance of the robotic arm. In general, we do not recommend modifying this parameter.
  • Page 88 1.4.9.2. Assistive Features 【Quick Copy】 ● After turning on this button, the TCP coordinates and joint angle values of the xArm can be copied on the real-time control interface.
  • Page 89 【Run Package Blockly Project】 ● Run Package Blockly Project can avoid the Blockly program from being affected by the network communication between the client and the control box during the running process, which improves the running speed of the program. Note: After turning on this button, the Blockly program will not be interrupted after closing the client terminal and will continue to run, so please do a security assessment before using this function.
  • Page 90 1.4.9.3. Advanced Tools PID Parameters Settings Steps for changing PID parameter: 1. Select PID-PARAMETERS-1 (or PID-PARAMETERS-2).
  • Page 91 The following situation can be improved by modifying the PID parameter: 1. If the robotic arm shakes heavily executing motions with payload. Note: 1. Changing The PID parameter can only be performed if UFACTORY technical support recommends changing the PID parameters. (contact technical support: support@ufactory.cc) 2.
  • Page 92 Friction Identification When the robotic arm needs friction identification, please input the SN of the robotic arm base for friction identification. The following situation can be improved by modifying the friction identification: 1. If manual mode or collision detection performance is far from satisfying. Note: Before friction identification, please read the software tips carefully and strictly follow the software guidelines for friction identification.
  • Page 93 Advanced Logic Clear the IO output when the robot is stopped After turning on 【 Clear IO output when the robot is stopped 】 if the robotic arm receives a stop command, 【Controller Digital Output】or 【Tool Digital Output】 will be set to the invalid state. Otherwise, the 【Controller Digital Output】 or【Tool Digital Output】will not be affected by the stop command.
  • Page 94 Joint Tools Joint Status In this interface, you can get the joint current value and joint voltage value of the robotic arm. The range of the joint voltage value of the robotic arm is: [0, 50V] The range of the joint current value of the robotic arm is: [0, 35A] Note: When using the above functions, the joint firmware version≥...
  • Page 95 2. Unlock Joints Click【lock】 to unlock a single joint. The unlocked joint does not have any force to provide and thence external force support is needed. At this time, the joint can be dragged by hand to rotate. After confirming the position, please re-lock all the joints manually.
  • Page 96 When releasing the joint brakes, someone must support the robot's posture to prevent the robotic arm from falling without external force and damage the robotic arm and surrounding equipment. After the release of the joint brake and manually dragging the robotic arm, please always pay attention to the degree of joint rotation to avoid exceeding the rotation range of the robot joint and damage the internal structure of the robotic arm.
  • Page 97 Configuration File 1. Click the 【Export Configuration】button to export the parameters of the robotic arm as a configuration file. The robotic arm parameters that can be exported mainly include: motion parameters, TCP offset, TCP payload, IO settings, safety boundary, installation methods, coordinate systems, and advanced parameters.
  • Page 98: System Settings

    The user password of the Advanced Tools can be modified in the page shown above. Note: Please keep the new password properly. If the password is lost, you will need to contact UFACTORY to reset the password. 1.4.10 System Settings System Settings mainly include Check Update, System Information, Network Settings, and Log.
  • Page 99 System Information ● Display the IP address of the connected robotic arm, the firmware version of the arm, and the xArm Studio software version. Network Settings ● Display the IP address of the robotic arm, subnet mask, broadcast address, and default gateway.
  • Page 100 Control Box shutdown / Reboot: Access to Control Box Shutdown ● Access to 【Settings】-【System Settings】-【System Information 】 Shutdown / Reboot The control box can be shut down or restarted. Note that the shutdown / reboot button does not turn off the power supply and the main power supply to the robotic arm. 【xArm Shutdown】...
  • Page 101 1.4.10.2 Software / Firmware Update When updating software and firmware, make sure that the local area network where the computer and control box are located can communicate with the external network. In addition, make sure the control box can communicate with external internet. : Click this button to check whether the control box is connected to the Internet.
  • Page 102 1.4.10.3 Network Settings The IP address, subnet mask, broadcast address, and default gateway of the control box of the robotic arm are displayed on this page. You can change the IP address of the control box and add DNS. Note: If you change the IP address, be sure to mark it on the control box.
  • Page 103 3. Turn on the power of the control box. After hearing the sound of "beep", it means that the IP address of the control box has been reset successfully. The reset IP is 192.168.1.111. 4. Please unplug the cable connecting RI0 and GND and wait for the control box to start up (60 seconds).
  • Page 104 7. Restart the control box, enter your modified IP in the xArm Studio search box, and connect the robotic arm. Note: 1. If you need to reset the IP, the xArm firmware version must be ≥ V1.5.0. 2. If you do not unplug the cable connecting RI0 and GND, the next time you restart...
  • Page 105 the control box, no matter what IP address you modify, the IP address of the control box will be automatically changed to 192.168.1.111, so after modifying the IP, Be sure to unplug the cable connecting RI0 and GND. 1.4.10.4 Log The error log of the control box can be checked.
  • Page 106: Live Control

    1.5 Live Control 1.5.1 Status Bar The "unconnected robotic arm" indicates that the robotic arm is not connected. Please reconnect the robotic arm on the homepage. If it is not connected, please check if the robotic arm is normally turned on and check if the network connection is normal. The “Simulate Robot”...
  • Page 107: Real Robot/ Simulation Robot

    Click on the emergency stop button to immediately stop the current motion and clear all cached commands. Note: The “STOP” button in xArm Studio is different from the one on the control box. 1. The “STOP” button in xArm Studio allows the robotic arm to stop the current motion and clear all cache commands immediately.
  • Page 108: Joint Motion

    ● Drag sensitivity can be set in 【Settings】-【Motion Settings】-【Teach sensitivity】. Note: Before opening the manual mode, you must ensure that the installation method of the robotic arm and the payload setting of the robotic arm are consistent with the actual situation, otherwise it will be dangerous. The serial number of robotic arm and the control box need to be matched before Manual Mode can be turned on.
  • Page 109: Linear Motion

    current joint and its degree. Operation mode: Click 【+】 or【-】 for the step angles, users can set the step angle in 【Settings】 - 【Motion Settings】 -【Joint Motion】 -【Joint Step 】. Press-and-hold【+】or【-】for continuous joint motion in a positive or negative direction, which will stop when the mouse is released. To confirm the direction of joint rotation, please refer the figure below:...
  • Page 110 1.5.6.2 TCP Coordinate System A: Base coordinate system B: Tool coordinate system The default TCP coordinate system is defined at the centre point of the end flange of the robotic arm, and it is the result of rotating [180°, 0°, 0°] around the X/Y/Z-axis of the base coordinate system in order.
  • Page 111 ● The +180° and -180°points of the Roll/Pitch/Yaw are coinciding in the space, and the valid range is ±180°, so it is possible to have both ±180° when the robotic arm is reporting the position. ● Roll angle, pitch angle, and yaw angle (RPY). The RPY rotation matrix (X, Y', Z"...
  • Page 112: Operation Mode

    1.5.7 Operation Mode 1.5.7.1 xArm 6 (xArm 7) Operation Interface 【 】 ● It can switch the control functions between the base coordinate system and the tool coordinate system. 【Position/Attitude Real-time Display】 ● X / Y / Z represents the coordinates of the tool center point (TCP) position of the robotic arm under the base coordinate offset.
  • Page 113 【Real-time Position Control】 ● X/Y/Z controls the X/Y/Z-axis of the selected coordinate system respectively. Click for step motion and long press for continuous motion. 【Real-time Attitude Control】 ● Roll/Pitch/Yaw controls the Roll/Pitch/Yaw of the selected coordinate system respectively. Click for step motion and long press for continuous motion. The step can be set by clicking【Settings】...
  • Page 114: Zero Position, Initial Position

    1.5.8 Zero Position, Initial Position 【ZERO POSITION】 ● Indicates all joint angles values are zero. Long press the button of Zero Position to return the robotic arm to the posture of Zero Position. This button blaks collision detection. User can click【Settings】—【Motion Settings】—【Initial Position】on the homepage to set the Initial Position.
  • Page 115: Blockly Graphical Programming

    Note: the speed at which the joint runs between each command is not continuous, and the robotic arm will have a brief pause between joint command. TCP Operating Speed ● The Cartesian speed range is from 1mm/s to 1000mm/s. The actual maximum speed is also affected by the payload, speed, and posture of the robotic arm.
  • Page 116 【 】Open/Close the live control page. 【 】Create button, to create a new Blockly file. 【 】Run button to run the Blockly program that has been written. 【 】Click to create a new folder. 【 】Save the changes. 【 】Cancel the changes. 【...
  • Page 117: Blockly Workspace

    Note: When the robotic arm is in the simulation mode, you can also run the Blockly motion program to observe the motion of the virtual robotic arm. 1.6.2 Blockly Workspace Drag the code block into the action panel, the code execution is top-down, users can drag and drop the code block with the blocks attached from behind together.
  • Page 118 【 】Return to the default size and code block at centered position 【 】Zoom in on the code block. 【 】Zoom out on the code block. 【 】To delete the code block, simply drag it to the trash, or press the【enter】/ 【delete】key after selecting the code block.
  • Page 119 1.6.2.2 The Right Click Mouse Event of the Code Block Right-click in the code block, the function of each module pop up: 【Duplicate】: Copy all code blocks of the current workspace, copy/cut shortcuts with the keyboard and paste them into other files. 【Add Comment】: Users can add a description to the code block, which is identified by the symbol .
  • Page 120: Blockly Code Block

    1.6.2.3 Move/Wait/Edit For some common functions of the motion commands, click【move】 and the robotic arm will move to the current position; click【edit】, Then the robotic arm will move to the current position and open the live control interface; Wait (true/false), indicating whether to wait for the execution of a command before sending the next one.
  • Page 121: Setting

    1.6.4 Setting 【Set TCP speed()mm/s】 ● Set the speed of the linear motion in mm/s. 【Set TCP acceleration()mm/s²】 ● Set the acceleration of the linear motion in mm/s 【Set joint speed()°/s】 ● Set the speed of joint movement in °/s. 【Set joint acceleration()°/s²】...
  • Page 122 【Set tcp load()weight()XYZ】 ● Set the load of the current project, refer Settings-TCP Payload from the drop-down list. 【Set tcp offset()X Y Z R P Y】 ● Set the end offset of the current project, reference Settings-TCP Offset from the drop-down list.
  • Page 123: Motion

    1.6.5 Motion 【sleep()s】 ● After receiving this command, the robotic arm will stop moving for the set time, and then continue to execute the following commands. It is mainly used in motion programs that need to do the continuous motion. It is used to buffer more motion commands for successful continuous motion calcutation.
  • Page 124 【zero position】 ● The robotic arm returns to a posture where the joint value are 0. 【move joint J1() J2() J3 () J4() J5() J6() J7() Radius() Wait(true/false) ,[move] , [edit]】 ● Set each joint value for the joint movement, with the unit of degree. 【move(arc) line X() Y()Z() Roll() Pitch() Yaw() Radius() Wait(true/false) [move] [edit]】...
  • Page 125: Gpio(Control Box And End Tool Interface

    【move (arc) line [variable] X() Y() Z() Roll() Pitch() Yaw() Radius() Wait(true/false) 】 ● The command passes through the Cartesian motion and supports variable values. 1.6.6 GPIO(Control Box and End tool interface) The IO interface is made up of a control box interface and an end tool interface, which can be used to acquire, set, and monitor IO interface operations.
  • Page 126 ● When the robotic arm reaches the specified position (the area of the sphere specified with the trigger position point (X, Y, Z) as the center (the radius of the sphere is the tolerance radius)), IO is triggered. This command can be used to trigger IO at a specific location.
  • Page 127: End Effector

    1.6.7 End Effector 【set xarm gripper Pos () Speed () Wait (true / false)[move][edit]】 ● Set the position and the opening and closing speed of the gripper. 【set bio gripper Speed () Wait (true / false)[move][edit]】 ● Set the opening and closing speed of the gripper. 【set robotiq gripper Pos () Speed () Wait (true / false)[move][edit]】...
  • Page 128: Application

    【object is (picked/release) 】 ● Detect whether the vacuum gripper has picked (released) the object. If it is detected that the vacuum gripper has picked (released) the object, then jump out of this command and execute the next command. If the timeout period is exceeded, the vacuum gripper has not yet picked (released) the object, it will also jump out of the command and execute the next command.
  • Page 129: Logic

    1.6.9 Logic 【wait ()】 ● Wait for the next command to be sent, with the unit of seconds. 【if (Condition 1) Run (Command 1)】 ● If Condition 1 is true, then Command 1 will be run. Otherwise, it will be skipped. The setting method of the if/else sentence: 1.
  • Page 130: Loop

    3. Click the setting button , the selection box is retracted, if /else sentence setting is completed, as shown below: 1.6.10 Loop 【forever】 ● The command contained in the loop will be executed in infinite loop. 【repeat() times do】 ● The command contained in the loop will be executed X times. 【repeat while/until do】...
  • Page 131: Math

    1.6.11 Math You can use the above code block to do some complex operations such as addition, subtraction, multiplication, and division, exponential operations. 1.6.12 Text 【remark】 ● Remark the code block, which serves as an indicator and can change the color.
  • Page 132: Variable

    【message type】 ● Types available are: (information/success/warning/error), duration indicates the time interval the message is displayed, the unit is in second; the message indicates the content of the prompt message. 【string printing[]】 ● Users can print the entered string below and set the font and the color. 【variable printing】...
  • Page 133: Function

    1.6.14 Function 【to (do something)】 ● Users can define a new function without a return value. 【to (do something) return []】 ● Users can define a new function with a return value. 【if [] return []】 ● Conditional judgment sentence that can only be placed in the built-in function. Note: 1.
  • Page 134: Set & Edit Motion Coordinates

    1.6.15 Set & Edit Motion Coordinates Long press 【Move】 button to move the robotic arm to the position of the current command. Click 【edit】to pop up the live control interface to re-edit the motion coordinates of the current command.
  • Page 135: Path Planning Guidelines

    Click 【Save】to save the changes and close the pop-up window. Click【Cancel】 to cancel the changes and close the pop-up window. Note: In the command, there are sequential points such as A / B / C / D. Etc. If the user clicks 【move】...
  • Page 136: Create A New Project

    【 】Create a new project. 】Create a new file. 【 【 】Create a new folder. 【 】Rename. 【 】Delete the file. 【 】Run the file. 1.7.1 Create a New Project On this page, all current project files are displayed, including Blockly projects converted into Python code.
  • Page 137: Recording

    【 】Import projects. 】Export projects. 【 【 】 Display the current open project and the time it was created. 【 】Delete projects. 【Open】Open the projects and display them in the edit box. Note: , The project folder is not available, please create a new project by yourself. Control Box Command Caching Mechanism: The current control box can cache 2048 commands.
  • Page 138 】Pop-up live control panel. 【 【 】Create a new recording file. 【 】Manual Mode will be turned on accordingly by clicking on the button, and the robotic arm can be dragged directly for trajectory recording. When starting recording, be sure to pay attention to the load state of the robotic arm, so as to avoid the big difference between the actual load and the set load of the robotic arm, resulting in its self-motion.
  • Page 139 【 】Delete the file. 【Import Project】Import recorded trajectory. 【Download All】Download all current files.
  • Page 140: Xarm Motion Analysis

    2. xArm Motion Analysis In this section, we mainly use Python / Blockly examples to explain a few typical motions in the list below. Motion Joint Linear Motion Arc linear motion Circular Motion xArm5 Motion Motion About Python-SDK: For all interfaces with is_radian, the default value of is_radian is the value at the time of instantiation.
  • Page 141: Robotic Arm Motion Mode And State Analysis

    2.1 Robotic Arm Motion Mode and State Analysis 2.1.1 The Motion Mode of the Robotic Arm Motions of the robotic arm: joint motion, linear motion, linear circular motion, circular motion, servoj motion and servo_cartesian motion. The following motions are in position mode (Please refer to 【Robot Movement & Status Analysis】): ●...
  • Page 142 (preferably 100Hz or 200 Hz), similar to the position servo control command. (Note: this execution is similar to the step response, for safety considerations, do not give a distant target position at once). Using this mode requires detailed position planning for each axis and motion estimation of the robotic arm, which is difficult to develop.
  • Page 143: Analysis Of Robotic Arm Movement Mode

    4. When planning the path for the robotic arm, the risk assessment must be done and the operator should be cautious. 2.1.2 Analysis of Robotic Arm Movement Mode 4 motion modes of the control box: (Python SDK: set_mode ()) ● Mode 0: Position control mode. In this mode, the robotic arm can execute a series of motion commands (joint motion, linear motion, circular motion, etc.) automatically planned by the control box, which is also the mode that the control box enters by...
  • Page 144: Analysis Of The Motion Status Of The Robotic Arm

    ● Mode 4: Cartesian teaching mode,(not yet available). 2.1.3 Analysis of the Motion Status of the Robotic Arm 3 states that the control box can set: (Python SDK: set_state () ) ● State 0: Start motion. Can be understood as ready for motion or stand-by. In this state, the robotic arm can normally respond to and execute motion commands.
  • Page 145: Motion Of The Robotic Arm

    This state is the state entered by default upon power-on. Stop and on commands can be executed until state is set to 0. ● State 5: System reset. The user just enters the state after the mode switch or changes some settings (such as TCP offset, sensitivity, etc.).
  • Page 146 【Edit】: Open the live control interface and adjust the coordinates of the current point. The motion trajectory of the robotic arm in the above example is as follows: Python example: arm.set_servo_angle(angle=[0.0, 7.0, -71.2, 0.0, 0.0, 0.0], speed=8, mvacc=1145, wait=True) arm.set_servo_angle(angle=[0.0, 7.0, -51.2, 0.0, 0.0, 0.0], speed=8, mvacc=1145, wait=True) arm.set_servo_angle(angle=[0.0, 7.0, -91.2, 0.0, 0.0, 0.0], speed=8, mvacc=1145, wait=True) The interface set_servo_angle is described in Table 2.1: Table 2.1 Description of set_servo_angle...
  • Page 147 If wait = False, send the next commands directly; mvtime 0,reserved; Note: 1. If the joint angle is to be set in radian, then is_radian = True; ex: code = arm.set_servo_angle (servo_id = 1, angle = 1.57, is_radian = True) 2.
  • Page 148 different parameters correspond to different trajectories. (1) Radius> 0. For example, setting Radius = 60, the turning trajectory is as shown in the arc in the figure below, which can achieve a smooth turning effect. Note: The radius of the arc is smaller than D and D (2) Radius = 0.
  • Page 149: Linear Motion And Arc Linear Motion

    2.2.2. Linear Motion and Arc Linear Motion 2.2.2.1. Linear Motion Characteristics of Linear Motion The concept of linear motion  Stright linear motion between Cartesian coordinates (unit: mm), the speed is not continuous between each command.  Users can control the motion of the robotic arm based on the base coordinate system and TCP coordinate system.
  • Page 150 【move(arc) line X() Y()Z() Roll() Pitch() Yaw() Radius() Wait(true/false)【move】 【edit】】: Indicates the Cartesian coordinate value of the linear motion and the TCP rotation angle in mm and °. Note: Cartesian motion is TCP straight-line motion. Python example: arm.set_tcp_jerk(2000) arm.set_position(x=205.0, y=100.0, z=110.4, roll=180.0, pitch=0.5, yaw=0.0, speed=100, radius=-1.0, wait=True) arm.set_position(x=205.0, y=120.0, z=110.4, roll=180.0, pitch=0.5, yaw=0.0, speed=100, radius=-1.0, wait=True) arm.set_position(x=205.0, y=140.0, z=110.4, roll=180.0, pitch=0.5, yaw=0.0, speed=100, radius=-1.0, wait=True) arm.reset()
  • Page 151 Note: If it is xArm5, roll and pitch must be set to roll = ± 180 ° and pitch = 0 °. 2.2.2.2. Arc Linear Motion Characteristics of Arc Linear Motion: Arc linear motion (Lineb), inserting arc transitions between two straight lines, is a way to plan the continuous movement of the robotic arm.
  • Page 152 Note: The radius of the arc is smaller than D and D (5) Radius = 0. There is no arc transition at the turn, it will be a sharp turn with no deceleration, as shown in the figure below. Note: If the motion of the robotic arm is a reciprocating linear motion, you need to set radius=0.
  • Page 153: Circular And Arc Motion

    while True: arm.set_position(x=400, y=-100, z=250, roll=180, pitch=0, yaw=0, radius=50,speed=200, wait=False) arm.set_position(x=400, y=100, z=250, roll=180, pitch=0, yaw=0, radius=50,speed=200, wait=False) arm.set_position(x=300, y=0, z=250, roll=-180, pitch=0, yaw=0, radius=50,speed=200, wait=False) set_position interface: refer to Table 2.2. The set_pause_time interface is described in Table 2.3: Table 2.3 set_pause_time description set_pause_time Description...
  • Page 154 Blockly example: 【move circle position 1 to position 2】: From current position, the whole circle is determined by current position and position1 and positon2, “center angle” specifies how much of the circle to execute. Note: (1) The starting point, pose 1 and pose 2 determine the three reference points of a complete circle. If the motion path of the robotic arm is a circular arc, then pose 1 and pose 2 are not necessarily end points or passing points;...
  • Page 155  If the positions of point B and C are swapped, point B is (350,-50,400,180,0,0), point C is (350,50,400,180,0,0), the robotic arm will draw a circle in a counterclockwise direction. The trajectory of the robotic arm is as follows: Python example: arm.set_servo_angle(angle=[0.0, -45.0, 0.0, 0.0, -45.0, 0.0], speed=20, mvacc=500, wait=True) arm.set_position(*[300.0, 0.0, 400.0, 0.0, -90.0, 180.0], speed=300, mvacc=2000, radius=-1.0, wait=True) move_circle([350.0, 50.0, 400.0, 180.0, -90.0, 0.0], [350.0, -50.0, 400.0, 180.0, -90.0, 0.0], 1000.0, speed=300,...
  • Page 156: Xarm5 Motion Characteristics

    2.3. xArm5 Motion Characteristics ● Cartesian space The movement of xArm5 is relatively special. Due to the structural limitation, the actual flexible degrees of freedom of linear and circular motions in Cartesian space is 4, which is [x, y, z, yaw], similar to a SCARA manipulator with four degrees of freedom.
  • Page 157 Figure 2.1 xArm6 singularity 2.Characteristics The characteristic of the singularity is that the planning movement cannot be performed correctly. Coordinate-based planned movements cannot be explicitly translated into joint motions of each axis. When the robot performs motion planning (linear, circular, etc., excluding joint movements) near the singularity point, it will stop to avoid high instantaneous speed of the joint when it passes the singularity point.
  • Page 158 Note: It is important to consider the cylindrical volume directly above and directly below the base of the robotic arm when a mounting place for the robotic arm is chosen. Moving the wrist joint(second last joint) close to the cylindrical volume should be avoided if possible, because it causes the joints to move fast even though the robotic arm is moving slowly, causing the robot to work ineffificiently and making it diffificult to conduct a risk assessment.
  • Page 159: Typical Examples

    3. Typical Examples 3.1. The Use of xArm Vacuum Gripper The download address of the Blockly program: The use of xArm vacuum gripper.blockly The role of this program: execute this program to control the vacuum gripper to suck the target object at the specified position, and then place the target object at the target position.
  • Page 160: The Use Of Xarm Gripper

    3.2. The Use of xArm Gripper The download address of the Blockly program: The use of xArm gripper.blockly The role of this program: execute this program to control the gripper to grip the target object at the specified position, and then place the target object at the target position. 3.3.
  • Page 161: Cyclic Motion Count

    the figure above. 3.4. Cyclic Motion Count The download address of the Blockly program: Cyclic Motion Count.blockly Counter counts: Cyclic motion count: By adding 【Counter plus】, each time the command is run, the counter of the Control Box will be incremented by 1. It can be used to calculate the number of times the program cycles.
  • Page 162 2. wait = false When wait = false, the ++ i class count and the count counter are inconsistent. Because wait = false, the commands will be sent continuously until the control box buffer is full (According to the above example, the number of cycles of the robotic arm is 10 times.
  • Page 163: Appendix

    ● xArm-Python-SDK enable method: Refer to Error Handling Mode. ● xArm-ROS-library: Users can view related documents at https://github.com/xArm-Developer/xarm_ros ● If the problem remains unsolved after power on/off for multiple times, please contact UFACTORY team for support. Software Error Code Error Handling Abnormal Current Detection Please restart the xArm with the Emergency Stop Button on the xArm Control Box.
  • Page 164 Multi-turn Encoder Error Please contact technical support. Low Battery Voltage Please contact technical support. Driver IC Hardware Error Please re-enable the robot. Driver IC Initialization Error Please restart the xArm with the Emergency Stop Button on the xArm Control Box. Encoder Configuration Error Please contact technical support.
  • Page 165: Control Box Error Code And Error Handling

    1.2 Control Box Error Code and Error Handling 1.2.1 Control Box Error Code If there is an error in the hardware of the robotic arm/the software of the Control Box/in sending commands, an error or warning will be issued. This error/warning signal will be fed back when the user sends any command;...
  • Page 166: Control Box Error Code

    Feedback Speed Exceeds Limit Please contact technical support. Collision Caused Abnormal Current Please check for collisions, check that the payload settings are correct, and that the collision sensitivity matches the speed. Three-point Drawing Circle Calculation Error please reset the arc command. Control Box GPIO Error If the error occurs repeatedly, please contact technical support.
  • Page 167 3. Re-enable the gripper. If the problem remains unsolved after power on/off multiple times, please contact UFACTORY team for support. Software Error Code Error Handling Gripper Current Detection Error Please restart the xArm with the Emergency Stop Button on the xArm Control Box.
  • Page 168: Python Sdk Error Code & Error Handling

    1.4 Python SDK Error Code & Error Handling Error Handling Software Error Code Emergency Stop The TCP position command is out of the robot arm's motion range. Please adjust the TCP position command. xArm is not ready. Please check whether the robot is enabled and the state is set correctly. xArm is disconnect or not connect.
  • Page 169 xArm-Python-SDK Error Handling: When designing the robotic arm motion path with the Python library, if the robotic arm error (see Appendix for Alarm information) occurs, then it needs to be cleared manually. After clearing the error, the robotic arm should be motion enabled. Python library error clearing steps: (Please check GitHub for details on the following interfaces) a.
  • Page 170: Appendix2-Technical Specifications

    Appendix2-Technical Specifications 2.1 xArm5/6/7 Common Specifications xArm ±700mm ±700mm Cartesian Range -400mm~951.5mm Roll/Yaw/Pitch ± 180° Maximum Joint Speed 180°/s Reach 700mm Repeatability ±0.1mm Max Speed of End-effector 1m/s *Ambient Temperature Range 0-50 °C* Power Consumption Min 8.4 W, Typical 200W, Max 400W Input Power Supply 24 V DC, 16.5 A ISO Class Cleanroom...
  • Page 171: Xarm 5 Specifications

    Quiescent Power (Minimum Power Consumption) 1.5W Peak Current 1.5A Working Range 84mm Maximum Clamping Force Weight (g) 802g Communication Mode RS-485 Communication Protocol Modbus RTU Programmable Gripping Parameters Position, Speed Feedback Position Vacuum Gripper Rated Supply Voltage 24V DC Absolute Maximum Supply Voltage 28V DC Quiescent Current(mA) 30mA...
  • Page 172: Xarm 6 Specifications

    Robot Joints Robot Zero Attitude Joint Rotating Direction 2.3 xArm 6 Specifications 1,4,6 ±360° -118°~120° Joint Range -225°~11° -97°~180° Payload Degrees of Freedom Repeatability ±0.1mm Weight(robotic arm only) 12.2kg...
  • Page 173: Xarm 7 Specifications

    Robot Zero Attitude Robot Joints Joint Rotating Direction 2.4 xArm 7 Specifications 1,3,5,7 ±360° -118°~120° Joint Range -11°~225° -97°~180° Payload 3.5kg Degrees of Freedom Weight(robotic arm only) 13.7kg...
  • Page 174 Robot Zero Attitude Robot Joints Joint Rotating Direction...
  • Page 175: Appendix3-Faq

    Appendix3-FAQ 1. Guide for xArm Studio displaying “Sever is not ready” 2. Guide to use the Vacuum Gripper 3. Guide to download the log file on the xArm Studio 4. Solve the problem that all joints of the xArm are at '0' in the gazebo 5.
  • Page 176: Appendix4-The Xarm Software/Firmware Update Method

    Developer Manual" from the official website to learn about the latest features of xArm. The download link: https://store-ufactory-cc.myshopify.com/pages/download-xarm 3) Although the compatibility with the old version of the SDK was fully considered when developing the xArm software, we still recommend:...
  • Page 177 ● The method for the online update using the xarm-tool-gui tool is as follows: 1) Tool download Download address of xarm-tool-gui tool, xArm Studio and xArm Firmware installation package: xArm-Tool-GUI Since your PC connected to the xArm control box can access the Internet, you can directly download the above installation package to your PC.
  • Page 178 4) After the installation is completed, the console of the xarm-tool-gui will display "Install firmware success" (or "Install Studio success"). Finally, click "Reboot Control Box" and wait for the control box to reboot, the reboot usually takes about 2-3 minutes.
  • Page 179 2. When you use the following network setting methods, please use xarm- tool-gui tool to update xArm Studio and xArm firmware offline. The control box is directly connected to the PC(The PC is not connected to the Internet) ● The offline update method using the xarm-tool-gui tool is as follows: 1) Tool download Download address of xarm-tool-gui tool, xArm Studio, and xArm Firmware installation package:...
  • Page 180 3) After successful connection, click the [Install Offline] in the Firmware installation box (xArmStudio installation box), then load the corresponding "firmware" or "xArm Studio" compressed package in the folder.
  • Page 181 4) Click the [Install] button. 5) After the installation is completed, the console of the xarm-tool-gui will display "Install firmware success" (or "Install Studio success"). Finally, click "Reboot Control Box" and wait for the control box to reboot, the reboot usually takes about 2-3 minutes.
  • Page 182 If there is no IO module on the side of your control box (the IO module is shown in the figure below) and cannot be updated online by xArm Studio, please contact technical support (support@ufactory.cc) to provide a dedicated xarm-tool-gui installation package.
  • Page 183: Appendix5- Maintenance And Inspection

    Appendix5- Maintenance and Inspection 1. Long-term placement If the robotic arm is not used for a long time (≥6 months), you need to power on the robotic arm for 6 hours every 6 months to charge the built-in battery of the robotic arm.
  • Page 184: Appendix6- After-Sales Service

    (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.

This manual is also suitable for:

XarmXarm5 lite

Table of Contents