Kinematic Calibration Manual For CB3
Kinematic Calibration Manual For CB3
Kinematic Calibration Manual For CB3
Appendices 21
A Calibration Plate 21
C Robot DH Parameter 23
C.1 UR3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
C.2 UR5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
C.3 UR10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
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. 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 be found in the Expert Mode on the controller screen by pressing the "Kinematics
Calibration" button as illustrated in Figure 1.2.
(2) This enables a new tab called "Calibration" in the normal program mode. In this tab three cases can be
chosen, see Figure 1.3.
1
2a
2b
Figure 1.2: Select "Kinematics Calibration" in "Ex- Figure 1.3: Select "Plate Calibration" to select this
pert Mode" to get access to the calibration function- method.
ality.
2
1. Plate Calibration
(4) Add the first position to the selected plate by pressing "Add new position".
3 4
Figure 1.4: Add a plate for the hole positions. Figure 1.5: Select "Add new positions" to add a posi-
tion to the selected plate.
(5) Insert the x , y , z coordinate relative to the plate for the position, see Figure 1.6.
(6) Move the related robot configuration by pressing "Teach new position", see Figure 1.6.
(7) Teach the robot to the correct position and pressing "OK" to complete one position, see Figure 1.7.
(8) To continue adding multiple positions pressing "Add new position", see Figure 1.6.
10
5 (X,Y,Z)
15
8 7
Figure 1.6: The property screen for the selected posi- Figure 1.7: Move the robot to the correct position
tion. Insert the x , y , z coordinate, teach the related and press "OK".
robot configuration. The screen has also a button to
add additional positions.
(10) 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.8.
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 3.
3
1. Plate Calibration
4
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.
(11) Select the top of the tree item "Positions" on the left to be able to select the level of calibration, see
Figure 1.9.
(12) The calibration is started from the "Calibration" tab, see Figure 1.10.
(13) Start the calibration by press "Make Calibration", see Figure 1.10.
11
12
13
11a
11b
Figure 1.9: Select the top of the tree item on the left Figure 1.10: Select the calibration tab and press
to be able to select the level of calibration. "Make Calibration" to start the calibration.
5
1. Plate Calibration
1.5 Evaluation
(14) After the calibration has been performed the results needs to be evaluated to ensure that the calibration is
successfully.
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.11 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.
18
17
19
14
Figure 1.11: The calibration is done and the result Figure 1.12: In the "Parameter overview" can the
needs to be evaluated. Afterwards it is possible to try identified parameters seen.
the new parameters and apply them to the robot.
6
1. Plate Calibration
1: This line is used to indicate that the calibration is running. Not important.
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.
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.
(15) If the evaluation was not successful: Examine that the correct coordinates were used in the defined
calibration points.
(17) Try the new calibration without saving them as the default by press "Use Calibration", see Figure 1.11.
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.
(18) The found parameters can be viewed in the "Parameter overview" tab, see Figure 1.12.
(19) Save the calibration for future use by pressing "Save as default", see Figure 1.11.
7
1. Plate Calibration
8
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.
9
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.
10
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) Set the robot mounting and angle, see Figure 2.4:
UR3:
(4) Set the payload to 0 kg for both robot types, see Figure 2.5.
4
3
11
2. Dual Robot Calibration
Figure 2.6: Select Kinematics Calibration in Expert Figure 2.7: Select Dual Robot Calibration to select the
Mode. method.
• Master - the robot acts as master of the calibration process. Make sure that the other robot is selected as
Slave and that the two robots are connected with a network cable or switch.
• 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).
(5) Connect the robot controllers with a network cable or through a network switch.
(6) Use ether the master/slave or manual connection method to establishment network connection between
the two robots controllers.
12
2. Dual Robot Calibration
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.
(7) When the slave (Robot 2) is ready and have entered the screen in Figure 2.9, press Connect network on
the master to establish the network connection, see Figure 2.10. The screens that follow are described in
Section 2.6.
8
9
Figure 2.11: Manual enter IP address Figure 2.12: Set host name or IP address of the slave
(8) In Figure 2.11, Enter the IP number or host name of the Slave by clicking the text field with the text "IP
address or host name", see Figure 2.12.
13
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).
14
2. Dual Robot Calibration
(11) 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.
11
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.: 10 was not Figure 2.17: Robots ready to be connected
performed. Press OK and move the robot to Home
15
2. Dual Robot Calibration
(12) Attach the tool connector to the master robot (Robot 1) as in Figure 2.18.
(13) When the tool is mounted on the master robot (Robot 1), Press Proceed in the pop-up Figure 2.19.
(14) 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.
(15) 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.
13
12
Figure 2.18: Device connected to the master robot Figure 2.19: Proceed when the tool is mounted on
the master robot (Robot 1)
14
15
Figure 2.20: Robots fully connected Figure 2.21: Proceed when the robots are connected
16
2. Dual Robot Calibration
Afterwards, A statistics is given which 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: 16.
Otherwise, The calibration results will be shown in red and the calibration procedure will not be able to continue,
see Figure 2.25. Please check how the robots are mounted with the Calibration Horse and the Calibration Tool
Connector and try again by redoing all the steps from no: 1.
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:
Mean deviation: The average deviation in millimeters and in milliradians between the positions measured
by the first and second robot
17
2. Dual Robot Calibration
Expected results
• The different between the Calibration and Control results is not more than 50% different
(16) A pop-up appears as shown in Figure 2.26. Dismount the screws from the connector and press Proceed. If
the Auto step box is checked, the robots will continue with correcting the robots’ home position.
16
18
2. Dual Robot Calibration
2.8.1 Validation
Next follows a validation procedure. Here both robot tool flanges need to be completely free from e.g. screws
and alignment pins.
(17) 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.
(18) 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)
(19) If the verification is successful in step no. 18, Proceed to the next validation step, see Figure 2.30.
17
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
2.5 m m ± 0.5 m m
18 19
Figure 2.29: Verification by alignment of tools Figure 2.30: Proceed if the verification in step no. 18
is successful
19
2. Dual Robot Calibration
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. 21 the Dual Robot Calibration procedure has been completed, see Figure 2.33
(21) If the verification is successful in step no. 20, Proceed to the next validation step, see Figure 2.32.
20
21
Figure 2.31: Verify the robots new home position Figure 2.32: Proceed if the verification in step no. 20
succeed
22
20
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
21
B. Dual Robot Tools
UR10
UR5
UR3
Cable
UR10
Cable
UR3
UR5
Figure B.1: A sketch of the Dual Robot Calibration Horse
22
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
C.2 UR5
θ [r a d ] a [m ] d [m ] α [r a d ] θ [r a d ] a [m ] d [m ] α [r a d ]
π π
Joint 1: 0 0 0.08920 2
Joint 1: 0 0 0.08920 2
Joint 2: 0 −0.42500 0 0 Joint 2: 0 −0.42500 0 0
Joint 3: 0 −0.39243 0 0 Joint 3: 0 −0.39225 0 0
π π
Joint 4: 0 0 0.10900 2
Joint 4: 0 0 0.11000 2
−π −π
Joint 5: 0 0 0.09300 2
Joint 5: 0 0 0.09475 2
Joint 6: 0 0 0.08200 0 Joint 6: 0 0 0.08250 0
Table C.2: Denavit-Hartenberg parameters for the Table C.3: Denavit-Hartenberg parameters for the
UR5 serie 1 UR5 serie 2
θ [r a d ] a [m ] d [m ] α [r a d ]
π
Joint 1: 0 0 0.089159 2
Joint 2: 0 −0.42500 0 0
Joint 3: 0 −0.39225 0 0
π
Joint 4: 0 0 0.10915 2
−π
Joint 5: 0 0 0.09465 2
Joint 6: 0 0 0.08230 0
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
23