UFactory xArm User manual

1

2
Table
Table.....................................................................................................................2
Preface .........................................................................................................................6
User Manual Information ................................................................................6
Product Information .........................................................................................6
Main Contents of the Manual .........................................................................7
Terms and Definitions ......................................................................................8
xArm Motion Parameters ..............................................................................12
Unit Definition ..................................................................................................13
Additional Information ..................................................................................13
Safety Precautions ..........................................................................................14
xArm User Manual-Hardware Section ...............................................................22
1. Hardware Installation Manual...............................................................22
1.1. The Hardware Composition of xArm.............................................22
1.2. Robot Installation...............................................................................26
1.3. Power Supply for the Robotic Arm.................................................35
2. Electrical Interface ....................................................................................38
2.1. AC Control Box.....................................................................................38
2.2. DC Control Box ....................................................................................40
2.3. Electrical Alarms and Cautions.......................................................42
2.4. End-Effector I/O..................................................................................44

3
2.5. Control Box Electrical IO ...................................................................49
2.6. Communication Interface.................................................................62
2.7. Ethernet TCP/IP ...................................................................................62
3. End-Effector................................................................................................65
3.1. Gripper ..................................................................................................65
3.2. Vacuum Gripper..................................................................................69
xArm User Manual-Software Section.................................................................72
1. xArm Studio..........................................................................................................72
1.1 Hardware Preparation ............................................................................73
1.2 Connect to the Robotic Arm...................................................................74
1.3 xArm Studio Homepage .........................................................................82
1.4 Robotic Arm Setting.................................................................................84
1.5 Live Control ..............................................................................................138
1.6 Blockly Graphical Programming ........................................................151
1.7 Python IDE ..............................................................................................176
1.8 Recording ...............................................................................................178
2. xArm Motion Analysis ......................................................................................181
2.1 Robotic Arm Motion Mode and State Analysis................................182
2.2. Motion of the Robotic Arm..................................................................189
2.2.1. Joint Motion .........................................................................................189
2.3. xArm5 Motion Characteristics ...........................................................204
2.4. Singularity...............................................................................................205

4
3. Typical Examples ..............................................................................................208
3.1. The Use of xArm Vacuum Gripper.....................................................208
3.2. The Use of xArm Gripper .....................................................................209
3.3. The Use of the Digital IO......................................................................210
3.4. Cyclic Motion Count ..............................................................................211
Appendix .................................................................................................................213
Appendix1-Error Reporting and Handling .....................................................213
1.1 Joints Error Message and Error Handling.........................................213
1.2 Control Box Error Code and Error Handling ..................................216
1.3 Gripper Error Code & Error Handling...............................................220
1.4 Python SDK Error Code & Error Handling .........................................222
Appendix2-Technical Specifications................................................................224
1.1 xArm5/6/7 Common Specifications ................................................224
1.2 xArm 5 Specifications...........................................................................226
1.3 xArm 6 Specifications...........................................................................227
1.4 xArm 7 Specifications...........................................................................227
Appendix3-FAQ......................................................................................................229
Appendix4-The xArm Software/Firmware Update Method.......................230
Appendix5- Maintenance and Inspection ......................................................239
Appendix6- Repair................................................................................................240
Appendix7-Product Information .......................................................................242
1.1 Product Mark .....................................................................................242

5
1.2 Applied Standards ...........................................................................243
1.3 EMC.......................................................................................................243
1.4 Use Environment ..............................................................................244
1.5 Transport, Storage and Handling................................................245
1.6 Power box placement height........................................................245
1.7 Power Connection............................................................................245
1.8 Special Consumables......................................................................246
1.9 Stop Categories.................................................................................246
1.10 Stopping Time and Stopping Distance.......................................246
1.11 Maximum Speed...............................................................................247
1.12 Maximum Payload ...........................................................................247
1.13 Specifications ....................................................................................248

6
Preface
User Manual Information
Translated Version V1.8.6.
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 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
1
2
3

7
Main Contents of the Manual
xArm User Manual Hardware Section
(1) xArm hardware installation
(2) Electrical interface
(3) xArm end-effector
xArm User Manual Software Section
(1) xArm Studio instructions
(2) xArm motion analysis
(3) Typical examples
Appendix
(1) xArm error reporting and handling
(2) xArm technical specifications
(3) FAQ
(4) The xArm software/firmware update method
(5) Maintenance and Inspection
(6) After-sales service
5
4
6

8
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 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:

9
Roll/Pitch/Yaw
The equivalent rotation matrix is:
( ) ( ) ( ) ( )
XYZXYZ
A
BRRRR =,,
Note: γ corresponds to roll; β corresponds to pitch; α corresponds
to yaw.

10
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
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

11
figure 1)
taken as the 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

12
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
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
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
-97°~180°
±360°
-11°~225°
5st Axis
±360°
-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
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)
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)

14
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

15
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.
●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

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

17
●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 before each use (e. g. the operational
safety and the possible damage of the robotic

18
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

19
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 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

20
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
Other manuals for xArm
3
Table of contents
Other UFactory Robotics manuals

UFactory
UFactory uArm Controller User manual

UFactory
UFactory LITE 6 User manual

UFactory
UFactory uArm Controller User manual

UFactory
UFactory LITE 6 User manual

UFactory
UFactory uArm Swift Operator's manual

UFactory
UFactory 850 User manual

UFactory
UFactory uArm Swift Pro User manual

UFactory
UFactory uArm Swift Pro Operator's manual

UFactory
UFactory xARM VACUJM GRIPPER User manual

UFactory
UFactory xArm User manual