Abstract
The robustness of robot calibration regarding the measurement noise is sensitive to the measurement poses serving as constraints on the parameters to be estimated. This paper presents a pose selection algorithm allowing one to select a given number of optimal poses out of a large set of previously measured poses, which is derived from the DETMAX algorithm with the improvements benefiting from the randomized search technique to avoid local convergence. The benefit of selecting optimal measurement poses is validated through both simulation and experimentation of calibration of a 6-dof serial robot manipulator (Hyundai robot YS100). The results show that the robot calibration with optimal measurement poses yields the global (unbiased) kinematic parameters. Thus, the robot positioning accuracy is enhanced throughout the workspace. Moreover, the experimental results indicate that the number of optimal measurement poses is as important as selecting optimal measurement poses for improving the robot calibration accuracy.
1. Introduction
Robot manipulators have been used in a wide variety of industrial applications such as assembly, painting, and welding. Their applications rely on modeling the robot end-effector positions with the best accuracy. Many factors contribute to robot inaccuracy [1]. Among them, kinematic errors, associated with the differences between the nominal and actual values of the robot kinematic parameters, represent the major cause of overall robot positioning errors [2]. This is because the robot end-effector position is computed through its kinematic model based on its kinematic parameters and the corresponding joint values.
Kinematic calibration has been developed to identify the kinematic parameters of a robot manipulator which most correctly describe its kinematic model, and thus the robot positioning accuracy is enhanced. Usually, this procedure requires many actual measurements which serve as constraints on the kinematic parameters to be estimated. However, in practical experiments, these measurement data contain noise which is propagated to the identified kinematic parameters. Therefore, the effect of the measurement errors on the calibration results has to be minimized. Driels and Pathre [1] studied the factors influencing the results of robot calibration and showed that a judicious choice of the robot configurations used for the measurements is an effective way to improve the robustness of robot calibration with respect to measurement error.
Many academic works in robotics involve understanding and suggesting solutions to the problem of determining a set of optimal measurement configurations for robot calibration. To measure the sensitivity of a given pose set to the variations in the modeled parameters, several observability indices [1, 3, 4, 6] have been defined in terms of singular values of the identification Jacobian matrix (J) that is a function of the given pose set. Ideally, calibrating a robot with the set of measurement configurations, whose relevant observability index is maximized, leads to a high level of confidence in the results of the identified parameters. Accordingly, the task of determining a set of optimal measurement poses within the robot workspace can be formulated as a constrained optimization problem. This can be solved by optimization methods. For example, Borm and Menq [7] adopted the steepest descent method; they [8] also established a set of equations by studying the determinate of J T J, which allows one to modify the first selected measurement pose to obtain a sequence of optimal configurations. Khalil et al. [9] used a gradient conjugate type method. It is well known that these two optimization methods are sensible to local minima. However, the task mentioned above also can be worked out by metaheuristic methods to avoid the local minima, such as the utilization of genetic algorithm in [10], simulated annealing approach in [11], and Tabu search in [12].
One common point in the experimental design for robot calibration presented in the literature [7–12] is that data acquisition is carried out, after the set of optimal configurations is determined. In this situation, the measuring instrument (e.g., laser tracker) must be carefully set up at the specified location to obtain the measurement data based on the whole set of optimal poses. However, due to the limited range of the measuring device or obstacles in the robot working environment, data collection at some optimal poses may not be possible to attain with the consistent coordinate measuring system. This problem may motivate a research direction of selecting the best poses inside a large set of previously measured poses. However, far too little attention has been paid to this research direction. In addition, in the existing relevant literature, there has been some disagreement regarding whether this strategy of pose selection is of benefit to improve the calibration accuracy. For example, Chiu and Perng [13] randomly selected pose combinations within a large measured pose set. Their simulation results indicated that better calibration results can be obtained by using the pose set with larger observability index. Horne and Notash [14] applied elimination search, random search, and exhaustive search to find the best pose set with maximum observability index in a large measured pose set, respectively. On the contrary, their experimental results showed that the calibration results showed very little difference between using optimally selected poses and using randomly selected poses. Based on our experimental calibration results, we observed that calibrating a robot with the set of poses selected inside a large pool of previously measured poses, which yields the relatively larger observability index value, leads to the better calibration results. This is in agreement with Chiu and Perng's [13] founding. However, to the best of our knowledge, there is no effective solution for the problem of selecting the poses yielding the maximum observability index out of the large set of measurements already taken.
Accordingly, this paper presents a pose selection algorithm, which allows one to select a given number of poses with optimum observability index inside a large pool of previously measured poses. This algorithm is developed based on the DETMAX algorithm [15] that was designed for maximizing the determinate of J T J. As shown in [16], it can be adapted to various observability indices. However, one major drawback of the DETMAX algorithm is that it possesses the local convergence problem. To overcome this problem, the improvements based on the randomized search technique are introduced into the DETMAX algorithm. The proposed algorithm has been used to determine optimal calibration poses for a 6-dof serial robot (Hyundai robot YS100). The results reveal that the proposed algorithm simplifies the problem of searching optimal calibration poses and converges fast to global optimum. In addition, the benefit of selecting optimal measurement poses is validated by both simulation and experimentation of calibration of the robot YS100. Moreover, the effect of the number of optimal poses used in robot calibration on the calibration accuracy is analyzed based on the experimental calibration results.
The remainder of this paper is organized as follows. The mathematical model of robot kinematics and calibration are presented in Section 2. Section 3 describes the principle of the proposed algorithm and the choice of criterion of pose selection. The implementation of this algorithm and the resulting optimal poses are presented in Section 4. In Section 5, these optimally selected pose sets were used to calibrate the robot YS100 both experimentally and in simulation. In addition, the results compared with those obtained by using random poses are presented and analyzed. The final section outlines some conclusions.
2. Modeling of Kinematic Error
Since the Hyundai robot YS100 is used as an illustrative example throughout this paper, its kinematic model is firstly established in this section. Then a mathematical formulation is derived to describe its kinematic error model.
2.1. Modeling and Kinematics of Hyundai Robot YS100
The well-known Denavit-Hartenberg (D-H) method [17] is used here to model the kinematic of robot YS100. This method uses only four kinematic parameters (joint angle θ i , offset distance d i , link length ai − 1, and twist angle αi − 1) to describe the relative translation and rotation between two adjacent robot links. The assigned coordinate frames for the links of the robot YS100 are shown in Figure 1 and its nominal D-H parameters are given in Table 1. The transformation from link frame {i − 1} to link frame {i} can be described by a homogenous transformation matrix, which is defined as follows:
Nominal D-H parameters of Hyundai robot YS100.

A sketch of Hyundai robot YS100 and attached link frames.
As pointed out by Hayati and Mirmirani [18], small errors in the positions of the end-effector could not be modeled by small errors in the D-H parameters in the case of two consecutive parallel or near parallel joints (see joint 2 and joint 3 in Figure 1). This causes numeric instability during the identification process. In order to avoid this problem, a small rotation of β about the y-axis is added. Specifically, the homogenous transformation matrix
In general, the word fixed frame is defined arbitrarily by the user. Thus, the robot base frame {0} can be defined by six parameters (α
S
, a
S
, β
S
, b
S
, θ0, andd0) with respect to the sensor base frame {S}; the transformation
Since α0 = 0, a0 = 0, the transformation
where d1′ = d0 + d1, θ1′ = θ0 + θ1. As the laser tracker (see Section 4) only measures the position data, the translation between the frame {6} and the frame of end-effector {E} can be described as follows:
where the vector [a E , b E , d E ] is the location of reflector with respect to the frame {6}.
By successive multiplications of the transformation matrices, the position
where O is a (3 × 1) zero vector.
2.2. Mathematical Formulation for Calibrating Kinematic Parameters
As mentioned before, kinematic errors are associated with the differences between the nominal and actual values of the kinematic parameters in the kinematic model of a robot. Specifically, the resultant position errors (denoted by ΔX
j
) due to small errors in the kinematic parameters (denoted by Δ∅ = [Δα, Δa, Δβ, Δb, Δd, Δθ](n × 1)) can be obtained by differentiating the homogenous transformation
where ΔX
j
(3 × 1) is the difference between the computed
where x i , y i , and z i are (3 × 1) directional vectors of the link frame {i} with respect to the frame {S}; L i is a (3 × 1) vector between the origin of frame {i} and {E} with respect to the frame {S}.
Clearly, the number of kinematic parameters in (6) is equal to 32. However, some kinematic parameters are dependent on other parameters: {θ1, θ0}, {d1, d0}, {d3, d2}, {d E , d6}, and {(a E , b E ), θ6}; these dependency parameters cannot be calibrated at the same time. In this work, the first parameter in each pair is selected and calibrated. In addition, the errors of the nonselected parameters are forced to zero. Thus, n is equal to 27. Since each measurement (P j M ) provides three measurement equations, to estimate 27 parameters, m is equal to or greater than 9. Generally, robot calibration requires many actual measurements (3m > n). Equation (6) then represents an over-determined linear system that can be solved by the least squares approach, with the pseudoinverse given as follows:
where
In fact, the experimental measurements (P M ) contain noise and inaccuracies. Besides, any measurement error will be propagated to the results of the identified kinematic parameters. To achieve precise calibration, the effect of the measurement error on the calibration results has to be minimized. One effective strategy for improving the robustness of the calibration with respect to the measurement error is to determine a set of measurement configurations for robot calibration where the modeled errors have dominant influence on the position errors of the end-effector [3].
3. The Proposed Pose Selection Algorithm
To overcome the aforementioned limitations of the existing approach, this section presents a pose selection algorithm. The aim is to select a given number of measurement poses out of a large set of configurations where measurements are already taken, which improves the calibration accuracy. The criterion for selecting poses is the observability index associated with the identification Jacobian matrix, which is firstly reviewed. Secondly, the principle of the proposed pose selection algorithm is presented.
3.1. The Observability Index
Since the measurement error is propagated to the calibration results through the pseudoinverse of the identification Jacobian matrix (see (9)), researchers have studied the nonzero singular values (denoted by σ l ≤ ⋯ ≤ σ1) of this matrix. Based on these singular values, several observability indices have been defined to quantify the goodness of pose selection. Menq et al. [3] proposed an observability index related to the product of all singular values as follows:
Driels and Pathre [1] used the inverse condition number:
Nahvi et al. [4, 5] proposed two observability indices. One is the smallest singular value [4]:
The other is named as the noise amplification index [5]:
Sun and Hollerbach [6] defined an observability index, similar to O1, taking into account all of the nonzero singular values:
In addition, by studying and comparing these five observability indices, they provided a guidance on which observability indices should be used under which conditions. Based on this guidance, in this paper, O1 is used as the criterion for pose selection due to its scaling invariant property. For more detailed information, interested readers are referred to [6].
3.2. The Algorithm for Selecting Optimal Measurement Poses
To achieve precise calibration, the optimal measurement poses that yield the maximum observability index must be found. For this purpose, we propose to adapt the DETMAX algorithm. Note that Daney et al. [12, 16] have outlined a general version of the DETMAX algorithm for the selection of optimal poses and have renamed it to iterative one-by-one pose search (IOOPS) algorithm. As shown in [12], the IOOPS algorithm can be used to search a given number of optimal poses within an infinite but bounded or a finite set of configurations. In this paper, the latter is considered; the finite pose set consists of a large number of previously measured poses.
The frame of the IOOPS algorithm is a loop where each of the iterations is defended by two steps [12]: the AddFind algorithm (Algorithm 1(a)) and the RemoveFind algorithm (Algorithm 1(b)). These two steps lead to this algorithm simplifying the search optimal pose problem. The main limitation of the IOOPS algorithm, however, is that it possesses the local convergence problem. To overcome this problem, Daney et al. [12] adapted the Tabu search which is usually used when the searching space is too wide (e.g., the entire workspace). Therefore, we introduce the improvements benefiting from randomized search technique into the IOOPS algorithm to assist the IOOPS algorithm to search optimal poses within a narrow searching space (e.g., a pool of measurements already taken). The frame of the proposed algorithm is shown in Algorithm 2. The following conventions are used:
ζ i denotes the ith measurement configuration;
γ m = [ζ1,…, ζ m ] is the set of m measurement configurations;
J(γ m ) is the extended Jacobian matrix associated with γ m ;
Ω is a large pool of possible measurement configurations;
Ω R is a subset of Ω, Ω R = Ω − γ m , consisting of U measurement configurations;
O(γ m ) is the observability index associated with the m measurement configurations;
ζ+ is the configuration chosen inside Ω R ; by adding it to γ m so that O(γm + 1) is maximized, γm + 1 = γ m + ζ+;
ζ− is one component of γm + 1; by removing it so that O(γ m ) is maximized, γ m = γm + 1 − ζ−.
Initially, γ m is randomly selected inside Ω. In Step (2), the AddFind algorithm (Algorithm 1(a)) is used to determine ζ+ inside Ω R . γm + 1 is then obtained by adding ζ+ to γ m . That is, a new line associated with ζ+ is added to the extended Jacobian matrix J(γ m ). After a singular value decomposition (SVD) of J(γm + 1), the observability index can be computed, which is maximized. Similarly, in Step (3), the RemoveFind algorithm (Algorithm 1(b)) is used to determine ζ− inside γm + 1. A new pose set, γ m , is obtained by removing ζ− from γm + 1, whose relevant observability index is maximized. These two steps are repeated until ζ+ = ζ− is true (i.e., a configuration is consecutively added and removed). The procedures above describe the principle of the IOOPS algorithm. The following steps are designed to assist the IOOPS algorithm to leave the local convergence and find better solution; the idea is to benefit from the randomized search technique. In the Step (5), the best-so-far solution (γbest m ) is updated when a better solution is obtained. Then, in Step (6), the random exchange operation, similar to the crossover operation in genetic algorithm, is applied to the best-so-far solution. This operation offers a way to consider the points (configurations) outside the region where the algorithm gets stuck in. In other words, this operation provides the IOOPS algorithm with different initial pose sets that are close to the local optimal pose set. Stopping criteria can be set as reaching a certain number of iterations or the number of iterations allowed where the best-so-far solution is not continuously updated.

(a) The AddFind algorithm and (b) the RemoveFind algorithm [12].

The frame of the proposed pose selection algorithm.
For the algorithm to work properly, the value of k (k ≪ N) must be chosen appropriately. We did not give any mathematical formula for determining the value of k. However, one can consider k as a variable; initially, k is set as a relatively large number. This makes the algorithm actively explore the feasible set. As the iteration increases, the algorithm may closely reach the global optimum, which is manifested in the fact that the best-so-far solution is not continuously updated in a few iterations. k is then set as a relatively small number. This makes the algorithm less active in exploration so that it is more likely to search around the global optimum.
4. Implementation of the Proposed Pose Selection Algorithm
The experimental system consists of a robot manipulator, a laser tracker, and a robot controller, as shown in Figure 2. The laser tracker and reflector were arbitrarily located near the robot base and attached on the end-effector, respectively. Firstly, positions of the robot end-effector were measured by the laser tracker at 100 configurations which evenly distribute within the reachable workspace; the robot controller provided encoder readings (θ) of each joint associated with each configuration. Then the proposed algorithm was used to select m (9 ≤ m < 100) optimal poses (γbest m ) maximizing the O1 criterion out of these 100 measurement poses (Ω). Note that the value of O1 was computed based on the nominal kinematic parameters, under the assumption that the actual robot kinematic parameters are close to those nominal ones. Thus, the optimally selected poses are also close to those obtained by using the actual kinematic parameters.

Experimental setup.
To illustrate how the proposed algorithm works, for example, Figure 3 shows its process of searching 20 optimal poses. It clearly shows the desired behavior of the proposed algorithm; initially, k was set as 2. This leads the IOOPS algorithm to jump from around 0.0181 to 0.0191 (the value of O1 associated with γbest20). As the iteration increased, the best-so-far solution (γbest20) was not continuously updated within 15 iterations (from 20th to 34th iteration). k was then changed to 1. At the 37th iteration, a better solution was found and k was changed to 2 again. By switching k between 2 and 1, the best 20 poses were found at the 50th iteration. The algorithm stopped at the 80th iteration, because the best-so-far solution was not updated within 30 iterations (from 51st to 80th iteration), which will be used for robot calibration.

The process of searching 20 optimal poses.
The value of O1 associated with the best 20 poses (γbest20) is 0.01919. To verify that the value of O1 is maximized, a set of 20 poses was randomly selected inside 100 measurement poses (Ω) and its relevant observability index value (O1) was computed. This process was repeated 1000 times. The 1000 values of O1 corresponding to 1000 randomly selected pose sets are shown in Figure 4; clearly, none of these 1000 values is larger than 0.01919. This indicates that the proposed algorithm is efficient in determining optimal poses with maximum observability index value.

The value of O1 for each of the 1000 sets of random poses.
5. Validation and Discussion
In this section, both simulation and experimentation of calibration of the Hyundai robot YS100 were performed based on (9) by using the optimal measurement poses obtained by the proposed algorithm to validate their influences on the calibration results. In calibration simulation, the actual model parameters are known so that it is available to check how accurately the model parameters were identified. While, in the experimentation of calibration, the mean of the end-effector pose error for the verification measurements (not used for calibration) provides a good indication of how accurately the calibrated robot manipulator will perform.
5.1. Simulation Results
In the process of calibration simulation, the position data
Assumed real D-H parameters of Hyundai robot YS100.
—: undefined; x: unselected.
Two pose sets were used in the calibration simulation. One of these two sets consists of 20 poses randomly selected in Ω (denoted by γ r 20). The other one is the set (γbest20) obtained by the proposed algorithm in Section 4. To avoid the problem of a particular direction of the error on measurement, the calibration simulation with γ r 20 and γbest20 was, respectively, performed 100 times. The mean of each identified kinematic parameter was then compared with the actual ones (Table 2). The corresponding discrepancies of each kinematic parameter are shown in Figure 5. Clearly, the kinematic parameters estimated with the optimal poses are much closer to the assumed real ones than those estimated with randomly selected poses. In other word, the effect of measurement noise on the calibration results has been minimized by using optimally selected measurement poses. This is in good agreement with the simulation results in [12]. in addition, Figure 5 shows that some kinematic parameters (a5, d1, d5, α5, and θ5) are much more badly estimated compared with other kinematic parameters in the case of using random pose set. However, we offer no further explanation for this phenomenon and leave it for future work.

Errors between the identified kinematic parameters and the actual ones. (a) Length parameters and (b) angle parameters.
5.2. Experimental Results
The proposed pose selection algorithm has been used to select m (m = 10, 11,…, 45) optimal poses amongst the 100 measurement configurations (Ω). The resulting 36 sets of optimal measurement poses (γbest10,…, γbest45) were, respectively, used to calibrate the robot YS100. The identified kinematic parameters associated with each set of the poses (γbest m ) are denoted by ∅best m . After the calibration using each of the 36 sets of optimal poses, the corresponding mean and standard deviation of the residual position error of the end-effector after calibration were computed and then compared. As shown in Figure 6, it seems that if the number of optimal poses (m) increases, the mean and standard deviation of the residual position error over the poses used for calibration increase.

Position errors after calibration.
In order to verify the calibration results, the positions of the end-effector at the full set of 100 configurations (Ω) were computed based on (6) with ∅best m and the updated encoder readings being associated with each pose set γbest m and then were compared with the measured positions. For each of the 36 pose sets, the mean and standard deviation of errors between the computed and measured positions are shown in Figure 7. It clearly shows that the larger the size of the optimal pose set is used in the calibration, the more accurate positions the calibrated robot manipulator predicts. In contrast to [8], this indicates that the number of optimal measurement configurations is an important factor affecting the robustness of the robot calibration. Another observation from Figure 7 is that the positioning accuracy of the calibrated robot is not improved much, as long as the number of the optimal pose set is higher than 18. This may suggest that the number of measurement equations associated with the optimal poses used in calibration is at least two times larger than the number of parameters to be estimated (3m > 2 × n).

Position errors for verification configurations (100).
To show the benefit of selecting optimal poses, the calibration results of using optimal poses must be compared with those obtained using random poses. For this purpose, firstly, a set of 27 random poses (denoted by γ r 27) was selected inside the 100 measurement configurations (Ω) and was used to calibrate the robot YS100. Secondly, the nonselected 73 (100−27) poses were used to verify this calibration results. This process was repeated 100 times. For each of the 100 random pose sets, the mean of position errors both in calibration and verification was computed and compared with those associated with the optimal poses set γbest27. Figure 8 shows these comparisons and the standard deviation of position errors in verification. Interestingly, the positioning accuracy obtained in the calibration process using the optimal poses is worse than that obtained using the random poses. However, its positioning accuracy on the verification poses is better, with the smallest mean and standard deviation. This result may be explained by the fact that the measurement errors and unmodeled errors (e.g., compliance errors) are propagated to the calibration results. However, the effect of these inevitable errors on the calibration results is minimized by selecting optimal measurement poses where the position errors are sensitive to the error parameters in the defined kinematic error model. Thus, the calibration with optimal poses yields global (unbiased) parameters, while the calibration using the random poses produces the local parameters absorbing the inevitable errors.

Position errors in calibration (27 poses) and verification (73 poses).
6. Conclusion
This paper has presented an algorithm for selecting a set of optimal poses out of a large pool of previously measured poses. This algorithm is developed based on the DETMAX algorithm. Additionally, the improvements benefiting from the randomized search technique is proposed to avoid local convergence. Selecting optimal measurement poses is important for improving the robustness of robot calibration with respect to measurement noise. To validate the benefit of selecting optimal poses for robot calibration, the optimally selected measurement poses were used to calibrate a 6-dof serial robot (Hyundai robot YS100) both experimentally and in simulation, with comparison to the calibration using random measurement poses. One of the most significant observations to emerge from the results is that the robot positioning accuracy obtained in the calibration using optimal poses can be generalized to other areas of the workspace; using random poses leads to a better positioning accuracy over the measurement poses used in calibration but worse one over the measurement poses used for verification. This observation has important implication: the calibration using optimal measurement poses yields global (unbiased) parameters, while using random measurement poses obtains local parameters absorbing the measurement errors. The second major observation is that increasing the number of optimal poses can improve the calibration accuracy; the threshold is 18. That is, the number of measurement equations associated with the optimal calibration poses is at least two times larger than the number of parameters to be estimated. This indicates that the number of measurements is also important for improving the robustness of robot calibration with respect to measurement error and unmodeled error. For future work, it might be possible to use the proposed pose selection algorithm in the calibration of compliance errors.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Footnotes
Acknowledgment
The authors would like to express their gratitude for the financial support from the Korean Ministry of Knowledge Economy under both the Human Resources Development Program for Convergence Robot Specialists and the Robot Industry Core Technology Project.
