## 2 Materials and Methods
### Propulsion System's Kinematics Modeling
#### 2.2.2 Limbs' Inverse Kinematics  
Each linear actuator \(d_{i}\) should reach spatial positions from each computed universal joint \(B_{i}\) Based on the schematic in Figure 2, each limb length can be computed according to the distance existing between universal joints \(\overline{A_{i}B_{i}}\). By taking the magnitude of such distance, it is possible to know each limb's length while the spatial coordinates of \(B_{i}\) change over time. Hence,  
\[d_{i}=\big{|}\big{|}\overline{A_{i}B_{i}}\big{|}\big{|}=\big{|}\big{|} \overline{O_{A}A_{i}}+\hat{A}_{{}_{M}}P+\hat{A}_{{}_{M}}R\cdot\hat{A}_{{}_{B_{ i}}}P\big{|}\big{|}. \tag{4}\]  
From Equation (4), it is then deduced that desired limbs' lengths will only depend on the desired orientation from the platform and the value of its roll (\(\beta\)) and yaw (\(\gamma\)) motion. Moreover, the kinematics equations of the passive joints could be estimated to facilitate the computation of the reduced inverse dynamics (developed in the next section). Figure 3 shows a closer look at how the rotations are produced inside the designed universal joints. For the further analysis in this article, the joint attaching each linear actuator with its corresponding universal joint is being considered as rigid. Hence, only two rotations (\(\theta_{1,i}\), \(\theta_{2,i}\)) are considered for the inverse kinematic solutions per universal joint. The solution for each revolute motion will depend directly on the spatial position \(\hat{A}_{{}_{B_{i}}}P\) computed to obtain the position of each \(B_{i}\), where \(\hat{B}_{{}_{B_{i}}}P=\big{(}B_{ix},\ B_{iy},\ B_{iz}\big{)}^{T}\). \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Parameter** & **Symbol** & **Value** & **Unit** \\ \hline Distance between \(\{O_{A}\}\) and \(\{O_{M}\}\). & \(\hat{A}_{{}_{M}}P\) & \(\left(0,\ 0,\ 0.192\right)^{T}\) & m \\ Distance from \(\{O_{A}\}\) to joints \(A_{i}\).1  & m \\ Distance from \(\{O_{M}\}\) to joints \(B_{i}\). & \(R_{A}\) & \(0.05\) & m \\ Angular distance between joints \(A_{i}\). & \(\Phi_{A}i\) & \(\left(90,\ 210,\ 330\right)\) & deg \\ Angular distance between joints \(B_{i}\). & \(\Phi_{\text{B}i}\) & \(\left(90,\ 198\ 342\right)\) & deg \\ Roll-pitch-yaw Euler angles. & \(\beta\) & \(\left(-30\ \text{to}\ 30\right)\) & deg \\  & \(\gamma\) & \(\left(0\ \text{or}\ 90\right)\) & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Parameters and disposition of elements in parallel mechanism. A system of six equations will be employed to estimate each passive joint's position over time, and they are obtained as follows:  
For passive joints attaching limb 1, \((\theta_{1,1}\), \(\theta_{2,1})\) inverse kinematics is defined as:  
\[\theta_{1,1}=atan2\big{(}B_{1x},R_{A}-B_{1y}\big{)}\quad(rad); \tag{5}\]  
\[\theta_{2,1}=\frac{\pi}{2}-atan2\bigg{(}B_{1z},\sqrt{\big{(}R_{A}-B_{1y}\big{)} ^{2}+B_{1x}^{\,2}}\bigg{)}\quad(rad). \tag{6}\]  
where \(atan2(\bullet Y,\bullet X)\) is the two-argument arctangent and \(2\pi\) variant of \(\tan^{-1}\left(\frac{\bullet Y}{\bullet X}\right)\). \(X\) and \(Y\) subscripts denote the respective components of each ball joint \(B_{i}\) measured from base frame \(\{O_{A}\}\).