## 2 Materials and Methods
### Propulsion System's Kinematics Modeling
#### 2.2.1 Platform's Kinematics  
Figure 2 describes the free body diagram of the parallel mechanism incorporated inside the propulsion system. The origin of the inertial system \(\{O_{A}\}\) is positioned at the center of the circular fixed platform of radius \(R_{A}\), while the moving coordinate system \(\{O_{M}\}\) finds its origin at the center of the upper platform of radius \(R_{B}\). The moving platform is connected to the limbs by universal joints \(B_{i}\), which are separated from each other at a certain angle \(\Phi_{Bi}\). Likewise, the other ends of the limbs \(A_{i}\) are connected to the fixed platform by universal joints with an angular separation of \(\Phi_{Ai}\). To avoid singularities when switching from swimming fashions, the mechanical design uniformly distributes attachment points \(A_{i}\), while \(B_{i}\) joints are distributed following an uneven configuration [10]. Moreover, three linear actuators vary their length at certain distances \(d_{i}\) to create motion on the mechanism. Hence, by varying the limbs lengths, the upper platform is oriented with respect to the center of the base platform. The joint positions \(\left( \begin{smallmatrix}A\\ B_{i}\end{smallmatrix} P\right)\) in the moving platform are always measured with respect to the base frame \(\{O_{A}\}\). The \(X,Y,Z\) coordinate system presents the \(Z\) axis pointing upwards and the Y axis pointing to the first universal joint \(A_{1}\). In the same way, the \(x_{p},y_{p},z_{p}\) coordinate system presents the \(z_{p}\) axis normal to the moving platform and the \(y_{p}\) axis pointing to the universal joint \(B_{1}\). Since the relative positions \(\left( \begin{smallmatrix}M\\ B_{i}\end{smallmatrix} P\right)\) of each universal joint with respect to the moving frame are constant for all time, and the position of the origin of the moving frame \(\{O_{M}\}\) with respect to the fixed frame \(\{O_{A}\}\) is always constant as well, it will only be necessary to know the orientation of the moving frame \(\{O_{M}\}\) to compute the position of any universal joint \(B_{i}\) in space. Hence, the location of each universal joint using a homogeneous transformation matrix will be defined by:  
\[\left[ \begin{array}{c}\frac{A}{B_{i}}P\\ 1\end{array} \right]=\left[ \begin{array}{cc}\begin{smallmatrix}A\\ M\\ 0_{(1x3)}\end{smallmatrix}&1\end{array} \right]\left[\begin{array}{c} \begin{smallmatrix} M\\ B_{i}^{\prime}\\ 1\end{smallmatrix} \right]\right]\text{, where }i=1,23. \tag{1}\]  
From Equation (1), \(\overset{A}{M}R\) is the rotation matrix from \(\{M\}\) with respect to the fixed frame \(\{A\}\). In the present analysis, the platform's orientation is represented by the pitch-roll-yaw Euler angles:  
Figure 2: Schematic of the 3 DOF parallel mechanism employed in the propulsion system. \[ \begin{split} A_{M}^{A}R=R_{Z}(\gamma)R_{Y}(\beta)R_{X}(\alpha)=\left[ \begin{array}{ccc}c\beta c\gamma&sas\beta c\gamma-cas\gamma&cas\beta c\gamma+ sas\gamma\\ c\beta s\gamma&sas\beta s\gamma+cac\gamma&cas\beta s\gamma-sac\gamma\\ -s\beta&sac\beta&cac\beta\end{array}\right],\end{split}  \tag{2}\]  
where \(s\alpha\) is short notation for \(\sin\left(\alpha\right)\), \(c\beta\) is short notation for \(\cos\left(\beta\right)\), and so on. Additionally, the position vector \(\hat{A}_{{}_{M}}P\) denotes the constant distance between the origins of both coordinate systems \(\left(P_{X},\ P_{Y},\ P_{Z}\right)^{T}\). Finally, the relative positions \({}^{M}_{B_{i}}P\) of each universal joint respect to the moving frame \(\{M\}\) are defined as:  
\[\begin{split}{}^{M}_{B_{1}}P=\left[ \begin{array}{c}R_{B}c(90) \\ R_{B}s(90)\\ 0\end{array} \right],\quad\begin{split}{}^{M}_{B_{2}}P=\left[ \begin{array}{c}R_{B}c(198)\\ R_{B}s(198)\\ 0\end{array} \right],\quad \begin{split}{}^{M}_{B_{3}}P=\left[ \begin{array}{c}R_{B}c(342)\\ R_{B}s(342)\\ 0\end{array}\right].\end{split}  \tag{3}\]  
Equations (1) through (3) will be used to determine each universal joint position in space with respect to the fixed coordinate system \(\{A\}\).