Universal Robots

Universal Robots (UR) can be programmed with RoboDK using two different methods: URP files and Script files.

1.The Graphical User-Interface (URP files): URP programs are created using the teach pendant’s touch screen of the robot. A URP program can have one or more SCRIPT files as subprograms. URP programs are transformed into SCRIPT programs behind the scenes on the robot controller before execution.

2.Script files: Script programs use the UR Script programming language. Like any other programming language, UR Script has variables, types, flow of control statements, function etc. In addition, UR Script has several built-in variables and functions which control the I/O and the movements of the robot.

With RoboDK you can generate SCRIPT and URP files that can be executed by a UR robot. Additionally, it is possible to execute programs on the robot from RoboDK if the robot is connected to the computer.

RoboDK can also import SCRIPT files to the simulator. This allows you to simulate SCRIPT programs, modify them and re-export them.

The Graphical User Interface of a UR robot is called PolyScope (as shown in the following image).

Robots Universal Robots - Image 1

Retrieve the UR robot IP

The IP of the robot is required execute programs directly from the RoboDK simulator. It is also possible to transfer program files through FTP.

The IP of the robot can be retrieved from the About menu in the UR’s teach pendant main screen.

Robots Universal Robots - Image 2

The robot must be connected to the computer through an Ethernet connection (direct connection or through a network). A Ping test allows testing if the Network link has properly been stablished.

Run Program from RoboDK

Robot drivers provide an alternative to Offline Programming (where a program is generated, then, transferred to the robot and executed). You can run a simulation from RoboDK directly on the robot (Online Programming). More information available in the Robot Drivers section.

Follow these steps to connect to the robot from RoboDK:

1.Right click the robot in RoboDK

2.Select: Robots Universal Robots - Image 3 Connect to robot…

3.Enter the IP of the robot

4.Select Connect.

There should be a green message displaying Ready if the connection succeeded.

The robot can be moved by selecting Get robot joints, Move Joints and Move Linear, from the connection menu.

Robots Universal Robots - Image 4

There are two different methods to run the program from the PC to the robot:

1.Run on robot step by step with feedback in RoboDK (Online Programming):           
This method uses the robot as a server and each instruction is sent to the robot step by step as it is executed in the simulator. This method is useful for debugging purposes.

a.Right click the program (Print3D in this example)

b.Select Run on robot

c.  Double click the program to start it (or right click and select Run)

Once this option is checked it will connect to the real robot every time we double click a program (or right click, then, select Run)

These operations are also available from the RoboDK API and it allows integrating robot programming with other applications. The API is available in Python and C# and other programming languages.

Robots Universal Robots - Image 5

2.Send program to robot generates the complete program, transfers it to the robot and starts the program on the real robot (Robot Offline Programming):

a.Right click the program (Print3D in this example)

b.Select Send program to robot (Ctrl+F6).

Robots Universal Robots - Image 6


How to enable Remote Control on URe

You should enable the Remote Control option on the UR robot controller if you have a URe robot (UR3e, UR5e or UR10e).

Follow these steps to enable URe’s Remote Control:

1.Select the Settings menu from the top right button

2.Select System-Remote Control

3.Select Enable

4.Change the mode of operation to Remote Control

Robots Universal Robots - Image 7Robots Universal Robots - Image 8

Robots Universal Robots - Image 9

UR Monitoring

There is a macro available in the library that allow you to monitor the state of a UR robot and update the position of the real robot in RoboDK.

1.Select FileOpen

2.Load the Macro UR_ActivateMonitoring.py from: C:/RoboDK/Library/Macros/. A new Python object will we added in the station.

3.Make sure the IP of the robot is properly provided in the robot connection parameters.

4.Double click the macro to start monitoring.

The simulator will update the position of the robot and will create targets as the real robot is moved. Among other things, it is possible to monitor the robot speed, acceleration and motor currents.

Run a Program on the UR controller

Once your RoboDK simulation is ready you can generate a SCRIPT and/or a URP program. These two files can be executed by the robot controller. Follow these steps to generate a SCRIPT and a URP program from your robot simulation:

1.Right click a program (Print3D in this example)

2.Select Generate robot program F6

The program will be displayed in a text editor (this behavior can be changed in the menu: ToolsOptionsProgram).

Robots Universal Robots - Image 10

Transferring the SCRIPT and URP files can be done through SFTP transfer or a USB drive.

How to load a URP program

The following steps summarize the procedure to load a URP file on the Universal Robots robot.

1.Right click the program and select Select Post Processor

2.Select Universal Robots URP         
These first 2 steps are optional as the default post also generates a URP file, however, it will allow you to generate a user-readable URP program instead of a URP program that executes a script file.

3.Right click the program and select Generate robot program (F6)

4.Save the generated URP file(s) to a USB memory disk.

5.Connect the USB memory disk to the robot teach pendant (UR’s Polyscope)

6.On the robot teach pendant: Select the Run tab

7.Select Load Program and load the program generated from RoboDK

8.Select the Program tab and select the Play button to start it

9.Select the Play button to start the program.

Robots Universal Robots - Image 11  Robots Universal Robots - Image 12

 Robots Universal Robots - Image 13  Robots Universal Robots - Image 14

How to load a Script file

The following steps and images summarize the procedure to execute a SCRIPT program on the robot. These steps are not required to run a URP program file:

1.Select Program Robot on the main screen of the teach pendant

2.Select Empty Program

3.Select the Structure tab

4.Select the Advanced tab

5.Select Script code

6.Select File (as shown in the image)

7.Select the script file generated by RoboDK

8.Select the play icon to run the program

9.Select FileSave to save the changes

10.  Finally, the program can be executed

Robots Universal Robots - Image 15    Robots Universal Robots - Image 16

Robots Universal Robots - Image 17    Robots Universal Robots - Image 18

Transfer a Program (FTP)

A SCRIPT program generated from RoboDK (such as by pressing F6) can be transferred to the robot using a USB disk or by FTP transfer if the robot and the computer are connected.

It is recommended to install FileZilla Client on the default path or directly inside the RoboDK install folder so that it is detected automatically by RoboDK:

C:\RoboDK\FileZilla FTP Client\

To transfer a file through FTP:

1.Right click a robot

2.Select Connect to robot...

3.Select Explore. FileZilla Client will open (software for FTP transfer).

4.Select FileSite Manager...

5.Select Universal Robot sample, in Predefined Sites.

6.Select Duplicate. A copy of the Universal Robot setting will be created.

7.Enter the IP of the robot ( in this example).

8.Select Connect.

9.Transfer the SCRIPT file previously generated to the robot.

The SCRIPT programs are usually stored in the folder /Programs/ on the robot controller.

Robots Universal Robots - Image 19

Update Robot Kinematics

Following the steps in this section is optional and only required under certain circumstances when accuracy is required in offline programming. This section explains how to input the unique kinematic values of your UR robot in RoboDK to accurately simulate the robot.

UR controller kinematics are unique for each robot. The kinematics are the dimensions that define the robot in the form of the DH table (Denavit Hartenberg). RoboDK simulator uses the nominal UR kinematics by default, therefore, you may see from 2 mm to 10 mm discrepancy between the simulator kinematics and the controller kinematics.

To make the simulation exactly match the real robot you can import your UR robot-specific kinematics by simply opening a URP file created with the teach pendant.

You can also load the URP file manually by following this procedure:

1.Retrieve a URP file generated using the real robot (not using RoboDK or the UR simulator)

2.Open your robot in RoboDK. You'll find your UR robot in the RoboDK library. You can also use a UR robot available in one of your existing RoboDK stations.

3.Select Tools-Run Script

4.Select UR_LoadControllerKinematics

5.Select the URP file extracted from the robot controller.

You should see a message as shown in the following image. You may see warning message if you did not load a valid URP file or you did not select the right UR robot.

Robots Universal Robots - Image 20

When this procedure is completed, you can right click a robot and select Save as .robot. These parameters are saved with the robot file and you can use the robot file instead of repeating this procedure for every new project.

RoboDK extracts the information specific to your robot from the URP file and takes it into account for simulation and offline programming in the robot file. You can change this setting and revert to the default kinematics in the robot parameters menu as shown in the following image.

Robots Universal Robots - Image 21

You’ll notice that the Pose information displayed in the teach pendant matches the kinematics displayed in RoboDK (make sure you remove the tool frame and reference frame on RoboDK and the UR robot to make the comparison).

UR kinematics change from one robot to another one because each robot is calibrated in the factory by UR. Other robot vendors such as KUKA, ABB, Motoman or Fanuc do not calibrate their robots unless you purchase the so-called Absolute Accuracy option. The Absolute Accuracy options may take into account up to 40 calibration parameters or more.

This procedure is not the same as RoboDK’s robot calibration. Robot calibration helps improving the accuracy of the real robot.