1 Introduction

Bedridden patients are those people who, by a disease like multiple trauma, column fracture, body paralysis, or by a medical decision, are kept in bed for a long time. Often they suffer motor problems and diseases due to this immobility period [43]. Additionally, some other problems, e.g., muscular weakness/atrophy, muscular shortness, pressure sores, respiratory problems, blood circulation difficulties, and bone demineralization, which are quickly developed due to immobility condition, result in a painful and long recuperation process. Such problems may be avoided using rehabilitation therapy during the bedridden period [7]. Therefore, the main purpose of this therapy is to prevent future complications or to treat those that are already present.

Maximal range of motion (ROM) is one of the usual therapeutic techniques to evaluate human motor skills during the rehabilitation process [25]. Besides, ROM activities are used to keep the joint mobility, minimizing the flexibility lost and contracture formation. Furthermore, Passive ROM (PROM) is an unrestricted movement of a body segment within the ROM that is produced by an external force . This force may be produced by gravity, a machine, another individual, or another part of its own body and must drive it along a planned path and it prevents muscle weakness and retraction [6]. Finally, active-assisted ROM (A-AROM) is a therapy in which the user performs the task primarily with its strength or with the minimal machine or human assistance. Some times the motion is initially assisted and then the user performs the task alone. Passive, active, and assisted ROM are often used to strengthen and stretch muscles in rehabilitation therapy. These tasks are often heavy for therapists due to the necessary strength to conduct the movement. Thus, rehabilitation may become a difficult process for them when several patients are attended in a row or even if the patients are overweight. Besides, more systems are required to efficiently supply physiotherapy sessions to a great number of patients in hospitals due to the lack of trained personnel. Therapeutic robotic systems have shown potential in decreasing long wait times for treatments too [54]. Regarding these rehabilitation difficulties, the ROM activities may be conducted by an assistant, or by a robotic system assistant. Robot rehabilitation importance lies in its cost reduction and user, i.e., the patient and therapist pair, autonomy [16].

Rehabilitation robots emerge, since the 90s, as a variation of robotic exoskeletons and end-effector based robots. An exoskeleton is a mechanical structure mainly focused on medical and military applications [3]. Robots based on an exoskeleton are widely used in the rehabilitation process to improve several motor functions in patients with some disorder [12]. These robots allow performing anatomical movements, obtaining data from each joint, which are attached to the body. Some exoskeletons are used on lower [5, 37, 59] or on upper limb rehabilitation [45], and finally some are full-body exoskeleton systems [27, 53]. By another side, an end-effector (the most distal robot link) based robot is a type of robotic device that provides support and force just to the most distal patient member [15, 33], both in upper [8, 11, 21, 22, 28, 30, 32, 35, 36, 38, 41, 56, 57] and lower limb [1, 2, 9, 58].

Some treatments integrate robots and physiotherapy activating coordinated shoulder and elbow movements [10], augmenting movement to the upper limb [47], generating trajectories for the ankle in a normal gait [24], dealing with chronic hemiplegia disturbance [55], performing active/passive rehabilitation with flexible-joint robots [20, 34, 53], using games to improve patient motivation [40] and Internet of Things wearable applications for elderly healthcare [18, 52]. Some works use new technologies to compare the benefits of robotic rehabilitation and its importance [9, 31].

Robots in rehabilitation assistance use basic principles of Robotics and Biomechanics which are knowledge areas related to motion, as well as principles of communication, essentially the Internet [25, 44]. According to Biomechanics, muscle stretching and ROM may be conducted, inter alia, by three different training modes, i.e., isometric, isotonic, and isokinetic, based on concepts such as position, speed, acceleration, force, and torque [19, 49]. Additionally, the elastic resistance band may be also considered as a strength training [49]. Currently, the Internet of Things, namely IoT, is used in healthcare as a medical resource to provide reliable, efficient, and smart service to elderly patients with some chronic illness [46]. The IoT is redesigning modern healthcare increasing benefits for patients using promising technological, economical, and social prospects [23]. The main goal of embedded systems with IoT is to look for new opportunities to develop prototypes in novel ways for human-computer interaction and to improve people’s daily lives [26]. These iterations allow supervising people with some illness that transforms the embedded system into devices for daily use. The IoT aids to improve the rehabilitation strategies configuring and interconnecting all systems and medical resources according to each patient requirements providing immediate information interaction [18]. Also, the IoT offers support services and assistance for handicapped improving their quality of life through different application scenarios that illustrate the user interaction with the IoT components [14].

As seen in this state-of-the-art, most robotic systems for rehabilitation lack the ability to adapt to both lower and upper limbs, to different therapy modes, and to IoT communication, i.e., lack the flexibility criterion, as it is shown in Table 1. Therefore, a different system is necessary for each different body member and training mode. Additionally, most of them possesses no detailed design methodology or even a proper list of requirements.

Table 1 Robotic rehabilitation system features: body member limb, training mode, design, and IoT

Therefore, regarding this lack of flexibility, a flexible rehabilitation system, named SARPA, that allows several rehabilitation options using a single system, is proposed. In this work, the product design development, construction, and preliminary applications of SARPA is presented. SARPA is designed beginning with a user requirement list through a project methodology. The SARPA main objective, and distinguished factor, is to offer flexibility to the user. It is important to notice that in this work the user consists of a pair: patient and therapist. It aims to be a portable mechatronic system that easily adapts to different situations, e.g., different body members, training modes, and physical spaces. This system must possess the advantageous characteristics that a mechatronic system presents over the conventional therapy, e.g., strength, precision, and velocity. Additionally, SARPA uses the IoT to communicate the mechanical device and the user by a smartphone interface.

This paper is organized as follows. In Sect. 2, the SARPA product design, including its requirements and development for mechanical, control, and interface systems, is presented. Next, in Sect. 3, some device applications are performed involving passive, isometric, isotonic, and isokinetic training. Lastly, conclusions are shown in Sect. 4.

2 SARPA product design

Product design is the process, from idealization to product assembly, which is as important as the final product. In a systematic approach, the product designer conceptualizes and evaluates ideas, transforming them into tangible inventions and products. To get these products, designers combine science, art, and technology to propose new products that may be useful to people. This process may be divided into product planning, conceptual and detailed design.

A product is defined as all those commodities that are generated or consumed by the consumer to satisfy current needs. On the other hand, the product development process (PDP) and new product development (NPD) are a set of steps that allow the companies to take an investment opportunity to conceive, project, produce and market a new product or consumer good. These steps help the designers and engineers in decision-making, improving the process for important decisions about the project. In this work, it is used as a structure process for model reference to improve the project structure, optimizing tasks during project execution. The Quality Function Deployment (QFD) is a tool for systematic design in new product development or the improvement of one already made. This method considers the consumer requirements as an important part of the process. The QFD allows translating the consumer requirements into engineering targets guaranteeing that all properties during all stages in the production have been fulfilled to have the same quality [4, 29].

This section presents the design and construction process of an automatic flexible system for active and passive rehabilitation named SARPA, according to its initials in Portuguese. In this project, the three main stages are applied: requirements, conceptual and detailed design. Also, some tools are used to aid decisions in each stage.

2.1 Product planning

The procedure in this stage consists of bringing up the user requirements (UR) and then, transform them into project requirements (PR). These requirements have to be measurable, tested, and translated into technical specifications, also called targets. To improve the UR and PR understanding and organization the QFD matrix is used.

In this step, the main UR is identified and prioritized, i.e., relative weight is given to them by therapists who are one of the user pair, (see priority in Table 2). To determine its importance a Mudge diagram is implemented [48], this diagram allows comparing each UR in pairs. The relative importance for each UR is calculated depending on the score obtained from this comparison between a pair of requirements. The weight Mudge diagram is applied in the House of Quality to obtain the relative importance between requirements.

Table 2 User requirements for SARPA

A comparison among requirements is shown through a relative importance analysis done by therapists. Therefore, using this analysis, it is observed that therapy through active and passive training is the main objective to achieve. Also, it is necessary to design and build a mechatronic system able to perform therapy with no risk to the user—therapist and patient pair. Based on these criteria, two UR’s are priorities in the system implementation: low failure probability and safe driving. In this step, first decisions are taken about the product parameters to achieve the expected results. PR selection is based on engineer experience and technical bibliography. Based on this, 21 PR are chosen which are sorted by categories and placed in the QFD matrix top to facilitate the view and understanding. Table 3 shows the requirements that are used to fill the QFD matrix.

Table 3 Project Requirements of SARPA

2.2 Conceptual design

In this step, targets of the SARPA project are defined and are shown in the bottom of the QFD matrix. These targets are also known as measure parameters, technical characteristics, or attributes for each PR. The targets established in the project are: to support capacity in the horizontal direction (400 N) and in the vertical direction (150 N), length (0.8 m), velocity (0–0.2 m/s), end-effector manual orientation, load-cell capacity (± 500 N), Human Machine Interface HMI compatible with smartphones and tablets, re-configurable structure, a DC power source (24 V) and WiFi communication. Additional parameters are workspace (2 m × 3 m × 1.5 m), stainless steel structure, able to access hospital beds and no accident probability. This stage presents the formulation and selection of solution principles to achieve the targets which are specified in the previous stage. Now, the established priorities, found through relative importance analysis in each PR are considered.

The funcional structure of the system is shown in Fig. 1, where the main function is the actuator motion according to the control block rules. In this process, there are three inputs and a single output in the system. The first input is the energy source that provides power to the mechanical, electrical, electronic, and control system. The second input is the initial system setup that charges, boots the firmware, and initializes the system. HMI works as a system input and output because it can update the controller parameters, send commands with specific tasks to be performed, and receive data from specific peripherals to analysis and visualization. Signals and information are shown and captured in HMI. The HMI presents the process details as training mode, force, and position measurements.

Fig. 1
figure 1

SARPA functional structure

Solution principles for the SARPA project are formulated after the operating scheme. In this project, all ideas in the brainstorming process and comparisons are generated by the workgroup in the design stage. It is important to notice that the workgroup consists of electronic, mechatronics, and mechanical engineers, and therapists. Regarding that the proposed system aims at therapist assistance, who know the patient needs, in this work, the user (the patient and therapist pair) requirements are brought out for discussion just by therapists alone. This process aims at obtaining the best results in organizing these ideas. Thus, the morphological matrix is filled with alternatives obtained from the SARPA project where different possible choices for each requirement are sorted. The first column in the morphological matrix is used to sort the auxiliary functions. These functions are called first-order functions in Table 4. Then, first-order functions are divided into second-order functions to improve the choice of parameters. The selection of each component is shown through bold style words .

Table 4 Morphological matrix

2.3 Detailed design

In this section, some details about mechanical, control, and HMI interface systems are presented.

2.3.1 Mechanical system

The mechanical system, i.e., the device structure, consists of joints and links in a particular configuration. Therefore, the SARPA device, actuator characteristics, and CAD model are defined.

Essentially, the mechanical system consists of a standard portable patient lift equipment and a linear actuator, see the draft in Fig. 2. Mechanical design system details are shown using numbers in circles ((1), ..., (18)), in Fig. 3. This system uses a linear actuator (9) moved by a stepper motor coupled with a ball screw and an incremental encoder. This actuator moves a translational (or linear) platform (15), in which a load-cell (17) is placed to measure traction or compression forces performed by the user.

The user body member, e.g., a hand in Fig. 3, is attached to the device through a fixing element, e.g a handler (18). This element may vary according to the member. This fixing element (18) is attached to the load cell (17) by a universal joint. Lifting equipment is used to move and support the actuator (1), ..., (10).

The lift equipment is modified to posses four degrees of freedom: one translational DOF (7) actuated by a motor and three rotational DOF’s (6), (12) and (12a) that are manually modified. Besides, attached to the lift basis, swivel caster wheels with brake (4) are placed in extendable supports. Additionally, the lift has two boxes (14) for electric and electronic devices. One of them with 24 V supply system that uses a battery aiming at better system autonomy. The another box with the power board, wireless communication, and control system. The final built prototype is shown in Fig. 4.

Fig. 2
figure 2

Portable patient lift equipment schema and 1 DOF linear actuator CAD

Fig. 3
figure 3

SARPA mechanical system: three 1 DOF rotational joints (6), (12) and (12a), one 1 DOF linear joint (7) and one 1 DOF linear actuator (9)

Fig. 4
figure 4

SARPA prototype: lift

Therefore, the system is portable and may be easily transported without limitations generated by communication or power wires in a hospital room containing a web of tubes, lines, etc. It is important to notice that this system use direct current only, which avoid any noise into an Intensive Care Unit (ICU) room which posses several medical devices, e.g mechanical ventilators, cardiac monitors, and equipment for the constant monitoring of bodily functions. Besides, this system easily adapts to hospital rooms and beds, because it smoothly brings close or away from the bed due to its small wheels that enter deeply under the hospital bed. This adaptation allows a quick system removal if it is required to bring the patient out of room in cases of a medical emergency.

It should be noted that the lift allows linear actuator to reach a wide range of displacements, i.e positions and orientations, over and around the bed, see Fig. 5. SARPA motion autonomy and wide range of actuator displacement are crucial SARPA features because they allow a vast exercise spectrum for diverse body members.

Fig. 5
figure 5

SARPA in hospital: wide range of placements around bed

2.3.2 Control system

The electric-electronic scheme of SARPA (see Fig. 6) allows visualizing components used in the system. Regarding the power source and electric devices, SARPA uses 2 batteries of 72W each (see Fig. 6a), both are set in series to generate the 24V necessary to power the system (1). Also, it is used a CC-CC (Buck) converter to transform 24V into 5V to supply the boards (2). Another linear converter (LM) is used to transform 5V into 3.3V due to some components in the systems (Hx711, Encoder) require 3.3V (3). Resistances and capacitors are used as filters and electrical current limiter. A load-cell measures the force exerted externally by the user. The end-stop limit switches are connected in (9) to control the home and final position limitations in SARPA.

Fig. 6
figure 6

Electric and electronic systems

Concerning the electronic devices, SARPA uses an STM32 (5) Nucleo board (see Fig. 7) based on STM micro-controllers, this board support Arduino Uno connectivity allowing to develop several electronics projects and to use a wide choice of specialized shields.

Fig. 7
figure 7

Electronic devices in SARPA

The stepper motor is supplied with an IHM03A1 power bridge (6), this component allows performing several functions that make a better choice for this project, some specifications are a maximal input supply voltage 50V, 10A RMS, and the possibility to control more than one motor using only a single STM32 Nucleo board. ESP-32 (4) is a board specialized in communication that allows sending and receiving data through WI-FI, Bluetooth, Bluetooth low energy (BLE), and CAM networks. Also, it is possible to use a real-time clock system (RTOS) and parallel cores processing on this device allowing a better data analysis and efficiency during any process. Further, it is used an analog-digital converter (ADC) of 24 bits to transform the analog signal of load-cell into data able to be reading by the micro-controller (8). The encoder (7) use 2 modulate square pulses to identify the motor position and speed, its measure is performed through of a 32-bit timer up/down counter which has 800 pulses per revolution granting a good resolution and accuracy.

2.3.3 Human machine interface system

SARPA control and Human Machine Interface (HMI) are designed to work based on the IoT architecture. The communication between boards and peripherals is made through a Serial Peripheral Interface (SPI). In this case, it is used an ESP32 interface, which is a low-cost, low-power system on a chip micro-controllers with integrated Wi-Fi and dual-mode BluetoothESP-32 [50], to communicate with the smartphone via WIFI. (see Fig. 8).

Fig. 8
figure 8

Communication diagram among devices in SARPA

SARPA HMI is based and built on the Blynk app [17]. This application allows communication among the micro-controller, the sensor, and the actuator using wireless connections, i.e., the IoT concepts, see its control schema in Fig. 9.

Fig. 9
figure 9

Overall scheme for training mode selection

This smartphone application allows the user to monitor, control, and set parameters in the system. The used HMI possess tabs containing training modes, to modify user parameters like position, force, speed, etc. In this work, four training modes (one passive and three active) are used, as detailed below.


Passive mode algorithm Stepper motors may keep a constant speed which allows them to present a trapezoidal speed movement. In passive mode, the interface allows setting initial and final positions, respectively, position 1 and 2, speed, torque percentage, and the number of cycles or motion repetitions. Then, when Play button is pressed all parameters are sent into the control board, this sets or modifies the initial parameters into new ones and the training starts.

Figure 10 presents the algorithm diagram for passive training mode and its HMI interface tab in the smartphone. The task Home allows the user to send the actuator to the initial position before the next training. Furthermore, it is possible to set a maximal torque to safeguard the user health during the training. Sometimes users present muscle contractions that are detected by the force sensor and in such case the system stops immediately. Besides, maximal torque may be presented when the user brakes the actuator through a force opposite to the movement direction.

Fig. 10
figure 10

Human machine interface tab (a) and algorithm diagram (b) for passive mode


Isometric mode algorithm Isometric training produces a muscle contraction by supporting weight or force without performing any movement. This training increases strength, stability, lower blood pressure and it is often recommended for users who suffer from joint pain or who are recovering from an injury [51]. Isometric exercises are suitable for maintaining your strength and stability. For instance, a plank pose aids the user to hold a position for an extended time, but it does not enhance the user motion capacity required for push-ups for example. Isometric exercise is often recommended for people who are recovering from an injury, or who suffer from joint pain like arthritis. Evidence is growing that isometric exercise may help lower blood pressure as well [39].

In this training when the Play button is pressed the brake in the actuator is enabled and the current actuator position is set as reference position. The actuator remains blocked in a position and, simultaneously, the load-cell sends an analog value that is converted to Newtons and is shown on the HMI allowing to visualize the force performed by the user. However, if the load-cell detects a positive signal of motion, due to the external user force, the actuator moves toward the initial reference position and blocks itself. Also, it is implemented an alarm to indicate that the user force is higher/lower than a reference force band. See HMI and algorithm diagram for isometric mode in Fig. 11

Fig. 11
figure 11

Human machine interface tab (a) and algorithm diagram (b) for isometric mode


Isotonic mode algorithm In this case, the user must move the actuator and feels the same counterforce at any moment and position. Driver IHM03A1 allows the stepper motor to keep constant torque all-time when it is required. The shunt resistor allows us to sense the current, which is proportional to the torque, in each winding. These current values are compared with internal reference generated using the current peak values, and if necessary an internal current control algorithm is implemented. The torque regulation can be adjusted for 4 different motor shaft behaviors: hold, run, acceleration, and deceleration profiles.

Figure 12 shows the HMI and an algorithm description for better understanding of isotonic training. When the user presses Play button, the interface sends to the controller the data established in weight. The controller converts the weight into force and then into a torque value that is generated by the motor. Also, it is implemented a speed control that does not accelerate the actuator if the user force is constant. Whereas if the user applies more force than established in initial parameters then the actuator is accelerated.

In this training mode, safe limiters depends on the applied force value and the achieved final position detected through end stop sensors. The force is limited because if the user applies more force than motor limit, it may lose steps.

Fig. 12
figure 12

Human machine interface tab (a) and algorithm diagram (b) for isotonic mode


Isokinetic mode algorithm To apply isokinetic training, the motor must perform the movement with a trapezoidal speed profile. SARPA driver allows sending a speed parameter for constant movement and then to stay in standby mode. Figure 13 shows the isokinetic training algorithm diagram, its input parameters are the isokinetic speed (cruising speed) and the force percentage that the user has to execute to initialize the movement. When the user force is greater than the initial force parameter, the motor is accelerated until achieving the cruising speed. The isokinetic mode has two routines, forward and backward; when a positive force is applied, the stepper motor is activated in the forward direction. On the other hand, a negative force activates the motor in the backward direction.

In this training, there are position and force limiters: position limiter is used to safeguard the system and the user, end-stop sensors are located at the initial and final actuator stroke. Force limiter is implemented when the user force is less than 50\(\%\) of the force set in HMI.

Fig. 13
figure 13

Human machine interface tab (a) and algorithm diagram (b) for isokinetic mode

3 SARPA product applications

A preliminary or pilot application is executed by the SARPA system for different training modes in different configurations. Each configuration is defined by a certain actuator position and orientation, respect to the user, by the body member, e.g., arm, leg, etc., and the joint motion, e.g., extension, adduction etc. In the preliminary application presented in this work, SARPA is tested in hospital using only therapists as patients to obtain an initial professional direct feedback before using it in patients, that is out of this paper scope.

In Fig. 14, it is presented a therapist who is receiving some training in different configurations, using different body members, for instance, legs and arms. These exercises move the hip and knee (flexion/extension), shoulder (abduction/adduction) and elbow (flexion/extension) with the forearm supination among others. According to the consulted therapists, passive training presents a good application in SARPA allowing them to manipulate heavy body parts during therapy sections. Figure 14 also shows the system working in different configurations demonstrating its flexibility and adaptability.

Fig. 14
figure 14

Different training configuration in SARPA: a and c elbow flexion/extension, b hip and knee flexion/extension, and d shoulder adduction

Apart from SARPA configuration, i.e., direction and position, and the exercised body joint, e.g., elbow, knee or shoulder, it is necessary to test different training modes. In this section, some results obtained applying previous training modes are presented.

3.1 Passive training

This model input signal is a trapezoidal position profile as it is shown, using a computational simulation, in Fig. 15, which may be applied to the system as a linear displacement with a constant speed stage, namely cruise speed. If the user performs any involuntary contraction (previous set up force detected by the force sensor as a disturbance) that may represent some danger for himself, the training is stopped by the control system. The minimum and maximum value of this disturbance is set up in \(\pm 25 [N]\). The same behavior is observed using actual SARPA system in Fig. 16a, where the training is performed (a) without and (b) with disturbance in time 5 seconds when the actuator stops and speed becomes zero.

Fig. 15
figure 15

Passive movement

Fig. 16
figure 16

Passive movement: a without disturbance, b with disturbance

3.2 Isometric training

In isometric training, the system produces quasi-static training despite the user force. Figure 17 shows the SARPA system behavior when it is required isometric training for the user. When the user performs a positive or negative force the actuator is moved 10 mm toward the force direction and remains in this position if it is not detected an opposite force. If the force direction is changed, then the actuator moves 20 mm toward the new force direction. Therefore, the actuator remains in a 20 mm range zone, i.e., static, during the training, as it is observed in Fig. 17.

Fig. 17
figure 17

Isometric movement comparing the force performed by a user and the position achieved by the linear actuator

3.3 Isotonic training

Isotonic training produces contraction or extension in a muscle group. These muscle behaviors are performed during a pull or push exercise using a constant weight. Therefore, isotonic contraction may be divided into concentric (muscle shortening) and eccentric (muscle extending) [51]. This training may help strengthen and build muscles, so that you may move easily, and improve blood sugar regulation and bone density.

Isotonic training simulates a lift weight motion, i.e., during this motion the force remains the same despite the position and speed. Figure 18 shows an application performed in SARPA for isotonic training, which is configured in the HMI for a minimum force (in this case 50N). If the user force is higher than the previously configured force, the controller receives this information and triggers the motor to generate a constant speed that is proportional to the difference between minimum and user force. On the other hand, if the user force is lower than the minimum set up force the actuator accelerates proportionally until the home position is achieved which is detected by mechanical limit sensors.

Fig. 18
figure 18

Isotonic training during a session with variable user force. Minimum force = 50N

The position graph in Fig. 18 shows the actuator tracking the user force. Also, a slow response due to mechanical limitations and some discontinuities caused by the load-cell sensor repeatability are observed. When a user executes a force higher than the set up minimum force (50N) in the HMI, the controller generates a pulse in the positive direction. Thus, every time a force change is detected the actuator accelerates or decelerates according to the difference between maximum and user force. On the other hand, when the force is lowest than the set up maximum force then the actuator drives to the home position.

Additionally, in Fig. 18, it is shown the system behavior when the user applies no force, time from 5 to 7 seconds, and, therefore, the controller drives the actuator to the home position. Then, during this returning movement, time 8 seconds, the user executes an opposing force and the actuator decelerates, stops and begins its movement toward the positive direction, i.e., toward the new force direction.

3.4 Isokinetic training

Isokinetic training is defined by a constant speed movement, i.e., despite strength variation, the speed remains constant [51]. This training is suitable to gain muscle resistance and strengthen. According to Ponce Saldías (2009) [42], one isokinetic movement is performed when the force F is applied during a movement (linear or angular) with a constant velocity. This force must be between \(F_{\min }\) and \(F_{\max }\) (maximal value supported by the actuator) to trigger the movement in the actuator. However, if the force is lowest than \(F_{\min }\) then the movement will not happen. Isokinetic training is the most used method for athlete rehabilitation because they may reach their limits without joint jeopardize. This training may also be used to assess the muscle function of users with specific injuries.

In isokinetic training, the movement starts with a minimum force module where the speed should remain constant, in a setup value, despite position and user force, since the force module is higher than the setup value. Figure 19 shows the user force behavior, the amperes sent by the driver to the motor, and the speed achieved during two isokinetic training tests. The first test, time from 0 to 32 seconds, and the second test, time from 32 to 50 seconds, use setup speed in 10 and 30 mm/sec, respectively. In that figure, it is possible to observe the electric current signal following the force that is positive and negative for traction and compression, respectively. It is important to notice that the motor current values are represented through absolute values, according to the performed force. When the user performs a movement using a force higher than the setup force, the motor accelerates to the setup speed. On the other hand, when it is applied a force under the setup speed, then the actuator stays off.

Fig. 19
figure 19

Isokinetic training: speed, force and current profiles

4 Conclusions

In this work, a flexible rehabilitation system, named SARPA, is introduced as an alternative to available rigid systems. Current systems are rigid concerning several aspects, such as: exercised body member, training mode, and portability. SARPA is designed from the beginning based on a list of user requirements by a project methodology; a procedure that is rarely observed in the literature. Therefore, the obtained product guarantees that accomplishes the user desires. SARPA system—consisting of mechanical device, control hardware and software, HMI design, and programming—is built and some preliminary clinical evaluations are executed. During evaluations, the system is transported along hospital corridors into an Intensive Care Unit ICU room, which demonstrates its portability. In the hospital room, SARPA executes different therapy rehabilitation. Different training modes, active and passive, are made on different body members, with different speeds, ranges of motion, and the number of repetitions just through HMI, based on the IoT, reconfiguration.

Therefore, to the best knowledge of the authors some contributions in this work are not seen in any other rehabilitation system:

  • the product design tools application to obtain a rehabilitation system based on patient and therapist requirements,

  • the SARPA flexibility—concerning portability, different training modes, different body members, therapy characteristics,

  • the SARPA HMI to reconfigure the training mode based on the IoT allowing several applications related to rehabilitation therapy and communication, and

  • based on SARPA flexibility and HMI training reconfiguration, SARPA is suitable to conduct rehabilitation therapy in different body members using different training modes whereas, in general, using nowadays mechatronic systems it is necessary a specific system for each body member and training mode.

As future work, patients should use SARPA to evaluate its benefits using some rehabilitation metrics as well, regarding that, in this case, the user is the pair patient and therapist. Additionally, it would be possible to program games or competitions among patients using the Internet of Things technology, improving their mood and autonomy level during therapeutic sessions.