Table Table ............................................................................................................................. 2 Preface ......................................................................................................................... 9 Product Information ......................................................................................... 9 Main Contents of the Manual ..................................................................... 10 Terms and Definitions.....
1.3.2. Power On ....................................................................................... 37 1.3.3. Shut Down the Robotic Arm System ..................................... 37 2. Electrical Interface............................................................................................ 40 2.1. AC Control Box .................................................................................. 40 2.1.1. Connect the Control Box to the Robotic Arm..................... 40 2.1.2.
2.6. Ethernet TCP/IP .................................................................................. 64 3. End-Effector ....................................................................................................... 67 3.1. Gripper .................................................................................................. 67 3.1.1. Gripper Installation ..................................................................... 68 3.1.2. The Flow of Gripper Movement............................
1.4.1 Motion Settings............................................................................ 86 1.4.2 End Effector .................................................................................. 90 1.4.3 TCP Settings ................................................................................ 93 1.4.4 I/O Settings .................................................................................. 98 1.4.5 Safety Settings ..........................................................................
1.6.2 Blockly Workspace ................................................................... 155 1.6.3 Blockly Code Block .................................................................... 158 1.6.4 Setting ......................................................................................... 159 1.6.5 Motion ......................................................................................... 161 1.6.6 GPIO(Control Box and End tool interface) ..................... 163 1.6.7 End Effector ...........
2.1.3 Analysis of the Motion Status of the Robotic Arm ......... 187 2.2. Motion of the Robotic Arm ................................................................ 189 2.2.1. Joint Motion ........................................................................................ 189 2.2.2. Linear Motion and Arc Linear Motion .................................. 194 2.2.3. Circular and Arc Motion ........................................................... 200 2.3. xArm5 Motion Characteristics ...................
2.2 xArm 5 Specifications .......................................................................... 225 2.3 xArm 6 Specifications .......................................................................... 225 2.4 xArm 7 Specifications .......................................................................... 226 Appendix3-FAQ ..................................................................................................... 228 Appendix4-The xArm Software/Firmware Update Method. .....................
Preface Product Information Package contains: 1. Robotic Arm x 1 2. Control Box x 1 3. Power cable for the Control Box x1 4. Power cable for the Robotic Arm x1 5. Communication cable for the Robotic Arm x 1 6. Ethernet Cable x1 7.
Main Contents of the Manual xArm User Manual Hardware Section (1) xArm hardware installation (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 The following terms and definitions apply to this m
The end effector, installed on the front end of the wrist of the End Effector Enable Robotic Arm robotic arm, is used to install special tools (such as grippers, vacuum gripper, etc.), which can directly perform work tasks. Power on the robotic arm and turn on the motor of the robotic arm. After the robotic arm is enabled, it can start to move normally. TCP TCP Motion Tool center point.
A B RXYZ ( , , ) = RZ ( )RY ( )RX ( ) Note: γ corresponds to roll; β corresponds to pitch; α corresponds to yaw. Rx / Ry / Rz representation also, using 3 values to represent the pose (but not three rotation angles), which is the product of a three-dimensional rotation vector [x, y, z] and a rotation angle[phi (scalar)]. The characteristics of the axis angle: Assume the rotation axis is [x , y, z], and the rotation angle is phi.
System (please refer to the figure 1) offset is not set, the default tool coordinate system is located at flange center. 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. User Coordinate System The user coordinate system can be defined as any other reference coordinate system rather than the robot base.
Figure 1 xArm Motion Parameters The parameters of the robotic arm are shown in Table 1.1 and Table 1.2. Table 1.1 working range of each joint of the robotic arm Robotic Arm xArm 5 xArm 6 xArm 7 180°/s 180°/s 180°/s 1st Axis ±360° ±360° ±360° 2st Axis -118°~120° -118°~120° -118°~120° 3st Axis -225°~11° -225°~11° ±360° 4st Axis -97°~180° ±360° -11°~225° 5st Axis ±360° -97°~180° ±360° 6st Axis None ±360° -97°~180° 7st Axis None None ±360° Maximum Working Range Table 1.
Note: 1. In the TCP motion (Cartesian space motion) commands (set_position () function of the SDK), If a motion command involves both position transformation and attitude transformation, the attitude rotation speed is generally calculated automatically by the system. In this situation, the specified speed parameter is the maximum linear speed, range from: 0 ~ 1000mm / s. 2.
Additional Information For xArm Studio software download and xArm developer manual, please refer to the UFACTORY official website. (https://store-ufactory-cc.myshopify.com/pages/download-xarm) Safety Precautions ● Introduction This chapter contains essential safety information, integrators and users of xArm must follow the instructions and pay special attention to the content with warning signs.
● Validity and Responsibility The information does not cover how to design, install, and operate a complete robotic arm application, nor does it cover all peripheral equipment that can influence the safety of the complete system. The complete system must be designed and installed under the safety requirements outlined in the standards and regulations of the country where the robotic arm installed.
damage or personal injury caused by improper operation. ● 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 DANGER: This indicates an imminently hazardous electrical situation, which if not avoided, could result in death or serious damage to the device.
CAUTION: If not avoided, could result in personal injury or damage to the equipment. ● Safety Precautions Overview This section contains some general warnings and cautions on installation and application planning for the robotic arm. To prevent damage to the machine and associated equipment, users need to learn all the relevant content and fully understand the safety precautions.
3. Make sure the robotic arm and tool are properly and securely bolted in place. 4. The integrity of the device and system must be checked 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.
11. When releasing the brakes of xArm, please take protective measures to prevent the robotic arm or operator from damage or injury. 12. When connecting the xArm with other machinery, it may increase risk and result in dangerous consequences. Make sure a consistent and complete safety assessment is conducted for the installation system. 1. The robotic arm and Control Box will generate heat during operation.
motions will not collide with any obstacle. 6. Do not modify the robotic arm(or Control Box). Any modification may lead to unpredictable danger to the integrators. 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.
1. Each operator who uses the robotic arm system should read the product user manual carefully. Users should fully understand the standardized operating procedures with the robotic arm, and the solution to the robotic arm running error. 2. When the device is running, even if the robotic arm seems to stop, the robotic arm may be waiting for the signal and in the upcoming action status. Even in such a state, it should be considered as the robotic arm is in action. 3.
xArm User Manual-Hardware Section 1. Hardware Installation Manual 1.1. The Hardware Composition of xArm 1.1.1.
Figure 2-4 Figure 2-3 Figure 2-5 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. gripper, vacuum gripper, etc). Refer to technical specifications for joint Figures(See appendix-2). 1.1.2.
Emergency Stop: press the emergency stop button to power off the xArm, and the power indicator will go out. Power-on: when the button is rotated in the direction indicated by the arrow, the button is pulled up, the xArm power indicator lights up, and the arm is powered. Note: After pressing the emergency stop button, the following operations should be performed to re-start the xArm: 1. Power up the xArm (Turn the emergency stop button in the direction of the arrow) 2.
1.1.3. Three-Position Enabling Switches The three-position enabling switches is composed of three switches and an emergency stop button. The specific functions are shown in the following table: Stops the motion of the robotic arm First-position Second-position Third-position switch switch switch Yes No Yes Pause Pause Program The buffered The robotic arm execution motion resumes motion. command is status The power supply of the robotic arm Pause On motion command is not cleared.
1.1.4. Control Box Description Control Box Buttons and Parameter Name ROBOT power indicator ROBOT PWR Function The light is on, indicating that the xArm is powered on. Control Box power status STATE indicator The light flashes, indicating that the control box is powered on. Network port indicator LAN The light is on, indicating that the xArm is communicating normally.
tight. 3. The robotic arm should be installed on a sturdy surface that is sufficient to withstand at least 10 times the full torsion of the base joint and at least 5 times the weight of the arm. 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.
e. Install end-effector 1.2.2.1. Define a Robotic Arm Workspace The robotic arm workspace refers to the area within the extension of the links. The figure below shows the dimensions and working range of the robotic arm. When 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.
Working space of xArm5 and xArm6 (unit: mm) Note : The following working range diagrams are only for safety assessment.
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. Robotic Arm is Connected to the Control Box Plug the connector of the Robotic Arm Power Supply Cable and the Robotic Arm Signal Cable into the interface of the Robotic Arm. The connector is a foolproof design.
below). 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.
The end-effector flange referenced the DIN ISO 9409-1-A50/A63 standard.
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. Make sure that the tool is safely constructed such that it cannot create a hazardous situation by dropping a part unexpectedly. 4. Pay attention to the operation specifications of sharp end-effector tools. 5.
the working range. 1.3.2. Power On 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) lights up. 4. Use the xArm Studio / SDK command to complete the operation of enabling the robotic arm. (enable the servo motor) 1.3.3.
(1) Press the EMERGENCY STOP button to power off the robotic arm. (2) Ensure the power indicator light is off. 2. Shutdown the control box (1) Press the power button(PWR) of the control box for about 5s to turn off the status light. (2) Turn off the power supply of the control box. (the power switch takes about 5 seconds to turn off the power of the control box. If users like to restart the power right after turning off the power supply, they need to press the power button manually.
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.
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. The robotic arm signal cable is connected to the signal interface of the robotic arm and the ROBOT signal interface of the control box.
2.1.2. Power Connection There is a standard IEC plug at the end of the control box’s main cable. Connect a local dedicated main outlet or cable to the IEC plug. The control box is powered by 110V-240V AC (the input frequency is 5060HZ) and its internal switching power supply converts 110V-240V AC into 12V, 24V DC, which supplies power to the load of the control box and the robotic arm.
2.1.3. Definition of the Robotic Arm Industrial Connector 6-Pin Industrial Connector (Robot Communication ) Industrial connector wire sequence Functional definition 1 GND 2 485-A Arm 3 485-B Arm 4 GND 5 485-A Tool 6 485-B Tool 2.2. DC Control Box 2.2.1. External Interfaces of Control Box Except that the DC Control Box is connected to different power sources, the other electrical interface specifications and functions are the same as the AC Control Box.
2.2.2.
2.2.3. Specification of External Power Input Rated voltage 24V-28V Rated power 400W Rated current 17A 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. 1. Never connect a safety signal to a non-safety PLC. Failure to follow this warning may result in serious injury or death due to an invalid safety stop function. 1.
the I/O of the robotic arm. 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. 2.
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 1 Brown +24V(Power) 2 Blue +24V(Power) 3 White 0V (GND) 4 Green 0V (GND) 5 Pink User 485-A 6 Yellow User 485-B 7 Black Tool Output 0 (TO0) 8 Grey Tool Output 1 (TO1) 9 Red Tool Input 0 (TI0) 10 Purple Tool Input 1 (TI1) 11 Orange Analog input 0 (AI0) 12 Light Green Analog input 1 (AI1) 46
The electrical specifications are as follows: Parameter Min. Value Typical Value Max. Value Unit Supply Voltage in 24V - 24 30 V Supply Current * - - 1800 mA Note: * It is strongly recommended to use a protection diode for inductive loads. Make sure that the connecting tool and the gripper do not cause any danger when the power is cut, such as dropping of the work-piece from the tool. 2.3.1. Digital Output The digital output is implemented in the form of NPN with an open collector(OC).
2.3.1.1. Tool Digital Output Usage The following example illustrates how to use the digital output. As the internal output is an open collector, the resistor should be connected to the power supply according to the load. The size and power of the resistor depend on the specific use. Note: It is highly recommended to use a protection diode for inductive loads as shown below. 2.3.2. Digital Input The digital input is already equipped with a pull-down resistor.
Logic Low Voltage - - 1.0 V Logic High Voltage 1.6 - - V Input Resistance - 47k - Ω 2.3.2.1. Tool Digital Input Usage The following figure shows the connection with the simple switch. 2.3.3. Tool Analog Input The tool analog input is a non-differential input. The electrical specifications are as follows: Parameter Min Typical Max Unit Input Voltage in Voltage Mode -0.5 - 3.
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. Connect the negative output to GND (0V), and it can work like a non-differential sensor.
Current Mode 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. 2.4.1.
• Dedicated safety I/O. • Configurable common I/O.
Collision Configurable Configurable Manual Mode Configurable Configurable Reduced Mode Configurable Configurable Offline Task Running Configurable Configurable Robot Enabled Configurable Configurable It is very important to install xArm according to the electrical specifications. All the I/O must comply with the specifications. The digital I/O can be powered by a internal 24V power supply or by an external power supply by configuring the power junction box.
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 - Voltage 23 24 30 V [PWR - Current 0 - 1.8 A External 24V Input Requirement [24V - 0V] Voltage 20 24 30 V [24V - 0V] Current 0 - 3 A The digital I/O electrical specifications are as follows. Terminal Parameter Min. Value Typical Value Max.
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).
Emergency Stop Protective Stop Stops the motion of the robotic Yes Yes Program execution Stop Suspend The power supply of the robotic Off On Reset Manual Auto or manual Usage frequency Not frequent No more than once per run Need re-initiation Only releasing the brake No 2.4.2.1. Default Safety Configuration The robotic arm has been configured by default and can be operated without any additional safety equipment, as the figure below.
2.4.2.3. Share Emergency Stop with other Machines When a robotic arm is used with other machines, it requires to set up a common emergency stop circuit in most of the time. The following figure shows that two robotic arms share an emergency stop button (the connection method shown in the figure below also applies to multiple robotic arms sharing an emergency stop button). 2.4.2.4. Automatically Recoverable Protective Stop The door switch is an example of a basic protective stop device.
This configuration is only for applications where the operator is unable to close the door from behind. Configurable I/O can be used to set the reset button outside the door, as to reactivate the movement of the robotic arm. Another example of an automatic recovery is the use of a safety pad or a safety laser scanner, see the figure below. 2.4.2.5. Protective Stop with Reset Button If you use a protective interface to interact with the light curtain, you need to reset from outside the safety zone.
How to realize the protection reset function with reset button: 1. Configure "CI0" as the safeguard reset in xArm Studio. The specific steps are as follows: Enter "Settings" - "I/O" - "Input" - Configure CI0 as safeguard reset "Save". 2.
trigger the motion of xArm by connecting CI0 to GND; if xArm needs to pause the motion, disconnect SI0 and SI1 from GND. Note: DI0-DI7 are not equipped with the following three functions: stop moving, safeguard reset, and reduced mode. 2.4.3. General Digital I/O Function 2.4.3.1. Configurable 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.
Note: It is highly recommended to use a protection diode for inductive loads as shown below. 2.4.3.2. Configurable Input The digital input is implemented in the form of a weak pull-up resistor. This means that the reading of the floating input is always high. 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. 2.4.4. General Analog I/O This type of interface can be used to set or measure voltage (0-10V) going into or out of other devices. For the highest accuracy, the following instructions are recommended: • Use the GND terminal closest to this I/O.
Terminal Parameter Min. Value Typical Value Max. Value Unit Analog Input under Voltage Mode [AIx - AG] Voltage 0 - 10 V [AIx - AG] Resistance - 10k - Ω [AIx - AG] Resolution - 12 12 bit Analog Output under Voltage Mode [AOx - AG] Voltage 0 - 10 V [AOx - AG] Current 0 - 20 mA [AOx - AG] Resistance - 100k - Ω [AOx - AG] Resolution - 12 - bit 2.4.4.1.
2.5. Communication Interface The Control Box provides Ethernet interface, as shown in the figure below. 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. If the connection is successful, the network port indicator blinks frequently. The default network segment IP address of the control box is 192.168.1.*(2~254). For a specific IP address, please check the control box label.
192.168.1.*, check if the network proxy is enabled, and check if the robotic arm’s IP address conflicts with that of other devices in the LAN. Please change the computer IP address to the same network segment and close the computer's network proxy. To test whether the computer can communicate with the robotic arm, open the command terminal and input ‘ping 192.168.1.* (the IP address of the robotic arm)’. If the ping is working, the communication between the computer and the robotic arm is successful.
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. If the clamping is not tight, a negative value can be set until it is tightened. The speed of the gripper should be in 1000-5000. If a speed less than 1000 was set, the gripper may not work.
3.1.1. Gripper Installation Installation of gripper: 1. Move the robotic arm to a safe position. Avoid collision with 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. Fix the gripper on the end of the robotic arm with 2 M6 bolts; 4. Connect the robotic arm and the gripper with the gripper connection cable; Note: 1.
side; 3. When connecting the gripper and the robotic arm, be sure to align the positioning holes at the ends of the gripper and the robotic arm. The male pins of the connecting cable are relatively thin, please be careful to avoid bending the male pins during disassembly. 3.1.2. The Flow of Gripper Movement 1. Enable the gripper. 2. Send out a position for clamping. 3. The current range of value: -10 ~ 850. 3.1.3. Precautions 1.
2.When a robotic arm equipped with a gripper is used for trajectory planning, it is necessary to perform a safety assessment on whether to return to the zeropoint or whether the operation can be performed and to avoid collisions. 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.
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. Note: If the surface of the object is not smooth, there will be air leakage from the suction cup which makes the object fail to be sucked up firmly.
robotic arm mounting surface or other equipment; 2. Power off the robotic arm by pressing the emergency stop button on the control box; 3. Fix the vacuum gripper on the end of the robotic arm with 2 M6 bolts; 4. Connect the robotic arm and the vacuum gripper with the vacuum gripper connection cable. Note: 1.
3.2.2. Turn On/Off Vacuum Gripper Example: Blockly: Python-SDK: arm.set_vacuum_gripper(True, wait=False) #Turn on vacuum gripper arm.set_vacuum_gripper(False, wait=False) #Turn off vacuum gripper Note: 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.
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. Note: 1) Installation systems supported by the xArm Studio client: Windows, Mac, Linux (Ubuntu16.
1.1 Hardware Preparation 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. 2. Check if the connection between the control box and the robotic arm, power supply, and network cable is stable. 3. Check if the main power of the control box is on.
control box is on, it means the control box is turned on. 5. Check if the network is connected. If the network indicator in the middle of the control box flashes frequently, it means the network communication is normal. 6. Check if the robotic arm is powered and the emergency stop button is disabled. If the power indicator of the robotic arm lights up, it means the power is on. 1.2 Connect to the Robotic Arm 1.2.
(2) The control box, PC and router are connected by Ethernet cable. (3) PC and router are connected by wireless network, and control box a nd router are connected by Ethernet cable. Note: It is not recommended because of the delay and packet loss of wireless connection.
(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.
When the control box is shipped from the factory, the default IP address is 192.168.1.xxx (The factory IP address of the device has been marked on the side of the control box). Therefore, to successfully communicate with the control box, the IPV4 network segment on the computer must be between 192.168.1.1-192.168.1.255 (cannot be the same as the IP address tail number of the control box).
Step3: Open the “Properties” Step4: Open the “IPV4” 80
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 directly ping the IP address of the xArm in the command line: ping 192.168.1.XXX (see the figure below ).
1.2.3 Connect to the Robotic Arm There are the following two ways to communicate with the robotic arm. 1. If you access xArm Studio software, you can communicate with the robotic arm through the following steps: (1) Download xArm Studio xArm Studio download address: https://store-ufactory-cc.myshopify.
with the robot through the following steps: (1) Open the browser (2) Enter in the search bar: the IP address of the control box: 18333 For example, if the IP address of the control box is 192.168.1.135, enter 192.168.1.135:18333 in the search bar to access xArm Studio. 1.2.4 Return to the Search Interface PC: Click 【Tool】 - 【Search】 to return to the search interface.
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. Click the blue【Enable Robot】button to enable it. 【Normal】 indicating that the robotic arm is ready, and【Enable Robot】becomes 【Robot Enabled】.
1.3.2 5 Main Functional Modules of xArm Studio xArm Studio mainly consists of 5 main functional modules: 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.
Tool: 【Tools】 - 【Search】 to return to the interface of ‘search the robotic arm’. 【Tools】 - 【Check for Updates】 to check the software updates. Help: 【Help】Use the drop-down window to download the manuals of the robotic arm, contact technical support, open forums, and visit GitHub. 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.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. It is recommended to be set within 20 times the maximum speed value for a smooth trajectory. Position step: Set the step length for fine cartesian position( X/Y/Z) adjustment in Live-control. Attitude step: Set the step length for fine adjustment of TCP orientation in Live-control. 1.4.1.2 Joint Motion Acceleration: The acceleration of joint motion.
1.4.1.3 Sensitivity Setting Collision sensitivity: • When the deviation of the torque detected by the joint exceeds a certain normal range during the movement of the robotic arm, the robotic arm will automatically stop to prevent the robotic arm or the operator from being injured. The collision sensitivity range is 0 to 5 levels. When it is set to 0, it means that collision detection is not enabled.
1.4.1.4 Initial Position Setting the Initial Position of the robotic arm can help the user to return the robotic arm to a relatively safe position when planning the motion trajectory. Steps for setting the initial position: 1. Click【Settings】button on the homepage. 2. Enter 【Motion】,then click the 【Set】 button next to the Initial Position. 3. Set the initial position of the xArm in Live-control. 【Confirm】: Save the changes. 【Cancel】: Cancel the changes.
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-2F140 Gripper. Take the xArm Gripper as an example.
xArm Gripper Note: 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. The gripper firmware version can be get by clicking the button [Get Version]. 4. When "TCP payload compensation" is turned on, the default TCP payload will be changed to the TCP payload parameter of the gripper.
⚫ 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.
⚫ 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) .
【TCP Offset】 ● Setting the Tool Coordinate Offset with respect to the initial tool frame located at the center of the flange (Frame B in the above figure) . The position coordinates X, Y, and Z determine the position of TCP, while Roll, Pitch, and Yaw determine the orientation. When the specified value is zero, TCP coincides with the centre point of the tool output flange. 1.4.3.
【Set as default】 ● Set the payload data to the payload of the current robotic arm and display the current payload at the top, which is used for controlling the entire robotic arm and is related to the normal use of manual mode and collision detection. 【New】: Create new payload data. 【Select】: Select the payload data to be deleted in the next step. 【Delete】: Delete the selected payload data. Note: the current default payload data cannot be deleted.
shown in the above figure). The current robotic arm must be mounted on a steady floor if automatic identification is selected. The robotic arm needs to run a series of action commands to calculate the parameters of TCP payload. In addition, it is important to ensure the safety of equipment and personnel near the robotic arm. Note: Once the name of the new payload has been determined, it cannot be changed. 1.4.3.
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. 【New】: Create a new offset record. When creating a new TCP offset, there are two ways to set the new TCP offset parameters, as shown in the figure below: 1) Manual Input When the TCP offset parameter of the end effector is known, you can choose to manually input its TCP offset parameter.
【Delete】: Delete the selected offset data. Note: the current default offset data cannot be deleted. 【Save】: Save for the newly added offset record, setting the default offset, and deleting the offset record. 【Cancel】: Cancel saving the newly added offset record, setting the default offset, and deleting the offset record. 1.4.
The following functions (if configured), can be triggered by low-level input signals. 【General Input】 ● The input signal can be configured, and only after setting the General Input function, the user can freely configure when programming Blockly or using SDK. 【Stop Motion】 ● Trigger IO, the robotic arm stops moving. 【Offline Task】 ● Offline Task can add multiple Blockly to be triggered through programs I/O, and without the need for computer and network.
【Save】 ● Save the changes. 【Cancel】 ● Discard the changes. Note: DI0-DI7 are not equipped with the following three functions: stop moving, safeguard reset, and reduced mode. 1.4.4.2 Output The below functions can be configured for each output.
● General purpose output, can be configured in programs to output signals. 【Motion Stopped】 ● The system enters an emergency stop state and outputs a low level signal. Otherwise, the output is high. This safety function will come in pairs for redundancy. The actions that conform to the emergency stop are: 1. When the Emergency Stop button of the control box is pressed, the power supply of the robotic arm is cut off. 2. Stop button of xArm Studio and Emergency stop code block of Blockly. 3.
【Warning】 ● When the robotic arm issues a warning, the output is low. Otherwise, the output is high. 【Collision】 ● When the robotic arm reports an error of collision, the output is low. Otherwise, the output is high. 【On manual mode】 ● When the Manual Mode is turned on, the output is low. Otherwise, the output is high. 【Offline task running】 ● When the robotic arm is running the offline projects, the output is low. Otherwise, the output is high.
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.
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. The user can then adjust the robotic arm back into the restricted space.
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.
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.
【Ceiling (180 °, 0 °)】 ● For ceiling-mount, users simply need to set the mounting method as ceiling, and it is not necessary to set the angle of rotation. 【WallUp (90 °, 180 °)】 ● Indicates that the robotic arm is wall-mounted and the end of the robotic arm is facing up. 【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.
direction. Tilt angle: The initial position of the robotic arm and the base of the robotic arm to be mounted should be in a tilt angle, which ranges from 0 to 180°. Rotation angle: The initial position of the robotic arm and the end direction of the robotic arm to be mounted should be used as the rotation angle. The method of determining the rotation angle ± direction: Hold it with your right hand and point your thumb in the direction of the robotic arm which is vertically mounted.
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. When using this function, please ensure the safety of the equipment and personnel around the robotic arm within the timed range.
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. 【Calibration】: Calibrate the system time of the control box according to the time of the connected computer. 【New】: Create a new task project, under which the user can 【Add】 several Blockly and Python tasks. 【Select】: Select the tasks to【Cancel】.
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. After this offset setting, user coordinate system becomes the world origin instead of robot base.
【New】: Create a new user coordinate offset. When creating a new base coordinate offset, there are two ways to set the new base coordinate offset parameters, as shown in the figure below: 1) Manual Input When the base coordinate offset parameter is known, you can choose to manually input its base coordinate offset parameter. 2) Teaching UCS When the base coordinate offset parameter is unknown, click the [Teach and Acquire] button to obtain the base coordinate offset parameters by teaching 4 points.
【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) , DAC = 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}. As figure shown, the offset of the base coordinate system should be (1000,0,0,0,0,180).
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. 2. If the robotic arm is not enabled, the jerk cannot be modified. 3.
modified. 4. When the robotic arm is moving, the jerk can not be modified. 1.4.9.2.
● After turning on this button, the TCP coordinates and joint angle values of the xArm can be copied on the real-time control interface. 【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.
1.4.9.3.
PID Parameters Settings Steps for changing PID parameter: 1. Select PID-PARAMETERS-1 (or PID-PARAMETERS-2). 2. Then click [Save]. In the following cases, the PID parameters cannot be modified: 1. If the robotic arm is not enabled, the PID parameters cannot be modified. 2. If an error warning occurs on the robotic arm, the PID parameters cannot be modified. 3. When the robotic arm is moving, PID parameters cannot be modified.
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. After changing the PID parameters, it may cause the robotic arm to shake or increase safety risk. Please be sure to perform a safety assessment after changing the PID parameter.
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.
【 Controller Digital Output 】 or 【 Tool Digital Output 】 will not be affected by the stop command. Collision Rebound ● When this mode is turned on, the robotic arm will rebound backward for a certain distance after it collides with an obstacle. If collision sensitivity is not zero, when this mode is turned off, the robotic arm will stay at the position where collision is detected. Self-collision detection ● When the mode is turned on, it will prevent the xArm from causing self-collision.
Joint Tools 1. 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≥ 2.7.0.
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. Note: 1.
reported by the robotic arm. Attention should be paid to adjusting the joint into the range manually when it exceeds the range of the joint. 3. In the "simulated robotic arm mode", clicking the unlock joint button will also unlock the real joints of the robotic arm. 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.
3. Joint Debug The user can obtain the following information of the robotic arm by clicking the corresponding button: communication status, joint status, and PID parameters. And you can clear the multi-turn error of the robotic arm and modify the speed threshold of the robotic arm. Note: This function should be completed under the guidance of technical support. (please contact the technical support by the email: support@ufactory.
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. 2. Click the 【Import Configuration】button to import the configuration file containing the parameters of the robotic arm. 3.
Note: (1) When multiple robotic arms need to share a set of configuration parameters, click the 【 Export Configuration 】 button to export the configuration file of a robotic arm that has been set. Then click the 【 Import Configuration 】 button to import the configuration file to other robotic arms. (2) When the control box fails and needs to be repaired, you can export and save the configuration file of the robotic arm to prevent the original data from being lost or changed during the repair process.
Change Password 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.
robotic arm. 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. The DNS address can be modified and added. Log ● Display or Download the error log of the robotic arm.
1.4.10.1 System Information On the page of System Information, the control box can be rebooted or the joint can be operated, the degree of freedom(number of axis) of the current robotic arm, IP address, firmware version, SN address, and software version of the robotic arm can be checked.
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】 ● Click this button, the page will go back to the【Search the IP Address of the Control Box】 page, and the control box will shut down.
Note: The 【xArm shutdown】 and【 xArm Reboot】buttons do not affect the main power supply of the control box and the power supply of the robotic arm. 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.
Note: Note: For detailed steps on updating xArm Studio and xArm firmware, please refer to Appendix 4-xArm Software/Firmware Update Method. 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.
method to reset the IP. Reset IP Steps to reset IP: 1. Press the emergency stop button and turn off the power of the control box. 2. Connect RI0 to GND with a cable. 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). 5. Enter 192.168.1.
6. If you need to modify the IP, just modify the IP in [Settings] → [System Settings] → [Network Settings].(For example: the modified IP is 192.168.1.
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 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, servo error log and end effector error log can be checked.
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” indicates that the robotic arm is connected and is currently in simulation mode. In this mode only, the joint motion of the simulated robotic arm can be controlled by the live control panel.
The “Real Robot” indicates that the robotic arm is connected. It is currently a real robotic arm, and all control functions on the live control panel are available. 1.5.2 Emergency Stop 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.
1.5.3 Real Robot/ Simulation Robot 【Real Robot】 ● It can control the motion of the real robotic arm in the interface of xArm Studio, and the virtual robotic arm will reflect the position and posture of the real robotic arm in real-time. 【Simulation Robot】 ● It can control the motion of the virtual robotic arm in the interface of xArm Studio. Note: A robotic arm can only be in one mode (Real Robot Mode/Simulation Robot Mode).
Note: 1. 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. 2. The serial number of robotic arm and the control box need to be matched before Manual Mode can be turned on. The SN of the control box can be checked in 【Settings】-【System Information】. 3.
You can copy the joint angle value of the robotic arm by clicking this button. The progress bar represents the range of joints, the text represents the 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.
1.5.6 Linear Motion 1.5.6.1 Introduction Users can control the motion of the robotic arm based on the base coordinate system and TCP coordinate system. The trajectory of tool center point in the Cartesian space is a straight line. Each joint performs a more complex movement to keep the tool in a straight path. The TCP path is unique once the target point is confirmed, and the corresponding posture in the execution process is random.
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. The spatial orientation of the TCP coordinate system changes according to the changes of the joint angles.
the robotic arm moves in the direction of α angle. If the robotic arm needs to be moved in the direction of the β angle, a new position between the angles of β should be inserted, and the angle that formed by the inserted point and A should be smaller than α. ● 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).
A: base coordinates 1. You B: TCP coordinates(if no offset) must check the TCP offset recording the Cartesian position. 1.5.7 Operation Mode 1.5.7.
【 】 ● 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.
system respectively. Click for step motion and long press for continuous motion. The step can be set by clicking【Settings】 -【Motion Settings】 【Line Motion】 -【Attitude Step】 on the homepage. Note: When the real-time control base coordinate system/tool coordinate system is switched, if the coordinate system offset is not [0,0,0,0,0,0], the "user coordinate system" will be displayed, as shown in the figure below. 1.5.7.
【Aligning】 ● After clicking this button, the tool flange will be adjusted to a horizontal attitude, that is, pitch and roll will be adjusted to the fixed values of 0 ° and 180 °. 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.
when it returns to the zero pose. The robotic arm should be back to the zero pose before packaging. 1.5.9 Speed Setting It is used to adjust the motion speed of the live control interface of xArm. (Note that the maximum speed of the live control interface is not the actual maximum motion speed of the robotic arm. If you want the program to run at high speed, you can add a speed command in the Blockly motion program). Joint Operating Speed ● The range is 1°/s ~ 180°/s.
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. If the set speed is close to the limit speed, the robotic arm will slow down or cause an error mechanism.
1.6.1 Interface Overview 【 】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. 【 】Can be converted to Python code and can be used in the xArm-Python-SDK library. 【My Project— “xxx”】 Click to expand to display all created items, the currently open item "xxx" is displayed when it folds.
【Import Project】 Click to import the Blockly project from the local drive. 【Download All】Click to download all projects. 【 】Click this button, and the 3D simulation model of the robotic arm in the real-time control interface will pop up (as shown in the figure below). When running the program, you can observe the motion posture of the robotic arm in real time.
1.6.2 Blockly Workspace Drag the code block into the action panel, the code execution is topdown, users can drag and drop the code block with the blocks attached from behind together. 【 】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.
1.6.2.1 The Right Click Mouse Event in the Workspace Right-click on the blank workspace of the non-code block, the function is mainly for all code blocks: 【Undo】: Undo the previous operation. 【Redo】: Restore the last undo operation. 【Collapse Blocks】: Collapse all code blocks. 【Expand Blocks】: Display all collapsed commands. 【Delete 30 Blocks】: Delete all code blocks. 1.6.2.
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 . Click to open/close the description pop-up window, as shown in the following figure. 【External input】: The location for setting the text box is displayed at the far right.
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. 1.6.3 Blockly Code Block Setting: Used to set the running speed, acceleration, collision sensitivity, load, etc. of the robotic arm. Motion: Common motion commands including linear motion, joint motion, linear motion with arc, sleep time, zero point, and emergency stop.
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/s2. 【Set joint speed()°/s】 ● Set the speed of joint movement in °/s. 【Set joint acceleration()°/s²】 ● Set the acceleration of joint motion in °/s2.The default speed and acceleration values in the code block are the speed and acceleration values set currently, which can be modified manually.
【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. 【Set world offset()X Y Z Roll Pitch Yaw】 ● Set the base coordinate offset of the current project. The drop-down list refers to the data of the Setting-Base Coordinate Offset.
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. 【motion()】 ● With this command, operators can set the state of the robotic arm (movement, pause, stop). It is used to control the state of the robotic arm.
【emergency stop】 ● The robotic arm immediately stops moving and clears the command cache. 【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.
● Indicates the degree of the circle. When it is set to 360, a whole circle can be completed, and it can be greater than or less than 360; (Note: To achieve smooth track motion, you need to set Wait = false). 【move joint [variable] J1() J2() J3 () J4() J5() J6() J7() Wait(true/false)】 ● The command passes through the joint motion and supports variable values.
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. The control box has 8 digital input interfaces, 8 digital output interfaces, 2 analog input interfaces, and 2 analog output interfaces. The end tool has 2 digital input interfaces and 2 digital output interfaces. 2 analog input interfaces. The control box digital IO is low-level-triggered. The end tool digital IO is high-level-triggered.
position enters a spherical area centered at (X,Y,Z) with the specified radius. If the tolerance radius is not set, when the robotic arm passes the specified point at a speed other than 0, it may miss the trigger because it cannot be accurately detected. 【when digital I/O is (High/Low) do 】 ● Executes the commands contained in this code block when the condition is met.
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]】 ● Set the position of robotiq gripper, opening and closing speed, and the strength of the gripping object.
● Enable gripper. 【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. 【get xarm vacuum gripper state】 ● Obtain whether the vacuum gripper picks the object or not.
1.6.8 Application 【Run Trajectory (path) Times [1] 】 ● Users can import the trajectory recording file and set the times of executions. 【Import other APP】 ● Users can import Blockly of other projects. 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. Click the setting button on the command block , then the command block will pop up a selection box, as shown below: 2. At this point, drag the [else] code block to the bottom of the [if] code block, and combine the two code blocks, as shown below: 3.
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】 ● When the condition is not met, it jumps out of the loop. 【break】 ● Terminate the loop.
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.
● Remark the code block, which serves as an indicator and can change the color. 【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】 ● Users can print the added variable and set the font and the color.
of the variable by adding or subtracting, variable). 【Rename variable】 ● Rename the variable. 【Delete variable】 ● Delete the variable. 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. The defined function should be placed in front of the main programs.
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.
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】 to skip point B from point A to point C, a safety assessment must be carried out to avoid damage to peripheral facilities Due to the complexity of Cartesian commands, Cartesian spatial trajectory planning needs to be solved by inverse kinematics.
1.6.16 Path Planning Guidelines ● If the robotic arm is collided during the movement, resulting in stopping, the robotic arm will report an error at this time, and the error must be cleared before it can be used normally. Be sure to do a safety assessment before moving again to prevent collisions. ● When the robotic arm is in certain positions, there may be a situation where the linear motion is unsolvable. At this time, the route needs to be replanned.
【 】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. 【 】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. If more than 2048 commands need to be sent, user have to control the cached number and control the volume. When awaiting commands of the control box exceed the maximum buffer amount (2048), a warning code will be returned.
of the trajectory can be set (x1, x2, x4). A recorded trajectory can be imported into Blockly projects. 【 】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.
【 【 】Display recording time. 】Stop recording. 【Times】Set playback times. 【Speed】Set playback speed. 【 】Download the file. 【 】Delete the file. 【Import Project】Import recorded trajectory. 【Download All】Download all current files.
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 Arc linear Circular xArm5 Motion Motion motion 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. That is, the value of “ is_radian” set when xArmAPI () is created. Here are three examples to illustrate: 1. arm = xArmAPI('192.168.1.226',) 2.
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】): ● Joint Motion: to achieve the point-to-point motion of joint space (unit: degree/radian), the speed between each command is discontinuous.
The following motion modes are in servoj mode: ● Servoj motion: move to the given joint position with the fastest speed (180°/s) and acceleration (unit: degree/radian). This command has no buffer, only execute the latest received target point, and the user needs to enter the servoj mode to use. In servoj mode, the maximum receiving frequency of the control box is 250Hz (the maximum receiving frequency of the version before 1.4.0 is 100Hz).
has no buffer, only execute the latest received target point, and the user needs to enter the servoj mode to use. In servoj mode, the maximum receiving frequency of the control box is 250Hz (the maximum receiving frequency of the version before 1.4.0 is 100Hz). If the frequency of sending commands exceeds 250Hz, the redundant commands will be lost. The xArm-Python-SDK interface function we provide also reserves the speed, acceleration and time settings, but they will not work at present.
Operators who design the robotic arm motion path must be qualified with the following conditions: 1. The operator should have a strong sense of security consciousness, and sufficient knowledge on robotic arm operations. 2. The operator should have in-depth knowledge on the robotic arm and understands the joint motion mode and the linear motion mode. 3. The operator should have safety knowledge on emergencies. 4.
In this mode, the robotic arm can accept joint position commands sent at a fixed high frequency like 100Hz (Note: not a Cartesian commands). The robotic arm responds immediately after receiving each commands and executes at the maximum speed.
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. If the robotic arm recovers from an error, power outage, or stop state (state 4), remember to set the state to 0 before continuing to send motion commands. Otherwise the commands sent will be discarded. ● State 3: Paused state.
The robotic arm is executing motion commands and is not stationary. ● State 2: Standby. The control box is already in motion ready state, but no motion commands are cached for execution. ● State 3: Pausing. The robotic arm is set to pause state, and the motion commands buffer may not be empty. ● State 4: Stopping. 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.
2.2. Motion of the Robotic Arm 2.2.1. Joint Motion To achieve point-to-point motion in joint space (unit: degree), the speed is not continuous between each command. Blockly example: 【Set joint speed() °/s】: Set the speed of joint movement in °/s. 【Set joint acceleration() °/s²】: Set the acceleration of joint motion in ° /s2. 【move joint J1() J2() J3 () J4() J5() J6() J7() ,Radius()】: Set each joint angle for the joint movement, the unit is °.
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.
False) joint speed (the default unit is ° / s): speed Unit: if is_radian = True, the unit is rad / s; if is_radian = False, the unit is ° / s; joint acceleration (default unit is ° / s2) mvacc Unit: if is_radian = True, the unit is rad / s2; if is_radian = False, the unit is ° / s2; roll / pitch / yaw Whether it is measured in radian (default is_radian is_radian = False) If is_radian = True, the unit of roll / pitch / yaw is radian; If is_radian = False, the unit of roll / pitch / yaw is degree (°); If
Blockly: The motion trajectory of the robotic arm in the above example is as follows: Key parameter description Radius = 60 Radius =60 in the "move joint" command refers to setting the radius of the transition arc R = 60mm, which is used to achieve a smooth transition of the arc in a joint motion. The parameters of Radius can be set as Radius> 0, Radius = 0, Radius = -1, different parameters correspond to different trajectories. (1) Radius> 0.
turning effect. Note: The radius of the arc is smaller than DAB and DBC. (2) 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. (3) Radius <0. There is no arc transition at the turn, this speed will not be continuous between this and next motion, as shown in the figure below, speed will decelerate to 0 at point B before moving to C. Note: Radius <0 cannot realize continuous motion.
Note: If you need to plan for speed continuous motion, make sure wait = false, to buffer the commands to be blended. 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.
kinematics. Therefore, there may be no solution, multiple solutions, and approximated solutions; and due to the nonlinear relationship between the joint space and Cartesian space, the joint motion may exceed its maximum speed and acceleration limits. Blockly example: 【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/s2.
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() The interface set_position() is described in Table 2.2: Table 2.
if wait = True, wait for the current commands to finish before wait sending the next commands; if wait = False, send the next commands directly; 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.
Radius = 5 in the "move (arc) line" command refers to setting the radius of the transition arc between two straight lines R = 5mm, which is used to achieve a smooth transition of the arc in a straight motion. The parameters of Radius can be set as Radius> 0, Radius = 0, Radius = -1, different parameters correspond to different trajectories. (4) Radius> 0. For example, setting Radius = 5, the turning trajectory is as shown in the black arc in the figure below, which can achieve a smooth turning effect.
(6) Radius <0. There is no arc transition at the turn, this speed will not be continuous between this and next motion, as shown in the figure below, speed will decelerate to 0 at point B before moving to C. Note: Radius <0 cannot realize continuous motion. If you need to plan a continuous movement of the robotic arm, please make sure Radius≥0. Wait = false The wait in the "move (arc) line" command indicates whether it is necessary to wait for the execution of this command before sending the next command.
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 Set the robotic arm pause time sltime Parameter wait pause time, unit: second (s); whether to wait, default is False; 2.2.3.
2. The center angle (°) = 360 °, the movement track of the robotic arm is a complete circle; 3. If you want to draw multiple circles continuously(for example, draw 10 circles continuously), set center angles equal to 3600°; 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.
(2) If you want the robot arm to change its posture during the movement, set the roll, pitch, and yaw of pose 2 to the desired posture when completing the trajectory; 【center angle (°) () 】: Indicates the degree of the circle. When it is set to 360, a whole circle can be completed, and it can be greater than or less than 360; Note: To achieve smooth motion, you need to set Wait = false.
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, mvacc=2000, wait=True) set_servo_angle interface: see Table 2.1. set_position interface: see Table 2.2. The move_circle interface is described in Table 2.4: Table 2.
If wait = True, wait for the current commands to be sent before wait sending the next commands; If wait = False, send the next commands directly; 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.
controllable attitude is: Just set the angle of J4 equal to-(J2 angle + J3 angle). 2.4. Singularity 1.Concept Singularities occur when the axes of any two joints of a robotic arm are on the same straight line. At the singularity point, the robot's degrees of freedom will be degraded, which will cause the angular velocity of some joints to be too fast, leading to loss of control.
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.
system, and pass the singularity point through joint motion. Case 2: Singularities encountered while the program is running a) When encountering a singularity point while running the program, you can modify the position and attitude of the robot and re-plan the path to the target point. 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.
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.
not yet picked (released) the object, it will also jump out of the command and execute the next command. 【set xarm vacuum gripper (ON/OFF) object detection (true/false) [set]】: ● Set the vacuum gripper to be on and off. [object detection] = true: detect whether the object is sucked, if not, it will jump out of the entire program. [object detection] = false: do not detect whether the object is sucked. 3.2. The Use of xArm Gripper The download address of the Blockly program: The use of xArm gripper.
3.3. The Use of the Digital IO The download address of the Blockly program: The use of the digital IO.blockly The role of this program: If you need to use digital IO to control the motion of the robotic arm, you can trigger the digital IO to perform the corresponding motion. Note: 2. The defined function should be placed in front of the main programs, as shown in the figure above. 3.4. Cyclic Motion Count The download address of the Blockly program: Cyclic Motion Count.
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. 【Counter reset】: This command resets the counter in the Control Box to 0. Variable ++ i class count: 1. wait = true When wait = true, the counting effect of the ++ i class and the counter counting are consistent.
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. When wait = false, the ++ i class count will take into account all commands already sent to the robotic arm, regardless of whether the robotic arm has completed 10 cycles.
Appendix Appendix1-Error Reporting and Handling 1.1 Joints Error Message and Error Handling ● Error processing method: Re-power on, the steps are as follows: 1. Turn the emergency stop button on the control box 2. Enable the robotic arm ● xArm Studio enable method: Click the guide button of the error pop-up window . ● xArm-Python-SDK enable method: Refer to Error Handling Mode. ● xArm-ROS-library: Users can view related documents at https://github.
Software Error Code Error Handling Joint Communication Error S0 Please restart the xArm with the Emergency Stop Button on the Control Box. If multiple reboots do not work, please contact technical support. Abnormal Current Detection S10 Please restart the xArm with the Emergency Stop Button on the xArm Control Box. S11 S12 Joint Overcurrent Please restart the xArm with the Emergency Stop Button on the xArm Control Box.
Large Motor Position Deviation S23 Please check whether the xArm movement is blocked, whether the payload exceeds the rated payload of xArm, and whether the acceleration value is too large. S26 Joint N Positive Overrun Please check if angle value of the joint N is too large. Joint N Negative Overrun S27 Please check if the angle value of joint N is too large, if so, please click Clear Error and manually unlock the joint and rotate the joint to the allowed range of motion.
For alarm codes that are not listed in the above table: Power on again. If the problem remains unsolved after power on/off for multiple times, please contact technical support. 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.
Gripper Communication Error C19 Please check if the Gripper is installed or the baud rate setting is correct, or restart the xArm with the Emergency Stop Button on the xArm Control Box. Kinematic Error C21 Please re-plan the path. Self-collision Error, Please Re-plan the Path. C22 If the robotic arm continues to report self-collision errors, please go to the "live control" interface to turn on the "manual mode" and drag the robotic arm back to the normal position.
6. Go to "Settings"-"Motion"-"Sensitivity Settings" to lower the collision sensitivity. Three-point Drawing Circle Calculation Error C32 C33 please reset the arc command. Control Box GPIO Error If the error occurs repeatedly, please contact technical support. Recording Timeout C34 The track recording duration exceeds the maximum duration limit of 5 minutes. It is recommended to re-record. Safety Boundary Limit C35 The xArm reaches the safety boundary.
arm will still operate normally. Error code Description Error Handling 11 Buffer overflow Control the volume of command 12 Command parameter abnormal cache Check sent command 13 Unknown Command Check sent command 14 Command no solution Check sent command 1.3 Gripper Error Code & Error Handling 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.
If the problem remains unsolved after power on/off multiple times, please contact UFACTORY team for support. Software Error Error Handling Gripper Current Detection Error G9 Please restart the xArm with the Emergency Stop Button on the xArm Control Box. G11 G12 G14 G15 G20 G21 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.
For alarm codes that are not listed in the above table: enable the robotic arm and gripper. If the problem remains unsolved after power on/off for multiple times, please contact technical support. 1.4 Python SDK Error Code & Error Handling Software Error Error Handling A-9 Emergency Stop A-8 The TCP position command is out of the robot arm's motion range. Please adjust the TCP position command. A-2 A-1 A1 xArm is not ready. Please check whether the robot is enabled and the state is set correctly.
Other error. A11 Please contact technical support. A12 Parameter error. A20 Tool IO ID error. A22 The end tool Modbus baud rate is incorrect. A23 The end tool Modbus reply length error. A31 Trajectory read/write failed. A32 Trajectory read/write timeout. A33 Playback trajectory timeout. A41 Vacuum gripper wait timeout. A100 Waiting for completion timeout. A101 Too many failures to detect the status of the end effector.
Appendix2-Technical Specifications 2.1 xArm5/6/7 Common Specifications xArm X ±700mm Y ±700mm Z -400mm~951.5mm Roll/Yaw/Pitch ± 180° Cartesian Range 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 500W Input Power Supply 24 V DC, 16.
1*RS-485 Master 1*RS-485 Slave Weight 3.9kg 1.6kg Dimension(L*W*H) 285*135*101mm 180*145*68mm xArm accessories parameters: Gripper Nominal Supply Voltage 24V DC Absolute Maximum Supply Voltage 28V DC Quiescent Power (Minimum Power 1.5W Peak Current 1.
2.2 xArm 5 Specifications 1,5 ±360° 2 -118°~120° 3 -225°~11° 4 -97°~180° Joint Range Payload 3kg Degrees of Freedom 5 Weight(robotic arm only) 11.2kg Robot Joints Robot Zero Attitude Joint Rotating Direction 2.
5 -97°~180° Payload 5kg Degrees of Freedom 6 Repeatability ±0.1mm Weight(robotic arm only) 12.2kg Robot Joints Robot Zero Attitude Joint Rotating Direction 2.4 xArm 7 Specifications 1,3,5,7 ±360° 2 -118°~120° 4 -11°~225° 6 -97°~180° Joint Range Payload 3.5kg Degrees of Freedom 7 Weight(robotic arm only) 13.
Robot Zero Attitude Robot Joints Joint Rotating Direction 227
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. The Method of the IP Configuration 6. How to use PLC to control xArm 7. Guide to control xArm by tablet 8. Kinematic and Dynamic Parameters of xArm Series 9. The Proper Way to Power DC Control Box 10. How to get the joint current/torque data of the xArm robot 11.
Appendix4-The xArm Software/Firmware Update Method. There are five ways of network settings for the robotic arm, you can choose the corresponding update method according to the different methods of the robotic arm network setting. Notes 1) It is recommended to update the xArm firmware and xArm Studio at the same time. 2) After updating, please download the latest "xArm User Manual" and "xArm Developer Manual" from the official website to learn about the latest features of xArm.
1. When you use the following network setting methods, please use xarm-tool-gui tool to update xArm Studio and xArm firmware online.
robotic arm, and enter the IP address of the xArm control box, then click "Connect".
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.
2. When you use the following network setting methods, please use xarm-tool-gui tool to update xArm Studio and xArm firmware offline.
● 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: xArm-Tool-GUI Since your PC connected to the xArm control box cannot access the Internet, please download the above installation package using a USB drive, copy it to the PC connected to the xArm control box.
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.
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. 3. When you use the following network setting methods, please use xArm Studio to update the xArm Studio and xArm firmware online.
(1)The control box, PC and router are connected by ethernet cable (2) The control box, PC and network switch are connected by ethernet cable 237
(3)PC and router are connected by wireless network, and control box and router are connected by ethernet Cable. Click [Settings] on the xArm Studio homepage, enter [System Settings] → [Check Update], click "Update". Wait for the system to prompt to restart, and then click "Restart", the restart usually takes about 2-3 minutes, please be patient.
4. Precautions 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.
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. When powering on the robotic arm, please release the emergency stop button on the control box, and the robotic arm does not need to be enabled. 2.
Appendix6- 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.
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. 2. If you need to send the control box to get repaired, please export and save the configuration file of the robotic arm to prevent the original data from being lost or changed during the repair process(Please refer to the section 1.4.9.2 Advanced Tool-Configuration File).