## 2 Materials & Methods
### Software and Control  
Float is controlled by an interactive GUI, which allows the therapist to supervise the session and perform the rehabilitation protocol. The GUI is loaded on a touch-screen panel PC that communicates with the main control unit through Ethernet. At the central high level, the control unit receives all commands and coordinates the activity of the motor boards in order to implement all the control modalities. It is responsible for handling the communication with the GUI and the boards, implementing computation to define motor trajectories and monitoring the system performance to ensure safety. The main control unit communicates with the five boards through CAN protocol. The Float system can perform in three modalities: Kinematic, Transparency Mode and Repeat Trajectory. At local level, the 5 motor boards implement position control (Figure 5), used in Kinematic mode and Repeat Trajectory mode, where the boards receive the next desired position and provide the right amount of voltage to each motor. In Transparency mode, the local control is responsible for compensating the friction torques by calculating the motor torque as a function of dynamic variables as described below. \begin{table}
\begin{tabular}{c c} \hline \hline
**Joint** & **ROM [deg]** \\ \hline P1 & 100\({}^{\circ}\) \\ \hline P2 & 170\({}^{\circ}\) \\ \hline P3 & 180\({}^{\circ}\) \\ \hline P4 & 120\({}^{\circ}\) \\ \hline P5 & 180\({}^{\circ}\) \\ \hline P6 & 15\({}^{\circ}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Range of motion of the passive polyarticulated joints. In Kinematic mode, the patient is passive, and the exoskeleton moves the upper limb to operator-selected positions by performing an elementary movement in a fixed amount of time. Such modality helps the patient in doing repetitive, simple tasks, often crucial in rehabilitation. Maximum speed allowed for safety reasons is 45 deg/s. The user can choose between 4 exercises: shoulder flexion/extension (sF/E), shoulder abduction/adduction (sA/A), shoulder horizontal abduction/adduction (sHA/HA) and shoulder internal external rotation (sIER) (Figure 6). Figure 5: Schematics of the software architecture including the GUI, the main control unit and the local low-level control. Figure 6: Kinematic mode on a healthy subject. (**A**) Represents a shoulder flexion. (**B**) Represents a shoulder abduction. (**C**) Represents an extra rotation. (**D**) Represents an intra rotation. The exercises can be repeated multiple times and can be saved to be performed in sequences during Repeat Trajectory mode. The Range of Motion (ROM) of the exoskeleton with respect to these exercises is shown in Table 6.  
The first three movement types performed in Kinematic mode include a synergy between the humerus and the scapula defined as the scapulohumeral rhythm. The scapulohumeral rhythm is the kinematic interaction between the humerus and the scapula. In the early phase of abduction (0\({}^{\circ}\)-30\({}^{\circ}\)), motion occurs primarily at the glenohumeral (GH) joint. For instance, an abduction of 180\({}^{\circ}\) would be accomplished through approximately 120\({}^{\circ}\) of the glenohumeral joint motion and 60\({}^{\circ}\) of the scapulthoracic (ST) joint motion, thus with a ratio of 2:1. To reproduce movements which respect this interaction, J1 and J2 were set to reproduce ST motion and J3, J4 and J5 to reproduce GH joint motion. During sA/A, the center of the GH joint translates in the human coronal plane (J4), and this movement results from a harmonized motion of depression/elevation caused by the ST joint (J2). During sHA/HA, the center of GH joint moves in the transverse plane (J3), producing shoulder protraction/retraction by the ST joint (J1). The interactions described are simulated by the exoskeleton by introducing coupling functions between J1/J3 and J2/J4.