## 2 Industrial Robot Kinematic Analysis
### Kinematic Model  
The prerequisite for the calibration work of industrial robots is to establish an appropriate kinematic model to describe the relationship between the end pose of the industrial robot and its structural parameters, such as link lengths and joint angles. In 1955, [PERSON] and [PERSON] proposed a method based on matrix transformations to describe the motion of link mechanisms, as shown in Figure 2. Here, \(a_{i}\) represents the link length, \(d_{i}\) represents the link offset, \(\theta_{i}\) represents the joint angle, and \(\alpha_{i}\) represents the joint twist.  
However, when the axes of two adjacent joints are parallel or nearly parallel, a small deviation, in the end, the pose of the industrial robot will cause the structural parameters related to the parallel joints to change abruptly (i.e., the theoretical DH model has singularities). Therefore, this paper selected the MDH model proposed in [8] to establish the error model of industrial robots. When the axes of adjacent joints are parallel, an additional rotation angle \(\beta_{i}\) around the y-axis is added to the theoretical DH model. Then, the transformation matrix between adjacent joint coordinate frames is defined as follows:  
\[\begin{array}{rl}i-1T&=Rot(z,\theta_{i})\cdot tran(z,d_{i})\cdot tran(x,a_{i} )\cdot Rot(x,\alpha_{i})\cdot Rot(y,\beta_{i})\\ &=\begin{bmatrix}c\theta_{i}c\beta_{i}-sa_{i}s_{i}\theta_{i}s_{i}&-ca_{i}s_{i} \theta_{i}&c\theta_{i}s_{i}\beta_{i}+sa_{i}s_{i}\theta_{i}c\beta_{i}&a_{i}c \theta_{i}\\ s\theta_{i}c\beta_{i}+sa_{i}c\theta_{i}s_{i}&c\alpha_{i}c\theta_{i}&s\theta_{i} s\beta_{i}-sa_{i}c\theta_{i}c\beta_{i}&a_{i}s_{i}\theta_{i}\\ -ca_{i}s_{i}\beta_{i}&sa_{i}&ca_{i}c\theta_{i}&d_{i}\\ 0&0&0&1\end{bmatrix}\end{array} \tag{1}\]  
where \(s\) denotes the sine function, and \(c\) denotes the cosine function.  
Based on Equation (1), for an n-DOF industrial robot, its forward kinematic equation can be expressed as follows:  
\[\begin{array}{cccc}\begin{array}{cccc}\begin{array}{cccc}\begin{array}{ c}n_{x}&o_{x}&a_{x}&p_{x}\\ n_{y}&o_{y}&a_{y}&p_{y}\\ n_{z}&o_{z}&a_{z}&p_{z}\\ 0&0&0&1\end{array}\end{array}\end{array} \tag{2}\]  
During the installation process, it is typically required that the TCF and the FCF only have a translational relationship. However, due to limitations in manual operations, there may still be certain rotational relationships between the TCF and the FCF. Similarly, there  
Figure 1: The definitions of coordinate frames.  
Figure 2: DH parameters (where, red arrow is z-axis, green arrow is y-axis and blue arrow is x-axis).  
are translation and rotation relationships between the BCF and the MCF. The transformation matrix that includes both rotation and translation is generally represented as follows:  
\[T(\alpha,\beta,\gamma,x,y,z)=\begin{bmatrix}c\alpha c\beta&cas\beta s\gamma-sac \gamma&cas\beta c\gamma+sas\gamma&x\\ sac\beta&sas\beta s\gamma+cac\gamma&sas\beta c\gamma-cas\gamma&y\\ -s\beta&c\beta s\gamma&c\beta c\gamma&z\\ 0&0&0&1\end{bmatrix} \tag{3}\]  
where \([x,y,z]\) is the translation transformation, \(\alpha\) is the yaw angle around the z-axis, \(\beta\) is the pitch angle around the y-axis, and \(\gamma\) is the roll angle around the x-axis.  
If \({}_{m}^{0}T\) is set to \(T(\alpha,\beta,\gamma,x,y,z)\) and \({}_{n}^{t}T\) is set to \(T(\alpha^{\prime},\beta^{\prime},\gamma^{\prime},x^{\prime},y^{\prime},z^{ \prime})\), then the pose of the TCF relative to MCF is as follows:  
\[{}_{m}^{t}T=_{m}^{0}T._{0}^{n}T._{n}^{t}T \tag{4}\]