UR10e Software 5.13 Handbuch
UR10e Software 5.13 Handbuch
Software Manual
e-Series
Original instructions (en)
Contents
1. Introduction 11
1.1. Robot Arm Basics 11
1.2. PolyScope Basics 11
1.2.1. Touch Screen 12
1.2.2. Header Icons/Tabs 12
1.2.3. Footer Buttons 14
1.3. Installation 14
1.3.1. Installing the Robot Arm and Control Box 14
1.3.2. Turning the Control Box On/Off 15
2. Freedrive 23
2.1. Enabling Freedrive: Standard Teach Pendant 24
2.1.1. Using the Freedrive Button 25
2.1.2. Using the Freedrive Button on the Move Tab Screen 25
5.11. Planes 39
5.11.1. Modes 39
5.11.2. Configuring Safety Planes 40
5.11.3. Elbow 41
5.11.4. Color Codes 41
5.12. Freedrive 42
5.12.1. Using the Freedrive Button 42
5.13. Backdrive 42
5.13.1. Enabling Backdrive 42
5.16. I/O 46
5.16.1. Input Signals 46
5.16.2. Output Signals 47
5.16.3. OSSD Safety Signals 48
5.17. Hardware 49
5.17.1. Selecting Available Hardware 49
6. Run Tab 53
6.1. Program 55
6.2. Variables 55
6.3. Robot Age 56
6.4. Move Robot into Position 56
6.4.1. Accessing the Move Robot into Position Screen 56
6.4.2. Move robot to: 57
6.4.3. Manual 57
7. Program Tab 59
7.1. Move Robot into Position 59
7.12.4. Assignment 91
7.12.5. Script 91
7.12.6. Event 92
7.12.7. Thread 93
7.12.8. Switch 93
7.12.9. Timer 94
7.12.10. Home 95
7.13. Templates 95
7.13.1. Palletizing 95
7.13.2. Seek 101
7.13.3. Force 105
7.13.4. Force value selection 107
7.13.5. Speed limits 107
7.13.6. Test force settings 107
7.13.7. Conveyor Tracking 108
7.13.8. Screwdriving 109
7.13.9. Screwdrive Until 110
1. Introduction
This chapter provides the essential information you need to start using your Universal Robots
robot.
NOTE
Before powering on the robot for the first time, your designated Universal Robots
robot integrator must:
1. Read the safety information in the Hardware Installation Manual .
2. Set the safety configuration parameters defined by the risk assessment (see
5. Safety Configuration on page 33).
The touch sensitivity is designed to avoid false selections on PolyScope, and to prevent
unexpected motion of the robot.
The following section lists and defines the icons/tabs and buttons in the PolyScope interface.
Installation configures robot arm settings and external equipment e.g. mounting and safety.
I/O monitors and sets live Input/Output signals to and from robot control box.
Automatic indicates the operational mode of the robot is set to Automatic. Tap it to switch
to the Manual operational mode.
Manual indicates the operational mode of the robot is set to Manual. Tap it to switch to the
Automatic operational mode.
The Local mode and Remote mode icons only become accessible if you enable Remote Control.
Local indicates the robot can be controlled locally. Tap it to switch to Remote control.
Remote indicates the robot can be controlled from a remote location. Tap it to switch to
Local control.
Initialize manages robot state. When RED, press it to make the robot operational.
Speed Slider shows in real time the relative speed at which the robot arm
moves, taking safety settings into account.
the robot cannot damage itself or nearby equipment in a collision. If you are unsure what the Robot
Arm will do, use Simulation Mode to test programs.
Manual High Speed allows the tool speed to temporarily exceed 250mm/s. This hold-
to-run function is only available in Manual mode when a Three-Position Enabling Device is
configured.
1.3. Installation
1.3.1. Installing the Robot Arm and Control Box
Install and power on the robot arm and Control Box to start using PolyScope.
See Hardware Installation Manual for detailed installation instructions.
WARNING
Tipping hazard. If the robot is not securely placed on a sturdy surface, the robot
can fall over and cause injury.
A Getting Stated screen can appear, prompting you to begin programmimg the robot.
1.4. Initialization
On your first start up a Cannot Proceed dialog box can appear. Select Go to initialization screen to
access the Initialize screen.
In the Footer, to the left, the Initialize button indicates the status of the robot arm using colors:
• Red Power off. The robot arm is in a stopped state.
• Yellow Idle. The robot arm is on, but not ready for normal operation.
• Green Normal. The robot arm is on and ready for normal operation.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
WARNING
Always verify the actual payload and installation are correct before starting up the
robot arm. If these settings are incorrect, the robot arm and Control Box will not
function correctly and may become dangerous to people or equipment.
CAUTION
Ensure the robot arm is not touching an object (e.g., a table) because a collision
between the robot arm and an obstacle might damage a joint gearbox.
• When the PolyScope starts, tap the ON button once to power the robot arm. Then, the status
changes to yellow to indicate the robot is on and idle.
• When the robot arm state is Idle, tap the START button to start robot arm. 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 is verified, tap Start to release all joint brakes and the robot arm is ready for
normal operation.
Robot arm start up is accompanied by sound and slight movements as joint brakes are released.
NOTE
Learn to program your Universal Robots robot on www.universal-
robots.com/academy/
teach the position by pulling the Robot Arm into place while holding down the Freedrive button at
the top of the Teach Pendant.
You can create a program can to send I/O signals to other machines at certain points in the robot’s
path, and perform commands like if…then and loop, based on variables and I/O signals.
The following is a simple program that allows a Robot Arm to move between two waypoints.
To create a simple program
1. On PolyScope, in the Header File Path, tap New... and select Program.
2. Under Basic, tap Waypoint to add a waypoint to the program tree. A default MoveJ is also
added to the program tree.
3. Select the new waypoint and in the Command tab, tap Waypoint.
4. On the Move Tool screen, move the robot arm by pressing the move arrows.
You can also move the robot arm by holding down the Freedrive button and pulling the Robot
Arm into desired positions.
5. Once the robot arm is in position, press OK and the new waypoint displays as Waypoint_1.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
NOTE
1. Do not drive the robot into itself or anything else as this may cause damage
to the robot.
2. 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.
WARNING
Keep your head and torso outside the reach (workspace) of the robot. Do not place
fingers where they can be caught.
NOTE
If you have more than one active license, all licenses will be included in the
downloaded license file.
If you have not registered your robot, please go to the URL on the screen at step 1 and register your Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
robot.
1. Download the license file to your PC.
2. Copy the license file to the USB and connect it to the Teach Pendant.
3. On the Settings screen, in Step 3, tap Load file to open the Select license file screen.
4. In the list, select the USB to display content and navigate to the license file.
5. Select license.p7b and tap Open to confirm robot registration.
6. On the bottom left, tap Exit.
• You have a thourough understanding of general cyber security principles and advanced
technologies as used in your Universal Robots robot.
• You take physical security measures to allow only trusted personnel physical access to the
robot.
• You only connect your robot to a trusted network, behind a firewall restricting both inbound
and outbound access to/from the Internet.
e-Series
22
Software Manual
1. Introduction
2. Freedrive
2. Freedrive
This chapter describes how to start using the robot arm in Freedrive.
Freedrive allows the robot arm to be manually pulled into desired positions and poses.
As you use Freedrive, the robot arm creates a repelling force if it approaches a joint limit or a safety
plane (see 5.11. Planes on page 39).
When the robot arm is in Freedrive, a panel appears on PolyScope, as illustrated below.
You can lock one or more of the axes allowing the TCP to move in a particular direction, as defined
in the table below.
Movement is allowed through all axes, in a spherical motion, around the TCP.
Rotation
WARNING
Moving the robot arm in some axes when a tool is attached, can present a pinch
point.
WARNING
• Do not enable Freedrive when you are pushing or touching the robot, as this
may cause the robot to drift.
• Do not switch axes while moving the robot in Freedrive mode, as this my
cause the robot to drift.
3. Backdrive
Backdrive is used to force specific joints to a desired position without releasing all brakes in the
robot arm.
This is sometimes necessary if the robot arm is close to collision and the vibrations that
accompany a full restart are not desired.
As long as the Freedrive button is engaged/pressed, Backdrive is enabled, making the robot
joints feel heavy to move.
3. Move robot as in Freedrive mode. Joint brakes are released where needed once the
Freedrive button is activated.
NOTICE
In Backdrive Mode the robot is “heavy” to move around.
MANDATORY ACTION
You must test Backdrive mode on all joints.
Safety settings
Verify the robot safety settings comply with the robot installation risk assessment.
Additional safety inputs and outputs are still functioning
Check which safety inputs and outputs are active and that they can be triggered via PolyScope or
external devices.
WARNING
Automatic Mode Safeguard Stop can only be activated in Automatic Mode, so the
Manual Mode Once activated, you can program the robot using the Move Tab, Freedrive Mode and
Speed Slider. You can modify and save programs and installations.
NOTE
• A Universal Robots robot may not be equipped with a Three-Position
Enabling Device. If the risk assessment requires the device, it must be
attached before the robot is used.
• If a Three-Position Enabling Device is not configured, speed is not reduced in
Manual Mode.
WARNING
• Any suspended safeguards must be returned to full functionality before
selecting Automatic Mode.
• Wherever possible, the Manual Mode of operation shall be performed with all
persons outside the safeguard space.
• The device used to switch between Operational Modes must be placed
outside the safeguarded space.
• The user must not enter the safeguarded space when robot is in Automatic
Mode, unless an Automatic Mode Safeguard input is configured.
The methods for configuring Operational Mode selection are described in the following
subsections. Each method is exclusive, meaning that using one method, makes the other two
methods inactive.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
NOTE
The physical mode selector, if used, must completely adhere to ISO 10218-1: article
5.7.1 for selection.
Switching Modes
1. To switch between modes, in the Header, select the profile icon.
• Automatic indicates the operational mode of the robot is set to Automatic.
• Manual indicates the operational mode of the robot is set to Manual.
PolyScope is automatically in Manual Mode when the Safety I/O configuration with Three-Position
Enabling Device is enabled.
e-Series
32
Software Manual
4. Operational Mode Selection
5. Safety Configuration
5. Safety Configuration
5.1. Safety Settings Basics
This section covers how to access the robot safety settings. It is made up of items that help you
set up the robot Safety Configuration.
WARNING
Before you configure your robot safety settings, your integrator must conduct a risk
assessment to guarantee the safety of personnel and equipment around the robot.
A risk assessment is an evaluation of all work procedures throughout the robot
lifetime, conducted in order to apply correct safety configuration settings
(see Hardware Installation Manual ). You must set the following in
You can find more safety system information in the Hardware Installation Manual.
You can press the Lock tab to lock all Safety settings again or simply navigate to a screen outside
of the Safety menu.
1. Verify that changes comply with the risk assessment conducted by the integrator.
2. Adjust safety settings to the appropriate level defined by the risk assessment conducted by
the integrator.
3. Verify that the settings are applied.
4. Place 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 safety checksum in the top right corner of PolyScope for any
changes.”
The Safety Checksum icon displays your applied robot safety configuration. It could be four or
eight digits. Four digit checksum should be read from top to bottom and left to right, while eight
digit checksum is read left to right, top row first. Different text and/or colors indicate changes to
the applied safety configuration.
The Safety Checksum changes if you change the Safety Functions settings, because the Safety
Checksum is only generated by the safety settings.
You must apply your changes to the Safety Configuration for the Safety Checksum to reflect your
changes.
1. Factory Presets is where you can use the slider to select a predefined safety setting . The
values in the table are updated to reflect the preset values ranging from Most Restricted to
Least Restricted
NOTE
Slider values are only suggestions and do not substitute a proper risk
assessment.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
2. Custom is where you can set Limits on how the robot functions and monitor the associated
Tolerance.
Power
limits maximum mechanical work produced by the robot in the environment. This limit
considers the payload a part of the robot and not of the environment.
Momentum
limits maximum robot momentum.
Stopping Time
limits maximum time it takes the robot to stop e.g. when an emergency stop is
activated.
Stopping Distance
limits maximum distance the robot tool or elbow can travel while stopping.
NOTE
Restricting stopping time and distance affect overall robot speed. For
example, if stopping time is set to 300 ms, the maximum robot speed is
limited allowing the robot to stop within 300 ms.
Tool Speed
limits maximum robot tool speed.
Tool Force
limits the maximum force exerted by the robot tool in clamping situations.
Elbow Speed
limits maximum robot elbow speed.
Elbow Force
limits maximum force that the elbow exerts on the environment.
The tool speed and force are limited at the tool flange and the center of the two user-defined
tool positions, see 5.14. Tool Position on page 43.
Recovery mode activates when a safety limit from the active limit set is violated, the robot arm
performs a Stop Category 0. If an active safety limit, such as a joint position limit or a safety
boundary, is violated already when the robot arm is powered on, it starts up in Recovery mode. This
makes it possible to move the robot arm back within the safety limits. While in Recovery mode, the
movement of the robot arm is restricted by a fixed limit that you cannot customize. For details
about Recovery mode limits (see Hardware Installation Manual ).
WARNING
Limits for joint position, tool position and tool orientation are disabled in Recovery
mode, so take caution when moving the robot arm back within the limits.
The menu of the Safety Configuration screen enables the user to define separate sets of safety
limits for Normal and Reduced mode. For the tool and joints, Reduced mode limits for speed and
momentum are required to be more restrictive than their Normal mode counterparts.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
5.9. Tolerances
In the Safety Configuration the safety system limits are specified. The Safety System receives the
values from the input fields and detects any violation if any these values are exceeded. The robot
controller attempts to prevent any violations by making a protective stop or by reducing the speed.
Safety planes restrict robot workspace. You can define up to eight safety planes, restricting the
robot tool and elbow. You can also restrict elbow movement for each safety plane and disable by
deselecting the checkbox. Before configuring safety planes, you must define a feature in the robot
installation (see 8.5. I/O Setup on page 129). The feature can then be copied into the safety plane
screen and configured.
WARNING
Defining safety planes only limits the defined Tool spheres and elbow, not the
overall limit for the robot arm. This means that specifying a safety plane, does not
guarantee that other parts of the robot arm will obey this restriction.
5.11.1. Modes
You can configure each plane with restrictive Modes using the icons listed below.
Disabled
The safety plane is never active in this state.
Normal
When the safety system is in Normal mode, a normal plane is active and it acts as a strict limit
on the position.
Reduced
When the safety system is in Reduced mode, a reduced mode plane is active and it acts as a
strict limit on the position.
Normal & Reduced
When the safety system is either in Normal or Reduced mode, a normal and reduced mode
plane is active and acts as a strict limit on the position.
Trigger Reduced Mode
The safety plane causes the safety system to switch to Reduced mode if the robot Tool or
Elbow is positioned beyond it.
Show
Pressing this icon hides or shows the safety plane in the graphics pane.
Delete
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Deletes the created safety plane. There is no undo/redo action. If a plane is deleted in error, it
must be remade.
Rename
Pressing this icon allows you to rename the plane.
In Copy Feature, only Undefined and Base are available. You can reset a configured safety plane by
selecting Undefined
If the copied feature is modified in the Features screen, a warning icon appears to the right of the
Copy Feature text. This indicates that the feature is out of sync i.e. the information in the properties
card is not updated to reflect the modifications that may have been made to the Feature.
Gray
Plane is configured but disabled (A)
5.12. Freedrive
Freedrive allows the robot arm to be manually pulled into desired positions and/or poses. The
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
joints move with little resistance because the brakes are released. While the robot arm is being
moved manually, it is in Freedrive mode (see 4.1. Operational Modes on page 29). As the robot arm
in Freedrive Mode approaches a predefined limit or plane (see 5.11. Planes on page 39), resistance
increases. This makes pulling the robot into position feel heavy. You can enable Freedrive in the
following ways:
• Use the Freedrive Button
• Use I/O Actions (see 8.5.3. I/O Actions and I/O Tab Control on page 130)
• Use the Freedrive button on the Move Tab screen (see 9.2.4. Freedrive on page 162)
5.13. Backdrive
During initialization of the robot arm, minor vibrations may be observed when the robot brakes are
released. In some situations, such as when the robot is close to collision, these tremors are
undesirable and the Backdrive feature can be used to forcefully move specific joints to a desired
position without releasing all brakes in the robot arm.
3. Brakes are only released in the joints to which significant pressure is applied. As long as the
Freedrive button is engaged/pressed. While using Backdrive, the robot arm feels heavy to
move around.
the drop down menu changes to custom, indicating that there is a difference between the copied
TCP and the actual limit input. The original TCP is still available in the drop down list and can be
selected again to change the values back to the original position. The selection in the copy TCP
drop down menu does not affect the tool name.
Once you apply your Tool Position screen changes, if you try to modify the copied TCP in the TCP
configuration screen, a warning icon appears to the right of the Copy TCP text. This indicates that
the TCP is out of sync i.e. the information in the properties field is not updated to reflect
modifications that may have been made to the TCP. The TCP can be synced by pressing the sync
icon (see 8.2. TCP Configuration on page 123).
The TCP does not have to be synced in order to define and use a tool successfully.
You can rename the tool by pressing the pencil tab next to the displayed tool name. You can also
determine the Radius with an allowed range of 0-300 mm. The limit appears in the graphics pane
as either a point or a sphere depending on radius size.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
NOTE
Configuration of the tool direction is based on features. We recommend you create
desired feature(s) before editing the safety configuration, as once the Safety Tab
has been unlocked, the robot arm powers off making it impossible to define new
features.
You can reset the values to default or undo the Tool Direction configuration by setting the copy
feature back to "Undefined".
5.16. I/O
The I/O are divided between inputs and outputs and are paired up so that each function provides a
Category 3 and PLd I/O.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
If you are using a built-in 3-Position Enabling Device, the button must be pressed and held in
the mid position to move the robot.
Operational Mode
When defined, this input can be used to switch between Automatic Mode and Manual Mode
(see 4.1. Operational Modes on page 29).
Safeguard Reset
When a Safeguard Stop occurs, this output ensures that the Safeguard Stop state continues
until a reset is triggered.
Automatic Mode Safeguard Stop
Once configured, an Automatic Mode Safeguard Stop performs a Safeguard Stop when the
input pins are low and ONLY when the robot is in Automatic mode.
Automatic Mode Safeguard Reset
When an Automatic Mode Safeguard Stop occurs, the robot remains safeguard stopped in
Automatic Mode until a rising edge on the input pins trigger a reset.
Signal is Low when the robot arm is placed in Reduced mode or if the safety input is
configured with a Reduced Mode input and the signal is currently low. Otherwise the signal is
high.
Not Reduced Mode
This is the inverse of the Reduced Mode defined above.
Safe Home
Signal is High if the Robot Arm is stopped in the configured Safe Home Position. Otherwise,
the signal is Low.
NOTE
Any external machinery receiving its Emergency Stop state from the robot through
the System Emergency Stop output must comply with ISO 13850. This is
particularly necessary in setups where the Robot Emergency Stop input is
connected to an external Emergency Stop device. In such cases, the System
Emergency Stop output becomes high when the external Emergency Stop device is
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
released. This implies that the emergency stop state at the external machinery will
be reset with no manual action needed from the robot’s operator. Hence, to comply
with safety standards, the external machinery must require manual action in order
to resume.
5.17. Hardware
You can use the robot without attaching the Teach Pendant. Removing the Teach Pendant requires
defining another Emergency Stop source. You must specify if the Teach Pendant is attached to
avoid triggering a safety violation.
CAUTION
If the Teach Pendant is detached or disconnected from the robot, the Emergency
Stop button is no longer active. You must remove the Teach Pendant from the
vicinity of the robot.
e-Series
52
Software Manual
5. Safety Configuration
6. Run Tab
6. Run Tab
The Run tab allows you to do simple operations and monitor the state of your robot. You can load,
play, pause and stop a program, as well as monitor variables. The Run Tab is most useful when the
program is created and the robot is ready for operation.
Variables:
Variables are used by programs to store and update values during runtime.
• Program variables belong to programs.
• Installation variables belong to installations that can be shared among different programs.
The same installation can be used with multiple programs.
By default, all program variables and installation variables in your program are displayed in the
Variables pane.
You can also display selected variables by using the Show only favorite variables option.
You cannot designate favorite variables in the Run Tab, you can only display them. Designating
favorite variables depends on the variable type.
4. Tap Run to return to your variable 4. Check the Favorite variable box.
display. 5. Tap Run to return to your variable display.
See 7.10. Variables Tab on page 69 for more about program variables.
See 8.6. Installation Variables on page 132 for more about installation variables
Control:
The Control pane allows you to control the running program. You can play and stop, or pause and
resume a program, using the buttons listed in the table below.
The Play button, Pause button and the Resume Button are combined. The Play button changes to
Pause when the program is running. The Pause button changes to Resume.
Button Function
Play
Resume
Stop
Button Function
Pause
To play a program
1. Under Control, tap Play to start running a program from the beginning.
To stop a program
1. Tap Stop to stop the running program
• You cannot resume a stopped program.
• You can tap Play to restart the program.
6.1. Program
The Program field, displays the name of the program that was loaded on to the robot and its
current status. You can tap the Load Program tab to load a different program.
6.2. 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 8.6. Installation Variables on page 132). 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.
Show waypoints
The robot program uses script variables to store information about waypoints.
Select the Show Waypoints checkbox, under Variables to show script variables in the variables
list.
Variable types
NOTE
Collision can damage the robot or other equipment. Compare the animation with
the position of the real Robot Arm to ensure the Robot Arm can safely perform the
movement without colliding with any obstacles.
6.4.3. Manual
Tap Manual to access the Move screen where the Robot Arm can be moved by using the Move
Tool arrows and/or configuring Tool Position and Joint Position coordinates.
e-Series
58
Software Manual
6. Run Tab
7. Program Tab
7. Program Tab
The program tab shows the current program being edited.
NOTE
Collision can damage the robot or other equipment. Compare the animation with
the position of the real Robot Arm to ensure the Robot Arm can safely perform the
movement without colliding with any obstacles.
7.1.3. Manual
Tap Manual to access the Move screen where the Robot Arm can be moved by using the Move
Tool arrows and/or configuring Tool Position and Joint Position coordinates.
Undo/Redo The and buttons serve to undo and redo changes to commands.
Buttons
Move Up & The and buttons change the position of a node.
Down
Cut The button cuts a node and allows it to be used for other actions (e.g., paste it
on other place on the Program Tree).
Copy button allows copies a node and allows it to be used for other actions (e.g.,
paste it on other place on the Program Tree).
Paste The button allows you to paste a node that was previously cut or copied.
Delete Tap the button to remove a node from the Program Tree.
Suppress Tap the button to suppress specific nodes on the Program Tree.
Search Tap the to search in the Program Tree. Tap the icon to exit search.
Button
The main purpose of the Variables Setup is to initialize variables. You can use the Variable Setup
as follows:
• Assign an initial value.
• Designate as a Favorite Variable.
• Add a variable description.
• Option to rename.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Designating a favorite variable allows the variable to be part of the set of favorite variables
displayed when you select it to only show favorite variables on the Variables pane in the Program
Tab screen and on the Run Tab screen.
Initial Value
An initial value is the first value you assign to a program variable, when you start a program.
When the program is running, the program node currently being executed is indicated by a small
icon next to the node. Furthermore, the path of execution is highlighted using a blue color.
Pressing the icon at the corner of the program will make it track the command being executed.
Suppressed program lines are simply skipped when the program is run. A suppressed line can be
unsuppressed again at a later time. This is a quick way to make changes to a program without
destroying the original contents.
While the expression itself is edited as text, the expression editor has a number of buttons and
functions for inserting the special expression symbols, such as * for multiplication and ≤ for less
than or equal to. The keyboard symbol button in the top left of the screen switches to text-editing
of the expression. All defined variables can be found in the Variable selector, while the names of
the input and output ports can be found in the Input and Output selectors. Some special
functions are found in Function.
The expression is checked for grammatical errors when the Ok button is pressed. The Cancel
button leaves the screen, discarding all changes.
An expression can look like this:
NOTE
• The Before start section, if used, is always executed for both Play from
Selection and Play from Beginning.
• The program stops and displays an error message if an unassigned variable
in encountered.
• A program can only start from a node in the Robot Program.
• Play from Selection can be used within a subprogram. The program
execution halts when the subprogram ends.
A red line either above of below a node, indicates when a breakpoint is set, pausing execution.
Most nodes pause before they are executed, with the following exceptions:
• Waypoints: A breakpoint on a waypoint node, ignores the blend and pauses the program
when the robot reaches this waypoint.
• Until nodes: A breakpoint on an until node pauses the program once the until condition is
met. Blends used in the until node are not ignored. They are paused when the robot reaches
the blend radius.
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 5.11. Planes on page 39), a 3D
representation of the boundary limit is shown.
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 5.8. Safety Modes on page 37) 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 representation
disappears. If the TCP is in violation or very close to violating a boundary limit, the visualization of
the limit turns red.
The 3D view can be zoomed and rotated to get a better view of the robot arm. The buttons in the
top-right side of the screen can disable the various graphical components in 3D view. The bottom
button switches on/off the visualization of proximate boundary limits.
The Move command controls the robot motion through the underlying waypoints. Waypoints have
to be under a Move command. The Move command defines the acceleration and the speed at
which the robot arm will move between those waypoints.
Movement Types
You can select one of three types of movements: MoveJ, MoveL and MoveP. Each movement type
is explained below.
• moveJ makes movements that are calculated in the robot arm joint space. Joints are
controlled to finish their movements 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, 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 preferable choice.
• moveL moves the Tool Center Point (TCP) linearly between waypoints. This means that each
joint performs a more complicated motion to keep the tool on a straight line path. The
shared parameters that can be set for this movement type are the desired tool speed and
tool acceleration specified in mm/s and mm/s2, respectively, and also a feature.
• moveP moves 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 operator action. Doing so might stop the robot arm’s motion, or cause a
protective stop.
• Circle move can be added to a moveP to make a circular movement. The robot starts the
Shared parameters
The shared parameters in the bottom right corner of the Move screen apply to the movement from
the previous position of the robot arm to the first waypoint under the command, and from there to
each of the following waypoints. The Move command settings do not apply to the path going from
the last waypoint under that Move command.
TCP selection
The way the robot moves between waypoints is adjusted depending on whether the TCP is set
using a user defined TCP or an active TCP. Ignore Active TCP allows this movement to be adjusted
in relation to the Tool Flange.
Feature selection
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
The feature spaces the waypoints under the Move command, that should be represented when
specifying these waypoints (see section 8.17. Features on page 142). This means that when
setting a waypoint, the program will remember the tool coordinates in the feature space of the
selected feature. There are a few circumstances that need detailed explanation:
The selected feature has no effect on relative waypoints. The relative movement is always
performed with respect to orientation of the Base.
When the robot arm moves to a variable waypoint, the Tool Center Point (TCP) is calculated as the
coordinates of the variable in the space of the selected feature. Therefore, the robot arm
movement for a variable waypoint changes if another feature is selected.
You can change a feature’s position while the program is running by assigning a pose to its
corresponding variable.
Cruise
Deceleration
Speed
Acceleration
Time
8.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.
Teaching Waypoints
Teaching is the term used to show the robot how to position the TCP in relation to a feature for an
application. To teach the robot a waypoint, follow the instructions below:
1. In the Program Tab, insert a Move Node.
2. On the Move Node, use the Set TCP drop-down menu to set the TCP.
3. On the Move Node, use the Feature drop-down menu to select a feature.
4. On the Waypoint Node, use Teach Mode or Jog to position the robot in a desired
configuration.
Using Waypoints
Using a waypoint means applying the taught relation between the feature and the TCP in the
present situation. The relation between the feature and the TCP, applied to the current selected
feature, achieves the desired TCP location. Then the robot figures out how to position itself to let
the currently active TCP reach that TCP position. To use a waypoint, follow the instructions below:
1. Use an existing waypoint in a Move Node, or insert the waypoint into a different Move Node
(e.g. by copy and paste or use the "Link" button on the waypoint).
2. Set the desired TCP.
3. Set the desired feature.
Waypoint names
Waypoints automatically get a unique name. The name can be changed by the user. By selecting
the link icon, waypoints are linked and share position information. Other waypoint information such
as blend radius, tool/joint speed and tool/joint acceleration is configured for individual waypoints
even though they may be linked.
Blending
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
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 8.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 fulfills the requirements.
WP_2
WP_1
WP_3
8.2: (WP_1) : initial position, (WP_2) : via point, (WP_3) : pick up position, (O) : obstacle.
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 8.3):
• the blend radius (r )
• the initial and final speed of the robot (at positions p1 and p2 , respectively)
• the movement time (e.g. if setting a specific time for a trajectory this will influence the
initial/final speed of the robot)
• the trajectory types to blend from and to (MoveL, MoveJ)
WP_1
WP_2
p1
p2
WP_3
8.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.
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 8.4.
WP_1
WP_2
WP_3
WP_4
MoveL
WP_I
WP_1 (blend)
WP_2 (blend)
if (digital_input[1]) then
WP_F_1
else
WP_F_2
WP_I
WP_1
WP_2
*
WP_F_1
WP_F_2
8.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
Blend Trajectories
WP_2
WP_1
WP_3
WP_2
WP_1
WP_3
8.6: Joint space (MoveJ) vs. cartesian space (MoveL) movement and blend.
Depending on the movement type (i.e., MoveL, MoveJ, or MoveP), different blend trajectories are
generated.
• Blends in MoveP When blending in MoveP, the position of the blend follows a circle arc at
constant speed. The orientation blends with a smooth interpolation between the two
trajectories. You can blend a MoveJ or a MoveL into a MoveP. In such a case, the robot uses
the circular arc blend of MoveP, and interpolate the speed of the two motions. You cannot
blend a MoveP to a MoveJ or a MoveL. Instead, the last waypoint of the MoveP is regarded
as a stop point with no blend. You cannot perform a blend if the two trajectories are at an
angle close to 180 degrees (reverse direction) because it creates a circular arc with a very
small radius which the robot cannot follow at constant speed. This causes a runtime
exception in the program which can be corrected by adjusting the waypoints to cause a less
sharp angle.
• Blends involving MoveJ MoveJ blends cause a smooth curve in joint space. This goes for
blends from MoveJ to MoveJ, MoveJ to MoveL and MoveL to MoveJ. The blend produces a
smoother and faster trajectory than the movements without a blend (see Figure 15.6).
If velocity and acceleration are used for specifying the velocity profile, the blend stays within
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
the blend radius during the blend. If using time instead of velocity and acceleration for
specifying the velocity profile of both motions, the blend trajectory follows the trajectory of
the original MoveJ. When both motions are time constrained, using blends does not save
time.
• Blends in MoveL When blending in MoveL, the position of the blend follows a circle arc at
constant speed. The orientation blends with a smooth interpolation between the two
trajectories. The robot may decelerate on the trajectory before following the circular arc to
avoid very high accelerations (e.g., if the angle between the two trajectories are close to 180
degrees).
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 between the two given
positions (left to right).
Note: 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 (variable position):
Use variable=var_1, Feature=Tool
7.11.5. Direction
The program node Direction specifies a motion relative to feature axes or TCPs. The robot moves
in along the path specified by the Direction Program Node until that movement is stopped by an
Until condition.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
You can add Direction Vector settings, for Tool Speed and Tool Acceleration, to define the vector
direction for linear motion, allowing for advanced uses as:
• defining linear motion relative to multiple feature axes
• computing the direction as a mathematical expression
The Direction Vectors defines a custom code expression that is resolved to a unit vector. For
example, Direction vectors of [100,0,0] and [1,0,0] have the exact same effect on the robot; use the
Speed Slider to moving along the x-axis at a desired speed. The values of the numbers in the
direction vector only matter relative to each other.
7.11.6. Until
The program node Until defines a stop criterion for a motion. The robot moves along a path and
stops when contact is detected. In the Progran Tree, you can add Until Nodes under Direction
Nodes and Waypoint Nodes. You can add several stop criteria to a single movement. The motion
stops when the first Until condition is met.
CAUTION
The default speed of motion is too high for contact detection. A faster speed of
motion triggers a Protective Stop, before the Tool Contact condition can take
effect. To avoid triggering a Protective Stop, lower the speed of motion. For
example: 100m/s.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
NOTE
Until Tool Contact might not work if the mounted tool vibrates. For example: a
vaccuum gripper with an embedded pump can introduce fast vibrations.
You can use the Until Tool Contact Node for applications like Stacking/Destacking, where Until
Tool Contact determines the height of stacked objects.
Retract to Contact
Use the Retract to Contact setting for the robot to return to the initial point of contact. You can set
an additional reverse movement to make the robot move free of, or toward, contact. This is useful
if you have a gripper that needs free space to move, or if a clamping action is needed.
Action
Add an Action allows a program node to be be added if a specific Until condition is met. For
example, Until Tool Contact can engage the gripping action of a gripper tool. If no Action is defined,
then program execution continues to the next program node in the Program Tree.
7.11.8. Wait
7.11.9. Set
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
If the active TCP for a particular motion is known at the time of writing of the program, you can use
the TCP selection by tapping Move in the Side Menu on the left, (see 7.11.1. Move on page 70). For
further information about configuring named TCPs (see 8.2. TCP Configuration on page 123).
7.11.10. Popup
The Popup is a message that appears on the screen when the program reaches the Popup node in
the program tree. Under the Command tab, tap the empty field and use the on-screen keyboard to
create text content for the popup message. Messages are limited to a maximum of 255
characters.
You can select the Text dropdown, if you prefer to have a variable displayed in your popup
message instead of text.
You can also select Halt program execution at this popup for the program to stop when the popup
appears.
During program execution, when the popup message appears, tap OK in the popup dialog box to
continue the program.
7.11.11. Halt
7.11.12. Comment
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
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.
7.11.13. Folder
A Folder is used to organize and label specific parts of a program, to clean up the program tree,
and to make the program easier to read and navigate.
Folders have no impact on the program and its execution.
NOTICE
Setting the payload correctly ensures optimal motion performance and avoids
protective stops.
• Set the payload when picking up- and releasing objects with a gripper.
You can also use the Set Active button to set the values on the node as the active payload.
Loops the underlying program commands. Depending on the selection, the underlying program
commands are either looped infinitely, a certain number of times or as long as the given condition
is true. When looping a certain number of times, a dedicated loop variable (called loop_1 in the
screen shot above) is created, which can be used in expressions within the loop. The loop variable
counts from 0 to N − 1.
When looping using an expression as end condition, PolyScope provides an option for continuously
evaluating that expression, so that the “loop” can be interrupted anytime during its execution,
rather than just after each iteration.
7.12.2. If
If and If...Else statements change the robot’s behavior based on sensor inputs or variable values.
NOTE
If there are waypoints inside an If expression or inside a Loop expression with the
Check Expression Continuously option, you can add a stopj() or a stopl() after the
expression to gently decelerate the robot arm. This is valid for both If and Loop
Commands (see section 7.12.1. Loop on the previous page).
7.12.3. SubProgram
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
A SubProgram can hold program parts that are needed several places. A SubProgram can be a
separate file on the disk, and can also be hidden to protect against accidental changes to the
SubProgram.
Call Subroutine
A call to a Subroutine will run the program lines in the SubProgram, and then return to the following
line.
7.12.4. Assignment
7.12.5. Script
The following options are available in the drop down list under Command:
• Line allows you to write a single line of URscript code, using the Expression Editor ( 7.4.
Expression Editor on page 64)
• File allows you to write, edit or load URscript files.
You can find instructions for writing URscript in the Script Manual on the support website
(http://www.universal-robots.com/support).
Functions and variables declared in a URscript file are available for use througout the program in
the PolyScope.
7.12.6. Event
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
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 (2ms) .
7.12.7. Thread
7.12.8. Switch
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 Cases 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.
7.12.9. Timer
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
A Timer measures the length of time it takes for specific parts of the program to run. A program
variable contains the time passed since a Timer started, and can be seen in the Variables Tab and
in the Run Tab.
7.12.10. Home
7.13. Templates
7.13.1. Palletizing
Palletizing is a template to easily program palletizing and depalletizing tasks, picking-and-placing
parts (i.e., from trays, fixtures, etc.), and having the robot perform repeatable actions for different
items in multiple layers with different patterns. You can create different patterns and apply them to
specific layers. You can also place a separator between each layer (see Adding a Separator
Between Layers in a Palletizing Sequence on page 99). Furthermore, you can use Features from
Pallet Properties to easily adjust the placement of your pallet. To learn about Features, see 8.17.
Features on page 142. Follow the Creating a Palletizing Program section below to use the
Palletizing template.
1. Decide if you want to teach a Feature (see 8.17. Features on page 142) or use a Base as a
reference plane.
2. In the Program Tab, under Templates, tap Palletizing.
3. On the Palletizing screen, select one of the following actions depending on the desired
action.
1. Select Palletizing to organize items onto a pallet.
2. Select Depalletizing to remove items from a pallet.
4. Under Pallet Properties, specify the Name, Feature (see Step 1), Object Height, and Item
Counter name for your program. Select the Remember last item location box if you want the
robot to restart at the item it was handling when it stopped.
5. On the Palletizing screen, under Actions, add additional actions to be performed before or
after palletizing sequence by selecting the following:
1. Add Action Before Palletizing: These actions are performed before starting to
palletize.
2. Add Action After Palletizing: These actions are performed after finishing palletizing.
6. On the Program Tree, tap the Patterns node to designate patterns for your layers. You can
create the following type of patterns: Line, Grid, or Irregular (see figure below). On this
screen, you can select if you want to include a separator between layers (see Adding a
Separator Between Layers in a Palletizing Sequence on page 99).
7. Tap the pattern node(s) on the Program Tree to teach the robot layer-specific positions (e.g.,
start/end points, grid corners, and/or number of items). See 7.11.1. Move on page 70 for
teaching instructions. All positions must be taught at the bottom of the pallet. To duplicate a
pattern, tap the Duplicate pattern button on the Pattern node screen that you wish to
duplicate.
Line To teach the positions, select each item in the Program Tree:
• StartItem1
• EndItem1
Insert the number of items in your sequence using the Items text box at
the bottom of the screen.
Grid To teach the positions, select each item in the Program Tree:
• CornerItem1
• CornerItem2
8. In the Program Tree, tap the Layers node to configure the layers of your palletizing
sequence. Use the Choose Pattern drop-down menu to select the pattern for each layer. Tap
the Add layer button to add additional layers to your program. Layers must be added in the
correct order, as they cannot be reordered later.
9. In the Program Tree, tap At Each Item node. Choose to use the default option (A) At Each
Item Wizard, or (B) Manually Configure At Each Item. Instructions for each option are below.
ToolActionPoint Waypoint: The location and position you want the robot to
be in when conducting an action for each item in a layer. The ToolActionPoint
Waypoint is the ReferencePoint by default, but it can be edited in the Program
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Tree by tapping the ToolActionPoint Waypoint node. When using the wizard,
the ReferencePoint is the first position in the first defined layer on the pallet.
The ReferencePoint is used to teach the robot the Approach Waypoint,
ToolActionPoint ToolActionPoint Waypoint, and Exit Waypoint for each item in a layer.
Approach Waypoint: The collision-free position and direction you want the
robot to take when approaching an item in a layer.
Approach
Tool Action: The action you want the robot attachment to perform for each
item.
Tool Action
Exit Waypoint: The position and direction you want the robot to take when
moving away from an item in a layer.
Exit
Separators, such as paper or Styrofoam, can be placed between layers in a palletizing sequence.
To add separators between layers, follow the instructions below:
1. On the Program Tree, select the Patterns node.
2. On the Patterns screen, select Separator and define the height using the Separator Height
text box. If the height is not defined, the program will not run.
3. Select Layers in the Program Tree. On the Layers screen, select which layers you want the
separators to go between (separators are automatically placed between each layer).
4. Tap the Separator node in the Program Tree. Tap Set Separator to teach the Separator
Position.
5. Choose between using the default option (A) Separator Wizard, or (B) Manually Configure the
Separator sequence. Instructions for each option are below.
When the wizard is complete, or if you cancel the wizard, a template appears in the Program Tree
under Separator Action. In addition to the Tool Action folder under the Separator Action node, you
can select one of the following folders:
7.13.2. Seek
The seek function uses a sensor to determine the correct position to grab or drop an item. This
function allows for working on stacks of items of varying thickness, and determining the exact
positions of the items are either unknown or too hard to program.
The sensor can be a push button switch, a pressure sensor or a capacitive sensor.
Stacking Destacking
You must also define the condition for when the next stack position is reached, and a special
program sequence that is performed at each stack position.
Speed and accelerations need to be given for the movement involved in the stack operation.
Stacking
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
During Stacking, the robot arm moves to point A, then moves opposite the direction to search for
the next stack position. When the next stack position is found, the robot remembers it and
performs the special sequence.
In subsequent rounds, the robot starts the search from the remembered position, incremented by
the item's thickness along the direction.
Stacking is complete when the stack height is more than some defined number, or when a sensor
gives a signal.
Destacking
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
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
The direction, given by positions B to C, is calculated as the position difference from the TCP of B
to the TCP of C.
Direction does not consider the orientations of the points.
“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
The Pick/Place Sequence is a special program sequence performed at each stack position, similar
to the Pallet operation.
7.13.3. Force
NOTE
Using this function at the same time as Conveyor Tracking and/or Path Offset can
lead to program conflict.
• Do not use this function together with Conveyor Tracking or Path Offset.
Force mode is suited to applications where the actual TCP position along a predefined axis is not
important, but instead a desired force along that axis is required. For example, if the robot TCP rolls
against a curved surface, pushes or pulls a workpiece.
Force mode also supports applying certain torques around predefined axes. The robot arm
attempts to accelerate along that axis, if no obstacles are met in an axis where a non-zero force is
set. Although an axis is selected to be compliant, the robot program still tries to move the robot
along that axis. However, force control assures that the robot arm still approaches the specified
NOTE
If there is a Force node inside an If, ElseIf or Loop, and the Check
Expression Continuously option is selected, you can add an end_force_
mode() script at the end of the expression to exit force control.
WARNING
1. Avoid high deceleration just before entering force mode.
2. Avoid high acceleration in force mode, since it decreases force control
accuracy.
3. Avoid movements parallel to compliant axes before entering force mode.
Feature selection
The Feature menu is used to select the coordinate system (axes) the robot will use while it is
operating in force mode. The features in the menu are those which have been defined in the
installation (see 8.17. Features on page 142).
When the robot arm is not moving: If force mode is entered with the robot arm standing still,
there will be no compliant axes until the TCP speed is above zero. If later, while still in force
mode, the robot arm is again standing still, the task frame has the same orientation as the
last time the TCP speed was larger than zero.
For the last three types, the actual task frame can be viewed at runtime on the graphics tab (see
7.9. Graphics Tab on page 68), when the robot is operating in force mode.
For translational parameters, the force is specified in Newtons [N] and for rotational the torque is
specified in Newton meters [Nm].
NOTE
Using this function at the same time as Force and/or Path Offset can lead to a
program conflict.
• Do not use this function together with Force or Path Offset.
Conveyor Tracking allows the Robot Arm to track the movement of up to two conveyors. Conveyor
Tracking is defined in the Installation Tab (see section 8.14. Conveyor Tracking Setup on
page 138).
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
The Conveyor Tracking program node is available in the Program Tab under Templates. All
movements under this node are allowed while tracking the conveyor, but they are relative to the
motion of the conveyor belt. Blends are not allowed when exiting Conveyor Tracking, so the robot
stops completely before making the next motion.
Tracking a Conveyor
1. In the Header, tap Program.
2. Tap Templates and select Conveyor Tracking to add a Conveyor Tracking node to the
Program Tree. Any movements listed under the Conveyor Tracking node tracks the
movement of the conveyor.
3. Under Conveyor Tracking, in the Select Conveyor dropdown list, select Conveyor 1 or
Conveyor 2 to define which conveyor must be tracked.
NOTE
If there is a Conveyor Tracking node inside an If, ElseIf or Loop, and the Check
Expression Continuously option is selected, you can add an end_
conveyor_tracking() script at the end of the expression to exit conveyor
tracking.
7.13.8. Screwdriving
The Screwdriving program node provides an easy way to add a screwdriving application for an
attached screwdriver. Configuring the screwdriver and its connections to the robot is defined in the
Installation Tab (see 8.1. General on page 123).
Select Enable Machine Error Handler, to add a corrective measure, if required, to the
Program Tree before the screwdriving actions begins.
Selecting Follow the Screw, under Process, to affect the screwdriving action in the following ways:
• Force: Select Force to define how much force is exerted on a screw. Then select Speed
Limit, so the robot moves at this speed as long as it does not come into contact with the
screw.
CAUTION
Place the screwdriver bit above the screw before starting a screwdriving
program. Exerting any force on the screw can affect the screwdriving
program performance.
• Speed: Select a fixed Tool Speed and Accelerationfor the robot to follow the screw.
• Expression: Similar to the If command (see 7.12.2. If on page 88), select Expression to
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
describe the condition under which the robot follows the screw.
• Success: Screwdriving continues until completion is detected using your selected option.
You can only add one success condition.
• Error: Screwdriving continues until an error is detected using your selected option/s. You can
add more than one error condition.
Success
• OK: Screwdriving continues until an OK signal from the screwdriver
is detected.
• Time: Screwdriving continues upto a defined time.
• Distance: Screwdriving continues upto a defined distance.
• Expression: Screwdriving continues until a custom expression
condition is met.
Error
• Not OK: Screwdriving stops when a NOT OK signal from the
7.14. URCaps
7.14.1. Remote TCP and Toolpath URCap
The Remote TCP and Toolpath URCap allows you to set Remote Tool Center Points (RTCP), where
the tool center point is fixed in space, relative to the base of the robot. The Remote TCP and
Toolpath URCap also allows for programming waypoints and circle moves, and generating robot
motion based on imported toolpath files defined in third-party CAD/CAM software packages.
The Remote TCP URCap requires your robot to be registered before use (see 1.7. Robot
Registration and License file on page 18). The RTCP works in applications that require the robot to
grasp and move items, relative to a fixed tool. The RTCP is used together with the RTCP_MoveP
and RTCP_CircleMove commands to move a grasped part with constant speed, relative to the fixed
tool.
Similar to a regular TCP (see 8.2. TCP Configuration on page 123) you can define and name an
RTCP in the Installation Tab’s Setup. You can also complete the following actions:
• Add, rename, modify, and remove RTCPs
• Understand the default and active RTCP
• Teach RTCP position
• Copy RTCP orientation
RTCP_MoveP
Similar to a regular MoveP, the RTCP_MoveP defines the tool speed and acceleration the Robot
Arm moves relative to the Remote TCP. See 8.2. TCP Configuration on page 123.
NOTE
The maximum speed of a Circle Move may be lower than the specified value. The
circle radius is r, the maximum acceleration is A, and the maximum speed cannot
exceed Ar due to centripetal acceleration.
NOTE
A physical time node (e.g. Move, Wait) cannot be used as a child of an RTCP_
MoveP node. If an unsupported node is added as a child to an RTCP_MoveP node,
the program fails to validate.
1. Load the toolpath files in the root directory of a USB stick. Toolpath files must have the .nc
extension
2. Insert the USB stick into the Teach Pendant.
3. In the Header, tap Installation, tap URCaps, select Remote TCP & Toolpath, select Remote
TCP - Toolpath Moves, and select Toolpath.
4. Select which toolpath files to import into Polyscope.
The following section explains how to use a variable PCS in a Remote TCP Toolpath node.
NOTE
You can ensure the robot motion is identical, each time the toolpath is executed, by
adding a MoveJ with a Use Joint Angles set to move to a fixed joint configuration
NOTE
You can ensure the robot motion is identical, each time the toolpath is executed, by
adding a MoveJ with a Use Joint Angles set to move to a fixed joint configuration
before executing the toolpath. See 7.11.1. Move on page 70
e-Series
122
Software Manual
7. Program Tab
8. Installation Tab
8. Installation Tab
8.1. General
The Installation Tab allows you to configure the settings which affect the overall performance of
the robot and PolyScope.
8.2.1. Position
The X, Y, Z coordinates specify the TCP position. When all values (including orientation) are zero,
the TCP coincides with the center point of the tool output flange and adopts the coordinate system
depicted on the screen.
8.2.2. Orientation
The RX, RY, RZ coordinate boxes specify the TCP orientation. Similar to the Move Tab, use the
Units drop down menu above the RX, RY, RZ boxes to select the orientation coordinates (see ).
Active TCP
When moving linearly, the robot always uses the active TCP to determine the TCP offset. The
active TCP can be changed using a Move command (see 7.11.1. Move on page 70) or a Set
command. The motion of the active TCP is visualised on the Graphics Tab (see 7.9. Graphics
Tab on page 68).
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Default TCP
The Default TCP must be set as the active TCP before running a program.
• Select the desired TCP and tap Set as default to set a TCP as the default.
The green icon in the available drop-down menu indicates the default configured TCP.
1. Tap Measure.
2. Choose a fixed point in the workspace of the robot.
3. Use the position arrows on the right side of the screen to move the TCP from at least three
different angles and to save the corresponding positions of the tool output flange.
4. Use the Set button to apply the verified coordinates to the appropriate TCP. The positions
must be sufficiently diverse for the calculation to work correctly. If they are not sufficiently
diverse, the status LED above the buttons turns red.
Though three positions are sufficient to determine the TCP, a fourth position can be used to further
verify 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 corresponding button.
8.3. Payload
You must set the Payload, the CoG and the inertia for the robot to perform optimally.
You can define multiple Payloads, and switch between them in your program. This is useful in Pick
and Place applications, for example, where the robot picks up and releases an object.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Active Payload
The checkmark in the drop-down indicates which payload is active . The active
Payload can be changed using the .
Default Payload
The default Payload is set as the active Payload before the program starts.
• Select the desired Payload and tap Set as default to set a Payload as the default.
The green icon in the drop-down menu indicates the default configured Payload .
8.3.4. Inertia
8.4. Mounting
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
An advanced dynamics model gives the Robot arm smooth and precise motions, as well as allows
the Robot arm to hold itself in Freedrive Mode. For this reason, it is important to mount the Robot
arm correctly.
WARNING
Failure to mount the Robot’s arm correctly may result in frequent Protective Stops,
and/or the Robot arm will move when pressing the Freedrive button.
If the Robot arm is mounted on a flat table or floor, 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 buttons.
The buttons on the right side of the screen are for setting the angle of the Robot arm’s mounting.
The top three right side buttons set the angle to ceiling (180∘ ), wall (90∘ ), floor (0∘ ). The Tilt
buttons 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
Use the correct installation settings. Save and load the installation files with the
program.
Use the I/O Setup screen to define I/O signals and configure actions with the I/O tab control. The
types of I/O signals are listed under Input and Output.
You can use a fieldbus, for example, Profinet and EtherNet/IP, to access the general purpose
registers.
If you enable the Tool Communication Interface (TCI), the tool analog input becomes unavailable.
You must provide a user-defined name for a general purpose register to make it available in the
program (i.e., for a Wait command or the conditional expression of an If command).
The Wait and If commands are described in (7.11.8. Wait on page 83) and (7.12.2. If on page 88),
respectively. You can find named general purpose registers in the Input or Output selector on the
Expression Editor screen.
Input Action
Start Starts or resumes the current program on a rising edge (only
enabled in Remote Control, see 13.4.5. Remote Control on
page 187 )
Stop Stops the current program on a rising edge
Pause Pauses the current program on a rising edge
Freedrive When the input is high, the robot goes into freedrive (similar to
the freedrive button).
The input is ignored if other conditions disallow freedrive.
WARNING
If the robot is stopped while using the Start input action, the robot slowly moves to
the first waypoint of the program before executing that program. If the robot is
paused while using the Start input action, the robot slowly moves to the position
from where it was paused before resuming that program.
NOTE
Variables created on the Installation Variables pane are called installation variables and are used
like normal program variables. Installation variables are distinct because they keep their value even
if a program stops then starts again, and when the robot arm and/or Control Box is powered down
and powered up again.
Installation variables names and values are stored with the installation, so you can use the same
variable in multiple programs.
Installation variables and their values are saved automatically every 10 minutes during program
execution, also when the program is paused and when it is stopped.
Designating a favorite variable allows the installation variable to be part of the set of favorite
variables displayed when you select it to only show favorite variables on the Variables tab in the
Program Tab screen and on the Run Tab screen.
To edit a variable
To delete a variable
1. Select the desired variable and tap Delete.
2. Select Delete Variable in the confirmation pop-up
8.7. Startup
The Startup screen contains settings for automatically loading and starting a default program, and
for auto-initializing the Robot arm during power up.
WARNING
1. When autoload, auto start and auto initialize are enabled, the robot runs the
program as soon as the Control Box is powered up as long as the input
signal matches the selected signal level. For example, the edge transition to
the selected signal level will not be required in this case.
2. Use caution when the signal level is set to LOW. Input signals are low by
default, leading the program to automatically run without being triggered by
an external signal.
3. You must be in Remote Control Mode before running a program where auto
start and auto initialize are enabled.
signal level on startup starts the program immediately. Furthermore, leaving the Run Program
screen or tapping the Stop button in the Dashboard disables the auto start feature until the Run
button is pressed again.
NOTE
If a URCap controls an end-effector, such as a gripper, then the URCap requires
control of the Tool IO Interface. Select the URCap in the list, to allow it to control
the Tool IO Interface.
After selecting a new output configuration, the changes take effect. The currently loaded
installation is modified to reflect the new configuration. After verifying the tool outputs are working
as intended, make sure to save the installation to prevent losing changes.
8.13. Home
Home is a user-defined return position for the Robot Arm. Once defined, the Home Position is
available when creating a robot program. You can use the Home Position to define a Safe Home
Position.(See 5.18. Safe Home Position on page 49) Use the Home screen buttons for the
following:
configured. The Conveyor Tracking Setup provides options for configuring the robot to work with
absolute or incremental encoders, as well as linear or circular conveyors.
In any output Program Selection list under Output, you can select an integer output to switch
Program Selection (see 7.13.8. Screwdriving on page 109) to a number field.
(see 8.2. TCP Configuration on page 123) where Position and Orientation are set up as
follows:
• Configure the Position to be the tip of the screwdriver tool where it contacts the screw.
• Configure the Orientation so that the positive Z direction is aligned to the length of the
screws to be tightened.
You can visualize the X, Y and Z coordinates of the selected TCP to confirm it matches the
tool’s bit or socket.
The Screwdriving program node (see 7.13.8. Screwdriving on page 109) uses the positive Z
direction of the selected TCP to follow the screw and calculate distances.
Typical Orientation values (in Rotation Vector [rad] notation) are illustrated in the following table.
Orientation
Orientation
8.16. Safety
See chapter 5. Safety Configuration on page 33.
8.17. Features
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
A Feature represents an object defined by a six dimensional pose (position and orientation) relative
to the robot base. You can name a feature for future reference.
Some subparts of a robot program consist of movements executed relative to specific objects
other than the base of the robot arm. These objects can be tables, other machines, workpieces,
vision systems, blanks, or boundaries existing around the robot arm.
The robot includes two predefined features, listed below, with poses defined by the configuration
of the robot arm itself:
• The Base feature is located with origin in the centre of the robot base (see figure 9.1).
• The Tool feature is located with origin in the centre of the current TCP (see figure 9.2).
Use the Point feature, Line feature and/or Plane feature to define a feature pose.
These features are positioned through a method that uses the current pose of the TCP in the work
feature and is chosen as a reference in the Move Tab, the translation arrows (i.e., up/down,
left/right, forward/backward) move the robot in these directions relative to the table. Additionally,
the TCP coordinates will be in the frame of the table.
• In the Features tree you can rename a Point, Line or Plane by tapping the pencil button.
• In the Features tree you can delete a Point, Line or Plane by tapping the Delete button.
point feature pose is defined as the position and orientation of the TCP.
Adding a Point
1. In Installation, select Features.
2. Under Features select Point.
Adding a Line
1. In Installation, select Features.
2. Under Features select Line.
In figure 9.3 the axis directed from the first point towards the second point, constitutes the y-axis
of the line coordinate system. The z-axis is defined by the projection of the z-axis of p1 onto the
Adding a plane
1. In Installation, select Features.
2. Under Features select Plane.
Teaching a plane
When you press the plane button to create a new plane, the on-screen guide assists you creating a
plane.
1. Select Origo
2. Move robot to define the direction of the positive x-axis of the plane
3. Move robot to define the direction of the positive y-axis of the plane
The plane is defined using the right hand rule so the z- axis is the cross product of the x-axis and
the y-axis, as illustrated below.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
NOTE
You can re-teach the plane in the opposite direction of the x-axis, if you want that
plane to be normal in the opposite direction.
Modify an existing plane by selecting Plane and pressing Modify Plane. You will then use the same
guide as for teaching a new plane.
Robot Program
MoveJ
S1
MoveL # Feature: P1_var
wp1
wp2
wp3
wp4
The application requires the program to be reused for multiple robot installations where the
position of the table varies slightly. The movement relative to the table is identical. By defining the
table position as a feature P1 in the installation, the program with a MoveL command configured
relative to the plane can be easily applied on additional robots by just updating the installation with
the actual position of the table.
The concept applies to a number of Features in an application to achieve a flexible program can
solve the same task on many robots even though if other places in the work space varies between
installations.
Robot Program
MoveJ
wp1
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
y = 0.01
o = p[0,y,0,0,0,0]
P1_var = pose_trans(P1_var, o)
MoveL # Feature: P1_var
wp1
wp2
wp3
wp4
Robot Program
MoveJ
S1
if (digital_input[0]) then
P1_var = P1
else
P1_var = P2
MoveL # Feature: P1_var
wp1
wp2
wp3
wp4
The movement relative to P1 is repeated a number of times, each time by an offset o. In this
Use Edit to place and move features without moving the robot arm, so the feature can be placed
outside of the robot arm's reach.
Editing a Point
You can edit a defined point or an undefined point. Editing an undefined point defines it.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Editing a Line
The line appears as two points in your program tree. You must define each point.
1. In Installation, tap Features.
2. Under Feature, select Line to add a line to your program tree.
3. The line is made up of two points:
• Tap one point to edit those coordinates, then tap the other line point to edit those
coordinates.
Editing a Plane
1. In Installation, tap Features.
2. Under Feature, select Plane to add a plane to your program tree.
3. Tap Edit to access the Edit screen to make changes to the positon and rotation of the plane
8.18. Fieldbus
Here you can set the family of industrial computer network protocols used for real-time distributed
control accepted by PolyScope: MODBUS, Ethernet/IP and PROFINET.
Here, the MODBUS client (master) signals can be set up. Connections to MODBUS servers (or Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
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.
8.19.1. Refresh
Push this button to refresh all MODBUS connections. Refreshing disconnects all modbus units, and
connects them back again. All statistics are cleared.
sequential mode. Actual signal frequency can be observed in signal statistics (see section 8.19.14.
Advanced Options on page 154). The signal indicator turns yellow if the actual signal frequency is
less than half of the value selected from the Frequency drop-down list.
Digital input
A digital input (coil) is a one-bit quantity which is read from the MODBUS unit on the coil
specified in the address field of the signal. Function code 0x02 (Read Discrete Inputs) is used.
Digital output
A digital output (coil) is a one-bit quantity which can be set to either high or low. Before the
value of this output has been set by the user, the value is read from the remote MODBUS unit.
This means that function code 0x01 (Read Coils) is used. When the output has been set by a
robot program or by pressing the set signal value button, the function code 0x05 (Write Single
Coil) is used onwards.
Register input
A register input is a 16-bit quantity read from the address specified in the address field. The
function code 0x04 (Read Input Registers) is used.
Register output
A register output is a 16-bit quantity which can be set by the user. Before the value of the
register has been set, the value of it is read from the remote MODBUS unit. This means that
function code 0x03 (Read Holding Registers) 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.
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
the signal value. When the frequency is set to 0, then modbus requests are initiated on demand
using a modbus_get_signal_status, modbus_set_output_register, and modbus_set_output_signal
script functions.
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.
Reconnect count
Number of times TCP connection was closed, and connected again.
Connection status
TCP connection status.
Response time [ms]
Time between modbus request sent, and response received - this is updated only when
communication is active.
Modbus packet errors
Number of received packets that contained errors (i.e. invalid length, missing data, TCP socket
error).
Timeouts
Number of modbus requests that didn’t get response.
Requests failed
Number of packets that could not be sent due to invalid socket status.
Actual freq.
The average frequency of client (master) signal status updates. This value is recalculated each
time the signal receives a response from the server (or slave).
8.20. EtherNet/IP
EtherNet/IP is a network protocol that enables the connection of the robot to an industrial
EtherNet/IP Scanner Device.
If the connection is enabled, you can select the action that occurs when a program loses
EtherNet/IP Scanner Device connection.
Those actions are:
None
PolyScope ignores the loss of EtherNet/IP connection and the program continues to run.
Pause
PolyScope pauses the current program. The program resumes from where it stopped.
Stop
PolyScope stops the current program.
None
PolyScope ignores the loss of PROFINET connection and the program continues to run.
Pause
PolyScope pauses the current program. The program resumes from where it stopped.
Stop
PolyScope stops the current program.
If the PROFINET engineering tool (e.g. TIA portal) emits a DCP Flash signal to the robot's
PROFINET or PROFIsafe device, a popup in PolyScope is displayed.
8.22. PROFIsafe
The PROFIsafe network protocol allows the robot to communicate with a safety PLC according to
ISO 13849, Cat. 3 PLd requirements. The robot transmits safety state information to a safety PLC,
then receives information to trigger safety related functions, such as: emergency stop or enter
reduced mode.
The PROFIsafe interface provides a safe, network-based alternative to connecting wires to the
safety IO pins of the robot control box.
PROFIsafe is only available on robots that have an enabling license, which you can obtain by
contacting your local sales representative, once obtained, the license can be downloaded on myUR.
Please refer to 1.7. Robot Registration and License file on page 18 for information regarding robot
registration and license activation.
Signal Description
E-Stop by system Asserts the system e-stop.
Safeguard stop Asserts the safeguard stop.
Reset safeguard stop Resets safeguard stop state (on low-to-high transition in
automatic mode) if the safeguard stop input is cleared
beforehand.
Safeguard stop auto Asserts safeguard stop if the robot is operating in Automatic
mode.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
A status message sent to the safety PLC contains the information in the table below.
Signal Description
Stop, cat. 0 Robot is performing, or it has completed, a safety stop of
category 0; A hard stop by immediate removal of power to the
arm and the motors.
Stop, cat. 1 Robot is performing, or it has completed, a safety stop of
category 1; A controlled stop after which the motors are left in a
power off state with brakes engaged.
Stop, cat. 2 Robot is performing, or it has completed, a safety stop of
category 2; A controlled stop after which the motors are left in a
power on state.
Violation Robot is stopped because the safety system failed to comply
with the safety limits currently defined.
Signal Description
Fault Robot is stopped because of an unexpected exceptional error in
the safety system.
E-stop by system Robot is stopped because of one of the following conditions:
• a safety PLC connected via PROFIsafe has asserted
system level e-stop.
• an IMMI module connected to the control box has asserted
a system level e-stop.
• a unit connected to the system e-stop configurable safety
input of the control box has asserted system level e-stop.
E-stop by robot The robot is stopped because of one of the following conditions:
• The e-stop button of the teach pendant is pressed.
• An e-stop button connected to the robot e-stop non-
Signal Description
3PE stop Robot is stopped because it is operating in Manual mode and
because of one of the following conditions:
• You are using a 3PE TP and none of the buttons are in the
middle position.
• A 3-position enabling device connected to a configurable
safety input of the control box has asserted the 3PE stop.
Operational mode Indication of the current operational mode of the robot.
This mode can be: Disabled (0), Automatic (1), or Manual (2).
Reduced mode Reduced mode safety limits are currently active.
Active limit set The active set of safety limits.
This can be: Normal (0), Reduced (1), or Recovery (2).
Robot moving Robot is moving. If any joint moves at a velocity of 0.02 rad/s or
higher the robot is considered in motion.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Safe home position Robot is at rest (robot not moving), and in the position defined as
the Safe Home Position.
1. Connect the robot to a trusted network that accesses a safety compliant PLC.
2. On PolyScope, in the Header, tap Installation.
3. Tap Safety, select PROFIsafe and configure as needed.
e-Series
160
Software Manual
8. Installation Tab
9. Move Tab
9. Move Tab
On this screen, you can move (jog) the robot arm directly, either by translating/rotating the robot
tool, or by moving robot joints individually.
9.2. Robot
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 5.11. Planes on page 39), a 3D
representation of the proximate boundary limit is shown. When the robot is running a program, the
visualization of boundary limits is 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 5.8. Safety Modes on page 37) 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 robot TCP is no longer in 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.
9.2.1. Feature
Under Feature, you can define how to control the robot arm relative to View, Base or Tool features.
For the best feel for controlling the robot arm you can select the View feature, then use Rotate
arrows to change the viewing angle of the 3D image to match your view of the real robot arm.
9.2.3. Home
The Home button accesses the Move Robot into Position screen, where you can hold down the
Auto button (see 7.1.2. Move robot to: on page 60) to move robot into position previously defined
under Installation (see 8.13.1. Defining Home on page 138). The Home button’s default setting
returns the Robo Arm to an upright position (see 8.13. Home on page 137).
9.2.4. Freedrive
The on-screen Freedrive button allows the Robot Arm to be pulled into desired positions/poses.
9.2.5. Align
The Align button allows the Z axis of the active TCP to align to a selected feature.
WARNING
1. In the Setup tab, if the gravity setting (see 8.4. Mounting on page 128) is
wrong, or the robot arm carries a heavy load, the robot arm can start moving
(falling) when you press the Freedrive tab. In that case, release Freedrive
again.
2. Use the correct installation settings (e.g. Robot mounting angle, payload
mass and payload center of gravity offset). Save and load the installation
files along with the program.
3. Payload settings and robot mounting settings must be set correctly before
operating the Freedrive button. If these settings are not correct, the robot
arm will move when you activate Freedrive.
4. The Freedrive function must only be used in installations where the risk
assessment allows it. Tools and obstacles must not have sharp edges or
pinch points. Make sure that all personnel remain outside the reach of the
Robot
The 3D image shows the current Robot Arm position. The shadow shows the Robot Arm target
position controlled by the specified values on the screen. Press the magnifying glass icons to
zoom in/out or drag a finger across it 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 5.11. Planes on page 39), 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 5.8. Safety
Modes on page 37) 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 is no
longer in proximity of the limit, the 3D representation disappears. If the target TCP is in violation or
very close to violating a boundary limit, the visualization of the limit turns red.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
You can tap the values to edit the coordinates. You can also tap the + or - buttons to the right of a
box to add/subtract an amount to/from the current value. Or you can hold down a button to directly
increase/decrease the value.
Joint Positions
Individual joint positions are specified directly. Each joint position can have Joint Limit range from
− 360∘ to + 360∘ . You can configure Joint Positions as follows:
OK Button
If you activate this screen from the Move screen (see 9. Move Tab on page 161), tap the OK button
to return to the Move screen. The Robot Arm moves to the specified target. If the last specified
value was a tool coordinate, the Robot Arm moves to the target position using movement type
MoveL; or it uses movement type MoveJ if a joint position was specified last (see Movement
Types on page 70).
Cancel Button
The Cancel button exits the screen discarding all changes.
e-Series
166
Software Manual
9. Move Tab
10. I/O Tab
Voltage
In Tool Output, Voltage can be configured only when Tool Output is controlled by the User.
Selecting a URCap removes access to the Voltage.
NOTE
When the Dual Pin Power is enabled, the tool digital outputs must be named as
follows:
• tool_out[0] (Power)
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
• tool_out[1] (GND)
The Tool Output field is illustrated below.
10.2. MODBUS
The screenshot below displays the MODBUS client I/O signals as they are set up in the installation.
Using the drop-down menus at the top of the screen, you can change the displayed content based
on signal type and MODBUS unit if more than one is configured. Each signal in the lists contains its
connections status, value, name, and signal address. The output signals can be toggled if the
connection status and the choice for I/O tab control allows it (see 8.5. I/O Setup on page 129).
Software Manual
169
e-Series
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
e-Series
170
Software Manual
10. I/O Tab
11. Log Tab
Message Severity
You can filter messages by selecting the toggle buttons that correspond to the severity of the log
entry or by whether an attachment is present. The following table describes message severity.
Provides general information, such as status of a program, changes of the controller and
controller version.
Issues that may have occurred but the system was able to recover.
A violation occurs if the safety limit is exceeded. This causes the robot to perform a
safety rated stop.
A fault occurs if there is an unrecoverable error in the system. This causes the robot to
perform a safety rated stop.
When you select a log entry, additional information appears on the right side of the screen.
Selecting the attachments filter either displays entry attachments exclusively or, displays all
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
entries.
NOTE
The oldest report is deleted when a new one is generated. Only the five most recent
reports are stored.
1. Select a log line and tap the Save Report button to save the report to a USB drive.
You can save the report while a program is running.
The exported report contains: a user program, a history log, an installation and a list of running
services.
NOTE
The export process can take up to 10 minutes depending on USB drive speed and
the size of files collected from robot file system. The report is saved as a regular
zip file, that is not password protected, and can be edited before sending to
technical support.
e-Series
174
Software Manual
11. Log Tab
12. Program and Installation Manager
The Program and Installation Manager refers to three icons that allow you to create, load and
configure Programs and Installations: New..., Open... and Save.... The File Path displays your
current loaded Program name and the type of Installation. File Path changes when you create or
load a new Program or Installation. You can have several installation files for a robot. Programs
created load and use the active installation automatically.
12.1. Open...
Opening a Program
1. In the Program and Installation Manager, tap Open... and select Program.
2. On the Load Program screen, select an existing program and tap Open.
3. In the File Path, verify that the desired program name is displayed.
Opening an Installation.
1. In the Program and Installation Manager, tap Open... and select Installation.
2. On the Load Robot Installation screen, select an existing installation and tap Open.
3. In the Safety Configuration box, select Apply and restart to prompt robot reboot.
4. Select Set Installation to set installation for the current Program.
5. In the File Path, verify that the desired installation name is displayed.
12.2. New...
Allows you to create a new Program and/or Installation.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Save your installation for use after powering down the robot.
1. In the Program and Installation Manager, tap New... and select Installation.
2. Tap Confirm Safety Configuration.
3. On the Installation screen, configure your new installation as desired.
4. In the Program and Installation Manager, tap Save... and select Save Installation As...
5. On the Save Robot Installation screen, assign a file name and tap Save.
6. Select Set Installation to set installation for the current Program.
7. In File Path, verify that the new installation name is displayed.
12.3. Save...
This image shows the load screen which consists of the following buttons:
Breadcrumb Path
The breadcrumb path shows a list of directories leading to the present location. By selecting a
directory name in the breadcrumb, the location changes to that directory and displays it in the file
selection area.
File Filter
You can specify the file types shown. After selecting Backup Files, this area displays the 10 most
recently saved program versions, where ’.old0’ is the newest and ’.old9’ is the oldest.
Filename
The selected file is shown here. When saving a file, use the text field to manually enter the file
name.
Action buttons
The action bar consists of a series of buttons that enable you to manage files.
The ’Backup’ action to the right of the action bar supports backing up the currently selected files
and directories to the location and to a USB. The ’Backup’ action is only enabled when an external
e-Series
180
Software Manual
12. Program and Installation Manager
13. Hamburger menu
NOTE
When you scan the QR code the following information will be sent with the QR
code, and can be used in customer analytics at Universal Robots:
• PolyScope software version installed
• Robot type and size
• Language in Polyscope
• Serial number of the robot arm
13.2. About
You can display Version and Legal data.
1. Tap the Hamburger menu and select About.
2. Tap either Version or Legal to display data.
3. Tap Close to return to your screen.
13.3. Settings
Personalizing PolyScope Settings
1. In the Header, tap the Hamburger menu and select Settings.
2. In the Side Menu on the left, select an item to personalize. If an operational mode password
was set, in the Side Menu, System is only available to the programmer.
3. On the bottom right, tap Apply and Restart to implement your changes.
4. On the bottom left, tap Exit to close Settings screen without changes.
13.3.1. Preferences
Language
Time
You can access and/or adjust the current time and date displayed on the PolyScope.
1. In the Header, tap the Hamburger menu icon and select Settings.
2. Under Preferences, select Time.
3. Verify and/or adjust Time and/or Date as desired.
4. Tap Apply and Restart to apply your changes.
Date and Time are displayed in the Log tab (see 11.2. Date Log on page 171) under Date Log.
Speed Slider
Located at the base of the Run tab screen, the Speed Slider allows the operator to change the
speed of a running Program.
The Admin password is equal to the password used for the root user account on the Linux system
running on the robot, which may be needed in some network use cases such as SSH or SFTP.
WARNING
You cannot recover a lost Admin password.
• Take the appropriate steps to ensure your admin password is not lost.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Safety
The Safety password prevents unauthorized modification of the Safety settings.
13.4. System
13.4.1. Backup and Restore
Save a full copy of your system to a USB drive and use it to restore your system back to a previous
state. This may be necessary after disk corruption or accidental deletion.
NOTE
Use one of the USB ports inside the Control Box (CB) when doing a Backup and
Restore operation. Using a CB USB port is more stable and running a Backup
requires less time.
NOTE
Updating Software
1. In the Header, tap the Hamburger menu icon and select Settings.
2. Under System, tap Update.
3. Insert an USB and tap Search to list valid update files.
4. In the list of valid update files, select desired version and tap Update to install.
WARNING
Always check your program/s after a software upgrade. The upgrade might change
the trajectories in your program.
13.4.3. Network
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
You can configure robot connection to a network by selecting one of three available network
methods:
• DHCP
• Static Address
• Disabled network (if you don’t wish to connect your robot to a network)
Depending on the network method you select, configure your network settings:
• IP Address
• Subnet Mask
• Default Gateway
• Preferred DNS Server
• Alternative DNS Server
Details about the new URCap appear in the Active URCaps field. A status icon indicates the state
of the URCap, as listed below:
• URCap ok: The URCap is installed and running normally.
• URCap fault: The URCap is installed but unable to start. Contact the URCap developer.
• URCap restart needed: The URCap has just been installed and a restart is required.
Error messages and information about the URCap appear in the URCaps Information field.
Different error messages appear depending on the type of error/s detected.
Local Control does not allow Remote Control does not allow
Control of the robot via network or digital input is, by default, restricted.
• Enable and select the Remote Control feature removes this restriction.
• Enable Remote Control by switching to the Local Control profile (PolyScope control) of the
robot, allowing all control of running programs and executing scripts to be performed
remotely.
• Enable the Remote Control feature in Settings to access Remote mode and Local mode in
the profile.
NOTE
• Although Remote Control limits your actions in PolyScope, you can still
monitor robot state.
• When a robot system is powered off in Remote Control, it starts up in Remote
Control.
13.4.6. Security
General
General allows you to configure Magic Files and to configure network access to the robot.
Magic files
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
A Magic File is a script on a USB drive that executes once it is inserted into the system.
Magic files have unrestricted privileges to make system changes, thus they must be considered as
a security liability.
Inbound Connections
Use Restrict inbound network access to a specific subnet to make sure network connections
originating from an IP-address outside the indicated subnet will be refused. For example:
• Use 192.168.1.0/24 to only allow access from hosts in the range of 192.168.1.0 –
192.168.1.255.
• Use 192.168.1.96 to allow inbound access only from one host.
WARNING
URCaps may require particular network interfaces to be open in order to function.
• Consult your URCaps vendor/s, if any of your URCaps require particular
network interfaces (ports/services) to be open.
NOTE
SSH is a powerful tool if used as intended. Make sure you understand how to use
SSH technology before you rely on SSH technology to secure a robot application.
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Authentication
Any SSH connection requires the connecting user to authenticate when the connection is
established. You can set up authentication with a password and/or with a pre-shared, authorized
key.
Services
Services lists the standard services running on the robot. You can enable or disable each service.
Enabling a Service
1. In the Header, tap the Hamburger menu and select Settings.
2. Under Security, select Services.
3. Enter your Admin password.
4. In the list, select an option and tap Enable, or tap Disable.
14. Index
A
About 182
Align 162
Auto 162
Automatic mode 29
Base 11, 72
Blend parameters 75
Blending 74
Cone angle 45
Cone center 45
Control 54
Custom 36
Delete 40
Direction Vector 80
Disabled 39, 41
Edit Position 43
Elbow 11
Elbow Force 37
Elbow Speed 37
Error 111
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Ethernet 151
Expression Editor 94
Factory Presets 36
Folder 86
Frame 106
Hamburger Menu 14
Header 11
Home 162
Initialize 14, 16
input signals 46
joint space 70
Manual mode 29
mode
Automatic 13, 30
Local 13
Manual 13, 30
Remote 13
Modes 39
Momentum 36
Motion 106
Normal 40
Normal Plane 42
output signals 47
Pan angle 46
Point 106
PolyScope 11, 14, 17, 49, 88, 123, 151, 155, 188
popup 85
Position 43
Position range 38
Power 36
Profinet 155
Profisafe 155
program node 60
Program Node 67
Program Tree 67
Radius 43
Recovery mode 38
Relative waypoint 72
Rename 40
Restrict Elbow 41
Robot Limits 35
Robot Moving 47
robot program 60
Run 12, 53
safe Home 48
Safeguard Reset 47
Screen 11
Settings 183
Setup 163
Shoulder 11
Show 40
Simple 106
Simulation 14
Step 14
Copyright © 2009–2022 by Universal Robots A/S. All rights reserved.
Stop 14
stopped state 16
Stopping Distance 36
Stopping Time 36
Success 111
TCI 83
Templates 108
Tilt angle 46
Tool 43
Tool Flange 11
Tool Force 37
Tool Speed 37
Trigger Plane 42
Until 80
Until Distance 81
URCaps 186
Variable feature 72
Variable waypoint 72
Voltage 167
Wait 83
Waypoints 17
Wrist 11