# A Robot Calibration Method Based on Joint Angle Division and an Artificial Neural Network

Authors: Zhirong Wang; Zhangwei Chen; Yuxiang Wang; Chentao Mao; Qiang Hang
Journal: Mathematical Problems in Engineering
 (2019)

---

## Abstract

Robot calibration is used to improve the accuracy of the kinematic model to achieve the higher positioning accuracy within the workspace. Due to some nongeometrical reasons such as joint and link flexibility, the errors are unevenly distributed in the workspace. In this case, it is difficult for the existing methods used to improve the absolute positioning accuracy to achieve good results in each region, especially for robots with large self-weights. In this paper, a novel calibration method is proposed, which deals with joint deflection dependent errors to enhance the robot positioning accuracy in the whole workspace. Firstly, the joint angle workspace is divided into several local regions according to the mass distribution of the robot. Then, its geometric parameters are modeled and identified using the Denavit–Hartenberg (DH) model in each region and in the whole workspace separately. Since the nongeometric error sources are difficult to model correctly, an artificial neural network (ANN) is applied to compensate for the nongeometric errors. Finally, the experiments using an 8 degree-of-freedom (DOF) engineering robot are conducted to demonstrate the validity of the proposed method. The combination of the joint angle division and ANN could be an effective solution for the robot calibration, especially for one with a large self-weight.


---

## Body

## 1. Introduction

With the popularization of robot applications, robot offline programming methods are widely used [1, 2], which greatly depend on the absolute positioning accuracy of the robots. The deviation between the nominal model and the physical robot, caused by various reasons such as the machining tolerance and assembly tolerance, significantly reduces the positioning accuracy of a robot. The phenomenon can be improved by calibration, in which a group of more accurate model parameters is identified, so as to build a better kinematic model for the robot.Robot calibration has attracted great attention in academia and industry. Current researches mainly focused on the error source modeling of robots [3–5]. The errors were mainly divided into geometric errors such as the link length and nongeometric errors such as the gear backlash. Most of the previous work focused on improving the kinematic models and compensating for geometric errors while ignoring the nongeometric errors [6]. The effect caused by the nongeometric errors is simply assumed to be tiny. Stone et al. established the mapping of the kinematic errors of each single joint to the end position using the 6-parameter model and solved the model by using the least square method [7, 8]. Chen established the product-of-exponential (POE) model for the kinematic errors of a robot, which avoided the singular value problem of the error models [9]. Tan et al. combined the screw theory with the distance error model to simulate and verify the calibration of the robots [10]. These model-based methods mentioned above could model many error sources accurately and exhibited a fast and good computing power. However there are also many error sources that cannot be modeled accurately; the conventional model-based methods cannot compensate for the nongeometric errors.In fact, the nongeometric errors still play a significant role in the robot positioning accuracy and the nongeometric error sources cannot be ignored [11]. The errors caused by robot compliance account for 8
%
~
10
% as well as other nongeometric errors such as gear transmission errors [12]. Some other researches focused on the compensation for nongeometric errors of robots through the model-free methods. Judd and Kaminski observed experimentally many error sources such as geometric errors, gear errors, servo error, and thermal change errors and they proposed a method which adds a homogeneous matrix at the robot end plate to improve the robot accuracy [13]. A comprehensive model incorporating the joint deflection model and the kinematic model was built to compensate for the geometric errors and nongeometric errors [14]. In addition, some methods which aimed at describing the relationship between the robot joint readings and its position errors were worked out. Some optimization methods, such as genetic programming (GP) and the artificial neural network (ANN), were used for robot calibration. A formula was built based on the ANN to describe the relationship between the robot joint angle and its corresponding joint errors [15]. GP was used to calibrate the robot by optimizing the fitness function [16]. However, the training data used in the ANN and GP obtained from the idealized inverse kinematics of the robot was inaccurate. For some robots with heavy self-weights, the nongeometric errors such as joint deflection cannot be ignored. And the positioning errors caused by the nongeometric errors were not uniform. The relationship between positioning errors in different spaces was discussed and a flexibility error model was proposed [17]. A dynamic parameter compensating method based on the spatial grid was proposed [18]. As the robot position came into a different grid, a different group of the DH parameters was adopted. However, these two methods were both performed in the Cartesian coordinate system. Since the different joint configuration can come to the same spatial location, these techniques cannot acquire the high positioning accuracy in the whole workspace.In this paper, a three-stage calibration method which can combine the advantages of the above models is proposed. Firstly, the joint angle workspace of the robot is divided into several local regions according to its mass distribution, whose innovation lies in avoiding the kinematic errors caused by the different mass distribution in the different angle configuration of the robot. Secondly, the DH model combined with the distance error model will be used to identify and compensate for the geometric errors in the local region and in the whole workspace separately. The introduction of the distance error model can avoid the transformation of the different coordinate systems and simplify the computing. At last, the residual errors will be compensated for through the ANN models instead of the complex modeling for the nongeometric errors. In order to demonstrate the validity of the method, a series of experiments is conducted on an 8 degree-of-freedom (DOF) engineering robot. Compared to conventional calibration methods, the calibration result results in a better positioning accuracy.


## 2. The Advanced Robot Calibration System

Industrial robots generally work through online teaching owing to lacking the high absolute positioning accuracy which is mainly caused by the serial structure of the robot, manufacturing and assembly process, and environment factors. The calibration method is based on the advanced robot calibration system, as shown in Figure1. To increase the absolute positioning accuracy of the robot, a laser tracker is used to measure the real-time position of the tool point in the measuring coordinate system. The laser tracker can track the motion of the robot owing to its high sampling frequency. Taking the measuring position data and the configuration of the robot encoder as the input, the compensation model can correct the errors in the whole workspace. In the process of calibration, some important factors may influence the final calibration result. Firstly, modeling for the deflection of the link is a complex process and a large amount of calculation is consumed; secondly, the transformation between different coordinate systems may cause accumulated calculating errors. The method proposed in this paper provides available solutions to solve the problems mentioned above.Figure 1
The advanced robot calibration system.


## 3. Methods Based on Joint Angle Division and an ANN

This section is organized as follows. Section3.1 analyzes the division principle and divides the joint angle workspace of the robot into different regions. Section 3.2 builds the kinematic model of the robot and identifies the geometric parameters using the DH model. Section 3.3 gives the nongeometric calibration method using the ANN.


### 3.1. Division of the Joint Angle Workspace

The parameter errors of the robot in the joint angle workspace are unevenly distributed due to factors such as the flexibility of the links and the motor control. The change in the compliance of the link is a continuous process that simplifies the flexible joint into a linear torsion spring model. The angle of joint deflection is proportional to the torque exerted on its axis.(1)
Δ
θ
=
C
θ
τ
,where Δ
θ is a flexible deflection angle caused by either the load quality or the weight of the mechanical arm. C
θ is the flexibility coefficient. τ is the torque exerted on its axis.Due to the influence of the robot weight and load, the errors of the joint angles will be relatively large with the change of joint configuration. Since there exist some deflections in the links of the robots, the kinematic parameters of the robot will also change to some extent. Therefore, the parameter errors can be expressed as a function of the location of the end effector given by(2)
Δ
p
=
Δ
θ
,
Δ
d
,
Δ
a
,
Δ
α
=
g
x
,
y
,
z
,where Δ
p is the error vector of the DH parameters, (
Δ
θ
,
Δ
d
,
Δ
a
,
Δ
α
) denotes the error vector of the joint angle, the error vector of the link length, the error vector of the link offset, and the error vector of the link twist angle, respectively, and (
x
,
y
,
z
) is the position vector at the end of the robot. According to (2), the parameter errors are related to the location of the end effector. For the same point in the Cartesian coordinate frame, there may exist several different configurations. It is difficult to establish error models in rectangular coordinates. But the joint angle configuration is unique in the whole workspace. Therefore, the problem can be solved in the joint angle workspace and the transformed formula is given by(3)
Δ
p
=
Δ
θ
,
Δ
d
,
Δ
a
,
Δ
α
=
f
θ
1
,
θ
2
,
θ
3
,
…
θ
n
-
1
,
θ
n
,where q
=
(
q
1
,
q
2
,
q
3
,
…
q
n
-
1
,
q
n
) denotes the values of the joint variables and n is the DOF number. According to formula (3), if the joint variables of the robot are determined, the values of the parameter error will also be constant. It is assumed that the parameter errors are Δ
p
1 and Δ
p
2, respectively, when the joint variables are q
1
=
(
θ
1
1
,
θ
2
1
,
θ
3
1
,
…
,
θ
n
-
1
1
,
θ
n
1
) and q
2
=
(
θ
1
2
,
θ
2
2
,
θ
3
2
,
…
,
θ
n
-
1
2
,
θ
n
2
). The difference between the two positions can be given by(4)
E
=
Δ
p
1
-
Δ
p
2
<
ε
,
q
1
-
q
2
→
0
,where E is the norm difference between Δ
p
1 and Δ
p
2 and ε is a selected threshold. When q
1
-
q
2 is tiny enough, a proper ε satisfying E
<
ε can be found.Based on the above deduction, it is assumed that when the robot is in different positions, the parameter errors are also different. When the self-weight of a robot cannot be ignored, the joint deflections will be different due to different mass distribution in different positions. In this paper, the joint angle workspace will be divided into several local regions according to the difference of the mass distribution. Every local region has its own parameter errors. When the robot moves with a different joint configuration, it will compensate for the position error with different kinematic parameters. The smaller the regions are divided, the more accurate the parameter errors are and the greater the computation cost will be.


### 3.2. Geometric Parameters Identification

#### 3.2.1. Kinematic Model of the Robot

The kinematic model of the robot in this paper is built according to the DH convention [19], as shown in Figure 2.Figure 2
The DH convention and the position transformation.The coordinate frames are fixed on the joint axis of the robots. Two adjacent joint coordinate frames are connected by a homogeneous transformation matrix​
i
-
1
i
T given by(5)
i
-
1
i
T
=
t
r
o
t
z
θ
i
∗
t
r
a
n
s
a
l
a
i
,
0.0
∗
t
r
a
n
s
l
0,0
,
d
i
∗
t
r
o
t
x
α
i
,where (
θ
i
,
a
i
,
d
i
,
α
i
) denotes the joint variable, the link length, the link offset, and the link twist angle, respectively, and i denotes the sequence number of the joint. T
r
o
t
(
∗
) is a (4x4) matrix of the pure rotational transformations about an axis and T
r
a
n
s
l
(
∗
) is a (4x4) matrix of the translational ones along an axis [19].The position of the end effectorT
t
o
o
l
m
e
a
s can be obtained by multiplying the corresponding transformation matrix given by(6)
T
t
o
o
l
m
e
a
s
=
T
b
a
s
e
m
e
a
s
∗
∏
i
=
2
i
=
n
T
i
i
-
1
∗
T
t
o
o
l
n
.
T
b
a
s
e
m
e
a
s represents the (4x4) matrix transformation of the measurement coordinate system to the robot base coordinate system. T
b
a
s
e
m
e
a
s requires three translational transformations and three rotational transformations, which is given by(7)
T
b
a
s
e
m
e
a
=
t
r
a
n
s
l
a
0
,
b
0
,
c
0
∗
t
r
o
t
x
α
0
∗
t
r
o
t
y
β
0
∗
t
r
o
t
z
γ
0
,where a
0
,
b
0
,
c
0 are the translational parameters along the frame axis. α
0
,
β
0
,
γ
0 are the rotational parameters about the frame axis. T
t
o
o
l
n represents the position of the tool related to the robot end effector given by(8)
T
t
o
o
l
8
=
t
r
a
n
s
l
a
t
o
o
l
,
b
t
o
o
l
,
c
t
o
o
l
,where a
t
o
o
l
,
b
t
o
o
l
,
c
t
o
o
l are the translational parameters along the frame axis. According to the above formulas, the center point of the robot tool described in the robot base coordinate system is (9)
P
=
F
θ
,
a
,
d
,
α
,where P represents the position of the TCP. (
θ
,
a
,
d
,
α
) represents the kinematic parameters’ vector of the links.


#### 3.2.2. Distance Error Model

The actual position of the TCP measured in the robot base coordinate systemB
A
S
E is p
b
a
s
e
=
[
x
b
a
s
e
,
y
b
a
s
e
,
z
b
a
s
e
]
T. And the position of the TCP represented in the measuring coordinate system M
E
A
S is p
m
e
a
s
=
[
x
m
e
a
s
,
y
m
e
a
s
,
z
m
e
a
s
]
T. The distance error of the robot means the deviation between the actual distance and the command distance [20]. The distance error between any two points Δ
e
k
k
+
1 is given by(10)
Δ
e
k
k
+
1
=
p
m
e
a
s
,
k
+
1
-
p
m
e
a
s
,
k
-
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
,where ∗ is the norm of a vector. p
m
e
a
s
,
i is the position of the ith point in the measuring coordinate system, and p
b
a
s
e
,
i is the position of the ith point in the robot base coordinate system, i
∈
Z
+. The relationship between distance error and position error is given by(11)
Δ
e
k
k
+
1
=
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
T
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
d
p
k
+
1
-
d
p
k
,where d
p is the position error vector of some points [21]. The introduction of the distance error model can avoid the transformation of different coordinate frames and simplify the measurement process.


#### 3.2.3. Geometric Parameters’ Identification

According to (9), the position of the robot end effector is P
=
F
(
q
), where q
=
[
θ
1
,
a
1
,
d
1
,
α
1
,
…
,
θ
n
,
a
n
,
d
n
,
α
n
] is a vector containing all the kinematic parameters.T
i
a and T
i are the ith actual position conversion matrix and the ith nominal position conversion matrix, and δ
i
T is the difference between them. Δ
i represents the differential transformation relative to the ith rod coordinate system. For any joint, the differential relationship between the position change and the kinematic parameters is given by(12)
δ
i
T
=
T
i
a
-
T
i
=
T
i
Δ
i
.Differential equations on kinematic parameters could be obtained through a derivative of a transformation matrix which is given by(13)
δ
i
T
=
∂
i
T
∂
θ
i
δ
θ
i
+
∂
i
T
∂
d
i
δ
d
i
+
∂
i
T
∂
a
i
δ
a
i
+
∂
i
T
∂
α
i
δ
α
i
,where (
δ
θ
i
,
δ
a
i
,
δ
d
i
,
δ
α
i
) denotes the joint variable error, the link length error, the link offset error, and the link twist angle error, respectively, and i denotes the sequence number of the joint. The procedure of the TCP calibration can also result in position errors, which mainly includes translational transformations along the x
i
,
y
i, and z
i axes. The differential equation about the TCP transformation is given by(14)
δ
t
o
o
l
T
=
∂
t
o
o
l
T
∂
x
t
o
o
l
δ
x
t
o
o
l
+
∂
t
o
o
l
T
∂
y
t
o
o
l
δ
y
t
o
o
l
+
∂
t
o
o
l
T
∂
z
t
o
o
l
δ
z
t
o
o
l
,where δ
t
o
o
l
T is the differential error of the tool transformation matrix. δ
a
t
o
o
l
,
δ
b
t
o
o
l
,
δ
c
t
o
o
l are the translational parameters’ errors along the frame axis. The differential matrix from the coordinate frame B
A
S
E to the tool coordinate frame is given by [21](15)
d
p
=
G
∗
d
q
,where d
p
=
d
b
a
s
e
t
o
o
l
T
[
1
:
3
,
4
] is the position deviation vector and G is the nominal Jacobin matrix given by d
q
=
[
Δ
θ
1
,
Δ
a
1, Δ
d
1
,
Δ
α
1
,
Δ
θ
2
,
Δ
a
2
,
Δ
d
2
,
Δ
α
2
,
…
,
Δ
θ
n
,
Δ
a
n
,
Δ
d
n
,
Δ
α
n
,
Δ
x
t
o
o
l, Δ
y
t
o
o
l
,
Δ
z
t
o
o
l
]
. Substitute (15) into (11); the final identification equation is given by(16)
Δ
e
k
k
+
1
=
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
T
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
G
K
+
1
-
G
K
d
q
.Equation (16) is a linearized equation containing 35 unknowns. To solve the problem, only 36 points need to be collected.


### 3.3. Training of the ANN Model

The ANN model has a strong ability of autonomous learning and knowledge acquisition and has advantages in solving nonlinear problems compared to the traditional methods [22]. The back propagation (BP) neural network is a multilayer feed-forward neural network model [23]. The topological structure of the BP neural network consists of three parts: input layer, hidden layer, and output layer. Neurons in the input layer are used to receive input from the world outside. The hidden layer in the middle is used to transform and process information and eventually outputs information through the output layer. Every neuron in the ANN model is connected to some neurons in the preceding layer with dynamic and different weights. The structure of a neuron in the hidden layer is as shown in Figure 3.Figure 3
The connection structure of a neuron in the hidden layer.The algorithm updates the neuron network weights according to the strategy given by(17)
W
i
k
t
+
1
=
W
i
k
t
+
β
g
t
,where W
i
k
(
t
) is the connection weight from neuron i to neuron k at time t, β is the learning rate, and g
(
t
) is the gradient at the time t. The number of neurons in the hidden layer has a great influence on the training effect of the ANN [24]. Suppose m, n, and f are the numbers of the neurons in the input layer, the output layer, and the hidden layer, respectively. Their relationship is given by(18)
f
=
a
m
+
n
,where a is a constant satisfying 1
<
a
<
10. Compared with the error compensation obtained by modeling for nongeometric errors, the error compensation by BP neural network approximation is more accurate [25]. In the calibration process for the robot, the neural network compensation method works as shown in Figure 4.Figure 4
The compensation process through the neural network model.The neural network model must be trained before being used to compensate for the errors caused by the nongeometric reasons. A supervised learning method has been selected to train the model in this paper. The joint encoder readings of the robotq
=
(
θ
1
,
θ
2
,
θ
3
,
…
θ
n
-
1
,
θ
n
) and the corresponding error vector Δ
E
=
Δ
x
,
Δ
y
,
Δ
z are taken as the training data. The well trained ANN model can predict the corresponding position error vector Δ
E
=
Δ
x
,
Δ
y
,
Δ
z after we input a set of robot joint encoder readings q
=
(
θ
1
,
θ
2
,
θ
3
,
…
θ
n
-
1
,
θ
n
). At last, we compensate for the residual errors with the position error vector to reach the final position.An ANN model with three layers has been constructed as shown in Figure5. The input layer consists of eight nodes, which corresponds to the DOF number. According to (18), the hidden layer consists of 4 neurons. A tan-sigmoid function has been used as the activating function. The input value of this function is arbitrary, and the range of output value for any input is always between -1 and 1. The function image is shown in Figure 6. The output layer has three nodes, which correspond to three elements of the position error vector Δ
E
=
Δ
x
,
Δ
y
,
Δ
z. In this layer, we use a linear function as the activating function. The process of compensating for the nongeometric errors can be described as shown in Figure 7.Figure 5
A three-layer BP neural network.Figure 6
The image of the tan-sigmoid function.Figure 7
The process of compensating for the nongeometric errors.


## 3.1. Division of the Joint Angle Workspace

The parameter errors of the robot in the joint angle workspace are unevenly distributed due to factors such as the flexibility of the links and the motor control. The change in the compliance of the link is a continuous process that simplifies the flexible joint into a linear torsion spring model. The angle of joint deflection is proportional to the torque exerted on its axis.(1)
Δ
θ
=
C
θ
τ
,where Δ
θ is a flexible deflection angle caused by either the load quality or the weight of the mechanical arm. C
θ is the flexibility coefficient. τ is the torque exerted on its axis.Due to the influence of the robot weight and load, the errors of the joint angles will be relatively large with the change of joint configuration. Since there exist some deflections in the links of the robots, the kinematic parameters of the robot will also change to some extent. Therefore, the parameter errors can be expressed as a function of the location of the end effector given by(2)
Δ
p
=
Δ
θ
,
Δ
d
,
Δ
a
,
Δ
α
=
g
x
,
y
,
z
,where Δ
p is the error vector of the DH parameters, (
Δ
θ
,
Δ
d
,
Δ
a
,
Δ
α
) denotes the error vector of the joint angle, the error vector of the link length, the error vector of the link offset, and the error vector of the link twist angle, respectively, and (
x
,
y
,
z
) is the position vector at the end of the robot. According to (2), the parameter errors are related to the location of the end effector. For the same point in the Cartesian coordinate frame, there may exist several different configurations. It is difficult to establish error models in rectangular coordinates. But the joint angle configuration is unique in the whole workspace. Therefore, the problem can be solved in the joint angle workspace and the transformed formula is given by(3)
Δ
p
=
Δ
θ
,
Δ
d
,
Δ
a
,
Δ
α
=
f
θ
1
,
θ
2
,
θ
3
,
…
θ
n
-
1
,
θ
n
,where q
=
(
q
1
,
q
2
,
q
3
,
…
q
n
-
1
,
q
n
) denotes the values of the joint variables and n is the DOF number. According to formula (3), if the joint variables of the robot are determined, the values of the parameter error will also be constant. It is assumed that the parameter errors are Δ
p
1 and Δ
p
2, respectively, when the joint variables are q
1
=
(
θ
1
1
,
θ
2
1
,
θ
3
1
,
…
,
θ
n
-
1
1
,
θ
n
1
) and q
2
=
(
θ
1
2
,
θ
2
2
,
θ
3
2
,
…
,
θ
n
-
1
2
,
θ
n
2
). The difference between the two positions can be given by(4)
E
=
Δ
p
1
-
Δ
p
2
<
ε
,
q
1
-
q
2
→
0
,where E is the norm difference between Δ
p
1 and Δ
p
2 and ε is a selected threshold. When q
1
-
q
2 is tiny enough, a proper ε satisfying E
<
ε can be found.Based on the above deduction, it is assumed that when the robot is in different positions, the parameter errors are also different. When the self-weight of a robot cannot be ignored, the joint deflections will be different due to different mass distribution in different positions. In this paper, the joint angle workspace will be divided into several local regions according to the difference of the mass distribution. Every local region has its own parameter errors. When the robot moves with a different joint configuration, it will compensate for the position error with different kinematic parameters. The smaller the regions are divided, the more accurate the parameter errors are and the greater the computation cost will be.


## 3.2. Geometric Parameters Identification

### 3.2.1. Kinematic Model of the Robot

The kinematic model of the robot in this paper is built according to the DH convention [19], as shown in Figure 2.Figure 2
The DH convention and the position transformation.The coordinate frames are fixed on the joint axis of the robots. Two adjacent joint coordinate frames are connected by a homogeneous transformation matrix​
i
-
1
i
T given by(5)
i
-
1
i
T
=
t
r
o
t
z
θ
i
∗
t
r
a
n
s
a
l
a
i
,
0.0
∗
t
r
a
n
s
l
0,0
,
d
i
∗
t
r
o
t
x
α
i
,where (
θ
i
,
a
i
,
d
i
,
α
i
) denotes the joint variable, the link length, the link offset, and the link twist angle, respectively, and i denotes the sequence number of the joint. T
r
o
t
(
∗
) is a (4x4) matrix of the pure rotational transformations about an axis and T
r
a
n
s
l
(
∗
) is a (4x4) matrix of the translational ones along an axis [19].The position of the end effectorT
t
o
o
l
m
e
a
s can be obtained by multiplying the corresponding transformation matrix given by(6)
T
t
o
o
l
m
e
a
s
=
T
b
a
s
e
m
e
a
s
∗
∏
i
=
2
i
=
n
T
i
i
-
1
∗
T
t
o
o
l
n
.
T
b
a
s
e
m
e
a
s represents the (4x4) matrix transformation of the measurement coordinate system to the robot base coordinate system. T
b
a
s
e
m
e
a
s requires three translational transformations and three rotational transformations, which is given by(7)
T
b
a
s
e
m
e
a
=
t
r
a
n
s
l
a
0
,
b
0
,
c
0
∗
t
r
o
t
x
α
0
∗
t
r
o
t
y
β
0
∗
t
r
o
t
z
γ
0
,where a
0
,
b
0
,
c
0 are the translational parameters along the frame axis. α
0
,
β
0
,
γ
0 are the rotational parameters about the frame axis. T
t
o
o
l
n represents the position of the tool related to the robot end effector given by(8)
T
t
o
o
l
8
=
t
r
a
n
s
l
a
t
o
o
l
,
b
t
o
o
l
,
c
t
o
o
l
,where a
t
o
o
l
,
b
t
o
o
l
,
c
t
o
o
l are the translational parameters along the frame axis. According to the above formulas, the center point of the robot tool described in the robot base coordinate system is (9)
P
=
F
θ
,
a
,
d
,
α
,where P represents the position of the TCP. (
θ
,
a
,
d
,
α
) represents the kinematic parameters’ vector of the links.


### 3.2.2. Distance Error Model

The actual position of the TCP measured in the robot base coordinate systemB
A
S
E is p
b
a
s
e
=
[
x
b
a
s
e
,
y
b
a
s
e
,
z
b
a
s
e
]
T. And the position of the TCP represented in the measuring coordinate system M
E
A
S is p
m
e
a
s
=
[
x
m
e
a
s
,
y
m
e
a
s
,
z
m
e
a
s
]
T. The distance error of the robot means the deviation between the actual distance and the command distance [20]. The distance error between any two points Δ
e
k
k
+
1 is given by(10)
Δ
e
k
k
+
1
=
p
m
e
a
s
,
k
+
1
-
p
m
e
a
s
,
k
-
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
,where ∗ is the norm of a vector. p
m
e
a
s
,
i is the position of the ith point in the measuring coordinate system, and p
b
a
s
e
,
i is the position of the ith point in the robot base coordinate system, i
∈
Z
+. The relationship between distance error and position error is given by(11)
Δ
e
k
k
+
1
=
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
T
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
d
p
k
+
1
-
d
p
k
,where d
p is the position error vector of some points [21]. The introduction of the distance error model can avoid the transformation of different coordinate frames and simplify the measurement process.


### 3.2.3. Geometric Parameters’ Identification

According to (9), the position of the robot end effector is P
=
F
(
q
), where q
=
[
θ
1
,
a
1
,
d
1
,
α
1
,
…
,
θ
n
,
a
n
,
d
n
,
α
n
] is a vector containing all the kinematic parameters.T
i
a and T
i are the ith actual position conversion matrix and the ith nominal position conversion matrix, and δ
i
T is the difference between them. Δ
i represents the differential transformation relative to the ith rod coordinate system. For any joint, the differential relationship between the position change and the kinematic parameters is given by(12)
δ
i
T
=
T
i
a
-
T
i
=
T
i
Δ
i
.Differential equations on kinematic parameters could be obtained through a derivative of a transformation matrix which is given by(13)
δ
i
T
=
∂
i
T
∂
θ
i
δ
θ
i
+
∂
i
T
∂
d
i
δ
d
i
+
∂
i
T
∂
a
i
δ
a
i
+
∂
i
T
∂
α
i
δ
α
i
,where (
δ
θ
i
,
δ
a
i
,
δ
d
i
,
δ
α
i
) denotes the joint variable error, the link length error, the link offset error, and the link twist angle error, respectively, and i denotes the sequence number of the joint. The procedure of the TCP calibration can also result in position errors, which mainly includes translational transformations along the x
i
,
y
i, and z
i axes. The differential equation about the TCP transformation is given by(14)
δ
t
o
o
l
T
=
∂
t
o
o
l
T
∂
x
t
o
o
l
δ
x
t
o
o
l
+
∂
t
o
o
l
T
∂
y
t
o
o
l
δ
y
t
o
o
l
+
∂
t
o
o
l
T
∂
z
t
o
o
l
δ
z
t
o
o
l
,where δ
t
o
o
l
T is the differential error of the tool transformation matrix. δ
a
t
o
o
l
,
δ
b
t
o
o
l
,
δ
c
t
o
o
l are the translational parameters’ errors along the frame axis. The differential matrix from the coordinate frame B
A
S
E to the tool coordinate frame is given by [21](15)
d
p
=
G
∗
d
q
,where d
p
=
d
b
a
s
e
t
o
o
l
T
[
1
:
3
,
4
] is the position deviation vector and G is the nominal Jacobin matrix given by d
q
=
[
Δ
θ
1
,
Δ
a
1, Δ
d
1
,
Δ
α
1
,
Δ
θ
2
,
Δ
a
2
,
Δ
d
2
,
Δ
α
2
,
…
,
Δ
θ
n
,
Δ
a
n
,
Δ
d
n
,
Δ
α
n
,
Δ
x
t
o
o
l, Δ
y
t
o
o
l
,
Δ
z
t
o
o
l
]
. Substitute (15) into (11); the final identification equation is given by(16)
Δ
e
k
k
+
1
=
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
T
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
G
K
+
1
-
G
K
d
q
.Equation (16) is a linearized equation containing 35 unknowns. To solve the problem, only 36 points need to be collected.


## 3.2.1. Kinematic Model of the Robot

The kinematic model of the robot in this paper is built according to the DH convention [19], as shown in Figure 2.Figure 2
The DH convention and the position transformation.The coordinate frames are fixed on the joint axis of the robots. Two adjacent joint coordinate frames are connected by a homogeneous transformation matrix​
i
-
1
i
T given by(5)
i
-
1
i
T
=
t
r
o
t
z
θ
i
∗
t
r
a
n
s
a
l
a
i
,
0.0
∗
t
r
a
n
s
l
0,0
,
d
i
∗
t
r
o
t
x
α
i
,where (
θ
i
,
a
i
,
d
i
,
α
i
) denotes the joint variable, the link length, the link offset, and the link twist angle, respectively, and i denotes the sequence number of the joint. T
r
o
t
(
∗
) is a (4x4) matrix of the pure rotational transformations about an axis and T
r
a
n
s
l
(
∗
) is a (4x4) matrix of the translational ones along an axis [19].The position of the end effectorT
t
o
o
l
m
e
a
s can be obtained by multiplying the corresponding transformation matrix given by(6)
T
t
o
o
l
m
e
a
s
=
T
b
a
s
e
m
e
a
s
∗
∏
i
=
2
i
=
n
T
i
i
-
1
∗
T
t
o
o
l
n
.
T
b
a
s
e
m
e
a
s represents the (4x4) matrix transformation of the measurement coordinate system to the robot base coordinate system. T
b
a
s
e
m
e
a
s requires three translational transformations and three rotational transformations, which is given by(7)
T
b
a
s
e
m
e
a
=
t
r
a
n
s
l
a
0
,
b
0
,
c
0
∗
t
r
o
t
x
α
0
∗
t
r
o
t
y
β
0
∗
t
r
o
t
z
γ
0
,where a
0
,
b
0
,
c
0 are the translational parameters along the frame axis. α
0
,
β
0
,
γ
0 are the rotational parameters about the frame axis. T
t
o
o
l
n represents the position of the tool related to the robot end effector given by(8)
T
t
o
o
l
8
=
t
r
a
n
s
l
a
t
o
o
l
,
b
t
o
o
l
,
c
t
o
o
l
,where a
t
o
o
l
,
b
t
o
o
l
,
c
t
o
o
l are the translational parameters along the frame axis. According to the above formulas, the center point of the robot tool described in the robot base coordinate system is (9)
P
=
F
θ
,
a
,
d
,
α
,where P represents the position of the TCP. (
θ
,
a
,
d
,
α
) represents the kinematic parameters’ vector of the links.


## 3.2.2. Distance Error Model

The actual position of the TCP measured in the robot base coordinate systemB
A
S
E is p
b
a
s
e
=
[
x
b
a
s
e
,
y
b
a
s
e
,
z
b
a
s
e
]
T. And the position of the TCP represented in the measuring coordinate system M
E
A
S is p
m
e
a
s
=
[
x
m
e
a
s
,
y
m
e
a
s
,
z
m
e
a
s
]
T. The distance error of the robot means the deviation between the actual distance and the command distance [20]. The distance error between any two points Δ
e
k
k
+
1 is given by(10)
Δ
e
k
k
+
1
=
p
m
e
a
s
,
k
+
1
-
p
m
e
a
s
,
k
-
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
,where ∗ is the norm of a vector. p
m
e
a
s
,
i is the position of the ith point in the measuring coordinate system, and p
b
a
s
e
,
i is the position of the ith point in the robot base coordinate system, i
∈
Z
+. The relationship between distance error and position error is given by(11)
Δ
e
k
k
+
1
=
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
T
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
d
p
k
+
1
-
d
p
k
,where d
p is the position error vector of some points [21]. The introduction of the distance error model can avoid the transformation of different coordinate frames and simplify the measurement process.


## 3.2.3. Geometric Parameters’ Identification

According to (9), the position of the robot end effector is P
=
F
(
q
), where q
=
[
θ
1
,
a
1
,
d
1
,
α
1
,
…
,
θ
n
,
a
n
,
d
n
,
α
n
] is a vector containing all the kinematic parameters.T
i
a and T
i are the ith actual position conversion matrix and the ith nominal position conversion matrix, and δ
i
T is the difference between them. Δ
i represents the differential transformation relative to the ith rod coordinate system. For any joint, the differential relationship between the position change and the kinematic parameters is given by(12)
δ
i
T
=
T
i
a
-
T
i
=
T
i
Δ
i
.Differential equations on kinematic parameters could be obtained through a derivative of a transformation matrix which is given by(13)
δ
i
T
=
∂
i
T
∂
θ
i
δ
θ
i
+
∂
i
T
∂
d
i
δ
d
i
+
∂
i
T
∂
a
i
δ
a
i
+
∂
i
T
∂
α
i
δ
α
i
,where (
δ
θ
i
,
δ
a
i
,
δ
d
i
,
δ
α
i
) denotes the joint variable error, the link length error, the link offset error, and the link twist angle error, respectively, and i denotes the sequence number of the joint. The procedure of the TCP calibration can also result in position errors, which mainly includes translational transformations along the x
i
,
y
i, and z
i axes. The differential equation about the TCP transformation is given by(14)
δ
t
o
o
l
T
=
∂
t
o
o
l
T
∂
x
t
o
o
l
δ
x
t
o
o
l
+
∂
t
o
o
l
T
∂
y
t
o
o
l
δ
y
t
o
o
l
+
∂
t
o
o
l
T
∂
z
t
o
o
l
δ
z
t
o
o
l
,where δ
t
o
o
l
T is the differential error of the tool transformation matrix. δ
a
t
o
o
l
,
δ
b
t
o
o
l
,
δ
c
t
o
o
l are the translational parameters’ errors along the frame axis. The differential matrix from the coordinate frame B
A
S
E to the tool coordinate frame is given by [21](15)
d
p
=
G
∗
d
q
,where d
p
=
d
b
a
s
e
t
o
o
l
T
[
1
:
3
,
4
] is the position deviation vector and G is the nominal Jacobin matrix given by d
q
=
[
Δ
θ
1
,
Δ
a
1, Δ
d
1
,
Δ
α
1
,
Δ
θ
2
,
Δ
a
2
,
Δ
d
2
,
Δ
α
2
,
…
,
Δ
θ
n
,
Δ
a
n
,
Δ
d
n
,
Δ
α
n
,
Δ
x
t
o
o
l, Δ
y
t
o
o
l
,
Δ
z
t
o
o
l
]
. Substitute (15) into (11); the final identification equation is given by(16)
Δ
e
k
k
+
1
=
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
T
p
b
a
s
e
,
k
+
1
-
p
b
a
s
e
,
k
G
K
+
1
-
G
K
d
q
.Equation (16) is a linearized equation containing 35 unknowns. To solve the problem, only 36 points need to be collected.


## 3.3. Training of the ANN Model

The ANN model has a strong ability of autonomous learning and knowledge acquisition and has advantages in solving nonlinear problems compared to the traditional methods [22]. The back propagation (BP) neural network is a multilayer feed-forward neural network model [23]. The topological structure of the BP neural network consists of three parts: input layer, hidden layer, and output layer. Neurons in the input layer are used to receive input from the world outside. The hidden layer in the middle is used to transform and process information and eventually outputs information through the output layer. Every neuron in the ANN model is connected to some neurons in the preceding layer with dynamic and different weights. The structure of a neuron in the hidden layer is as shown in Figure 3.Figure 3
The connection structure of a neuron in the hidden layer.The algorithm updates the neuron network weights according to the strategy given by(17)
W
i
k
t
+
1
=
W
i
k
t
+
β
g
t
,where W
i
k
(
t
) is the connection weight from neuron i to neuron k at time t, β is the learning rate, and g
(
t
) is the gradient at the time t. The number of neurons in the hidden layer has a great influence on the training effect of the ANN [24]. Suppose m, n, and f are the numbers of the neurons in the input layer, the output layer, and the hidden layer, respectively. Their relationship is given by(18)
f
=
a
m
+
n
,where a is a constant satisfying 1
<
a
<
10. Compared with the error compensation obtained by modeling for nongeometric errors, the error compensation by BP neural network approximation is more accurate [25]. In the calibration process for the robot, the neural network compensation method works as shown in Figure 4.Figure 4
The compensation process through the neural network model.The neural network model must be trained before being used to compensate for the errors caused by the nongeometric reasons. A supervised learning method has been selected to train the model in this paper. The joint encoder readings of the robotq
=
(
θ
1
,
θ
2
,
θ
3
,
…
θ
n
-
1
,
θ
n
) and the corresponding error vector Δ
E
=
Δ
x
,
Δ
y
,
Δ
z are taken as the training data. The well trained ANN model can predict the corresponding position error vector Δ
E
=
Δ
x
,
Δ
y
,
Δ
z after we input a set of robot joint encoder readings q
=
(
θ
1
,
θ
2
,
θ
3
,
…
θ
n
-
1
,
θ
n
). At last, we compensate for the residual errors with the position error vector to reach the final position.An ANN model with three layers has been constructed as shown in Figure5. The input layer consists of eight nodes, which corresponds to the DOF number. According to (18), the hidden layer consists of 4 neurons. A tan-sigmoid function has been used as the activating function. The input value of this function is arbitrary, and the range of output value for any input is always between -1 and 1. The function image is shown in Figure 6. The output layer has three nodes, which correspond to three elements of the position error vector Δ
E
=
Δ
x
,
Δ
y
,
Δ
z. In this layer, we use a linear function as the activating function. The process of compensating for the nongeometric errors can be described as shown in Figure 7.Figure 5
A three-layer BP neural network.Figure 6
The image of the tan-sigmoid function.Figure 7
The process of compensating for the nongeometric errors.


## 4. Experiments and Analysis

To demonstrate the effectiveness of the proposed method, the conventional method and the proposed method were used to calibrate an 8-DOF engineering robot separately. The self-weight of the robot is 5500 kg which makes the weight of the end load negligible. A FARO laser tracker has been adopted as the measuring equipment. The equipment and the scene are shown in Figure8.Figure 8
Scene pictures: (a) the FARO laser tracker used to measure the position data; (b) the experimental robot with 8 DOF and a large self-weight.
(a)
(b)


### 4.1. The Kinematic Model of the 8-DOF Robot

According to the structure of the robot, the transformation relationship between adjacent links is shown in Figure9. The values of the nominal DH parameters are given in Table 1. According to the DH convention [19], the nominal kinematic model was built.Table 1
The nominal DH parameters of the 8-DOF robot.
No.
Joint type
θ
i
a
i
d
i
α
i
1
R
θ
1
300
0
-90
2
R
-90+θ
2
20
0
-90
3
P
180
80
5625+d
3
-90
4
R
-90+θ
4
340
0
90
5
R
-90+θ
5
0
0
-90
6
R
-90+θ
6
191
411
90
7
R
θ
7
585
-604
-90
8
P
0
0
3850+d
8
0Figure 9
The joint frames of the 8-DOF robot.


### 4.2. Parameters’ Setting of the Joint Angle Division

Through the analysis for the mass distribution of the robot, the conclusion can be made that the link deflections make a great difference on the position accuracy. The sixth jointJ
6 is a rotating joint which relates to the mass distribution of the three links in the rear. When J
6 moves in the range (
-
18
0
°
,
18
0
°
), there exists a most obvious change in the deflection of the robot system. So, in order to minimize the impact of the joint J
6 on the position accuracy, the joint angle workspace will be divided into four local regions in this study. The scope of each region is given in Table 2.Table 2
The scope of each region.
No.
Joint scope
Name
1
(0,90)
G1
2
(90,180)
G2
3
(-90,0)
G3
4
(-180,-90)
G4


### 4.3. Acquisition of the Position Data

The nominal parameters of the kinematic model have been described in Table1. In order to identify the geometric parameters and train the BP neural network model, the robot is commanded to move its end effector to 400 different points. And the 400 points are made to cover the whole workspace that the end effector can reach. In order to validate the performance of the joint angle division, the 400 points are distributed evenly into 4 regions.Owing to the shaking of the end effector, the laser tracker would not record the coordinate value of the point until it was stable. Once the robot reaches a point, the three-dimensional position valuesP
i
x
,
y
,
z
(
i
=
1,2
…
400
) of the point in the measuring system will be measured by the laser tracker. The corresponding joint values R
i
θ
1
,
θ
2
,
d
3
,
θ
4
,
θ
5
,
θ
6
,
θ
7
,
d
8
(
i
=
1,2
…
400
) can also be saved in the file.


### 4.4. Training of the Neural Network Model

After the calibrated DH parameters and the test data were obtained, the BP neural network model was established. Through our repeated experiments, the parameters’ setting of the model training was determined in detail. The concrete setting is given in Table3.Table 3
The parameter setting of model training.
No.
Parameter name
Parameter value
1
Number of samples
100
2
Number of validation samples
10
3
Network type
BP
4
Input layer
8
5
Hidden layer
4
6
Output layer
3
7
Learning rate
0.1
8
Training times
1000
9
Training function
Tan-sigmoid


### 4.5. Analysis of Experiments’ Results

In the practical calibration for the 8-DOF engineering robot, the distance error model was used to calibrate the parameters of the DH model in the whole workspace. The calibrated DH parameters were written back to the motion controller of the robot. After compensation for the geometric errors of the robot, the average position error has been reduced from 17 cm (before compensation) to 9 cm. The calibrated results obtained from the traditional method are shown in Table4 and Figure 10.Table 4
The results calibrated by the traditional method (cm).
Average
Minimum
Maximum
Before compensation
17
12.52
21.37
After geometric error compensation
9
7.86
14.01Figure 10
The calibration results after compensation for geometric errors.As shown in Figure10, the errors of some points still reach about 14 cm owing to the nongeometric errors. To demonstrate the validity of the joint angle division, two other different experiments were conducted. In the first experiment, the BP neural network model was used to estimate the nongeometric errors. For each point R
θ
1
,
θ
2
,
d
3
,
θ
4
,
θ
5
,
θ
6
,
θ
7
,
d
8 in the joint configuration, there existed the corresponding final nongeometric error Δ
E
=
Δ
x
,
Δ
y
,
Δ
z. When the end effector of the robot moved to a point, the corresponding values of the nongeometric errors were added. As shown in Table 5 and Figure 11, the average position error has been reduced from 9 cm (after geometric error compensation) to 6.5 cm. Although the ANN compensates for nongeometric errors to some extent, the maximum value of the errors still reaches 10.22 cm.Table 5
The results calibrated by the ANN model directly (cm).
Average
Minimum
Maximum
After geometric error compensation
9
7.86
14.01
Compensation through the BP network
6.5
5.12
10.22Figure 11
The calibration results after compensation through the ANN directly.In the second experiment, with the 100 points in each region taken as the input, the geometric errors of the robot were calibrated in each region. There were four groups of DH parameters which correspond to the four regions (G1, G2, G3, and G4). These four groups of DH parameters were integrated into the motion control algorithm. When the robot moved its end effector to a point, a group of DH parameters could be used to fix the position error.As shown in Table6 and Figure 12, the average position error has been reduced from 9 cm (after the geometric error compensation) to 7 cm (compensation through joint angle division) after the compensation through the joint angle division. At last, the same BP neural network model was used to estimate the nongeometric errors in the whole workspace. After the compensation for the nongeometric errors through the BP network model, the average position error has been reduced to 4.5 cm.Table 6
The results calibrated by the new method (cm).
Average
Minimum
Maximum
After geometric error compensation
9
7.86
14.01
Compensation through joint angle division
7
5.01
9.22
Compensation through the BP network
4.5
3.79
6.12Figure 12
The calibration results after compensation through joint angle division and the ANN.Obviously, the results obtained from the second experiment are better than those obtained from the first one. This demonstrates that the joint angle division is useful for improving the positioning accuracy.As shown in Figure13, the positioning accuracy of the robot is normally improved. The validation results show that the average position errors have been reduced from 17 cm (before compensation) to 4.5 cm (after compensation). And the calibration method proposed in this paper is better than the other two methods.Figure 13
The final calibration results.


## 4.1. The Kinematic Model of the 8-DOF Robot

According to the structure of the robot, the transformation relationship between adjacent links is shown in Figure9. The values of the nominal DH parameters are given in Table 1. According to the DH convention [19], the nominal kinematic model was built.Table 1
The nominal DH parameters of the 8-DOF robot.
No.
Joint type
θ
i
a
i
d
i
α
i
1
R
θ
1
300
0
-90
2
R
-90+θ
2
20
0
-90
3
P
180
80
5625+d
3
-90
4
R
-90+θ
4
340
0
90
5
R
-90+θ
5
0
0
-90
6
R
-90+θ
6
191
411
90
7
R
θ
7
585
-604
-90
8
P
0
0
3850+d
8
0Figure 9
The joint frames of the 8-DOF robot.


## 4.2. Parameters’ Setting of the Joint Angle Division

Through the analysis for the mass distribution of the robot, the conclusion can be made that the link deflections make a great difference on the position accuracy. The sixth jointJ
6 is a rotating joint which relates to the mass distribution of the three links in the rear. When J
6 moves in the range (
-
18
0
°
,
18
0
°
), there exists a most obvious change in the deflection of the robot system. So, in order to minimize the impact of the joint J
6 on the position accuracy, the joint angle workspace will be divided into four local regions in this study. The scope of each region is given in Table 2.Table 2
The scope of each region.
No.
Joint scope
Name
1
(0,90)
G1
2
(90,180)
G2
3
(-90,0)
G3
4
(-180,-90)
G4


## 4.3. Acquisition of the Position Data

The nominal parameters of the kinematic model have been described in Table1. In order to identify the geometric parameters and train the BP neural network model, the robot is commanded to move its end effector to 400 different points. And the 400 points are made to cover the whole workspace that the end effector can reach. In order to validate the performance of the joint angle division, the 400 points are distributed evenly into 4 regions.Owing to the shaking of the end effector, the laser tracker would not record the coordinate value of the point until it was stable. Once the robot reaches a point, the three-dimensional position valuesP
i
x
,
y
,
z
(
i
=
1,2
…
400
) of the point in the measuring system will be measured by the laser tracker. The corresponding joint values R
i
θ
1
,
θ
2
,
d
3
,
θ
4
,
θ
5
,
θ
6
,
θ
7
,
d
8
(
i
=
1,2
…
400
) can also be saved in the file.


## 4.4. Training of the Neural Network Model

After the calibrated DH parameters and the test data were obtained, the BP neural network model was established. Through our repeated experiments, the parameters’ setting of the model training was determined in detail. The concrete setting is given in Table3.Table 3
The parameter setting of model training.
No.
Parameter name
Parameter value
1
Number of samples
100
2
Number of validation samples
10
3
Network type
BP
4
Input layer
8
5
Hidden layer
4
6
Output layer
3
7
Learning rate
0.1
8
Training times
1000
9
Training function
Tan-sigmoid


## 4.5. Analysis of Experiments’ Results

In the practical calibration for the 8-DOF engineering robot, the distance error model was used to calibrate the parameters of the DH model in the whole workspace. The calibrated DH parameters were written back to the motion controller of the robot. After compensation for the geometric errors of the robot, the average position error has been reduced from 17 cm (before compensation) to 9 cm. The calibrated results obtained from the traditional method are shown in Table4 and Figure 10.Table 4
The results calibrated by the traditional method (cm).
Average
Minimum
Maximum
Before compensation
17
12.52
21.37
After geometric error compensation
9
7.86
14.01Figure 10
The calibration results after compensation for geometric errors.As shown in Figure10, the errors of some points still reach about 14 cm owing to the nongeometric errors. To demonstrate the validity of the joint angle division, two other different experiments were conducted. In the first experiment, the BP neural network model was used to estimate the nongeometric errors. For each point R
θ
1
,
θ
2
,
d
3
,
θ
4
,
θ
5
,
θ
6
,
θ
7
,
d
8 in the joint configuration, there existed the corresponding final nongeometric error Δ
E
=
Δ
x
,
Δ
y
,
Δ
z. When the end effector of the robot moved to a point, the corresponding values of the nongeometric errors were added. As shown in Table 5 and Figure 11, the average position error has been reduced from 9 cm (after geometric error compensation) to 6.5 cm. Although the ANN compensates for nongeometric errors to some extent, the maximum value of the errors still reaches 10.22 cm.Table 5
The results calibrated by the ANN model directly (cm).
Average
Minimum
Maximum
After geometric error compensation
9
7.86
14.01
Compensation through the BP network
6.5
5.12
10.22Figure 11
The calibration results after compensation through the ANN directly.In the second experiment, with the 100 points in each region taken as the input, the geometric errors of the robot were calibrated in each region. There were four groups of DH parameters which correspond to the four regions (G1, G2, G3, and G4). These four groups of DH parameters were integrated into the motion control algorithm. When the robot moved its end effector to a point, a group of DH parameters could be used to fix the position error.As shown in Table6 and Figure 12, the average position error has been reduced from 9 cm (after the geometric error compensation) to 7 cm (compensation through joint angle division) after the compensation through the joint angle division. At last, the same BP neural network model was used to estimate the nongeometric errors in the whole workspace. After the compensation for the nongeometric errors through the BP network model, the average position error has been reduced to 4.5 cm.Table 6
The results calibrated by the new method (cm).
Average
Minimum
Maximum
After geometric error compensation
9
7.86
14.01
Compensation through joint angle division
7
5.01
9.22
Compensation through the BP network
4.5
3.79
6.12Figure 12
The calibration results after compensation through joint angle division and the ANN.Obviously, the results obtained from the second experiment are better than those obtained from the first one. This demonstrates that the joint angle division is useful for improving the positioning accuracy.As shown in Figure13, the positioning accuracy of the robot is normally improved. The validation results show that the average position errors have been reduced from 17 cm (before compensation) to 4.5 cm (after compensation). And the calibration method proposed in this paper is better than the other two methods.Figure 13
The final calibration results.


## 5. Conclusions

In this paper, an improved robot calibration method based on joint angle division and an ANN is proposed. To reduce the influence of the link deflection on the positioning accuracy, the joint angle workspace is divided into several local regions and each region has its own group of DH parameters. The introduction of the distance error model can avoid the transformation between different coordinate systems and improve the calibration accuracy of the geometric errors. The BP neural network model is used to build the relationship between the joint angle configurations and the residual errors. The proposed method can avoid the overfitting problem in the pure BP network model and the complex modeling for the deflection.In order to validate the performance of the proposed method, the calibration experiments on an 8-DOF engineering robot with a very large self-weight have been conducted. The practical calibration results demonstrate the effectiveness and correctness of the proposed method. Further researches focusing on the online real-time compensation for robots will be conducted in the future.



---

*Source: 9293484-2019-03-04.xml*