User Manual: Original Instructions (En) US Version
User Manual: Original Instructions (En) US Version
User Manual: Original Instructions (En) US Version
UR10/CB3
Original instructions (en)
US version
User Manual
UR10/CB3
Version 3.3.0
US Version
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-8
1.7 Risk Assessment. . . . . . . . . . . . . . . . . . . . . . . . . . . . I-8
3 Transportation I-21
8 Certifications I-53
8.1 Third Party Certifications . . . . . . . . . . . . . . . . . . . . . . . . I-53
8.2 Declarations According to EU directives . . . . . . . . . . . . . . . . . . . I-53
9 Warranties I-55
9.1 Product Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . I-55
9.2 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-55
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-70
14.5 Command: Move . . . . . . . . . . . . . . . . . . . . . . . . . . . II-71
14.6 Command: Fixed Waypoint . . . . . . . . . . . . . . . . . . . . . . . II-74
14.7 Command: Relative Waypoint. . . . . . . . . . . . . . . . . . . . . . . II-80
14.8 Command: Variable Waypoint . . . . . . . . . . . . . . . . . . . . . . II-81
14.9 Command: Wait . . . . . . . . . . . . . . . . . . . . . . . . . . . . II-82
Glossary II-119
Index II-121
UR10/CB3
viii
Version 3.3.0
Preface
• Cable for connecting the robot arm and the control box;
• Mains cable compatible with your region;
• Tool cable;
• Stylus pen with laser;
• UR production test certificate;
• This manual.
Hardware Installation Manual: The mechanical and electrical installation of the robot.
PolyScope Manual: Programming of the robot.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 famil-
iar 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 under-
stood 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 contain
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 col-
laborative 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
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
WARNING:
This indicates a potentially hazardous electrical situation which, if
not avoided, could result in injury or major damage to the equip-
ment.
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 dam-
age to the equipment.
DANGER:
Make sure to install the robot and all electrical equipment according
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 configura-
tion parameters have been set up to protect both programmers,
operators and bystanders, as defined in the risk assessment.
4. Do not wear loose clothing or jewellery when working with the
robot. Make sure long hair is tied back when working with the
robot.
5. Never use the robot if it is damaged.
6. If the software prompts a fatal error, immediately activate emer-
gency stop, write down the conditions that led to the error, find
the corresponding error codes on the log screen, and contact
your supplier.
7. Do not connect any safety equipment to normal I/O. Use safety-
related interfaces only.
8. Make sure to use the correct installation settings (e.g. Robot
mounting angle, weight in TCP, TCP offset, safety configura-
tion). Save and load the installations file along with the pro-
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
gram.
9. The freedrive function (Impedance/back-drive) 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 people keep their heads and faces outside the reach
of the robot.
10. Be aware of robot movement when using the teach pendant.
11. Do not enter the safety range of the robot or touch the robot
when the system is in operation.
11. Collisions can release high levels of kinetic energy, which are
significantly higher at high speeds and with high payloads. (Ki-
netic 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 emergency
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 hazards
that are unforeseen by the integrator. All authorized reassem-
bling shall be done according to the newest version of all rele-
vant service manuals. UNIVERSAL ROBOTS DISCLAIMS ANY
LIABILITY IF THE PRODUCT IS CHANGED OR MODIFIED
IN ANY WAY.
14. If the robot is purchased with an extra module (e.g. euromap67
interface) then look up that module in the respective manual.
CAUTION:
1. When the robot is combined with or working with machines ca-
pable of damaging the robot, then it is highly recommended to
test all functions and the robot program separately. It is recom-
mended to test the robot program using temporary waypoints
outside the workspace of other machines. Universal Robots can-
not be held responsible for any damages caused to the robot or
to other equipment due to programming errors or malfunction-
ing of the robot.
2. Do not expose the robot to permanent magnetic fields. Very
strong magnetic fields can damage the robot.
pleted machinery, as the safety of the robot installation depends on how the robot is
integrated (E.g. tool, obstacles and other machines).
It is recommended that the integrator uses guidelines in ISO 12100 and ISO 10218-
2 to conduct the risk assessment. Additionally the integrator can choose to use the
Technical Specification ISO/TS 15066 as additional guidance.
The risk assessment that the integrator conducts shall consider all work procedures
throughout the lifetime of the robot application, including but not limited to:
• 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 emergency stop
buttons and/or other protective measures required for the specific robot application.
Identifying the correct safety configuration settings is a particularly important part
of developing collaborative robot applications. See chapter 2 and Part II for detailed
information.
Some safety-related features are purposely designed for collaborative robot applica-
tions. These features are configurable though the safety configuration settings and are
• Force and power limiting: Used to reduce clamping forces and pressures
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 as-
sociated 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.
Information on stopping times and stopping distances are found in chapter 2 and ap-
pendix 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 dur-
ing 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 electromagnet
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.
UR10/CB3
I-12
Version 3.3.0
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 protec-
tive 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 defined
by the risk assessment conducted by the integrator can result in haz-
ards that are not reasonably eliminated or risks that are not suffi-
ciently 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.
The robot has a number of safety-related functions that can be used to limit the move-
ment 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:
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 Time
Function 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 electrical
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 impor-
tant 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 ef-
fect 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 moving tangential (around) the
WARNING:
If the robot is used in manual hand-guiding applications with linear
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 acceptable. This
will prevent fast movements of the robot elbow near singularities.
1100 mm
300 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 1100 mm from the base of the robot. The other area is within 300 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
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
Reduced mode is triggered by a safety input, both limit sets are accepted for 500 ms.
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 programs
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 mov-
ing 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 Figure 2.2.
2. If a joint is moving, its speed is monitored to never be higher than the speed ob-
tained 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 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.
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.
1. The safety system accepts both Normal and Reduced mode limit sets for 500 ms
after the reduced mode input is triggered.
2. After 500 ms, only the Reduced mode limits are in effect.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
If any of the above properties are not satisfied, the safety system issues a Stop Category
0.
A Stop Category 0 is performed by the safety system with the performance described
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:
UR10/CB3
I-20
Version 3.3.0
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 packaging
to the installation place. Hold the robot in place until all mounting bolts are securely
tightened at the base of the robot.
The controller box shall be lifted by the handle.
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.
UR10/CB3
I-22
Version 3.3.0
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.
0,05
2x 5 ±1
,0 15
10
- 0 0,0
10 ±0,5
8 +
170 ±0,5
2x
120 ±0,5
4x 4
5° ±
0,5
°
8
M
/
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
5
8,
4x
Figure 4.1: Holes for mounting the robot. Use four M8 bolts. All measurements are in mm.
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 holes 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 create
a hazardous situation by dropping a part unexpectedly.
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:
14,5
6,5
6,5
6,2
30,5
40,2
90
A-A
6
4x M6
Lumberg RKMW 8-354
A
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
+0,012
06 H7
+0,025
+0,046
0
50
31,5 H7
90
A 63 H8
45°
4x 90°
Figure 4.2: The tool output flange, ISO 9409-1-50-4-M6. This is where the tool is mounted at the tip of the
robot. All measures are in mm.
Payload [kg]
10
Figure 4.3: Relationship between the maximum allowed payload and the center of gravity offset.
UR10/CB3
I-28
Version 3.3.0
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 prop-
erties:
• 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
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 in-
terface signals separated from the normal I/O interface signals.
2. All safety-related signals 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. 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 re-
mains 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 men-
tioned GND connections are only for powering and signalling.
For PE (Protective Earth) use the M6 sized screw connections
marked with earth symbols inside the control box. The ground-
ing conductor shall have at least the current rating 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 interface ca-
bles and connectors. Remove the plate before drilling the holes.
Make sure that all shavings are removed before reinstalling the
Copyright © 2009–2016 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 sig-
nals 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 usually in
welding processes and are normally prompted by error mes-
sages in the log. Universal Robots cannot be held responsible
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 extended
tests are performed.
NOTE:
All voltages and currents are in DC (Direct Current) unless otherwise
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
The “configurable” I/O can be configured as either safety-related I/O or general pur-
pose I/O in the GUI. See more in part II.
How to use the digital I/O is described in the following subsections. The section
describing the common specifications must be observed.
• Safety I/O.
• Configurable I/O.
• General purpose I/O.
It is very important that UR robots are installed according the electrical specifications,
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
If more current is needed, an external power supply can be connected as shown below.
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 specifi-
cations are shown below.
NOTE:
The word “configurable” is used for I/O that can be configured as ei-
ther safety-related I/O or normal I/O. These are the yellow terminals
with black text.
It is possible to use the configurable I/O to set up additional safety I/O functionality,
e.g. emergency stop output. Configuring a set of configurable I/O for safety functions
are done through the GUI, see part II.
Some examples of how to use safety I/O are shown in the following subsections.
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 in-
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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
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
24V
SI1
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
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 perime-
ter.
Safety Configurable7Inputs
Digital Outputs
0V 0V LOAD
DO0 DO4
0V 0V
DO1 DO5
0V 0V
DO2 DO6
0V 0V
DO3 DO7
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” terminal
at the terminal called “Power”.
• Use of equipment that works in current mode. Current signals are less sensitive
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
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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.
The electrical specifications are shown below.
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
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 program-
mer can cause the voltage to change to 24V, which might dam-
age 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 over-
riding the specified data can cause permanent damage.
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 current
mode. Overrating the limit in the electrical specification can
cause permanent damage to the input.
The example below shows how to connect an analog sensor with a non-differential
output. The output of the sensor can be either current or voltage, as long as the input
mode of that analog input is set to the same on the I/O tab. Remember to check
that a sensor with voltage output can drive the internal resistance of the tool, or the
measurement might be invalid.
POWER
AI8
GND
POWER
AI8
GND
5.5 Ethernet
An Ethernet connection is provided at the bottom of the control box, see illustration
below.
• 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.
The electrical specifications are shown in the table below.
DANGER:
1. Make sure that the robot is grounded correctly (Electrical con-
nection to earth). Use the unused bolts associated with ground-
ing symbols inside the controller box to create common ground-
ing of all equipment in the system. The grounding conductor
shall have at least the current rating of the highest current in the
system.
2. Make sure that the input power to the controller box is protected
with a RCD (Residual Current Device) and a correct fuse.
3. Lockout and tagout all power for the complete robot installation
during service. Other equipment shall not supply voltage to the
robot I/O when the system is locked out.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
4. Make sure that all cables are connected correctly before the con-
troller 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.
UR10/CB3
I-48
Version 3.3.0
5.7 Robot connection
6 Maintenance and Repair
It is essential for both maintenance and repair work that it be performed in compliance
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 man-
ual.
DANGER:
1. Do not change anything in the safety configuration of the soft-
ware (e.g. the force limit). The safety configuration is described
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 assess-
ment, 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 control
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 control
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–2016 by Universal Robots A/S. All rights reserved.
UR robots must be disposed of in accordance with the applicable national laws, regu-
lations and standards.
UR robots are produced with restricted use of hazardous substances to protect the en-
vironment; as defined by the European RoHS directive 2011/65/EU. These substances
include mercury, cadmium, lead, chromium VI, polybrominated biphenyls and poly-
brominated diphenyl ethers.
Fee for disposal and handling of electronic waste of UR robots sold on the Danish
market is prepaid to DPA-system by Universal Robots A/S. Importers in countries
covered by the European WEEE Directive 2012/19/EU must make their own regis-
tration to the national WEEE register of their country. The fee is typically less than
1€/robot. A list of national registers can be found here: https://www.ewrn.org/
national-registers.
The following symbols are affixed on the robot to indicate conformity with the above
legislations:
UR10/CB3
I-52
Version 3.3.0
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
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 Cate-
gory 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
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.
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 prod-
uct is CE marked:
A complete list of applied harmonized standards, including associated specifications, is provided in the
product manual. This list is valid for the product manual with the same serial numbers as this document
and the product.
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. 1351
From 29 June 2007 DELTA has been designated as Notified Body by the notified authority National
Telecom Agency in Denmark to carry out tasks referred to in Annex III of the European Council EMC
Directive 2004/108/EC. The attestation of conformity is in accordance with Article 5 and refers to the
essential requirements set out in Annex I.
.
DELTA client
Universal Robots A/S
Energivej 25
5260 Odense S
Denmark
Product identification
UR robot generation 3, G3, including CB3/AE for models UR3, UR5 and UR10
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
Manufacturer
Universal Robots A/S
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 1351dpa
Standards/Normative documents
EMC Directive 2004/108/EC, Article 5
EN/(IEC) 61326-3-1:2008, Industrial locations, SIL 2 applications DELTA
EN/(IEC) 61000-6-2:2005 Venlighedsvej 4
EN/(IEC) 61000-6-4:2007+A1 2970 Hørsholm
Denmark
The product identified above has been assessed and complies with the specified standards/normative Tel. +45 72 19 40 00
documents. 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 Fax +45 72 19 40 01
any statements pertaining to the EMC protection requirements pursuant to other laws and/or directives other www.delta.dk
than the above mentioned if any. VAT No. 12275110
Jakob Steensen
Principal Consultant
20aocass-uk-j
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 1
is a controlled stop with power to the motors to achieve the stop and then removal of power when the stop
is achieved.
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
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 safe-
guarded 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:
• “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 according
to this manual to Category 3 safety-rated equipment to form a PLd structure of the complete safety
function.
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
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 standards
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 integrator can therefore
state compliance with the TS without using the limit values in Annex A.
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.
This Canadian standard is the ISO standards ISO 10218-1 (see above) and -2 combined into one document.
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.
IEC 61000-6-2:2005
IEC 61000-6-4/A1:2010
EN 61000-6-2:2005 [2004/108/EC]
EN 61000-6-4/A1:2011 [2004/108/EC]
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
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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.
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
The direct opening action and the safety lock mechanism of the emergency stop button comply with re-
quirements in this standard.
IEC 60529:2013
EN 60529/A2:2013
IEC 60320-1/A1:2007
IEC 60320-1:2015
EN 60320-1/A1:2007 [2006/95/EC]
EN 60320-1:2015
Part 1: Plates
The tool flange on UR robots conforms to type 50-4-M6 of this standard. Robot tools should also be con-
structed according to this standard to ensure proper fitting.
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.
IEC 60068-2-1:2007
IEC 60068-2-2:2007
IEC 60068-2-27:2008
IEC 60068-2-64:2008
EN 60068-2-1:2007
EN 60068-2-2:2007
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
EN 60068-2-27:2009
EN 60068-2-64:2008
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 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
UR10/CB3
I-70
Version 3.3.0
D Technical Specifications
UR10/CB3
I-72
Version 3.3.0
Part II
PolyScope Manual
10 Safety Configuration
10.1 Introduction
The robot is equipped with an advanced safety system. Depending on the particu-
lar 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 integrator must
do. For details on the safety system, see the Hardware Installation Manual.
DANGER:
1. Use and configuration of safety-related functions and interfaces
must be done according to the risk assessment that the integra-
tor 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 inte-
grator 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 tap-
ping 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
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
outputs. They are defined in the following subtabs of the safety screen:
• The General Limits subtab defines the maximum force, power, speed and mo-
mentum 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 ori-
entation 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 Re-
duced 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 conducted
by the integrator.
2. Adjust safety settings to the appropriate level defined by the risk assessment con-
ducted 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 verified 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 not
the current settings have been applied.
If any of the text fields in the Safety tab contain any invalid input, the safety config-
uration is in an error state. This is indicated in several ways:
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.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
WARNING:
A risk assessment is always required using the limit values without
tolerances.
WARNING:
Tolerances are specific to the version of the software. Updating the
software may change the tolerances. Consult the release notes for
changes between versions.
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 separate
sets of safety limits for Normal and Reduced mode. For the tool and joints, Reduced mode
NOTE:
Note that the robot arm is powered off when the safety Configuration
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 have
been applied or reverted, and a manual power on is performed from the initialization
screen.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
Any changes to the safety configuration must be applied or reverted, before navigat-
ing 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 inspec-
tion 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 envi-
ronment, considering that the payload is part of the robot and not of the environ-
ment.
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 in-
stallation; 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 over-
all 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, fea-
tures a slider with four predefined sets of values for force, power, speed, and momen-
tum limits in both Normal and Reduced mode.
The specific sets of values are shown in the GUI. Predefined sets of values are sugges-
tions only and shall not substitute a proper risk assessment.
Advanced Settings
Copyright © 2009–2016 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 details). Fur-
thermore, 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 corresponds
to it. When a program is running, the speed of the robot arm is automatically 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 details). Fur-
thermore, the limits for 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 corresponds
to it. When a program is running, the speed of the robot arm is automatically adjusted
in order to not exceed any of the entered values minus the tolerance (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 details).
The tolerances and unit for each limit are listed at the end of the row that corresponds
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 position 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 entered 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
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 enforcing
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 speci-
fied, 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 ap-
propriate names before editing the safety configuration. Note that
since the robot arm is powered off once the Safety tab has been un-
locked, the Tool feature (containing the current position and orien-
tation 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 gen-
erated when the TCP is within approximately 5 cm of a safety plane, or the deviation of
the orientation of the tool is approximately 3 ◦ from the specified maximum deviation.
When a plane is defined as a Trigger Reduced mode plane and the TCP goes beyond this
boundary, the safety system transitions into Reduced mode which applies the Reduced
mode safety settings. Trigger planes follow the same rules as regular safety planes
except they allow the robot arm to pass through them.
The Safety Boundaries panel on the left side of the tab is used to select a boundary
limit to configure.
To set up a safety plane, click on one of the top eight entries listed in the panel. If the se-
lected safety plane has already been configured, the corresponding 3D representation
of the plane is highlighted in the 3D View (see 10.12.2) to the right of this panel. The
safety plane can be set up in the Safety Plane Properties section (see 10.12.3) at
the bottom of the tab.
Click the Tool Boundary entry to configure the orientation boundary limit for the
robot tool. The configuration of the limit can be specified in the Tool Boundary
Properties section (see 10.12.4) at the bottom of the tab.
Click the / button to toggle the 3D visualization of the boundary limit on/off.
If a boundary limit is active, the safety mode (see 10.12.3 and 10.12.4) is indicated by one
of the following icons / / / .
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 represent-
ing 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.
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 fea-
ture (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 selected, 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 indicates 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 fea-
ture, 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 auto-
matically 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.
Safety mode The drop down menu on the right hand side of the Safety Plane
Properties panel is used to choose the safety mode for the safety plane, with the
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 trans-
lated 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 en-
tering 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 Nor-
mal or Reduced mode and the movements of the robot arm are limited by the respective
limit set.
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 Reduced
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 permissive
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 Normal 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 Normal to
Reduced mode.
The Tool Boundary Properties panel at the bottom of the tab defines a limit on
the orientation of robot tool composed of a desired tool orientation and a value for the
maximum allowed deviation from this orientation.
Deviation The Deviation text field shows the value for the maximum allowed de-
viation 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. Choos-
ing the <Undefined> item clears the configuration of the plane.
It should be noted that when the limit has been configured by selecting a feature, the
orientation information is only copied to the limit; the limit is not linked to that feature.
This means that if there are changes to the position and orientation of a feature, which
has been used to configure the limit, the limit 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 limit with the current orientation
of the feature. The icon is also displayed if the selected feature has been deleted
from the installation.
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 boundary.
The available options are:
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.
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 each
function is providing a Category2 3 and PLd I/O.
Each Safety function can only control one pair of I/Os. Trying to select the same safety
function a second time removes it from the first pair of I/Os previously defined. There
are 5 Safety functions for input signals, and 4 for output signals.
Emergency Stop When selected, this allows the option of having an alternative
Emergency Stop button in inclusion of the one that is on the Teach Pendant. This
will provide the same functionality that the Emergency Stop button provides on the
Teach Pendant when a device complying with ISO 13850:2006 is attached.
Reduced Mode All safety limits have two modes in which they can be applied: Nor-
mal mode, which specifies the default safety configuration, and Reduced mode (see 10.6
2 According to ISO 13849-1, see Glossary for more details.
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 necessary, 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 Category 0. The transition
back to Normal mode happens in the same manner. Note 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 triggered. The
robot arm will not move when in Safeguard Stopped state.
WARNING:
By default, the Safeguard Reset input function is configured for
input pins 0 and 1. Disabling it altogether implies that the robot arm
ceases to be Safeguard Stopped as soon as the Safeguard Stop in-
put becomes high. In other words, without a Safeguard Reset
input, the Safeguard Stop inputs SI0 and SI1 (see the Hardware
Installation Manual) fully determine whether the Safeguard Stopped
state is active or not.
3-Position Switch and Operational Mode These allow for the option of us-
Running mode: Robot can perform only pre-defined tasks. The Move tab and
Freedrive mode are unavailable.
Programming mode: The restrictions present in Running mode are lifted. How-
ever, whenever the 3-Position Switch input is low, the robot is Safeguard
Stopped. Also, the speed slider is set at an initial value that corresponds to
250 mm/s and can be incrementally increased to reach higher speed. The speed
slider is reset to the low value whenever the 3-Position Switch input goes
from low to high.
1. To select the operational mode using an external mode selection device, config-
ure 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 Running 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 operational
mode changes from Programming to Running.
System Emergency Stop Low signal is given when the safety system has been
triggered into an Emergency Stopped state. It is in a high signal state otherwise.
Robot Moving A low signal is given whenever the robot arm is in a mobile state.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 cur-
rently low. Otherwise the signal is high.
Not Reduced Mode This is the inverse of the Reduced Mode defined above.
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 in-
formation, which must be read and understood by the integra-
tor of UR robots before the robot is powered on for the first time.
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 sur-
face, the robot can fall over and cause an injury.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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.
(see 11.5) by touching the ON button on that screen, and then pressing Start. When a
robot is started, it makes a sound and moves a little while releasing the brakes.
The power to the robot arm can be turned off by touching the OFF button on the ini-
tialization screen. The robot arm is also powered off automatically when the control
box shuts down.
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 dialog
and press the Confirm Safety Configuration button. This applies an ini-
tial 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
robot arm to a certain position, use either the Move tab (see 13.1), or simply pull the
robot arm into place while holding the Freedrive button at the back side of the teach
pendant.
Besides moving through waypoints, the program can send I/O signals to other ma-
chines at certain points in the robot’s path, and perform commands like if...then
and loop, based on variables and I/O signals.
To create a simple program on a robot that has been started up, do the following:
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 but-
tons 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.
In this example, the Program tab is selected at the top level, and under that the
Structure tab is selected. The Program tab holds information related to the cur-
rently loaded program. If the Move tab is selected, the screen changes to the Move
screen, from where the robot arm can be moved. Similarly, by selecting the I/O tab,
the current state of the electrical I/O can be monitored and changed.
It is possible to connect a mouse and a keyboard to the control box or the teach pen-
dant; however, this is not required. Almost all text fields are touch-enabled, so touch-
ing them launches an on-screen keypad or keyboard. Non-touchable text fields have
an editor icon next to them that launches the associated input editor.
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:
• 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.
DANGER:
Always verify that the actual payload and installation are correct be-
fore starting up the robot arm. If these settings are wrong, the robot
arm and control box will not function correctly and may become dan-
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 damage 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
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.
CB3
II-32
Version 3.3.0
11.5 Initialization Screen
12 On-screen Editors
?
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 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 represen-
tation disappears. If the target TCP is in violation or very close to violating a boundary
limit, the visualization of the limit turns red.
• 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
Joint positions
Allows the individual joint positions to be specified directly. Each joint position can
have a value in the range from −360◦ to +360◦ , which are the joint limits. Values can be
edited by clicking on the joint position. Clicking on the + or - buttons just to the right
of a box allows you to add or subtract an amount to/from the current value. Pressing
and holding down a button will directly increase/decrease the value. The longer the
button is down, the larger the increase/decrease will be.
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.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 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.
• Holding down a rotate arrow (bottom) will change the orientation of the
robot tool in the indicated direction. The point of rotation is the Tool Center Point
(TCP), i.e. the point at the end of the robot arm that gives a characteristic point on
the robot’s tool. The TCP is shown as a small blue ball.
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 button.
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.
CAUTION:
Compare the animation with the position of the real robot arm and
make sure that the robot arm can safely perform the movement with-
out hitting any obstacles.
CAUTION:
The automove function moves along the robot along the shadow tra-
jectory. 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 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
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
relative to the center of the tool output flange, as indicated on the on-screen graphics.
The position coordinates, X, Y and Z, specify the position of the TCP, while RX, RY
and RZ specify its orientation. When all of the specified values are zero, the TCP
coincides with the center point on the tool output flange and adopts the coordinate
system depicted on the right side of the screen.
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 cor-
rect 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.
3. Use the button below to move to a position in which the orientation of the tool
corresponding to the TCP coincides with the coordinate system of the selected
feature.
4. Verify the calculated TCP orientation and set it onto the selected TCP using the
Set 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 Man-
ual.
WARNING:
Make sure to use the correct installation settings. Save and load the
installation files along with the program.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 frequent
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.
Input and output signals can be given names. This can make it easier to remember
what the signal does when working with the robot. Select an I/O by clicking on it,
and set the name using the on screen keyboard. You can set the name back by setting
it to only blank characters.
The eight standard digital inputs and the two tool inputs may configured to trigger
an action. Available actions include the ability to start the current program on a ris-
ing edge, stop the current program on a rising edge, pause the current program on
a rising edge, or enter/leave Freedrive mode when the input is high/low (like the
Freedrive button on the back of the Teach Pendant).
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
Variables created here are called installation variables and can be used just like nor-
mal program variables. Installation variables are special because they keep their value
even if a program is stopped and then started again, and when the robot arm and/or
control box is powered down and powered up again. Their names and values are
stored with the installation, so it is possible to use the same variable in multiple pro-
grams.
Pressing Create New will bring up a panel with a suggested name for the new vari-
able. 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 automatically.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
Here, the MODBUS client (master) signals can be set up. Connections to MODBUS
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 speci-
fied 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 Regis-
ters) is used. When the output has been set by a robot program or by specifying
a signal value in the “set signal value” field, function code 0x06 (Write Single
Register) is used to set the value on the remote MODBUS unit.
Signal value
Here, the current value of the signal is shown. For register signals, the value is ex-
pressed 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.
• E1 ILLEGAL FUNCTION (0x01): The function code received in the query is not
an allowable action for the server (or slave).
• E2 ILLEGAL DATA ADDRESS (0x02): The function code received in the query
is not an allowable action for the server (or slave), check that the entered signal
address corresponds to the setup of the remote MODBUS server.
• E3 ILLEGAL DATA VALUE (0x03): A value contained in the query data field is
not an allowable value for server (or slave), check that the enterd signal value is
valid for the specified address on the remote MODBUS server.
• E4 SLAVE DEVICE FAILURE (0x04): An unrecoverable error occurred while the
server (or slave) was attempting to perform the requested action.
• E5 ACKNOWLEDGE (0x05): Specialized use in conjunction with programming
commands sent to the remote MODBUS unit.
• E6 SLAVE DEVICE BUSY (0x06): Specialized use in conjunction with program-
ming commands sent to the remote MODBUS unit, the slave (server) is not able
to respond now.
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.
ammount of time to do this, even for a person skilled in the art of robot programming
and installation. Often this task involves the calculation of 4x4 matrices. Particularly,
the representation of orientation is complicated for a person that lacks the required
experience to understand this problem.
Questions often asked by customers are for instance:
• Will it be possible to move the robot 4 cm away from the claw of my computerised
numerically controlled (CNC) machine?
• Is it possible to rotate the tool of the robot 45 degrees relative to the table?
• Can we make the robot arm move vertically downwards with the object, let the
object loose, and then move the robot arm vertically upward again?
The meaning of such and similar questions is very straightforward to an average cus-
tomer who intends to use a robot arm for instance at various stations in a production
plant, and it may seem annoying and incomprehensible to the customer to be told that
there may not be a simple answer to such relevant questions. There are several compli-
cated reasons for this being the case, and in order to address these problems, Universal
Robots has developed unique and simple ways for a customer to specify the location
of various objects relative to the robot arm. Within a few steps, it is therefore possible
to do exactly what was asked for in the above questions.
Rename
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
Delete
This button deletes the selected feature and, if any, all sub-features.
Show Axes
Choose whether the coordinate axes of the selected feature shall be visible on the 3D
graphics. The choice applies on this screen and on the Move screen.
Joggable
Select whether the selected feature shall be joggable. This determines whether the
feature will appear in the feature menu on the Move screen.
Variable
Select whether the selected feature can be used as a variable. If this option is selected
a variable named the name of the feature suceeded by “ var” will then be available
when editing robot programs, and this variable can be assigned a new value in a pro-
gram, which can then be used to control waypoints that depend on the value of a
feature.
Add Point
Push this button to add a point feature to the installation. The position of a point
feature is defined as the position of the TCP at that point. The orientation of the point
feature is the same as the TCP orientation, except that the feature coordinate system is
rotated 180 degrees about its x-axis. This makes the z-axis of the point feature directed
opposite than that of the TCP at that point.
Add Line
Push this button to add a line feature to the installation. A line is defined as an axis
between two point features. 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 the first sub point onto the plane perpendicular to the
line. The position of the line coordinate system is the same as the position for the first
sub point.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
Add Plane
Push this button to add a plane feature to the installation. A plane is defined by three
sub point features. The position of the coordinate system is the same as the position
for the first sub point. The z-axis is the plane normal, and the y-axis is directed from
the first point towards the second. The positive direction of the z-axis is set so that the
angle between the z-axis of the plane and the z-axis of the first point is less than 180
degrees.
Conveyor Parameters
Incremental encoders can be connected to digital inputs 0 to 3. Decoding of digital
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 either 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.
This screen contains settings for automatically loading and starting a default program,
and for auto initializing the robot arm on power up.
WARNING:
If auto load, auto start and auto initialize all three are enabled, the
robot will start running the selected program as soon as the control
box is powered up.
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 col-
umn 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 mes-
sages 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
a program stored on a USB drive, first load it and then save it in the
local programs folder using the Save As... option in the File
menu.
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. Fur-
thermore, 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:
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 man-
ually 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.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
Cancel button Clicking on the Cancel button will abort the current loading process
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 conven-
tional 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.
CB3
II-64
Version 3.3.0
13.17 Run Tab
14 Programming
DANGER:
1. Make sure to stay outside the robot workspace when the Play
button is pressed. The movement you programmed may be dif-
ferent than expected.
2. Make sure to stay outside the robot workspace when the Step
button is pressed. The function of the Step button can be diffi-
cult to understand. Only use it when it is absolutely necessary.
3. Make sure to always test your program by reducing the speed
with the speed slider. Logic programming errors made by the
integrator might cause unexpected movements of the robot arm.
4. When a emergency stop or protective stop has occured, the
robot program will stop. It can be resumed as long as no joint
has moved more than 10◦ . When pressing play, the robot will
move slowly back onto the trajectory, and continue program ex-
ecution.
While the program is being written, the resulting motion of the robot arm is illustrated
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 com-
mand 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 de-
tails). 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.
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 between 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 de-
sired tool speed and tool acceleration specified in mm/s and mm/s2 , respectively,
and also a feature. The selected feature will determine in which feature space the
tool positions of the waypoints are represented in. Of specific interest 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 waypoints. 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 either an I/O operation or an oper-
ator 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 waypoints:
the first one specifying a via point on the circular arc, and the second 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 determined 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
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 under
the command, and from there to each of the following waypoints. The Move com-
mand settings do not apply to the path going from the last waypoint under that Move
command.
Recalculate motions
Tick this check box if the positions within this move command should be adjusted
based on the active TCP.
TCP selection
The TCP used for the waypoints under this Move command can be selected by ticking
the check box and selecting a TCP from the drop-down menu. The selected TCP is
then set as active each time the robot arm moves to one of the Waypoints under this
Move command. If the check box is not ticked, then the active TCP is not modified
in any way. 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. This
Cruise
Speed Deceleration
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.
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 rela-
tive movement is always performed w.r.t. to orientation of the Base.
Variable waypoints: When the robot arm moves to a variable waypoint, the tool target
position is calculated as the coordinates of the variable in the space of the selected
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
moving the robot arm to the position.
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 requirements. 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, allowing 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):
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.
If a blend radius is set, the robot arm trajectory blends around the waypoint, allowing
the robot arm not to stop at the point.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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.
WP_1
WP_2
WP_3
WP_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. That
is, in the program in figure 14.5 the blend around WP 1 is affected by WP 2. The con-
sequence 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 way-
points) 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
*
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 (*).
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.
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
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 intuitive,
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 - either velocity or time - for
a specific waypoint) this can result in large deviations from the original trajectory as
shown in figure 14.8. If you need to blend between different velocities and cannot
accept this deviation consider a blend in Cartesian space using MoveL instead.
v1 << v2 v1 >> v2
v1 v1
WP_2
WP_1 WP_2
WP_1
v2
v2
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 difference be-
tween 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.
var_1=p[0,0,0.02,0,0,0]
Movel
Waypoint_1 (varibale position):
Use variable=var_1, Feature=Tool
The popup is a message that appears on the screen when the program reaches this
command. The style of the message can be selected, and the text itself can be given
using the on-screen keyboard. The robot waits for the user/operator to press the “OK”
button under the popup before continuing the program. If the “Halt program execu-
tion” item is selected, the robot program halts at this popup.
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.
Loops the underlying program commands. Depending on the selection, the underly-
ing 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 dedi-
cated 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 call to a sub program will run the program lines in the sub program, and then return
to the following line.
14.18 Command: If
Copyright © 2009–2016 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 expres-
sion evaluates to False while inside the body of the If-part, the following ElseIf or
Else statement will be reached.
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
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 “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.
A “Box” pattern uses three vectors to define the side of the box. These three vectors are
given as four points, where the first vector goes from point one to point two, the second
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
vector goes from point two to point three, and the third vector goes from point three to
point four. Each vector is divided by the interval count numbers. A specific position
in the pattern is calculated by simply adding the interval vectors proportionally.
The “Line” and “Square” patterns work similarly.
A counter variable is used while traversing the positions of the pattern. The name of
the variable can be seen on the Pattern command screen. The variable cycles through
the numbers from 0 to X ∗ Y ∗ Z − 1, the number of points in the pattern. This variable
can be manipulated using assignments, and can be used in expressions.
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.
• 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 origo of the selected feature. The distance between the
robot TCP and the origo 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 orien-
tation 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 move-
ment direction onto the plane spanned by the x- and y-axis of the selected 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 usefull when deburring along a complex path,
where a force is needed perpendicular to the TCP motion. 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 on
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.
• Non-compliant: The robot arm will follow its trajectory set by the program while
accounting for an external force of the value set here.
For translational parameters, the force is specified in Newtons [N] and for rotational
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 trajectory
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 com-
mand, 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 automatically
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 effec-
tual when a valid feature has been selected for the Force command.
A pallet operation can perform a sequence of motions in a set of places given as a Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
pattern, as described in 14.23. At each of the positions in the pattern, the sequence of
motions will be run relative to the pattern position.
3. Use the selector on the sequence command screen to define which of the way-
points in the sequence should correspond to the pattern positions.
“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.
A seek function uses a sensor to determine when the correct position is reached to
grab or drop an item. The sensor can be a push button switch, a pressure sensor or a
capacitive sensor. This function is made for working on stacks of items with varying
item thickness, or where the exact positions of the items are not known or too hard to
program.
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
Destacking
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.
When destacking, the robot arm moves from the starting position in the given direc-
tion to search for the next item. The condition on the screen determines when the next
item is reached. When the condition becomes satisfied, the robot remembers the po-
sition 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.
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
“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 (transitions be-
tween motion segments) shown in green. The green dots specify the positions 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 represen-
tation 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 but-
tons 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
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:
This screen allows setting variable values before the program (and any threads) start
executing.
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 variable 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 well
as in the embedded help. Tick off “English programming” to have the names of com-
mands within robot programs written in English. PolyScope needs to be restarted for
changes to take effect.
WARNING:
Always check your programs after a software upgrade. The upgrade
might change trajectories in your program. The updated software
specifications can be found by pushing the “?” button located 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 password
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.
Panel for setting up the Ethernet network. An Ethernet connection is not necessary for
the basic robot functions, and is disabled by default.
In the top list an overview of all installed URCaps is presented. Clicking on a URCap
displays its meta information (including the name of the URCap, the version, license
etc.) in the URCap Information area below the list.
Click the + button in the bottom of the screen to install a new URCap. A file chooser
is shown where a .urcap file can be selected. Click Open and PolyScope will return
to the setup screen. The selected URCap will be installed and a corresponding entry
will appear in the list shortly after. Newly installed or uninstalled URCaps require
PolyScope to be restarted and the Restart button will be enabled.
To uninstall a URCap, simply select the URCap in the list and click the - button. The
URCap will disappear from the list, but a restart is still required.
In the list, the icon shown next to an entry indicates the state of the URCap. The
different states are defined below:
Stop Category 0: Robot motion is stopped by immediate removal of power to the robot.
It is an uncontrolled stop, where the robot can deviate from the programmed path
as each joint brake as fast as possible. This protective stop is used if a safety-
related limit is exceeded or in case of a fault in the safety-related parts of the
control system. For more information, see ISO 13850 or IEC 60204-1.
Stop Category 1: Robot motion is stopped with power available to the robot to achieve
the stop and then removal of power when the stop is achieved. It is a controlled
stop, where the robot will continue along the programmed path. Power is re-
moved as soon as the robot stands still. For more information, see ISO 13850 or
IEC 60204-1.
Stop Category 2: A controlled stop with power left available to the robot. The safety-
related control system monitors that the robot stays at the stop position. For more
information, see IEC 60204-1.
Category 3: The term “Category” should not be confused with the term “Stop Cat-
egory”. “Category” refers to the type of architecture used as basis for a certain
“Performance Level”. A significant property of a “Category 3” architecture is that
CB3
Copyright © 2009–2016 by Universal Robots A/S. All rights reserved.