# Structural Parameter Identification of Articulated Arm Coordinate Measuring Machines

Authors: Guanbin Gao; Huaishan Zhang; Xing Wu; Yu Guo
Journal: Mathematical Problems in Engineering
 (2016)

---

## Abstract

Precise structural parameter identification of a robotic articulated arm coordinate measuring machine (AACMM) is essential for improving its measuring accuracy, particularly in robotic applications. This paper presents a constructive parameter identification approach for robotic AACMMs. We first develop a mathematical kinematic model of the AACMM based on the Denavit-Hartenberg (DH) approach established for robotic systems. This model is further calibrated and verified via the practical test data. Based on the difference between the calculated coordinates of the AACMM probe via the kinematic model and the given reference coordinates, a parameter identification approach is proposed to estimate the structural parameters in terms of the test data set. The Jacobian matrix is further analyzed to determine the solvability of the identification model. It shows that there are two coupling parameters, which can be removed in the regressor. Finally, a parameter identification algorithm taking the least-square solution of the identification model as the structural parameters by using the obtained poses data is suggested. Practical experiments based on a robotic AACMM test rig are carried out, and the results reveal the effectiveness and robustness of the proposed identification approach.


---

## Body

## 1. Introduction

The coordinate measuring machine (CMM) is a universal measuring instrument which can transform various geometric measurements into coordinate measurements [1]. This instrument has been widely used in the calibration and modeling of robotic systems. In particular, the articulated arm CMM (AACMM) is a new type of robot-like CMM with multiple degrees of freedom (DOF), which generally consists of a series of linkages connected by joints in series [2, 3]. The AACMM obtains the angles of joints by means of the angle encoder installed on the rotary joints. And the angles can be transformed into the three coordinates (x,y,z) through the kinematic model. The AACMM possesses some specific and essential characteristics and advantages, for example, simple mechanical structure, small size, light weight, large measurement range, and flexible measurement in field [4].However, the measuring accuracy of the AACMM is much lower than that of the orthogonal CMM [5, 6], which may greatly limit its applications. A potential strategy to improve the measuring accuracy of the AACMM is to choose high precision hardware components and to apply high requirements for manufacturing and assembly [3, 7]. However, the cost of the measuring machine increases dramatically by using more precise components. Moreover, in some specific applications, increasing the precision of individual components may not be able to ensure overall increased measuring precision and accuracy. In particular, small errors in some kinematic parameters may accumulate and thus influence the measuring accuracy of the AACMM greatly.Another essential and economic way to eliminate errors of the structural parameters and to improve the measuring accuracy is to identify the robot’s structural parameters [8] by using appropriate parameter identification approaches. Generally, the structural parameter identification includes four steps [9]: (1) modeling: to establish a mathematical model describing the geometrical characteristics and kinematics of the robot; (2) measurement: to measure the coordinates of the end effector in the real world coordinate system; (3) identification: to identify the structural parameters of the obtained model by means of mathematical calculation of the data set; (4) compensation: to modify the parameters in the control system according to the identification results. These four steps are also applicable for the AACMM, and an improved identification method will be studied in this paper.For the parameter identification of AACMM, Kovač and Frank [10] developed a new high precision device for the AACMM testing and calibration with the laser interferometer measurements along a line gauge beam. Santolaria et al. [11, 12] reported a method to calibrate an AACMM based on the Denavit-Hartenberg (DH) kinematic model parameters. These parameters are optimized by measuring a calibrated ball bar gauge located at different orientations and positions in the AACMM working space. Hamana et al. [13] presented a method, where the kinematic parameters of AACMM were calibrated using spherical center coordinates as the artifact. However, only part of the measuring space can be calibrated with the above methods. Thus, the AACMM cannot be calibrated by directly using these available results. In particular, the coupling relationships between the structural parameters and their effect on the measuring uncertainty of the AACMM were not considered in the above researches. Therefore, the robustness and efficiency of the identifications were affected due to those invalid calculations [14] of the redundant couplings.In this paper, we propose an improved modeling and parameter identification method for AACMM robotic system. First, the kinematic model and structural identification matrix were established based on the DH method, and the coupling relationship between the structural parameters was obtained through further analysis of the structural identification matrix. Then the identification model of the AACMM was constructed, and a parameter estimation approach developed based on the LS method is proposed to identify the structural parameters. Practically collected data of the joint angles and coordinates of the probe are used to validate the model and identification approach. The redundancy embedded in the parameter matrix is further analyzed and eliminated to address the coupling effects and identifiability. Finally, practical experiments are conducted to verify the efficiency of the proposed identification method.The advantages and the distinctive features of this proposed identification method in comparison to some other identification methods for AACMM (e.g., [12, 15, 16]) are as follows:(1)
We do not need precise initial parameters, and even we do not need initial parameters (we can assign the initial parameters arbitrarily as long as they are not too exaggerated) in the identification. The identified values of the structural parameters can be solved through (18). However, in some available results, for example, [12, 15, 17], the initial identification parameters should be appropriately selected to achieve good identification results because an iteration calculation method is adopted.(2)
In this paper, we conducted the coupling analysis such that those linearly dependant parameters are detected and removed from the parameters to be identified. Consequently, the calculation costs and the identification efficacy can be significantly improved. In fact, in our case study, only one time iteration calculation can provide fairly good results.(3)
The time consumed by the proposed identification calculation is relatively shorter than the widely used iteration identification methods such as PSO, GA, and LS; that is, we can get the results just after one time iteration calculation.The paper is organized as follows. Section2 presents the kinematic modeling and validation; the parameter identification and the analysis are introduced in Section 3; and experimental results are given in Section 4. Section 5 provides conclusions.


## 2. Kinematic Modeling and Verification

### 2.1. Kinematic Modeling

As shown in Figure1, the structure of the AACMM is similar to an articulated robot. Therefore, the AACMM model can be established by using available modeling methods developed for robotics. For the modeling of robotic kinematics, the most influential method is the Denavit-Hartenberg model (DH model) which has been widely used due to its clear physical meaning [18]. A 4×4 homogeneous transform matrix is used to represent the spatial relations of adjacent joints coordinate systems [19]. Because all the adjacent joints of the AACMM are perpendicular [20], there is no nominally parallel problem, and we can use the DH method to establish the kinematic model.Figure 1
The structure of the AACMM.In this paper, a 6-DOF AACMM is studied. The schematic structure of this system is shown in Figure1. For this 6-DOF AACMM, the coordinate values of the probe in the reference coordinate system can be derived through 7 successive transformations.According to the DH method, there are four groups of structural parameters in the AACMM, for example, linkage lengthdi, joint length ai, torsion angle αi, and joint angle θi.The coordinates of the AACMM were established followed by the DH method, as shown in Figure2. Some of the four groups of structural parameters were achieved via direct measurement and some of them can only be determined by using estimation method because they cannot be measured directly, for example, αi, as shown in Table 1. The measurement datum of the structural parameters is all axes of the joints and linkages, which are virtual lines only, and the positions of them are not accurate. Therefore, the structural parameters are not accurate as they will result in significant movement or measurement uncertainty of the AACMM.Table 1
The estimated structural parameters of the AACMM.
Linkage numberi a i [mm] d i [mm] Δ θ i [°] α i [°] 1 0 376 0 −90 2 62 0 0 −90 3 0 751 0 −90 4 62 0 0 −90 5 0 500 0 −90 6 0 15 0 90 l = 98 mm.Figure 2
Coordinate systems of the AACMM.According to the principle of homogeneous transformation, the transform from the coordinate system{OiXiYiZi} to {Oi-1Xi-1Yi-1Zi-1} is equivalent to a process in which {Oi-1Xi-1Yi-1Zi-1} conducts rotation and translation and then completely coincides with {OiXiYiZi}. The whole transform procedure can be expressed mathematically as(1)Ti-1,i=Rotzi-1,θiTrans0,0,diTransai,0,0Rotxi,αi=cos⁡θi-sin⁡θicos⁡αisin⁡θisin⁡αiaicos⁡θisin⁡θicos⁡θicos⁡αi-cos⁡θisin⁡αiaisin⁡θi0sin⁡αicos⁡αidi0001.The probe coordinates in the reference coordinate system{O0X0Y0Z0} can be expressed as follows:(2)xyz1=T0,1·T1,2·T2,3·T3,4·T4,5·T5,6·00l1=∏i=16cos⁡θi-sin⁡θicos⁡αisin⁡θisin⁡αiaicos⁡θisin⁡θicos⁡θicos⁡αi-cos⁡θisin⁡αiaisin⁡θi0sin⁡αicos⁡αidi0001·00l1.There is one group of parameters which are the variables in (2). It is the joint angle θi, the value of which can be acquired by the joint angular sensor.


### 2.2. Verification of the Kinematic Model

To validate the proposed kinematic model (2), we collect realistic operation data via sensors, for example, joint angle of the AACMM, which are then used to calculate the coordinate system. For this purpose, a software according to the kinematic model (2) was developed to acquire the joint angles, which can also be used to verify the kinematic model of the AACMM. The interface of the built software with C++ is shown in Figure 3. As we find all the structural parameters can be imported into the software through the interface. Then with the joint angles acquired from the AACMM and the structural parameters, the coordinates of the AACMM probe can be calculated by the software.Figure 3
The interface of the acquisition software of the AACMM.By comparing the coordinates of the probe calculated by the software and the reference coordinates (which can be treated as the true values of the coordinates of the probe), we found that the calculated coordinates of the probe are very close to the reference coordinates. The differences between the two group coordinates are always less than 1.5 mm, which means that the movement uncertainty of the AACMM is about 1.5 mm. In this sense, the kinematic model (2) of the AACMM is correct because a wrong kinematic model will lead to uncontrollable movement uncertainty. However, it should be noted that although such movement uncertainty is acceptable for industrial robots, it is not applicable for AACMM as this is a much more precision instrument. Thus further analysis will be conducted in the following Section 3 to identify the exact structural parameters by introducing a discrete-time parameter identification method.


## 2.1. Kinematic Modeling

As shown in Figure1, the structure of the AACMM is similar to an articulated robot. Therefore, the AACMM model can be established by using available modeling methods developed for robotics. For the modeling of robotic kinematics, the most influential method is the Denavit-Hartenberg model (DH model) which has been widely used due to its clear physical meaning [18]. A 4×4 homogeneous transform matrix is used to represent the spatial relations of adjacent joints coordinate systems [19]. Because all the adjacent joints of the AACMM are perpendicular [20], there is no nominally parallel problem, and we can use the DH method to establish the kinematic model.Figure 1
The structure of the AACMM.In this paper, a 6-DOF AACMM is studied. The schematic structure of this system is shown in Figure1. For this 6-DOF AACMM, the coordinate values of the probe in the reference coordinate system can be derived through 7 successive transformations.According to the DH method, there are four groups of structural parameters in the AACMM, for example, linkage lengthdi, joint length ai, torsion angle αi, and joint angle θi.The coordinates of the AACMM were established followed by the DH method, as shown in Figure2. Some of the four groups of structural parameters were achieved via direct measurement and some of them can only be determined by using estimation method because they cannot be measured directly, for example, αi, as shown in Table 1. The measurement datum of the structural parameters is all axes of the joints and linkages, which are virtual lines only, and the positions of them are not accurate. Therefore, the structural parameters are not accurate as they will result in significant movement or measurement uncertainty of the AACMM.Table 1
The estimated structural parameters of the AACMM.
Linkage numberi a i [mm] d i [mm] Δ θ i [°] α i [°] 1 0 376 0 −90 2 62 0 0 −90 3 0 751 0 −90 4 62 0 0 −90 5 0 500 0 −90 6 0 15 0 90 l = 98 mm.Figure 2
Coordinate systems of the AACMM.According to the principle of homogeneous transformation, the transform from the coordinate system{OiXiYiZi} to {Oi-1Xi-1Yi-1Zi-1} is equivalent to a process in which {Oi-1Xi-1Yi-1Zi-1} conducts rotation and translation and then completely coincides with {OiXiYiZi}. The whole transform procedure can be expressed mathematically as(1)Ti-1,i=Rotzi-1,θiTrans0,0,diTransai,0,0Rotxi,αi=cos⁡θi-sin⁡θicos⁡αisin⁡θisin⁡αiaicos⁡θisin⁡θicos⁡θicos⁡αi-cos⁡θisin⁡αiaisin⁡θi0sin⁡αicos⁡αidi0001.The probe coordinates in the reference coordinate system{O0X0Y0Z0} can be expressed as follows:(2)xyz1=T0,1·T1,2·T2,3·T3,4·T4,5·T5,6·00l1=∏i=16cos⁡θi-sin⁡θicos⁡αisin⁡θisin⁡αiaicos⁡θisin⁡θicos⁡θicos⁡αi-cos⁡θisin⁡αiaisin⁡θi0sin⁡αicos⁡αidi0001·00l1.There is one group of parameters which are the variables in (2). It is the joint angle θi, the value of which can be acquired by the joint angular sensor.


## 2.2. Verification of the Kinematic Model

To validate the proposed kinematic model (2), we collect realistic operation data via sensors, for example, joint angle of the AACMM, which are then used to calculate the coordinate system. For this purpose, a software according to the kinematic model (2) was developed to acquire the joint angles, which can also be used to verify the kinematic model of the AACMM. The interface of the built software with C++ is shown in Figure 3. As we find all the structural parameters can be imported into the software through the interface. Then with the joint angles acquired from the AACMM and the structural parameters, the coordinates of the AACMM probe can be calculated by the software.Figure 3
The interface of the acquisition software of the AACMM.By comparing the coordinates of the probe calculated by the software and the reference coordinates (which can be treated as the true values of the coordinates of the probe), we found that the calculated coordinates of the probe are very close to the reference coordinates. The differences between the two group coordinates are always less than 1.5 mm, which means that the movement uncertainty of the AACMM is about 1.5 mm. In this sense, the kinematic model (2) of the AACMM is correct because a wrong kinematic model will lead to uncontrollable movement uncertainty. However, it should be noted that although such movement uncertainty is acceptable for industrial robots, it is not applicable for AACMM as this is a much more precision instrument. Thus further analysis will be conducted in the following Section 3 to identify the exact structural parameters by introducing a discrete-time parameter identification method.


## 3. Identification for AACMM Uncertain Parameters

### 3.1. Modeling Error Analysis

It is known that the accuracy of the AACMM is affected greatly by the manufacture, assembly, and component selection [21, 22], which can all result in inconsistence between the structural parameters in the kinematic model and the actual ones. However, the proposed identification method in this paper can achieve high accuracy for AACMM modeling without increasing the cost to construct the parts and buy extra sensors. This section will further address the improvement of accuracy by analyzing the error dynamics and then introducing an associated identification scheme.From (2), we know that the uncertainty of the AACMM is affected by the error of structural parameters including the linkage length error Δdi, the torsion angle error Δαi, the joint length error Δai, the probe length error Δl, and the joint angle deviation Δθi at the zero position [23]. Thus the effects of these uncertainties should be identified and then compensated. For this purpose, (2) can be rewritten as a function group of the structural parameters, which is shown in (3)x=fxθ1,θ1,θ1,θ1,θ1,θ1,α1,α2,α3,α4,α5,α6,d1,d2,d3,d4,d5,d6,a1,a2,a3,a4,a5,a6,ly=fxθ1,θ1,θ1,θ1,θ1,θ1,α1,α2,α3,α4,α5,α6,d1,d2,d3,d4,d5,d6,a1,a2,a3,a4,a5,a6,lz=fxθ1,θ1,θ1,θ1,θ1,θ1,α1,α2,α3,α4,α5,α6,d1,d2,d3,d4,d5,d6,a1,a2,a3,a4,a5,a6,l.To show the effect of uncertainties, we calculate the differential of (3) as(4)dx=∑i=16∂fx∂θidθi+∑i=16∂fx∂αidαi+∑i=16∂fx∂diddi+∑i=16∂fx∂aidai+∂fx∂ldldy=∑i=16∂fy∂θidθi+∑i=16∂fy∂αidαi+∑i=16∂fy∂diddi+∑i=16∂fy∂aidai+∂fy∂ldldz=∑i=16∂fz∂θidθi+∑i=16∂fz∂αidαi+∑i=16∂fz∂diddi+∑i=16∂fz∂aidai+∂fz∂ldl.Thus (4) can be rewritten in a compact form as given in (5)
d
x
d
y
d
z
=
∂
f
x
∂
θ
1
⋯
∂
f
x
∂
θ
6
∂
f
x
∂
α
1
⋯
∂
f
x
∂
α
6
∂
f
x
∂
d
1
⋯
∂
f
x
∂
d
6
∂
f
x
∂
a
1
⋯
∂
f
x
∂
a
6
∂
f
x
∂
l
∂
f
y
∂
θ
1
⋯
∂
f
y
∂
θ
6
∂
f
y
∂
α
1
⋯
∂
f
y
∂
α
6
∂
f
y
∂
d
1
⋯
∂
f
y
∂
d
6
∂
f
y
∂
a
1
⋯
∂
f
y
∂
a
6
∂
f
y
∂
l
∂
f
z
∂
θ
1
⋯
∂
f
z
∂
θ
6
∂
f
z
∂
α
1
⋯
∂
f
z
∂
α
6
∂
f
z
∂
d
1
⋯
∂
f
z
∂
d
6
∂
f
z
∂
a
1
⋯
∂
f
z
∂
a
6
∂
f
z
∂
l
×
d
θ
1
⋯
d
θ
6
d
α
1
⋯
d
α
6
d
d
1
⋯
d
d
6
d
a
1
⋯
d
a
6
d
l
T
.It is shown that (5) is in a linear form with perturbing modeling uncertainties. Since we consider sufficiently small sampling interval in the discrete-time implementation, the structural parameters of the AACMM are relatively small; that is, Δθi=dθi and dx=Δx. Then (5) can be rewritten as(6)ΔxΔyΔz=J×Δθ1⋯Δθ6Δα1⋯Δα6⋯Δd1⋯Δd6⋯Δa1⋯Δa6dlT.We denote(7)
J
=
∂
f
x
∂
θ
1
⋯
∂
f
x
∂
θ
6
∂
f
x
∂
α
1
⋯
∂
f
x
∂
α
6
∂
f
x
∂
d
1
⋯
∂
f
x
∂
d
6
∂
f
x
∂
a
1
⋯
∂
f
x
∂
a
6
∂
f
x
∂
l
∂
f
y
∂
θ
1
⋯
∂
f
y
∂
θ
6
∂
f
y
∂
α
1
⋯
∂
f
y
∂
α
6
∂
f
y
∂
d
1
⋯
∂
f
y
∂
d
6
∂
f
y
∂
a
1
⋯
∂
f
y
∂
a
6
∂
f
y
∂
l
∂
f
z
∂
θ
1
⋯
∂
f
z
∂
θ
6
∂
f
z
∂
α
1
⋯
∂
f
z
∂
α
6
∂
f
z
∂
d
1
⋯
∂
f
z
∂
d
6
∂
f
z
∂
a
1
⋯
∂
f
z
∂
a
6
∂
f
z
∂
las the Jacobian matrix, (8)ΔP=ΔxΔyΔzas the difference between the coordinates of the probe calculated by the kinematic model and the measured reference coordinates, and (9)ΔX=Δθ1⋯Δθ6Δα1⋯Δα6Δd1⋯Δd6⋯Δa1⋯Δa6dlTas the uncertainties perturbing the structure parameters. Then (6) can also be simplified as(10)ΔP=J·ΔX,where ΔX=X(k)-X(k-1) denotes the difference of the regressor within each iteration step [k-1,k].Equation (10) is in a strictly linearly parameterized form within each iteration step, and thus it can be used for the purpose of structure parameter identification to estimate ΔX.


### 3.2. Identification of Structural Parameters

From (6), we know that (10) can be used to solve the error of structural parameters ΔX. It should be noted that there are 25 unknown parameters in (10), for example, Δθi, Δαi, Δdi, Δai,i=1⋯6, and Δl. However, there are only 3 measurements (e.g., Δx,Δy,Δz). Therefore, we need to collect at least 9 groups of reference coordinates and poses (joint angles) in various operation regimes to creates 9×3=27 equations, which are then used to identify these 25 unknown parameters. To get more robust results, we need even more than 9 groups of reference coordinates and joint angles. Thus, for n≥9, we can write augmented (10) as(11)ΔP1ΔP2⋮ΔPn=J1J2⋮Jn·ΔX,n>9.It is clear that the uncertain structural parametersΔX can be calculated based on (11) when the regressor or matrix is nonsingular. This is the well-known persistent excitation condition and can be fulfilled in our case study by operating the robotic in extensive scenarios. To solve ΔX in (11) conveniently, (11) can be further rewritten in a more compact form(12)ΔX=J-T·J--1J-ΔP-,where ΔP-=ΔP1,ΔP2,…,ΔPnT and J-=J1,J2,…,JnT denote the augmented regressor and measurement matrices.


### 3.3. Analysis of Couplings of the Structural Parameters

In (12), if the Jacobian matrix J- is not a column full rank matrix, that is, there are linear correlation structural parameters, we cannot calculate its solution directly. Therefore, we should check if there are linearly correlated structural parameters in J-. Based on the matrix theory, the linearly related row can be found by applying singular value decomposition elementary row transformation of J-T·J- via the orthogonal matrix decomposition [24, 25]. Premultiplying J-T on both sides of (12), we can obtain (13)J¯TJ¯ΔX=J¯TΔP¯.We denoteH=[J¯TJ¯]; then by using the matrix singular value decomposition, we have(14)H=US000VT,where U and V are orthogonal matrices of 25×25, S=diag(σ1,σ2,…,σr)(r≤25) andr is the rank of the matrix H and the Jacobian matrix J¯. Therefore, the number of linearly related parameters is 25-r. From (13) and (14), we can obtain (15)VTΔX=S-1000U-1J¯TΔP¯.SinceH is a symmetric matrix, VT=U-1, and V are rotation matrices, then VT·ΔX is equivalent to ΔX. In this case, the linearly related structural parameters in ΔX can be found by the elementary row transformation of the last 4 lines, as shown in (16)ΔP¯=J¯1ΔX1,where J¯1 is a matrix of (3n)×r,ΔX1 is a vector of r×1, ΔP¯ is the matrix of (3n)×1, and r is the rank of J¯1. The calculation result shows that the rank of J¯1 is 23; that is, r=23; thus there are two linearly related structural parameters. Specifically, we can obtain linearly related parameters by carrying out the singular value decomposition and the elementary row transform. As shown in (17), we find that Δa6 is linearly related with Δθ6 and Δd6 is linearly related with Δα6. Thus in the identification calculation, Δθ6 and Δα6 are treated as the redundant parameters and they do not need to be identified. Also, Δa6 and Δd6 can be determined as the redundant parameters and are not identified in the identification calculation, which can also reduce the dimension of the regressor matrices and thus the required calculation costs.(17)Δa6=lΔθ6Δd6=lΔα6.


### 3.4. Implementation of Identification Calculation

According to the analysis presented in last section, we know that there are two structural parameters which are related to others and do not need to be identified in terms of (12). Instead, they can be calculated based on (17) provided other 23 parameters are identified. Therefore, the two corresponding columns of the Jacobian matrix J¯1 can be removed and the new identification equations can be obtained as shown in (18)ΔXr=J¯rT·J¯r-1J¯rΔP¯,where ΔXr=Xr(k)-Xr(k-1) denotes the change between each iteration interval [k-1,k], which is the vector of the structural parameters of the AACMM after the removal of a6 and d6, and J¯r is the Jacobian matrix after removal of the two columns of a6 and d6.The overall identification algorithm has been carried out to solve (18) in Matlab, and the flowchart shown in Figure 4 provides the practical implementation of the suggested algorithm.Figure 4
The flowchart of the identification procedure.In the literature, there are many different identification methods, for example, PSO and GA. However, these algorithms need much more computational costs, which may limit their applicability for AACMM. The time consumed by the proposed identification calculation is relatively shorter than the widely used iteration identification methods such as PSO and GA; that is, we can get the results just after one time iteration calculation.The step-by-step implementation procedure can be given as follows:(1)
initialize the structural parameters ofXr,k with the data in Table 1 and set iteration variable as k=0;(2)
calculateP¯k and J¯r,k with (2), (5), Xr,k, and the poses acquired from the AACMM;(3)
calculateΔP¯k=P¯t-P¯k with the reference coordinates;(4)
calculate the least squares solution ofΔXr,k=(J¯r,kT·J¯r,k)-1J¯r,kΔP¯k;(5)
setk=k+1 and correct the parameters as Xr,k=Xr,k-1+ΔXr,k by using the composition ΔXr,k.


## 3.1. Modeling Error Analysis

It is known that the accuracy of the AACMM is affected greatly by the manufacture, assembly, and component selection [21, 22], which can all result in inconsistence between the structural parameters in the kinematic model and the actual ones. However, the proposed identification method in this paper can achieve high accuracy for AACMM modeling without increasing the cost to construct the parts and buy extra sensors. This section will further address the improvement of accuracy by analyzing the error dynamics and then introducing an associated identification scheme.From (2), we know that the uncertainty of the AACMM is affected by the error of structural parameters including the linkage length error Δdi, the torsion angle error Δαi, the joint length error Δai, the probe length error Δl, and the joint angle deviation Δθi at the zero position [23]. Thus the effects of these uncertainties should be identified and then compensated. For this purpose, (2) can be rewritten as a function group of the structural parameters, which is shown in (3)x=fxθ1,θ1,θ1,θ1,θ1,θ1,α1,α2,α3,α4,α5,α6,d1,d2,d3,d4,d5,d6,a1,a2,a3,a4,a5,a6,ly=fxθ1,θ1,θ1,θ1,θ1,θ1,α1,α2,α3,α4,α5,α6,d1,d2,d3,d4,d5,d6,a1,a2,a3,a4,a5,a6,lz=fxθ1,θ1,θ1,θ1,θ1,θ1,α1,α2,α3,α4,α5,α6,d1,d2,d3,d4,d5,d6,a1,a2,a3,a4,a5,a6,l.To show the effect of uncertainties, we calculate the differential of (3) as(4)dx=∑i=16∂fx∂θidθi+∑i=16∂fx∂αidαi+∑i=16∂fx∂diddi+∑i=16∂fx∂aidai+∂fx∂ldldy=∑i=16∂fy∂θidθi+∑i=16∂fy∂αidαi+∑i=16∂fy∂diddi+∑i=16∂fy∂aidai+∂fy∂ldldz=∑i=16∂fz∂θidθi+∑i=16∂fz∂αidαi+∑i=16∂fz∂diddi+∑i=16∂fz∂aidai+∂fz∂ldl.Thus (4) can be rewritten in a compact form as given in (5)
d
x
d
y
d
z
=
∂
f
x
∂
θ
1
⋯
∂
f
x
∂
θ
6
∂
f
x
∂
α
1
⋯
∂
f
x
∂
α
6
∂
f
x
∂
d
1
⋯
∂
f
x
∂
d
6
∂
f
x
∂
a
1
⋯
∂
f
x
∂
a
6
∂
f
x
∂
l
∂
f
y
∂
θ
1
⋯
∂
f
y
∂
θ
6
∂
f
y
∂
α
1
⋯
∂
f
y
∂
α
6
∂
f
y
∂
d
1
⋯
∂
f
y
∂
d
6
∂
f
y
∂
a
1
⋯
∂
f
y
∂
a
6
∂
f
y
∂
l
∂
f
z
∂
θ
1
⋯
∂
f
z
∂
θ
6
∂
f
z
∂
α
1
⋯
∂
f
z
∂
α
6
∂
f
z
∂
d
1
⋯
∂
f
z
∂
d
6
∂
f
z
∂
a
1
⋯
∂
f
z
∂
a
6
∂
f
z
∂
l
×
d
θ
1
⋯
d
θ
6
d
α
1
⋯
d
α
6
d
d
1
⋯
d
d
6
d
a
1
⋯
d
a
6
d
l
T
.It is shown that (5) is in a linear form with perturbing modeling uncertainties. Since we consider sufficiently small sampling interval in the discrete-time implementation, the structural parameters of the AACMM are relatively small; that is, Δθi=dθi and dx=Δx. Then (5) can be rewritten as(6)ΔxΔyΔz=J×Δθ1⋯Δθ6Δα1⋯Δα6⋯Δd1⋯Δd6⋯Δa1⋯Δa6dlT.We denote(7)
J
=
∂
f
x
∂
θ
1
⋯
∂
f
x
∂
θ
6
∂
f
x
∂
α
1
⋯
∂
f
x
∂
α
6
∂
f
x
∂
d
1
⋯
∂
f
x
∂
d
6
∂
f
x
∂
a
1
⋯
∂
f
x
∂
a
6
∂
f
x
∂
l
∂
f
y
∂
θ
1
⋯
∂
f
y
∂
θ
6
∂
f
y
∂
α
1
⋯
∂
f
y
∂
α
6
∂
f
y
∂
d
1
⋯
∂
f
y
∂
d
6
∂
f
y
∂
a
1
⋯
∂
f
y
∂
a
6
∂
f
y
∂
l
∂
f
z
∂
θ
1
⋯
∂
f
z
∂
θ
6
∂
f
z
∂
α
1
⋯
∂
f
z
∂
α
6
∂
f
z
∂
d
1
⋯
∂
f
z
∂
d
6
∂
f
z
∂
a
1
⋯
∂
f
z
∂
a
6
∂
f
z
∂
las the Jacobian matrix, (8)ΔP=ΔxΔyΔzas the difference between the coordinates of the probe calculated by the kinematic model and the measured reference coordinates, and (9)ΔX=Δθ1⋯Δθ6Δα1⋯Δα6Δd1⋯Δd6⋯Δa1⋯Δa6dlTas the uncertainties perturbing the structure parameters. Then (6) can also be simplified as(10)ΔP=J·ΔX,where ΔX=X(k)-X(k-1) denotes the difference of the regressor within each iteration step [k-1,k].Equation (10) is in a strictly linearly parameterized form within each iteration step, and thus it can be used for the purpose of structure parameter identification to estimate ΔX.


## 3.2. Identification of Structural Parameters

From (6), we know that (10) can be used to solve the error of structural parameters ΔX. It should be noted that there are 25 unknown parameters in (10), for example, Δθi, Δαi, Δdi, Δai,i=1⋯6, and Δl. However, there are only 3 measurements (e.g., Δx,Δy,Δz). Therefore, we need to collect at least 9 groups of reference coordinates and poses (joint angles) in various operation regimes to creates 9×3=27 equations, which are then used to identify these 25 unknown parameters. To get more robust results, we need even more than 9 groups of reference coordinates and joint angles. Thus, for n≥9, we can write augmented (10) as(11)ΔP1ΔP2⋮ΔPn=J1J2⋮Jn·ΔX,n>9.It is clear that the uncertain structural parametersΔX can be calculated based on (11) when the regressor or matrix is nonsingular. This is the well-known persistent excitation condition and can be fulfilled in our case study by operating the robotic in extensive scenarios. To solve ΔX in (11) conveniently, (11) can be further rewritten in a more compact form(12)ΔX=J-T·J--1J-ΔP-,where ΔP-=ΔP1,ΔP2,…,ΔPnT and J-=J1,J2,…,JnT denote the augmented regressor and measurement matrices.


## 3.3. Analysis of Couplings of the Structural Parameters

In (12), if the Jacobian matrix J- is not a column full rank matrix, that is, there are linear correlation structural parameters, we cannot calculate its solution directly. Therefore, we should check if there are linearly correlated structural parameters in J-. Based on the matrix theory, the linearly related row can be found by applying singular value decomposition elementary row transformation of J-T·J- via the orthogonal matrix decomposition [24, 25]. Premultiplying J-T on both sides of (12), we can obtain (13)J¯TJ¯ΔX=J¯TΔP¯.We denoteH=[J¯TJ¯]; then by using the matrix singular value decomposition, we have(14)H=US000VT,where U and V are orthogonal matrices of 25×25, S=diag(σ1,σ2,…,σr)(r≤25) andr is the rank of the matrix H and the Jacobian matrix J¯. Therefore, the number of linearly related parameters is 25-r. From (13) and (14), we can obtain (15)VTΔX=S-1000U-1J¯TΔP¯.SinceH is a symmetric matrix, VT=U-1, and V are rotation matrices, then VT·ΔX is equivalent to ΔX. In this case, the linearly related structural parameters in ΔX can be found by the elementary row transformation of the last 4 lines, as shown in (16)ΔP¯=J¯1ΔX1,where J¯1 is a matrix of (3n)×r,ΔX1 is a vector of r×1, ΔP¯ is the matrix of (3n)×1, and r is the rank of J¯1. The calculation result shows that the rank of J¯1 is 23; that is, r=23; thus there are two linearly related structural parameters. Specifically, we can obtain linearly related parameters by carrying out the singular value decomposition and the elementary row transform. As shown in (17), we find that Δa6 is linearly related with Δθ6 and Δd6 is linearly related with Δα6. Thus in the identification calculation, Δθ6 and Δα6 are treated as the redundant parameters and they do not need to be identified. Also, Δa6 and Δd6 can be determined as the redundant parameters and are not identified in the identification calculation, which can also reduce the dimension of the regressor matrices and thus the required calculation costs.(17)Δa6=lΔθ6Δd6=lΔα6.


## 3.4. Implementation of Identification Calculation

According to the analysis presented in last section, we know that there are two structural parameters which are related to others and do not need to be identified in terms of (12). Instead, they can be calculated based on (17) provided other 23 parameters are identified. Therefore, the two corresponding columns of the Jacobian matrix J¯1 can be removed and the new identification equations can be obtained as shown in (18)ΔXr=J¯rT·J¯r-1J¯rΔP¯,where ΔXr=Xr(k)-Xr(k-1) denotes the change between each iteration interval [k-1,k], which is the vector of the structural parameters of the AACMM after the removal of a6 and d6, and J¯r is the Jacobian matrix after removal of the two columns of a6 and d6.The overall identification algorithm has been carried out to solve (18) in Matlab, and the flowchart shown in Figure 4 provides the practical implementation of the suggested algorithm.Figure 4
The flowchart of the identification procedure.In the literature, there are many different identification methods, for example, PSO and GA. However, these algorithms need much more computational costs, which may limit their applicability for AACMM. The time consumed by the proposed identification calculation is relatively shorter than the widely used iteration identification methods such as PSO and GA; that is, we can get the results just after one time iteration calculation.The step-by-step implementation procedure can be given as follows:(1)
initialize the structural parameters ofXr,k with the data in Table 1 and set iteration variable as k=0;(2)
calculateP¯k and J¯r,k with (2), (5), Xr,k, and the poses acquired from the AACMM;(3)
calculateΔP¯k=P¯t-P¯k with the reference coordinates;(4)
calculate the least squares solution ofΔXr,k=(J¯r,kT·J¯r,k)-1J¯r,kΔP¯k;(5)
setk=k+1 and correct the parameters as Xr,k=Xr,k-1+ΔXr,k by using the composition ΔXr,k.


## 4. Experiments

To show the effectiveness of the suggested modeling and identification algorithms, an experimental study was carried out based on an AACMM test rig, which is shown in Figure5. The nominal point repeatability and volumetric accuracy of the AACMM are 0.05 mm and 0.06 mm, respectively. However, the structural parameters and working principle of the AACMM are not clear for the users. This is the motivation for our current work, which is dedicated to estimate the parameters to achieve an identification model of the AACMM. We conducted our experiments on the normal room temperature (in the range of 17°C to 23°C) by a same operator. On the other hand, it should be noted that the main aim of this paper is to provide a parameter identification method for the AACMM and other similar link mechanisms. Thus, this paper does not consider the temperature compensation and calibration test according to ASME B.89.4.22, VDI/VDE 2617 Part 9 or ISO 10360 Part 12.Figure 5
The articulated arm coordinate measuring machine.In the data acquisition procedure of the AACMM, many poses are used to obtain enough information about the AACMM. The information is very important for the following identification. And acquiring poses is commonly used in the calibration of AACMM and robots [15–17]. In this paper, we not only obtain many poses but also get the information of the structural parameters except measuring them directly. We operate the AACMM robot in extensive scenarios, and the joint angles and reference coordinates of 200 poses were acquired to test the uncertainty of the AACMM. The differences between the coordinates calculated joint angles based on the kinematic model and the reference coordinates are the movement uncertainty of the AACMM, which is shown in Figure 6. The maximum movement uncertainty is 1.485 mm, 1.366 mm, and −0.978 mm in the directions of x, y, and z, respectively, and the average of the absolute movement uncertainties are 0.524 mm, 0.545 mm, and 0.421 mm for x, y, and z, respectively, as shown in Table 2. Although the values of the structural parameters were estimated after repeated tests and measurements, the uncertainties of the AACMM were still relatively large. According to the analysis in Section 3, it is known that such movement uncertainty may be caused by the uncertainties of the structural parameters.Table 2
The movement uncertainties of AACMM before compensation.
Directions Maximum (max) (mm) Standard deviation (SD) (mm) Average (ave) (mm) Absolute average (AA) (mm) x 1.485 0.639 −0.071 0.524 y 1.366 0.478 0.439 0.545 z −0.978 0.358 −0.308 0.421Figure 6
The movement uncertainties in the directions ofx, y, and z of AACMM without structural parameter identification and compensation.The significant uncertainties shown in Table2 are unacceptable in practical application as this may severely deteriorate the overall measurement accuracy. Thus, the identification of uncertain structural parameters should be further conducted, which are then used to compensate the modeling errors in the DH model and then to improve the performance.From the experimental studies, it is found that the movement uncertainty becomes relatively stable when the number of identification poses is greater than 30, and it is almost invariant when the number of identification poses is larger than 50. Therefore, the joint angles and reference coordinates of 50 poses were acquired to identify the structural parameters of the AACMM, and the identification algorithm presented in Section3.3 is used. The identification results are shown in Table 3. And the results can be reached just after one time iteration. Further experiments show that there is no further benefit to increase iteration times.Table 3
The identified structural parameters of AACMM.
Linkage numberi a i [mm] d i [mm] Δ θ i [°] α i [°] 1 −0.121 376.500 0.087 −89.986 2 61.942 0.016 0.066 −90.026 3 0.0324 750.658 0.001 −89.997 4 62.225 −0.795 −0.021 −89.931 5 −0.036 500.287 0.071 −89.956 6 0.057 15 0 90 l = 97.866 mm.Compared to Table1, one may find that the identified parameters in Table 3 are very close to the nominal values. This result indirectly validates the efficacy of the suggested identification algorithm. There are also some structural parameters (e.g., d1, d6, Δθ6, and α6) which are not changed for the reason that they are redundant and do not need to be identified. To further verify the identification results, another 200 groups of data were acquired to test the movement uncertainty of the AACMM. Figure 7 shows that the maximum movement uncertainties are −0.112 mm, 0.116 mm, and 0.117 mm in the directions of x, y, and z, respectively, and the averages of the absolute movement uncertainties are 0.036 mm, 0.038 mm, and 0.044 mm, which are summarized in Table 4. It is found from Tables 2 and 4 that the overall accuracy can be significantly improved by using the proposed identification and compensation method. The comparisons between the movement uncertainties after identification and the ones before identification are shown in Figure 8. As it is shown, all the movement uncertainty indexes are greatly improved after identification.Table 4
The movement uncertainty of AACMM after identification.
Directions Maximum (max) (mm) Standard deviation (SD) (mm) Average (ave) (mm) Absolute average (AA) (mm) x −0.112 0.044 −0.003 0.036 y 0.116 0.046 0.013 0.038 z 0.117 0.053 0.007 0.044Figure 7
The movement uncertainties in the directions ofx, y, and z of AACMM with structural parameter identification and compensation.Figure 8
The comparison of the movement uncertainties in the directions ofx, y, and z of AACMM before and after identification.
(a)
In the direction ofx (b)
In the direction ofy (c)
In the direction ofz


## 5. Conclusions

A constructive parameter identification approach for articulated arm coordinate measuring machines has been presented in this paper. A structural kinematic model is established based on the DH method and verified through experiments. Based on the difference between the coordinates of the probe calculated by the kinematic model and the reference coordinates, a mathematical parameter identification model is further developed to decrease the uncertainties in the DH model. The analysis of the Jacobian matrix in the identification model shows that there are two structural parameters which are related to others in our case studies. Therefore, these structural parameters are removed from the identification model. Then the structural parameter identification with the aim to get the least-square solution of the identification model can be carried out by using the obtained poses and the reference coordinates of the AACMM. To facilitate practical implementations, experimental studies have been conducted. These experimental results have revealed the effectiveness of the proposed structural parameter identification for AACMM.The proposed modeling and identification method can be extended to the calibration of serial robots, where the identification method is required due to their dynamic operation environments. This will be further studied in our future work.



---

*Source: 4063046-2016-10-20.xml*