# Parallel Continuum Delta: On the Performance Analysis of Flexible Quasi-Translational Robots
## 2 Materials and Methods
### Analysis of Flexible Manipulators with Cosserat Rods
#### 2.2.1 Forward Kinematics Problem  
The Forward Kinematics (FK) consists of determining the pose of the end-effector, i.e, \(\mathbf{p}_{\mathcal{P}}\) the position vector of reference point \(\mathcal{P}\), and the orientation given by the unit quaternion \(\tilde{\mathbf{e}}\), when input values for each rod \(\rho_{i}\) and a load are imposed. Guess values for unknown variables are required to start a boundary value problem on the vector of residuals in (19), being \(\mathbf{u}_{i}(0)\) and \(\mathbf{n}_{i}(0)\) (6 unknowns per rod) and the output pose, \(\mathbf{p}_{\mathcal{P}}\) and \(\tilde{\mathbf{e}}\), a total of 43 unknowns with the system of \(6\times 6+7=43\) equations in Equation (19).  
The Newton method used in the shooting method requires the evaluation of a Jacobian of the residue vector function with respect to the variables of the problem, i.e., the guess values, in order to update them accordingly. A special order for the guess values is considered, so that the guess values associated to a rod are together:  
\[\mathbf{h}_{guess}=\left\{\begin{aligned} &\mathbf{u}_{i}(0)\\ &\mathbf{n}_{i}\\ &\vdots\\ &\mathbf{p}_{\mathcal{P}}\\ &\tilde{\mathbf{e}}\end{aligned}\right\} \tag{20}\]  
The Jacobian is then obtained as  
\[\mathbf{J}(\mathbf{h}_{guess})=\frac{\partial\mathbf{g}_{\textit{res}}( \mathbf{h}_{guess})}{\partial\mathbf{h}_{guess}} \tag{21}\]  
Figure 3: Parallel continuum Keops-Delta \(3\underline{{}_{\mathcal{D}}}\)_FFSS_ with Cosserat Rods.  
The Jacobian related to the Forward Kinematic Problem is a sparse matrix \(\mathbf{J}\in\mathbb{R}_{43\times 43}\) of the form  
\[\mathbf{J}=\begin{bmatrix}\mathbf{A}_{1}&\mathbf{0}&\mathbf{0}&\mathbf{C}_{1}& \mathbf{D}_{1}\\ \mathbf{0}&\ddots&\mathbf{0}&\vdots&\vdots\\ \mathbf{0}&\mathbf{0}&\mathbf{A}_{6}&\mathbf{C}_{6}&\mathbf{D}_{6}\\ \mathbf{B}_{1}&\ldots&\mathbf{B}_{6}&\mathbf{C}&\mathbf{0}\\ \mathbf{0}&\mathbf{0}&\mathbf{0}&\mathbf{0}&\mathbf{D}\end{bmatrix} \tag{22}\]  
Each sub-matrix \(\mathbf{A}_{i}\in\mathbb{R}_{6\times 6}\) is calculated considering the residue associated to the geometric conditions for the rod \(i\) and the kinematic variables used as guess values for the rod \(i\). Similarly, matrix \(\mathbf{B}_{i}\in\mathbb{R}_{6\times 6}\) is defined considering the residue associated to the static conditions that affect the whole mechanism and the kinematic variables used as guess values for rod \(i\). Matrix \(\mathbf{C}_{i}\in\mathbb{R}_{6\times 3}\) is calculated considering the residue associated to the geometric conditions for the rod \(i\) and the coordinates of \(\mathcal{P}\) used as guess values. Matrix \(\mathbf{D}_{i}\in\mathbb{R}_{6\times 4}\) is calculated considering the residue associated to the geometric conditions for the rod \(i\) and the kinematic variables used as guess values for the orientation of the end-effector. Finally, matrix \(\mathbf{C}\in\mathbb{R}_{6\times 3}\) is defined considering the residue associated to the static conditions and the output position of \(\mathcal{P}\) of the end-effector; while matrix \(\mathbf{D}\in\mathbb{R}_{1\times 4}\) is defined considering the residue associated to the quaternion normalization condition and the orientation of the end-effector.  
After each iteration \(j\), guess values are updated with  
\[\mathbf{h}_{guess}^{j+1}=\mathbf{h}_{guess}^{j}-\mathbf{J}^{-1}\mathbf{g}_{ res}^{j} \tag{23}\]  
and the process starts again until \(\mathbf{g}_{res}\) is below a given tolerance.