calibrationManual
calibrationManual
Appendices 31
A Calibration Plate 31
C Robot DH Parameter 33
C.1 UR3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
C.2 UR5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
C.3 UR10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
ii
1. Plate Calibration
1 Plate Calibration
This user manual goes through the calibration method for the kinematics, implemented on the Universal
Robots controller from software version 1.4 to 1.8 and from 3.3 and onwards. The manual is organised as a
step by step tutorial.
Figure 1.1: Robot mounted on a plate with holes to align the robot tool flange.
CAUTION:
It is important to point out that not all calibrations are good calibrations. Please pay attention
to the generated statistics before saving the result of the calibration. If a calibration is not
performed with care, the robot may become inaccurate.
1
1. Plate Calibration
(1) The functionality can enabled in the Expert Mode on the controller screen by pressing the "Kinematics
Calibration" button as illustrated in Figure 1.2.
Figure 1.2: Select "Kinematics Calibration" in "Expert Mode" to enable the calibration functionality.
(2) This takes you to the Calibration screen. It also enables a new button called "Calibrate robot" on the
"Welcome" screen, should you need to return to the Calibration screen at a later time. Clicking the
"Kinematics Calibration" button again removes the new button from the "Welcome" screen.
(3) The first tab on the next screen is called "Calibration". In this tab three cases can be chosen, see Figure
1.3:
2
1. Plate Calibration
3
1. Plate Calibration
(5) Add the first position to the selected plate by pressing "Add new position".
Figure 1.5: Select "Add new positions" to add a position to the selected plate.
(6) Insert the x , y , z coordinate relative to the plate for the position at the top of the screen shown in
Figure 1.6.
4
1. Plate Calibration
Figure 1.6: The property screen for the selected position. Insert the x , y , z coordinate, teach the related
robot configuration. The screen has also a button to add additional positions.
(7) Move the related robot configuration by pressing "Measure robot position" (see Figure 1.6).
(8) In the "Move" tab teach the robot the corresponding position and press "OK" to complete the measure-
ment.
(9) To continue adding multiple positions press "Add new point" in the screen on Figure 1.6.
(11) Before starting on the calibration part it is recommenced to save the collected data. This is done by
pressing on the disk in the top left corner. Please note that the save function in the file menu save robot
programs and not calibrations and therefore can not be used, see Figure 1.6.
The configuration used in the calibration needs to be as distributed as possible on the plate but also in
the configuration space of the robot. Ensure that all the combinations of both elbow and wrist up and down
solutions are used, see Figure 1.7.
It is recommended that a full calibration at least includes 30 positions on each plate. To add an additional
plate select the top of the tree item "Positions" on the left and repeat the steps from 4.
5
1. Plate Calibration
6
1. Plate Calibration
1.4 Calibration
Now all the needed positions for the calibration are added to the tree. In this example 26 Positions on one
plate are used.
(12) Select the top of the tree item "Plates" on the left to be able to select the level of calibration, see Figure 1.8.
(a) Offset angles
This level calibrates the offset angles for the shoulder, elbow, wrist 1 and wrist 2. The method does
not provide enough information to calibrate the base and wrist 3.
(b) Partially
This level calibrates more parameters than 12a using other deviations than offset angles. It is not a
full calibration, but as full as the nature of the method allow it to be.
Figure 1.8: Select the top of the tree item on the left to be able to select the level of calibration.
Figure 1.9: Select the calibration tab and press "Make Calibration" to start the calibration.
7
1. Plate Calibration
1.5 Evaluation
(15) After the calibration has been performed the results needs to be evaluated to ensure that the calibration
is successfully.
Figure 1.10: The calibration is done and the result needs to be evaluated. Afterwards it is possible to try the
new parameters and apply them to the robot.
The results from the calibration are the parameters displayed in the "Parameter overview" tab and the
calculated statistics of the archived precision for the given positions. The last part is displayed lower part of
Figure 1.10 and is used to evaluate the calibration.
The calculated statistics is divided into two groups: a) "Measurement data" which is statistics on positions
used in the calibration and b) "Evaluation data" which is statistics that evaluates the quality of the calibration
result.
Figure 1.11: The identified parameters are displayed in the "Parameter overview".
8
1. Plate Calibration
3: The sum of the calibrations residual error. Not important for the normal user.
4 to 8: The statistics for the positions used in the calibration. In this case the calibration is based on 20
positions.
9 to 13: The statistics for the positions reserved for evaluation only. In this case 6 positions. If there is a
large difference between the results of the evaluation and the measurement data, the calibration was
not successful and the positions needs to be verified.
5 and 10: The mean error. First with position error as a vector(x,y,z) followed by the rotation error.
6 and 11: The standard deviation of the error. It is formatted like the mean error.
7 and 12: shows the maximum error in the data. It is formatted like the mean error.
8 and 13: is the range of the used robot configuration. The range gives an indication of how well the
measurements are distributed.
The printed statistics is also saved in calibration.log file.
1.5.2 Debugging
To pinpoint the source for the maximum error, each position’s contribution to the residual error is displayed
in the position property screens, see Figure 1.6.
(16) If the evaluation was not successful: Examine that the correct coordinates were used in the defined
calibration points.
(18) Try the new calibration without saving them as the default by press "Use Calibration", see Figure 1.10.
The current default kinematics can be reloaded with the "Reload default". This button is not a "load factory
default" button. So please be aware of the quality of the calibration before applying them as permanently.
(19) The found parameters can be viewed in the "Parameter overview" tab, see Figure 1.11.
(20) Save the calibration for future use by pressing "Save as default", see Figure 1.10.
9
1. Plate Calibration
10
2. Dual Robot Calibration
The method is patented pending under the patentCalibration and Programming of Robots, Søe-Knudsen,
Rune (inventor); Petersen, Henrik Gordon (inventor); Østergård, Esben Hallundbæk (inventor), IPC: B25J9/16,
Patent number: EP2012/068337, September 18, 2012. International Publication number WO 2013/045314 A1.
CAUTION:
Stay clear of the robot when using Dual Robot Calibration.
CAUTION:
Not all calibrations are good calibrations. Please pay attention to the generated statistics
before saving the result of the calibration. If a calibration is not performed with care, the
robot may become inaccurate.
The method requires a Dual Robot Calibration kit from Universal Robots (purchase number: 185500) and
one pair of UR3, UR5 or UR10 robots, respectively, with a CB3 control box. The robot bases are connected
with the Calibration Horse and the robot tools are connected by the Tool Connector, see Figure 2.1. This
creates a closed chain where the distance between the bases and the tools are fixed to known distances. When
the robots has been connected it can perform a number of measurements from coordinated movements to
different positions. This creates a set of data which creates a mathematical foundation for determining the
robot arm lengths and link rotations of the robots, i.e. the Denavit-Hartenberg parameters.
11
2. Dual Robot Calibration
UR5
UR3
Cable
UR10
Cable
UR3
UR5
Figure 2.2: A sketch of the Dual Robot Calibration Horse and where the UR3, UR5 or UR10 robot can be
mounted
To complete the assembly, mount the two handles at each end of the Calibration Horse with two M8-
1.25x25, each. The handles and screws are included in the Dual Robot Calibration Kit.
Required equipment:
• Dual Robot Calibration Kit from Universal Robots with purchase number: 185500, including:
– The UR Dual Robot Calibration Horse with alignment pins (Figure B.1, Appendix B)
– The UR Dual Robot Calibration Tool Connector with alignment pins (Figure B.2, Appendix B)
– Four M8-1.25x70 to mount the Calibration Horse to the stand (may differ depending on the robot
stand)
– Eight M8-1.25x25 screws with washers to mount UR5 and UR10 robots to the Calibration Horse
– Eight M6-1.0x25 screws with washers to mount the robot tools to the Calibration Tool Connector
– Eight M6-1.0x25 screws to mount UR3 robots to the Calibration Horse
– One Go tool used in the validating procedure, (Figure B.3, Appendix B)
– One No Go tool used in the validating procedure (Figure B.4, Appendix B)
Exception:
• The alignment pin for the tool connector, should not be used when calibrating UR5s produced prior to
end of 2014. This is due to the calibration requiring an improved version of the tool flange in UR5.
12
2. Dual Robot Calibration
(2) Mount two robots of the same type and version on the Calibration Horse, see Figure 2.3.
Figure 2.3: Mount the robots on the Calibration Horse, connecting the robot bases
(3) From the Initialization screen set the robot mounting and angle (click the "Configure Mounting" button),
see Figure 2.4:
UR3:
(4) From the Initialization screen set the payload to 0 kg for both robot types, see Figure 2.5.
13
2. Dual Robot Calibration
This takes you to the Calibration screen. It also enables a new button called "Calibrate robot" on the
"Welcome screen", should you need to return to the Calibration screen at a later time. Clicking the "Kinematics
Calibration" button again removes the new button from the "Welcome" screen.
Select Dual Robot Calibration in the "Calibration" tab, see Figure 2.7.
14
2. Dual Robot Calibration
• Slave - the robot acts as a slave in the calibration process. Make sure that the other robot is selected as
Master and that the two robots are connected with a network cable or switch.
• Manual - the robot acts as a master, but the slave robot is selected by an user supplied IP-address (see
description below).
(6) Connect the robot controllers with a network cable or through a network switch.
15
2. Dual Robot Calibration
(7) Use ether the master/slave or manual connection method to establishment network connection be-
tween the two robots controllers.
CAUTION:
Notice that the IP-addresses 10.17.17.17.18 and 10.17.17.17.19 will be used for mas-
ter/slave connections. Connecting the robots to a local area network may interfere with other
devices having the same IP.
(8) When the slave (Robot 2) is ready and have entered the screen in Figure 2.10, press Connect network on
the master to establish the network connection, see Figure 2.11. The screens that follow are described
in Section 2.7.
(9) In Figure 2.12, Enter the IP number or host name of the Slave by clicking the text field with the text "IP
address or host name".
16
2. Dual Robot Calibration
Furthermore, It is optional to save and correct the home position of each robot, which can be relevant if
only one of the robots need to be calibrated. However it is by default enabled.
Save calibration - means that the calculated kinematic calibration is applied and saved on the robot
Correct home position - means that it estimates and sets the home position using the calibration
(define new joint offset angles).
17
2. Dual Robot Calibration
(12) Continue the procedure by pressing Connect Robots, see 2.15. If the robots are not in home position, a
pop-up will ask to move the robot to home (see Figure 2.16), before trying again.
Afterwards the robots will move into position as shown in Figure 2.17, ready to be connected.
Figure 2.14: Robots moved to the home position Figure 2.15: Press Connect robots to begin connection
the robots together, physically
Figure 2.16: Message telling that step no.: 11 was not Figure 2.17: Robots ready to be connected
performed. Press OK and move the robot to Home
18
2. Dual Robot Calibration
(13) Attach the tool connector to the master robot (Robot 1) as in Figure 2.18.
(14) When the tool is mounted on the master robot (Robot 1), Press Proceed in the pop-up Figure 2.19.
(15) The slave robot (Robot 2) now enters free drive mode. Move the slave towards the connector and attach
the screws with washers. When done it looks like the fully connected robots shown in Figure 2.20.
(16) When the slave robot (Robot 2) is also mounted on the tool, Press Proceed in the pop-up Figure 2.21.
This step also starts the robot measuring each other by moving around.
Figure 2.18: Device connected to the master robot Figure 2.19: Proceed when the tool is mounted on
the master robot (Robot 1)
Figure 2.20: Robots fully connected Figure 2.21: Proceed when the robots are connected
19
2. Dual Robot Calibration
Afterwards, a statistic is given that describes whether the found calibration is usable (shown in green, see
Figure 2.24) or problematic (shown with red, see Figure 2.25).
If the result was successful as expected and the Auto step box is checked, it will automatically continue to
step no: 17.
If the result was unsuccessful, the calibration procedure will not be able to continue. Calibration may fail
for various different reasons. Please use one or more of the troubleshooting hints listed below and start a new
calibration by going back to step 1:
• Check that security settings are set to least restricted (see step 5).
• Remote the tool connector and unmount the robots from the calibration horse. Clean all surfaces on
the robots, the calibration horse and the tool connector. Remount the robots while making sure that
nothing is stuck between the parts.
• If one or more joints have been replaced, then check that they are mounted correctly. For example,
check that the screw washers are on the correct side of the output flange.
• If one or more joints have been replaced, then adjust the joint’s zero position (see Service Manual).
The section Calibration Results contains the statistics for the accuracy of the found calibration. The
Control Results are statistics for a number of control measurements done throughout the calibration process
which only are used to validate the calibration.
The statistics are given in two units a) millimeters (mm) and milliradians (mrad) which refers to the RMS
deviation in Cartesian space. The statistics contains the fields:
20
2. Dual Robot Calibration
Mean deviation: The average deviation in millimeters and in milliradians between the positions mea-
sured by the first and second robot
Standard deviation: The standard deviation calculated on basis of the above
Max deviation: The maximal measured deviation
Expected results
2.9.1 Validation
Next follows a validation procedure. Here both robot tool flanges need to be completely free from e.g. screws
and alignment pins.
(18) Remove the Calibration Tool Connector and alignment pins etc. and Proceed with the validation, see
Figure 2.28. The robots TCP will now approach one another.
(19) Verify that the distance in-between the robot tools is within a distance of 2.5 mm ±0.5 mm using the Go
and No Go tools, see Figure 2.29.
(a) Verify that the 2 mm Go tool can pass in-between the two robot’s tool flanges
(Figure B.3, Appendix B)
(b) Verify that the 3 mm No Go tool can not pass in-beween the two robot’s tool flanges
(Figure B.4, Appendix B)
(20) If the verification is successful in step no. 19, Proceed to the next validation step, see Figure 2.30.
Figure 2.27: Robots ready for the validation procee- Figure 2.28: Proceed to the Verification procedure
dure when the Calibration Tool Connector, screws, and
alignment pins are removed from the robots tool
flange
21
2. Dual Robot Calibration
Figure 2.29: Verification by alignment of tools Figure 2.30: Proceed if the verification in step no. 19
is successful
Secondly the robots will move to their new calibrated home position. Here it is important that the robots
are fully stretch out and that the tools are pointing in the right direction, like in Figure 2.31. After completion
of step no. 22 the Dual Robot Calibration procedure has been completed, see Figure 2.33
(22) If the verification is successful in step no. 21, Proceed to the next validation step, see Figure 2.32.
Figure 2.31: Verify the robots new home position Figure 2.32: Proceed if the verification in step no. 21
succeed
22
2. Dual Robot Calibration
23
3. Program Correction by Key-waypoints
The functionality is available on Universal Robot controllers with software version 1.7, 1.8, 3.3 and onwards.
3.1 Introduction
NOTE:
Before starting with program correction, backup your original program e.g. by saving it under
a new name. Once a program has been corrected and subsequently saved again, it cannot be
corrected again.
With properly selected and redefined key-waypoints, it is possible to make a model which describes the
difference between the old and the new robot. After the model has been built, the programs are corrected
when loaded. The model can be extended/improved at any time by defining more key-waypoints. The model
is specific for each installation file on the robot.
The quality of the model is determined by the number of key-waypoints and the accuracy with which they
are defined. If further correction is desired, the model can be improved by adding more key-waypoints at a
later time.
The accuracy of a corrected waypoint correlates with the quality of the model, and the distance to the
nearest key-waypoint.
Note that currently the program correction functionality does not support the following:
• A "Move" node which has a selected feature for the motion (different from the "Base" feature)
The unsupported program nodes mentioned above might need to be corrected manually after the auto-
matic correction process has completed.
24
3. Program Correction by Key-waypoints
(1) From Expert Mode on the controller screen enable calibration by toggling the "Kinematics Calibration"
button.
Figure 3.2: Select "Kinematics Calibration" in Expert Mode to enable the calibration functionality.
(2) This takes you to the Calibration screen. It also enables a new button called "Calibrate robot" on the
"Welcome screen", should you need to return to the Calibration screen at a later time. Clicking the
"Kinematics Calibration" button again removes the new button from the "Welcome" screen.
(3) The next screen contains a new tab called "Calibration". This tab offers three options. Choose "Program
correction - by key-waypoints".
25
3. Program Correction by Key-waypoints
(4) The chosen program can now be loaded by pressing "Load Program":
(5) Select one of the decided key-waypoints in the program. In the program tree, waypoints that are not
reteached are displayed in italics and with the undefined waypoint icon. The waypoint called "pick" is
selected:
Figure 3.5: Select one of the key-waypoints. In this case waypoint named "pick"
(6) Press "Change this waypoint" to redefine the configuration for the selected waypoint:
26
3. Program Correction by Key-waypoints
Figure 3.6: Press "Change this waypoint" to redefine the configuration for this waypoint.
(7) This leads to the "Move" tab. Move the robot to the new position and press "OK".
Figure 3.7: Press "Change CTP" and change the Corresponding Tool Position.
27
3. Program Correction by Key-waypoints
(10) This completes redefining the "pick" key-waypoints. In the program three, the reteached waypoint is
no longer displayed in italics and the icon is now the one for a defined waypoint. Continue by repeating
step 5 to 9 until all key-waypoints are redefined.
(11) If the key-waypoints are distributed over multiple programs, select the root node of the program tree
and press "Load Program" and repeat from step 4:
Figure 3.9: Add an additional program by pressing "Load Program" and repeat from step 4.
28
3. Program Correction by Key-waypoints
Each key-waypoint is marked with its name and the program it is coming from as shown in Figure 3.10 and
3.11. It is possible to delete key-waypoints from the model by selecting a waypoint or a group of waypoints
and press "Delete".
Figure 3.11: Waypoints from multiple programs can be added and displayed in the Correction model overview
(12) Load the program to be corrected from the "Program" tab or the top "File" menu.
(13) The robot controller detects if a correction is applicable and asks whether you want to correct the
program. To correct the program press "Correct Waypoints" (see Figure 3.12).
29
3. Program Correction by Key-waypoints
(14) Another popup tells when the correction is done. As the correction can take some time, please be
patient. If the correction failed, please verify your key-waypoints and improve their accuracy.
(15) After the program is corrected and before saving, it is recommended that:
• it is tested by letting the robot move through its waypoints, by playing the program or by selecting
waypoints individually and using the "Move robot here" functionality.
• you save it under a new name. Note, that once a program that is corrected has been saved, it is
overwritten and cannot be corrected again.
If a better accuracy is needed, add additional key-waypoints to the model and repeat from step 12.
(16) Save the program when the program is tested and it works as intended.
30
A. Calibration Plate
A Calibration Plate
785mm M10
775mm M10
M8
Plate dimension:
800x800x12[mm]
(630,630) (630,504) (630,378) (630,252) (630,126) (630,0)
Drawing
63mm
31.002.05
Ø63 [H7]
(567,567) (567,441) (567,315) (567,189) (567,63)
M8 M8
63mm
63mm Ø8 [H7]
63mm
63mm
63mm
300mm
63mm
63mm
x
85mm Stift
M8
Ø132
M10
25mm 15mm M10
85 mm 785mm
63 mm 63 mm 63 mm 63 mm 63 mm 63 mm 63 mm 63 mm 63 mm 63 mm
15mm
415 mm
640mm 775mm
300mm 500mm
160mm
25mm
31
B. Dual Robot Tools
UR10
UR5
UR3
Cable
UR10
Cable
UR3
UR5
Figure B.1: A sketch of the Dual Robot Calibration Horse
32
C. Robot DH Parameter
C Robot DH Parameter
The robots kinematic transformations for each link are given by Denavite-Hartenberg(DH) parameters.
C.1 UR3
θ [r a d ] a [m] d [m] α [r a d ]
π
Joint 1: 0 0 0.118 2
Joint 2: 0 −0.2437 0 0
Joint 3: 0 −0.2133 0 0
π
Joint 4: 0 0 0.1124 2
−π
Joint 5: 0 0 0.0854 2
Joint 6: 0 0 0.0819 0
Table C.1: Denavit-Hartenberg parameters for the UR3 robot
C.2 UR5
C.3 UR10
θ [r a d ] a [m] d [m] α [r a d ]
π
Joint 1: 0 0 0.118 2
Joint 2: 0 −0.6127 0 0
Joint 3: 0 −0.5716 0 0
π
Joint 4: 0 0 0.1639 2
−π
Joint 5: 0 0 0.1157 2
Joint 6: 0 0 0.0922 0
Table C.5: Denavit-Hartenberg parameters for the UR10 robot
33