UFactory xArm 5 User manual

1

2
Table
Table...............................................................................................................................2
Preface............................................................................................................................8
Product Information............................................................................................... 8
Main Contents of the Manual.................................................................................8
Terms and Definitions...........................................................................................9
xArm Motion Parameters.....................................................................................11
Unit Definition..................................................................................................... 12
Additional Information.........................................................................................13
Safety Precautions................................................................................................ 13
xArm User Manual-Hardware Section.........................................................................19
1. Hardware Installation Manual..................................................................................19
1.1. The Hardware Composition of xArm............................................................19
1.1.1. Hardware Composition...................................................................... 19
1.1.2. Emergency Stop Button..................................................................... 20
1.1.3. Control Box Description.................................................................... 21
1.2. Robot Installation.......................................................................................... 21
1.2.1. Safety Guidelines for the Robot Environment................................... 21
1.2.2. Robot Installation............................................................................... 22
1.3. Power Supply for the Robotic Arm...............................................................28
1.3.1. Preparation before Power On............................................................. 28
1.3.2. Power On............................................................................................28
1.3.3. Shut Down the Robotic Arm System................................................. 29
2. Electrical Interface................................................................................................... 31

3
2.1. AC Control Box........................................................................................... 31
2.1.1. Connect the Control Box to the Robotic Arm....................................31
2.1.2. Power Connection............................................................................. 31
2.1.3. Definition of the Robotic Arm Industrial Connector......................... 32
2.2. DC Control Box........................................................................................... 32
2.2.1. External Interfaces of Control Box................................................... 32
2.2.2. Definition of Industrial Connector..................................................... 33
2.2.3. Specification of External Power.........................................................34
2.2.4. Electrical Alarms and Cautions..........................................................34
2.3. End-Effector I/O............................................................................................35
2.3.1. Digital Output.....................................................................................37
2.3.2. Digital Input....................................................................................... 38
2.3.3. Tool Analog Input.............................................................................. 38
2.4. Control Box Electrical IO............................................................................. 40
2.4.1. General Specifications for all Digital I/O.......................................... 40
2.4.2. Dedicated Safety I/O.......................................................................... 42
2.4.3. General Digital I/O Function..............................................................45
2.4.4. General Analog I/O............................................................................ 47
2.5. Communication Interface..............................................................................48
2.5.1. RS-485 Communication.....................................................................48
2.6. Ethernet TCP/IP............................................................................................ 49
3. End-Effector............................................................................................................. 51
3.1. Gripper.......................................................................................................... 51
3.1.1. Gripper Installation............................................................................ 51

4
3.1.2. The Flow of Gripper Movement........................................................ 52
3.1.3. Precautions......................................................................................... 53
3.2. Vacuum Gripper............................................................................................53
3.2.1. Vacuum Gripper Installation.............................................................54
3.2.2. Turn On/Off Vacuum Gripper............................................................55
xArm User Manual-Software Section.......................................................................... 56
1. xArm Studio............................................................................................................. 56
1.1 Hardware Preparation.....................................................................................56
1.2 Connect to the Robotic Arm...........................................................................57
1.2.1 The Robotic Arm Network Settings....................................................57
1.2.2 IP Configuration..................................................................................59
1.2.3 Connect to the Robotic Arm................................................................62
1.2.4 Return to the Search Interface............................................................63
1.3 xArm Studio Homepage................................................................................64
1.3.1 xArm Studio Homepage Parameters.................................................. 64
1.3.2 5 Main Functional Modules of xArm Studio.................................... 64
1.3.3 Toolbar.............................................................................................. 65
1.4 Robotic Arm Setting......................................................................................66
1.4.1 Motion Settings.................................................................................. 66
1.4.2 End Effector...................................................................................... 69
1.4.3 TCP Settings......................................................................................71
1.4.4 I/O Settings........................................................................................75
1.4.5 Safety Settings...................................................................................80
1.4.6 Mounting........................................................................................... 82

5
1.4.7 Timed Tasks...................................................................................... 84
1.4.8 Coordinate System............................................................................ 86
1.4.9 Advanced Settings.............................................................................88
1.4.10 System Settings................................................................................ 98
1.5 Live Control............................................................................................... 106
1.5.1 Status Bar........................................................................................ 106
1.5.2 Emergency Stop.............................................................................. 106
1.5.3 Real Robot/ Simulation Robot....................................................... 107
1.5.4 Manual Mode................................................................................. 107
1.5.5 Joint Motion................................................................................... 108
1.5.6 Linear Motion..................................................................................109
1.5.7 Operation Mode...............................................................................112
1.5.8 Zero Position, Initial Position..........................................................114
1.5.9 Speed Setting...................................................................................114
1.6 Blockly Graphical Programming................................................................ 115
1.6.1 Interface Overview..........................................................................115
1.6.2 Blockly Workspace......................................................................... 117
1.6.3 Blockly Code Block......................................................................... 120
1.6.4 Setting ..............................................................................................121
1.6.5 Motion............................................................................................. 123
1.6.6 GPIO(Control Box and End tool interface)............................... 125
1.6.7 End Effector.................................................................................... 127
1.6.8 Application...................................................................................... 128

6
1.6.9 Logic................................................................................................129
1.6.10 Loop.............................................................................................. 130
1.6.11 Math.............................................................................................. 131
1.6.12 Text................................................................................................131
1.6.13 Variable......................................................................................... 132
1.6.14 Function.........................................................................................133
1.6.15 Set & Edit Motion Coordinates.....................................................134
1.6.16 Path Planning Guidelines.............................................................. 135
1.7 Python IDE.................................................................................................135
1.7.1 Create a New Project........................................................................136
1.8 Recording................................................................................................... 137
2. xArm Motion Analysis...........................................................................................140
2.1 Robotic Arm Motion Mode and State Analysis..........................................141
2.1.1 The Motion Mode of the Robotic Arm........................................... 141
2.1.2 Analysis of Robotic Arm Movement Mode...................................143
2.1.3 Analysis of the Motion Status of the Robotic Arm.........................144
2.2. Motion of the Robotic Arm.........................................................................145
2.2.1. Joint Motion............................................................................................. 145
2.2.2. Linear Motion and Arc Linear Motion.............................................149
2.2.3. Circular and Arc Motion.................................................................. 153
2.3. xArm5 Motion Characteristics...................................................................156
2.4. Singularity................................................................................................... 156
3. Typical Examples...................................................................................................158
3.1. The Use of xArm Vacuum Gripper.............................................................158

7
3.2. The Use of xArm Gripper........................................................................... 159
3.3. The Use of the Digital IO............................................................................159
3.4. Cyclic Motion Count...................................................................................160
Appendix.................................................................................................................... 162
Appendix1-Error Reporting and Handling.................................................................162
1.1 Joints Error Message and Error Handling...................................................162
1.2 Control Box Error Code and Error Handling.............................................164
1.2.1 Control Box Error Code.................................................................. 164
1.2.2 Control Box Error Code.................................................................. 165
1.3 Gripper Error Code & Error Handling....................................................... 165
1.4 Python SDK Error Code & Error Handling................................................. 167
Appendix2-Technical Specifications......................................................................... 169
2.1 xArm5/6/7 Common Specifications...........................................................169
2.2 xArm 5 Specifications.................................................................................170
2.3 xArm 6 Specifications.................................................................................171
2.4 xArm 7 Specifications.................................................................................172
Appendix3-FAQ.........................................................................................................174
Appendix4-The xArm Software/Firmware Update Method...................................... 175
Appendix5- After-sales Service................................................................................. 182

8
Preface
Product Information
Package contains:
1. Robotic Arm x 1
2. Control Box x 1
3. Power cable for the Control Box x 1
4. Power cable for the Robotic Arm x 1
5. Communication cable for the Robotic Arm x 1
6. Ethernet Cable x1
7. Robotic Arm end effector adapter cable x1
Main Contents of the Manual
xArm User Manual Hardware Section
(1) xArm hardware installation
1
2
5
4
3
6
7

9
(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) After-sales service
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.
End Effector
The end effector, installed on the front end of the wrist of the robotic arm, is
used to install special tools (such as grippers, vacuum gripper, etc.), which can
directly perform work tasks.
Enable Robotic Arm
Power on the robotic arm and turn on the motor of the robotic arm. After the
robotic arm is enabled, it can start to move normally.
TCP
Tool center point.
TCP Motion
TCP motion is the Cartesian space motion, with target position in Cartesian
space coordinate and the end follows the specified trajectory(arc, line, etc.).
TCP Payload
(End Payload)
The payload weight refers to the actual (end tool +other object) weight in Kg;
the X / Y / Z-axis indicates the position of the center of mass of the TCP relative
to the default tool coordinate system,with unit of mm.
TCP Offset
(Tool Center Point Offset)
Set the relative offset between the default tool coordinate system at flange center
and the actual tool coordinate system, with distance unit of mm.
Roll / Pitch / Yaw sequentially rotates around the X / Y / Z of the selected
coordinate system (base coordinate system).
The following describes the roll/pitch/yaw orientation representation of {B}
relative to {A}:
For example, the coordinate system {B} and a known reference coordinate
system {A} are first superposed. First rotate {B} around
A
X
ˆ
by γ, then around
A
Y
ˆ
by β, and finally around
A
Z
ˆ
by α.
Each rotation is around a fixed axis of the reference coordinate system {A}. This

10
Roll/Pitch/Yaw
method is called the XYZ fixed angle coordinate system, and sometimes they
are defined as the roll angle, pitch angle, and yaw angle.
The above description is shown in the following figure:
The equivalent rotation matrix is:
XYZXYZ
A
BRRRR ,,
Note: γ corresponds to roll; β corresponds to pitch; α corresponds to yaw.
Axis-Angle
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:
1. [x, y, z] is a unit vector, and phi is a non-negative value.
2. The vector length (modulus) of [Rx, Ry, Rz] can be used to estimate the
rotation angle, and the vector direction is the rotation direction.
3. If you want to express reverse rotation, invert the rotation axis vector [x, y, z],
and the value of phi remains unchanged.
4. Using phi and [x, y, z] can also derive the attitude representation as unit
quaternion q = [cos (phi / 2), sin (phi / 2) * x, sin (phi / 2) * y, sin (phi / 2) * z].
For example:
The vector of the rotation axis represented by the base coordinate system is [1,
0, 0], and the rotation angle is 180 degrees (π), then the axis angle representation
of this pose is [π, 0, 0].
The rotation axis is [0.707, 0.707, 0] and the rotation angle is 90 degrees (π / 2),
then the axis angle posture is [0.707 * (π / 2), 0.707 * (π / 2), 0].
The Base Coordinate
System
(please refer to the figure 1)
The base coordinate system is a Cartesian coordinate system based on the
mounting base of the robotic arm and used to describe the motion of the robotic
arm.
(front and back: X axis, left and right: Y axis, up and down: Z axis)
Tool Coordinate System
(please refer to the figure 1)
Consists of tool center point and coordinate orientation. If the TCP offset is not
set, the default tool coordinate system is located at flange center.
For tool coordinate system based motion: The tool center point is taken as the

11
zero point, and the trajectory of the robotic arm refers to the tool coordinate
system.
User Coordinate System
(please refer to the figure 1)
The user coordinate system can be defined as any other reference coordinate
system rather than the robot base.
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
Teach sensitivity range is from 1 to 5 level. The larger the set value, the higher
the teach sensitivity level, and the less the force required to drag the joint in the
manual mode.
Collision Sensitivity
The collision sensitivity range is from 0 to 5 level. When it is set to 0, it means
that collision detection is not enabled. The larger the set value, the higher the
collision sensitivity level, and the smaller the force required to trigger the
collision protection response of the robotic arm.
GPIO
General-purpose input and output.
For the input, you can check the potential of the pin by reading a register;
For the output, you can write a certain register to make this pin output high or
low potential;
Safety Boundary
When this mode is activated, the boundary range of the cartesian space of the
robotic arm can be limited. If the tool center point (TCP) exceeds the set safety
boundary, the robotic arm will stop moving.
Reduced Mode
When this mode is activated, the maximum linear velocity of the Cartesian
motion of the robotic arm, the maximum joint speed, and the range of the joint
motion will be limited.
Figure 1
xArm Motion Parameters
The parameters of the robotic arm are shown in Table 1.1 and Table 1.2.

12
Table 1.1 working range of each joint of the robotic arm
Table 1.2 range of various motion parameters of the robotic arm
Note:
1. In the TCP motion (Cartesian space motion) commands (set_position () function of the SDK), If
a motion command involves both position transformation and attitude transformation, the attitude
rotation speed is generally calculated automatically by the system. In this situation, the specified
speed parameter is the maximum linear speed, range from: 0 ~1000mm / s.
2. When the expected TCP motion only changes the attitude (roll, pitch, yaw), with 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. Default units in Python / Blockly example and Communication Protocol
Parameter
Python-SDK
Blockly
Communication Protocol
X(Y/Z)
millimeter(mm)
millimeter(mm)
millimeter(mm)
Roll(Pitch/Yaw)
degree(°)
degree(°)
radian(rad)
J1(J2/J3/J4/J5/J6/J7)
degree(°)
degree(°)
radian(rad)
Robotic Arm
xArm 5
xArm 6
xArm 7
Maximum Speed
180°/s
180°/s
180°/s
Working Range
1st Axis
±360°
±360°
±360°
2st Axis
-118°~120°
-118°~120°
-118°~120°
3st Axis
-225°~11°
-225°~11°
±360°
4st Axis
±360°
±360°
-11°~225°
5st Axis
-97°~180°
-97°~180°
±360°
6st Axis
None
±360°
-97°~180°
7st Axis
None
None
±360°
TCP Motion
Joint Motion
Speed
0~1000mm/s
0~180°/s
Acceleration
0~50000mm/s2
0~1145°/s2
Jerk
0~10000mm/s3
0~28647°/s3

13
TCP Speed
mm/s
mm/s
mm/s
TCP Acceleration
mm/s²
mm/s²
mm/s²
TCP Jerk
mm/s³
mm/s³
mm/s³
Joint Speed
°/s
°/s
rad/s
Joint Acceleration
°/s²
°/s²
rad/s²
Joint Jerk
°/s³
°/s³
rad/s³
Additional Information
For xArm Studio software download and xArm developer manual, please refer to the
UFACTORY official website.
(https://store-ufactory-cc.myshopify.com/pages/download-xarm)
Safety Precautions
●Introduction
This chapter contains essential safety information, integrators and users of xArm must
follow the instructions and pay special attention to the content with warning signs.
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. When using SDK (Python/ROS/C++) and graphical interface (xArm
Studio), please read the relevant interface instructions demonstrated in this operation
manual.
UFACTORY devotes to providing reliable and safety information, but these contents
do not constitute warranties by UFACTORY. UFACTORY will not have or accept
any liability, obligation, or responsibility whatsoever for any loss, destruction, or
damage arising from or in respect of any use or misuse of xArm.
● Validity and Responsibility
The information does not cover how to design, install, and operate a complete robotic
arm application, nor does it cover all peripheral equipment that can influence the
safety of the complete system. The complete system must be designed and installed
under the safety requirements outlined in the standards and regulations of the country
where the robotic arm installed.

14
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.
●Interfacing other machines and additional safety devices if defined by the risk
assessment.
●For software programming, please read the interface documentations carefully
and set up the appropriate safety functions in the software.
●Specifying instructions for use to prevent unnecessary property damage or
personal injury caused by improper operation.
● Limitations on Liability Exceptions
Any information given in this manual regarding safety must not be construed as a
warranty by UFACTORY that the xArm will not cause injury or damage even if all
safety instructions are complied with.
●Safety Alarms in this Manual
DANGER:
This indicates an imminently hazardous electrical situation,
which if not avoided, could result in death or serious
damage to the device.
WARNING:
This indicates a potentially hazardous situation which, if not
avoided, could result in death or serious damage to the
device.

15
HIGH TEMPERATURE
This indicates a potential hot surface, which if touched,
could result in personal injury.
NOTICE
If not avoided, could result in personal injury or damage to
the equipment.
CAUTION:
If not avoided, could result in personal injury or damage to
the equipment.
● 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 self-assessment
of their specific problems.
General Alarms and Cautions
1. Make sure to use the correct installation settings in this
manual for the robotic arm and all the electrical equipment.
2. Please follow the instructions in this manual, installation,
and commissioning needs to be performed by professionals
in accordance with the installation standards.
3. Make sure the robotic arm and tool are properly and
securely bolted in place.
4. The integrity of the device and system must be checked

16
before each use (e.g. the operational safety and the possible
damage of the robotic arm and other device systems).
5. Preliminary testing and inspection for both robotic arm and
peripheral protection system before production is essential.
6. The operator must be trained to guarantee a correct
operation procedure when using SDK(Python/ROS/C++)
and graphical interface xArm Studio.
7. A complete safety assessment must be recorded each time
the robotic arm is re-installed and debugged.
8. When the robotic arm is in an accident or abnormal
operation, the emergency stop switch needs to be pressed
down to stop the movement, and the posture of the robotic
arm will slightly brake and fall.
9. The xArm joint module has brakes inside, which will
remain manipulator’s pose when a power outage occurs.
10. When the robotic arm is in operation, make sure no people
or other equipment are in the working area.
11. When releasing the brakes of xArm, please take protective
measures to prevent the robotic arm or operator from
damage or injury.
12. When connecting the xArm with other machinery, it may
increase risk and result in dangerous consequences. Make
sure a consistent and complete safety assessment is
conducted for the installation system.
1. The robotic arm and Control Box will generate heat during
operation. 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 end-effector.
1. Make sure the robotic arm’s joints and tools are installed
properly and safely, and check the status for all circuits.
2. Make sure that there is enough space for the manipulator to
move freely.
3. Make sure that there is no obstacle in the robotic arm’s
working space.
4. The Control Box must be placed outside the working range
of the robotic arm to ensure the emergency stop button can

17
be pressed once an emergency occurs.
5. If the robotic arm is in operation and needs an emergency
stop, make sure the restart/reset motions will not collide
with any obstacle.
6. Do not modify the robotic arm(or Control Box). Any
modification may lead to unpredictable danger to the
integrators. The authorized restructuring needs to be in
accordance with the latest version of all relevant service
manuals. If the robotic arm is modified or altered in any
way, UFACTORY (Shenzhen) Technology Co., Ltd.
disclaims all liability.
7. Users need to check the collision protection and water-proof
measures before any transportation.
When the xArm cooperates with other machinery, a
comprehensive safety assessment of the entire collaboration
system should be performed. It is recommended that any
equipment that may cause mechanical damage to xArm be
placed outside the working range during application planning.
Operator Safety
In the operation of the robotic arm system, we must ensure the safety of the operators
first, with the general precautions listed in the table below. Please take appropriate
measures to ensure the safety of operators.
1. Each operator who uses the robotic arm system should read
the product user manual carefully. Users should fully
understand the standardized operating procedures with the
robotic arm, and the solution to the robotic arm running error.
2. When the device is running, even if the robotic arm seems to
stop, the robotic arm may be waiting for the signal and in the
upcoming action status. Even in such a state, it should be
considered as the robotic arm is in action.
3. A line should be drawn to mark the range of motion of the
robotic arm to let the operator acknowledge the robotic arm,
including its end tools (such as gripper and suction cup, etc)
operating range.
4. Check the robotic arm regularly to prevent loosening of the
bolts that may cause undesirable consequences.

18
5. Be careful when the robotic arm is running too fast.
6. Be careful about dropping items that can be caused by
accidental power off or unstable clamping of the robotic arm.

19
xArm User Manual-Hardware Section
1. Hardware Installation Manual
1.1. The Hardware Composition of xArm
1.1.1. Hardware Composition
The composition of robotic arm hardware includes:
Robotic Arm(Figure 2-1)
Control Box (Figure 2-2)
Robotic Arm Signal Cable (Figure 2-3)
Robotic Arm Power Supply Cable (Figure 2-4)
Control Box Power Supply Cable (Figure 2-5)
Figure 2-1
Figure 2-2
Figure 2-5
Figure 2-4
Figure 2-3

20
The xArm robotic arm system consists of a base and rotary joints, and each joint
represents a degree of freedom. From the bottom to the top, in order, Joint 1, Joint 2,
Joint 3, etc. The last joint is known as the tool side and can be used to connect end-
effector (e.g. gripper, vacuum gripper, etc).
Refer to technical specifications for joint Figures(See appendix-2).
1.1.2. Emergency Stop Button
By pressing the emergency stop button of the Control Box, a command will be sent to
the Control Box for software deceleration to stop all activities of the robotic arm and
clear all the cached commands in the Control Box; the power supply for the robotic
arm will be removed within 300ms. The emergency stop should not be used as a risk
reduction measure. When an emergency occurs during the operation of the robotic
arm, users need to press the emergency stop, and the 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. Power up the xArm (Turn the emergency stop button in the direction of the arrow)
2. Enable the xArm (enable the servo motor)
This manual suits for next models
2
Table of contents
Other UFactory Robotics manuals

UFactory
UFactory LITE 6 User manual

UFactory
UFactory uArm Swift Pro Instruction Manual

UFactory
UFactory LITE 6 User manual

UFactory
UFactory 850 User manual

UFactory
UFactory uArm Swift Pro User manual

UFactory
UFactory uArm Controller User manual

UFactory
UFactory uArm Swift Pro Instruction Manual

UFactory
UFactory uArm Controller User manual

UFactory
UFactory xARM VACUJM GRIPPER User manual

UFactory
UFactory xArm User manual