User Manual: Original Instructions (En)
User Manual: Original Instructions (En)
User Manual: Original Instructions (En)
UR5/CB3
Original instructions (en)
User Manual
UR5/CB3
Version 3.4.1
Universal Robots A/S assumes no responsibility for any errors or omissions in this document.
Preface ix
What Do the Boxes Contain . . . . . . . . . . . . . . . . . . . . . . . . ix
Important Safety Notice . . . . . . . . . . . . . . . . . . . . . . . . . x
How to Read This Manual . . . . . . . . . . . . . . . . . . . . . . . . x
Where to Find More Information . . . . . . . . . . . . . . . . . . . . . . x
1 Safety I-3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . I-3
1.2 Validity and Responsibility . . . . . . . . . . . . . . . . . . . . . . I-3
1.3 Limitation of Liability . . . . . . . . . . . . . . . . . . . . . . . . I-4
1.4 Warning Symbols in this Manual . . . . . . . . . . . . . . . . . . . . I-4
1.5 General Warnings and Cautions . . . . . . . . . . . . . . . . . . . . I-5
1.6 Intended Use . . . . . . . . . . . . . . . . . . . . . . . . . . . I-7
1.7 Risk Assessment. . . . . . . . . . . . . . . . . . . . . . . . . . I-7
1.8 Emergency Stop . . . . . . . . . . . . . . . . . . . . . . . . . . I-9
1.9 Movement Without Drive Power . . . . . . . . . . . . . . . . . . . . I-9
3 Transportation I-19
8 Certifications I-49
8.1 Third Party Certifications . . . . . . . . . . . . . . . . . . . . . . I-49
8.2 Declarations According to EU directives . . . . . . . . . . . . . . . . . I-49
9 Warranties I-51
9.1 Product Warranty . . . . . . . . . . . . . . . . . . . . . . . . . I-51
9.2 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-51
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
14 Programming II-65
14.1 New Program . . . . . . . . . . . . . . . . . . . . . . . . . . II-65
14.2 Program Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . II-66
14.2.1 Program Tree . . . . . . . . . . . . . . . . . . . . . . . . II-66
14.2.2 Program Execution Indication . . . . . . . . . . . . . . . . . . II-67
14.2.3 Search Button . . . . . . . . . . . . . . . . . . . . . . . . II-67
14.2.4 Undo/Redo Buttons . . . . . . . . . . . . . . . . . . . . . II-68
14.2.5 Program Dashboard. . . . . . . . . . . . . . . . . . . . . . II-68
14.3 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . II-69
14.4 Command: Empty . . . . . . . . . . . . . . . . . . . . . . . . . II-69
14.5 Command: Move . . . . . . . . . . . . . . . . . . . . . . . . . II-70
14.6 Command: Fixed Waypoint . . . . . . . . . . . . . . . . . . . . . II-73
14.7 Command: Relative Waypoint. . . . . . . . . . . . . . . . . . . . . II-78
14.8 Command: Variable Waypoint . . . . . . . . . . . . . . . . . . . . II-79
14.9 Command: Wait . . . . . . . . . . . . . . . . . . . . . . . . . . II-80
14.10 Command: Set . . . . . . . . . . . . . . . . . . . . . . . . . . II-80
14.11 Command: Popup . . . . . . . . . . . . . . . . . . . . . . . . . II-81
14.12 Command: Halt . . . . . . . . . . . . . . . . . . . . . . . . . . II-82
14.13 Command: Comment . . . . . . . . . . . . . . . . . . . . . . . . II-82
14.14 Command: Folder . . . . . . . . . . . . . . . . . . . . . . . . . II-83
14.15 Command: Loop . . . . . . . . . . . . . . . . . . . . . . . . . II-83
Glossary II-111
Index II-113
UR5/CB3
viii
Version 3.4.1
Preface
Hardware Installation Manual: The mechanical and electrical installation of the robot.
PolyScope Manual: Programming of the robot.
This manual is intended for the integrator who is expected to have a basic level of
mechanical and electrical training. It is also helpful, though not necessary, to be
familiar with elementary concepts of programming. No special knowledge about
robots in general or Universal Robots in particular is required.
1.1 Introduction
This chapter contains important safety information, which must be read and un-
derstood by the integrator of UR robots before the robot is powered on for the first
time.
The first subsections in this chapter are more general and the later subsections con-
tain more specific engineering data relevant for setting up and programming the
robot.
It is essential that all assembly instructions and guidance provided in other chapters
and parts of this manual are observed and followed.
Chapter 2 describes and defines safety-related functions particularly relevant for
collaborative applications. Instructions and guidance provided in that chapter and
in section 1.7 is particularly important.
Special attention shall be paid to text associated with warning symbols.
Guidance on how to find and read applicable standards and laws is provided on
http://universal-robots.com/support/
DANGER:
This indicates an imminently hazardous electrical situation which,
if not avoided, could result in death or serious injury.
DANGER:
This indicates an imminently hazardous situation which, if not
avoided, could result in death or serious injury.
WARNING:
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
WARNING:
This indicates a potentially hazardous situation which, if not
avoided, could result in injury or major damage to the equipment.
WARNING:
This indicates a potentially hazardous hot surface which, if
touched, could result in injury.
CAUTION:
This indicates a situation which, if not avoided, could result in
damage to the equipment.
DANGER:
Make sure to install the robot and all electrical equipment accord-
ing to the specifications and warnings found in the Chapters 4 and
5.
WARNING:
1. Make sure the robot arm and tool are properly and securely
bolted in place.
2. Make sure the robot arm has ample space to operate freely.
3. Make sure that safety measures and/or robot safety configu-
ration parameters have been set up to protect both program-
mers, operators and bystanders, as defined in the risk assess-
ment.
4. Do not wear loose clothing or jewellery when working with
the robot. Make sure long hair is tied back when working
11. Collisions can release high levels of kinetic energy, which are
significantly higher at high speeds and with high payloads.
(Kinetic Energy = 12 Mass · Speed2 )
12. Combining different machines might increase hazards or cre-
ate new hazards. Always make an overall risk assessment for
the complete installation. When different safety and emer-
gency stop performance levels are needed, always choose the
highest performance level. Always read and understand the
manuals for all equipment used in the installation.
13. Never modify the robot. A modification might create haz-
ards that are unforeseen by the integrator. All authorized
reassembling shall be done according to the newest version
of all relevant service manuals. UNIVERSAL ROBOTS DIS-
CLAIMS ANY LIABILITY IF THE PRODUCT IS CHANGED
OR MODIFIED IN ANY WAY.
14. If the robot is purchased with an extra module (e.g. eu-
romap67 interface) then look up that module in the respective
manual.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
WARNING:
1. The robot and controller box generate heat during operation.
Do not handle or touch the robot while in operation or imme-
diately after operation. To cool the robot down, power off the
robot and wait one hour.
2. Never stick fingers behind the internal cover of the controller
box.
CAUTION:
1. When the robot is combined with or working with machines
capable of damaging the robot, then it is highly recom-
mended to test all functions and the robot program sepa-
rately. It is recommended to test the robot program using tem-
porary waypoints outside the workspace of other machines.
Universal Robots cannot be held responsible for any damages
caused to the robot or to other equipment due to program-
ming errors or malfunctioning of the robot.
2. Do not expose the robot to permanent magnetic fields. Very
strong magnetic fields can damage the robot.
• Teaching the robot during set-up and development of the robot installation;
• Troubleshooting and maintenance;
• Normal operation of the robot installation.
A risk assessment must be conducted before the robot arm is powered on for the
first time. A part of the risk assessment conducted by the integrator is to identify
the proper safety configuration settings, as well as the need for additional emer-
gency stop buttons and/or other protective measures required for the specific robot
application.
• Force and power limiting: Used to reduce clamping forces and pres-
sures exerted by the robot in the direction of movement in case of collisions
between the robot and the operator.
• Momentum limiting: Used to reduce high transient energy and impact forces
in case of collisions between robot and operator by reducing the speed of the
robot.
• Joint and TCP position limiting: Particularly used to reduce risks
associated with certain body parts. E.g. to avoid movement towards head and
neck during set-up and programming.
• TCP and tool orientation limiting: Particularly used to reduce risks
associated with certain areas and features of the tool and work-piece. E.g. to
avoid sharp edges to be pointed towards the operator.
• Speed limitation: Particularly used to ensure a low speed of the robot
arm. E.g. to provide time for the operator to avoid contact with the robot arm.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
3. Penetration of skin by sharp edges and sharp points on tool or tool connector.
4. Penetration of skin by sharp edges and sharp points on obstacles near the
robot track.
5. Bruising due to stroke from the robot.
6. Sprain or bone fracture due to strokes between a heavy payload and a hard
surface.
7. Consequences due to loose bolts that hold the robot arm or tool.
8. Items falling out of tool, e.g. due to a poor grip or power interruption.
9. Mistakes due to different emergency stop buttons for different machines.
10. Mistakes due to unauthorized changes to the safety configuration parameters.
Information on stopping times and stopping distances are found in chapter 2 and
appendix A.
1. Forced back-driving: Force a joint to move by pushing or pulling the robot arm
hard (500 N). Each joint brake has a friction clutch which enables movement
during high forced torque.
2. Manual brake release: Remove the joint cover by removing the few M3 screws
that fix it. Release the brake by pushing the plunger on the small electromag-
net as shown in the picture below.
WARNING:
1. Moving the robot arm manually is intended for urgent emer-
gencies only and might damage the joints.
2. If the brake is released manually, gravitational pull can cause
the robot arm to fall. Always support the robot arm, tool and
work item when releasing the brake.
UR5/CB3
I-10
Version 3.4.1
1.9 Movement Without Drive Power
2 Safety-related Functions and Interfaces
2.1 Introduction
UR robots are equipped with a range of built-in safety-related functions as well
as safety-related electrical interfaces to connect to other machines and additional
protective devices. Each safety function and interface is monitored according to EN
ISO13849-1:2008 (see Chapter 8 for certifications) with Performance Level d (PLd).
DANGER:
Use of safety configuration parameters different from those de-
fined by the risk assessment conducted by the integrator can result
in hazards that are not reasonably eliminated or risks that are not
sufficiently reduced.
See chapter 10 in part II for configuration of the safety-related features, inputs, and
outputs in the user interface. See chapter 5 for descriptions on how to connect
safety devices to the electrical interface.
NOTE:
The robot has a number of safety-related functions that can be used to limit the
movement of its joints and of the robot Tool Center Point (TCP). The TCP is the
center point of the output flange with the addition of the TCP offset.
The limiting safety-related functions are:
• Payload: maximum payload handled by the robot attached to the TCP (5 kg).
The worst case stopping time for Stop Category1 0 in case of a violation of the safety
limits or interfaces can be seen in the following table.
Worst Case
Limiting Safety Trueness Detection De-energizing Reaction
Function Time Time Time
Joint position 1.15 ◦ 100 ms 1000 ms 1100 ms
Joint speed 1.15 ◦/s 250 ms 1000 ms 1250 ms
TCP position 20 mm 100 ms 1000 ms 1100 ms
TCP orientation 1.15 ◦ 100 ms 1000 ms 1100 ms
TCP speed 50 mm/s 250 ms 1000 ms 1250 ms
TCP force 25 N 250 ms 1000 ms 1250 ms
Momentum 3 kg m/s 250 ms 1000 ms 1250 ms
Power 10 W 250 ms 1000 ms 1250 ms
The system is considered de-energized when the 48 V bus voltage reaches an electri-
cal potential below 7.3 V. The de-energizing time is the time from a detection of an
event until the system has been de-energized.
WARNING:
There are two exceptions to the force limiting function that are
important to notice when designing the work cell for the robot.
These are illustrated in Figure 2.1. As the robot stretches out, the
knee-joint effect can give high forces in the radial direction (away
from the base), but at the same time, low speeds. Similarly, the
short leverage arm, when the tool is close to the base and mov-
ing tangential (around) the base, can cause high forces, but also
WARNING:
If the robot is used in manual hand-guiding applications with lin-
ear movements, the joint speed limit must be set to maximum 40
degrees per second for the base and shoulder joints unless a risk
assessment shows that speeds above 40 degrees per second are ac-
ceptable. This will prevent fast movements of the robot elbow near
singularities.
750 mm
200 mm
Figure 2.1: Certain areas of the workspace should receive attention regarding pinching hazards, due to
the physical properties of the robot arm. One area is defined for radial motions, when the wrist 1 joint
is at a distance of at least 750 mm from the base of the robot. The other area is within 200 mm of the base
of the robot, when moving in the tangential direction.
On the side of the Trigger Reduced mode planes where the normal mode limit set is
defined, there is an area of 20 mm where the reduced mode limit set is accepted.
When Reduced mode is triggered by a safety input, both limit sets are accepted for
500 ms.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
Recovery Mode When a safety limit is violated, the safety system must be restarted.
If the system is outside a safety limit at start-up (e.g. outside a joint position limit),
the special Recovery mode is entered. In Recovery mode it is not possible to run pro-
grams for the robot, but the robot arm can be manually moved back within limits
either by using Freedrive mode or by using the Move tab in PolyScope (see part II
“PolyScope Manual”). The safety limits of Recovery mode are:
The safety system issues a Stop Category 0 if a violation of these limits appears.
WARNING:
Notice that limits for the joint position, the TCP position, and the
TCP orientation are disabled in Recovery Mode. Take caution when
moving the robot arm back within the limits.
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.
Monitoring of safety inputs Stop Category 1 and Stop Category 2 are monitored
by the safety system in the following way:
1. The safety system monitors that the braking initiates within 24 ms, see Fig-
ure 2.2.
2. If a joint is moving, its speed is monitored to never be higher than the speed
obtained by constantly decelerating from the maximum joint speed limit for
Normal mode to 0 rad/s in 500 ms.
3. If a joint is at rest (joint speed is less than 0.2 rad/s), it is monitored that it does
not move more than 0.05 rad from the position it had when the speed was
measured below 0.2 rad/s.
Additionally, for a Stop Category 1, the safety system monitors that after the robot
arm is at rest, the powering off is finalized within 600 ms. Furthermore, after a
Max joint
speed in
normal
mode
time
Figure 2.2: The green area below the ramp is the allowed speeds for a joint during braking. At time 0 an
event (emergency stop or safeguard stop) is detected at the safety processor. Deceleration begins after
24 ms.
Safeguard Stop input, the robot arm is only allowed to start moving again after a
positive edge on the safeguard reset input occurs. If any of the above properties are
not satisfied, the safety system issues a Stop Category 0.
A transition to Reduced mode triggered by the reduced mode input is monitored as
follows:
1. The safety system accepts both Normal and Reduced mode limit sets for 500 ms
after the reduced mode input is triggered.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
2. After 500 ms, only the Reduced mode limits are in effect.
If any of the above properties are not satisfied, the safety system issues a Stop Cat-
egory 0.
A Stop Category 0 is performed by the safety system with the performance de-
scribed in the following table. The worst-case reaction time is the time to stop and
to de-energize (discharge to an electrical potential below 7.3 V) a robot running at
full speed and payload.
Worst Case
Safety Input Function Detection De-energizing Reaction
Time Time Time
Robot Emergency Stop 250 ms 1000 ms 1250 ms
Emergency Stop Button 250 ms 1000 ms 1250 ms
System Emergency Stop 250 ms 1000 ms 1250 ms
Safeguard Stop 250 ms 1000 ms 1250 ms
If a safety output is not set properly, the safety system issues a Stop Category 0,
with the following worst-case reaction times:
UR5/CB3
I-18
Version 3.4.1
2.5 Safety-related Electrical Interfaces
3 Transportation
Transport the robot in the original packaging. Save the packaging material in a dry
place; you may need to pack down and move the robot later on.
Lift both tubes of the robot arm at the same time when moving it from the pack-
aging 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.
WARNING:
1. Make sure not to overload your back or other bodyparts when
the equipment is lifted. Use proper lifting equipment. All
regional and national guidelines for lifting shall be followed.
Universal Robots cannot be held responsible for any damage
caused by transportation of the equipment.
2. Make sure to mount the robot according to the mounting in-
structions in chapter 4.
UR5/CB3
I-20
Version 3.4.1
4 Mechanical Interface
4.1 Introduction
This chapter describes the basics of mounting the various parts of the robot system.
Electrical installation instructions in chapter 5 must be observed.
4.3 Mounting
Robot Arm The robot arm is mounted using four M8 bolts, using the four 8.5 mm
holes on the base. It is recommended to tighten these bolts with 20 N m torque. If
very accurate repositioning of the robot arm is desired, two Ø8 holes are provided
for use with a pin. Also, an accurate base counterpart can be purchased as an
accessory. Figure 4.1 shows where to drill holes and mount the screws.
Mount the robot on a sturdy surface strong enough to withstand at least ten times
the full torque of the base joint and at least five times the weight of the robot arm.
Furthermore the surface shall be vibration free.
If the robot is mounted on a linear axis or a moving platform then the acceleration
of the moving mounting base shall be very low. A high acceleration might cause
the robot to stop, thinking it bumped into something.
DANGER:
Make sure the robot arm is properly and securely bolted in place.
The mounting surface shall be sturdy.
CAUTION:
If the robot is bathed in water over an extended time period it
might be damaged. The robot should not be mounted in water
or in a wet environment.
Tool The robot tool flange has four M6 thread holes for attaching a tool to the
robot. The M6 bolts need to be tightened with 9 N m. If very accurate repositioning
of the tool is desired, the Ø6 hole is provided for use with a pin. Figure 4.2 shows
where to drill holes and mount the screws.
DANGER:
1. Make sure the tool is properly and securely bolted in place.
2. Make sure that the tool is constructed such that it cannot cre-
ate a hazardous situation by dropping a part unexpectedly.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
Control Box The control box can be hung on a wall, or it can be placed on the
ground. A clearance of 50 mm on each side is needed for sufficient airflow. Extra
brackets for mounting can be bought.
Teach Pendant The teach pendant can be hung on a wall or on the control box.
Extra brackets for mounting the teach pendant can be bought. Make sure that no
one can trip over the cable.
DANGER:
1. Make sure that the control box, teach pendant, and cables do
not come into contact with liquids. A wet control box could
cause death.
2. The control box and teach pendant must not be exposed to
dusty or wet environments that exceed IP20 rating. Pay spe-
cial attention to environments with conductive dust.
5 ±1 (2)
Outer diameter of robot 8.5
mounting flange OR
M8 12 (4)
5 )
,0 1 ( 2
+ 0 ,0 1 0
0
8-
90
°±
,5
±0
0,
5°
10
(4
)
,5
±0,
45°
45°
Cable exit
132 ±0,5
149
Figure 4.1: Holes for mounting the robot. Use four M8 bolts. All measurements are in mm.
UR5/CB3
+0,015
19,5
6 0 (H7)
6,5
45° Lumberg RKMV 8-354 connector
M6 6,0 (x4)
46,6
5
90° (x4)
I-24
6
A
+0,025 33
31,5 0 (H7)
50
SECTION A-A
0
63 - 0,05 (h8)
75
Version 3.4.1
Figure 4.2: The tool output flange, ISO 9409-1-50-4-M6. This is where the tool is mounted at the tip of
4.3 Mounting
4.4 Maximum Payload
Payload [kg]
6
UR5/CB3
I-26
Version 3.4.1
4.4 Maximum Payload
5 Electrical Interface
5.1 Introduction
This chapter describes all the electrical interfaces of the robot arm and control box.
The different interfaces are divided into five groups with different purposes and
properties:
• Controller I/O
• Tool I/O
• Ethernet
• Mains connection
• Robot connection
The term “I/O” refers both digital and analog control signals going from or to an
interface.
These five groups are described in the following sections. Examples are given for
most types of I/O.
The warnings and cautions in the following section are relevant for all five groups
and must be observed.
DANGER:
1. Never connect safety signals to a PLC which is not a safety
PLC with the correct safety level. Failure to follow this warn-
ing could result in serious injury or death as one of safety stop
functions could be overridden. It is important to keep safety
interface signals separated from the normal I/O interface sig-
nals.
2. All safety-related signals are constructed redundantly (Two
independent channels). Keep the two channels separate so
that a single fault cannot lead to loss of the safety function.
3. Some I/O inside the control box can be configured for either
normal or safety-related I/O. Read and understand the com-
plete section 5.3.
DANGER:
1. Make sure that all equipment not rated for water exposure
remains dry. If water is allowed to enter the product, lockout
and tagout all power and then contact your supplier.
2. Use original cables supplied with the robot only. Do not use
the robot for applications where the cables will be subjected
to flexing. Contact your supplier if longer or flexible cables
are needed.
3. Negative connections are referred to as “GND” and are con-
nected to the shield of the robot and the controller box. All
mentioned GND connections are only for powering and sig-
nalling. For PE (Protective Earth) use the M6 sized screw con-
nections marked with earth symbols inside the control box.
The grounding conductor shall have at least the current rat-
ing of the highest current in the system.
4. Care must be taken when installing interface cables to the
robot I/O. The metal plate in the bottom is intended for inter-
face cables and connectors. Remove the plate before drilling
the holes. Make sure that all shavings are removed before
reinstalling the plate. Remember to use correct gland sizes.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
CAUTION:
1. The robot has been tested according to international IEC stan-
dards for EMC (ElectroMagnetic Compatibility). Disturbing
signals with levels higher than those defined in the specific
IEC standards can cause unexpected behavior of the robot.
Very high signal levels or excessive exposure can damage the
robot permanently. EMC problems are found to happen usu-
ally in welding processes and are normally prompted by error
messages in the log. Universal Robots cannot be held respon-
sible for any damages caused by EMC problems.
2. I/O cables going from the control box to other machinery and
factory equipment may not be longer than 30m, unless ex-
tended tests are performed.
NOTE:
All voltages and currents are in DC (Direct Current) unless other-
wise specified.
AnalogbInputs
EI0 GND GND CI0 CI4 CO0 CO4 DI0 DI4 DO0 DO4 AI0
24V ON 24V 24V 24V 0V 0V 24V 24V 0V 0V AG
EI1 OFF 0V CI1 CI5 CO1 CO5 DI1 DI5 DO1 DO5 AI1
24V 24V 24V 0V 0V 24V 24V 0V 0V AG
AnalogbOutputs
SafeguardbStop
SI0 CI2 CI6 CO2 CO6 DI2 DI6 DO2 DO6 AO0
24V 24V 24V 0V 0V 24V 24V 0V 0V AG
SI1 CI3 CI7 CO3 CO7 DI3 DI7 DO3 DO7 AO1
• Safety I/O.
• Configurable I/O.
• General purpose I/O.
It is very important that UR robots are installed according the electrical specifica-
tions, which are the same for all three different kinds of inputs.
It is possible to power the digital I/O from an internal 24V power supply or from an
external power source by configuring the terminal block called “Power”. This block
consists of four terminals. The upper two (PWR and GND) are 24V and ground
from the internal 24V supply. The lower two terminals (24V and 0V) in the block
are the 24V input to supply the I/O. The default configuration is to use the internal
power supply, see below.
Power
PWR
GND
24V
0V
Power
PWR
GND
24V
0V
The electrical specifications for both the internal and an external power supply are
shown below.
The digital I/O are constructed in compliance with IEC 61131-2. The electrical spec-
ifications are shown below.
NOTE:
The word “configurable” is used for I/O that can be configured
as either safety-related I/O or normal I/O. These are the yellow
terminals with black text.
Safety devices and equipment must be installed according to the safety instructions
and the risk assessment, see chapter 1.
All safety I/O are pairwise (redundant) and must be kept as two separate branches.
A single fault shall not cause loss of the safety function.
The two permanent safety inputs are the Robot Emergency Stop and the Safeguard
Stop. The Robot Emergency Stop input is for emergency stop equipment only. The
Safeguard Stop input is for all kinds of safety-related protective equipment. The
functional difference is shown below.
It is possible to use the configurable I/O to set up additional safety I/O function-
ality, e.g. emergency stop output. Configuring a set of configurable I/O for safety
functions are done through the GUI, see part II.
DANGER:
1. Never connect safety signals to a PLC which is not a safety
PLC with the correct safety level. Failure to follow this warn-
ing could result in serious injury or death as one of safety stop
functions could be overridden. It is important to keep safety
interface signals separated from the normal I/O interface sig-
nals.
2. All safety-related I/O are constructed redundantly (Two in-
dependent channels). Keep the two channels separate so that
a single fault cannot lead to loss of the safety function.
3. Safety functions must be verified before putting the robot into
operation. Safety functions must be tested regularly.
4. The robot installation shall conform to these specifications.
Failure to do so could result in serious injury or death as the
safety stop function could be overridden.
Safety
24V
Emergency Stop
EI0
24V
EI1
24V
Safeguard Stop
SI0
24V
SI1
Safety Safety
24V 24V
Emergency Stop
Emergency Stop
EI0 EI0
24V 24V
EI1 EI1
24V 24V
Safeguard Stop
Safeguard Stop
SI0 SI0
24V 24V
SI1 SI1
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
The illustration below shows how two UR robots share their emergency stop func-
tions. In this example the configured I/Os used are “CI0-CI1” and “CO0-CO1”.
If more than two UR robots or other machines need to be connected, a safety PLC
is needed to control the emergency stop signals.
Safety
24V
Emergency Stop
EI0
24V
EI1
24V
Safeguard Stop
SI0
This configuration is only intended for application where the operator cannot pass
the door and close it behind him. The configurable I/O can be used to setup a reset
button outside the door, to reactivate robot motion.
Another example where automatic resume can be appropriate is when using a
safety mat or a safety-related laser scanner, see below.
Safety
24V 24V 0V
Emergency Stop
EI0 24V
24V 0V
EI1
24V
Safeguard Stop
SI0
24V
SI1
DANGER:
1. The robot resumes movement automatically when the safe-
guard signal is re-established. Do not use this configuration
if signal can be re-established from the inside of the safety
perimeter.
Safety Configurable7Inputs
Digital Outputs
0V 0V LOAD
DO0 DO4
0V 0V
DO1 DO5
0V 0V
DO2 DO6
0V 0V
DO3 DO7
Digital Inputs
24V 24V
DI0 DI4
24V 24V
DI1 DI5
24V 24V
DI2 DI6
24V 24V
DI3 DI7
• Use the AG terminal closest to the I/O. The pair share a common mode filter.
• Use the same gnd (0V) for equipment and control box. The analog I/O is not
galvanically isolated from the control box.
• Use a shielded cable or twisted pairs. Connect the shield to the “GND” termi-
nal at the terminal called “Power”.
• Use of equipment that works in current mode. Current signals are less sensi-
tive to interferences.
Input modes can be selected in the GUI, see part II. The electrical specifications are
shown below.
Analog
AG
Analog Inputs
AI0
AG
AI1
AG
Analog Outputs
AO0
AG
AO1
Power
PWR
GND
24V
0V
AG
Analog Inputs
AI0
AG
AI1
AG
Analog Outputs
AO0
AG
AO1
Power
PWR
GND
24V
0V
The remote ON/OFF control provides a small auxiliary 12V supply, which is kept
active when the controller box is turned off. The “on” and “off” inputs are intended
for short time activation only. The “on” input works in the same way as the power
button. Always use the “off” input for remote “off” control as this signal allows
the control box to save open files and shut down correctly.
NOTE:
A special feature in the software can be used to load and start pro-
grams automatically, see part II.
CAUTION:
1. Never use the “on” input or the power button to turn off the
control box.
Remote
12V
GND
ON
OFF
Remote
12V
GND
ON
OFF
This connector provides power and control signals for grippers and sensors used
on a specific robot tool. The following industrial cables are suitable:
The eight wires inside the cable have different colors. The different colors designate
different functions, see table below:
Color Signal
Red 0V (GND)
Gray 0V/+12V/+24V (POWER)
Blue Digital output 8 (DO8)
Pink Digital output 9 (DO9)
Yellow Digital input 8 (DI8)
Green Digital input 9 (DI9)
White Analog input 2 (AI2)
Brown Analog input 3 (AI3)
The internal power supply can be set to either 0V, 12V or 24V at the I/O tab the
GUI, see part II. The electrical specifications are shown below:
DANGER:
1. Connect tools and grippers such that an interruption of
power does not create any hazards, e.g., a work-piece falling
out of the tool.
2. Take care when using 12V, since an error made by the pro-
grammer can cause the voltage to change to 24V, which might
damage the equipment and cause a fire.
NOTE:
The tool flange is connected to GND (same as the red wire).
CAUTION:
1. The digital outputs in the tool are not current limited and
overriding the specified data can cause permanent damage.
DO8
POWER
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
DI8
Two examples of how to use analog inputs are shown in the following subsections.
CAUTION:
1. Analog inputs are not protected against over voltage in cur-
rent mode. Overrating the limit in the electrical specification
can cause permanent damage to the input.
POWER
AI8
GND
POWER
AI8
GND
• Connection to earth.
• Main fuse.
• Residual current device.
It is recommended to install a main switch to power off all equipment in the robot
application as an easy means for lockout and tagout under service.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
DANGER:
1. Make sure that the robot is grounded correctly (Electrical
connection to earth). Use the unused bolts associated with
grounding symbols inside the controller box to create com-
mon grounding of all equipment in the system. The ground-
ing conductor shall have at least the current rating of the high-
est current in the system.
2. Make sure that the input power to the controller box is pro-
tected with a RCD (Residual Current Device) and a correct
fuse.
3. Lockout and tagout all power for the complete robot installa-
tion during service. Other equipment shall not supply volt-
age to the robot I/O when the system is locked out.
4. Make sure that all cables are connected correctly before the
controller box is powered. Always use an original and correct
power cord.
CAUTION:
1. Do not disconnect the robot cable when the robot arm is
turned on.
2. Do not extend or modify the original cable.
UR5/CB3
I-44
Version 3.4.1
5.7 Robot connection
6 Maintenance and Repair
It is essential for both maintenance and repair work that it be performed in compli-
ance with all safety instructions in this manual.
Maintenance, calibration and repair work must be performed according to the newest
versions of Service Manuals found on the support website http://www.universal-robots.
com/support.
Repairs shall only be performed by authorized system integrators or by Universal
Robots.
All parts returned to Universal Robots shall be returned according to the service
manual.
DANGER:
1. Do not change anything in the safety configuration of the
software (e.g. the force limit). The safety configuration is de-
scribed in the PolyScope Manual. If any safety parameter is
changed, the complete robot system shall be considered new,
meaning that the overall safety approval process, including
risk assessment, shall be updated accordingly.
2. Replace faulty components using new components with the
same article numbers or equivalent components approved by
Universal Robots for this purpose.
3. Reactivate any deactivated safety measures immediately after
the work is completed.
4. Document all repairs and save this documentation in the tech-
nical file associated with the complete robot system.
DANGER:
1. Remove the mains input cable from the bottom of the control
box to ensure that it is completely unpowered. Deenergize
any other source of energy connected to the robot arm or con-
trol box. Take necessary precautions to prevent other persons
from energizing the system during the repair period.
2. Check the earth connection before re-powering the system.
3. Observe ESD regulations when parts of the robot arm or con-
trol box are disassembled.
4. Avoid disassembling the power supplies inside the control
box. High voltages (up to 600 V) can be present inside these
power supplies for several hours after the control box has
been switched off.
5. Prevent water and dust from entering the robot arm or control
box.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
UR5/CB3
I-48
Version 3.4.1
8 Certifications
This chapter presents a range of different certifications and declarations that have
been prepared for the product.
9.2 Disclaimer
Universal Robots continues to improve reliability and performance of its products,
and therefore reserves the right to upgrade the product without prior warning.
Universal Robots takes every care that the contents of this manual are precise and
correct, but takes no responsibility for any errors or missing information.
UR5/CB3
I-52
Version 3.4.1
9.2 Disclaimer
A Stopping Time and Stopping Distance
The information about stopping times and distances is available for both Stop Catagory
0 and Stop Category1 1. This appendix includes the information regarding Stop
Category 0. Information on Stop Category 1 is available on http://universal-robots.
com/support/.
The test on the Joint 0 was carried out by performing a horizontal movement, i.e.
the axis of rotation was perpendicular to the ground. During the tests for Joint 1
may not be put into service before the machinery in which it will be incorporated is declared in confor-
mity with the provisions of Directive 2006/42/EC, as amended by Directive 2009/127/EC, and with the
regulations transposing it into national law.
The safety features of the product are prepared for compliance with all essential requirements of Direc-
tive 2006/42/EC under the correct incorporation conditions, see product manual. Compliance with all
Relevant technical documentation is compiled according to Directive 2006/42/EC annex VII part B and
available in electronic form to national authorities upon legitimate request. Undersigned is based on the
manufacturer address and authorised to compile this documentation.
Additionally the product declares in conformity with the following directives, according to which the
product is CE marked:
A complete list of applied harmonized standards, including associated specifications, is provided in the
product manual.
David Brandt
Technology Officer
Product identification
UR5 robot arm: UR5 AE/CB3, 0A-series
UR5 control box: AE/CB3, 0A-series
UR5 teach pendant: AE/CB3, 0A-series
UR10 robot arm: UR10 AE/CB3, 0A-series
UR10 control box: UR10 AE/CB3, 0A-series
UR10 teach pendant: AE/CB3, 0A-series
DELTA report(s)
DELTA project no. T207415-1, DANAK-19/13752 Revision 1
Other document(s)
Date Assessor
Attestation of Conformity
EMC assessment - Certificate no. 1549
DELTA has been designated as Notified Body by the notified authority National Telecom Administration part
of the Energy Agency in Denmark to carry out tasks referred to in Annex III of the European Council EMC
Directive. The attestation of conformity is in accordance with the essential requirements set out in Annex I.
DELTA client
Universal Robots A/S
Energivej 25
5260 Odense S
Denmark
Manufacturer
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
Technical report(s)
DELTA Project T207371, EMC Test of UR5 and UR10 - DANAK-19/13884, dated 26 March 2014
DELTA Project T209172, EMC Test of UR3 - DANAK-19/14667, dated 05 November 2014
UR EMC Test Specification G3 rev 3, dated 30 October 2014
EMC Assessment Sheet 1351
Standards/Normative documents
EMC Directive 2014/30/EU, Article 6
EN/(IEC) 61326-3-1:2008, Industrial locations, SIL 2 applications
DELTA
EN/(IEC) 61000-6-2:2005
EN/(IEC) 61000-6-4:2007+A1 Venlighedsvej 4
2970 Hørsholm
Denmark
The product identified above has been assessed and complies with the specified standards/normative docu- Tel. +45 72 19 40 00
ments. The attestation does not include any market surveillance. It is the responsibility of the manufacturer
that mass-produced apparatus have the same EMC quality. The attestation does not contain any statements Fax +45 72 19 40 01
pertaining to the EMC protection requirements pursuant to other laws and/or directives other than the above www.delta.dk
mentioned if any. VAT No. 12275110
Knud A. Baltsen
Senior Consultant
20aocass-uk-j
CERTIFICATE
TÜV SÜD Industrie Service GmbH hereby confirms UNIVERSAL
ROBOTS A/S situated at Energivej 25, 5260 Odense S; Dänemark, that
the product
CERTIFICATE
TÜV SÜD Industrie Service GmbH hereby confirms UNIVERSAL
ROBOTS A/S situated at Energivej 25, 5260 Odense S; Dänemark, that
the product
This section describes relevant standards applied under the development of the robot arm and control
box. Whenever a European Directive number is noted in brackets, it indicates that the standard is
harmonized according to that Directive.
A standard is not a law. A standard is a document developed by stakeholders within a given industry,
defining the normal safety and performance requirements for a product or product group.
Part 2: Validation
The safety control system is designed as Performance Level d (PLd) according to the requirements of
these standards.
The emergency stop function is designed as a Stop Category 1 according to this standard. Stop Category
ISO 12100:2010
EN ISO 12100:2010 (E) [2006/42/EC]
Safety of machinery – General principles for design – Risk assessment and risk reduction
ISO 10218-1:2011
EN ISO 10218-1:2011(E) [2006/42/EC]
Part 1: Robots
This standard is intended for the robot manufacturer, not the integrator. The second part (ISO 10218-2)
is intended for the robot integrator, as it deals with the installation and design of the robot application.
The writers of the standard implicitly envisioned traditional industrial robots, which are traditionally
safeguarded by fences and light curtains. UR robots are designed with force and power limiting enabled
at all times. Therefore, some concepts are clarified and explained below.
If a UR robot is used in a hazardous application, additional safety measures might be required, see
chapter 1 of this manual.
Clarification:
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
• “3.24.3 Safeguarded space” is defined by the perimeter safeguarding. Typically, the safeguarded
space is a space behind a fence, which protects people from the hazardous traditional robots. UR
robots are designed to work without a fence using built-in power and force limiting collaborative
safety functions, and therefore without a hazardous safeguarded space defined by the perimeter of
a fence.
• “5.4.2 Performance requirement”. All safety functions are constructed as PLd according to ISO 13849-
1:2006. The robot is constructed with redundant encoder systems in each joint, and the safety-rated
I/Os are constructed with a Category1 3 structure. The safety-rated I/Os must be connected accord-
ing to this manual to Category 3 safety-rated equipment to form a PLd structure of the complete
safety function.
• “5.7 Operating modes”. UR robots do not have different operating modes and therefore they do not
have a mode selector.
• “5.8 Pendant controls”. This section defines protective features for the teach pendant, when it is
to be used within a hazardous safeguarded space. Since UR robots are designed for collaborative
operation, there is no hazardous safeguarded space like with traditional robots. UR robots are safer
to teach than traditional robots. Instead of having to release a three-positioning enabling device,
the operator can simply stop the robot with his hand. If a UR robots is installed in a hazardous
safeguarded application, a three-positioning enabling device can be connected as instructed in this
manual. Additionally see clarification in ISO/TS 15066 clause 5.4.5.
• “5.10 Collaborative operation requirements”. The power and force limiting collaborative safety
1 According to ISO 13849-1, see Glossary for more details.
ISO/TS 15066:2016
Robots and robotic devices – Safety requirements for industrial robots – Collaborative operation
This is a Technical Specification (TS), not a standard. The purpose of a TS is to present a set of immature
requirements to see if they are useful for a given industry. By definition, a TS is not mature enough to
be harmonized under European Directives.
This TS is for both robot manufacturer and robot integrator. UR robots comply with the parts that are
relevant for the raw robots themselves and the integrator can choose to use the TS when integrating the
robots.
This TS presents voluntary requirements and guidance that are supplementary to the ISO 10218 stan-
dards in the field of collaborative robots. In addition to the main text the TS includes an annex A with
a table that presents suggestions for force and pressure limits, which are based on pain and not injury.
It is important to read and understand the notes under this table, as many of the limits are based on
conservative estimates and literature study only. All numbers are subject to change in the future, as new
results from scientific research are ready. Annex A is an informal and voluntary part of the TS and an
ANSI/RIA R15.06-2012
This American standard is the ISO standards ISO 10218-1 (see above) and ISO 10218-2 combined into
one document. The language is changed from British English to American English, but the content is
the same.
Note that part two (ISO 10218-2) of this standard is intended for the integrator of the robot system, and
not Universal Robots.
CAN/CSA-Z434-14
This Canadian standard is the ISO standards ISO 10218-1 (see above) and -2 combined into one docu-
ment. CSA added additional requirements for the user of the robot system. Some of these requirements
might need to be addressed by the robot integrator.
Note that part two (ISO 10218-2) of this standard is intended for the integrator of the robot system, and
not Universal Robots.
These standards define requirements for the electrical and electromagnetic disturbances. Conforming
to these standards ensures that the UR robots perform well in industrial environments and that they do
not disturb other equipment.
IEC 61326-3-1:2008
EN 61326-3-1:2008
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 safety-related functions. Conforming
to this standard ensures that the safety functions of UR robots provide safety even if other equipment
exceeds the EMC emission limits defined in the IEC 61000 standards.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
Programmable controllers
Both normal and safety-rated 24V I/Os are constructed according to requirements of this standard to
ensure reliable communication with other PLC systems.
These two standards are very similar. They define safety principles for avoiding unexpected start-up,
both as a result of unintended repowering during maintenance or repair, and as a result of unintended
start-up commands from a control perspective.
IEC 60947-5-5/A1:2005
EN 60947-5-5/A11:2013 [2006/42/EC]
Part 5-5: Control circuit devices and switching elements - Electrical emergency stop device with mechanical
latching function
IEC 60529:2013
EN 60529/A2:2013
This standard defines enclosure ratings regarding protection against dust and water. UR robots are
designed and classified with an IP code according to this standard, see robot sticker.
IEC 60320-1/A1:2007
IEC 60320-1:2015
EN 60320-1/A1:2007 [2006/95/EC]
EN 60320-1:2015
Part 1: Plates
ISO 13732-1:2006
EN ISO 13732-1:2008 [2006/42/EC]
Ergonomics of the thermal environment – Methods for the assessment of human responses to contact with surfaces
The UR robots are designed so that the surface temperature is kept under the ergonomic limits defined
in this standard.
IEC 61140/A1:2004
EN 61140/A1:2006 [2006/95/EC]
Protection against electric shock – Common aspects for installation and equipment
UR robots are constructed in compliance with this standard to provide protection against electrical
shock. A protective earth/ground connection is mandatory, as defined in the Hardware Installation
Manual.
Environmental testing
Part 2-64: Tests - Test Fh: Vibration, broadband random and guidance
UR robots are tested according to the test methods defined in these standards.
IEC 61784-3:2010
EN 61784-3:2010 [SIL 2]
IEC 60204-1/A1:2008
EN 60204-1/A1:2009 [2006/42/EC]
IEC 60664-1:2007
IEC 60664-5:2007
EN 60664-1:2007 [2006/95/EC]
EN 60664-5:2007
Part 5: Comprehensive method for determining clearances and creepage distances equal to or less than 2 mm
Electrical Interface between Injection Molding Machine and Handling Device / Robot
UR robots equipped with the E67 accessory module to interface injection molding machines comply
with this standard.
UR5/CB3
I-68
Version 3.4.1
D Technical Specifications
UR5/CB3
I-70
Version 3.4.1
Part II
PolyScope Manual
10 Safety Configuration
10.1 Introduction
The robot is equipped with an advanced safety system. Depending on the partic-
ular characteristics of the robot workspace, the settings for the safety system must
be configured to guarantee the safety of all personnel and equipment around the
robot. Applying settings defined by the risk assessment is the first thing the in-
tegrator must do. For details on the safety system, see the Hardware Installation
Manual.
DANGER:
1. Use and configuration of safety-related functions and inter-
faces must be done according to the risk assessment that the
integrator conducts for a specific robot application, see the
Hardware Installation Manual.
2. Safety configuration settings for set-up and teaching must be
applied according to the risk assessment conducted by the
integrator and before the robot arm is powered on for the first
time.
The Safety Configuration screen can be accessed from the Welcome screen
(see 11.4) by pressing the Program Robot button, selecting the Installation
tab and tapping Safety. The safety configuration is password protected, see 10.8.
The safety settings consist of a number of limit values used to constrain the move-
ments of the robot arm, and of safety function settings for the configurable inputs
and outputs. They are defined in the following subtabs of the safety screen:
• The General Limits subtab defines the maximum force, power, speed and
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
momentum of the robot arm. When the risk of hitting a human or colliding
with a part of its environment is particularly high, these settings need to be set
to low values. If the risk is low, higher general limits enable the robot to move
faster and exert more force on its environment. For further details, see 10.10.
• The Joint Limits subtab consists of joint speed and joint position limits. The
joint speed limits define the maximum angular velocity of individual joints and
serve to further limit the speed of the robot arm. The joint position limits define
the allowed position range of individual joints (in joint space). For further
details, see 10.11.
• The Boundaries subtab defines safety planes (in Cartesian space) and a tool
orientation boundary for the robot TCP. The safety planes can be configured
either as hard limits for the position of the robot TCP, or triggers for activating
the Reduced mode safety limits (see 10.6)). The tool orientation boundary puts
a hard limit on the orientation of the robot TCP. For further details, see 10.12.
• The Safety I/O subtab defines safety functions for configurable inputs and
outputs (see 13.2). For example, Emergency Stop can be configured as an input.
For further details, see 10.13.
1. Make sure that the changes are in compliance with the risk assessment con-
ducted by the integrator.
2. Adjust safety settings to the appropriate level defined by the risk assessment
conducted by the integrator.
3. Verify that the safety settings are applied.
4. Put the following text in the operators’ manuals: “Before working near the
robot, make sure that the safety configuration is as expected. This can be ver-
ified e.g. by inspecting the checksum in the top right corner of the PolyScope
(see 10.5 in the PolyScope Manual).”
When editing the safety configuration, the shield icon will inform you whether or
1. A red error icon is displayed next to the text Safety on the left side of the
screen.
2. The subtab(s) with errors are marked with a red error icon at the top.
3. Text fields containing errors are marked with a red background.
When errors exist and attempting to navigate away from the Installation tab,
a dialog appears with the following options:
1. Resolve the issue(s) so that all errors have been removed. This will be visible
when the red error icon is no longer displayed next to the text Safety on the
left side of the screen.
2. Revert back to the previously applied safety configuration. This will disregard
all changes and allow you to continue to the desired destination.
If no errors exist and attempting to navigate away, a different dialog appears with
the following options:
1. Apply changes and restart the system. This will apply the safety configuration
modifications to the system and restart. Note: This does not imply that any
changes have been saved; shutdown of the robot at this point will lose all
changes to the robot installation including the Safety configuration.
2. Revert back to the previously applied safety configuration. This will disregard
all changes and allow you to continue to the desired selected destination.
10.4 Tolerances
In the Safety Configuration, physical limits are set. The input fields for these limits
are excluding the tolerances: where applicable tolerances are displayed next to the
field. The Safety System receives the values from the input fields, and detects any
violation of these values. The Robot Arm attempts to prevent any violations of the
safety system and gives a protective stop by stopping the program execution when
the limit minus the tolerance is reached. Note, that this means that a program might
not be able to perform motions very close to a limit, e.g. the robot may not be able to
obtain the exact maximum speed specified by a joint speed limit or the TCP speed
limit.
WARNING:
A risk assessment is always required using the limit values with-
out tolerances.
WARNING:
Tolerances are specific to the version of the software. Updating the
software may change the tolerances. Consult the release notes for
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
will start up in Recovery mode. This mode allows the robot arm to be manu-
ally adjusted until all violations have been resolved. It is not possible to run
programs for the robot in this mode.
WARNING:
Note that limits for joint position, TCP position and TCP orientation
are disabled in Recovery mode, so take caution when moving the
robot arm back within the limits.
The subtabs of the Safety Configuration screen enable the user to define sep-
arate sets of safety limits for Normal and Reduced mode. For the tool and joints,
Reduced mode limits regarding speed and momentum are required to be more re-
strictive than their Normal mode counterparts.
When a safety limit from the active limit set is violated, the robot arm performs a
Stop Category 0. If an active safety limit, such as a joint position limit or a safety
boundary, is violated already when the robot arm is powered on, it starts up in
Recovery mode. This makes it possible to move the robot arm back within the safety
limits. While in Recovery mode, the movement of the robot arm is limited by a fixed
limit set that is not customizable by the user. For details about Recovery mode limits,
see the Hardware Installation Manual.
10.7.1 Backdrive
In Freedrive mode, the robot joints can be moved with relatively little force because
the brakes are released. During initialization of the robot arm, minor vibrations
may be observed when the robot brakes are released. In some situations, such as
when the robot is close to collision, these tremors are undesirable and the Backdrive
feature can be used to forcefully move specific joints to a desired position without
releasing all brakes in the robot arm.
To enable Backdrive:
1. Press ON to enable power for the joints. The robot state is set to “Idle”. Do
not release the brakes (i.e. do not press START).
2. Press and hold the Freedrive button. The robot state changes to “Backdrive”.
3. Brakes will only be released in the joints to which significant pressure is ap-
plied, as long as the Freedrive button is engaged/pressed. While using Back-
drive, the robot feels heavy to move around.
NOTE:
Note that the robot arm is powered off when the safety Configura-
tion screen is unlocked.
10.9 Apply
When unlocking the safety configuration, the robot arm will be powered off while
changes are being made. The robot arm cannot be powered on until the changes
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
have been applied or reverted, and a manual power on is performed from the ini-
tialization screen.
Any changes to the safety configuration must be applied or reverted, before nav-
igating away from the Installation tab. These changes are not in effect until after
the Apply button is pressed and confirmation is performed. Confirmation requires
visual inspection of the changes given to the robot arm. For safety reasons, the
information shown is given in SI Units. An example of the confirmation dialog is
shown below.
Force: A limit for the maximum force that the robot TCP exerts on the environment.
Power: A limit for the maximum mechanical work produced by the robot on the
environment, considering that the payload is part of the robot and not of the
environment.
Speed: A limit for the maximum linear speed of the robot TCP.
Momentum: A limit for the maximum momentum of the robot arm.
There are two means available for configuring the general safety limits within the
installation; Basic Settings and Advanced Settings which are described more fully
below.
Defining the general safety limits only defines the limits for the tool, and not the
overall limits of the robot arm. This means that although a speed limit is specified,
it does not guarantee that other parts of the robot arm will obey this same limitation.
When in Freedrive mode (see 13.1.5), and the current speed of the robot TCP is close
to the Speed limit, the user will feel a repelling force which increases in magnitude
the closer the speed comes to the limit. The force is generated when the current
speed is within approximately 250 mm/s of the limit.
Basic Settings The initial general limits subpanel, shown as the default screen,
features a slider with four predefined sets of values for force, power, speed, and
momentum limits in both Normal and Reduced mode.
The specific sets of values are shown in the GUI. Predefined sets of values are sug-
gestions only and shall not substitute a proper risk assessment.
Advanced Settings
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
Here, each of the general limits, described in 10.10, can be modified independently
of the others. This is done by tapping the corresponding text field and entering the
new value. The highest accepted value for each of the limits is listed in the column
titled Maximum. The force limit can be set to a value between 100 N and 250 N,
and the power limit can be set to a value between 80 W and 1000 W.
Note that the fields for limits in Reduced mode are disabled when neither a safety
plane nor a configurable input is set to trigger it (see 10.12 and 10.13 for more de-
tails). Furthermore, the Speed and Momentum limits in Reduced mode must not be
higher than their Normal mode counterparts.
The tolerance and unit for each limit are listed at the end of the row that corre-
sponds to it. When a program is running, the speed of the robot arm is automati-
cally adjusted in order to not exceed any of the entered values minus the tolerance
(see 10.4). Note that the minus sign displayed with the tolerance value is only there
to indicate that the tolerance is subtracted from the actual entered value. The safety
system performs a Stop Category 0, should the robot arm exceed the limit (without
tolerance).
WARNING:
The speed limit is imposed only on the robot TCP, so other parts of
the robot arm may move faster than the defined value.
Joint limits restrict the movement of individual joints in joint space, i.e. they do not
refer to Cartesian space but rather to the internal (rotational) position of the joints
and their rotational speed. The radio buttons in the upper portion of the subpanel
make it possible to independently set up Maximum Speed and Position Range
for the joints.
When in Freedrive mode (see 13.1.5), and the current position or speed of a joint is
close to the limit, the user will feel a repelling force which increases in magnitude
as the joint approaches the limit. The force is generated when joint speed is within
approximately 20 ◦/s of the speed limit or joint position is within approximately 8 ◦
of the position limit.
Maximum Speed This option defines the maximum angular velocity for each
joint. This is done by tapping the corresponding text field and entering the new
value. The highest accepted value is listed in the column titled Maximum. None of
the values can be set below the tolerance value.
Note that the fields for limits in Reduced mode are disabled when neither a safety
plane nor a configurable input is set to trigger it (see 10.12 and 10.13 for more de-
tails). Furthermore, the limits for Reduced mode must not be higher than their Nor-
mal mode counterparts.
The tolerance and unit for each limit are listed at the end of the row that corre-
sponds to it. When a program is running, the speed of the robot arm is automat-
ically adjusted in order to not exceed any of the entered values minus the toler-
ance (see 10.4). Note that the minus sign displayed with each tolerance value is
only there to indicate that the tolerance is subtracted from the actual entered value.
Nevertheless, should the angular velocity of some joint exceed the entered value
(without tolerance), the safety system performs a Stop Category 0.
Position Range This screen defines the position range for each joint. This is done
by tapping the corresponding text fields and entering new values for the lower and
upper joint position boundary. The entered interval must fall within the values
listed in the column titled Range and the lower boundary cannot exceed the upper
boundary.
Note that the fields for limits in Reduced mode are disabled when neither a safety
plane nor a configurable input is set to trigger it (see 10.12 and 10.13 for more de-
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
tails).
The tolerances and unit for each limit are listed at the end of the row that cor-
responds to it. The first tolerance value applies to the minimum value and the
second applies to the maximum value. Program execution is aborted when the po-
sition of a joint is about to exceed the range resulting from adding the first tolerance
to the entered minimum value and subtracting the second tolerance from the en-
tered maximum value, if it continues moving along the predicted trajectory. Note
that the minus sign displayed with the tolerance value is only there to indicate that
the tolerance is subtracted from the actual entered value. Nevertheless, should the
joint position exceed the entered range, the safety system performs a Stop Category
0.
10.12 Boundaries
In this tab you can configure boundary limits consisting of safety planes and a limit
on the maximum allowed deviation of the robot tool orientation. It is also possible
to define planes that trigger a transition into Reduced mode.
Safety planes can be used to restrict the allowed workspace of the robot by enforc-
ing that the robot TCP stay on the correct side of the defined planes and not pass
through them. Up to eight safety planes can be configured. The constraint on the
orientation of tool can be utilized to ensure that the robot tool orientation does not
deviate more than a certain specified amount from a desired orientation.
WARNING:
Defining safety planes only limits the TCP and not the overall limit
for the robot arm. This means that although a safety plane is spec-
ified, it does not guarantee that other parts of the robot arm will
obey this restriction.
The configuration of each boundary limit is based on one of the features defined in
the current robot installation (see 13.12).
NOTE:
It is highly recommended, that you create all features needed for
the configuration of all the desired boundary limits and assign
them appropriate names before editing the safety configuration.
Note that since the robot arm is powered off once the Safety tab
has been unlocked, the Tool feature (containing the current po-
sition and orientation of the robot TCP) as well as Freedrive mode
(see 13.1.5) will not be available.
When in Freedrive mode (see 13.1.5), and the current position of the robot TCP is
close to a safety plane, or the deviation of the orientation of the robot tool from the
desired orientation is close to the specified maximum deviation, the user will feel a
repelling force which increases in magnitude as the TCP approaches the limit. The
force is generated when the TCP is within approximately 5 cm of a safety plane, or
10.12.2 3D visualization
The 3D View displays the configured safety planes and the orientation boundary
limit for the robot tool together with the current position of the robot arm. All
configured boundary entries where the visibility toggle is selected (i.e. showing
icon) in the Safety Boundaries section are displayed together with the current
selected boundary limit.
The (active) safety planes are shown in yellow and black with a small arrow repre-
senting the plane normal, which indicates the side of the plane on which the robot
TCP is allowed to be positioned. Trigger planes are displayed in blue and green. A
small arrow illustrates the side of the plane that does not trigger the transition into
Reduced mode. If a safety plane has been selected in the panel on the left side of the
tab, the corresponding 3D representation is highlighted.
The tool orientation boundary limit is visualized with a spherical cone together
with a vector indicating the current orientation of the robot tool. The inside of the
cone represents the allowed area for the tool orientation (vector).
When a plane or the tool orientation boundary limit is configured but not active,
the visualization is gray.
Push the magnifying glass icons to zoom in/out or drag a finger across to change
the view.
The Safety Plane Properties section at the bottom of the tab defines the con-
figuration of the selected safety plane in the Safety Boundaries panel in the
upper left portion of the tab.
Name The Name text field allows the user to assign a name to the selected safety
plane. Change the name by tapping the text field and entering a new name.
Copy Feature The position and normal of the safety plane is specified using a
feature (see 13.12) from the current robot installation. Use the drop-down box in the
lower left portion of the Safety Plane Properties section to select a feature.
Only the point and plane type features are available. Choosing the <Undefined>
item clears the configuration of the plane.
The z-axis of the selected feature will point to the disallowed area and the plane
normal will point in the opposite direction, except when the Base feature is se-
lected, in which case the plane normal will point in the same direction. If the plane
is configured as a Trigger Reduced mode plane (see 10.12.3), the plane normal indi-
cates the side of the plane that does not trigger transition into Reduced mode.
It should be noted that when the safety plane has been configured by selecting
a feature, the position information is only copied to the safety plane; the plane is
not linked to that feature. This means that if there are changes to the position or
orientation of a feature which has been used to configure a safety plane, the safety
plane is not automatically updated. If the feature has changed, this is indicated
by a icon positioned over the feature selector. Click the button next to the
selector to update the safety plane with the current position and orientation of the
feature. The icon is also displayed if the selected feature has been deleted from
the installation.
The selected safety mode is indicated by an icon in the corresponding entry in the
Safety Boundaries panel. If the safety mode is set to Disabled, no icon is
shown.
Displacement When a feature has been selected in the drop down box in the
lower left portion of the Safety Plane Properties panel, the safety plane can
be translated by tapping the Displacement text field in the lower right portion of
this panel and entering a value. Entering in a positive value increases the allowed
workspace of the robot by moving the plane in the opposite direction of the plane
normal, while entering a negative value decreases the allowed area by moving the
plane in the direction of the plane normal.
The tolerance and unit for the displacement of the boundary plane are shown to
the right of the text field.
Effect of strict limit planes Program execution is aborted when the TCP position
is about to cross an active, strict limit safety plane minus the tolerance (see 10.4),
if it continues moving along the predicted trajectory. Note that the minus sign
displayed with the tolerance value is only there to indicate that the tolerance is
subtracted from the actual entered value. The safety system will perform a Stop
Category 0, should the TCP position exceed the specified limit safety plane (without
tolerance).
Effect of Trigger Reduced mode planes When no protective stop is in effect and
the safety system is not in the special Recovery mode (see 10.6), it operates either in
Normal or Reduced mode and the movements of the robot arm are limited by the
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
a) The robot TCP is positioned beyond some Trigger Reduced mode plane, i.e. it
is located on the side of the plane that is opposite to the direction of the small
arrow in the visualization of the plane.
b) The Reduced Mode safety input function is configured and the input signals
are low (see 10.13 for more details).
When none of the above is the case any longer, the safety system transitions back
to Normal mode.
When the transition from Normal to Reduced mode is caused by passing through a
Trigger Reduced mode plane, a transition from the Normal mode limit set to the Re-
duced mode limit set occurs. As soon as the robot TCP is positioned 20 mm or closer
to the Trigger Reduced mode plane (but still on the Normal mode side), the more per-
missive of the Normal and Reduced mode limits is applied for each limit value. Once
the robot TCP passes through the Trigger Reduced mode plane, the Normal mode limit
set is no longer active and the Reduced mode limit set is enforced.
When a transition from Reduced to Normal mode is caused by passing through a
Trigger Reduced mode plane, a transition from the Reduced mode limit set to the Nor-
mal mode limit set occurs. As soon as the robot TCP passes through the Trigger
Reduced mode plane, the more permissive of the Normal and Reduced mode limits is
applied for each limit value. Once the robot TCP is positioned 20 mm or further
from the Trigger Reduced mode plane (on the Normal mode side), the Reduced mode
limit set is no longer active and the Normal mode limit set is enforced.
If the predicted trajectory takes the robot TCP through a Trigger Reduced mode plane,
the robot arm will start decelerating even before passing through the plane if it is
about to exceed joint speed, tool speed or momentum limit in the new limit set.
Note that since these limits are required to be more restrictive in the Reduced mode
limit set, such premature deceleration can occur only when transitioning from Nor-
mal to Reduced mode.
Deviation The Deviation text field shows the value for the maximum allowed
deviation of the orientation of the robot tool from the desired orientation. Modify
this value by tapping the text field and entering the new value.
The accepted value range together with the tolerance and unit of the deviation are
listed next to the text field.
Copy Feature The desired orientation of the robot tool is specified using a feature
(see 13.12) from the current robot installation. The z-axis of the selected feature will
be used as the desired tool orientation vector for this limit.
Use the drop down box in the lower left portion of the Tool Boundary Properties
panel to select a feature. Only the point and plane type features are available.
Safety mode The drop down menu on the right hand side of the Tool Boundary
Properties panel is used to choose the safety mode for the tool orientation bound-
ary. The available options are:
The selected safety mode is indicated by an icon in the corresponding entry in the
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
Effect Program execution is aborted when the deviation of the tool orientation
is about to exceed the entered maximum deviation minus the tolerance (see 10.4),
if it continues moving along the predicted trajectory. Note that the minus sign
displayed with the tolerance value is only there to indicate that the tolerance is
subtracted from the actual entered value. The safety system will perform a Stop
Category 0, should the deviation of the tool orientation exceed the limit (without
tolerance).
This screen defines the Safety functions for configurable inputs and outputs (I/Os).
The I/Os are divided between the inputs and outputs, and are paired up so that
Reduced Mode All safety limits have two modes in which they can be applied:
Normal mode, which specifies the default safety configuration, and Reduced mode
(see 10.6 for more details). When this input safety function is selected, a low signal
given to the inputs causes the safety system to transition to Reduced mode. If nec-
essary, the robot arm then decelerates to satisfy the Reduced mode limit set. Should
the robot arm still violate any of the Reduced mode limits, it performs a Stop Cat-
egory 0. The transition back to Normal mode happens in the same manner. Note
2 According to ISO 13849-1, see Glossary for more details.
that safety planes can also cause a transition to Reduced mode (see 10.12.3 for more
details).
Safeguard Reset If Safeguard Stop is wired in the safety I/Os, then this
input is used to ensure the Safeguard Stopped state continues until a reset is trig-
gered. The robot arm will not move when in Safeguard Stopped state.
WARNING:
By default, the Safeguard Reset function is configured for in-
put pins 0 and 1. Disabling it altogether implies that the robot
arm ceases to be Safeguard Stopped as soon as the Safeguard
Stop input becomes high. In other words, without a Safeguard
Reset, the Safeguard Stop inputs SI0 and SI1 (see the Hard-
ware Installation Manual) fully determine whether the Safeguard
Stopped state is active or not.
3-Position Switch and Operational Mode These allow for using a 3-position
enabling device as an additional protective measure during setup and program-
ming of the robot. With the 3-Position Switch input configured, the robot is
either in “running mode” or “programming mode”. An icon will appear in the
upper right corner displaying the current operational mode:
Running mode: Robot can perform only pre-defined tasks. The Move tab and
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
1. To select the operational mode using an external mode selection device, con-
figure the Operational Mode input. The option to configure it will appear
in the drop-down menus once the 3-Position Switch input is configured.
The robot will be in Running mode when the Operational Mode input is low
and in Programming mode when it is high.
2. To select the operational mode from Polyscope, only the 3-Position Switch
input must be configured and applied to the Safety Configuration. In this case,
the default mode is Running. In order to switch to Programming mode, choose
the “Program Robot” button on the Welcome screen. To switch back to Run-
ning mode, simply exit the “Program Robot” screen.
NOTE:
After the Safety I/O configuration with 3-Position Switch en-
abled is confirmed, the Welcome screen is automatically shown.
The Welcome screen is also automatically displayed when the op-
erational mode changes from Programming to Running.
System Emergency Stop Low signal is only given when the safety system has
been triggered into an Emergency Stopped state by the Robot Emergency Stop
input or Emergency Stop Button. To avoid deadlocks, if the Emergency Stopped
state is triggered by the System Emergency Stop input, low signal will not be given.
NOTE:
External machinery obtaining the Emergency Stop state from
the robot through System Emergency Stop output must be
complying with ISO 13850. This is particularly necessary in setups
where the Robot Emergency Stop input is connected to an external
Emergency Stop device. In such cases, the System Emergency
Robot Moving A low signal is given whenever the robot arm is in a mobile state.
When the robot arm is in a fixed position, a high signal is given.
Robot Not Stopping When the robot arm has been requested to stop, some
time will pass from the request until the arm stops. During this time the signal
will be high. When the robot arm is moving and has not been requested to stop, or
when the robot arm is in a stopped position, the signal will be low.
Reduced Mode Sends a low signal when the robot arm is placed in Reduced mode
or if the safety input is configured with a Reduced Mode input and the signal is
currently low. Otherwise the signal is high.
Not Reduced Mode This is the inverse of the Reduced Mode defined above.
CB3
II-22
Version 3.4.1
10.13 Safety I/O
11 Begin programming
11.1 Introduction
The Universal Robot arm is composed of tubes and joints. The joints with their
usual names are shown in Figure 11.1. The Base is where the robot is mounted,
and at the other end (Wrist 3) the tool of the robot is attached. By coordinating
the motion of each of the joints, the robot can move its tool around freely, with the
exception of the area directly above and directly below the base.
PolyScope is the graphical user interface (GUI) which lets you operate the robot
arm and control box, execute robot programs and easily create new ones.
The following section gets you started with the robot. Afterwards, the screens and
functionality of PolyScope are explained in more detail.
DANGER:
1. The Hardware Installation Manual contains important safety
information, which must be read and understood by the in-
tegrator of UR robots before the robot is powered on for the
first time.
2. The integrator must set the safety configuration parameters
Figure 11.1: Joints of the robot. A: Base, B: Shoulder, C: Elbow and D, E, F: Wrist 1, 2, 3
WARNING:
Tipping hazard. If the robot is not securely placed on a sturdy
surface, the robot can fall over and cause an injury.
When the control box is turned on, text from the underlying operating system will
appear on the touch screen. After about one minute, a few buttons appear on the
screen and a popup guides the user to the initialization screen (see 11.5).
To shut down the control box, press the green power button on the screen, or use
the Shut Down button on the welcome screen (see 11.4).
WARNING:
Shutting down by pulling the power cord from the wall socket
may cause corruption of the robot’s file system, which may result
in robot malfunction.
1. Press the emergency stop button on the front side of the teach pendant.
2. Press the power button on the teach pendant.
3. Wait a minute while the system is starting up, displaying text on the touch
screen.
4. When the system is ready, a popup will be shown on the touch screen, stating
that the robot needs to be initialized.
5. Touch the button on the popup dialog. You will be taken to the initialization
screen.
6. Wait for the Confirmation of applied Safety Configuration dia-
log and press the Confirm Safety Configuration button. This applies
an initial set of safety parameters that need to be adjusted based on a risk
assessment.
7. Unlock the emergency stop button. The robot state changes from Emergency
Stopped to Power off.
8. Step outside the reach (workspace) of the robot.
9. Touch the On button on the touch screen. Wait a few seconds until robot state
changes to Idle.
10. Verify that the payload mass and selected mounting are correct. You will be
WARNING:
1. Do not drive the robot into itself or anything else as this may
cause damage to the robot.
2. Keep your head and torso outside the reach (workspace) of
the robot. Do not place fingers where they can be caught.
3. This is only a quick start guide to show how easy it is to use
a UR robot. It assumes a harmless environment and a very
careful user. Do not increase the speed or acceleration above
the default values. Always conduct a risk assessment before
placing the robot into operation.
The picture above shows the Welcome Screen. The bluish areas of the screen are
buttons that can be pressed by pressing a finger or the backside of a pen against
the screen. PolyScope has a hierarchical structure of screens. In the programming
environment, the screens are arranged in tabs, for easy access on the screens.
The icons of the on-screen keypad, keyboard and expression editor are shown
above.
The various screens of PolyScope are described in the following sections.
After booting up the controller PC, the welcome screen is shown. The screen offers
the following options:
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
• Run Program: Choose and run an existing program. This is the simplest way
to operate the robot arm and control box.
• Program Robot: Change a program, or create a new program.
• Setup Robot: Change the language, set passwords, upgrade software, etc.
• Shutdown Robot: Powers off the robot arm and shuts down the control box.
• About: Provides details related to software versions, hostname, IP address,
serial number and legal information.
• A bright red LED indicates that the robot arm is currently in a stopped state
where the reasons can be several.
• A bright yellow LED indicates that the robot arm is powered on, but is not
ready for normal operation.
• Finally, a green LED indicates that the robot arm is powered on, and ready for
normal operation.
The text appearing next to the LED further specifies the current state of the robot
arm.
Before starting up the robot arm, it is very important to verify that both the active
payload and the active installation correspond to the actual situation the robot arm
is currently in.
DANGER:
Always verify that the actual payload and installation are correct
before starting up the robot arm. If these settings are wrong, the
robot arm and control box will not function correctly and may be-
come dangerous to people or equipment around them.
CAUTION:
Great care should be taken if the robot arm is touching an obstacle
or table, since driving the robot arm into the obstacle might dam-
age a joint gearbox.
The large button with the green icon on it serves to perform the actual initialization
of the robot arm. The text on it, and the action it performs, change depending on
the current state of the robot arm.
• After the controller PC boots up, the button needs to be tapped once to power
the robot arm on. The robot arm state then turns to Power on and subsequently
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
to Idle. Note that when an emergency stop is in place, the robot arm cannot be
powered on, so the button will be disabled.
• When the robot arm state is Idle, the button needs to be tapped once again
to start the robot arm up. At this point, sensor data is checked against the
configured mounting of the robot arm. If a mismatch is found (with a tolerance
of 30◦ ), the button is disabled and an error message is displayed below it.
If the mounting verification passes, tapping the button releases all joint brakes
and the robot arm becomes ready for normal operation. Note that the robot
makes a sound and moves a little while releasing the brakes.
• If the robot arm violates one of the safety limits after it starts up, it operates in a
special Recovery mode. In this mode, tapping the button switches to a recovery
move screen where the robot arm can be moved back within the safety limits.
• If a fault occurs, the controller can be restarted using the button.
• If the controller is currently not running, tapping the button starts it.
Finally, the smaller button with the red icon on it serves to power off the robot arm.
?
digital in[1]=True and analog in[0]<0.5
Robot
The current position of the robot arm and the specified new target position are
shown in 3D graphics. The 3D drawing of the robot arm shows the current position
of the robot arm, and the “shadow” of the robot arm shows the target position of
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
the robot arm controlled by the specified values on the right hand side of the screen.
Push the magnifying glass icons to zoom in/out or drag a finger across to change
the view.
If the specified target position of the robot TCP is close to a safety or trigger plane, or
the orientation of robot tool is near the tool orientation boundary limit (see 10.12),
a 3D representation of the proximate boundary limit is shown.
Safety planes are visualized in yellow and black with a small arrow representing
the plane normal, which indicates the side of the plane on which the robot TCP
is allowed to be positioned. Trigger planes are displayed in blue and green and a
small arrow pointing to the side of the plane, where the Normal mode limits (see
10.6) are active. The tool orientation boundary limit is visualized with a spherical
cone together with a vector indicating the current orientation of the robot tool. The
inside of the cone represents the allowed area for the tool orientation (vector).
When the target robot TCP no longer is in the proximity of the limit, the 3D rep-
resentation disappears. If the target TCP is in violation or very close to violating a
boundary limit, the visualization of the limit turns red.
The text boxes show the full coordinate values of that TCP relative to the selected
feature. X, Y and Z control the position of the tool, while RX, RY and RZ control the
orientation of the tool.
Use the drop down menu above the RX, RY and RZ boxes to choose the orientation
representation. Available types are:
• Rotation Vector [rad] The orientation is given as a rotation vector. The length
of the axis is the angle to be rotated in radians, and the vector itself gives the
axis about which to rotate. This is the default setting.
• Rotation Vector [◦ ] The orientation is given as a rotation vector, where the
length of the vector is the angle to be rotated in degrees.
• RPY [rad] Roll, pitch and yaw (RPY) angles, where the angles are in radians.
The RPY-rotation matrix (X, Y’, Z” rotation) is given by:
Joint positions
OK button
If this screen was activated from the Move tab (see 13.1), clicking the OK button will
return to the Move tab, where the robot arm will move to the specified target. If
the last specified value was a tool coordinate, the robot arm will move to the target
position using the MoveL movement type, while the robot arm will move to the
target position using the MoveJ movement type, if a joint position was specified
last. The different movement types are described in 14.5.
Cancel button
Clicking the Cancel button leaves the screen discarding all changes.
CB3
II-34
Version 3.4.1
12.2 Pose Editor Screen
13 Robot Control
When the robot TCP no longer is in the proximity of the limit, the 3D representation
disappears. If the TCP is in violation or very close to violating a boundary limit,
the visualization of the limit turns red.
13.1.5 Freedrive
While the Freedrive button is held down, it is possible to physically grab the robot
arm and pull it to where you want it to be. If the gravity setting (see 13.7) in the
Setup tab is wrong, or the robot arm carries a heavy load, the robot arm might
start moving (falling) when the Freedrive button is pressed. In that case, just release
the Freedrive button again.
WARNING:
1. Make sure to use the correct installation settings (e.g. Robot
mounting angle, weight in TCP, TCP offset). Save and load
the installation files along with the program.
2. Make sure that the TCP settings and the robot mounting set-
tings are set correctly before operating the Freedrive but-
ton. If these settings are not correct, the robot arm will move
when the Freedrive button is activated.
3. The freedrive function (Impedance/Backdrive) shall only be
used in installations where the risk assessment allows it.
Tools and obstacles shall not have sharp edges or pinch
points. Make sure that all personnel remain outside the reach
of the robot arm.
On this screen you can always monitor and set the live I/O signals from/to the
robot control box. The screen displays the current state of the I/O, inluding during
program execution. If anything is changed during program execution, the program
will stop. At program stop, all output signals will retain their states. The screen is
updated at only 10Hz, so a very fast signal might not display properly.
Configurable I/O’s can be reserved for special safety settings defined in the safety
I/O configuration section of the installaton (see 10.13); those which are reserved
will have the name of the safety function in place of the default or user defined
name. Configurable outputs that are reserved for safety settings are not togglable
and will be displaed as LED’s only.
The electrical details of the signals are described in the user manual.
Analog Domain Settings The analog I/O’s can be set to either current [4-20mA]
or voltage [0-10V] output. The settings will be remembered for eventual later
restarts of the robot controller when a program is saved.
Inputs
View the state of digital MODBUS client inputs.
Outputs
View and toggle the state of digital MODBUS client outputs. A signal can only be
toggled if the choice for I/O tab control (described in 13.8) allows it.
Animation
The animation shows the movement the robot arm is about to perform.
CAUTION:
CAUTION:
The automove function moves along the robot along the shadow
trajectory. Collision might damage the robot or other equipment.
Auto
Hold down the Auto button to move the robot arm as shown in the animation.
Note: Release the button to stop the motion at any time!
Manual
Pushing the Manual button will take you to the MoveTab where the robot arm can
be moved manually. This is only needed if the movement in the animation is not
preferable.
The Robot Installation covers all aspects of how the robot arm and control box are
placed in the working environment. It includes the mechanical mounting of the
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
robot arm, electrical connections to other equipment, as well as all options on which
the robot program depends. It does not include the program itself.
These settings can be set using the various screens under the Installation tab,
except for the I/O domains which are set in the I/O tab (see 13.2).
It is possible to have more than one installation file for the robot. Programs created
will use the active installation, and will load this installation automatically when
used.
Any changes to an installation need to be saved to be preserved after power down.
If there are unsaved changes in the installation, a floppy disk icon is shown next to
the Load/Save text on the left side of the Installation tab.
Saving an installation can be done by pressing the Save or Save As... button.
Alternatively, saving a program also saves the active installation. To load a different
installation file, use the Load button. The Create New button resets all of the
settings in the Robot Installation to their factory defaults.
CAUTION:
Using the robot with an installation loaded from a USB drive is
not recommended. To use an installation stored on a USB drive,
first load it and then save it in the local programs folder using the
Save As... button.
A Tool Center Point (TCP) is a characteristic point on the robot’s tool. Several named
TCPs can be defined on this screen. Each TCP contains a translation and a rotation
a program, the default TCP is set as the active one. Within a program, any of the
specified TCPs can be set as the active one for a particular movement of the robot
(see 14.5 and 14.10).
Note that the positions must be sufficiently diverse for the calculation to work cor-
rectly. If they are not, the status LED above the buttons turns red.
Furthermore, even though three positions are usually sufficient to determine the
correct TCP, the fourth position can be used to further verify that the calculation
is correct. The quality of each saved point with respect to the calculated TCP is
indicated using a green, yellow or red LED on the respective button.
13.6.5 Payload
The weight of the tool of the robot is specified in the lower part of the screen. To
change this setting, simply tap the white text field and enter a new weight. The
setting applies to all defined TCPs.
For details about the maximum allowed payload, see the Hardware Installation
Manual.
WARNING:
Make sure to use the correct installation settings. Save and load
the installation files along with the program.
Here the mounting of the robot arm can be specified. This serves two purposes:
The controller uses an advanced dynamics model to give the robot arm smooth and
precise motions, and to make the robot arm hold itself when in Freedrive mode. For
this reason, it is very important that the mounting of the robot arm be set correctly.
WARNING:
Failure to set robot arm’s mounting correctly might result in fre-
quent protective stops, and/or a possibility that the robot arm will
move when the freedrive button is pressed.
The default is that the robot arm is mounted on a flat table or floor, in which case no
change is needed on this screen. However, if the robot arm is ceiling mounted, wall
mounted or mounted at an angle, this needs to be adjusted using the push-buttons.
The buttons on the right side of the screen are for setting the angle of the robot
arm’s mounting. The three top right side buttons set the angle to ceiling (180◦ ), wall
(90◦ ), floor (0◦ ). The Tilt buttons can be used to set an arbitrary angle. The buttons
on the lower part of the screen are used to rotate the mounting of the robot arm to
match the actual mounting.
WARNING:
Make sure to use the correct installation settings. Save and load
the installation files along with the program.
On this screen, the I/O signals available for the robot can be assigned user-defined
names as well as configured with actions and I/O tab control.
The Input and Output sections list types of I/O signals such as:
The general purpose registers can be accessed by e.g. a fieldbus (such as Profinet
and Ethernet/IP).
Output Actions and I/O Tab Control The default behavior of outputs is that their
values are preserved after a program stops running. It is also possible to configure
an output with a default value that is applied whenever no program is running.
The eight standard general purpose digital outputs and the two digital tool outputs
can furthermore be configured to reflect whether a program is currently running,
so that the output is high when a program is running and otherwise low. General
purpose output registers of type boolean and digital MODBUS output signals also
support this.
Finally, it is also possible to specify whether an output can be controlled on the I/O
tab (by either programmers, or both operators and programmers) or if it is only
robot programs that may alter the output value.
Variables created here are called installation variables and can be used just like
normal program variables. Installation variables are special because they keep their
Pressing Create New will bring up a panel with a suggested name for the new
variable. The name may be changed and its value may be entered by touching
either text field. The OK-button can only clicked if the new name is unused in this
installation.
It is possible to change the value of an installation variable by highlighting the
variable in the list and then clicking on Edit Value.
To delete a variable, select it in the list, then click Delete.
After configuring the installation variables, the installation itself must be saved to
keep this configuration, see 13.5. The installation variables and their values are also
saved automatically every 10 minutes.
If a program or an installation is loaded and one or more of the program variables
have the same name as the installation variables, the user is presented with two
options to resolve the issue: either use the installation variables of the same name
instead of the program variable or have the conflicting variables renamed automat-
ically.
Here, the MODBUS client (master) signals can be set up. Connections to MOD-
BUS servers (or slaves) on specified IP addresses can be created with input/output
signals (registers or digital). Each signal has a unique name so it can be used in
programs.
Refresh
Push this button to refresh all MODBUS connections.
Add unit
Push this button to add a new MODBUS unit.
Delete unit
Push this button to delete the MODBUS unit and all signals on that unit.
Set unit IP
Here the IP address of the MODBUS unit is shown. Press the button to change it.
Add signal
Push this button to add a signal to the corresponding MODBUS unit.
Delete signal
Push this button to delete a MODBUS signal from the corresponding MODBUS
unit.
• Digital input: A digital input (coil) is a one-bit quantity which is read from the
MODBUS unit on the coil specified in the address field of the signal. Function
code 0x02 (Read Discrete Inputs) is used.
• Digital output: A digital output (coil) is a one-bit quantity which can be set to
either high or low. Before the value of this output has been set by the user, the
value is read from the remote MODBUS unit. This means that function code
0x01 (Read Coils) is used. When the output has been set by a robot program or
by pressing the “set signal value” button, the function code 0x05 (Write Single
Coil) is used onwards.
• Register input: A register input is a 16-bit quantity read from the address
specified in the address field. The function code 0x04 (Read Input Registers)
is used.
• Register output: A register output is a 16-bit quantity which can be set by the
user. Before the value of the register has been set, the value of it is read from
the remote MODBUS unit. This means that function code 0x03 (Read Holding
Signal value
Here, the current value of the signal is shown. For register signals, the value is
expressed as an unsigned integer. For output signals, the desired signal value can
be set using the button. Again, for a register output, the value to write to the unit
must be supplied as an unsigned integer.
Advanced Options
• Update Frequency: This menu can be used to change the update frequency
of the signal. This means the frequency with which requests are sent to the
remote MODBUS unit for either reading or writing the signal value.
• Slave Address: This text field can be used to set a specific slave address for
the requests corresponding to a specific signal. The value must be in the range
0-255 both included, and the default is 255. If you change this value, it is
recommended to consult the manual of the remote MODBUS device to verify
its functionality when changing slave address.
• Response time [ms]: Time between modbus request sent, and response re-
ceived - this is updated only when communication is active.
• Reconnect count: Number of times TCP connection was closed, and con-
nected again.
• Modbus packet errors: Number of received packets that contained errors (i.e.
invalid lenght, missing data, TCP socket error).
• Connection status: TCP connection status.
• Timeouts: Number of modbus requests that didn’t get response.
• Requests failed: Number of packets that could not be sent due to invalid
socket status.
• Base feature: located with origin in the centre of the robot base (see figure 13.1)
• Tool feature: located with origin in the centre of the current TCP (see figure
13.2)
User-defined features have their pose defined by the user through a unique and
intuitive method that uses the current pose of the tool (TCP) to define locations in
the work area. This means that the user can teach locations of features using e.g.
Freedrive mode or jogging to move the robot to the desired pose.
Three different strategies exist (Point, Line and Plane) for defining the feature pose.
The best strategy for a given application depends on the type of object and the
precision requirements, but in general a feature based on more input points (Line
and Plane) should be preferred if applicable to the specific object.
For defining e.g. the direction of a linear conveyor, it is possible with just a Point
feature but in general the concept of movement in a linear direction would be more
accurate and better represented with a Line feature. Using a Point feature to de-
fine the direction of a conveyor it is neccesary to point the TCP in the direction of
the conveyor movement. Better accuracy for the direction is achieved by instead
defining two points of a Line feature with as much physical separation as possible.
Using more points to define the pose of e.g. a table means that the orientation is
based on the positions rather than the orientation of a single TCP, and a single TCP
orientation is in general harder to configure with high precision. An explanation on
how to apply the different methods to define a feature are found in sections 13.12.2,
13.12.3 and 13.12.4.
the robot program, to relate robot movements (MoveL and MoveP commands) to
the feature (see section 14.5). This allows for easy adaptation of a robot program,
e.g. when having multiple robot stations or when an object is dynamically moved
during program runtime or permanently moved in the scene. By simply adjusting
the referenced feature of a particular object, all movements of the program that
should be relative to the object is moved accordingly. Examples of this are found in
sections 13.12.5 and 13.12.6.
Features configured as joggable are also a useful tool when manually moving the
robot in the Move tab (section 13.1) or the Pose Editor screen (section 12.2). When a
feature is chosen as a reference frame, the Move Tool buttons for translations and
rotations will operate in the selected feature space (see section 13.1.2 and 13.1.3) as
will the current reading of the TCP coordinates displayed in the TCP section of the
screen. If e.g. a table has been defined as a feature and it is chosen as reference in
the Move tab the arrow buttons for up/down, left/right, forward/backward trans-
lations will move the robot in these directions relatve to the table and the shown
coordinates of the TCP will be in the frame of the table as well.
Rename
This button makes it possible to rename a feature.
Delete
This button deletes the selected feature and, if any, all sub-features.
Show Axes
Choose whether the coordinate axes of the selected feature should be visible on the
3D graphics. The choice applies on this screen and on the Move screen.
Joggable
Choose whether the selected feature should be joggable. This determines whether
the feature will appear in the feature menu on the Move screen.
Variable
Choose whether the selected feature can be used as a variable. If this option is
active, a variable named the name of the feature suffixed by “ var” will then be
available when editing robot programs, and this variable can be assigned a new
value in a program, which can then be used to control waypoints that depend on
the value of a feature. A feature must also be marked as variable if, any move
command depending on it should have the movement updated when the feature is
changed. If not marked as variable the waypoint will be relative to the pose at the
time of definition.
This axis, directed from the first point towards the second point, will constitute the
y-axis of the line coordinate system. The z-axis will be defined by the projection of
the z-axis of p1 onto the plane perpendicular to the line. The position of the line
coordinate system is the same as the position of p1.
Robot Program
MoveJ
S1
MoveL # Feature: P1_var
wp1
wp2
wp3
wp4
Figure 13.4: Simple program with four waypoints relative to a feature plane manually updated by
changing the feature
It is a requirement for the application that the program should be reused for multi-
ple robot installations, where only the position of the table might vary slightly. The
movement relative to the table is identical.
By defining the position of the table as a feature P1 in the installation, and making
sure that it is selected as Variable, the program with a MoveL command configured
relative to the plane can be easily applied on additional robots by just updating the
installation with the actual position of the table.
The concept applies to any number of Features in an application, to achieve a flexi-
ble program that can solve the same task on many robots even though e.g. a pick-
up, drop-off or any other critical place in the work space might vary between in-
stallations.
Figure 13.5: A MoveL command with four waypoints relative to a plane feature
Robot Program
MoveJ
wp1
y = 0.01
o = p[0,y,0,0,0,0]
P1_var = pose_trans(P1_var, o)
MoveL # Feature: P1_var
wp1
wp2
wp3
wp4
Robot Program
MoveJ
S1
if (digital_input[0]) then
P1_var = P1
else
P1_var = P2
MoveL # Feature: P1_var
wp1
wp2
wp3
wp4
Conveyor Parameters
Incremental encoders can be connected to digital inputs 0 to 3. Decoding of dig-
ital signals runs at 40kHz. Using a Quadrature encoder (requiring two inputs),
the robot is able to determine the speed along with direction of the conveyor. If
the direction of the coneyor is constant, a single input can be used, detecting ei-
ther Rising, Falling, or Rise and Fall edges to determine the speed of the
conveyor.
Absolute encoders can be used when connected through a MODBUS signal. This
requires that a digital MODBUS input register is preconfigured in the 13.11.
Linear conveyors
When a linear conveyor is selected, a line feature must be configured to determine
the direction of the conveyor. The line feature should be parallel to the direction of
the conveyor, and there should be a large distance between the two points defining
the line feature. It is recommended to configure the line feature by placing the tool
firmly against the side of the conveyor when teaching the two points.
The field Ticks per meter is used as the number of ticks the encoder generates
when the conveyor moves one meter.
Circular conveyors
When tracking a circular conveyor, the center point of the conveyor (circle) must be
defined. The value of Ticks per revolution must be the number of ticks the
encoder generates when the conveyor rotates one full revolution.
WARNING:
When auto load, auto start and auto initialize are all enabled, the
robot will run the program as soon as the control box is powered
up if the input signal matches the selected signal level, i.e., edge
transition to the selected signal level will not be required in this
case. More caution is necessary when the signal level is set up
to Low, as in typical setups the input signals are low by default,
leading the program to run automatically without being triggered
by an external signal.
Robot Health The top half of the screen displays the health of the robot arm and
control box. The left part shows information related to the control box of the robot,
while the right part shows information about each robot joint. Each robot joint
shows information for temperaure of the motor and electronics, the load of the
joint and the voltage at the joint.
Robot Log On the bottom half of the screen log messages are shown. The first
column categorizes the severity of the log entry. The second column shows the time
of arrival of the message. The next column shows the sender of the message. While
the last column shows the message itself. Messages can be filtered by selecting the
toggle buttons which correspond to the severity. The figure above now shows that
errors will be displayed while information and warning messages will be filtered.
Some log messages are designed to provide more information, this can be accessed
by selecting the log entry.
NOTE:
Running a program from a USB drive is not recommended. To run
The main difference lies in which actions are available to the user. In the basic
load screen, the user will only be able to access files - not modify or delete them.
Furthermore, the user is not allowed to leave the directory structure that descends
from the programs folder. The user can descend to a sub-directory, but he cannot
get any higher than the programs folder.
Therefore, all programs should be placed in the programs folder and/or sub folders
under the programs folder.
Screen layout
This image shows the actual load screen. It consists of the following important
areas and buttons:
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
Path history The path history shows a list of the paths leading up to the present
location. This means that all parent directories up to the root of the computer are
shown. Here you will notice that you may not be able to access all the directories
above the programs folder.
By selecting a folder name in the list, the load dialog changes to that directory and
displays it in the file selection area 13.16.
File selection area In this area of the dialog the contents of the actual area is
present. It gives the user the option to select a file by single clicking on its name or
to open the file by double clicking on its name.
Directories are selected by a long press of approximately 0.5 s. Descending into a
folder and presenting its content is done by single clicking it.
File filter By using the file filter, one can limit the files shown to include the type
of files that one wishes. By selecting “Backup Files” the file selection area will
display the latest 10 saved versions of each program, where .old0 is the newest
and .old9 is the oldest.
File field Here the currently selected file is shown. The user has the option to
manually enter the file name of a file by clicking on the keyboard icon to the right
of the field. This will cause an on-screen keyboard to pop up where the user can
enter the file name directly on the screen.
Open button Clicking on the Open button, will open the currently selected file
and return to the previous screen.
Cancel button Clicking on the Cancel button will abort the current loading pro-
cess and cause the screen to switch to the previous image.
Action buttons A series of buttons gives the user the ability to perform some of
the actions that normally would be accessible by right-clicking on a file name in a
conventional file dialog. Added to this is the ability to move up in the directory
structure and directly to the program folder.
• Parent: Move up in the directory structure. The button will not be enabled in
two cases: when the current directory is the top directory or if the screen is in
the limited mode and the current directory is the program folder.
• Go to program folder: Go home
• Actions: Actions such as create directory, delete file etc.
This tab provides a very simple way of operating the robot arm and control box,
with as few buttons and options as possible. This can be usefully combined with
password protecting the programming part of PolyScope (see 15.3), to make the
robot into a tool that can run exclusively pre-written programs.
Furthermore, in this tab a default program can be automatically loaded and started
based on an external input signal edge transition (see 13.14). The combination of
auto loading and starting of a default program and auto initialization on power up
can, for instance, be used to integrate the robot arm into other machinery.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
The program tree contains visual cues informing about the command currently be-
ing executed by the robot controller. A small indicator icon is displayed to the left
DANGER:
1. Make sure to stay outside the robot workspace when the
Play button is pressed. The movement you programmed
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
While the program is being written, the resulting motion of the robot arm is illus-
trated using a 3D drawing on the Graphics tab, described in 14.29.
Next to each program command is a small icon, which is either red, yellow or green.
A red icon means that there is an error in that command, yellow means that the
command is not finished, and green means that all is OK. A program can only be
run when all commands are green.
14.3 Variables
A robot program can make use of variables to store and update various values
during runtime. Two kinds of variables are available:
Installation variables: These can be used by multiple programs and their names and
values are persisted together with the robot installation (see 13.10 for further
details). Installation variables keep their value after the robot and control box
has been rebooted.
Regular program variables: These are available to the running program only and their
values are lost as soon as the program is stopped.
The Move command controls the robot motion through the underlying waypoints.
Waypoints have to be under a Move command. The Move command defines the
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
acceleration and the speed at which the robot arm will move between those way-
points.
Movement Types
It is possible to select one of three types of movements: MoveJ, MoveL and MoveP
each explained below.
• moveJ will make movements that are calculated in the joint space of the robot
arm. Each joint is controlled to reach the desired end location at the same
time. This movement type results in a curved path for the tool. The shared
parameters that apply to this movement type are the maximum joint speed
and joint acceleration to use for the movement calculations, specified in deg/s
and deg/s2 , respectively. If it is desired to have the robot arm move fast be-
tween waypoints, disregarding the path of the tool between those waypoints,
this movement type is the favorable choice.
• moveL will make the tool move linearly between waypoints. This means that
each joint performs a more complicated motion to keep the tool on a straight
line path. The shared parameters that can be set for this movement type are the
desired tool speed and tool acceleration specified in mm/s and mm/s2 , respec-
tively, and also a feature. The selected feature will determine in which feature
space the tool positions of the waypoints are represented in. Of specific in-
terest concerning feature spaces are variable features and variable waypoints.
Variable features can be used when the tool position of a waypoint need to be
determined by the actual value of the variable feature when the robot program
runs.
• moveP will move the tool linearly with constant speed with circular blends,
and is intended for some process operations, like gluing or dispensing. The
size of the blend radius is by default a shared value between all the way-
points. A smaller value will make the path turn sharper whereas a higher
value will make the path smoother. While the robot arm is moving through
the waypoints with constant speed, the robot control box cannot wait for ei-
ther an I/O operation or an operator action. Doing so might stop the robot
arm’s motion, or cause a protective stop.
A Circle Move can be added to a moveP command, consisting of two way-
points: the first one specifying a via point on the circular arc, and the sec-
ond one being the endpoint of the movement. The robot will start the circle
movement from its current position, and then move through the two specified
waypoints. The orientation change of the tool through the circle move is de-
termined only by the starting orientation and the orientation at the endpoint,
so the orientation of the via point does not influence the circle move. A Circle
Move must always be preceeded by a waypoint under the same moveP.
Shared parameters
The shared parameters in the bottom right corner of the Move screen apply to the
movement from the previous position of the robot arm to the first waypoint un-
der the command, and from there to each of the following waypoints. The Move
TCP selection
The TCP used for the waypoints under this Move command can be selected from
the drop-down menu. It is possible to select from user defined TCPs from the instal-
lation, the active TCP or simply using the tool flange. If a user defined TCP or the
active TCP is selected, the motion under this Move command will adjusted be with
respect to this. If Use Tool Flange is selected, no TCP is used and the motion under
this Move command will be with respect to the tool flange (i.e. no adjustments to
the motion).
If the active TCP for this motion is determined during runtime of the program, it
needs to be set dynamically using the Set command (see 14.10) or by using script
commands. For further information about configuring named TCPs, see 13.6.
Feature selection
For MoveL and MoveP, it is possible to select which feature space the waypoints
under the Move command should be represented when specifying these waypoints
(see section 13.12). This means that when setting a waypoint, the program will
remember the tool coordinates in the feature space of the selected feature. There
are a few circumstances that need detailed explanation:
Relative waypoints: The selected feature has no effect on relative waypoints. The
relative movement is always performed w.r.t. to orientation of the Base.
Cruise
Deceleration
Speed Acceleration
Time
Figure 14.1: Speed profile for a motion. The curve is divided into three segments: acceleration, cruise and
deceleration. The level of the cruise phase is given by the speed setting of the motion, while the steepness
of the acceleration and deceleration phases is given by the acceleration parameter.
Variable waypoints: When the robot arm moves to a variable waypoint, the tool tar-
get position is calculated as the coordinates of the variable in the space of the
selected feature. Therefore, the robot arm movement for a variable waypoint
changes if another feature is selected.
Variable feature: If any of the features in the currently loaded installation are se-
lected as variable, these corresponding variables are also selectable in the fea-
ture selection menu. If a feature variable (named with the name of the fea-
ture suffixed by “ var”) is selected, robot arm movements (except to Relative
waypoints) are relative to the actual value of the variable when the program is
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
running. The initial value of a feature variable is the value of the actual feature
as configured in the installation. If this value is modified, then the movements
of the robot change.
A point on the robot path. Waypoints are the most central part of a robot program,
telling the robot arm where to be. A fixed position waypoint is given by physically
Waypoint names
Waypoints automatically get a unique name when they are defined. The name can
be changed by the user. Waypoints with the same name share position information.
Thus, changing the position of a waypoint will affect all other waypoints with the
same name. Other waypoint information such as blend radius, tool/joint speed and
tool/joint acceleration is configured for individual waypoints even though they
have the same name.
Blending
Blending enables the robot to smoothly transition between two trajectories, without
stopping at the waypoint between them.
Example Consider a pick and place application as an example (see figure 14.2),
where the robot is currently at Waypoint 1 (WP 1), and it needs to pick up an object
at Waypoint 3 (WP 3). To avoid collisions with the object and other obstacles (O),
the robot must approach WP 3 in the direction coming from Waypoint 2 (WP 2). So
three waypoints are introduced to create a path that fulfils the requirements.
WP_2
WP_1
WP_3
Without configuring other settings, the robot will make a stop at each waypoint,
before continuing the movement. For this task a stop at WP 2 is not optimal since
a smooth turn would require less time and energy while still fulfilling the require-
ments. It is even acceptable that the robot does not reach WP 2 exactly, as long as
the transition from the first trajectory to the second happens near this position.
The stop at WP 2 can be avoided by configuring a blend for the waypoint, allow-
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
ing the robot to calculate a smooth transition into the next trajectory. The primary
parameter for the blend is a radius. When the robot is within the blend radius of
the waypoint it can start blending and deviate from the original path. This allows
for faster and smoother movements, as the robot does not need to decelerate and
re-accelerate.
Blend parameters Apart from the waypoints, multiple parameters will influence
the blend trajectory (see figure 14.3):
If a blend radius is set, the robot arm trajectory blends around the waypoint, allow-
ing the robot arm not to stop at the point.
Blends cannot overlap, so it is not possible to set a blend radius that overlaps with
the blend radius of a previous or following waypoint as shown in figure 14.4.
Conditional blend trajectories The blend trajectory is affected both by the way-
point where the blend radius is set and the following one in the program tree.
WP_1
WP_2
p1
p2
WP_3
Figure 14.3: Blend over WP 2 with radius r, initial blend position at p1 and final blend position at p2. O
is an obstacle.
WP_1
WP_2
WP_4
That is, in the program in figure 14.5 the blend around WP 1 is affected by WP 2.
The consequence of this becomes more apparent when blending around WP 2 in
this example. There are two possible ending positions and to determine which
is the next waypoint to blend to, the robot must evaluate the current reading of
the digital input[1] already when entering the blend radius. That means the
if...then expression (or other necessary statements to determine the following
waypoint, e.g. variable waypoints) is evaluated before we actually reach WP 2
which is somewhat counter-intuitive when looking at the program sequence. If
a waypoint is a stop point and followed by conditional expressions to determine
the next waypoint (e.g. the I/O command) it is executed when the robot arm has
stopped at the waypoint.
WP_I
MoveL
WP_1
WP_I
WP_1 (blend)
WP_2 (blend)
if (digital_input[1]) then
WP_F_1 WP_2
else
*
WP_F_2
WP_F_1
WP_F_2
Figure 14.5: WP I is the initial waypoint and there are two potential final waypoints WP F 1 and WP F 2,
depending on a conditional expression. The conditional if expression is evaluated when the robot arm
enters the second blend (*).
2. MoveJ to MoveL
3. MoveL to MoveL (Pure Cartesian space blend)
4. MoveL to MoveJ
Pure joint space blending (bullet 1) vs. pure Cartesian space blending (bullet 3) is
compared in figure 14.6. It shows two potential paths of the tool for identical sets
of waypoints.
WP_2 WP_2
WP_1 WP_1
WP_3 WP_3
Figure 14.6: Joint space (MoveJ) vs. cartesian space (MoveL) movement and blend.
Of the different combinations, bullets 2, 3 and 4 will result in trajectories that keep
within the boundaries of the original trajectory in Cartesian space. An example of
a blend between different trajectory types (bullet 2) can be seen in figure 14.7.
WP_2
WP_1
WP_3
Figure 14.7: Blending from a movement in joint space (MoveJ) to linear tool movement (MoveL).
Pure joint space blends (bullet 1), however, may behave in a way that is less intu-
itive, since the robot will try to achieve the smoothest possible trajectory in Joint
space taking velocities and time requirements into account. Due to this, they may
deviate from the course specified by the waypoints. This is especially the case if
there are significant differences in a joint’s velocity between the two trajectories.
Caution: if the velocities are very different (e.g. by specifying advanced settings -
v1 << v2 v1 >> v2
v1 v1
WP_2
WP_1 WP_2
WP_1
v2
v2
WP_3 WP_3
Figure 14.8: Joint space blending when initial velocity v1 is significantly smaller than final velocity v2
or the opposite.
A waypoint with the position given relative to the robot arm’s previous position,
such as “two centimeters to the left”. The relative position is defined as the dif-
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
ference between the two given positions (left to right). Note that repeated relative
positions can move the robot arm out of its workspace.
The distance here is the Cartesian distance between the tcp in the two positions. The
angle states how much the tcp orientation changes between the two positions. More
precisely, the length of the rotation vector describing the change in orientation.
A waypoint with the position given by a variable, in this case calculated pos.
The variable has to be a pose such as
var_1=p[0,0,0.02,0,0,0]
Movel
Waypoint_1 (variable position):
Use variable=var_1, Feature=Tool
Waits for a given amount of time, I/O signal or expression. Will do nothing if No
Wait is selected.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
The command can also be used to set the payload of the robot arm. Adjusting the
payload weight can be necessary to prevent the robot from triggering a protective
stop, when the weight at the tool differs from the expected payload. As default the
active TCP is also used as the center of gravity. If the active TCP should not be used
as the center of gravity the checkbox can be unchecked.
The active TCP can also be modified using a Set command. Simply tick the check
box and select one of the TCP offsets from the menu. If the active TCP for a par-
ticular motion is known at the time of writing of the program, consider using the
TCP selection on the Move card instead (see 14.5). For further information about
configuring named TCPs, see 13.6.
Gives the programmer an option to add a line of text to the program. This line of
text does not do anything during program execution.
A folder is used to organize and label specific parts of a program, to clean up the
program tree, and to make the program easier to read and navigate.
Loops the underlying program commands. Depending on the selection, the under-
lying program commands are either looped infinitely, a certain number of times or
as long as the given condition is true. When looping a certain number of times, a
dedicated loop variable (called loop 1 in the screen shot above) is created, which
can be used in expressions within the loop. The loop variable counts from 0 to
N − 1.
When looping using an expression as end condition, PolyScope provides an option
for continuously evaluating that expression, so that the “loop” can be interrupted
anytime during its execution, rather than just after each iteration.
A Sub Program can hold program parts that are needed several places. A Sub
Program can be a separate file on the disk, and can also be hidden to protect against
accidental changes to the SubProgram.
A call to a sub program will run the program lines in the sub program, and then
return to the following line.
Assigns values to variables. An assignment puts the computed value of the right
hand side into the variable on the left hand side. This can be useful in complex
programs.
14.18 Command: If
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
An “if...else” construction can make the robot change its behavior based on sensor
inputs or variable values. Use the expression editor to describe the condition under
which the robot should proceed to the sub-commands of this If. If the condition is
evaluated to True, the lines inside this If are executed.
Each If can have several ElseIf and one Else command. These can be added
using the buttons on the screen. An ElseIf command can be removed from the
screen for that command.
The open Check Expression Continuously allow the conditions of the If
and ElseIf statements to be evaluated while the contained lines are executed. If
a expression evaluates to False while inside the body of the If-part, the following
ElseIf or Else statement will be reached.
This command gives access to the underlying real time script language that is ex-
ecuted by the robot controller. It is intended for advanced users only and instruc-
An event can be used to monitor an input signal, and perform some action or set a
variable when that input signal goes high. For example, in the event that an output
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
signal goes high, the event program can wait for 200ms and then set it back to
low again. This can make the main program code a lot simpler in the case on an
external machine triggering on a rising flank rather than a high input level. Events
are checked once every control cycle (8ms).
A thread is a parallel process to the robot program. A thread can be used to control
an external machine independently of the robot arm. A thread can communicate
A “Switch Case” construction can make the robot change behavior based on sensor
inputs or variable values. Use the expression editor to describe the base condition
and define the cases under which the robot should proceed to the sub-commands of
this Switch. If the condition is evaluated to match one of the cases, the lines inside
the Case are executed. If a Default Case has been specified, then the lines will
be executed only if no other matching cases were found.
Each Switch can have several Case’s and one Default Case. Switches can
only have one instance of any Case values defined. Cases can be added using the
buttons on the screen. A Case command can be removed from the screen for that
switch.
The Pattern command can be used to cycle through positions in the robot program.
The pattern command corresponds to one position at each execution.
A pattern can be given as one of four types. The first three, “Line”, “Square” or
“Box” can be used for positions in a regular pattern. The regular patterns are de-
fined by a number of characteristic points, where the points define the edges of the
pattern. For “Line” this is the two end points, for “Square” this is three of the four
corner points, where as for “Box” this is four of the eight corner points. The pro-
grammer enters the number of positions along each of the edges of the pattern. The
robot controller then calculates the individual pattern positions by proportionally
adding the edge vectors together.
If the positions to be traversed do not fall in a regular pattern, the “List” option can
be chosen, where a list of all the positions is provided by the programmer. This
way any kind of arrangement of the positions can be realized.
Force mode is suited for applications where the actual tcp position along a prede-
fined axis is not important, but instead a desired force along that axis is required.
For example if the robot TCP should roll against a curved surface, or when pushing
or pulling a workpiece. Force mode also supports applying certain torques around
predefined axes. Note that if no obstacles are met in an axis where a non-zero force
is set, the robot arm will try to accelerate along/about that axis.
Although an axis has been selected to be compliant, the robot program will still try
to move the robot along/around that axis. However, the force control assures that
the robot arm will still approach the specified force.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
Feature selection
The Feature menu is used to select the coordinate system (axes) the robot will use
while it is operating in force mode. The features in the menu are those which have
been defined in the installation, see 13.12.
• Simple: Only one axis will be compliant in force mode. The force along this
axis is adjustable. The desired force will always be applied along the z-axis of
the selected feature. However, for Line features, it is along their y-axis.
• Frame: The Frame type allows for more advanced usage. Here, compliance
and forces in all six degrees of freedom can be independently selected.
• Point: When Point is selected, the task frame has the y-axis pointing from the
robot TCP towards the origin of the selected feature. The distance between
the robot TCP and the origin of the selected feature is required to be at least
10 mm. Note that the task frame will change at runtime as the position of the
robot TCP changes. The x- and z-axis of the task frame are dependent on the
original orientation of the selected feature.
• Motion: Motion means that the task frame will change with the direction of
the TCP motion. The x-axis of the task frame will be the projection of the TCP
movement direction onto the plane spanned by the x- and y-axis of the se-
lected feature. The y-axis will be perpendicular to the robot arm’s motion, and
in the x-y plane of the selected feature. This can be useful when deburring
along a complex path, where a force is needed perpendicular to the TCP mo-
tion. Note, when the robot arm is not moving: If force mode is entered with
the robot arm standing still, there will be no compliant axes until the TCP
speed is above zero. If later, while still in force mode, the robot arm is again
standing still, the task frame has the same orientation as the last time the TCP
speed was larger than zero.
For the last three types, the actual task frame can be viewed at runtime on the
graphics tab (14.29), when the robot is operating in force mode.
• Compliant: The robot arm will adjust its position to achieve the selected force.
For translational parameters, the force is specified in Newtons [N] and for rota-
tional the torque is specified in Newton meters [Nm].
Limits selection
For all axes a limit can be set, but these have different meaning corresponding to
the axes being complian or non-compliant.
• Compliant: The limit is the maximum speed the TCP is allowed to attain
along/about the axis. Units are [mm/s] and [deg/s].
• Non-compliant: The limit is the maximum deviation from the program trajec-
tory which is allowed before the robot protective stops. Units are [mm] and
[deg].
When the Test button is on and the Freedrive button on the back of the Teach Pen-
dant is pressed, the robot will perform as if the program had reached this force
command, and this way the settings can be verified before actually running the
complete program. Especially, this possibility is useful for verifying that compliant
axes and forces have been selected correctly. Simply hold the robot TCP using one
hand and press the Freedrive button with the other, and notice in which directions
the robot arm can/cannot be moved. Upon leaving this screen, the Test button au-
tomatically switches off, which means the Freedrive button on the back of the Teach
Pendant is again used for regular Freedrive mode. Note: The Freedrive button will
only be effectual when a valid feature has been selected for the Force command.
“BeforeStart”
The optional BeforeStart sequence is run just before the operation starts. This
can be used to wait for ready signals.
“AfterEnd”
The optional AfterEnd sequence is run when the operation is finished. This can
be used to signal conveyor motion to start, preparing for the next pallet.
Stacking Destacking
When programming a seek operation for working on a stack, one must define s the
starting point, d the stack direction and i the thickness of the items in the stack.
On top of this, one must define the condition for when the next stack position is
reached, and a special program sequence that will be performed at each of the
stack positions. Also speed and accelerations need to be given for the movement
involved in the stack operation.
Stacking
When stacking, the robot arm moves to the starting position, and then moves op-
posite the direction to search for the next stack position. When found, the robot
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
remembers the position and performs the special sequence. The next time round,
the robot starts the search from the remembered position incremented by the item
thickness along the direction. The stacking is finished when the stack hight is more
than some defined number, or when a sensor gives a signal.
Destacking
When destacking, the robot arm moves from the starting position in the given di-
rection to search for the next item. The condition on the screen determines when
Starting position
The starting position is where the stack operation starts. If the starting position is
omitted, the stack starts at the robot arm’s current position.
Direction
The direction is given by two positions, and is calculated as the position difference
from the first positions TCP to the second positions TCP. Note: A direction does not
consider the orientations of the points.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
“BeforeStart”
The optional BeforeStart sequence is run just before the operation starts. This
can be used to wait for ready signals.
“AfterEnd”
The optional AfterEnd sequence is run when the operation is finished. This can
be used to signal conveyor motion to start, preparing for the next stack.
Pick/Place Sequence
Like for the Pallet operation (14.25), a special program sequence is performed at
each stack position.
Graphical representation of the current robot program. The path of the TCP is
shown in the 3D view, with motion segments in black, and blend segments (transi-
tions between motion segments) shown in green. The green dots specify the posi-
tions of the TCP at each of the waypoints in the program. The 3D drawing of the
robot arm shows the current position of the robot arm, and the “shadow” of the
robot arm shows how the robot arm intends to reach the waypoint selected in the
left hand side of the screen.
If the current position of the robot TCP comes close to a safety or trigger plane, or
the orientation of robot tool is near the tool orientation boundary limit (see 10.12),
a 3D representation of the proximate boundary limit is shown. Note that when the
robot is running a program, the visualization of boundary limits will be disabled.
Safety planes are visualized in yellow and black with a small arrow representing
the plane normal, which indicates the side of the plane on which the robot TCP
is allowed to be positioned. Trigger planes are displayed in blue and green and a
small arrow pointing to the side of the plane, where the Normal mode limits (see
10.6) are active. The tool orientation boundary limit is visualized with a spherical
cone together with a vector indicating the current orientation of the robot tool. The
inside of the cone represents the allowed area for the tool orientation (vector).
When the target robot TCP no longer is in the proximity of the limit, the 3D repre-
sentation disappears. If the TCP is in violation or very close to violating a boundary
limit, the visualization of the limit turns red.
The 3D view can be zoomed and rotated to get a better view of the robot arm.
The buttons in the top-right side of the screen can disable the various graphical
components in the 3D view. The bottom button switches on/off the visualization
of proximate boundary limits.
The motion segments shown depend on the selected program node. If a Move node
is selected, the displayed path is the motion defined by that move. If a Waypoint
node is selected, the display shows the following ∼ 10 steps of movement.
The program structure tab gives an opportunity for inserting, moving, copying and
removing the various types of commands.
To insert new commands, perform the following steps:
3) Press the button for the command type you wish to insert. For adjusting the
details for the new command, go to the Command tab.
The Variables tab shows the live values of variables in the running program, and Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
keeps a list of variables and values between program runs. It only appears when it
has information to display. The variables are ordered alphabetically by their names.
The variable names on this screen are shown with at most 50 characters, and the
values of the variables are shown with at most 500 characters.
This screen allows setting variable values before the program (and any threads)
start executing.
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
Select a variable from the list of variables by clicking on it, or by using the variable
selector box. For a selected variable, an expression can be entered that will be used
to set the variable value at program start.
If the “Prefers to keep value from last run” checkbox is selected, the variable will
be initialized to the value found on the Variables tab, described in 14.31. This
permits variables to maintain their values between program executions. The vari-
able will get its value from the expression if the program is run for the first time, or
if the value tab has been cleared.
A variable can be deleted from the program by setting its name to blank (only
spaces).
Language and units used in PolyScope can be selected on this screen. The selected
language will be used for the text visible on the various screens of PolyScope as
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
well as in the embedded help. Tick off “English programming” to have the names
of commands within robot programs written in English. PolyScope needs to be
restarted for changes to take effect.
Software updates can be installed from USB flash memory. Insert an USB memory
stick and click Search to list its contents. To perform an update, select a file, click
WARNING:
Always check your programs after a software upgrade. The up-
grade might change trajectories in your program. The updated
software specifications can be found by pushing the “?” button lo-
cated at the top right corner of the GUI. Hardware specifications
remain the same and can be found in the original manual.
Two passwords are supported. The first is an optional System password which pre-
vents unauthorized modification of the setup of the robot. When the System pass-
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.
word is set, programs can be loaded and executed without the password, but the
user must enter the correct password in order to create or change programs.
The second is a required Safety password which must be entered correctly in order
to modify the safety configuration.
NOTE:
In order to change the safety configuration, the Safety password
must be set.
WARNING:
Add a System password to prevent non-authorized personnel
from changing the robot installation.
Calibrating the touch screen. Follow the on-screen instructions to calibrate the
touch screen. Preferably use a pointed non-metallic object, such as a closed pen.
Panel for setting up the Ethernet network. An Ethernet connection is not necessary
for the basic robot functions, and is disabled by default.
Set the time and date for the system and configure the display formats for the clock.
The clock is displayed at the top of the Run Program and Program Robot screens.
Tapping on it will show the date briefly. The GUI needs to be restarted for changes
to take effect.
In the top list an overview of all installed URCaps is presented. Clicking on a UR-
Cap displays its meta information (including the name of the URCap, the version,
CB3
II-110
Version 3.4.1
15.7 URCaps Setup
Glossary
CB3
Copyright © 2009–2017 by Universal Robots A/S. All rights reserved.