## 2 Kinematic Modeling
### Kinematics Model  
The rotation transformation matrix from \(\text{O}_{\text{D}}\text{-}xyz\) to \(\text{O}_{\text{B}}\text{-}xyz\) is \(\mathbf{R}\), which is denoted by the following expression:  
\[\mathbf{R}= \begin{bmatrix}cos\beta cos\gamma&sinsin\beta cos\gamma-cosasin \gamma&cosasin\beta cos\gamma+sinsin\gamma\\ cos\beta sin\gamma&sinsin\beta sin\gamma+cosacos\gamma&cosasin\beta sin\gamma- sinacos\gamma\\ -sin\beta&sinacos\beta&cosacos\beta\end{bmatrix}  \tag{1}\]  
The positions of the six Hooke's joints connected to the mobile platform of the parallel robot are denoted by \(\boldsymbol{a}_{i}\) (\(\boldsymbol{a}_{i}=[a_{ix}\,\,a_{iy}\,\,a_{z}]\), \(i=1,\,2,\,\ldots,\,6\)) in the dynamic coordinate frame \(\text{O}_{\text{D}}\text{-}xyz\). The positions of the six Hooke's joints connected to the fix base are denoted by \(\boldsymbol{b}_{i}\) (\(b_{i}=[b_{ix}\,\,b_{iy}\,\,b_{iz}]\), \(i=1,\,2,\,\ldots,\,6\)) in the static coordinate frame \(\text{O}_{\text{B}}\text{-}xyz\). Thus, the hydraulic cylinder length \(l_{i}\) of the parallel robot can be expressed as follows:  
\[l_{i}=\left\|\mathbf{R}\boldsymbol{a}_{i}^{\text{T}}+\mathbf{t}^{\text{T}}- \boldsymbol{b}_{i}^{\text{T}}\right\|\quad i=1,\,2,\,\ldots,\,6 \tag{2}\]  
The inverse kinematics of the parallel robot can be denoted by the following expression:  
\[\mathbf{I}=f_{1}(\boldsymbol{p},\boldsymbol{a},\boldsymbol{b}) \tag{3}\]  
where \(\boldsymbol{p}=[\boldsymbol{t}\,\boldsymbol{\omega}]^{\text{T}}\), \(\boldsymbol{a}=[\boldsymbol{a}_{1}\,\,\boldsymbol{a}_{2}\,\,\boldsymbol{a}_{3} \,\,\boldsymbol{a}_{4}\,\,\boldsymbol{a}_{5}\,\,\boldsymbol{a}_{6}]^{\text{T}}\), \(\mathbf{b}=[\boldsymbol{b}_{1}\,\,\boldsymbol{b}_{2}\,\,\boldsymbol{b}_{3}\, \,\boldsymbol{b}_{4}\,\,\boldsymbol{b}_{5}\,\,\boldsymbol{b}_{6}]^{\text{T}}\), \(\mathbf{I}=[\boldsymbol{l}_{1}\,\,\boldsymbol{l}_{2}\,\,\boldsymbol{l}_{3}\, \,\boldsymbol{l}_{4}\,\,\boldsymbol{l}_{5}\,\,\boldsymbol{l}_{6}]^{\text{T}}\). The hydraulic cylinder length vector \(\mathbf{I}\) can be calculated by Equation (3) under the given pose of the parallel robot. It is obvious that the solution of the inverse kinematics of the  
Figure 1: Coordinate frame of the parallel robot. parallel robot is analytical. The calculated stroke length vector \(I_{c}\) of the hydraulic cylinder is expressed as follows:  
\[I_{c}=I-I_{0} \tag{4}\]  
where \(I_{0}\) (\(I_{0}=[I_{01}\ l_{02}\ l_{03}\ l_{04}\ l_{05}\ l_{06}]^{\text{T}}\)) is the initial length vector of the hydraulic cylinder at the initial pose of the parallel robot \(p_{0}\) (\(p_{0}=[0\ 0\ 0\ 0\ 0]^{\text{T}}\)). The forward kinematics of the parallel robot can be denoted by the following expression:  
\[\mathbf{p}=f_{F}(I,\mathbf{a},\mathbf{b}) \tag{5}\]  
The forward kinematics is composed of six nonlinear equations. The pose of the mobile platform can be calculated by substituting the given hydraulic cylinder length into Equation (5). Although inverse kinematics can offer an analytical solution, forward kinematics is a complex and highly nonlinear process. The global Newton-Raphson algorithm [54] is used to calculate the pose of the mobile platform. This algorithm can obtain a set of high-precision numerical convergent solutions with any initial guesses in the workspace of the parallel robot. Equation (5) can be expanded into the standard form for the global Newton-Raphson algorithm and expressed as follows:  
\[ \begin{cases}f_{1}=\left\|Ra_{1}^{T}+t^{T}-b_{1}^{T}\right\|-l_{01}-l_{m1}=0 \\ f_{2}=\left\|Ra_{2}^{T}+t^{T}-b_{2}^{T}\right\|-l_{02}-l_{m2}=0\\ f_{3}=\left\|Ra_{3}^{T}+t^{T}-b_{3}^{T}\right\|-l_{03}-l_{m3}=0\\ f_{4}=\left\|Ra_{4}^{T}+t^{T}-b_{4}^{T}\right\|-l_{04}-l_{m4}=0\\ f_{5}=\left\|Ra_{5}^{T}+t^{T}-b_{5}^{T}\right\|-l_{05}-l_{m5}=0\\ f_{6}=\left\|Ra_{6}^{T}+t^{T}-b_{6}^{T}\right\|-l_{06}-l_{m6}=0\end{cases}  \tag{6}\]  
where \(I_{\text{m}}\) (\(I_{\text{m}}=[I_{\text{m1}}\ l_{\text{m2}}\ l_{\text{m3}}\ l_{\text{m4}}\ l_{\text{m5}}\ l_{\text{m6}}]^{\text{T}}\)) is the measured stroke length vector of the hydraulic cylinder.