2.1. Float System Co-Design Approach
The current version of Float derives from a user-centered design process (
Figure 1) that extends the steps presented in [
15] in order to provide the developers with different implementation options that directly derive from a co-design approach, involving clinicians, technicians and patients along three phases. The goal established by the clinicians was to provide an ecologically valid device to simulate real-life tasks and work-related activities within clinical centers. Indeed, the device was created to be used in the clinic, under the supervision of a therapist and not at home or at work.
The initial discussions with the clinicians focused on requirements that could have been satisfied by a list of macroscopically different systems, not necessarily leading to an exoskeleton or an end-effector. A series of interviews during the “exploratory phase” enabled an initial understanding of the user needs, considering as users both the clinicians and the patients according to the rehabilitative goals. The main result of this phase is constituted by 3 user requirements that became design principles of Float:
Wide freedom of movement of the patient during rehabilitation;
Possibility of rehabilitation while sitting, standing and bent over;
Weight of the exoskeleton not perceived by the patient.
The principles 1 and 2 (which depends on 1 too) were posed by the clinicians for easing the future exploitation of Float in occupational therapy with ecologically valid settings and tasks. On the other hand, principle 3 was generally requested by the patients too (always with the goal of making the technology supportive yet, as much as possible, “transparent” in the user experience). Accordingly, the designers and the developers generated—“generative phase”—a set of mockups of the device. These solutions were evaluated by technicians and clinicians in order to match the three principles listed above alongside general requirements of effectiveness, comfort and safety in order to select the basic configuration of the device. This phase was especially useful for clarifying the opportunity of creating a hybrid configuration of exoskeleton (the wearable component) and end-effector (the polyarticulated arm) that offer major advantages of both robotic systems in rehabilitation procedures. Finally, the first prototype of Float was implemented and the “formative phase”—based on the CEI EN 62366:2015 standards for usability engineering (Medical devices—Part 1: Application of usability engineering to medical devices)—started as an iterative and participatory design and evaluation process conducted to progressively refine the device through user tests.
Such a process involved both hardware and software components of Float. A series of usability tests involved 2 physiatrists and 5 physiotherapists (at the INAIL Motor Rehabilitation Center—Crm—of Volterra, Italy). Several tests were conducted, including the usability of the graphic user interface (GUI), the control, mechanical features and interfaces with the patients. Usability methods were exploited for understanding how the users interact with the devices: the participants were invited to describe the steps of their reasoning while creating a user ID and a sequence of exercises (thinking aloud technique).
Patients’ safety during Float utilization was our top priority. Therefore, we applied a risk management process, appropriate technical standards and regulations during the generative (considering the mockups) and formative phases (assessing the prototypes).
In particular, we identified, estimated, evaluated and mitigated all risks connected with the device’s use according to CEI EN 14971:2019 (Medical devices—Application of risk management to medical devices). During mechanical and electrical development of the device, we were compliant with the requirements contained in IEC EN 60601-1:2006/A11:2011/A1:2013 (Medical electrical equipment: Part 1: general requirements for safety and essential performance) and IEC EN 60601-1-2:2015 (Medical electrical equipment—Part 1–2: General requirements for safety—Collateral standard: Electromagnetic compatibility), gaining certifications for both the mentioned technical norms. Software development followed the requirements of CEI EN 62304:2006 (Medical device software—Software life-cycle processes).
2.2. Float System Description
The Float system includes two functional units: a robotic unit and a control unit (
Figure 2).
2.2.1. Robotic Unit
The robotic unit is in direct contact with the patient. It includes three elements: the actuated exoskeleton, a passive and polyarticulated arm and a mobile support with a telescopic column.
The exoskeleton is the active part of the system and allows all the movements of the shoulder complex of the patient (according to design principle 1 about the arm). Two interfaces connect the patient to the exoskeleton: an orthopaedic bust and an arm brace. The orthopaedic bust (Spinalplus, RO + TEN s.r.l., Milano, Italy) holds the patient to the base of the exoskeleton in a semi-rigid and repeatable manner. It also allows a shoulder strap to be removed if needed, which may be the case for patients with pain-sensitive shoulders. The second interface is an arm brace (Elbo 2.0, RO + TEN s.r.l., Milano, Italy) which connects the patient arm and forearm with the exoskeleton end-effector. This interface allows the transmission of movement from the exoskeleton to the patient in an ergonomic way (
Figure 3).
The Float exoskeleton is made of five rotational joints, with each degree of freedom representing a movement of the shoulder complex (
Figure 3). The first two joints (J1 and J2) provide the two main movements of the shoulder girdle. The first joint allows the scapula protraction/retraction. The second joint allows the scapula elevation/depression. The last three joints represent the glenohumeral movements: horizontal abduction/adduction, flexion/extension, internal and external rotation. They are assembled in a Euler spherical wrist configuration, also known as “ZYZ”. This configuration, with respect to the Roll-Pitch-Yaw spherical configuration adopted in different rehabilitation exoskeletons, e.g., Harmony [
9] and ANYexo [
5], guarantees a better understanding of the contribution of each revolute joint rotation to the glenohumeral motion. Regarding J2, J3 and J4, the axis of rotation of the joint matches with the axis of rotation of the motor. They include a brushless DC motor equipped with integrated incremental encoder and a triplet of Hall sensors, and a Harmonic Drive gear unit. The output angular position is detected by a 20-bit magnetic encoder. Regarding J1 and J5, the axis of rotation of the joint does not match with that of the motor. For the first joint, a leverage system transmits the rotation from the motor to the output, while for the last joint the mechanism was made through two gear wheels. For J1 and J5, the joint position is sensed by means of a precision potentiometer (
Table 1).
The five degrees of freedom of the exoskeleton are sufficient to move the upper arm of the patient in the Cartesian space, guaranteeing the possibility to perform most of the activities of daily living (ADLs).
Each motor is driven by means of a dedicated driver module, which manages the signals from the available sensors (fast shaft encoder, Hall sensors, joint angle sensor) and provides the needed power signals to the motor. Motor control is realized as a standard six-step drive, in which a pulse-width-modulated (PWM) voltage signal is sequentially applied to two of the three phase terminals of the motor stator, in order to generate a suitably rotating magnetic field. The duty cycle of the driving voltage signal can be controlled in order to modulate the driving voltage mean value. In the implemented low-level control scheme, said duty cycle value is computed in real-time by the algorithm for position control and friction compensation, which will be discussed in the following.
Motor drive modules communicate with each other and the main control unit over a CAN bus line.
The exoskeleton is easily adaptable to individuals with different anthropometric characteristics ranging from the 5th percentile female and the 95th 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, between
and
. L
45 instead ranges between
.
The passive polyarticulated arm is constituted by 6 degrees of freedom (P1–P6), as observable in
Figure 4. Joints 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
zi 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:
The resulting mDH parameters are presented in
Table 2.
The angles
represent the degrees of freedom of the exoskeleton and are characterized by the range of motion (ROM) showed in
Table 3. These are bounded by mechanical stops in order to avoid collisions and ensure the user safety.
The same convention has been used to model the passive polyarticulated arm. The resulting mDH parameters are summarized in
Table 4. It is important to notice that an artificial degree of freedom angle THETA4′ has been defined to consider the presence of the four-bar linkage. The definition of such angle simplifies the modelling of the robot, in fact it avoids the definition of all the joints of the four-bar linkage. However, it is required to set THETA4′ = THETA4 for each configuration to guarantee a correct operation of the robotic model.
Similarly, to the exoskeleton, the angles THETAi represent the degrees of freedom of the polyarticulated arm and are characterized by the range of motion (ROM) shown in
Table 5. These are bounded by mechanical stops in order to avoid collisions and ensure the user safety.
2.2.2. Control Unit
The control unit allows the physical therapist to set all the parameters and design a new exercise. The therapist can easily start and stop the movement execution while monitoring all the active joints.
An articulated monitor stand allows a practical orientation of a 21′ medical panel (PC OR-PC21, ACL, Markkleeberg, Germany) with a range of motion of 180°. The medical keyboard (K2-MED, ProKeys, Zschorlau, Germany) and mouse (M5-WT, ProKeys, Zschorlau, Germany) are on a retractable shelf.
An electrical cabinet placed below the screen contains the main control unit and the electrical system. On the right side of the box, an emergency disconnect switch allows one to turn off all the motors if needed. The entire control unit is on four wheels for ease of transport.
The control board is a custom-made multifunctional device, its main duties are: data processing, power supply management and sequencing, fault detection and management, supply current monitoring and the robot data routing. The board contains a System-on-Chip module (Trenz TE0720-03-1CF), based on Xilinx Zynq-7000 SoC, which integrates a dual-core ARM Cortex-A9 CPU and an Artix-7 FPGA. The CPU section is in charge for running the operating system, as well as all the processing tasks. The FPGA section implements all the hardware peripherals for interfacing with both onboard and external functional modules. The System-on-Chip module interacts with several mixed-signal and power stages which implement all the functionalities of the control unit.
The electrical system is in charge for providing all the power rails to the system, and for guaranteeing the needed level of electrical safety. Furthermore, it is based on the following main elements: a medical isolation transformer (Reomed 600, Reo, Solingen, Germany), a medical modular power supply (CoolX600, Advanced Energy, Denver, CO, USA) and a custom electrical panel.
2.3. 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.
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).
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°–30°), motion occurs primarily at the glenohumeral (GH) joint. For instance, an abduction of 180° would be accomplished through approximately 120° of the glenohumeral joint motion and 60° of the scapula-thoracic (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. The movements of the first two joints are functions of the desired horizontal abduction and abduction, respectively, thus depending on J3 and J4:
where
represents the angular position of joint Ji, for
, while
defines the coupling level between J1 and J3 and its value is 9, whereas
defines the relation between J2 and J4 and its value is 4. The corresponding functions can be defined as shown below:
The coupling between J2 and J4 is applied exclusively after the elevation in the coronal plane raises over the threshold value of 30°, thus making J4 work alone in the early phases of abduction to better emulate the physiological movement.
In Transparency mode the patient is active and can freely move the limb (and thus the exoskeleton) without feeling resistance thanks to a friction compensation at the joints. This function enables the patient to perform exercises by interacting with daily life objects (
Figure 7).
During transparency, it is possible to activate the additional features Assistance and Support.
Assistance helps the patient in performing upwards vertical motions by applying an extra push which depends on J4 current angle. Support provides a viscous resistance in downwards vertical motions, in order to support the weight of the arm and avoid rapid descending movements. These modalities intervene on joint 4 and their intensity can be selected between three values: low, medium and high. Empirical values for these levels were chosen over the average weight of a human arm.
Transparency mode is also activated to record an arbitrary trajectory under the guidance of the therapist. In this operational mode, the therapist freely moves the patient’s limb following the desired trajectory, which is recorded by the device in terms of motor positions and can be subsequently replicated (Repeat Trajectory mode).
Transparency is here intended as compensation of friction torques at each single joint, by means of a suitably applied motor torque as a function of the dynamic variables.
In Float device, transparency is achieved by means of a model-based feed-forward compensation of friction at each of the involved joints, which is described below. Despite being sub-optimal, this technique proved very well suited for the application. Inertial effects are intrinsically minimized in the application, as the movements performed during therapy are designed to be slow and continuous in order to minimize accelerations and avoid patient discomfort.
The equation of motion referred to the output (slow) shaft of the single joint gearmotor can be written as follows:
where:
is the external torque acting on the joint output shaft, due to contact interaction with the rest of the system via downstream connecting link, and to inertial forces due to accelerated motion of the joint base.
is the total friction torque in motor and gearbox, output shaft referred.
is the electromagnetic torque exerted on motor rotor by motor stator, multiplied by gearbox gear ratio.
is the total moment of inertia of motor rotor plus gearbox, output shaft referred.
is the angular velocity of the output shaft.
The motor torque term can be expressed (using Kirchhoff’s law and disregarding inductive effects as negligible in the bandwidth of interest) as a linear function of motor excitation voltage and angular velocity , by expressing motor torque in terms of motor current, and motor back-emf in terms of angular velocity.
Regarding modeling of friction terms, the dynamic case () is first considered. The static case and associated static friction treatment will be then addressed.
For non-null velocity, friction torque as a function of angular velocity is modeled as a sum of a Coulomb zeroth-order term, plus a viscous linear term, plus a second-degree additional term.
Within the previously stated assumptions, the gearmotor equation of motion can be thus rewritten as follows:
where friction torque is represented by the second and third terms. The experimental values of the ratios
are obtained by best fit during a joint characterization phase, in which a suitable set of values for excitation voltage
are applied to the motor, under zero external torque, and resulting asymptotic output shaft angular velocity values are recorded.
Using the estimated model parameters, transparency is then obtained by dynamically linking the motor voltage to the measured velocity, in order to compensate the friction torque terms.
Motor voltage is generated by the inverter stage, by means of standard pwm modulation of the inverter supply voltage, with carrier wave frequency (20 kHz) outside audible range, and duty cycle parameter
dynamically computed as follows:
where
is the measured value of the inverter stage supply voltage; negative duty cycle values are associated with motor voltage polarity reversal.
Here, an overall strictly positive gain parameter is introduced to perform a fine tuning of the compensation degree in order to address the effects of variation of the external parameters affecting the behavior of the joint (as temperature and applied load). However, we empirically discovered that the aforementioned variations in the environment conditions produced a minimal variation in the joint response and did not substantially affect Transparency mode performance. At null velocity, in static friction regime, the above compensation scheme cannot be used. Instead, a low-frequency sine wave voltage is applied to the motor, such that the resulting peak motor torque is slightly less than the experimentally determined static friction maximum value. This allows for a quasi-compensation of static torque at least around the peak of the sine wave, so that the full static friction is only perceived by the patient (when exerting force on the robot) within less than one cycle period, before dynamic conditions are established, thus minimizing motion startup effort.
In the Repeat Trajectory mode, the patient is passive as in the Kinematic mode, but the trajectories can be more complex. It reproduces previously saved trajectories recorded either in Kinematic and Transparency modes and allows their combination in sequences, interposing or not temporal pauses of varying duration between one and the other (
Figure 8). This is crucial to increase the variability and thus the engagement of the patient during the rehabilitation session. It also enables the therapist to add non-elementary movements to the rehabilitation protocol.
The exercises executed in the Kinematic and Transparency modes are sampled at 20 Hz and saved as a collection of temporally equidistant via points.
The recording may carry imperfections due to the human/robot interaction, resulting in jerky movements during the trajectory repetition that might be uncomfortable for the patient. For this reason, the recorded set of samples is smoothed through a moving-average algorithm and the trajectory is determined by minimum jerk interpolator. This approach minimizes jerkiness due to manipulation imperfections, improving patient comfort.
Float is controlled by means of a graphical user interface (GUI) connected to the device. The GUI enables the therapist to create new personalized profiles for each patient and to navigate through the different functionalities (
Figure 9).
The Patient Profile contains few essential personal data (name, surname, birth date) and technical information that enable the exoskeleton to perform in the limit of the user’s range of motion, setting the maximum and minimum angles (deg) for the sF/E, sA/A, sHA/HA, sIER.