## 3 Selecting Optimal Measurement Poses by a Genetic Algorithm
Identification of the Kinematic Parameters and Compliance Compensation Based on the Selected Optimal Measurement Poses  
The end-effector position of the robot was calculated by Equation 6:  
\[P_{real}=P_{kin}+\Delta P_{kin}+\Delta P_{c}+\Delta P_{extra} \tag{6}\]  
where \(P_{kin}\) is the robot end-effector position that was obtained by the kinematic parameter and \(\Delta P_{kin}\), \(\Delta P_{c}\), and \(\Delta P_{extra}\) are the position errors affected by the geometric errors, the joint compliance errors, and the unmodeled errors, respectively. The errors of the robot end-effector mostly came from geometric errors and non-geometric errors. The geometric errors were well-calibrated by the conventional kinematic calibration. However, the non-geometric errors could not be neglected (in this work, the geometric errors and joint deflection errors were assumed to be dominant \(\Delta P_{extra}\) ). Therefore, Equation (6) could be rewritten:  
\[\Delta P=\Delta P_{kin}+\Delta P_{c}=P_{real}-P_{kin} \tag{7}\]  
Previous research [19] assumed that the joint could be modeled by a torsional spring with a constant compliance parameter. Therefore, the relationship of the position error caused by the joint compliance errors and the effective torques, \(\tau\), was linearized:  
\[\Delta P_{c}=J_{c}\Delta\theta_{c}=J_{c}\tau C \tag{8}\]  
where \(J_{c}\), \(\Delta\theta_{c}\), and \(C\) are the Jacobian matrix that relates the effective torque to the position errors affected by joint deflection [36], the joint deflection, and the vector of the joint compliance parameters, respectively. To achieve a better positional accuracy, the RBF was used to construct compliance position errors caused by joint compliance errors based on the effective torque, \(\tau\). Using the selected optimal poses with a maximum observability index, \(\gamma\), from the previous section, the kinematic parameters of the robot could be identified using a kinematic calibration. The geometric errors, \(\Delta P_{kin}\), could be expressed as:  
\[\Delta P_{kin}=J_{kin}\Delta\phi \tag{9}\]  
where \(J_{kin}\) and \(\Delta\phi\) are the kinematic Jacobian matrix and kinematic parameter error vector, respectively. The kinematic parameter error vector in Equation (9) could be identified using the iterative least squares method:  
\[\Delta\phi=[(J^{T}J)^{-1}J^{T}]\Delta P \tag{10}\]  
The residual positional error was calculated by:  
\[\Delta P=P_{m}-P_{kin} \tag{11}\]  
where \(P_{m}\) is the measured position vector. After the kinematic calibration process, \(P_{kin}\) converged to the \(P_{kin}^{c}\) value. Therefore, the residual positional errors of the end-effector could be obtained by:  
\[\Delta P_{res}=P_{m}-P_{kin}^{c} \tag{12}\]  
In this work, the residual positional errors were assumed to occur from the compliance errors (\(\Delta P_{res}=\Delta P_{mc}\)). The joint compliance errors were also assumed to be the primary source of the compliance errors. Therefore, the positional errors due to joint deflections were considered to be equal to the residual positional errors, \(\Delta P_{res}\). To increase the precision of the robot, the non-linear relationship of the effective torque and the compliance errors were constructed by an RBF. The RBF had six inputs and three outputs in this application. The inputs of the RBF were the effective torque of the joints; the outputs implied three elements of the position error vector. The total effective torques in the robot \(j\)th joint could be calculated by Equation (13):  
\[O=\frac{(\sigma_{1}\ldots\sigma_{n})^{\frac{1}{n}}}{\sqrt{m}} \tag{5}\]0  
where \(N=6\) is the number of DOF of the robot and \(F_{N+1}\) is the gravity force due to the payload. Here, the gravity force accompanying the \(j\)th link was calculated by:\[F_{j}= \begin{bmatrix}0&0&-M_{j}g\end{bmatrix}  \tag{14}\]  
where \(M_{j}\) and \(g\) are the mass of the link (\(j\)th) and the gravity coefficient, respectively.