Next Article in Journal
Impedance Spectroscopy Study of Charge Transfer in the Bulk and Across the Interface in Networked SnO2/Ga2O3 Core–Shell Nanobelts in Ambient Air
Next Article in Special Issue
Multi-AUV Kinematic Task Assignment Based on Self-Organizing Map Neural Network and Dubins Path Generator
Previous Article in Journal
Sensors in Bone: Technologies, Applications, and Future Directions
Previous Article in Special Issue
GNSS-Based Narrow-Angle UV Camera Targeting: Case Study of a Low-Cost MAD Robot
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Robot Calibration Sampling Data Optimization Method Based on Improved Robot Observability Metrics and Binary Simulated Annealing Algorithm

College of Control Science and Engineering, China University of Petroleum (East China), Qingdao 266580, China
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(19), 6171; https://doi.org/10.3390/s24196171
Submission received: 3 August 2024 / Revised: 21 September 2024 / Accepted: 23 September 2024 / Published: 24 September 2024
(This article belongs to the Special Issue Applied Robotics in Mechatronics and Automation)

Abstract

:
As the societal demand for precision in industrial robot operations increases, calibration can enhance the end-effector positioning accuracy of robots. Sampling data optimization plays an important role in improving the calibration effect. In this study, a robot calibration sampling point optimization method based on improved robot observability metrics and a Binary Simulated Annealing Algorithm is proposed. Initially, a robot kinematic model based on the Product of Exponentials (POE) model and a generalized error model is established. By utilizing the least squares method, the ideal pose transformation relationship between the robot’s base coordinate system and the laser tracker measurement coordinate system is derived, resulting in an error calibration model based on spatial single points. An improved robot observability metric combined with the Binary Simulated Annealing Algorithm (BSAA) is introduced to optimize the selection of calibration sampling data. Finally, the robot’s parameter errors are obtained using a nonlinear least squares method. Experimental results demonstrate that the average end-effector positioning error of the robot after calibration can be reduced from 0.356 mm to 0.254 mm using this method.

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, O 1 , using the geometric mean of the singular values of the Jacobian matrix [4]. Driels and Pathre defined O 2 as the ratio of the minimum singular value to the maximum singular value of the Jacobian matrix [5]. Nahivi and Hollerbach defined O 3 as the minimum singular value of the Jacobian matrix [6]. They also defined O 4 as the product of O 2 and O 3 [7,8]. Sun and Hollerbach defined O 5 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, O 6 , which in certain special cases can be considered as O 1 , O 3 , or O 5 [10].
Joubair et al. evaluated the effectiveness of five commonly used observability metrics in robot calibration. The results indicated that in most cases, O 1 is the best observability metric [11]. Jia determined the optimal number of calibration data points using O 1 and, as a constraint, maximized O 3 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 O 1 , O 2 , and O 3 using a normalization function to derive a comprehensive observability metric and obtained the optimal calibration dataset [13]. Chen et al. combined O 1 and O 3 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, O1 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 O d is introduced to evaluate the global distribution of the calibration sampling data in space. Subsequently, the arctangent function is used to normalize O 1 , O 3 , and O d , establishing a comprehensive observability metric O c . 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 O c and the Binary Simulated Annealing Algorithm. Section 4 provides the experimental results. The discussion is presented in Section 5.

2. Modeling

This section primarily focuses on the mathematical models related to robots. In Section 2.1, the POE kinematic model of the UR10 robot is introduced, establishing the transformation relationship between the position of the robot end-effector tool center relative to the robot base. In Section 2.2, the robot error calibration model is presented, establishing the relationship between the coordinate errors of the robot end-effector tool center and the errors in the robot’s kinematic parameters. These kinematic parameters encompass the robot’s kinematic parameters and the spatial transformation parameters between the coordinate system of the laser tracker in the calibration system and the robot base coordinate system.

2.1. The Robot Kinematic Model Based on the POE Model

This research focuses on the UR10 robot; the structure is shown in Figure 1. Due to the presence of adjacent joint axes that are parallel (or nearly parallel) in this robot, modeling such robots using the traditional DH model can lead to singularities in the model. Therefore, it is common to consider this by using the M-DH model or the POE model for modeling. The POE model is based on screw theory, and using this model ensures the continuity of the robot model.
According to Chasles’ theorem, the exponential coordinates of motion screws represents the helical motion of a rigid body [26]. For the i th joint, the following can be obtained:
e ξ ^ i θ i = e ω ^ i θ i I e ω ^ i θ i ω i × V i + θ i ω i ω i T V i 0 1 3 1
V i = ω i × q i
where ω i = [ ω 1 i , ω 2 i , ω 3 i ] T is the direction vector of the axis of the i th joint of the robot in the robot’s base coordinate system. q i = [ q 1 i , q 2 i , q 3 i ] T are the coordinates of a point on the axis of the i th th joint of the robot, typically taken as the origin of that joint coordinate system. θ i is the rotation angle value of the i th joint of the robot. ξ ^ i is the joint screw fixed on the i th joint, represented as:
ξ ^ i = ω ^ i V i 0 0
where ω ^ i s o ( 3 ) is an antisymmetric matrix and can be represented as:
ω ^ i = 0 ω 3 i ω 2 i ω 3 i 0 ω 1 i ω 2 i ω 1 i 0
Since ω i is the direction vector of each joint axis in the base coordinate system, it is known that ω i = 1 . Therefore, the representation of e ω ^ i θ i can be obtained as:
e ω ^ i θ i = I + ω ^ i θ i + ( ω ^ i θ i ) 2 2 ! + ( ω ^ i θ i ) 2 3 ! +
Since ω ^ i is an antisymmetric matrix, according to the definition, it holds:
ω ^ i 2 = ω ^ i ω ^ i T ω ^ i 2 I
ω ^ i 3 = ω ^ i 2 ω ^ i
It can be obtained:
e ω ^ i θ i = I + ω ^ i sin θ i + ω ^ i 2 ( 1 cos ( θ i ) )
Finally, the relationship between the end-effector coordinate system on the rigid body and the base coordinate system can be represented by g s t ( θ i ) , with g s t ( 0 ) defined as the initial pose of the rigid body in the base coordinate system. Therefore, the rotational motion of the rigid body relative to the fixed axis can be expressed as:
g s t θ i = e ξ ^ i θ i g s t ( 0 )
For the UR10 robot, based on the derivation above, the kinematic model of the robot can be established as:
g ( θ ) = e ξ ^ 1 θ 1 e ξ ^ 2 θ 2 e ξ ^ 6 θ 6 g s t 0 = R ( θ ) p ( θ ) 0 1 3 1
In the equation above, R ( θ ) R 3 3 and p ( θ ) R 3 1 represent the attitude rotation matrix and the position translation vector, respectively. The orientation and displacement of the robot’s end-effector coordinate system relative to the robot’s base coordinate system is indicated. The POE model ultimately results in a pose transformation matrix.

2.2. Robot Calibration Model

2.2.1. Error Calibration Model Based on Spatial Single Point

Considering that errors in the structure and design parameters of the robot are inevitable and have a significant impact on the end-effector positioning accuracy of the robot, it is necessary to calibrate the structural parameter errors of the robot.
In an ideal scenario, the relationship between the end-effector position coordinates and the various parameters of the robot can be represented as:
p = p x p y p z = f θ ; ε
in the equation above, ε = [ ε 1 , ε 2 , , ε n ] T is the parameter vector consisting of the n structural parameters to be calibrated for the robot, and θ = [ θ 1 , θ 2 , , θ 6 ] T is the vector of angle values for the robot’s six joints. The values of θ are typically collected through experiments beforehand. For the sake of derivation, θ can be treated as a fixed value, and Equation (11) can be rewritten as:
p = p x p y p z = f ε
Now, assuming there is an error between the nominal values and the actual values of each structural parameter, ε = [ Δ ε 1 , Δ ε 2 , , Δ ε n ] T , the actual value of the robot’s end-effector position can be expressed as:
p = p x p y p z = f ε + Δ ε
Generally, since the errors in the structural parameters are relatively small, a Taylor expansion of Equation (13) around ε = [ ε 1 , ε 2 , , ε n ] T can be performed and the terms of quadratic order and higher can be neglected. This leads to the error in the robot’s end-effector position as:
Δ p = p p = Δ p x Δ p y Δ p z = i = 1 n f ε i Δ ε i = J Δ ε
The Jacobian matrix J in Equation (14) is represented as:
J = p x ε 1   p x ε 2     p x ε n p y ε 1   p y ε 2     p y ε n p z ε 1   p z ε 2     p z ε n
Structural parameters of robots could be classified into independent parameters and redundant parameters. The redundant parameters lead to singularity in the Jacobian matrix, thereby reducing the robustness of parameter identification and affecting the final calibration results. Therefore, it is necessary to identify and eliminate the redundant parameters of the robots. Correlation coefficient theory has been introduced for identification [27,28]. For two N-dimensional vectors, X and Y , their correlation coefficient is defined as:
r = X Y X Y N ( X 2 ( X ) 2 N ) ( Y 2 ( Y ) 2 N )
When r = 1 , it indicates that X and Y are perfectly linearly correlated, while r = 0 implies that X and Y are linearly independent.
For three or more vectors, the complex correlation coefficient could be calculated to assess their linear relationships. To determine the linear relationship between vector Y and vectors X 1 , X 2 ,…, and X k , a multivariate linear regression is first performed on vectors Y and X 1 , X 2 ,…, and X k to obtain:
Y ^ = β ^ 0 + β ^ 1 X 1 + β ^ 2 X 2 + + β ^ k X k
It is important to note that when conducting a complex correlation analysis on the Jacobian matrix, the presence of a constant term is not allowed. Therefore, the above equation needs to be modified as:
Y ^ = β ^ 1 X 1 + β ^ 2 X 2 + + β ^ k X k
Then, calculate the correlation coefficient between Y ^ and Y to obtain the complex correlation coefficient. The formula for calculating the complex correlation coefficient is:
R = ( Y Y ¯ ) ( Y ^ Y ¯ ) ( Y Y ¯ ) 2 ( Y ^ Y ¯ ) 2
where Y ¯ represents the arithmetic mean of Y . The complex correlation coefficient R ranges from [ 0 , 1 ] . A larger R indicates a higher degree of correlation between vector Y and vectors X 1 , X 2 ,…, and X k .
Here are the steps for removing redundant parameters:
(1)
Solve the Jacobian matrix Jinitial in the robot calibration model.
(2)
Identify columns in Jinitial that are entirely composed of zeros, which are columns that do not contribute to parameter identification in the current calibration model. Remove these columns to obtain the modified Jacobian matrix J′.
(3)
Calculate the correlation coefficients between columns in J′. If |r| = 1 or approaches 1, it indicates a linear correlation between the two columns. One column should be removed in such cases to obtain the final Jacobian matrix J″.
(4)
Calculate the complex correlation coefficients between each column in J″ and the other columns. If |R| = 1 or approaches 1, it suggests a linear relationship between the current column and some other columns. Remove the current column to derive the final Jacobian matrix, denoted as J .

2.2.2. Pose Transformation Matrix Based on Generalized Error Matrix

In Section 2.2.1, the error calibration model for the robot based on spatial single point is introduced. Using this model for calibration requires knowing the nominal and actual values of the robot’s end-effector position coordinates. The nominal values of the robot’s end-effector position coordinates can be calculated using the angle θ of the robot’s six joints through Equation (11). In this study, the actual values of the robot’s end-effector position coordinates can be obtained via a laser tracker. However, the measured coordinates provided by the laser tracker are represented in its own measurement coordinate system. To perform calibration, it is necessary to unify the measured coordinates and the robot’s end-effector coordinates in the same coordinate system. Therefore, it is essential to calculate the pose transformation matrix between the robot’s base coordinate system and the laser tracker.
The pose transformation matrix in the ideal state is represented as T i d e a l . If the errors in the robot’s structural parameters are neglected, the equation can be written as:
x m e a s u r e y m e a s u r e z m e a s u r e 1 = T i d e a l · x i d e a l y i d e a l z i d e a l 1 = n x o x n y o y a x m x a y m y n z o z 0 0 a z m z 0 1 · x i d e a l y i d e a l z i d e a l 1
If the nominal and actual values of the end-effector positions of the robot are measured in space for M points, the following can be listed:
A X = B = x m e a s u r e 1 x m e a s u r e 2 x m e a s u r e M y m e a s u r e 1 y m e a s u r e 2 y m e a s u r e M z m e a s u r e 1 z m e a s u r e 2 z m e a s u r e M = x i d e a l 1 y i d e a l 1 x i d e a l 2 y i d e a l 2 z i d e a l 1 1 z i d e a l 2 1 x i d e a l M y i d e a l M z i d e a l M 1 n x o x a x m x n y o y a y m y n z o z a z m z
According to the least squares method, it can be obtained:
X = A T A 1 A T B = n x o x a x m x n y o y a y m y n z o z a z m z
At this point, the computed T i d e a l does not take into account the errors in the robot’s structural parameters. If the impact of structural parameter errors on the end-effector position error of the robot is considered, there will be a deviation between T i d e a l and the actual pose transformation matrix, as shown in Figure 2.
The generalized error matrix is an effective method for describing the error in the pose transformation matrix [22]. By using the generalized error matrix, the relationship between the two systems is described. Assuming the actual pose transformation matrix is T r e a l , the relationship between T i d e a l and T r e a l can be expressed using the generalized error matrix E as:
E = R o t X , τ 4 R o t Y , τ 5 R o t Z , τ 6 T r a n s τ 1 , τ 2 , τ 3
In Equation (23), τ 4 , τ 5 , and τ 6 represent the Euler angles of the actual measurement coordinate system relative to the ideal measurement coordinate system, while τ 1 , τ 2 , and τ 3 represent the displacement of the actual measurement coordinate system relative to the ideal measurement coordinate system, as shown in Figure 3.
Therefore, the position coordinates of the robot’s actual end-effector point in the actual measurement coordinate system can be expressed as:
p r e a l = T i d e a l E p 1 = x r e a l , y r e a l , z r e a l , 1 T
The robot’s structural parameters at this point include the parameters from the generalized error matrix, τ = [ τ 1 , , τ 6 ] T . The error calibration model at this stage is modified to:
Δ p = J Δ ε = p x ε 1 p x ε 2 p x ε n p y ε 1 p y ε 2 p y ε n p z ε 1 p z ε 2 p z ε n p x τ 1 p y τ 1 p z τ 1 p x τ 6 p y τ 6 p z τ 6 Δ ε
e i = x r e a l i x m e a s u r e i 2 + y r e a l i y m e a s u r e i 2 + z r e a l i z m e a s u r e i 2
To obtain the vector of errors in the robot’s structural parameters, the calibration problem of the robot can be described as the positioning error of the robot’s end-effector at M points in space. According to the principle of least squares, it can be expressed as:
Q = i = 1 M e i 2 = f Θ , P m e a s u r e , ε , Δ ε
Θ and P m e a s u r e represent the set of robot joint angle values and the corresponding actual end-effector position coordinates used for calibration. Clearly, this optimization problem is a type of nonlinear least squares problem. The Levenberg–Marquardt (LM) method can be used to optimize this problem and obtain the optimized vectors of structural parameter errors.

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 O 1 , O 3 , and O d . These three observability indices are normalized and combined to form a new observability index O c . 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 m sets of calibration sampling data for the robot have been obtained, the Jacobian matrix J o p can be calculated based on the formula in Equation (15), resulting in a 3 m n o p matrix, where n o p is the number of parameters to be calibrated. Performing a singular value decomposition on J o p yields:
J o p = U Σ V
In Equation (28), Σ represents:
Σ = σ 1 0 0 0 0 0 σ n o p 0 0 0 0 0 0
In Equation (29), σ 1 , σ 2 , …, σ n o p are the singular values of J o p , where σ 1 σ 2 σ n o p 0 .
Borm and Menq [4] introduced the observability metric O 1 :
O 1 = σ 1 σ 2 σ n o p 1 n o p m
Driels and Pathre [5] proposed the observability metric O 2 :
O 2 = σ n o p σ 1
Nahvi and Hollerbach introduced the observability metric O 3 , also known as the minimum singular value [6]:
O 3 = σ n o p
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 O d

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 O d is as follows:
(1)
Set a value for K .
(2)
Compute the Euclidean distance between each pair of the m coordinate points and store them in a matrix D , where D ( i , j ) 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 D ( i , j ) .
(4)
Calculate the average of the elements in columns 2 to K + 1 of each row in D s o r t , i.e., compute the average distance of each point to its nearest K neighbors. This distance is called the K-nearest neighbor distance.
(5)
Calculate the variance of the K-nearest neighbor distances, denoted as v a r d .
(6)
Obtain the global observability metric O d as:
O d = 1 v a r d
A larger O d indicates a more uniform distribution of the m points in space, signifying better global characteristics.

3.1.2. The Comprehensive Observability Metric O c

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 O 1 , O 3 , and O d 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 O 1 , O 3 , and O d 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 O 1 , O 3 , and O d . Therefore, this study utilizes a normalization method based on the arctangent function:
x n o r m = 2 π atan x
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 [ 0 , 1 ] , regardless of its original value. Therefore, the proposed comprehensive observability metric O c is defined as:
O c = 2 π atan O 1 + atan O 3 + atan O d

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 m o p ; candidate angle data pool o o l = [ a n g l e , l a s e r ] , where a n g l e is an m 6 matrix storing joint angle data for six different postures, and l a s e r is an m 3 matrix storing end-effector position coordinates obtained from laser tracker measurements corresponding to a n g l e ; set initial temperature T i n i t = 10 20 , final temperature T f i n a l = 10 50 , cooling rate R c o o l = 0.98 , and the Markov chain default to 1.
(2)
Generate the initial solution and compute the objective function: Randomly generate a binary vector S c composed of m o p ones (indicating selected data) and m m o p zeros (indicating unselected data); consider the current best solution S b e s t = S c and compute the corresponding fitness F = O c , i.e., the objective function; and record the current temperature T c = T i n i t .
(3)
Generate a new solution and compute the objective function, then decide whether to accept the new solution. To generate a new solution S n e w from the current solution S c , perform the following operation: select two positions in S c 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 S n e w . Calculate the fitness of the new solution F n e w = O c . 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., T c = T c R c o o l . 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 ω i ) and each component of the coordinates (corresponding to q i ) 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 O c metric and the O 1 , O 2 , and O 3 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 O c resulted in lower average positioning errors and root mean square errors compared to other methods. When the search algorithm remained the same, using the O c 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 O c 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 O c 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.

Author Contributions

Methodology, H.J. and L.Y.; Software, H.Z. and J.Z.; Investigation, All authors; Writing—original draft preparation, H.J.; Writing—review and editing, H.J., H.Z. and L.Y.; Visualization, J.Z.; Supervision, L.Y.; Project administration, L.Y.; funding acquisition, L.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (51927811), the National Key Research and Development Program of China (2022YFF0705700), the Taishan Scholar Program of Shandong Province in China (no. tstp20230614 and tsqnz20221124) and the Young Elite Scientists Sponsorship Program by CAST (2022QNRC001).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data available on request due to restrictions, e.g., privacy or ethical.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Denavit, J.; Hartenberg, R.S. A kinematic notation for lower-pair mechanisms based on matrices. Trans ASME J. Appl. Mech. 1955, 22, 215–221. [Google Scholar] [CrossRef]
  2. Hayati, S.A. Robot arm geometric link parameter estimation. IEEE Conf. Decis. Control 1983, 22, 1477–1483. [Google Scholar]
  3. Liu, W.; Liu, S.; Deng, Z.; Ge, J. Research Progress on Positioning Error Compensation Technology of Industrial Robot. J. Mech. Eng. 2023, 59, 1–16. [Google Scholar]
  4. Borm, J.H.; Menq, C.H. Experimental study of observability of parameter errors in robot calibration. In Proceedings of the 1989 International Conference on Robotics and Automation, Scottsdale, AZ, USA, 14–19 May 1989; pp. 587–592. [Google Scholar]
  5. Driels, M.R.; Pathre, U.S. Significance of observation strategy on the design of robot calibration experiments. J. Robot. Syst. 1990, 7, 197–223. [Google Scholar] [CrossRef]
  6. Nahvi, A.; Hollerbach, J.M.; Hayward, V. Calibration of a parallel robot using multiple kinematic closed loops. In Proceedings of the 1994 IEEE International Conference on Robotics and Automation, San Diego, CA, USA, 8–13 May 1994; pp. 407–412. [Google Scholar]
  7. Nahvi, A.; Hollerbach, J.M. The noise amplification index for optimal pose selection in robot calibration. Proc. IEEE Int. Conf. Robot. Autom. 1996, 1, 647–654. [Google Scholar]
  8. Jiang, Z.; Huang, M.; Tang, X. Observability index optimization of robot calibration based on multiple identification spaces. Auton. Robot. 2020, 44, 1029–1046. [Google Scholar] [CrossRef]
  9. Sun, Y.; Hollerbach, J.M. Observability index selection for robot calibration. In Proceedings of the 2008 IEEE International Conference on Robotics and Automation, Pasadena, CA, USA, 19–23 May 2008; pp. 831–836. [Google Scholar]
  10. Wang, W.; Song, H.; Yan, Z. A universal index and an improved PSO algorithm for optimal pose selection in kinematic calibration of a novel surgical robot. Robot. Comput.-Integr. Manuf. 2018, 50, 90–101. [Google Scholar] [CrossRef]
  11. Joubair, A.; Bonev, I.A. Comparison of the efficiency of five observability indices for robot calibration. Mech. Mach. Theory 2013, 70, 254–265. [Google Scholar] [CrossRef]
  12. Jia, Q.; Wang, S.; Chen, G. A novel optimal design of measurement configurations in robot calibration. Math. Probl. Eng. 2018, 2018, 4689710. [Google Scholar] [CrossRef]
  13. Chen, G.; Wang, L.; Yuan, B. Configuration optimization for manipulator kinematic calibration based on comprehensive quality index. IEEE Access 2019, 7, 50179–50197. [Google Scholar] [CrossRef]
  14. Chen, X.; Zhan, Q. The kinematic calibration of a drilling robot with optimal measurement configurations based on an improved multi-objective PSO algorithm. Int. J. Precis. Eng. Manuf. 2021, 22, 1537–1549. [Google Scholar] [CrossRef]
  15. Jiang, X.; Fang, L.; Gao, Y. A multilevel index optimization method for fast kinematic calibration configuration of serial manipulators based on Compute Unified Device Architecture parallel computing. Proc. Inst. Mech. Eng. Part C J. Mech. Eng. Sci. 2020, 234, 4708–4724. [Google Scholar] [CrossRef]
  16. Jiang, X.; Fang, L. Optimal configuration selection method for stiffness identification of serial manipilators based on the kF(A)−1 criterion. J. Mech. Sci. Technol. 2022, 36, 2559–2570. [Google Scholar] [CrossRef]
  17. Hu, M.; Wang, H.; Pan, X. Optimal configuration selection for stiffness identification of 7-Dof collaborative robots. Intell. Serv. Robot. 2020, 13, 379–391. [Google Scholar] [CrossRef]
  18. Zimmermann, S.A.; Enqvist, M.; Gunnarsson, S. Experimental evaluation of a method for improving experiment design in robot identification. In Proceedings of the 2023 IEEE International Conference on Robotics and Automation (ICRA), London, UK, 29 May–2 June 2023; pp. 11432–11438. [Google Scholar]
  19. Toquica, J.S.; Motta, J.M.S.T. A methodology for industrial robot calibration based on measurement sub-regions. Int. J. Adv. Manuf. Technol. 2022, 119, 1199–1216. [Google Scholar] [CrossRef]
  20. Gao, G.; Wang, W.; Lin, K.; Chen, Z. Kinematic Calibration for Articulated Arm Coordinate Measuring Machines Base on Particle Swarm Optimization. In Proceedings of the 2009 Second International Conference on Intelligent Computation Technology and Automation, Changsha, China, 10–11 October 2009; pp. 189–192. [Google Scholar]
  21. Feng, W.; Heng, Z.; Aimin, Z. A particle swarm optimization algorithm for mixed-variable optimization problems. Swarm Evol. Comput. 2021, 60, 100808. [Google Scholar]
  22. Mayer, M.J.; Szilágyi, A.; Gróf, G. Environmental and economic multi-objective optimization of a household level hybrid renewable energy system by genetic algorithm. Appl. Energy 2020, 269, 115058. [Google Scholar] [CrossRef]
  23. Karakatič, S. Optimizing nonlinear charging times of electric vehicle routing with genetic algorithm. Expert Syst. Appl. 2021, 164, 114039. [Google Scholar] [CrossRef]
  24. Vincent, F.Y.; Susanto, H.; Jodiawan, P.; Ho, T.W.; Lin, S.W.; Huang, Y.T. A Simulated Annealing Algorithm for the Vehicle Routing Problem With Parcel Lockers. IEEE Access 2022, 10, 20764–20782. [Google Scholar]
  25. Lv, H.; Xueye, C.; Xiangwei, Z. Optimization of micromixer with Cantor fractal baffle based on simulated annealing algorithm. Chaos Solitons Fractals 2021, 148, 111048. [Google Scholar] [CrossRef]
  26. Meggiolaro, M.A.; Dubowsky, S.; Mavroidis, C. Geometric and elastic error calibration of a high accuracy patient positioning system. Mech. Mach. Theory 2005, 40, 415–427. [Google Scholar] [CrossRef]
  27. Neto, A.M.; Victorino, A.C.; Fantoni, I. Image Processing Using Pearson’s Correlation Coefficient: Applications on Autonomous Robotics. In Proceedings of the 2013 13th International Conference on Autonomous Robot Systems, Lisbon, Portugal, 24 April 2013. [Google Scholar]
  28. Mudholkar, G.S. Multiple Correlation Coefficient; John Wiley and Sons, Inc.: Hoboken, NJ, USA, 2004. [Google Scholar]
Figure 1. Structure of UR10 robot.
Figure 1. Structure of UR10 robot.
Sensors 24 06171 g001
Figure 2. Transformation of coordinate system.
Figure 2. Transformation of coordinate system.
Sensors 24 06171 g002
Figure 3. Transformation from the ideal measurement coordinate system to the actual measurement coordinate system.
Figure 3. Transformation from the ideal measurement coordinate system to the actual measurement coordinate system.
Sensors 24 06171 g003
Figure 4. Binary Simulated Annealing Algorithm.
Figure 4. Binary Simulated Annealing Algorithm.
Sensors 24 06171 g004
Figure 5. The calibration system of the UR10 robot.
Figure 5. The calibration system of the UR10 robot.
Sensors 24 06171 g005
Figure 6. Comparison of the positioning error for the sampling points at the calibration.
Figure 6. Comparison of the positioning error for the sampling points at the calibration.
Sensors 24 06171 g006
Figure 7. Comparison of the positioning error for the verification points at the calibration.
Figure 7. Comparison of the positioning error for the verification points at the calibration.
Sensors 24 06171 g007
Table 1. Range of robot’s joints.
Table 1. Range of robot’s joints.
Joint 1Joint 2Joint 3Joint 4Joint 5Joint 6
Range (°)−363~363−363~363−363~363−363~363−363~363−363~363
Table 2. Positioning error with different method in simulation experiment.
Table 2. Positioning error with different method in simulation experiment.
MethodMean (mm)RMSE (mm)Max (mm)
None0.4850.5581.078
Detmax   with   O 1 0.41310.48071.0966
Detmax   with   O 2 0.4300.4911.015
Detmax   with   O 3 0.4210.4871.196
Detmax   with   O c 0.3990.4671.201
BSAA   with   O 1 0.3880.4571.113
BSAA   with   O 2 0.3990.4631.133
BSAA   with   O 3 0.3820.4300.832
BSAA   with   O c 0.3630.4110.982
Table 3. Robot parameter after calibration.
Table 3. Robot parameter after calibration.
ParameterJoint 1Joint 2Joint 3Joint 4Joint 5Joint 6Tool
w i 1 −0.0019−0.0039−0.0021−0.0040−0.006900
w i 2 −0.308−0.9992−1.0006−0.99940.0304−1−0.00256
w i 3 0.9999−0.0302−0.0259−0.0228−1.00040−0.00163
q i 1 1.97670.8579−613.3492−1184.42−1186.48−1184.34−1184.30
q i 2 3.8980000−162.3182−163.9410−164.8382
q i 3 0129.8632128.3573128.0043127.300011.684911.6000
Table 4. Positioning error with different method.
Table 4. Positioning error with different method.
MethodMean (mm)RMSE (mm)Max (mm)
None0.3560.3970.280
Detmax   with   O 1 0.3220.3860.312
Detmax   with   O 2 0.3300.3510.370
Detmax   with   O 3 0.3260.3600.262
Detmax   with   O c 0.3030.3560.267
BSAA   with   O 1 0.2990.3560.287
BSAA   with   O 2 0.3270.3560.342
BSAA   with   O 3 0.3190.3510.175
BSAA   with   O c 0.2540.2930.805
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Jia, H.; Zeng, H.; Zhang, J.; Wang, X.; Lu, Y.; Yu, L. Robot Calibration Sampling Data Optimization Method Based on Improved Robot Observability Metrics and Binary Simulated Annealing Algorithm. Sensors 2024, 24, 6171. https://doi.org/10.3390/s24196171

AMA Style

Jia H, Zeng H, Zhang J, Wang X, Lu Y, Yu L. Robot Calibration Sampling Data Optimization Method Based on Improved Robot Observability Metrics and Binary Simulated Annealing Algorithm. Sensors. 2024; 24(19):6171. https://doi.org/10.3390/s24196171

Chicago/Turabian Style

Jia, Huakun, Hanbo Zeng, Jiyan Zhang, Xiangyang Wang, Yang Lu, and Liandong Yu. 2024. "Robot Calibration Sampling Data Optimization Method Based on Improved Robot Observability Metrics and Binary Simulated Annealing Algorithm" Sensors 24, no. 19: 6171. https://doi.org/10.3390/s24196171

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop