Table Table ................................................................................................. 2 Preface..................................................................................................... 6 User Manual Information .................................................................. 6 Product Information .......................................................................... 6 Main Contents of the Manual ............................................................
2.5. Communication Interface ..................................................... 61 2.6. Ethernet TCP/IP..................................................................... 61 3. End-Effector ..................................................................................... 64 3.1. Gripper ................................................................................. 64 3.2. Vacuum Gripper ...................................................................
3.2. The Use of xArm Gripper ......................................................... 208 3.3. The Use of the Digital IO ......................................................... 209 3.4. Cyclic Motion Count ................................................................ 210 Appendix ............................................................................................. 212 Appendix1-Error Reporting and Handling ........................................... 212 1.
1.4 Use Environment ................................................................ 243 1.5 Transport, Storage and Handling ....................................... 244 1.6 Power box placement height ............................................. 244 1.7 Power Connection .............................................................. 244 1.8 Special Consumables. ........................................................ 245 1.9 Stop Categories .........................................................
Preface User Manual Information Translated Version V1.6.9. Apply to Model: XI1300 XI1301 XI1302 XI1303 XI1304 XI1305 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.
4 5 6 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 7
Terms and Definitions The following terms and definitions apply to this manual. Control Box The control box, core part of the robotic arm, is the integration of the robotic arm control system. 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.
Roll/Pitch/Yaw The equivalent rotation matrix is: 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. Then the representation of the axial angle: [Rx, Ry, Rz] = [x * phi, y * phi, z * phi] Note: Axis-Angle 1. [x, y, z] is a unit vector, and phi is a non-negative value. 2.
figure 1) 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. (please refer to the figure 1) Manual Mode In this mode, the robotic arm will enter the ‘zero gravity’ mode, since the gravity is compensated, the user can guide the robotic arm position directly by hand. Teach sensitivity range is from 1 to 5 level.
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 Speed Working Range Table 1.
position (x, y, z) remains unchanged, the specified speed is the attitude rotation speed, so the range 0 to 1000 corresponds to 0 to 180 ° / s. Unit Definition The Python / Blockly examples and the units standard in the communication protocol are shown in Table 1.3. Table 1.3.
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. Due to the complexity of the robotic arm system and its degree of danger, please ensure you fully understand the content of this manual and strictly adhere to the instructions.
requirements outlined in the standards and regulations of the country where the robotic arm installed. The integrators of the xArm are responsible for the compliance of applicable safety laws and regulations in the country, to prevent any hazards in the operating environment. Safety precautions include but are not limited to: ● Making a risk assessment for the complete system. Make sure to have a safe distance between people and xArm when interacting with the xArm.
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. WARNING: This indicates a potentially hazardous situation which, if not avoided, could result in death or serious damage to the device. HIGH TEMPERATURE This indicates a potential hot surface, which if touched, could result in personal injury.
● 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. We do not control or guarantee the relevance or completeness of such information in this manual, for which users should conduct selfassessment of their specific problems. General Alarms and Cautions 1.
safety and the possible damage of the robotic arm and other device systems). 5. Preliminary testing and inspection for both robotic arm and peripheral protection system before production is essential. 6. The operator must be trained to guarantee a correct operation procedure when using SDK(Python/ROS/C++) and graphical interface xArm Studio. 7. A complete safety assessment must be recorded each time the robotic arm is re-installed and debugged. 8.
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. Do not handle or touch the robotic arm and Control Box while in operation or immediately after the operation. 2. Never stick fingers to the connector of the endeffector. 1.
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.
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.
posture of the robotic arm will slightly brake and fall. The emergency stop button is shown below: 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.
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 Yes Pause Stop Pause Emergency stop Program The buffered The robotic arm The buffered The buffered execution motion resumes motion.
1.1.4. Control Box Description Control Box Buttons and Parameter Name ROBOT Indicator 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 The light is on, indicating that the LAN 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.
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. Please do not unplug and plug it violently; Plug the Robotic Arm Power Supply Cable and the Robotic Arm Signal Cable into the Control Box; Plug the Control Box Power Cable into the AC (110V-240V) interface on the Control Box and the other end into the socket (as shown in Figure below). 1.
1.2.2.5. End-effector Installation The End-effector flange has 6 M6 threaded holes and one Ф6 positioning hole, where the end-effector of two different sizes can be mounted. If the effector does not have a positioning hole, the orientation of the end-effector must be documented in a file format, to avoid errors and unexpected results when re-installing the end-effector. The end-effector flange referenced ISO 9409-1-50-4-M6 standard.
Mechanical dimensions of end-effector flange (unit: mm) Drawing of tool I/O 1. Make sure the tool is properly and safely bolted in place. 2.
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. If the installed end-effector exceeds the robotic arm mounting surface at the zero position of the robotic arm, a safety assessment is required for the zero return operation. 1.3. Power Supply for the Robotic Arm 1.3.1.
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.
(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.
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 100V-240V AC (the input frequency is 4763HZ) and its internal switching power supply converts 100V-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.
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.
signals. 4. Be careful when installing the interface cable to 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) 44
The electrical specifications are as follows: Parameter Min. Value Typical Value Max. Value Unit Supply Voltage in 24V Mode - 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.
specified value exceeded. 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.
Input Voltage -0.5 - 30 V 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 I/O.
the internal 24V power output. The lower terminal (24V-IN) is the 24V input external power input for I/O. The default configuration is to use internal power, see below. If larger current is needed, connect the external power supply as shown below. The electrical specifications for the internal and external power supplies are as follows. Terminal Parameter Min. Value Typical Value Max. Value Unit Built-in 24V Power Supply [PWR - GND] Voltage [PWR - GND] Current 23 24 30 V 0 - 1.
[COx] Current* 0 - 100 mA [COx] Voltage Goes 0 - 0.5 V [COx] Open Drain Down 0 - 0.1 mA [COx] Function Current - NPN(OC) - Type Digital Input [EIx/SIx/CIx/RIx] Voltage 0 - 30 V [EIx/SIx/CIx/RIx] OFF Area 15 - 30 V [EIx/SIx/CIx/RIx] ON Area 0 - 5 V [EIx/SIx/CIx/RIx] Current(0-0.5) 3 - 8 mA [EIx/SIx/CIx/RIx] Function - - - Type Note: ** For resistive or inductive loads up to 1H. There is no current protection on the digital output of the Control Box.
safety features. There are two fixed safety inputs: • The robotic arm emergency stop input is only used for the emergency stop of the device. • The protective stop input is used for all types of safety protection. The functional differences are as follows.
2.4.2.2. Connect to the Emergency Stop Button In most applications, one or more additional emergency stop buttons are required. The figure below shows how to connect one or more emergency stop buttons. 2.4.2.3. 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.
2.4.2.4. Automatically Recoverable Protective Stop The door switch is an example of a basic protective stop device. When the door is open, the robotic arm stops. See the figure below. This configuration is only for applications where the operator is unable to close the door from behind. Configurable I/O can be used to set the reset button outside the door, as to reactivate the movement of the robotic arm.
done in xArmStudio) 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. If xArm needs to resume motion, connect SI0 and SI1 to GND, and 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.
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.
I/O is not isolated from the control box. • Use shielded cables or twisted pairs. Connect the shield to the “GND” terminal on the “Power” section. Terminal Parameter Min. Value Typical Value Max.
sensor.(Connect to AI0 or AI1) 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.
to ensure that power indicator of the robotic arm is off, as to avoid robotic arm failure caused by hot-plugging; 2. Due to limited length of the gripper connection cable, the gripper connector and the tool/end effector connector must be on the same 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.
3.1.3. Precautions 1. When the robotic arm is in the zero position, the gripper will exceed the installation surface. Please adjust the robotic arm to a posture suitable for installing the gripper during installation. 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.
https://www.ufactory.cc/pages/download-xarm 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.
3.2.1. Vacuum Gripper Installation Installation of vacuum 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 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.
align the positioning holes on the two ends of the interface. The male pins of the connecting cable are relatively thin to avoid bending the male pins during disassembly. 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 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. If the ON/OFF light is on it means power is on.
4. Check if the control box is turned on, if the status indicator of the 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 an d 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.
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” 77
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: 1.2.3 Connect to the Robotic Arm There are the following two ways to communicate with the robotic arm. 1.
xArm Studio download address: https://store-ufactory-cc.myshopify.com/pages/download-xarm (2) Install xArm Studio software (3) Open the xArm Studio software, and enter the IP address of the control box in the search box (the default IP address of the device has been marked on the side of the control box) 2.
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.
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.
Language: Switch language in the upper right corner of the toolbar 【Language】 may switch between Simplified Chinese / English. 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.
1.4.1 Motion Settings 1.4.1.1 Linear Motion Acceleration: The acceleration of linear motion. The larger the value, the less time it takes to reach the set speed. 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. The larger the value, the less time it takes to reach the set speed. The range is recommended to be within 20 times the maximum operating speed [20*180°/s]. Joint step: Set the step length for fine adjustment of single joint rotation in Live-control. 1.4.1.
arm to trigger collision protection. If the load or installation direction is not set accurately, it may cause false alarms. During certain high loads or high speed movements, if you confirm that the load or installation direction is set accurately, you can try to lower the collision sensitivity, but it is not recommended to lower it to less than 3. Teach sensitivity: • The level of Teach sensitivity is from 1 to 5. The higher the set value, the smaller the force required to drag the joint in manual mode.
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.
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.
● 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) . If there is virtually no load at the end, both TCP payload and centre of gravity must be set to 0.
1.4.3.1 TCP Payload On this page, the current payload of the robotic arm can be set and the additional TCP payload data can be recorded. The additional TCP payload data can be referenced during Blockly programming. 【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.
【Delete】: Delete the selected payload data. Note: the current default payload data cannot be deleted. 【Save】: Save for the newly added payload record, setting the default payload, and deleting the payload record. 【Cancel】: Cancel saving the newly added payload record, setting the default payload, or deleting the payload record. Create New TCP Payload There are two ways to create a new TCP payload: Manual input or Automatic identification.
cannot be changed. 1.4.3.2 TCP Offset On this page, the current offset of the robotic arm can be set and the additional TCP offset data can be recorded. The additional TCP offset data can be referenced during Blockly programming. 【Set as default】: Set the offset data to the offset of the current robotic arm and display the current offset at the top. 【New】: Create a new offset record.
1) Manual Input When the TCP offset parameter of the end effector is known, you can choose to manually input its TCP offset parameter. 2) Teaching TCP When the TCP offset parameter of the end effector is unknown, click the [Teach and Acquire] button to obtain the TCP offset parameters by teaching 5 points. 【Select】: Select the offset data to be deleted in the next step. 【Delete】: Delete the selected offset data. Note: the current default offset data cannot be deleted.
1.4.4 I/O Settings The control box of the robotic arm is equipped with 8 digital input and output signals, which can be set in the Blockly project and SDK only when IO is set to General Input / Output, otherwise the custom setting will not take effect. 1.4.4.1 Input The following functions (if configured), can be triggered by low-level input signals.
input, otherwise it will cause a function conflict. For example, if CI 0 is configured as an offline task, CI 0 should not be used in any program. 【Stop Moving】 Trigger IO, the robotic arm stops moving. 【Safeguard Reset】Trigger IO to resume the motion of the robotic arm in the protection stop state. Should work with SI, refer to 2.4.2.5.Protective Stop with Reset Button 【Offline Task】 Offline Task can add multiple Blockly to be triggered through I/O.
【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 Output】The user can use the IO freely in Blockly or SDK program only when the controller output is set as general output, otherwise it will cause function conflict. For example, if CO 0 is configured as motion stopped, CO 0 should not be used in any program.
【Motion Stopped】The system enters an emergency stop state and outputs a high signal. The actions that conform to the emergency stop are: • When the Emergency Stop button of the control box is pressed, the power supply of the robotic arm is cut off. • Enter emergency stop via CI. • Stop button of xArm Studio and Emergency stop code block of Blockly. • Emergency stop API of SDK. 【Robot Moving】When the robotic arm is moving, the output is high.
【Robot Enabled】When the robot is enabled, the output is high. 【Emergency Stop is Pressed】When the emergency stop button on the robotic arm control box is pressed, 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.
direction detected by the IMU exceeds 10°, the software will pop-up prompts. 【Floor (0 °, 0 °)】 ● The default method is horizontal installation, and the horizontally mounted robotic arm does not need a tilt angle and a rotation angle. 【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.
The initial position of the robotic arm: ● On the horizontal plane, when the user is facing the robotic arm side, the initial position is on the left-hand side of the user in a downward 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.
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.
【Timing Task】: The robotic arm will run the added tasks during the timing range within the set effective time according to the system time of the control box. 【Periodic Task】: The robotic arm will periodically run the added tasks during the timing range within the set effective time according to the system time of the control box. 【Calibration】: Calibrate the system time of the control box according to the time of the connected computer.
within the set time. 【Expired】: The set time for the project has expired 【 】: Delete the tasks added under the project. 1.4.8 Coordinate System In this interface, the user can set the coordinate offset to customize the user coordinate system.
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.
teaching 4 points. 【Select】: Select the data to be deleted. 【Set as Default】: Set the offset data as the default offset. 【Default】: The data is the default current base coordinate offset. 【Cancel】: Cancel the selection. 【Save】: Save the modified data. 【Discard】: Discard the modified data.
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. If an error warning occurs on the robotic arm, the jerk cannot be modified.
4. When the robotic arm is moving, the jerk can not be modified. 1.4.9.2. Assistive Features 【Orientation Control】 xArm supports adjusting the rotation of the robot arm through the axisangle and R/P/Y. Generally, it is recommended to use the axis-angle since the axis-angle control is more intuitive. The choice here determines the TCP control mode of the xArm Studio Live Control page.
【Quick Copy】 ● After turning on this button, the TCP coordinates and joint angle values of the xArm can be copied on the real-time control interface. 【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.
● After opening this button, the 【Quick setting】 interface will pop up. In this interface, you can quickly adjust the value of each parameter. 【Quick access switch】 ● After enabling quick access, you can quickly adjust parameters through the【Quick access button】in any interface of xArm Studio. 【Quick access】 ● You can select the parameters you want to access quickly, and the selected parameters will be displayed on the quick setting interface.
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. The following situation can be improved by modifying the PID parameter: 1. If the robotic arm shakes heavily executing motions with payload. Note: 1. Changing The PID parameter can only be performed if UFACTORY technical support recommends changing the PID parameters. (contact technical support: support@ufactory.cc) 2. After changing the PID parameters, it may cause the robotic arm to shake or increase safety risk.
Friction Identification 118
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.
Clear the IO output when the robot is stopped After turning on 【Clear IO output when the robot is stopped 】if the robotic arm receives a stop command, 【Controller Digital Output】or 【Tool Digital Output 】will be set to the invalid state. Otherwise, the 【Controller Digital Output】 or【Tool Digital Output】will not be affected by the stop command. Collision Rebound ● When this mode is turned on, the robotic arm will rebound backward for a certain distance after it collides with an obstacle.
● 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.
peripheral facilities. 2. The operation of the unlocking joint is mainly used to adjust the posture of the robotic arm to a relatively safe position when the error is 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.
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.
file containing the parameters of the robotic arm. 3. Click the 【Factory Reset】button, and the robotic arm will restore the factory settings mode. 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.
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. 【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.
robotic arm will be automatically reconnected. The operation is equivalent to the shutdown and startup process of the control box, and restart process takes 3 to 4 minutes. 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.
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.
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. If you forget or lose the modified IP address, you can use the following 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.
5. Enter 192.168.1.111 in the xArm Studio search box, connect the robotic arm. 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).
【Teach sensitivity】. 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.
deflection is needed from position point A to point B, 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.
A: base coordinates B: TCP coordinates(if no offset) 1. You must check the TCP offset before 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.
If the end-effector is installed in the robotic arm, make sure to assess whether the robotic arm will hit the obstacles or the fixed surface of the robotic arm 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.
continuous, and the robotic arm will have a brief pause between joint command. TCP Operating Speed ● The Cartesian speed range is from 1mm/s to 1000mm/s. The actual maximum speed is also affected by the payload, speed, and posture of the robotic arm. 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 【 【 】Click to create a new folder. 】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. Note: When the robotic arm is in the simulation mode, you can also run the Blockly motion program to observe the motion of the virtual robotic arm.
1.6.2 Blockly Workspace Drag the code block into the action panel, the code execution is 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.
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.2 The Right Click Mouse Event of the Code Block Right-click in the code block, the function of each module pop up: 【Duplicate】: Copy all code blocks of the current workspace, copy/cut shortcuts with the keyboard and paste them into other files. 【Add Comment】: Users can add a description to the code block, which is identified by the symbol . Click to open/close the description pop-up window, as shown in the following figure.
【Disable Block】: Stop the execution of the running command of the current code block. The opposite is 【Enable Block】. 【Delete 82 Blocks】: Delete the current code block selected by the mouse click. 【Help】: Jump to the Help Page of the corresponding code block. 1.6.2.
End-Effector: Contains common commands to control the end-effector, such as gripper, vacuum gripper. Logic: Contains commonly used logic commands. Loop: Contains common loop commands such as multiple loops, infinite loops, and breaking loops. Math: Contains commands for mathematical operations. Advanced: Includes location notes and message reminders. 1.6.4 Setting 【Set TCP speed()mm/s】 ● Set the speed of the linear motion in 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.
program actually cycles. 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.
(movement, pause, stop). It is used to control the state of the robotic arm. It is mainly used in condition-triggered programs. 【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.
position and position1 and positon2, “center angle” specifies how much of the circle to execute. 【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 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.
1.6.6 GPIO(Control Box and End tool interface) The IO interface is made up of a control box interface and an end tool interface, which can be used to acquire, set, and monitor IO interface operations. 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.
● Set the I/O interface of the code block, click 【Set】 to run the command. 【set I/O when(X, Y, Z, tolerance)】 ● When the robotic arm reaches the specified position (the area of the sphere specified with the trigger position point (X, Y, Z) as the center (the radius of the sphere is the tolerance radius)), IO is triggered. This command can be used to trigger IO at a specific location. X, Y, Z represent the coordinate value of the specified position to be reached by the robot arm, with the unit of mm.
condition are =, ≠, >, ≥, <, ≤. IO trigger logic of xArm Studio: 1. xArm Studio obtains the IO state every 100ms, and uses the IO state value obtained for the first time as the initial value. 2. Compare the IO state obtained the second time with the IO state obtained last time. If the IO state changes, a callback meeting the condition is triggered. 1.6.
【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. 【initialize gripper】 ● Enable gripper.
vacuum gripper state is 1, it indicates that the object is picked successfully; when the vacuum gripper state is 0, it indicates that the object fails to be picked. 【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 picked, if not, it will jump out of the entire program. [object detection] = false: do not detect whether the object is picked. 1.6.
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.
block, and combine the two code blocks, as shown below: 3. Click the setting button , the selection box is retracted, if /else sentence setting is completed, as shown below: 1.6.10 Loop 【forever】 ● The command contained in the loop will be executed in infinite loop. 【repeat() times do】 ● The command contained in the loop will be executed X times.
● 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.12 Text 【remark】 ● 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. 【Date】 ● The date and time on which the command was run can be output. 1.6.13 Variable 【Create variable】 ● New variables can be added. After adding a variable, there are three commands by default (set the value of the variable, change the value 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 project. 【 】Create a new file. 【 】Create a new folder. 【 】Rename. 【 】Delete the file. 【 】Run the file. 1.7.1 Create a New Project On this page, all current project files are displayed, including Blockly projects converted into Python code. 【 】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.
recording time is 5 minutes. The playback will completely repeat the motion trajectory during recording, and the playback speed 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.
the big difference between the actual load and the set load of the robotic arm, resulting in its self-motion. 【 【 】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.
All units for angles use degrees (°). 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.
spatial circle according to the three-point coordinates, the threepoint coordinates are starting point, parameter 1 and parameter 2. 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.
● Servo_cartesian motion: move to the given cartesian position with the fastest speed (1m/s) and acceleration (unit: mm). 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). If the frequency of sending commands exceeds 250Hz, the redundant commands will be lost.
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.
● Mode 4: Cartesian teaching mode,(not yet available). 2.1.3 Analysis of the Motion Status of the Robotic Arm 3 states that the control box can set: (Python SDK: set_state () ) ● State 0: Start motion. Can be understood as ready for motion or stand-by. In this state, the robotic arm can normally respond to and execute motion commands. 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.
● State 1: In motion. 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 current point. The motion trajectory of the robotic arm in the above example is as follows: Python example: arm.set_servo_angle(angle=[0.0, 7.0, -71.2, 0.0, 0.0, 0.0], speed=8, mvacc=1145, wait=True) arm.set_servo_angle(angle=[0.0, 7.0, -51.2, 0.0, 0.0, 0.0], speed=8, mvacc=1145, wait=True) arm.set_servo_angle(angle=[0.0, 7.0, -91.2, 0.0, 0.0, 0.0], speed=8, mvacc=1145, wait=True) The interface set_servo_angle is described in Table 2.1: Table 2.
b) If servo_id is None or 8, E.g. : arm.
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. For example, setting Radius = 60, the turning trajectory is as shown in the arc in the figure below, which can achieve a smooth turning effect. Note: The radius of the arc is smaller than 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.
The wait in the "move joint" command indicates whether it is necessary to wait for the execution of this command before sending the next command. 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 • Straight linear motion between Cartesian coordinates (unit: mm), the speed is not continuous between each command.
controls the TCP orientation in the unit of degree. • Linear motion and circular linear motion belong to the Cartesian space trajectory planning, which needs to be solved by inverse 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.
Python example: arm.set_tcp_jerk(2000) arm.set_position(x=205.0, y=100.0, z=110.4, roll=180.0, pitch=0.5, yaw=0.0, speed=100, radius=1.0, wait=True) arm.set_position(x=205.0, y=120.0, z=110.4, roll=180.0, pitch=0.5, yaw=0.0, speed=100, radius=1.0, wait=True) arm.set_position(x=205.0, y=140.0, z=110.4, roll=180.0, pitch=0.5, yaw=0.0, speed=100, radius=1.0, wait=True) arm.reset() The interface set_position() is described in Table 2.2: Table 2.
if it is arc linear motion(blended), radius> 0; if is_radian = True, the unit of roll / pitch / yaw is rad; is_radian if is_radian = False, the unit of roll / pitch / yaw is °; speed TCP motion speed (mm / s, rad / s); mvacc TCP motion acceleration (mm / s2, rad / s2); mvtime 0, reserved; relative if relative = True, it is relative motion; if relative = True, it is not relative motion; if wait = True, wait for the current commands to finish before wait sending the next commands; if wait = False,
Key parameter description Radius = 5 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.
with no deceleration, as shown in the figure below. Note: If the motion of the robotic arm is a reciprocating linear motion, you need to set radius=0. If the radius>0, the robotic arm may report a motion planning error. (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.
Python example: arm.reset(wait=True) arm.set_pause_time(0.5) while True: arm.set_position(x=400, y=-100, z=250, roll=180, pitch=0, yaw=0, radius=50,speed=200, wait=False) arm.set_position(x=400, y=100, z=250, roll=180, pitch=0, yaw=0, radius=50,speed=200, wait=False) arm.set_position(x=300, y=0, z=250, roll=-180, pitch=0, yaw=0, radius=50,speed=200, wait=False) set_position interface: refer to Table 2.2. The set_pause_time interface is described in Table 2.3: Table 2.
in a common line. Set the center angle: 1. If 0< center angle (°) <360 ° or center angle (°) > 360 °, the motion path of the robotic arm is a circular arc of the corresponding degree; center angle = 60°, the motion trajectory of the robotic arm is: 2. The center angle (°) = 360 °, the movement track of the robotic arm is a complete circle; 3.
circle is determined by current position and position1 and positon2, “center angle” specifies how much of the circle to execute. Note: (1) The starting point, pose 1 and pose 2 determine the three reference points of a complete circle.
⚫ If the positions of point B and C are swapped, point B is (350,50,400,180,0,0), point C is (350,50,400,180,0,0), the robotic arm will draw a circle in a counterclockwise direction. The trajectory of the robotic arm is as follows: Python example: arm.set_servo_angle(angle=[0.0, -45.0, 0.0, 0.0, -45.0, 0.0], speed=20, mvacc=500, wait=True) arm.set_position(*[300.0, 0.0, 400.0, 0.0, -90.0, 180.0], speed=300, mvacc=2000, radius=-1.0, wait=True) move_circle([350.0, 50.0, 400.0, 180.0, -90.0, 0.0], [350.
pose1 Cartesian coordinates [x(mm), y(mm), z(mm), roll(rad or °), pitch(rad or °), yaw(rad or °)]; pose2 Cartesian coordinates [x(mm), y(mm), z(mm), roll(rad or °), pitch(rad or °), yaw(rad or °)]; percent Percentage of arc moved If is_radian = True, the unit of roll / pitch / yaw is rad; is_radian Parameter If is_radian = False, the unit of roll / pitch / yaw is °; speed TCP motion speed (mm / s, rad / s); mvacc TCP motion acceleration (mm / s2, rad / s2); mvtime 0, reserved; If wait = True,
solution. ● Joint space In joint space, the robotic arm has 5 degrees of freedom to control and can switch to joint commands when different orientations are required at the end. Then use the joint command again to return the flange and the base to a horizontal attitude, and you can switch back to Cartesian control. A quick way to set a cartesian controllable attitude is: Just set the angle of J4 equal to-(J2 angle + J3 angle). 2.4. Singularity 1.
cause 1st Joint speed too high. 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.
Case 1: Singularity encountered during robot teaching a) Switch the robot coordinate system to a joint coordinate 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.
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.
Explanation of main commands: 【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.
The role of this program: execute this program to control the gripper to grip the target object at the specified position, and then place the target object at the target position. 3.3. 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.blockly Counter counts: Cyclic motion count: By adding 【Counter plus】, each time the command is run, the counter of the Control Box will be incremented by 1. It can be used to calculate the number of times the program cycles.
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.
= 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.), the counter count is a count made by the firmware through position detection, and it is a count of the actual number of cycles of the robotic arm. Note: If the robotic arm needs to count the cyclic motion, it is recommended to use the counter for counting. Appendix Appendix1-Error Reporting and Handling 1.
● 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.com/xArm-Developer/xarm_ros https://github.com/xArm-Developer/xarm_ros2 ● If the problem remains unsolved after power on/off for multiple times, please contact UFACTORY team for support.
Joints Overheat S15 If the robot arm is running for a long time, please stop running and restart the xArm after it cools down. Encoder Initialization Error S16 Please ensure that no external force pushes the robot arm to move when it's powered on. Please restart the xArm with the Emergency Stop Button on the Control Box. Single-turn Encoder Error S17 Please restart the xArm with the Emergency Stop Button on the Control Box.
S34 Motor Overload Please make sure the payload is within the rated load. Motor Type Error S35 Please restart the xArm with the Emergency Stop Button on the xArm Control Box. Driver Type Error S36 Please restart the xArm with the Emergency Stop Button on the xArm Control Box. S39 Joint Overvoltage Please reduce the acceleration value in the Motion Settings. Joint Undervoltage S40 Please reduce the acceleration value in the Motion Settings.
command; that is, the feedback is passive and not actively reported. After the above error occurs, the robotic arm will stop working immediately and discard the Control Box cache command. Users need to clear these errors manually to allow normal operation. Please re-adjust the motion planning of the robotic arm according to the reported error message.
Planning Error C25 Please re-plan the path or reduce the speed. Linux RT Error C26 Please contact technical support. Command Reply Error C27 Please retry, or restart the xArm with the Emergency Stop Button on the Control Box. If multiple reboots are not working, please contact technical support. End Module Communication Error C28 Please restart the xArm with the Emergency Stop Button on the xArm Control Box. Other Errors C29 Please contact technical support.
safety boundary. The number of delay commands exceeds the limit 1. Please check whether there are too many position detection or IO delay C36 commands. 2. Increase the tolerance of the position detection command. Abnormal Motion in Manual Mode C37 Please check whether the TCP payload setting of the robotic arm and the installation method of the robotic arm match the actual settings. Abnormal Joint Angle C38 Please stop the xArm by pressing the Emergency Stop Button on the Control Box.
12 Command parameter abnormal 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. Re-powering the robotic arm via the emergency stop button on the control box. 2. Enable the robotic arm. a.
If the problem remains unsolved after power on/off multiple times, please contact UFACTORY team for support. Software Error Code Error Handling Gripper Current Detection Error G9 Please restart the xArm with the Emergency Stop Button on the xArm Control Box. G11 G12 G14 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 Code 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.
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 1.1 xArm5/6/7 Common Specifications xArm X Cartesian Range ±700mm Y ±700mm Z -400mm~951.5mm Roll/Yaw/Pitch ± 180° Maximum Joint Speed 180°/s Reach 700mm Repeatability ±0.1mm Max Speed of End-effector 1m/s *Ambient Temperature Range 0-50 °C* Power Consumption Min 8.4 W, Typical 200W, Max 500W Input Power Supply 24 V DC, 16.
2*AI(Analog In) 2*AI(Analog In) 2*AO(Analog Out) 2*AO(Analog Out) 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 Consumption) Working Range 84mm Maximum Clamping Force 30N Weight (g) 802g 1.
1.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 1.
3 -225°~11° 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 1.4 xArm 7 Specifications 1,3,5,7 ±360° 2 -118°~120° 4 -11°~225° 6 -97°~180° Joint Range Payload 3.
Weight(robotic arm only) 13.
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.
updating the xArm to the latest firmware, you need to obtain the latest xArm-Python-SDK (xArm-C++ SDK or xArm ROS) from GitHub. The download link: https://github.com/xArm-Developer 1. When you use the following network setting methods, please use xarm-tool-gui tool to update xArm Studio and xArm firmware online.
you can directly download the above installation package to your PC. 2) After decompressing the installation package, run the xarm-tool-gui program that matches your PC's operating system, select the type of 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: 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.
folder. Click the [Install] button. 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 The control box, PC and network switch are connected by ethernet cable 236
(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 builtin battery of the robotic arm.
2.Clean After the robotic arm is used for a long time, there may be dirt or grease on the carbon fiber shell (in rare cases, a small amount of grease can be seen at the joints, which will not affect the normal use or life of the joints). You can use 95% alcohol or 70% isopropanol to wipe the carbon fiber surface for cleaning. Note: When cleaning the carbon fiber surface, be careful not to let the liquid penetrate the joints. Appendix6- Repair 1. Repair work must only be done by UFACTORY.
3. 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 make an appointment with the local UPS and then send the product to us. (3) UFACTORY will check the product warranty status according to the after-sales policy.
section 1.4.9.2 Advanced Tool-Configuration File). Appendix7-Product Information 1.
1.2 Applied Standards The xArm 6 robot is certified and tested by SGS, and has passed the EU CE certification. The product meets the relevant requirements of the EU CE directive: • MD 2006/42/EC • EMC 2004/108/EC • EN ISO 10218-1:2011 • EN 60204-1:2018 • EN ISO 12100:2010 • EN 61000-6-2:2005 • EN 61000-6-4:2007+A1:2011 1.
• EN 61000-6-4:2019 • EN 61000-6-2:2019 Electrical equipment for measurement, control and laboratory use - EMC requirements Part 3-1: Immunity requirements for safety-related systems and for equipment intended to perform safety-related functions (functional safety) - General industrial applications. This standard defines extended EMC immunity requirements for safetyrelated functions.
1.5 Transport, Storage and Handling • Move the robot to the zero position by xArm Studio, then put the xArm robot and Control Box in the original packaging. • Transport the robot in the original packaging. • Lift both tubes of the robot arm at the same time when moving it from the packaging to the installation place. Hold the robot in place until all mounting bolts are securely tightened at the base of the robot. • The controller box shall be lifted by the handle.
1.8 Special Consumables. Fuse specifications:15A 250V 5×20mm Time-Lag glass body cartridge fuse 1.9 Stop Categories A Stop Category 1 and a Stop Category 2 decelerates the robot with drive power on, which enables the robot to stop without deviating from its current path. Safety Input Description Emergency Stop Button of the Control Box Performs a Stop Category 1 Emergency Input of the Control Box Performs a Stop Category 1.
• Speed: 100% (the general speed of the robot is set to 100% and the movement is performed at a joint speed of 180 °/s). • Payload: maximum payload handled by the robot attached to the TCP (5 kg). The test on the Joint 1 was carried out by performing a horizontal movement, the axis of rotation was perpendicular to the ground. During the tests for Joint 2 and 3 the robot followed a vertical trajectory, i.e.
between the center of the tool output flange and the center of gravity. 1.13 Specifications Robotic Arm Model XI1300 1,4,6 ±360° 2 -118°~120° 3 -225°~11° 5 -97°~180° Joint Range Payload 5kg Maximum Reach 700mm Degrees of Freedom 6 Repeatability ±0.1mm Maximum Joint Speed 180°/s Weight (robotic arm only) 12.
Rated Voltage 24VDC Control Box Model AC1300 Size 285*135*101mm I/O Ports 8*CI 8*DI 8*CO 8*DO 2*AI 2*AO 2*RS-485 Communication Protocol Modbus TCP Weight 3.9kg Operating Temperature 0-50ºC Humidity 25%-85% (non-condensing) Short Circuit Rating 50A Input 1PHASE AC 100-240V 47~63HZ 550Wmax Manufacturer:UFactory Technology Co.,Ltd Address: 2F, Building M-6, Ma Que Ling Industrial Zone, Nanshan District, Shenzhen, Guangdong, China Website: www.ufactory.