1. Introduction
With the increasing demands for production in society, the application of robots in the industrial production field is becoming increasingly widespread. However, errors inevitably arise between the robot’s structure and design parameters during production, assembly, and transportation processes, leading to errors in the robot’s end-effector positioning. Undoubtedly, the existence of these errors poses significant challenges to the development of robot applications. A commonly used solution is to obtain the errors between the actual structural parameters of the robot and the theoretical parameters through parameter calibration to compensate for the robot’s kinematic model and reduce end-effector positioning errors.
Denavit and Hartenberg introduced the classic kinematic model, the DH (Denavit–Hartenberg) model, which uses link lengths, link twist angles, link offsets, and joint angles to describe the pose relationship between adjacent joint links. This model is intuitive and has been used consistently up to the present day [
1]. Hayati and others improved upon the DH model by introducing the MDH (Modified Denavit–Hartenberg) model to address the issue of mathematical description when adjacent joint axes are parallel [
2]. Brockett first proposed the POE (Product of Exponential) model for robot kinematic modeling [
3]. The POE model describes the robot using only the base coordinate system and end-effector coordinate system, significantly reducing the modeling complexity while also satisfying continuity and completeness requirements.
For the same set of structural parameter errors, the end-effector positioning error of a robot will vary depending on its configuration. It is usually desirable to find a configuration that can most effectively “reflect” the structural parameter errors of the robot, thus obtaining more accurate parameter identification results. This process is referred to as robot calibration configuration optimization selection. Directly optimizing the selection of calibration configurations based on the analysis of a robot’s kinematic model is often not easy to achieve. Therefore, in practice, engineers typically first obtain a large amount of calibration sampling data within the robot’s workspace and then optimize the selection of data.
Scholars have proposed various observability metrics for optimizing the selection of robot calibration configurations, among which observability metrics based on the singular values of the Jacobian matrix have been widely applied. Borm and Menq derived an observability metric,
, using the geometric mean of the singular values of the Jacobian matrix [
4]. Driels and Pathre defined
as the ratio of the minimum singular value to the maximum singular value of the Jacobian matrix [
5]. Nahivi and Hollerbach defined
as the minimum singular value of the Jacobian matrix [
6]. They also defined
as the product of
and
[
7,
8]. Sun and Hollerbach defined
as the reciprocal of the sum of the reciprocals of all singular values of the Jacobian matrix [
9]. Wang et al. proposed a more universal evaluation metric,
, which in certain special cases can be considered as
,
, or
[
10].
Joubair et al. evaluated the effectiveness of five commonly used observability metrics in robot calibration. The results indicated that in most cases,
is the best observability metric [
11]. Jia determined the optimal number of calibration data points using
and, as a constraint, maximized
to obtain the optimal calibration dataset using an improved DETMAX algorithm [
12]. Chen et al. proposed metrics to evaluate the dispersion and uniformity of the distribution of the robot end-effector in the workspace. They combined these metrics with
,
, and
using a normalization function to derive a comprehensive observability metric and obtained the optimal calibration dataset [
13]. Chen et al. combined
and
using a dynamic weighted aggregation method to obtain a comprehensive observability metric [
14].
Jiang proposed the evaluation index D for identifiable parameter biases and a new index P for assessing the distribution of robot end-effectors. Subsequently, the DETMAX algorithm was utilized to optimize sampling points sequentially by incorporating the indices D, O
1 and P [
15]. Jiang also introduced observability indices to evaluate robot stiffness for sampling point optimization [
16]. Additionally, Hu and others similarly presented observability indices for assessing robot stiffness [
17]. Stefanie and colleagues implemented optimal measurement pose selection for robots based on optimal experimental design theory [
18].
Furthermore, there are research efforts that focus on sampling point optimization without using dedicated evaluation indices for this purpose, although such studies are limited. Toquica and collaborators established several sub-workspaces within a robot’s workspace, selecting a certain number of sampling points randomly in each subspace for kinematic parameter identification [
19]. The results indicate that partitioning-based calibration methods serve as viable alternatives to traditional calibration methods. Although the final calibration accuracy may not be optimal, this approach saves time and reduces labor costs.
The problem of sampling point optimization can be viewed as a kind of optimization problem. Various metaheuristic algorithms can be employed to address optimization problems, such as particle swarm optimization [
20,
21], genetic algorithms [
22,
23], simulated annealing [
24,
25], etc.
While the aforementioned works have improved the accuracy of robot end-effector positioning, there are still issues with the methods used, including the following: (1) Individual observability metrics can only represent limited meanings, and current comprehensive observability metrics proposed for this problem have not considered the global nature of the robot’s end-effector position. (2) The search algorithms used are prone to becoming stuck in local optimal solutions.
In response to the issues mentioned above, a new observability metric is proposed in this paper. Firstly, a global metric is introduced to evaluate the global distribution of the calibration sampling data in space. Subsequently, the arctangent function is used to normalize , , and , establishing a comprehensive observability metric . This metric is then combined with the Binary Simulated Annealing Algorithm proposed in this study for optimizing calibration sampling data. The robot kinematic parameters calibrated using this method are more accurate, and experiments show a significant reduction in the end-effector positioning error of the robot.
Section 1 introduces the work carried out by other researchers in robot calibration, mainly focusing on optimizing calibration sampling data.
Section 2 mainly describes the robot’s kinematic model and error calibration model.
Section 3 presents the calibration sampling data optimization selection method proposed in this study, including the comprehensive observability metric
and the Binary Simulated Annealing Algorithm.
Section 4 provides the experimental results. The discussion is presented in
Section 5.
3. Calibration Sampling Data Optimization Method
This section primarily discusses the optimization methods for robot calibration sampling data. In
Section 3.1, various observability indices for robots are defined, including
,
, and
. These three observability indices are normalized and combined to form a new observability index
. In
Section 3.2, a Binary Simulated Annealing Algorithm introduced in this research is elaborated upon to enhance the quality of the data search in the context of robot calibration.
3.1. Establishment of Comprehensive Observability Metrics
When calibrating a robot, people always hope that the end-effector pose errors corresponding to the robot poses used for calibration can sufficiently reflect the errors in the robot’s kinematic parameters in order to obtain more accurate parameter identification results. The magnitude of this reflection capability is essentially the observability of the structural parameter errors by the current robot poses, which can be evaluated using robot observability metrics. Various observability metrics have been proposed.
Assuming that
sets of calibration sampling data for the robot have been obtained, the Jacobian matrix
can be calculated based on the formula in Equation (15), resulting in a
matrix, where
is the number of parameters to be calibrated. Performing a singular value decomposition on
yields:
In Equation (28),
represents:
In Equation (29), , , …, are the singular values of , where .
Borm and Menq [
4] introduced the observability metric
:
Driels and Pathre [
5] proposed the observability metric
:
Nahvi and Hollerbach introduced the observability metric
, also known as the minimum singular value [
6]:
The observability metrics mentioned above are all aimed at maximizing their respective indicators during the optimization of calibration sampling data. In theory, the larger the observability metric, the better the observability of the errors in the robot’s structural parameters by the robot poses corresponding to the calibration sampling data being used.
3.1.1. The Global Observability Metric
In addition to observability, another aspect that needs to be considered is the global nature of the robot’s end-effector positions corresponding to the poses. This is because after completing the identification of the robot parameters, to verify the accuracy of the robot calibration, residual end-effector positions (or poses), also known as calibration residuals, are calculated using the calibrated robot parameters under different poses.
Typically, when validating the accuracy of the robot, the closer the poses are during verification to the poses during calibration, the smaller the calibration residuals, and the farther away they are, the larger the calibration residuals. This is because the essence of robot calibration is to use calibration poses and their corresponding end-effector positions as sampling points and approximate the actual values of the robot parameters through a mathematical model.
Based on the analysis above, in order to improve the accuracy of the robot at various poses and enhance the calibration effectiveness, it is necessary to consider the global nature of the robot’s end-effector positions.
Assuming that m sets of calibration sampling data for the robot have been obtained, the calculation process for the global observability metric is as follows:
- (1)
Set a value for .
- (2)
Compute the Euclidean distance between each pair of the m coordinate points and store them in a matrix , where represents the Euclidean distance between the ith point and the jth point.
- (3)
Sort the elements in each row of D in ascending order, resulting in the sorted matrix .
- (4)
Calculate the average of the elements in columns 2 to of each row in , i.e., compute the average distance of each point to its nearest neighbors. This distance is called the K-nearest neighbor distance.
- (5)
Calculate the variance of the K-nearest neighbor distances, denoted as .
- (6)
Obtain the global observability metric as:
A larger indicates a more uniform distribution of the points in space, signifying better global characteristics.
3.1.2. The Comprehensive Observability Metric
In practice, robot calibration requires a set of robot poses with optimal comprehensive capabilities and their corresponding end-effector positions to identify kinematic parameter errors. Building upon the previous discussion, a comprehensive observability metric that combines the observability metrics , , and is proposed to evaluate calibration sampling data in this paper.
When an optimization problem has multiple objectives, the sub-objective functions of multi-objective optimization are typically transformed into a single objective function through mathematical manipulation. A single-objective optimization method is then used to solve the optimization problem. This paper addresses the handling of the three evaluation metrics as follows.
Since the ranges of
,
, and
are different, the most common normalization method is linear normalization. However, this method requires knowledge of the ranges of the variables being normalized, which is difficult to determine for
,
, and
. Therefore, this study utilizes a normalization method based on the arctangent function:
It is a form of nonlinear normalization method that utilizes the arctangent function to map the normalized variables to a unified interval. Since all of the variables being normalized are positive, after being processed according to Equation (34), each variable is transformed to the interval
, regardless of its original value. Therefore, the proposed comprehensive observability metric
is defined as:
3.2. Binary Simulated Annealing Algorithm (BSAA)
In 1953, N. Metropolis et al. introduced the Simulated Annealing Algorithm by simulating the states of individual metal particles during the process of metal annealing. Due to the physical analogy behind the algorithm and its resemblance to combinatorial optimization problems, this algorithm has been widely applied in various fields to solve optimization problems. Compared to other metaheuristic algorithms, the Simulated Annealing Algorithm boasts strong global convergence capabilities, making it less likely to become trapped in local optima. Moreover, this algorithm is characterized by its simple computational structure, versatility, and robustness, making it suitable for optimizing calibration sampling points in robot calibration.
The process of the Simulated Annealing Algorithm can be described as follows: Starting from a relatively high initial temperature, the temperature decreases gradually. At each temperature level, the algorithm performs multiple optimizations in the solution space based on the Metropolis criterion. Even if the next solution found is superior to the current one, there is a certain probability of transitioning to a poorer solution, thus avoiding the issue of local optima. This process continues with temperature reduction and optimization until reaching the set minimum temperature.
In this study, assuming
m sets of calibration sampling data for the robot have been obtained, the optimization of calibration sampling data involves finding the optimal data based on observability metrics within these
m sets of data. Since these data include the joint angles of the robot and their corresponding end-effector coordinates, this optimization process is not a simple low-dimensional problem. Considering that the selection of calibration sampling data have only two states—“yes” or “no”, similar to “0” and “1” in binary—a Binary Simulated Annealing Algorithm suited for selecting optimal robot sampling points is proposed, as shown in
Figure 4. The algorithm steps are as follows:
- (1)
Initialization parameters: Set optimization selection data size ; candidate angle data pool , where is an matrix storing joint angle data for six different postures, and is an matrix storing end-effector position coordinates obtained from laser tracker measurements corresponding to ; set initial temperature , final temperature , cooling rate , and the Markov chain default to 1.
- (2)
Generate the initial solution and compute the objective function: Randomly generate a binary vector composed of ones (indicating selected data) and zeros (indicating unselected data); consider the current best solution and compute the corresponding fitness , i.e., the objective function; and record the current temperature .
- (3)
Generate a new solution and compute the objective function, then decide whether to accept the new solution. To generate a new solution from the current solution , perform the following operation: select two positions in to flip (changing 1 s to 0 s and 0 s to 1 s). One position is randomly selected from all of the elements that are currently 1, and the other position is randomly selected from all of the elements that are currently 0. After flipping, assign the new vector to . Calculate the fitness of the new solution . Then, use the Metropolis criterion to decide whether to accept the new solution.
- (4)
Cooling down: Perform the cooling operation by multiplying the current temperature by the cooling rate to obtain the new current temperature, i.e., . Check if the final temperature has been reached. If it has, output the final result. Otherwise, increment the iteration counter by one and proceed to step 3.
After utilizing the algorithm for optimization, the result obtained is a collection containing multiple robot postures and their corresponding end-effector positions.
4. Experiment
This section primarily presents the experimental content of the study. The experiments consist of both simulation and real-world experiments aimed at validating the effectiveness of the methods proposed in this research. In
Section 4.1 and
Section 4.2, simulation experiments and real-world experiments are conducted to validate the impact of different optimization methods on the accuracy of robot calibration.
4.1. Experiment Introduction
This study is based on the UR10 robot. The experimental system is illustrated in
Figure 5.
In the experimental system, the UR10 robot is securely fixed on an optical platform, and its workspace is set, based on laboratory conditions, to be the intersection of the area above the optical platform and the theoretical workspace of the robot. The robot’s control software is RoboDK v4.0.0, which enables communication with the UR10 robot. Users can control the robot to reach a specific point within its workspace through the software interface, where a real-time display is available. The software also provides some interfaces for users to engage in secondary development. The laser tracker Leica AT403 is used, and the maximum single-point measurement error does not exceed 10 μm, meeting the requirements of the experimental research. Considering the laboratory space limitation, working area of the robot, and the characteristics of the laser tracker, the laser tracker is placed approximately 2500 mm to the UR10 robot.
In this calibration experiment, a certain amount of data within the robot’s workspace is collected. There are some positions where the laser tracker cannot track the spherically mounted retroreflector (SMR) because the optical path is obstructed by the robot itself. So partial calibration sampling data in small areas around the positions where the SMR cannot be tracked are collected as the substitute for the missing data. During data collection, after positioning the robot at the target location, the current joint angle data of the robot’s six joints and the end-effector position coordinates measured using the laser tracker are recorded simultaneously. This calibration data are used to compute the ideal pose transformation matrix from the robot’s base coordinate system to the laser tracker measurement coordinate system, and the initial transformation matrix parameters are recorded.
4.2. Simulation Experiment
MATLAB R2021a is used to construct a numerical simulation environment to validate the optimization effects of different methods. The theoretical structural parameters of the UR10 robot are obtained from the robot’s manual. Additionally, a small value is added intentionally to the theoretical structural parameters; this value is considered as a structural parameter error.
In order to set the structural parameter errors in a simulation environment more close to the reality, the structural parameter errors are set according to the average values from the past calibration experiment results. Each component of the direction vectors (corresponding to ) and each component of the coordinates (corresponding to ) are within the range [−1.5, 1.5]. This process is conducted to obtain what can be considered as the real structural parameters of the robot in the simulation environment.
Multiple sets of joint angle values for the robot’s six joints are generated to simulate the calibration process in actual experiments. The generated angle values are all within the range of motion for the robot’s joints. The ranges of motion for the six joints are listed in
Table 1. For each set of joint angle values generated, the corresponding coordinates are calculated using the model. Random numbers within the range [−0.01, 0.01] are added to the calculated coordinates to simulate the inherent random errors in actual calibration.
Subsequently, datasets are obtained. Different methods are applied to optimize the calibration sampling data, and the LM method is used to process the optimized parameters.
To validate the optimization effects of different methods, 50 sets of data generated using the same method are used to assess the robot’s positioning error. Assessing the robot’s positioning error could evaluate whether the robot’s parameter errors are close to the actual values. Considering that the DETMAX algorithm is a more traditional method in the realm of sampling point optimization [
15], contrasting experiments among different search methods are carried out. Additionally, to verify the effectiveness of the observation metrics proposed, a comparison is made between the
metric and the
,
, and
observation metrics. The relevant statistical results are shown in
Table 2.
It is found that calibrating the robot using the data optimized by combining BSAA with resulted in lower average positioning errors and root mean square errors compared to other methods. When the search algorithm remained the same, using the observation metric yields slightly better results than using other observation metrics; similarly, when the observation metric remained the same, the results obtained with the BSAA search algorithm are better than those obtained with the DETMAX algorithm. Therefore, in the simulation environment, the calibration sampling data optimization method proposed in this study holds a greater advantage compared to other methods.
4.3. Calibration Experiment
In total, 583 calibration sampling data points within the workspace of the robot are collected. The saved sampling point data underwent point optimization as described earlier, where 500 optimized sampling points are selected from all of the data as the final calibration data. The structural parameters obtained through optimization using the Levenberg–Marquardt method are shown in
Table 3, and the end-effector positioning errors before and after optimization are depicted in
Figure 6. To validate the compensation effect, data from 50 randomly sampling points within the robot’s workspace are collected, and the end-effector positioning errors of the robot are shown in
Figure 7.
To validate the effects of different methods, a comparative experiment similar to the simulation experiment was conducted. The data optimized using different methods were used for robot calibration, and 50 positions within the workspace were selected for positional accuracy verification. The relevant statistical results are shown in
Table 4.
It is observed that optimizing the calibration sampling data using observation metrics can improve the end-effector positioning accuracy of the robot. By optimizing the calibration sampling data using the BSAA method combined with the observation metric, the end-effector positioning accuracy improves from 0.356 mm to 0.254 mm after calibration, representing an overall enhancement of 28.58% compared to not using optimization methods.
Analyzing the results of other optimization methods, it is found that when the search algorithm is the same, the average positioning accuracy and root mean square error obtained after optimizing with the observation metric are better than those obtained with other observation metrics. Similarly, when the observation metric is the same, the BSAA proposed in this study achieves better robot positioning accuracy compared to the traditional DETMAX algorithm.
These conclusions align closely with the findings from the simulation experiments. However, whether in simulation or real-world experiments, the maximum value of robot positioning accuracy seems to have no direct correlation with the search algorithm or observation metrics used. Overall, the method proposed in this study remains effective in improving the results of robot calibration.
5. Discussion
In this study, a new method for optimizing robot sampling points is proposed. The optimized sampling points obtained using this method can enhance the calibration quality of the robot, leading to more accurate robot kinematic parameters and improving end-effector positioning accuracy compared to the previous method. This is because the previous observability metrics, O1, O2, O3, O4, and O5, are all aimed at maximizing their respective indicators during the optimization of calibration sampling data to reduce the influence of non-kinematic factors, and these observability metrics do not reflect the uniformity of sampling point coverage, while the global observability metric Od proposed in this paper could improve the uniformity. And only the observability metrics O1 and O3 have little correlation and could be evaluated independently from two perspectives, so these two observability metrics are selected. Therefore, using the comprehensive observability metric Oc has the advantage of reducing the influence of non-kinematic factors and improving the sampling uniformity. And the BSAA has the advantages of overcoming the local optimization. Initially, a robot kinematic model based on the POE model and the generalized error model is established. The ideal pose transformation relationship between the robot base coordinate system and the laser tracker measurement coordinate system is derived using the least squares method to create a spatial single-point error calibration model. Subsequently, calibration sampling data are collected within the robot’s workspace. An improved robot observation metric, combined with the Binary Simulated Annealing Algorithm proposed in this study, is employed for optimizing the calibration sampling data. Finally, the robot’s parameter error vector is obtained using nonlinear least squares methods.
The average end-effector error of the robot is reduced from 0.356 mm to 0.254 mm by the use of sampling points obtained using the proposed method. This improvement indicates an enhancement in calibration quality compared to the previous method.
There is still much work to be carried out in the field of robot calibration techniques. In the future, improvements should be made to the robot’s kinematic model to account for more sources of error, thereby enhancing the model’s accuracy. Additionally, the current method of selecting calibration data involves searching for optimal data within a large set of calibration data. However, this approach is limited by the distribution of the robot within the workspace during the initial data collection.
To address this limitation, it would be beneficial to use a simulation and mathematical analysis to proactively identify optimal measurement positions within the robot’s workspace. This method could help save costs by determining the preferred measurement locations in the robot’s workspace before data collection, rather than relying solely on data gathered during the initial calibration process. And more a suitable simulation settings method needs to be further researched.
Furthermore, during the process of collecting calibration data, due to the fixed positioning of the laser tracker, there will always be regions where the laser tracker cannot track the SMR due to obstruction by the robot itself. As a result, the collected data may not fully reflect the global characteristics of the robot. Research addressing this issue is equally meaningful, and the relative data processing method will be one of the directions for future investigation.