Abstract
This article presents a systematic and practical calibration method for an industrial robot to improve its absolute accuracy. The forward kinematics is established based on the global product-of-exponential formula considering some practical constraints. An enhanced partial pose measurement technique is used to construct the linearized error model with only position measurement. All the kinematic parameters are identified via the linear least-squared iteration. The end effector errors are compensated by an inverse Jacobian iteration algorithm in the robot joint space. To suppress the influences of the measurement error, an improved sequential forward floating search algorithm is proposed to select an optimal subset of configurations from a large pool of measured poses based on the D-Optimality. The proposed algorithm is verified via simulations. The calibration method is validated by experiments on an industrial robot, showing that the absolute accuracy of the robot is improved about 10 times under a statistics sense after the calibration.
Keywords
Introduction
In recent years, industrial robots have been greatly involved in automotive and manufacturing industries, such as handling, assembly, painting, and welding. This attributes to its lower cost, wider workspace, and greater flexibility. However, they are seldom used in high absolute accuracy tasks, such as milling, trimming, and sanding, despite their great potential applications in the aerospace manufacturing industry. 1,2 Among the factors degrading the accuracy of an industrial robot, geometric errors contribute about 90% of the total error. 3 Geometric errors are mainly caused by the manufacturing tolerance, the assembly misalignment, and the backlash and wear in the transmission chain. Under the influence of geometric errors, the real kinematic parameters of a robot will be slightly different from their nominal values stored in the robot controller, resulting in serious pose error in the end effector (EE).
Robot calibration is identified as a cost-effective way to eliminate or reduce the geometric errors and thus improve the robot absolute accuracy. For example, Tan at al. 4 use a vision and pseudoperiodic patterns based measuring system to calibrate a serial micropositioning robot and the positioning accuracy improves by more than 35 times finally. Some other robot calibration-related works can be found in studies by Nubiola and Bonev, Guo et al., Lightcap et al., Motta et al., and Yu et al. 5 –9 The vast calibration methods can be roughly grouped into two categories: the modeless calibration methods and the model-based calibration methods. The modeless calibration does not need any kinematic model and directly measures the EE positioning errors at some points and estimates the error on any target point in the whole workspace. 10,11 These methods are simple and effective, but lead to a huge amount of measurement work to guarantee a considerable accuracy. Therefore, in the literature, the model-based calibration methods have been more researched. This article also adopts this kind of method, thus in the remaining of this research, the word “calibration” is used to represent the model-based calibration for simplicity. Generally, a classical calibration procedure is divided into four steps: modeling, measurement, identification, and implementation. 12
The focus of the modeling step is to develop a proper kinematic model to describe the relationship between the robot joint angles and the posture of the EE. The basic requirement for the model is that it should be complete, minimal, and continuous. 13 In the last two decades, the modified Denavit–Hartenberg (MDH) model 14 is mostly used in robot calibration to overcome the discontinuity of the conventional DH model. The complete and parametrically continuous (CPC) model 15 offers another choice. In general, to meet the requirement of parameter continuity, this kind of models often introduces redundant parameters to describe the homogeneous transformations between adjacent link frames of the robot, leading to a more complex modeling process. In recent years, the product-of-exponential (POE) formula has been more and more used for robot calibration owing to its inherent continuous and complete characteristics and its simple closed-form expression of derivatives of the forward kinematic equations with respect to kinematic parameters. 16 The POE formula-based robot calibration can be subdivided into the global POE formula-based calibration 17,18 and the local POE formula-based calibration. 19 The global one is adopted in this article in terms of simplicity, despite both of the two formulas can efficiently improve the robot absolute accuracy after calibration. Considering the minimality requirement of the model parameters, some researchers proposed some methods to eliminate the redundant POE model parameters. 20 –22 Considering the physical constraints of the robot joints, these minimal models mainly add a redundancy elimination step after each iteration in the parameter identification process, and they are reported to have the advantage of a faster convergence in the parameter identification procedure.
The measurement step involves collecting the EE postures (position and orientation) and the joint angle data at some specified points in the robot workspace. The joint angle data can be precisely read in the robot controller from the feedback of the motor encoders and thus do not need any external measurement instruments. While in the robot calibration, the EE posture can be measured by a laser tracker, 5 a vision system 23 or a double ball bar. 24 Sometimes no external measurement instrument is needed if the degrees of freedom (DOFs) of the robot are redundant, which allows self-motion. 25 Among these measurement methods, the laser tracker is mostly used in terms of accuracy and is easy-to-use. In practice, it is usually hard to conduct a full pose measurement, particularly the orientation measurement of the EE. Even if the measurement instrument permitted, the measured full pose errors would suffer a nonhomogeneity problem. 3 Thus, some techniques have been developed to calibrate the robot via only position measurement, 26,27 and are called the partial pose measurement technique in the study by Wu et al. 3 These methods only use position coordinate information to identify twist parameters, thus, the nonhomogeneity problem is avoided. Another problem in the measurement step is the optimal measurement pose selection of the robot, which means those robot poses that can best suppress the measurement errors should be chosen for the parameter identification. In the literature, many performance criteria have been proposed for the pose selection optimality problem based on the A-Optimality, the E-Optimality, and the D-Optimality in the experiment design theory. 28 Joubair and Bonev 29 conducted a detailed simulation to compare the five different criteria, concluding that the criterion O1 proposed by Menq 30 based on the D-Optimality outperforms the others most of the time. On the other hand, many algorithms have been developed to solve the optimality problem, such as the genetic algorithm, 31 the simulated annealing algorithm, 32 and the most widely used DETMAX algorithm. 33 –35 These algorithms all suffer from a local convergence problem.
The essence of the identification procedure is to find a set of kinematic model parameters that best-fit the experimental data. To estimate the best-fitting kinematic parameters, many identification algorithms have been proposed, including the linear least-squared algorithm, the nonlinear least-squared algorithm, and the Kalman filtering estimation technique, and so on. 12,36 Some numerical issues have been discussed and solved by Hollerbach and Wampler. 37 Among these algorithms, the linear least-squared technique is mostly used in robot calibration owing to its simplicity and unbiased characteristic.
The last step of calibration is the implementation, which concentrates on compensating the geometric errors and improving the final absolute accuracy. Most calibration-related researches have neglected this step. Since there is no access to the internal controller of a robot, the kinematic parameters cannot be modified directly in most commercial industrial robots. An alternative way is to modify the desired posture data in Cartesian space or joint space of the robot in advance. 12
In this article, a complete and systematic calibration process is presented for an industrial robot using some state-of-the-art techniques. In this calibration process, the global POE formula is adopted to model the forward kinematics of an industrial robot. An enhanced partial pose measurement technique is used to construct the linear error model considering the base frame errors and the joint twist coordinate errors with only position measurements. The model is solved by a linear least-squared iteration algorithm. The identified kinematic parameters are compensated via an inverse Jacobian iteration method. On the other hand, to suppress the measurement errors, an optimal experiment design process is needed to select a proper set of measurement configurations for parameter identification. Considering the limited workspace of the robot and the measuring range, a number of measurements at points randomly distributed in the robot workspace are conducted in advance, and then an optimal subset of configurations is selected via an improved sequential forward floating search (SFFS) algorithm based on the O1 criterion. The improved SFFS algorithm we proposed is verified to outperform the most widely used DETMAX algorithm. Finally, some experiments are conducted on an industrial robot, which validate the calibration method.
The remainder of this article is organized as follows. The “Calibration based on the POE” section presents the mathematical model of the calibration procedure. The “Optimal measurement configurations selection” section gives a detailed discussion of the optimal measurement configurations selection method. The “Experiment” section conducts calibration experiments, and the “Conclusion” section concludes the article.
Calibration based on the POE
POE-based forward kinematics for calibration
The forward kinematics of a serial industrial robot with n DOFs based on the POE formula indicates the relationship between the robot base coordinate system {
In this formula, gst(
where
Generally,
where
As Wu at al.
39
point out, it is necessary to find the coordinate transformation between the robot base frame and the world frame when the robot is required to perform tasks defined in the world frame and offline programming is adopted. Let the measurement coordinate system {
where
Equations (5) and (6) will be used to deduce the linearized error model.
Linearized error model
The linearized error model can be obtained by differentiating equation (6), that is
Considering
where
Introducing the operator “∨”, which maps a variable
that is
He et al.
17
have given the explicit expressions of
and
where Ad(•) denotes the adjoint transformation of matrix •, and
where
The above formula with only position measurements is simple and efficient. However, this simplification does not allow the user to identify certain geometric parameters, such as some components of
where
where j represents the jth measurement pose. Then, the parameter identification problem can be formulated as a linear least-squared problem, which states as
where m denotes the total measurement times. The geometric parameter error d
where
Inverse Jacobian iteration-based geometric error compensation
When the identification phase has been finished, the actual kinematic parameters are available. Many calibration-related researches just stop here and evaluate the absolute accuracy by comparing the actually measured EE positions and the ones calculated via the identified geometric parameters. This is not complete and persuasive, because the final absolute accuracy the robot can obtain after calibration is what we really concern. Thus, the position and orientation errors of the EE should be first compensated and then the accuracy can be evaluated. A direct method of compensation is to calculate the inverse kinematic solution of the robot, mapping the desired posture of the EE and the actual kinematic parameters into each joint variable. However, only some simple geometry industrial robots have closed-form inverse kinematic solutions, such as those with three consecutive joint axes intersecting at a common point. Though most industrial robots are designed to have this feature, the condition is usually not satisfied because of imperfect manufacturing and assembly. Therefore, no closed-form inverse kinematic solution is available for the identified actual geometric parameters. To overcome this, an inverse Jacobian iteration algorithm is adopted to compensate the geometric errors.
Assuming the positioning and orientation errors of the EE caused by the nominal kinematic model are small and the desired poses do not fall at or near a robot singular configuration, then the posture error of the EE can be regarded as a differential motion. The robot inverse Jacobian can be used to transform this differential motion into the corresponding joint position changes. The pose error of the EE can be reduced or eliminated via iteratively applying this transformation. The outline of the algorithm is given as follows.
If
Given a desired trajectory of the EE, the geometric error of a robot can be compensated in the joint space precisely via the above algorithm. In addition, there is no need to access and modify the internal controller parameters of the robot. More details about calculating the inverse kinematic solution
Optimal measurement configurations selection
Influences of the measurement errors on parameter identification
In the last section, a detailed calibration procedure based on the POE formula is introduced, and the influences of the measurement errors have been ignored. However, the measurement error does have some influences on parameter identification, and this influence can be reduced by just selecting a group of optimal poses for identification based on some optimality criteria.
Assuming that a group of configurations has been selected, and there exists independent normal distributed random errors
Equation (17) becomes
The identified parameter
Equation (20) indicates a hyperellipsoid, and the constant size factor ρ is uniquely determined by the significance level β. In geometric terms, the center of the hyperellipsoid is the actual parameter error d
Assume that the nominal kinematic parameters are close to the actual ones, and they are used to calculate the information matrix. Then, the two factors determine
where n is the rank of matrix
where σi represents the ith singular value of matrix
To summarize, the measurement errors have a significant influence on parameter identification, and this influence can be reduced via optimally selecting the measurement configurations of the robot, that is, solving the optimization problem in equation (22).
Improved SFFS for optimal configurations selection
Theoretically, the experiment design process should be conducted in advance, and then the kinematic parameters are identified under a group of optimal robot configurations. However, due to the limited range of the measurement device or obstacles in the robot workspace, some optimal configurations may be impossible to be obtained by the measurement system. This problem motivates us to conduct plenty of measurements in advance and then select a subset of optimal configurations out from the whole set. Then, the complete calibration procedure can be summarized (see Figure 1).

The complete calibration procedure.
From the above discussion, the optimal measurement configuration selection problem is reduced to a combinatorial problem. That is, given a set of M candidate measurement configurations, select a subset of size m that maximizes the performance measure O1. This problem is highly complex, and an exhaustive search is computationally prohibitive even for not so large M and m. For example, to select 50 configurations from the whole 100 configurations, one has to calculate more than 1029 combinations via the exhaustive search. In robot calibration experiment design, most researchers search for an optimal pose set with adapted DETMAX algorithm, 33 –35,45 which basically replaces the initial subset elements one by one repeatedly. However, all these methods suffer from a local convergence problem. In general, to solve a combinatorial optimality problem, some heuristic or random search algorithms have been developed for other problems, such as the sequential forward/backward algorithm, 46 the plus l take away r algorithm, 47 and the floating forward/backward search algorithm. 48 Among these algorithms, the floating search algorithm has repeatedly been demonstrated to be distinguished in terms of efficiency-effectiveness trade-off. 49 Here, the SFFS algorithm is introduced for optimal measurement configuration selection. This algorithm begins with a null configuration set, and for each step, the most significant configuration from the complementary set is included, then the least significant configuration is conditionally eliminated from the selected configuration set, and it continues until the resulting subsets are worse than the previously evaluated ones at that level. Hence, this method is characterized by a dynamically changing number of configurations eliminated at each step until the preset number of configurations m is reached.
The SFFS algorithm cannot avoid a local optimal solution either, despite its efficiency in finding a solution closer to the global one than others. To make this algorithm leave the local convergence and more convenient for solving the experiment design problem, an improved SFFS algorithm is proposed. In the improved version, the following two modifications are proposed based on the randomized search technique. First, the subset is initialized by randomly selecting a least subset of size l. Second, when one search ends, p configurations are randomly deleted from the selected subset and the search process is run iteratively. Every time the best-so-far solution is updated if it is better than the last one. The search process is not stopped until the preset iteration time q is reached. The complete algorithm is depicted in Figure 2. In the figure, “randperm(M,l)” represents generating l distinct random numbers from 1 ∼ M, operator “∪” and “\” denote including or excluding a configuration to or from a configuration subset.

The improved SFFS algorithm. SFFS: sequential forward floating search.
To verify the effectiveness of the proposed algorithm, the following simulation is conducted based on the nominal kinematic parameters of a Motoman MH80 industrial robot. The geometric model of the MH80 industrial robot is shown in Figure 3. Some of the nominal geometric parameters in Figure 3 are listed as follows (the unit is millimeter):

Schematic of the Motoman MH80 industrial robot.
Geometric parameters of MH80.
Values of O1 of the optimal subsets selected via different algorithms.
SFFS: sequential forward floating search.
From Table 2, it is obvious that the values of the performance measure O1 of the subsets selected by the improved SFFS algorithm are a little larger than the others most times, though the gaps are not so significant. That is to say, the measurement configurations selected via the improved SFFS are the global optimum or closer to the global optimum. This owes to the added random process, which is thought to have the ability to improve the result step by step. In addition, by comparing the frequently used DETMAX algorithm and the conventional SFFS algorithm, it can be seen that the latter one has a better performance in selecting optimal configurations.
Experiment
Experiment setup
The calibration system includes a Leica AT901-B laser tracker measurement system, a standard Motoman MH80 industrial robot produced by Yaskawa, an SMR, and three magnetic SMR holders attached on the EE. The laser tracker has a nominal accuracy of ± 10 μm + 5 μm/m and is implemented in the robot workspace which is convenient for measurement. The MH80 robot has a claimed repeated accuracy of ± 0.07 mm while the absolute accuracy is not given in the instruction manual. The whole calibration system is depicted in Figure 4. The measurement coordinate system {

The calibration system.
Calibration validation
The laser tracker repeatability is first verified via the following method. Fix a magnetic holder at some place in the robot workspace within 2 m far from the laser tracker. Then measure the coordinates of the SMR on it from different directions. A total of 30 measurements are conducted. Finally, the repeatability of the laser tracker is calculated based on the ISO 9283 standard. 50,51 The repeatability of the laser tracker is verified to be ± 12.71 μm, which is consistent with that provided in the user specification. Before the calibration process, the robot is warmed up via actual cyclic motion for an hour from cold start. Then, 100 poses randomly distributed in the robot workspace are measured for parameter identification and verification purposes.
After the measurement step, 50 optimal configurations are selected via the algorithm described in Figure 2. These configurations are thought to be insensitive to the measurement errors and they are used to identify the kinematic parameters. Via the least-squared iteration algorithm, the final kinematic parameters are identified and listed in Table 1. To verify the proposed technique, the center point coordinates of the three measured points at the remaining 50 configurations are calculated using the nominal and the identified parameters, respectively, and they are compared with the measured ones to calculate the error, which we call “predicted error” here, and is represented by the distant between the calculated and the measured position, and the results are shown in Figures 5 and 6. It can be seen from Figures 5 and 6 that the accuracy is improved significantly; the maximum and average predicted errors of the 50 verification configurations are reduced from 5.65 mm and 2.47 mm to 0.60 mm and 0.27 mm. The positioning accuracy predicted by the identified parameters is improved by an order of magnitude.

Predicted errors via different parameters.

Maximum and average errors predicted via different parameters.
To further verify the calibration process, all the 100 EE poses defined by the three measured points are taken as the desired poses. The compensation algorithm presented in the “Inverse Jacobian iteration-based geometric error compensation” section is then used to calculate the correct joint angles for each EE pose employing the identified actual parameters. The robot is moved to the calculated configurations and the position coordinates of the three specified points are measured. For comparison, the robot is also moved to those configurations directly calculated by the inverse kinematics under nominal parameters and the same three points are measured. The errors of the center point of the three measured points at all the 100 configurations are shown in Figures 7 and 8. It can be seen that the compensation algorithm improves the absolute accuracy of the robot greatly, and the maximum and average error are reduced from 6.22 mm and 2.59 mm to 0.65 mm and 0.32 mm, respectively.

Center point errors before and after compensation.

Maximum and average errors before and after compensation.
After compensation, the absolute accuracy of the robot should be evaluated. Though the traditional ISO 9283 standard is widely used in industries for robot performance evaluation,
51
it seems quite unfit to some degree.
5,40,50
Thus, the following method is used to assess the absolute accuracy of the calibrated robot. Assuming that the positioning error follows a normal distribution,
3,5
that is,
where
Conclusion
In this article, a complete and systematic calibration process for an industrial robot is presented. Within the proposed calibration method, only some position measurements are needed in advance, and the subsequent experiment design, parameter identification, and geometric error compensation steps can be completed automatically by a software integrated with the algorithms presented in the article. The overall absolute accuracy of the robot can be improved significantly. The proposed calibration method can be easily extended to any industrial robot. It will pave the way to practical application of the state-of-the-art calibration techniques in industry.
Another contribution of this article is that we have proposed an improved SFFS algorithm based on randomized search technique. With this algorithm, we can easily select an optimal subset from a large pool of measurement configurations for parameter identification; thus, the impacts of measurement noise on the identification accuracy can be reduced. This algorithm is verified to have a better performance than the most frequently used DETMAX algorithm.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship and/or publication of this article: This work was supported by the National Natural Science Foundation of China [grant numbers: 51535004, 91648202] and Science & Technology Commission of Shanghai Municipality [grant number: 15550722300].
