1. Introduction
The difference between robot repeatability and robot accuracy is well known in academia, but industrial clients of robot manufacturers often confound the two concepts, based on the personal experience of the third author, who is also cofounder of Mecademic, a manufacturer of compact, high-precision industrial robots, and instigator of RoboDK, a software for offline programming and calibration of industrial robots. Yet, while the position repeatability of most six-axis industrial robots is 0.1 mm or better, even the smallest and most precise robot arms such those from Mecademic can make positioning errors of more than 1 mm, unless calibrated.
Robot calibration is the process of replacing the nominal mathematical model of a robot with another set of equations, usually much more complex (e.g., assuming non-zero elasticities for the joints), which describes with less error the relationship between the joint values and the end-effector pose of the real robot [
1,
2]. To identify the parameters of the new mathematical model (lengths, angles, elasticities, etc.), the full or partial pose of the robot end-effector is measured for various sets of robot joint values (e.g., a hundred, random, or specially selected). The results are then fed to an optimization algorithm that identifies the parameters that minimize the errors between the actual pose measurements and the ones calculated by using the new mathematical model.
Ideally, the calibration must be made by the robot manufacturer, who has suitable installations involving high-accuracy measurement devices, such as an optical tracker, a laser tracker, or even a Coordinate Measuring Machine (CMM) [
3]. The main advantage of in-house calibration, however, is that the new mathematical model is embedded directly in the robot controller. Thus, almost no extra steps or knowledge are required when using an in-house calibrated robot (in comparison to using a non-calibrated robot).
Unfortunately, not all clients realize immediately that they need calibration. Indeed, in applications that require offline programming, such as material removal, the need for calibration might be obvious. In other applications, such as inspection, calibration might be avoided but only by spending hours of tuning the robot path, each time a new part shape is to be inspected. Furthermore, while some manufacturers do offer on-site calibration services, most have to rent a laser tracker from a local provider of metrology services. This is why, many researchers, both from academia and industry, have worked on the development of portable, low-cost measurements tools for on-site robot calibration.
Various measurement tools have been implemented into calibration experimentations throughout time. For robot users, eye-in-hand devices such as touch probes [
4], optical sensors [
5], and ballbars [
6] tend to be more affordable and easier to implement in comparison to external measurement devices such as laser trackers [
7,
8,
9], mechanical CMMs [
10], optical CMMs [
11], theodolites [
12], and measurement arms [
13]. However, the effectiveness of eye-in-hand devices is still challenged when considering the comparison of the end-result accuracy obtained through external devices.
Perhaps the simplest and oldest, low-cost measurement strategy in robot calibration is to constrain the position of the robot’s tool-center-point (TCP), vary the orientation of the robot end-effector, and record the corresponding robot joint values [
14]. Instead of manually constraining the robot TCP to a mechanical coupling (e.g., a ball in a socket), in [
15], we explored the embedded force-torque sensors in some collaborative robot arms, by mounting a special kinematic fixture and automatically performing the coupling using force control. For all other robots, we proposed in [
16] a measuring device used to automatically drive the robot TCP to coincide with the center of a datum ball. This seemingly minor difference is in fact a significant improvement since no frequent manual back-and-forth jogging or force control capability is required and the method can be fully automated.
On the one hand, instruments similar to the device proposed in [
16] already exist, namely ROSY [
17] by Teconsult GmbH, Germany (based on two cameras), Laser LAB [
18] by Wiest AG, Germany (based on five laser sensors) and ZIS Calibration Unit [
19] from ZIS Industrietechnik GmbH, Germany (based on a 3-degree-of-freedom mechanism requiring a physical contact). However, not only is the accuracy of these three devices relatively poor (as low as 0.1 mm) but they are used as error measurement devices rather than replacements of a position’s physical constraint. This means that the robot’s TCP is never exactly at the center of the tool tip, but as far away as 10 mm. While this offset is taken into account in the calibration, it is not measured with high accuracy.
On the other hand, far more accurate devices based on the same principle have been used for calibrating machine tools. Some researchers have proposed a device called the R-Test [
20], which uses three analog linear probes and has an uncertainty of 1.7 µm for a measurement range of less than 0.5 mm. A very similar device has also been proposed in [
21] but using four probes. More recently, researchers have proposed another similar device based on three Keyence laser displacement sensors and cite multiple other recent research developments on the design of such high-accuracy 3D sensors [
22]. Finally, the company IBS Precision Engineering (The Netherlands) offers the Trinity contact-free probe, which can measure the offset of the center of a special datum sphere (expensive and fragile) within a range of up to 3.5 mm (still too small for robotics) and with an accuracy of less than 0.001 mm. Unfortunately, all these devices are relatively expensive (the Trinity costs about USD 15,000), because they need to be built with great accuracy and calibrated before use. For example, we could not find a way to identify the measurement reference frame of our Trinity probe with respect to its fixture, which is simply a cylindrical shaft. We believe that these are excellent measuring solution for machine tools, but somewhat inadequate for industrial robots, at least in factory settings.
Most importantly, none of the device mentioned in the preceding two paragraphs are used to constraint the TCP to a given position. In this paper, we present a new device and method based on the same idea as the one presented in [
16] but with several major improvements:
- −
The new device (
Figure 1) is more practical and ready for use in industrial settings. It does not need an additional calibrator plate for TCP initialization and provides the possibility to use additional weights.
- −
The new device is also more affordable and easier to service (several prototypes, excluding the digital indicators, have been sold to industry at only USD 2000 each, so the total cost of the device is less than USD 5000).
- −
Finally, we show that the new device can be almost as effective in robot calibration as a laser tracker, by reducing the maximum position errors of the robot to values only 15% higher than those in the case of a laser tracker.
In the remainder of this paper, we present the measurement device, the 3D ball artifact and the communication setup in
Section 2, and then describe the measurement procedure in
Section 3. Next, the accuracy of the measurement process is analysed in
Section 4. Then, the robot modelling and parameter identification method are described in
Section 5. The identified parameters and validation results are presented in
Section 6. Finally, conclusions are made in
Section 7.
3. Measurement Procedure
During the measurement phase, the robot must probe each of the four datum balls with different end-effector orientations. Each probing of a datum ball is essentially an automated procedure for bringing the robot TCP at the center of the datum ball.
Before the measurement phase, the digital indicators are mastered with the 1.5-in master ball, placed manually onto the TriCal nest (
Figure 2). Once the master ball in place, each indicator is set to 6.350 mm.
As already mentioned, it is crucial to measure on a CMM the axes of the cylindrical channels and the center of the master ball while in the trihedral socket, all with respect to the tool changer. Then, a tool reference frame is defined such that its center coincides with the center of the master ball and its axes coincide with the axes of the channels. Of course, since the axes are not perfectly orthogonal and concurrent, we used a 3D metrology software (PolyWorks) to find the best fit.
Once the tool reference frame is correctly defined, it is easy to jog the robot along the axes of the three digital indicators. After characterization (
Figure 4), the artifact is placed in the robot cell in its prescribed location (
Figure 5). In our case, since we use a BuldingPro welding table and fixtures that have precision holes equally spaced with tolerance of about 40 μm and surfaces with flatness of about 0.3 mm per 1 m, we know the positions of the datum balls with respect to the robot’s base frame with good accuracy (better than 1 mm). Furthermore, we have precise knowledge of the robot tool reference frame as it was measured on a CMM. Finally, a robot like the one used in our study typically has position errors that are less than 4 mm, before calibration. Therefore, even without calibration, the robot can bring its TCP well within the 5-mm measurement range of TriCal from the center of each datum ball. Thus, there is no need for manually teaching the positions of the datum balls and the whole measurement sequence can be programmed off-line.
Once the TriCal is positioned onto a datum ball using only the inherent position accuracy of the non-calibrated robot, an automated centering sequence is launched. Essentially, the measurements from the indicators are read in the PC and a linear motion command with the respective displacements relative to the tool reference frame is sent to the robot. The sequence is repeated several times, until all three indicators read displacements of less than 3 μm. Then, the robot joint values are retrieved in the PC and recorded. The auto-centering sequence lasts 30 s on the average.
The robot then backs the TriCal away, moves it to a different approach pose, then brings it to the datum ball with a different orientation, and finally the auto-centering procedure is launched again. Each of the four datum balls is probed with several different orientations.
The complete 3D environment was modeled in RoboDK [
23] and the whole measurement procedure was implemented in the same software. Thus, 3D interferences were accounted for and avoided. Python scripts were written for interfacing with the indicators, for the auto-centering procedure (
Figure 6), and for the complete measurement sequence. Note that RoboDK already comes with the necessary “plugins” to control a KUKA robot over Ethernet. Thus, the whole measurement procedure is fully automated and executed from RoboDK, except for the mastering of TriCal.
The whole procedure is summarized in
Table 2.
4. Measurement Accuracy
In this section, we will estimate the accuracy of the complete system and measurement procedure. However, since the rated position repeatability of the robot used (or any similar small robot with a payload between 1.3 kg and 7 kg) is 30 μm, there is no need for complex analyses—a quick verification shows that our measurement accuracy is several times better than 30 μm. A summary of the validation is given in
Table 3.
The sphericity and diameter tolerance of the 1-in datum balls and of the 1.5-in master ball used in this work are ±1.27 μm. The accuracy of the digital indicators is 1.8 μm. Finally, the Mitutoyo CRYSTA-Apex C 544 CMM used for characterization of TriCal has an uncertainty of 1.9 μm.
If we were to use TriCal as a 3D measurement device, i.e., for measuring the precise offset of the center a 1-in datum ball with respect to the tool reference frame, then we must also measure the orthogonality of the three channels in the tri-axial mount of TriCal, or more importantly the orthogonality of the planar surfaces of the three disk-shaped tips, which we did. However, recall that we do not need TriCal to be accurate; we only need it be precise. Essentially, we need that when TriCal is centered over a 1-in datum ball such that all three indicators display “0.000”, the center of that datum ball is extremely close to the TCP, which is the center of the 1.5-in master ball during mastering. Therefore, we built the setup shown in
Figure 7 and performed the following measurements on a CMM.
We first position the 1-5-in master ball in the trihedral socket of TriCal and master all three digital indicators (i.e., set them to 6.350 mm). Then, we measure the position of the master ball with the CMM. This is the actual TCP of TriCal. (We used a similar setup to measure that same TCP but with respect to the tool changer of the complete TriCal assembly.) We then removed the master ball and mounted one of the datum balls on a very small and highly precise robot arm—Mecademic’s Meca500 [
24]. We then used another auto-centering procedure to move the datum ball until all indicators shows a maximum displacement of ±3 μm. We then measured the datum ball with the CMM. We repeated the last phase three times (i.e., measured the datum ball after three auto-centering sequences). The maximum deviation measured between the positions of the datum ball and the position of the master ball was about 2 μm.
Even if we consider the errors in the positions of the datum balls on the artifact (
Figure 4) due to the 1.9 μm measurement uncertainty and the minor deflections of the artifact, our measurement procedure is clearly several times more accurate than the repeatability of the robot itself. In fact, it is even more accurate than a measurement with a laser tracker.
5. Robot Modeling and Parameter Identification
The robot kinematic parameters are modeled according to the Modified Denavit–Hartenberg (MDH) convention [
25]. An additional parameter,
, defines the skewness between the axes of the second and third joint [
26]. The robot nominal MDH parameters are presented in
Table 4.
The homogeneous matrix transformation for each joint frame is calculated as,
where
i is the frame number, and the matrix transformations include the rotation matrices corresponding to the twist angle
αi−1, the joint angle
θi, and the rotation parameter
βi−1, along with the translation matrices corresponding to the link length
ai−1 and the link offset
di. The tool and base frame transformation matrices,
and
, respectively, are calculated as:
The tool frame is calculated with respect to the robot flange and the base frame is calculated with respect to the world frame. The tool and base reference frame parameters are shown in
Table 5.
A total of 31 independent parameter errors that are to be identified are included in the complete robot model. The error parameters include 26 kinematic parameters and 5 joint stiffness parameters (
c2,
c3, …,
c6) as listed in
Table 6 and
Table 7. Indeed, several possible errors are not identified due to redundancies. The first link errors (
δα0,
δa0,
δd1,
δθoffs1) are dependent on the base frame. Furthermore, the axes of joints 2 and 3 are parallel, so only one of either
δd2 or
δd3 should be included model. Finally, since the tool reference frame is precisely measured on a CMM, we do not consider the tool frame parameters into the identification process. Thus, the 31 independent parameters retained are the 6 errors in the coordinates of the base frame, the 19 errors of the MDH parameters of frames 2 to 6 except for
δd2, the skewness parameters between the axes of joints 2 and 3, and the 5 stiffness parameters for joints 2 to 6.
The gearbox of each joint is modeled iteratively in order to identify the stiffness parameters. The gearbox model includes a linear torsional spring coefficient along with the external torque applied to each robot joint, except for the stiffness model of the first joint which is ignored, because of no external torque is applied on joint 1 in our setup. The Newton–Euler [
25] algorithm was applied in order to find the external torque of the joints.
With a given set of joint angles, and the initial known parameters, the homogeneous transformation matrix can be calculated with forward kinematic calculations through each frame transformation matrix.
The constant parameter vector of the complete robot model includes all MDH parameters (link twists
, link lengths
a, link offsets
d and joint offsets
), all six stiffness coefficients (
c) and all base (
) and tool frame (
) parameters.
Variable parameters are considered to be the input joint configuration vector given as,
and the torques applied to the joint gearbox (
τ). The kinematic chain of the robot is calculated through consecutive link transformations:
The transformation chain is completed through implementing the world and tool frames. The final version of the transformation matrix is calculated as,
The homogeneous matrix transformation is calculated as the estimated position through
The difference between the measured position data and the estimated position calculations gives the absolute value of the error parameter vector:
Identification of the new robot parameters starts with obtaining the position Jacobian matrix,
J, by differentiating the error vector equations around the robot nominal parameters as,
where
are the 31 independent elements of vector
. Let
.
For
n robot measurements, the linearized equation of the position error vector ∆x is given by multiplying the Jacobian matrix with the deviation of the calibration parameters:
In our case, the parameter deviation
must be the output of the equations since we know the position error vector ∆
x and the Jacobian matrix elements. The Jacobian matrix is inverted with Moore–Penrose inverse and the equation becomes,
leaving the deviation parameter vector as the result of the equation
An observability estimation is made, in order to find the optimal set of joint angles for parameter identification. The aim of using an observability index is to reach better identification in the non-kinematic parameters. Observability index O1 [
27] was used, where a previous study showed better results comparing to other observability index equations [
28]. The equation is presented as,
where
n is the number of joint sets used in measurements,
m is the number of calibration parameters (31 in our case),
σ are the singular values taken from the Jacobian matrix. The output joint angles are chosen using the DETMAX algorithm [
29]. The algorithm consists of rearranging an initial set of
n joint angles by adding from and extracting to the
N configuration pool, until getting the best observability index inside the
n joint set.
6. Validation and Results
Initially, a large pool of feasible robot joint sets (attainable without collisions) corresponding to datum ball probing was generated according to the measurement setup. By using the observability index, 80 of these joint sets were selected for the actual measurements, 20 for each datum ball.
Once the 31 error parameters are identified, a validation is performed using a FARO laser tracker (
Figure 8). Firstly, the world reference frame with respect to the laser tracker frame is obtained by measuring the positions of the three magnetic nests on the 3D ball artifact. Then, the artifact is removed, and an SMR is positioned in the trihedral socket of TriCal with the help of a rare-Earth magnet. Recall that the center of the SMR corresponds exactly to the robot TCP. The robot is then sent to 500 random joint sets, with the only constraints of avoiding collisions and having the SMR face the laser tracker.
The measurements for identification with the TriCal and the measurements for validation with the FARO laser tracker are demonstrated in the
Novel, affordable device for industrial robot calibration video found on YouTube [
30].
The robot parameters as identified after measurements with the TriCal are presented in
Table 8. Then the position errors after calibration (i.e., after using the identified parameters in
Table 8) and measured with the laser tracker in 500 poses are presented in
Figure 9.
Finally, in order to compare the efficiency of the TriCal to that of the laser tracker, when it comes to robot calibration, we also performed an identification using measurements taken only with a laser tracker. Specifically, we took 80 measurements throughout the workspace of the robot, selected using the observability analysis described in
Section 5. Then, the accuracy after calibration was measured in the same 500 poses used in the case of TriCal.
The final results are shown in
Table 9. Note that in all tests, the weight of the end-effector was 6 kg, i.e., the maximum rated payload of the robot. As expected, the laser tracker leads to slightly better results, because the measurements used for identification are more evenly distributed throughout the workspace of the robot.