UNSW Making

UR5 Basics Learn Module

Everything you need to know to get you started on our Universal Robots

UR5 Components


Control Box & Teaching Pendant

UR controller

Robot Manipulator

UR arm

UR5 Joints

ur wrists-06.png


Robotiq End Effectors

Robotiq 2F-85 Gripper

  1. Finger
  2. Palm Pad
  3. Proximal Phalanx
  4. Finger Tip
  5. Digital Phalanx
  6. Bar
  7. Status LED



Collaborative robots have safety features which allow them to be used collaboratively with humans. They can however still cause injury and even death if not integrated and/or programmed and/or used correctly.

It is the responsibility of the owner to make sure the robots are correctly installed and sufficient safety protocols are in place. It is the responsibility of the programmer to assess the risks of each application. It's the responsibility of the user to follow the correct protocols put in place by both the owner and the programmer and to use the robot for the function it has been programmed.

Risk Assessment and Management

A risk assessment must be completed at the commencement of every new project which uses equipment housed the DFL’s Collab.

A ‘New Project’ is defined as any combination of the following events taking place:

  • A new application will be loaded and run on equipment that hasn’t been subject to a previous risk assessment.
  • A new end effector, accessory or hardware is being used with an existing application.
  • Any equipment in the Collab is going to be physically moved, or furniture re-arranged around it.

For these reasons, please consider the scope of your project and anticipate the above factors to ensure your initial risk assessment will cover the full extent of your project. You may wish to perform the risk assessment in multiple locations and configurations to broaden the effective scope of your risk assessment.

To complete a risk assessment the programmer is required to fill out a manual form that can be downloaded here. This form must be signed by a DFL Collab staff member before operating your new project.

Spacial Awareness

The robotics collab room has designated areas marked on the floor.

The standard risk assessment for the DFL robotics collab requires that:

  • the robots are placed in the area marked on the floor with yellow tape.
  • Whilst operating the robots the user must stand outside of the yellow line marked across the floor

If the robots are moved from this position a new risk assessment must be completed. If the user is required to stand over the yellow line for the program a new risk assessment must be completed.

Before using the Collaborative Robot

Check all risk assessment procedures and paperwork have been completed and approved by the DFL staff for the project you will be running.

Make sure the robot arm and tool/end effector are properly and securely bolted in place.

Never use the robot if it is damaged, for example if joint caps are loose, broken or removed.

Make sure the robot arm has ample space to operate freely that the area you are using is free from clutter.

Before operating the robot make sure to warn people to stand outside of the robot work zone and that you will be operating the robot.

Familiarise yourself with the safety stops.

Operating the Collaborative Robot

Turn on the robot...

Operating Modes

Normal Mode: The safety mode and operating mode that is set by default.

Reduced Mode: Active when the robot TCP is positioned beyond a trigger reduced mode plane (These are set up in the installation>safety tab).

Recovery Mode: When the robot arm is in violation of one of the other modes. This mode allows the robot to slowly move back to the allowed area using MoveTab or Freedrive. It is not possible to run a program in this mode.

How to change the operating mode?

The operating mode can be set with the teaching pendant.

Moving the Robots


Coordinate Systems

Coordinate systems or frames determine the position and orientation of the robot and an object in space.

Robots coordinates

World coordinate system - The world coordinate system is a permanently defined Cartesian coordinate system. It is the root coordinate system for all other coordinate systems, in particular for base coordinate systems and the robot base coordinate system. By default, the world coordinate system is located at the robot base.

Robot base coordinate system - The robot base coordinate system is a Cartesian coordinate system, which is always located at the robot base. It defines the position of the robot relative to the world coordinate system. By default, the robot base coordinate system is identical to the world coordinate system. It is possible to define a rotation of the robot relative to the world coordinate system by changing the mounting orientation in Sunrise Workbench. By default, the mounting orientation of the floor-mounted robot is set (A=0°, B=0°, C=0°).

flange coordinates

Flange coordinate system - The flange coordinate system describes the current position and orientation of the robot flange centre point. It does not have a fixed location and is moved with the robot. The flange coordinate system is used as an origin for coordinate systems which describe tools mounted on the flange.

The following coordinate systems can be set by the user. These systems are to locate a workbench relative to the robot base and a tool relative to the flange.


Tool coordinate system - The tool coordinate system is a cartesian coordinate system which is located at the working point of the mounted tool. This is called the TCP (Tool Centre Point). Any number of frames can be defined for a tool and can be selected as the TCP. The origin of the tool coordinate system is generally identical to the flange coordinate system. The tool coordinate system is offset to the tool centre point by the user.

Base coordinates

Base coordinate system - In order to define motions in cartesian space, a reference coordinate system (base) must be specified. As standard, the world coordinate system is used as the base coordinate system for a motion. Additional base coordinate systems can be defined relative to the world coordinate system.

Jogging The Robot

Jogging is the term used when you move the robot.

Joint specific

This can be seen in the move tab on the bottom right-hand section.

World coordinate system

This can be seen in the move tab on the left-hand section that can be controlled through the arrows.

jogging the UR.jpg

Free Drive

This is achieved through holding the black button down on the back of the teaching pendant. This allows the user to physically move the robot arm into position.

free drive.png

Move J

Joint Motion

  • Non-linear path
  • Fastest movement type

Use when in free space and when the path of the TCP is not important

Move J Gif

Move L

Linear Motion

  • Linear movement

Use when in a confined space and when the path of the TCP is important.

Move L gif

Move P

Process Motion

  • Maintains a fixed TCP speed

Use when it is necessary for the tool to maintain a constant speed through several waypoints. It is mainly intended for process applications.

Move C

Circular Motion

  • Can only be used in combination with Move P
  • Maintains a fixed TCP speed

Use when the TCP has to make a circular motion at a fixed speed.

Move P Gif

Payload Movement Extents and Stopping


Work Envelope

A robot's work envelope is area that the robot can reach. This distance is determined by the length and reach of the robot's arm. A stationary robot can only perform within the confines of this work envelope. In this case the work envelope of the UR5 robot extends 850 mm from the base joint.


Our UR5 robots have a payload of 5kg. This is the weight that the robot can lift. This payload must include the weight of any end effector attached to the arm and the weight of the product being lifted.

Just like a human arm , you need to be aware that you can lift a more weight if you arm is bent and closer to your body rather than fully extended. For all payloads on the robots, the load center of gravity refers to the distance from the face of the mounting flange.


Stopping Distance and Times

The stopping distance is the axis angle traveled by the robot from the moment the stop signal is triggered until the robot comes to a completed standstill.

The stopping distances were measured using the robot-internal measuring technique with rated payloads. The wear on brakes depends on many factors including operating mode, application and the number of STOP 0 stops triggered.

The following shows the stopping distances and stopping times after a STOP 0

(category 0 stop) is triggered.

The values refer to the following configuration:

  • Extension l = 100%
  • Program override POV = 100%
  • Mass m = maximum load (rated load + supplementary load on arm)



What are Singularities?

When programming a robot to do a task, we generally think in terms of the way the robot tool moves in its workspace and describe this as movements relative to X, Y and Z axes in 3D or Cartesian space. The robot itself however needs this to be converted into a target angle for each of its six joints in order to be able to move the tool to the intended position. We call this conversion process kinematics, and with articulated robot arms like those in the UR product range, there are inevitably some difficulties with this conversion in certain situations.

There are three main scenarios where a UR robot may have problems moving to a position, either because it is physically not possible for the robot to reach the required position, or because it’s not possible to get there from the current position of the robot joints. Here we will broadly categorise these situations as singularities, and explain them one by one.


Outer Workspace Limit

The image below shows that within the recommended reach sphere (represented in blue), the robot can move the tool to any position with almost any orientation. When working in the area outside of the recommended reach, but still within the max working area (represented in grey), most positions can be reached but with restrictions on the tool orientation, because the robot physically cannot reach far enough in some situations.


Arrange the equipment around the robot to avoid working outside of the recommended workspace, or if this is not possible, select a UR robot with a longer reach.


Inner Workspace Limit

It is recommended to avoid robot movements in the column directly above and below the robot base (represented in grey in the animation below), as many positions/orientations will be physically unreachable due to the way the joints are laid out on the robot arm. Additionally, you may have issues performing linear movements in the space just outside of this cylinder (represented in orange), as a relatively slow tool speed requires a very high speed of rotation of the base joint, making some tool movements unachievable or unsafe.


Layout the robot task in such a way that it is not necessary to work in or close to the central cylinder. If this is unavoidable, use MoveJ with "Use joint angles" option instead of MoveL where possible, as this does not require kinematic conversion and is not affected by Singularities. You can also consider mounting the robot base on a horizontal surface to rotate the central cylinder from a vertical to horizontal orientation, potentially moving it away from the critical areas of the task.


Wrist Alignment Singularity

The shoulder, elbow and wrist 1 joints all rotate in the same plane on UR robots, as shown by the arrows numbered 1, 2 and 3 in the animation below. However when we also align the movement of wrist joint 2 (labelled 4 in the animation) with this same plane by moving it to an angle of 0 or 180 degrees, we limit the range of movements of the robot, regardless of the area of the workspace.


Layout the robot task in such a way that it is not necessary to align the robot wrist joints in this manner. Alternatively offset the direction of the tool, so that the tool can point horizontally without the problematic wrist alignment. Also, if the linear motion is not necessary, MoveJ with "Use joint angles" option would help to reduce the singularity issue.

Source: Universal Robots, 2021

User Interface


ur interface 1.png

Start Up Menu

Run Program: Choose and run an existing program. This is the simplest way to operate the robot arm and control box.

Program Robot: Change a program or create a new program.

Setup Robot: Change the language, set passwords, upgrade software, etc.

Shutdown Robot: Powers off the robot arm and shuts down the control box.

About: Provides details related to software versions, hostname, IP address, serial number and legal information.

ur interface 2.png

How to create a program:

  1. Touch the Next button (bottom right) so that the <empty> line is selected in the tree structure on the left side of the screen.
  2. Here you can select the programming block.
  3. Click the move button (This sets the motion type)
  4. Go to the command tab – Here you can set move type, speed, and acceleration.
  5. Press the next button, to go to the waypoint settings.
  6. Press set the waypoint button next the to the image that has a “?” in it.
  7. On the Move screen, move the robot by pressing the various blue arrows, or move the robot by holding the 'free drive' button on the back of the teaching pendant, while pulling the robot arm.
  8. Press OK.
  9. The Program is ready, the robot will move between the points when you press on the play button (symbol in footer)
ur interface 4.png


The Move command controls the robot motion through the underlying waypoints. Waypoints must be under a move command.

Set a movement type in the top left-hand corner.

More than one waypoint can be added under each move command by using the add waypoint button.

The move command defines the acceleration and the speed at which the robot arm will move between those waypoints, through joint speed and acceleration.

ur interface 5.png


Waypoint describes location and orientation in a cartesian coordinate system and is based off the translation and rotation of the TCP.

The robot moves between a series of waypoints, and this is what makes up the robotic program.

A fixed position waypoint is taught by physically moving the robot arm to the position. This can be done using the 'Set Waypoint' button

Individual waypoints can have different tool speeds or acceleration speeds or use the shared parameters.

Blend with radius can be used to blend out any sharp movements between two waypoints, creating a soft transition.

ur interface 6.png

Gripper Setup

Add a gripper action (Open or Close) in the structure tab:

  • Click the URCaps tab.
  • Then click on the command tab.
  • Edit action.
  • Change to either open or close.
  • Then save action.

In this edit action you can also change the speed and the force of the gripper to suit the application.

ur interface 7.png


Wait pauses I/O signal, or expression, for a given amount of time.

I/O signal could be a sensor, gripper etc.

If no wait is selected, nothing is done.

ur interface 8.png


Set either digital or analog outputs to a given value.

The output could be from the gripper or sensors connected to the control box.

You can adjust the payload weight to prevent the robot from triggering a protective stop, when the weight at the tool differs from the expected payload.

ur interface 9.png


The Popup is a message that appears on the screen when the program reaches the Popup node in the program tree.

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.

ur interface 10.png


The program execution stops at this point.

Get Started with Collaborative Robots


Get Trained

In order to use the UR5 collaborative robots at the DFL you will need to obtain the relevant badge. This involves some prior reading, practical training and a quiz. For more information on how to get trained get in contact with staff at the DFL!

UR5 Badge


To learn about programming the UR5 robots in RoboDK be sure to check out the RoboDK learn module!

Robo DK logo

KUKA IIWA Collaborative Robots

To learn more about using our KUKA IIWA robots check out our learn page!

Kuka IIWA Robot