## 2 Materials & Methods
### Float System Description
#### 2.2.1 Robotic Unit
The exoskeleton is easily adaptable to individuals with different anthropometric characteristics ranging from the 5 th percentile female and the 95 th percentile male [16]. Such anthropometric features can be reached thanks to the continuous adjustability in length of the main connection parts (hereinafter the \"link\") between the motor modules (Figure 3). Among the exoskeleton rigid links, L\({}_{23}\) and L\({}_{45}\) were designed to include adjustable passive prismatic joints to regulate the overall size of the exoskeleton. This was carried out to accommodate the different anthropometries. Specifically, L\({}_{23}\) contains two different adjustable passive prismatic joints called L\({}_{23v}\) and L\({}_{23h}\) ranging, respectively, \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Joint** & **Actuator** & **Transmission** & **Output Position Sensor** \\ \hline \multirow{3}{*}{J1} & EC-max 22 & \multicolumn{2}{c}{First stage:} & \multicolumn{1}{c}{Bourns, 1-turn precision} \\  & 25 W & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \\  & & 2.3:1 & & \\ \hline \multirow{3}{*}{J2} & EC 90 Flat & Harmonic Drive & \multirow{3}{*}{Renishaw AksIM-2—MB080} \\  & 90 W & CSD-25-160 & & \\ \hline \multirow{3}{*}{J3} & EC 45 Flat & Harmonic Drive & \multirow{3}{*}{Renishaw AksIM-2—MB053} \\  & 80 W & CSD-17-100 & & \\ \hline \multirow{3}{*}{J4} & EC 45 Flat & Harmonic Drive & \multirow{3}{*}{Renishaw AksIM-2—MB053} \\  & 80 W & CSD-17-100 & & \\ \hline \multirow{3}{*}{J5} & \multicolumn{2}{c}{First stage:} & \multicolumn{1}{c}{} & \\ \multirow{3}{*}{EC-max 22} & integrated gearhead 67:1 & \multirow{3}{*}{Hybritron®precision potentiometer, servo mount, mod. 3549H-1 AE-103B} \\  & 25 W & Second stage: & \\ \cline{1-1}  & & gear wheels 4.8:1 & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: List of motors, transmissions and position sensors for the output of each joint. between 174 mm \(<L_{23v}<\) 224 mm and 208 mm \(<L_{23h}<\) 263 mm. L\({}_{45}\) instead ranges between 250 mm \(<L_{45}<\) 300 mm. The passive polyarticulated arm is constituted by 6 degrees of freedom (P1-P6), as observable in Figure 4. Points 1, 2, 3, 5 and 6 are simple rotational joints (hinges), while joint 4 (P4) is a four-bar linkage mechanism. The decision to adopt a four-bar linkage for this joint allows the introduction of a tunable parallel spring used to compensate gravitational load of the polyarticulated arm and exoskeleton (according to design principle 3). The exoskeleton and the polyarticulated arm are connected to a mobile base with four wheels through a telescopic column (R1) which allows one to adjust the height of the exoskeleton by acting on the handle on its top (Figure 4) to accommodate the different anthropometries. Connected to the base, an emergency disconnect switch allows one to turn off all the motors in case of any issue. Depending on the rehabilitation needs, it is possible to keep the polyarticulated arm locked in a specific position. For instance, this allows the patient to perform the passive mobilization therapy in a sitting or standing position. Conversely, if the arm is unlocked, the patient can freely explore a much larger workspace which is crucial for occupational therapy and ADL (17) (according to design principles 1 and 2). The overall resulting robot has been modelled using the modified Denavit-Hartenberg (mDH) convention. This choice comes from the fact that the mDH defines the axis of rotation \(z_{i}\) with respect to the _i-th_ joint, thus guaranteeing a better comprehension of the kinematic model to non-expert users. The adopted mDH convention is based on the following homogeneous transformation matrix:  
\[T_{i}^{i-1}=\left[ \begin{array}{cccc}\cos(\theta_{i})&-\sin(\theta_{i})&0&a_ {i-1}\\ \sin(\theta_{i})\cos(\alpha_{i-1})&\cos(\theta_{i})\cos(\alpha_{i-1})&-\sin( \alpha_{i-1})&-d_{i}\sin(\alpha_{i-1})\\ \sin(\theta_{i})\sin(\alpha_{i-1})&\cos(\theta_{i})\sin(\alpha_{i-1})&\cos( \alpha_{i-1})&d_{i}\cos(\alpha_{i-1})\\ 0&0&0&1\end{array}