UR5 Robot Arm: Technical Notes

Following are detailed technical notes on the UR5 arm which should not be needed by most course users. This is primarily documentation for the development of the course materials. If you are just using the arm, please refer to UR5 Robot Arm: User Guide.

UR5 Physical Setup Notes

Course users are not permitted to move the robot or install the cables; these notes are for the use of instructors and lab staff only.

  1. The robot is mounted to a frame of aluminum extrusion and is light enough to be picked up by two people. The preferred way to move it is to lift it enough to slide a caster set under each corner of the aluminum frame.
  2. After placing the arm in the desired location, please remove the casters, place them on the floor within the frame, and weight down the base using the sand bags.
  3. The robot controller is installed on a rolling cart. Locate the cart a convenient distance from the robot, within range of the beige robot cable and a normal 120VAC outlet.
  4. The robot cable plugs into a connector on the underside of the robot controller, near the left. Please make sure the connector is fully inserted and the latch is securely closed.
  5. The teach pendant is stored on a clip on the front of the robot case, but is more conveniently used mounted on the MDF stand. This should be securely clamped to the top of the cart.
  6. The robot power cord should be unplugged when not in use. It can be plugged into a normal baseboard 120VAC outlet.
  7. The pendant main power button controls the whole system. Press once to boot up the robot.
  8. After this point, please refer to the UR5 User Procedures.

Guide to the URScript Programming Language Manual

This 64 page PDF details the robot text-based programming language in much more detail. The is the actual code executed by the robot controller, which can be created either using the PolyScope GUI, externally edited, or communicated over a network TCP socket.

  • Section 2.1: motion functions.
  • Section 5.1: tool I/O functions.

OpenFrameworks UR5 Support

This course emphasizes teach-pendant programming with programmed waypoints. This is well-supported by the standard Universal Robots PolyScope software and beginner-friendly. For more advanced applications it is possible to stream robot commands directly to the robot controller from an external computer, and the STUDIO has several projects aimed at developing infrastructure to support external control. Applications which involve ‘live’ robot control require this approach, e.g. real-time sensor based control, visual tracking, or human-interactive systems. Applications with algorithmic path generation might find this approach more convenient, although not strictly necessary, since path generators could also create URScript routines to be loaded into the normal PolyScope system.

The STUDIO hosts the projects on their github repository at https://github.com/CreativeInquiry, including the following:

Most of the work is built using openFrameworks.

Arm Specifications

General specs:

Payload 5 kg 11 lbs
Reach 850 mm 33.5 in
Weight 18.4 kg 40.6 lbs
Software Version 3.3.3  
Controller Version ?  
Control cycle 8ms  

Joint ranges and speeds:

Joint Range (deg) Max Speed (deg/sec)
Base +/-360 +/-180
Shoulder +/-360 +/-180
Elbow +/-360 +/-180
Wrist 1 +/-360 +/-180
Wrist 2 +/-360 +/-180
Wrist 3 +/-360 +/-180

UR5 Tool Connector

Colloquially known as the ‘nipple port’, this is a small connector on the last link of the arm used for connecting external actuators and sensors. Details can be found in section 5.4 of the User Manual and on page 6 of the schematic drawings file.

Cable pinout:

1 white AI[2] analog input
2 brown AI[3] analog input
3 green DI[9] (pnp) tool input 1 (TI1)
4 yellow DI[8] (pnp) tool input 0 (TI0)
5 grey 0/12/24V power
6 pink DO[9] (npn) tool ouptut 1 (TO1)
7 blue DO[8] (npn) tool output 0 (TO0)
8 red GND ground

The tool outputs are active-low open-collector with a maximum input voltage of 26V and maximum sink of 600 mA. Flyback diodes are recommended for inductive loads.

The tool inputs have weak pull-down resistors; floating inputs read low. The logical low threshold is max 2.0 V, the logical high threshold is min 5.5V, with a 47K input resistance.

The analog inputs are single-ended, 12-bit resolution, and can be configured for either voltage or current input. In voltage mode max input is 26V. In current mode, max input voltage is 5.0V with a max current of 25 mA (200 Ohm input impedance).

The power output on pin 5 can be configured to 0, 12, or 24VDC from the GUI.