Positioning Error Compensation for Industrial Robots Based on Stiffness Modelling

Insufficient stiffness of industrial robots is a significant factor which affects its positioning accuracy. To improve the positioning accuracy, a novel positioning error compensation method based on the stiffness modelling is proposed in this paper. First, the positioning errors considering the end load and gravity of industrial robots due to stiffness are analyzed. Based on the results of analysis, it is found that the positioning errors can be described by two kinds of deformation errors at joints: the axial deformation error and the radial deformation error. )en, the axial deformation error is modelled by the differential relationship of kinematics equations.)emodel of radial deformation error is deduced through the recurrence method and rotation transformation between joints. Finally, these two models are transformed into a Cartesian coordinate system, and a positioning error compensation method based on these two models is presented. Simulations based on the finite element analysis are implemented to verify the positioning error compensation method. )e results show that the suggested method can efficiently predict the positioning error according to the gravity and loads, so that the positioning accuracy of industrial robots can be improved with the proposed method.


Introduction
With the rapid development of intelligent manufacturing, industrial robots (noted as robots) have been widely applied in automobile manufacturing, logistics systems, mechanical processing, food packaging industries, etc. [1]. According to the report of the International Federation of Robotics (IFR), more than 72% of industrial robots are used in the lowprecision occasions, e.g., sorting, palletizing, handling, spot welding, painting, and assembly of simple parts [2] for the positioning, and the trajectory accuracy of industrial robots is still relatively low [3]. Kinematic calibration is the general way to improve the absolute positioning and trajectory accuracy of industrial robots [4]. However, kinematic calibration can only compensate the static kinematic parameter errors of industrial robots, while the dynamic factors, e.g., loads of the end effector (noted as EE), speed, acceleration, gravity, and poses, also influence the positioning accuracy greatly. One of the most notable characteristics of industrial robots is the open-chain structure that provides high flexibility and large working space for industrial robots [5,6]. However, the open-chain structure also results in a low stiffness and an error accumulation amplification which are the main reasons for the low accuracy of industrial robots. erefore, improvement of the stiffness error has always been an important research field for industrial robots. At present, there are mainly three methods to improve the stiffness, i.e., structural strengthening method, stiffness control method, and working space compensation method. e structural strengthening is an approach to improve the absolute accuracy of robots, which enhances the integral stiffness of robots by changing the material properties of the robot's mechanical parts and transmission parts. is approach requires the designers to consider the low positioning accuracy caused by insufficient stiffness in the design. Hence, the designers need to estimate the robot's stiffness in advance according to its application fields. Tyapin et al. [7] proposed a method to model the physical stiffness of the driver, reducer, and transmission parts of the robots, respectively. With the corresponding weight coefficients obtained from the model, the robot's stiffness can be further integrated and estimated. However, the stiffness model is not precise enough according to its experimental results. Liu et al. [8] presented a method of modelling the rotating joint of the robots based on the analysis of the contact relationships of the robot's joints. Although one can calculate the stiffness of each joint of the robots accurately with this method, its calculation process is complicated and the consumption cost of calculation is considerable. By using structural strengthening, the stiffness of the robots can be improved in the stage of manufacture. However, after manufacture the stiffness of robots determined by the material properties and structure will not be changed.
e stiffness control method aims to control the robots at some certain poses in which the stiffness of robots is relatively high [9,10]. Abele et al. [11,12] presented an adaptive machining method after measuring workpiece shape to overcome the problem of low positioning accuracy caused by the weak stiffness when machining. e results show that the machining accuracy of robots can be improved by changing the robot's poses to adjust the torque at the joint, which can enhance the robot's stiffness indirectly. By taking the stiffness ellipsoid as the index to assess stiffness, Guo et al. [13] improved the robot's stiffness by optimizing its working poses with the maximum joint angle as the constraints. Combining with the redundancy, Zanchettin et al. [14] presented a method of optimizing the robot's poses to enhance the stiffness when the robots perform drilling tasks. From the above methods, it can be found that the main idea of the stiffness control method is to strengthen the EE operation stiffness of the robots by changing or optimizing the robot's working poses [15]. Nevertheless, the precondition of optimizing the pose to improve the positioning accuracy is that there is a contact force at the EE of robots. erefore, when there are no contact forces, e.g., painting, prealignment, and measurement, the stiffness control method does not work.
Based on the kinematic and dynamic relationship of robots, the working space compensation methods can establish a mathematical model that can describe the relationship between the positioning error and end loads along with the gravity of the robot. And it can be used to predict the positioning error in the working space to improve the positioning accuracy. Salisbury proposed the traditional stiffness model of robots based on the kinematic and static theories [16]. e stiffness modelling for robots in the Cartesian coordinates was studied by connecting the stiffness of each joint [17][18][19]. Abele et al. [11] provided a stiffness model without calculating the inverse of Jacobian matrix, which can simplify the calculation of error compensation. In [20], the stiffness matrix of joints was identified by measuring the EE displacement and rotation of robots. en, the stiffness matrix in the Cartesian coordinates was derived by the stiffness mapping model from the joint to EE. Sun et al. [21] proposed a method to calculate the EE translation stiffness for serial robots. However, according to the experimental results, this method is not accurate in terms of prediction of the positioning error. Overall, working space compensation methods are simpler and more universal than structural strengthening methods and stiffness control methods in practice, while the low accuracy limits its application. e main reason is that the current methods only consider the rotary deformation around the axis of joints, which does not contain the rotary deformation around the radial direction of joints.
To improve the positioning accuracy, a novel positioning error compensation model based on the stiffness for industrial robots is proposed in this paper, which describes the relationship between the positioning error and the EE load and gravity of robots. First, according to the Newton-Euler method, the driving torque for each joint is calculated. rough the deformation assumption of joints, the torque is connected with the rotation deformation at joints. Moreover, the torque is also decomposed along the axial and radial directions of joints, which is consistent with the axial deformation and radial deformation. Positioning error models including the axial and radial deformation are established by means of kinematics differential and recurrence methods, respectively. In accordance with the small deformation assumption, two kinds of positioning error models are linearized. Finally, a complete error compensation model is derived according to the error models of axial and radial deformation, which can effectively predict and compensate the positioning error and improve the positioning accuracy for industrial robots.
e major contributions of this paper include the following: (1) A novel positioning error model is proposed for ndegree-of-freedom (DOF) industrial robots based on the relationship between its kinematics and dynamics parameters, which can be applied to arbitrary multi-DOF serial robots (2) e Newton-Euler method is introduced to calculate the balance torque of joints, which makes it convenient to calculate the positioning error caused by the EE loads and gravity of the robot (3) e radial deformation error at joints is modelled and included into the stiffness error model, which improves the accuracy of prediction and compensation for positioning error compared to the traditional methods (4) e positioning error model is linearized by introducing proper assumptions, which reduces the complexity of the proposed method and makes it convenient to applications e rest of the paper is organized as follows: in Section 2, the displacement and deformation at joints of robots are analyzed with the gravity and EE load. In Section 3, six basic assumptions are provided, and the positioning error of robots is derived. In Section 4, the finite element analysis and three-dimensional model of a general six-DOF industrial robot are used to validate the effectiveness and correctness of the proposed method. Finally, conclusions for this paper are given in Section 5.

Complexity
Notations. roughout the paper, R denotes the set of real numbers. R n is the Euclidean space of n-dimensional real vectors. R m×n is the space of m × n real matrix. I n×n denotes the identity matrix in R n×n . {0} stands for the base coordinate system of the robot. {i} is the coordinate system of link i of the robot. i T j ∈ R 4×4 is the homogeneous transform from {i} to {j}. i R j ∈ R 3×3 is the rotation transform from {i} to {j}. i P j ∈ R 3 represents the description of coordinate origin of {j} in {i}. i P Cj ∈ R 3 denotes the centroid position of link j of robots in {i}. f i ∈ R 3 stands for forces of link i-1 acting on link i. n i ∈ R 3 stands for torque of link i-1 acting on link i. Analogously i f j ∈ R 3 and i n j ∈ R 3 are descriptions of f j and n j in {i}, respectively. _ θ i ∈ R, € θ i ∈ R are the angular speed and angular acceleration of link i relative to {i}. i Z j ∈ R 3 is a vector of z-axis of {j} in {i}. i ω j ∈ R 3 and i _ ω j ∈ R 3 represent the angular speed and angular acceleration of link j relating to {0} in {i}. i _ v j ∈ R 3 is defined as the acceleration of {j} in {i}. i _ v Cj ∈ R 3 denotes the acceleration of centroid of link j in {i}. ‖ · ‖ means the vector norm of a vector in R n . m i+1 means the mass of link i+1 of industrial robots. To simplify expressions, cos(θ), sin(θ), and 1 − sin(θ) are replaced by cθ, sθ, and vθ , respectively. (z(·)/z(x)) means the gradient operator to variable x. S(·) ∈ R 3×3 is defined as where V x ∈ R, V y ∈ R, and V z ∈ R represent the three components of a vector. Further, S(·) ∈ R 4×4 can be defined as e sign function is defined as sign(·).

Analysis of Deformation at Joints
A general industrial robot is shown in Figure 1. When forces are applied to the robot and the link's gravity is considered, balance forces and torques are generated at each joint and link. According to the theories of material mechanics, if the object is subjected to forces and torques, its shape will be changed, e.g., tension, compression, shear, torsion, and bending [22]. e effect of applied forces at joints and links of the robot is more complex than the results of theoretical analysis because the joint of robots consists of many elements in reality, e.g., motors, drive shafts, gears, and reducers. Hence, the deformation of robots in reality is a combination of the above five deformations. However, since the deformation at joints is significantly larger than the deformation at links, the deformation at joints is mainly studied in this paper. In Figure 1, two types of deformation are shown, which include the rotary deformation around the axis of joints and the linear deformation along the certain direction. e joint of the robot deflects angle Δφ around its axis and its linear deformation is Δl under effects of gravity G and the end load F.
According to the Newton-Euler method [23], the relationship between the motion and the driving force (or driving torque) of industrial robots can be described through the following dynamic equations: where i F i ∈ R 3 and i N i ∈ R 3 are the inertia force and torque of link i in {i}, respectively. C i+1 I i+1 ∈ R 3×3 denotes the inertial tensor matrix of link i+1 in C i+1 that is the coordinate system of centroid of link i+1. When the robot stops at a position, some variables in equations (4) and (5) are constant, e.g., . us, the above dynamic equations are further simplified as It should be noted that although the robot is at stationary state, the value of i _ v i is not zero. According to the weak principle of equivalence, the gravity applied to the robot is equivalent to a case that the robot has an initial acceleration, which is opposite to the gravity direction. In this paper, the gravity of the robot is considered, and 0 _ v 0 is a three-dimensional vector that is opposite to the gravity.
From equations (7) and (8), conclusions can be obtained that even if the robot is at stationary state, the balance force and torque exist at the joints of the robot. To display the force and torque clearly, the joint is taken out from the robot as a separate body in Figure 2, in which F and M represent the resistant force and torque, respectively. F d and M d denote the driving force and torque, respectively. M a and M r stand for axial and radial components of torque M. us, under the influence of force F and torque M, there will be two kinds of deformation at the joint, i.e., the rotary deformation around the torque's axis and the linear deformation along the force direction.

Complexity
From the above analysis, there are two types of deformation at the joint under influence of the gravity and end load. Although the deformation at the joint may be very small in practice, the joint, as vital but weak parts of the robot, will greatly affect the positioning accuracy of the robots. It can be observed from (a) and (b) in Figure 1 that the rotary deformation and linear deformation (these two deformations are usually appearing together) lead to the positioning error of the robots. Hence, it is essential to describe the positioning error caused by joint deformation with a mathematical model and to more accurately predict the positioning error. Hence, to resolve these problems, a generalized mathematical model for industrial robots is proposed to predict the positioning error in this paper.

Positioning Error Modelling for Industrial Robots
Some assumptions should be introduced before establishing the positioning error model because they are the basis of the proposed method.
Assumptions are as follows: (i) e industrial robots only contain rotating joints but not moving joints. (ii) e elastic deformation of the robot's link is negligible compared to its deformation at joints. (iii) e effect caused by the rotary deformation at joints on the positioning error of the robots is much larger than the effect caused by the linear deformation of the joint on the end positioning error. (iv) e rotary angle Δφ ∈ R caused by the rotary deformation at the joint is small enough so that the following equations can be regarded as meaningful within the allowable range of accuracy: (v) ere is a linear relationship between the rotary deformation Δφ at the joint and the torque n ∈ R 3 applied to the joint, as shown below: where C ∈ R is the flexibility coefficient of the joint. erefore, the stiffness coefficient can be defined as K � (1/C). (vi) ere are two types of rotary deformation at each joint, i.e., the rotary deformation Δθ ∈ R around joint's axis and the rotary deformation Δc ∈ R around the radial direction of the joint. According to assumption (iv), the following equations can be obtained: Δθ � C a n a � � � � � � � �, where C a ∈ R denotes the axial stiffness coefficient of the joint and C r ∈ R denotes the radial stiffness coefficient of the  With assumption (v), we can define K a � (1/C a ) and K r � (1/C r ). n a ∈ R 3 and n r ∈ R 3 stand for axial torque and radial torque at the joint.

Remark 1.
In practice, general robots consist of six revolute joints [24,25]. us, assumption (i) is appropriate for general-purpose robots. It is also shown that the deformation of the joint due to the insufficient stiffness of driving and transmission system accounts for 70% of the total deformations which are caused by the external load or gravity [26]. Accordingly, assumption (ii) is true in this paper. As shown in Figure 1, although the rotary deformation and linear deformation at the joint may be tiny, the effects caused by the rotary deformation on the positioning error are significant because of the magnifying effect of the link. For this reason, assumption (iii) is reasonable. In accordance with [27,28], the joint stiffness of industrial robot is 1 N/μm. In other words, a force of 1000 N is required to generate deformation of 1 mm. However, the maximum end load of most industrial robots is less than 1000 N. When the deformation at the joint is less than 1 mm, it can be reckoned that assumption (iv) is meaningful. In the light of Hooke's law of the material, assumption (v) is feasible. In the previous discussions, there is a resistant torque M at the joint. e vector of torque M can be further decomposed along two directions, i.e., the axial and radial direction of joint, as shown in (b) of Figure 2. Hence, it can be considered that the rotary deformation consists of rotary deformation around joint's axis and the radial direction of the joint. Since these two kinds of deformation are different in essence, C a and C r are required to describe the relationship between the rotary deformation and torque applied to the joint.
us, assumption (vi) can also be valid. Now, it is considered that the force F e ∈ R 3 is applied to the EE of the robot and the gravity of the robot is also included. When the robot is stationary, the driving torque i n i of joint i can be obtained by equations (6) to (8). is torque can be decomposed as i n i � i n ai + i n ri , (12) us, the rotary deformations around axial and radial direction at joint i are According to the two types of rotary deformations at the joint in equation (13), the positioning error model of axial and the radial deformation will be established, respectively, in the next sections, and the total positioning error model will be derived finally.

Positioning Error Model of Axial Deformation around the
Joint. When the EE of the robot is at a point P e0 in Cartesian coordinate system and its coordinates are 0 P e0 � ( 0 p x , 0 p y , 0 p z ) T in {0}. e joint angle corresponding to 0 P e0 is Θ � (θ 1 , θ 2 , θ 3 , . . . , θ N ) T . Since 0 P e0 is a function of joint angle Θ, the differential operation of 0 P e0 to Θ is as follows: where N is the number of joints. According to assumption (iv), equation (14) can be written as where 0 Δx a , 0 Δy a , and 0 Δz a represent the three components of positioning error of the EE due to the rotary deformation around joint's axis in {0}. Combined with equation (13), equation (15) can be further written as Complexity 5 Equation (16) preliminarily indicates the relationship between the torque applied to the joint and the positioning error. However, equation (16) still cannot describe this relationship sufficiently. e main reason is that the direction of Δθ i (positive or negative) is not associated with the subjected torque in Δθ i � C ai ‖ i n ai ‖. erefore, Δθ i � C ai ‖ i n ai ‖ can be rewritten as (17) by introducing a sign function as Δθ i � C ai ‖ i n ai ‖sign(− i n i (z)), (17) where i n i (z) ∈ R stands for the component z of i n i . In equation (17), a negative sign is added before i n i (z) because the driving torque of joint and the subjected torque are a pair of balance torques. Hence, on the basis of equations (15) and (17), a complete positioning error model of axial deformation around the joint is given as follows: In particular, equation (18) indicates that the positioning error 0 ΔP a of the robots due to the rotary deformation around the joint is a function of the variables EE position 0 P e0 (or joint angle Θ � (θ 1 , θ 2 , θ 3 , . . . , θ N ) T ), end load F(or 1 n a1 2 n a2 ,. . .. . . N n aN ), and the gravity of the robot. Moreover, even though the end load F does not change, the positioning error 0 ΔP a is also different when the robot is at various configurations.

Rotation Transformation around Arbitrary Axis.
For the integrity of the modelling process, the concept of rotation transformation around the arbitrary axis will be introduced in this section. It is assumed that the vector A K � (k x , k y , k z ) T is an identity vector in {A}. According to the right-hand rule, the rotation transformation matrix of rotating θ around axis of A K is as follows: Equation (19) is also called Rodigues's formula, but it is not linearized form concerning θ. In the light of assumption (iv), when the rotary angle Δθ is small enough, equation (19) can be further simplified as Equation (20) indicates that the rotation transformation matrix can be handled via a linearized function with respect to the variable Δθ after using assumption (iv), which is beneficial to the linearization of the positioning error model.

Modelling of Radial Deformation.
As mentioned above, it is assumed that the end point of the robot is still at point P e0 . With the influence of end loads and gravity, each joint will have a slight rotary deformation Δc i around the radial direction of i n i . us, the coordinate of EE position can be described by (21) with the rotary deformation of each joint: where N is the number of joint. i P ei stands for the EE position with the rotary deformation Δc i at joint i in {i}. It should be noted that in (21), the coordinates of all points are described by homogeneous coordinates and the rotation transformation is also the homogeneous form in order to be convenient for the following coordinate transformation. en, the variation of each joint before and after rotary deformation can be obtained based on equation (21) as follows: 6 Complexity where i ΔP ri denotes the variation for the EE position at joint i before and after rotary deformation in {i}. Next, the analysis about i ΔP ri will be performed. First, 0 ΔP ri is obtained by transforming i ΔP ri into {0}: Combining with equations (20), (21), (22), and (23), the following equation can be derived: where i n ri represents an identity vector corresponding to i n ri . It can be found by observing equation (21) that i P ei−1 is deduced from the term of i P e0 in equation (24). us, i P ei−1 can also be expanded to i P e0 . According to (21) and (22), the following equations are obtained: Next, the following equation is obtained according to equation (25): Equation (26) gives a recursive relationship between EE position i P ei−1 before the rotary deformation at joint i and the EE position i−1 P ei−2 before the rotary deformation at joint i-1. Based on (26), equation of i P ei−1 including i P e0−1 is written as follows: Although i P ei−1 has been expanded to i P e0 , the above equation still contains 2 P e1 , 3 P e2 ,..., i−1 P ei−2 . Substituting equation (27) into equations (24) and (28), we have In (28), since Δc satisfies assumption (iv) and Δc k Δc i is high-order terms of Δc, then Δc k Δc i can be removed. When Δc k Δc i � 0, equation (28) will be further simplified as where the last component of 0 ΔP ri is zero since the homogeneous coordinates are employed, i.e., 0 ΔP ri � ( 0 Δx r , 0 Δy r , 0 Δz r , 0) T . Accordingly, a transformation for equation (29) should be performed to eliminate the last component of 0 ΔP ri that is zero. e specific transforming process is as follows: which shows that the EE position of robots i P e0 and the torque of the joint can be calculated by the rotary deformation Δc i , and the positioning error 0 P ri caused by the rotary deformation the around radial direction of the joint can also be calculated. en, the total positioning error due to the rotary deformation Δc i is determined as From equations (13), (30), and (31), the positioning error model after the rotary deformation Δc i is derived as follows: when Y i � ‖ i n ri ‖[ 0 i RS( i n ri ) i P e0 ] 3×1 , equation (32) will be written as Similar to equation (18), equation (33) illustrates that when the force F e is applied to the EE of the robot and its Complexity gravity is considered, the radial torque at the joint will lead to the positioning error 0 ΔP r(3×1) .

Error Modelling including Axial and Radial Deformation.
According to the analysis in Sections 3.1 and 3.2, two positioning error models that correspond to the axial and radial deformation at the joint, respectively, have been acquired. Since the positioning errors 0 ΔP a and 0 ΔP r are in {0}, they can be composited to obtain a complete positioning error model which includes both the influence of axial and radial deformation, as shown in the following equation: where Φ(F, Θ) is a simplified expression of 0 J Pa Λ a 0 J Pr Λ r 3×2N , and C means (C a , C r ) T .

Remark 2.
Two conclusions can be obtained according to (35). (i) e mapping relationship between the positioning error of the robot and its loads including the end load and gravity is linear. (ii) e positioning error is affected by the load as well as the poses of robots. It should be noted that C a and C r stand for the overall stiffness of all components that make up the joint in (35). Hence, they cannot be used to measure the stiffness of a specific part of joints. Moreover, C a and C r describe the torsional stiffness and bending stiffness of joints, respectively. is is consistent with the practical situation in which the torsional stiffness is different from the bending stiffness. Finally, since C a and C r are the integrated stiffness, they cannot be obtained directly by measurement. However, many mathematical methods can be used to identify C a and C r , e.g., least square method [29,30], genetic algorithm [31], particle swarm optimization algorithm [32], Kalman filtering algorithm [33], etc.

Simulations
e proposed positioning error model will be verified by simulations. e procedure of the verification consists of six steps as shown in Figure 3. It is noted that if dynamic parameters of the robot are known, step S3 can be omitted. In this paper, dynamic parameters are obtained by Computer-Aided Design (CAD) method, so step S3 is represented by a dotted box here.  Figure 4. To describe the EE position of the robot, the origin of {6} is set at its EE. en, kinematics parameters of the robot are obtained, as shown in Table 1 based on the coordinate systems in Figure 4. According to the kinematics parameters in Table 1, the kinematic model of the robot is established by equation (39). Moreover, the homogeneous transformation matrix i j T and the rotation transformation matrix i j R can be obtained, which will be used in the positioning error model:

Dynamics Parameters.
To acquire the driving torque, i n i and dynamics parameters of the robot are established on the basis of Newton-Euler method, as shown in equations (3), (4), and (5). Generally, the dynamics parameters are obtained by identification [34] or calculation from the design parameters. e dynamics parameters of the robot can be acquired by Computer-Aided Design (CAD) method based on the kinematics model, as shown in Table 2.

Simulation and Analysis.
Combining with the above kinematics model and dynamics parameters, a simulation environment is constructed by using finite element method. e data set from finite element simulation is defined as practical values, which are used to identify the unknown parameters C a and C r . en, the identified parameters are put into the positioning error model. Finally, the predicted    values according to the proposed method are compared with the results of finite element simulation. To estimate unknown parameters C a and C r , a group of joint angles are chosen arbitrarily in the working space of the robot, i.e., Θ � (44 ∘ , −45 ∘ , 20 ∘ , 45 ∘ , −30 ∘ , 80 ∘ ) T . It should be noted that Θ needs to be converted into a radian system when calculating. A group of end loads F are used as shown in Table 3. In the light of Θ and F, the regression matrix Φ(F, Θ) is calculated. e positioning error 0 ΔP can be acquired from the finite element model as shown in Figure 5.
ere are 10 groups of data in Table 3. Since (35) is linear with respect to parameters C a and C r , the least square method is used to estimate the unknown parameters C a and C r . e results of parameter estimation are as shown in Table 4. It can be found that the values of C a1 , C a6 , and C r6 are zero. Nevertheless, this does not mean that the real stiffness coefficient at joints 1 and 6 is zero but means that their changes have no effects on the positioning error. In Table 4, except the case where estimated parameter C is zero, it can be also found that some identified values are negative. According to Δφ � C‖n‖ in assumption (v), when flexibility coefficient C is positive, it indicates that the direction of rotary deformation Δφ and joint torque n are the same. And when C is negative, it indicates that the direction of Δφ is opposite to the direction of n. Meanwhile, it also shows that the stiffness parameters C a and C r do not possess practical physical significance but merely mathematical meaning in the proposed model.
To measure the accuracy of the identified parameters, the index of relative error is introduced. A linear model can be expressed as Ax � b and the relative error about the estimated value x can be defined as follows: According to (40), it can be found that lim x⟶x e r � 0. In other words, the value of |e r | describes a degree of closeness Node: x, y, z:    10 Complexity between the estimated value x and the true value x. In addition, the value of |e r | can also be used to measure the degree of closeness between the predicted value Ax and the true value b. According to (40), the relative error with respect to the identified parameters C a and C r is obtained as shown in Figure 6.
It can be seen from Figure 6 that the relative error between the theoretical values Φ(F, Θ)C and the measured values 0 ΔP is very small in the three directions, and it is between −0.0025% and 0.0025%. 20 groups of different end loads are selected randomly to verify the effectiveness of the presented method, as shown in   Complexity the first column of Table 5. en, the three components of the positioning error corresponding to each load can be acquired with finite element simulations as shown in the last three columns of Table 5. e predicted values Φ(F, Θ)C of the positioning error can be calculated based on these end loads and identified parameters C a and C r . e relative error between the predicted values Φ(F, Θ)C and the measured values 0 ΔP is calculated by (40). e results are as shown in Figure 7. From Figure 7, it can be found that the relative errors between the predicted values Φ(F, Θ)C and the measured values 0 ΔP are very small in all the three directions. ey are all in the range of [−0.004%, 0.003%]. Compared with the relative error shown in Figure 6, the relative error in Figure 7 is larger. e main reason is that the former group of data is involved in the parameter identification, but the latter is only used to predict the positioning error of the robot. With a predicted accuracy of 99.996%, the accuracy of the model is quite high in predicting and compensating positioning error 0 ΔP. In practice, the predicted accuracy may reduce when the real data used to identify the parameters contains the noise.

Conclusion
e main factors that affect the positioning accuracy of robots were analyzed considering the end loads and gravity. Based on the results of the analysis, it is found that the positioning error can be described by two parameters, i.e., the axial deformation and the radial deformation at the joint. A prediction and compensation model of positioning error was proposed based on the two kinds of deformations. e positioning error can be calculated according to the loads and gravity though the model for n-DOF industrial robots. Finite element simulation was used to verify the proposed model. e results of simulation showed that the proposed positioning error model can predict positioning errors. Future work will focus on the verification of the presented model by means of experiments and applying it to predict the positioning error under different loads to improve the positioning accuracy of industrial robots.

Data Availability
Data were curated by the authors and are available upon request from the corresponding author.

Conflicts of Interest
e authors declare that there are no conflicts of interest regarding the publication of this paper.