Modeling and Error Compensation of Robotic Articulated Arm Coordinate Measuring Machines Using BP Neural Network

Articulated arm coordinate measuring machine (AACMM) is a specific robotic structural instrument, which uses D-H method for the purpose of kinematic modeling and error compensation. However, it is difficult for the existing error compensation models to describe various factors, which affects the accuracy of AACMM. In this paper, a modeling and error compensation method for AACMM is proposed based on BP Neural Networks. According to the available measurements, the poses of the AACMM are used as the input, and the coordinates of the probe are used as the output of neural network. To avoid tedious training and improve the training efficiency and prediction accuracy, a data acquisition strategy is developed according to the actual measurement behavior in the joint space. A neural network model is proposed and analyzed by using the data generated via Monte-Carlo method in simulations. The structure and parameter settings of neural network are optimized to improve the prediction accuracy and training speed. Experimental studies have been conducted to verify the proposed algorithm with neural network compensation, which shows that 97% error of the AACMM can be eliminated after compensation. These experimental results have revealed the effectiveness of the proposed modeling and compensation method for AACMM.


Introduction
The articulated arm coordinate measuring machine (AACMM) is a specific precision measurement instrument, which has a mechanical structure similar to a robotic arm [1].As an openlinkage structure, the linkages of AACMM are connected by joints one after another, which results in error propagation and accumulation [2,3].Therefore, the accuracy of AACMM is relatively lower than that of normal coordinate measuring machines [4,5].
There are mainly two ways to improve the accuracy of AACMM [6][7][8].The first solution is to improve the hardware accuracy of the AACMM, such as the use of highprecision angle encoders and improvement of the accuracy of manufacturing and assembly.However, improving the accuracy of the hardware will inevitably lead to increased costs.Furthermore, the improvement on the accuracy of hardware is also technically restricted [9].The second solution is to conduct calibration which improves the accuracy of the AACMM by identifying the errors of the parameters and then compensating them in the kinematic models [10].Currently, the parameter identification and compensation are the major strategies to improve the accuracy of AACMM, and they have been the current topic in this field [11,12].
Santolaria et al. [13] presented an identification method for an AACMM using nominal data collected by a ball bar gauge, along with the algorithm and objective functions.The method is based on a new approach including the terms regarding the measurement accuracy and repeatability.Zheng et al. [14] proposed multiple measurement models built by Denavit-Hartenberg's (DH) notation, where the homemade standard rod components are used as a calibration tool and the Levenberg-Marquardt algorithm is applied to solve the structural parameters in the measurement models.Benciolini and Vitti [1] presented a mathematical model of a kinematic chain used in the design and implementation of the algorithms that are necessary for the operation and the identification of an AACMM.Gao et al. [6] presented a selfcalibration method based on a D-H model and constrained movement chains.
Currently, most of the above-mentioned kinematic models of AACMM have been developed based on D-H method, which uses structural parameters to describe the relationship between the coordinates of the probe and the rotation angles of the joints.However, the real structural parameters cannot be obtained due to the complex couplings of the parameters in the D-H model [2].Moreover, the structural parameters are not stable due to the measuring force, gravity, environmental temperature, and so on.Therefore, D-H method is not complete in the modeling and compensation of AACMMs.Motivated by these facts, a new modeling and error compensation method for AACMMs with BP neural network (BPNN) will be proposed in this paper.
First, the kinematic model of AACMMs with BPNN is established with the joint angles being the input and the coordinates of the probe being the output.Then, simulations were conducted to verify the feasibility of the proposed model.The training data was generated by Mont-Carlo method.And the setting parameters of the model were optimized based on the analysis of the further prediction simulations.To avoid useless training and improve the training efficiency and prediction accuracy, a data acquisition strategy was developed according to the actual measurement behavior in the joint space.To facilitate practical implementations, experimental studies have been conducted based on a practical AACMM.These experimental results have indicated the effectiveness of the proposed modeling and error compensation method.
In comparison to some other modeling and error compensation methods for AACMM, the idea proposed in this paper does not need complex kinematics calculations and structural parameter identification.Moreover, it can also compensate for the effect of environment temperature variation, measuring force, gravity, and other factors affecting the measurement accuracy.
The paper is organized as follows: Section 2 presents the kinematic modeling with D-H method and BPNN, respectively; simulations are conducted to determine the structure of the BPNN and optimize the setting parameters in Section 3 and experimental results are given in Section 4. Section 5 provides conclusions.

Kinematic Modeling Based on D-H Method.
According to D-H method [15], we built the coordinate systems for each joint of the AACMM, as shown in Figures 1 and  2.
As shown in Figure 1, the coordinates (, , ) of the probe can be derived through six homogeneous transformations as follows: where   is the linkage length,   is the joint length,   is the torsion angle, and   is the joint angle.The nominal value of each parameter in ( 1) is shown in Table 1.

Kinematic Modeling with BP Neural Network.
There are various factors that can influence the movement uncertainty of AACMMs, for example, error of structural parameters, deformation caused by the measuring force and gravity, rotation error of joints, and thermal deformation.Hence, it is difficult to model and compensate for all these factors explicitly.Back-Propagation Neural Network (BPNN), originally proposed by Zipser et al. [16,17], is one of the most widely used artificial neural network with a powerful ability of nonlinear mapping and self-learning [18][19][20].With this ability, BPNN can predict the errors of AACMMs caused by various factors, which makes it possible to compensate for the comprehensive errors and improve the movement uncertainty of AACMM.Hence, this paper will apply BPNN  to model AACMMs and further improve the modeling accuracy.
The kinematic model of AACMMs based on BPNN is established as shown in (2) with joint angles being the input and the position (coordinates) of the probe being the output.
where   is the input (six joint angles),   is the neural network's weight from neurons  to ,   is the threshold of the neuron ,  is the activation function of neurons, and   () is the position of the probe.The structure of the kinematic model based on BPNN is shown in Figure 3.There are six neurons in the input layer which are the six joint angles ( 1 ,  2 ,  3 ,  4 ,  5 ,  6 ).The three neurons in the output layer are the coordinates (, , ) of the probe.The number of the hidden layers and the number

Hidden layer
Input layer of the neurons in each hidden layer will be determined by using optimization methods in Sections 3 and 4. The neurons between the layers are all fully connected.Theoretically, it is shown that the model of neural network (2) can be used to simulate the AACMM model (1) with arbitrarily accuracy and hence can compensate for the modeling errors.However, in practice, we need to determine the parameters of neural network (e.g., number of neurons  and weights   of the neural network).In this paper, we will first determine the parameters of the neural network via simulations, where the BP algorithm will be used to obtain the optimized weights of neural network.Then, practical experiments based on an AACMM will be given to validate the improved modeling accuracy.which can be generated with the Mont-Carlo method [21].

Determining the Structure and Parameters of the BPNN
Then the coordinates of the probe can be calculated by (1).
If there are no errors with the structural parameters, the coordinates of the probe would be the theoretic value without any bias.The joint angles and the coordinates will be used for training the BPNN model.

Structure of the BPNN.
The performance of BPNN is affected by many parameters such as the amount of training data (TD), number of hidden layers (HL), number of neuron nodes (NN), leaning rate (LR), goal accuracy (GA), and active function (AF) [22,23].To obtain the optimal parameters, extensive simulations were conducted, where BP algorithm will be used to obtain the optimized neural network's weights.The maximum epochs are set to be 1000.Tansig and Marquardt are selected as the active function and training function, respectively.For the high nonlinearities and complex dimension of the BPNN model built for the AACMM, there is some randomness in the result of the simulation.The results of the simulations were shown as Table 2.
To test the training results, another 10 groups of joint angles were used for prediction.The prediction and its error response of the simulation of number (1) are shown in Figure 4.As it is shown, after training the BPNN can predict the coordinates (x, y, z) of the probe of the AACMM with fairly good error response.
From the simulations of numbers (1)-( 5), it is known that increasing the amount of the training data can improve the prediction precision, while the speed of error convergence will be reduced.Furthermore, the influence of increasing the number of the training data is not obvious after it reaches a certain amount.The simulation reveals that 9000 groups of training data are appropriate in our case study.Moreover, the choice of the neural network's learning rate affects the stability and convergence of BPNN model directly.In general, a large learning rate can speed up the convergence rate and reduce training time but will lead to instability of the BPNN.A small learning rate will increase the training time greatly.To balance the prediction precision and the training time, the learning rate of the BPNN is set to 0.001 according to the results of simulations numbers (1) and (8)- (11).Simulations of numbers (12)-( 16) are used to determine the number of nodes in the hidden neurons, among which the parameters of numbers (12)-( 14) are determined by empirical formulas.According to these results, the number of neurons in the single hidden layer is set to 50.Simulation of number (17) is based on a double hidden layer BPNN; comparing with number (15) we know that the double hidden layer BPNN can satisfy the same requirements with fewer epochs and less calculating time than the single BPNN.

Parameter Optimization of the BPNN.
The performance of neural networks is influenced greatly by the parameter settings [24,25].To improve the accuracy of BPNN for the AACMM, 12 simulations were conducted to optimize the parameters by taking into account the impact of the couplings from the parameters.To compare the performance of each setting and search for the optimized one, the training time, maximum error, and average error of the AACMM are treated as the objective functions.In the simulations, the number of the training data is 9000, the maximum iteration is 1000, the leaning rate is 0.01, and the target convergence accuracy is set to 4 − 9.The results of the simulations are shown in Table 3.
Table 3 shows that the maximum and average error of the simulation of number (6) is the minimal.Hence, the optimized settings of the BPNN are two HLs (hidden

Practical Experiments
4.1.Error before Compensation.According to (1) and Table 1, the coordinates of the AACMM (shown in Figure 5) were calculated and then were compared with the actual values.The errors of the coordinates are shown in Figure 6, which are mainly due to the errors of structural parameters including the linkage length errors, the torsion angle errors, the joint length errors, the probe length errors, and the joint angle deviations [2].With these errors, the nominal parameters of the AACMM are not the same as the actual ones and the kinematic model in (1) cannot describe the AACMM system accurately.200 poses of the AACMM are used for the test.The maximum error is 0.8978 mm and the average error is 0.4492 mm, which are not satisfactory for practical use.We can see evident systematic errors in Figure 6 for the reason that there are systematic errors in the nominal structural parameters of Table 1.

Error Compensation with BPNN Model.
To further improve the modeling performance, the proposed neural network model ( 2) is then adopted, and the neural network's training procedure as proposed in Section 3 will be run again to determine the neural network's parameters and topology.
In this case study, 3100 poses of the AACMM are acquired, among which 3000 poses are used to train the BPNN model and the other 100 poses are used to test the prediction accuracy of the BPNN.The training results are shown in Table 4.To simplify the procedure of obtaining the optimum parameters, the training settings in Table 4 are based on the results of Section 3.3.
It is shown that it is feasible to predict the coordinates of the AACMM with satisfactory response by using the prediction values.In particular, from Table 4, we know that the prediction accuracy of the experiment of number (4) is the highest with the maximum error of 0.1428 mm and the average error of 0.0149 mm.Compared to the settings in Section 3.3, the optimum neuron nodes are not the same in simulations and experiments for the difference data used in simulations and experiments.In simulations, the actual noises of the data, for example, variation of temperature, structural deformation of the AACMM, and limited accuracy of the joint angles, are not considered.
After determining the BPNN topology and deriving the BPNN parameters, another 200 groups of poses of the AACMM are acquired to test the trained BPNN model with the settings of number (4) in Table 4.The prediction coordinates and prediction errors of the BPNN model are shown in Figures 7 and 8.The maximum error is 0.0873 mm and the average error is 0.0136 mm.According to the traversal of the error we found that there are 3 coordinate errors which are greater than 0.08 mm and 13 coordinate errors which are greater than 0.05 mm in the 600 coordinates (200 groups of poses).We have the conclusion that the prediction error is less than 0.05 mm in the principle of 2 Sigma [5].By comparing Figures 6 and 8, we know that after the error compensation with the BPNN model the average error of the AACMM is reduced from 0.4492 mm to 0.0136 mm, which means 97% error is removed.Therefore, the BPNN model for AACMM is feasible in practice.

Conclusions
A modeling and error compensation approach based on BPNN has been presented for AACMMs in this paper.The kinematic model of AACMMs with BPNN is established with the joint angles being the input and the coordinates of the probe being the output.The training data was first generated by Mont-Carlo method and used to determine the parameters of neural network.And BP training algorithm is used to obtain the optimized neural network's parameters.According to the simulation results, the structure of the BPNN model can be determined with satisfactory error performance.And the setting parameters of the model were optimized based on the analysis of the further prediction simulations.To facilitate practical implementations, experimental studies have been conducted based on a practical AACMM.After error compensation with the BPNN model, 97% average error of the AACMM was eliminated.These experimental results have shown the effectiveness of the proposed modeling and error compensation method.Therefore, for other AACMM applications, the traditional D-H model can be replaced by the BPNN model which avoids using complex kinematics calculation and structural parameter identification.The proposed BPNN model for AACMM can also compensate for the effect of environment temperature, measuring force, gravity, and other factors on the measurement accuracy.The effectiveness of the proposed modeling and compensation method relies on a training phase which needs to acquire some data set of poses and coordinates of the AACMM.Hence, optimization of the setting of the neural network and use of other new neural networks may further improve the effectiveness of the error compensation.This will be further studied in our future work.

Figure 1 :
Figure 1: The structure of the AACMM.

Figure 3 :
Figure 3: The structure of the kinematic model based on BPNN.

Figure 4 :
Figure 4: The prediction result and prediction error of the simulation number (1).

Figure 5 :
Figure 5: The articulated arm coordinate measuring machine used in practical experiments.

Figure 6 :
Figure 6: The errors of the AACMM before compensation.

Figure 7 :Figure 8 :
Figure 7: The prediction coordinates of the BPNN model for the AACMM.

Table 1 :
The nominal structural parameters of the AACMM.

Table 2 :
Simulation results of different parameters of BPNN for the AACMM.

Table 3 :
Prediction simulation results for optimization.

Table 4 :
Experimental training results of the BPNN model for AACMM.