Design of Portable Exoskeleton Forearm for Rehabilitation of Monoparesis Patients Using Tendon Flexion Sensing Mechanism for Health Care Applications

: Technology plays a vital role in patient rehabilitation, improving the quality of life of an individual. The increase in functional independence of disabled individuals requires adaptive and commercially available solutions. The use of sensor-based technology helps patients and therapeutic practices beyond traditional therapy. Adapting skeletal tracking technology could automate exercise tracking, records, and feedback for patient motivation and clinical treatment interventions and planning. In this paper, an exoskeleton was designed and subsequently developed for patients who are suffering from monoparesis in the upper extremities. The exoskeleton was developed according to the dimensions of a patient using a 3D scanner, and then fabricated with a 3D printer; the mechanism for the movement of the hand is a tendon ﬂexion mechanism with servo motor actuators controlled by an ATMega2560 microcontroller. The exoskeleton was used for force augmentation of the patient’s hand by taking the input from the hand via ﬂex sensors, and assisted the patient in closing, opening, grasping, and picking up objects, and it was also able to perform certain exercises for the rehabilitation of the patient. The exoskeleton is portable, reliable, durable, intuitive, and easy to install and use at any time.


Introduction
Degenerative muscle disorder is portrayed by weakness in the human hand that altogether influences the physical activities of affected people. A physiotherapy rehabilitation program, endorsed by physiotherapists, is often an essential step for inactive people hoping to achieve better joint movement or muscular strength, calm joint pain, or rehabilitate from dynamic disease [1]. Monoplegia is the weakness or incomplete paralysis of one limb, which can be one arm or one leg on any side of the body. Common symptoms of monoplegia are lack of sensation and nerve damage in the affected limb. Monoparesis is paresis affecting a single limb or part of a limb. It can be in the upper limb or lower limb; paresis is slight or incomplete paralysis [2]. The most common causes of monoparesis are cerebral artery infarction and stroke. Monoparesis is more common in the upper extremities than the lower extremities. Physical therapy is most beneficial for the treatment of monoplegia Yahya, Y.Z. and Al-Sawaff, Z.H. [22,23] presented a design model of powered elbow exoskeleton that assisted the elbow joint movement for weak or disabled people by controlling the assistive torque, whose direction was determined through EMG signals from the biceps and triceps. However, the calibration of EMG signals was required for every user. Dudley, Drew R. et al. [24] performed a case study testing a 3D-printed hand exoskeleton with and without a 3D-printed exoskeleton. The paper aimed to assess the functional and neuromuscular changes in a stroke patient using a passive exoskeleton. The design of the passive exoskeleton employed elastic and tension control of the non-elastic components. In short, multiple designs of exoskeletons are studied, reviewed, and assessed in terms of functionalities, mobility, and cost. However, an exoskeleton with combined forearm and hand motions is missing in literature. In addition, none of these studies address the needs of monoplegics.
This research proposes the design of an exoskeleton that fulfills the requirements of monoplegics. Motivated by the designs and technologies of the exoskeletons with different capabilities available in literature, as discussed earlier, a unique design of exoskeleton for monoparesis patients with both forearm and hand motion assistance is presented. This includes not only the mechanical structure but the complete electronic and control designs. This complete mechatronic design is realized with the objectives of being a portable and easy to manufacture structure, and generating controlled and automated motion for the care of monoparesis patients.
The manuscript is organized as follows. Section 2 describes the client needs and overall exoskeletal system for monoplegics, the human upper limb measurement method, and the mechanism design for tendons, along with their mathematical modeling. Section 3 discusses a detailed design of the exoskeleton structure, electrical circuits, and the control method. The control algorithm, sensors for feedback, and their implementation in hardware is also presented in same section. Section 4 describes forearm and hand motion experiments in simulations as well as in practice to evaluate both the exoskeleton and the flex sensing design and the forearm and hand model. The experimental results are presented and discussed. Finally, Section 5 provides the conclusions and discusses future work.

Exoskeleton System Description
The exoskeleton has one actuator for each of the five fingers of the hand and one for the elbow joint. The actuators are servos that are driving the finger joint with a tendon flexion mechanism. The servos are placed remotely away from the affected limb of the patient to minimize the weight of the device on the affected limb. The mechanism used to drive the fingers from the servos is tendon flexion, which is light and effective. The input of the device is taken from the patient via flex sensors. When the patient tries to close or open the hand or move the elbow joint, the Force Sensing Resister (FSR) registers the required little amount of force and sends it to the microcontroller, then the microcontroller triggers the actuators (servos motors) to perform the movement in the specific finger. When the patient picks up an object, the FSR sensor placed at the tip of the fingers detects the object and hence the movement of the finger is stopped. Overall, the exoskeleton has five servos for the hand and one servo for the actuating of the elbow joint. There are five flex sensors, one for each finger, and five FSR sensors placed on each fingertip. In addition, there are buttons for the selection of the two modes of the exoskeleton, which are as follows: • Force Augmentation Mode: In force augmentation mode, the force of the patient's hand is increased to help the patient to grasp and pick up objects effectively. • Rehabilitation Mode: In rehabilitation mode, the pre-programed rehabilitation exercises are performed, which will improve the muscle tone and function of the patient, therefore improving the patient's heath over time.
An overview of the input and the output is depicted in the block diagram in Figure 1. • Rehabilitation Mode: In rehabilitation mode, the pre-programed rehabilitation exercises are performed, which will improve the muscle tone and function of the patient, therefore improving the patient's heath over time.
An overview of the input and the output is depicted in the block diagram in Figure 1.

Measurement
This section explains how the dimensions were taken for the design of the hand and forearm exoskeleton. A 3D scanner EinScan Pro 2X (SHINING 3D Tech. Co., Ltd., Hangzhou, China) was used to scan the hand; the EinScan Pro 2X has an accuracy of 0.04 mm, which was sufficient enough for taking the measurements. Figure 1 shows the hand being scanned from the EinScan Pro 2X. After the 3D scan, the scan is converted from surface model to a solid model. For this purpose, a Computer Aided Design (CAD) software "CATIA" (Dassault Systèmes, France) was used for converting the surface model to a solid model using the generative surface model design tool in CATIA. CATIA was used due to its advanced capability of processing surface models to solid models. The surface model obtained from the 3D scanning, converted into a solid model, is shown in Figure 2. After the conversion into the solid model as shown in Figure 3a, dimensions were taken from the solid model to start designing the hand exoskeleton. The dimensions of the solid body model are shown in Figure 3b. The dimensions for the forearm were taken with a measuring tape as it was a simpler way of easily measuring the dimension of the forearm.  This section explains how the dimensions were taken for the design of the hand and forearm exoskeleton. A 3D scanner EinScan Pro 2X (SHINING 3D Tech. Co., Ltd., Hangzhou, China) was used to scan the hand; the EinScan Pro 2X has an accuracy of 0.04 mm, which was sufficient enough for taking the measurements. Figure 1 shows the hand being scanned from the EinScan Pro 2X. After the 3D scan, the scan is converted from surface model to a solid model. For this purpose, a Computer Aided Design (CAD) software "CATIA" (Dassault Systèmes, France) was used for converting the surface model to a solid model using the generative surface model design tool in CATIA. CATIA was used due to its advanced capability of processing surface models to solid models. The surface model obtained from the 3D scanning, converted into a solid model, is shown in Figure 2.

•
Rehabilitation Mode: In rehabilitation mode, the pre-programed rehabilitation exercises are performed, which will improve the muscle tone and function of the patient, therefore improving the patient's heath over time.
An overview of the input and the output is depicted in the block diagram in Figure 1.

Measurement
This section explains how the dimensions were taken for the design of the hand and forearm exoskeleton. A 3D scanner EinScan Pro 2X (SHINING 3D Tech. Co., Ltd., Hangzhou, China) was used to scan the hand; the EinScan Pro 2X has an accuracy of 0.04 mm, which was sufficient enough for taking the measurements. Figure 1 shows the hand being scanned from the EinScan Pro 2X. After the 3D scan, the scan is converted from surface model to a solid model. For this purpose, a Computer Aided Design (CAD) software "CATIA" (Dassault Systèmes, France) was used for converting the surface model to a solid model using the generative surface model design tool in CATIA. CATIA was used due to its advanced capability of processing surface models to solid models. The surface model obtained from the 3D scanning, converted into a solid model, is shown in Figure 2. After the conversion into the solid model as shown in Figure 3a, dimensions were taken from the solid model to start designing the hand exoskeleton. The dimensions of the solid body model are shown in Figure 3b. The dimensions for the forearm were taken with a measuring tape as it was a simpler way of easily measuring the dimension of the forearm. After the conversion into the solid model as shown in Figure 3a, dimensions were taken from the solid model to start designing the hand exoskeleton. The dimensions of the solid body model are shown in Figure 3b. The dimensions for the forearm were taken with a measuring tape as it was a simpler way of easily measuring the dimension of the forearm.

Tendon Flexion-Design Mechanism
In this section, the design of the hand and elbow exoskeleton is elucidated. The actuating mechanism selected was the tendon flexion mechanism as it removes the weight from the limb of the patient, providing comfort. Artificial tendons are elastic components that can store and transmit energy over the joints of humans. To minimize the mechanical work of human joints, the elastic characteristics of the tendons were optimized. Humans and animals have tendons that serve to improve mobility and provide contact between joints. This mechanism lowers the net joint work. The same tendon flexion mechanism is used to develop a link between finger joints. This tendon mechanism is restoring and increasing the joint force of the patient's fingers. Furthermore, it is used in the opening and closing of the hand. The tendon flexion mechanism is implemented on the upper limb of the patient wearing the exoskeleton. Tendons are attached to the servo motors and then pass through the forearm, connected to the finger joints of the exoskeleton as, shown in Figure 4. Servo motors are attached to the wearer by a backpack to lower the weight of exoskeleton. Its application provides mobility and creates a link between joints. When the initial force is applied by the patient, the servo starts to move. One side of the tendon is connected to a servo motor and the other end is connected to a finger's joint. One tendon is labeled blue and the second one is labeled red, as shown in Figure 5. When servo applies force on the blue tendon, it flexes and the hand is opened. Similarly, when force is applied to red tendon, the hand closes or grips the specified object. In this way, it helps in the patient with gripping and rehabilitation exercises.

Tendon Flexion-Design Mechanism
In this section, the design of the hand and elbow exoskeleton is elucidated. The actuating mechanism selected was the tendon flexion mechanism as it removes the weight from the limb of the patient, providing comfort. Artificial tendons are elastic components that can store and transmit energy over the joints of humans. To minimize the mechanical work of human joints, the elastic characteristics of the tendons were optimized. Humans and animals have tendons that serve to improve mobility and provide contact between joints. This mechanism lowers the net joint work. The same tendon flexion mechanism is used to develop a link between finger joints. This tendon mechanism is restoring and increasing the joint force of the patient's fingers. Furthermore, it is used in the opening and closing of the hand. The tendon flexion mechanism is implemented on the upper limb of the patient wearing the exoskeleton. Tendons are attached to the servo motors and then pass through the forearm, connected to the finger joints of the exoskeleton as, shown in Figure 4. Servo motors are attached to the wearer by a backpack to lower the weight of exoskeleton. Its application provides mobility and creates a link between joints. When the initial force is applied by the patient, the servo starts to move. One side of the tendon is connected to a servo motor and the other end is connected to a finger's joint. One tendon is labeled blue and the second one is labeled red, as shown in Figure 5. When servo applies force on the blue tendon, it flexes and the hand is opened. Similarly, when force is applied to red tendon, the hand closes or grips the specified object. In this way, it helps in the patient with gripping and rehabilitation exercises.

Tendon Flexion-Design Mechanism
In this section, the design of the hand and elbow exoskeleton is elucidated. The actuating mechanism selected was the tendon flexion mechanism as it removes the weight from the limb of the patient, providing comfort. Artificial tendons are elastic components that can store and transmit energy over the joints of humans. To minimize the mechanical work of human joints, the elastic characteristics of the tendons were optimized. Humans and animals have tendons that serve to improve mobility and provide contact between joints. This mechanism lowers the net joint work. The same tendon flexion mechanism is used to develop a link between finger joints. This tendon mechanism is restoring and increasing the joint force of the patient's fingers. Furthermore, it is used in the opening and closing of the hand. The tendon flexion mechanism is implemented on the upper limb of the patient wearing the exoskeleton. Tendons are attached to the servo motors and then pass through the forearm, connected to the finger joints of the exoskeleton as, shown in Figure 4. Servo motors are attached to the wearer by a backpack to lower the weight of exoskeleton. Its application provides mobility and creates a link between joints. When the initial force is applied by the patient, the servo starts to move. One side of the tendon is connected to a servo motor and the other end is connected to a finger's joint. One tendon is labeled blue and the second one is labeled red, as shown in Figure 5. When servo applies force on the blue tendon, it flexes and the hand is opened. Similarly, when force is applied to red tendon, the hand closes or grips the specified object. In this way, it helps in the patient with gripping and rehabilitation exercises.
After the transformation matrix was established, angles were given to the joint to check the end factor coordinates of the finger. The angles selected for the middle figure are given in Table 2 and the results that were achieved after multiplying all the transfer matrices are given in Equation (2).

Mathematical Modelling
The mathematical model was developed in MATLAB and forward kinematics of the model were performed via the Peter Corke robotics tool box on the middle finger, as shown in Figure 5. In this paper, we use the transfer equation of the middle finger because there is only a change in link lengths of the other fingers. In Table 1, DH parameters of the finger are shown and the transformation matrix of the finger is given in Equation (1), which is derived from the DH parameters of the middle finger.
After the transformation matrix was established, angles were given to the joint to check the end factor coordinates of the finger. The angles selected for the middle figure are given in Table 2 and the results that were achieved after multiplying all the transfer matrices are given in Equation (2).
The forward kinematics of the entire hand exoskeleton was also performed. In Figure 6, the forward kinematics of the hand exoskeleton is shown.
Electronics 2021, 10, The forward kinematics of the entire hand exoskeleton was also performed. In Figure 6, the forward kinematics of the hand exoskeleton is shown.

Lagrangian Formulations
Dynamics deals with movement equations' mathematical formulations. Dynamic modeling uses two methods: Newton-Euler is a hierarchical approach to "power/momentum equilibrium", while the Lagrangian is a complex "energy-based" approach to dynamics. The dynamic Lagrangian Formulation (named after Joseph-Louis Lagrange) provides the derivative tools of movement equations of a scalar function called Lagrangian, known as the difference between a mechanical system's kinetic and potential energy. The finger in the hand consists of three links and their dynamics were identified with the aid of the Lagrangian approach, shown below, as the links are equal in number. The general equation for each finger is thus the same but its masses and lengths are different. In Figure 7, this is shown. Consider a 3-degree-of-freedom system consisting of mass m1, m2, and m3.

Lagrangian Formulations
Dynamics deals with movement equations' mathematical formulations. Dynamic modeling uses two methods:
Newton-Euler is a hierarchical approach to "power/momentum equilibrium", while the Lagrangian is a complex "energy-based" approach to dynamics. The dynamic Lagrangian Formulation (named after Joseph-Louis Lagrange) provides the derivative tools of movement equations of a scalar function called Lagrangian, known as the difference between a mechanical system's kinetic and potential energy. The finger in the hand consists of three links and their dynamics were identified with the aid of the Lagrangian approach, shown below, as the links are equal in number. The general equation for each finger is thus the same but its masses and lengths are different. In Figure 7, this is shown. Consider a 3-degree-of-freedom system consisting of mass m 1 , m 2 , and m 3 .
The forward kinematics of the entire hand exoskeleton was also performed. In Figure 6, the forward kinematics of the hand exoskeleton is shown.

Lagrangian Formulations
Dynamics deals with movement equations' mathematical formulations. Dynamic modeling uses two methods: Newton-Euler is a hierarchical approach to "power/momentum equilibrium", while the Lagrangian is a complex "energy-based" approach to dynamics. The dynamic Lagrangian Formulation (named after Joseph-Louis Lagrange) provides the derivative tools of movement equations of a scalar function called Lagrangian, known as the difference between a mechanical system's kinetic and potential energy. The finger in the hand consists of three links and their dynamics were identified with the aid of the Lagrangian approach, shown below, as the links are equal in number. The general equation for each finger is thus the same but its masses and lengths are different. In Figure 7, this is shown. Consider a 3-degree-of-freedom system consisting of mass m1, m2, and m3.  The function Lagrangian (L) and motion equations are defined in Equation (3).
K = kinetic energy P = potential energy The position of the mass of link 1 is (4).
The position of the mass of link 2 is (5).
The position of the mass of link 3 is (6).
The equation of the kinetic energy used is presented in Equation (7).
The equation of the potential energy used is presented in Equation (11).

Exoskeleton Structure Design
According to the research, the design for the exoskeleton should have the following features: • Bidirectional: The exoskeleton should help both finger extension and bending, and each finger should also be able to be powered separately.

•
High weight-to-power patio: The exoskeleton should be lightweight, while being able to produce sufficient output force to allow the user to move about freely while wearing the tool.

•
Free palm and wrist: The exoskeleton should allow holding of objects and should not pose obstacles when moving the other arm joints, such as the wrist and shoulder.
• Comfort and safety: The device should be comfortable and safe for the wearer. • Durable: The device should be durable so it can be used without any worries of breaking easily.
It is a difficult task to fulfill all of the requirements in an exoskeleton system, with the major difficulties being limited space and the trade-off between compactness, positioning accuracy, and weight, as well as the requirement of efficient and easy to maintain actuators. Firstly, the degrees of freedom of the human hand are high and there is very limited space for hardware to be installed. Hence, the actuators of the exoskeleton were placed in a backpack (components box) away from the hand and forearm, so there is no extra weight on the patient's limb. After many revisions, the CAD model was developed, keeping in mind all the design constraints and improving the final design overall. The design of the exoskeleton is shown in the Figures 8 and 9.
Electronics 2021, 10, x FOR PEER REVIEW 9 of 19 • Durable: The device should be durable so it can be used without any worries of breaking easily.
It is a difficult task to fulfill all of the requirements in an exoskeleton system, with the major difficulties being limited space and the trade-off between compactness, positioning accuracy, and weight, as well as the requirement of efficient and easy to maintain actuators. Firstly, the degrees of freedom of the human hand are high and there is very limited space for hardware to be installed. Hence, the actuators of the exoskeleton were placed in a backpack (components box) away from the hand and forearm, so there is no extra weight on the patient's limb. After many revisions, the CAD model was developed, keeping in mind all the design constraints and improving the final design overall. The design of the exoskeleton is shown in the Figures 8 and 9.  The exoskeleton's design is divided into two parts, the hand exoskeleton and the arm exoskeleton. The hand exoskeleton is designed for the actuation of fingers; each finger is controlled by a separate servo motor, giving the advantage that each finger is controlled individually by the user. In total, five servo motors were incorporated into the design to control all five fingers of the hand exoskeleton. Ring-like attachments were included so that the user can easily wear the hand exoskeleton. For the actuation of the elbow joint,  • Durable: The device should be durable so it can be used without any worries of breaking easily.
It is a difficult task to fulfill all of the requirements in an exoskeleton system, with the major difficulties being limited space and the trade-off between compactness, positioning accuracy, and weight, as well as the requirement of efficient and easy to maintain actuators. Firstly, the degrees of freedom of the human hand are high and there is very limited space for hardware to be installed. Hence, the actuators of the exoskeleton were placed in a backpack (components box) away from the hand and forearm, so there is no extra weight on the patient's limb. After many revisions, the CAD model was developed, keeping in mind all the design constraints and improving the final design overall. The design of the exoskeleton is shown in the Figures 8 and 9.  The exoskeleton's design is divided into two parts, the hand exoskeleton and the arm exoskeleton. The hand exoskeleton is designed for the actuation of fingers; each finger is controlled by a separate servo motor, giving the advantage that each finger is controlled individually by the user. In total, five servo motors were incorporated into the design to control all five fingers of the hand exoskeleton. Ring-like attachments were included so that the user can easily wear the hand exoskeleton. For the actuation of the elbow joint, The exoskeleton's design is divided into two parts, the hand exoskeleton and the arm exoskeleton. The hand exoskeleton is designed for the actuation of fingers; each finger is controlled by a separate servo motor, giving the advantage that each finger is controlled individually by the user. In total, five servo motors were incorporated into the design to control all five fingers of the hand exoskeleton. Ring-like attachments were included so that the user can easily wear the hand exoskeleton. For the actuation of the elbow joint, the arm exoskeleton was designed and only one servo motor is used for the actuation of the elbow joint. In this section, the electrical design of the exoskeleton is explained. The electrical design is divided into three parts. The first part is the microcontroller portion where the circuits were developed to integrate the sensors with the microcontroller. The second part is the battery and power connection, and the last part is the connections for the buttons to operate the exoskeleton. The Mega Pro Mini 2560 microcontroller was used for all the coding and the algorithm implementation. The microcontroller is mounted on top of the PCB, and all the sensors and the actuators are connected via the JST connectors. The PCB design is shown in the Figure 10 and the 3D model of the PCB is depicted in Figure 11. In Figure 10, the blue blocks are the connectors for the actuators, buttons, and sensors. the arm exoskeleton was designed and only one servo motor is used for the actuation of the elbow joint. In this section, the electrical design of the exoskeleton is explained. The electrical design is divided into three parts. The first part is the microcontroller portion where the circuits were developed to integrate the sensors with the microcontroller. The second part is the battery and power connection, and the last part is the connections for the buttons to operate the exoskeleton. The Mega Pro Mini 2560 microcontroller was used for all the coding and the algorithm implementation. The microcontroller is mounted on top of the PCB, and all the sensors and the actuators are connected via the JST connectors.
The PCB design is shown in the Figure 10 and the 3D model of the PCB is depicted in Figure 11. In Figure 10, the blue blocks are the connectors for the actuators, buttons, and sensors.

Control Mechanism
In the exoskeleton, the PI controller implemented on the AT Mega 2560 is used to obtain the accurate and desired force, flex sensor and angle values for the exoskeleton. The aims were to control the force generated for gripping and augmentation purposes. When force is initially applied, the FSR sensor sends a signal to the microcontroller, which directs servos to move and achieve the desired value of force, as shown in Figure 12. The proportional control (Kp) and integral constant (Ki) are most accurate for this case so that control runs well between input and output. The control loop repeats itself until the error becomes zero. Similarly, in the case of achieving the desired angle, the same control design the arm exoskeleton was designed and only one servo motor is used for the actuation of the elbow joint. In this section, the electrical design of the exoskeleton is explained. The electrical design is divided into three parts. The first part is the microcontroller portion where the circuits were developed to integrate the sensors with the microcontroller. The second part is the battery and power connection, and the last part is the connections for the buttons to operate the exoskeleton. The Mega Pro Mini 2560 microcontroller was used for all the coding and the algorithm implementation. The microcontroller is mounted on top of the PCB, and all the sensors and the actuators are connected via the JST connectors.
The PCB design is shown in the Figure 10 and the 3D model of the PCB is depicted in Figure 11. In Figure 10, the blue blocks are the connectors for the actuators, buttons, and sensors.

Control Mechanism
In the exoskeleton, the PI controller implemented on the AT Mega 2560 is used to obtain the accurate and desired force, flex sensor and angle values for the exoskeleton. The aims were to control the force generated for gripping and augmentation purposes. When force is initially applied, the FSR sensor sends a signal to the microcontroller, which directs servos to move and achieve the desired value of force, as shown in Figure 12. The proportional control (Kp) and integral constant (Ki) are most accurate for this case so that control runs well between input and output. The control loop repeats itself until the error becomes zero. Similarly, in the case of achieving the desired angle, the same control design

Control Mechanism
In the exoskeleton, the PI controller implemented on the AT Mega 2560 is used to obtain the accurate and desired force, flex sensor and angle values for the exoskeleton. The aims were to control the force generated for gripping and augmentation purposes. When force is initially applied, the FSR sensor sends a signal to the microcontroller, which directs servos to move and achieve the desired value of force, as shown in Figure 12. The proportional control (Kp) and integral constant (Ki) are most accurate for this case so that control runs well between input and output. The control loop repeats itself until the error becomes zero. Similarly, in the case of achieving the desired angle, the same control design is used for the exoskeleton, as shown in Figure 13. The desired input angle is given as input and with a flex sensor value that directs the microcontroller, which in turn operates servos to obtain that input value. The error is subtracted and the setpoint value is achieved through the PI controller. In the case of a joint angle control algorithm, the Kalman filter is used, as shown in Figure 13. The Kalman filter is an iterative mathematical process to quickly estimate the true value of an input. The data inputs we obtained consist of unpredictable random errors and uncertainty, which created a lot of difficulty for the system to obtain the exact/true value. Another way to reduce the noise and get close to the actual value is to take the average of the input, but this is a very slow process and not very accurate, which makes it hard for the system to determine the actual value. Due to this reason, we used the Kalman filter because it is faster and more accurate than other methods. is used for the exoskeleton, as shown in Figure 13. The desired input angle is given as input and with a flex sensor value that directs the microcontroller, which in turn operates servos to obtain that input value. The error is subtracted and the setpoint value is achieved through the PI controller. In the case of a joint angle control algorithm, the Kalman filter is used, as shown in Figure 13. The Kalman filter is an iterative mathematical process to quickly estimate the true value of an input. The data inputs we obtained consist of unpredictable random errors and uncertainty, which created a lot of difficulty for the system to obtain the exact/true value. Another way to reduce the noise and get close to the actual value is to take the average of the input, but this is a very slow process and not very accurate, which makes it hard for the system to determine the actual value. Due to this reason, we used the Kalman filter because it is faster and more accurate than other methods.  The programming was carried out on AT Mega 2560. The flow chart for the control algorithm is given in Figure 14. The program starts with waiting for the user input for the selection of the mode. There are two modes programmed: force augmentation and rehabilitation. When the user selects a mode, confirmation is needed to start that mode. For example, when the force augmentation mode is selected, the program will wait for any increase in the value of the flex sensor. If the value has increased, the servo motors will start to close the hand exoskeleton and move until the preprogramed closing position. Meanwhile, the hand is closing. The FSR sensor placed at the tip of each finger detects if there is any object grasped by the user. If FSR detects any force feedback due to the wearer picking up an object, the servo motors will stop and wait for the user to open their hand. This mode stays in the loop until the user decides to end the mode or turn off the exoskeleton.  is used for the exoskeleton, as shown in Figure 13. The desired input angle is given as input and with a flex sensor value that directs the microcontroller, which in turn operates servos to obtain that input value. The error is subtracted and the setpoint value is achieved through the PI controller. In the case of a joint angle control algorithm, the Kalman filter is used, as shown in Figure 13. The Kalman filter is an iterative mathematical process to quickly estimate the true value of an input. The data inputs we obtained consist of unpredictable random errors and uncertainty, which created a lot of difficulty for the system to obtain the exact/true value. Another way to reduce the noise and get close to the actual value is to take the average of the input, but this is a very slow process and not very accurate, which makes it hard for the system to determine the actual value. Due to this reason, we used the Kalman filter because it is faster and more accurate than other methods.  The programming was carried out on AT Mega 2560. The flow chart for the control algorithm is given in Figure 14. The program starts with waiting for the user input for the selection of the mode. There are two modes programmed: force augmentation and rehabilitation. When the user selects a mode, confirmation is needed to start that mode. For example, when the force augmentation mode is selected, the program will wait for any increase in the value of the flex sensor. If the value has increased, the servo motors will start to close the hand exoskeleton and move until the preprogramed closing position. Meanwhile, the hand is closing. The FSR sensor placed at the tip of each finger detects if there is any object grasped by the user. If FSR detects any force feedback due to the wearer picking up an object, the servo motors will stop and wait for the user to open their hand. This mode stays in the loop until the user decides to end the mode or turn off the exoskeleton. The programming was carried out on AT Mega 2560. The flow chart for the control algorithm is given in Figure 14. The program starts with waiting for the user input for the selection of the mode. There are two modes programmed: force augmentation and rehabilitation. When the user selects a mode, confirmation is needed to start that mode. For example, when the force augmentation mode is selected, the program will wait for any increase in the value of the flex sensor. If the value has increased, the servo motors will start to close the hand exoskeleton and move until the preprogramed closing position. Meanwhile, the hand is closing. The FSR sensor placed at the tip of each finger detects if there is any object grasped by the user. If FSR detects any force feedback due to the wearer picking up an object, the servo motors will stop and wait for the user to open their hand. This mode stays in the loop until the user decides to end the mode or turn off the exoskeleton. Electronics 2021, 10, x FOR PEER REVIEW 12 of 19

Sensors
The FSR (Force Sensing Resistor) was used to determine when the patient firmly grasped the object. For example, when the test subject tries to close their hand, the flex sensor will take the input and send the value to the microcontroller; then as an output, the servos will start to close the hand until there is a reading from the FSR. When the reading from the FSR is obtained, it means that now the object is firmly grasped and then the servos will stop. Later on, when the test subject tries to open their hand, the servos will move in the opening direction, and the hand opens.

Flex Sensor
The flex sensor is used measure the amount of deflection or bending. The sensor is usually placed on the surface, and when deflection occurs, it changes its resistance. Sensor resistance is proportional to the amount of bending, so it is also called a flexible potentiometer. Whenever the patient tries to move the hand to perform any task, the flex sensor will change its resistance and it will change its value up to the specified limit. After reaching that value, the flex sensor triggers a microcontroller that will then direct the servos accordingly. The spectra symbol makes the flex sensors to bend. They are coated on one side with a polymer with little conductive bits inside. When the sensor is flat (unbent), we measured the resistance to be 5.3 K Ohms and when the flex sensor was bent 20.5 K Ohms. FSR was used to determine when the patient has firmly grasped the object. For example, when the test subject will try to close its hand, the flex sensor will take the input and send

Sensors
The FSR (Force Sensing Resistor) was used to determine when the patient firmly grasped the object. For example, when the test subject tries to close their hand, the flex sensor will take the input and send the value to the microcontroller; then as an output, the servos will start to close the hand until there is a reading from the FSR. When the reading from the FSR is obtained, it means that now the object is firmly grasped and then the servos will stop. Later on, when the test subject tries to open their hand, the servos will move in the opening direction, and the hand opens.

Flex Sensor
The flex sensor is used measure the amount of deflection or bending. The sensor is usually placed on the surface, and when deflection occurs, it changes its resistance. Sensor resistance is proportional to the amount of bending, so it is also called a flexible potentiometer. Whenever the patient tries to move the hand to perform any task, the flex sensor will change its resistance and it will change its value up to the specified limit. After reaching that value, the flex sensor triggers a microcontroller that will then direct the servos accordingly. The spectra symbol makes the flex sensors to bend. They are coated on one side with a polymer with little conductive bits inside. When the sensor is flat (unbent), we measured the resistance to be 5.3 K Ohms and when the flex sensor was bent 20.5 K Ohms. FSR was used to determine when the patient has firmly grasped the object. For example, when the test subject will try to close its hand, the flex sensor will take the input and send the value to the microcontroller; then, as an output, the servos will start to close the hand until there is reading from the FSR. When we obtain the reading from the FSR, it means that now the object is firmly grasped and then the servos will stop. Later on, when the test subject will try to open the hand, the servos will move in the opening direction, and the hand opens at the angle of 0 degrees.

Force Sensing Resistor (FSR)
The FSR sensor detects force or pressure. Depending on how much force is applied, it changes its resistance. They are accurate and low cost. The FSR is comprised of two layers separated by a spacer. The more one applies force, the more of those active element dots make contact with the semiconductor, decreasing the resistance. The FSR sensors are developed by Winsen Electronics Technology Co., Ltd., Zhengzhou, China. based on newtype nanometer-sensitive, pressure-sensitive materials, supplemented by Young's modulus and disposable pater ultrathin film substrate. It has functions that are both waterproof and pressure-sensitive. The sensor's resistance value changes as the sensor detects external pressures. The sensor we use is DF9-40 @1Kg, this sensor is chosen because it fits our specifications, as we do not need to use more force to pick up an item weighing 1 kg. The FSR is calibrated to remove errors. These errors arise due to some structural flaws in the sensor outputs. To achieve the best possible accuracy, a sensor should be calibrated in the system where it will be used. Thus, the FSR was calibrated to achieve the best possible results, as it does not give accurate results before calibration.

Control Algorithm
The data is acquired as input from the flex sensor, which is an analog signal. This signal then goes to a digital converter (ADC) analog, which transforms this analog signal into a digital signal. Arduino has an 8-bit ADC, which means 1024 discrete analog levels are detected. In this way, the analog signal coming from 0 to 5 volts is converted into 1024 discrete levels through ADC. This signal goes through the Kalman filter, which removes the noise and filter signal. The sample rate of the Kalman filter is set to 1 s. The Kalman filter is an iterative mathematical method for the rapid calculation of an input's true value. The data inputs that we received consist of unpredicted random errors and uncertainty that generated a lot of difficulty in obtaining the exact/true value for the method. The Kalman filter helps us to predict and determine values that are very close to the actual value. The control parameters P and I determine the desired output. By setting the gain, we obtain the desired angle of the exoskeleton. The control algorithm of the flex sensors implemented on Mega Pro is shown in Figure 15. the value to the microcontroller; then, as an output, the servos will start to close the hand until there is reading from the FSR. When we obtain the reading from the FSR, it means that now the object is firmly grasped and then the servos will stop. Later on, when the test subject will try to open the hand, the servos will move in the opening direction, and the hand opens at the angle of 0 degrees.

Force Sensing Resistor (FSR)
The FSR sensor detects force or pressure. Depending on how much force is applied, it changes its resistance. They are accurate and low cost. The FSR is comprised of two layers separated by a spacer. The more one applies force, the more of those active element dots make contact with the semiconductor, decreasing the resistance. The FSR sensors are developed by Winsen Electronics Technology Co., Ltd., Zhengzhou, China. based on newtype nanometer-sensitive, pressure-sensitive materials, supplemented by Young's modulus and disposable pater ultrathin film substrate. It has functions that are both waterproof and pressure-sensitive. The sensor's resistance value changes as the sensor detects external pressures. The sensor we use is DF9-40 @1Kg, this sensor is chosen because it fits our specifications, as we do not need to use more force to pick up an item weighing 1 kg. The FSR is calibrated to remove errors. These errors arise due to some structural flaws in the sensor outputs. To achieve the best possible accuracy, a sensor should be calibrated in the system where it will be used. Thus, the FSR was calibrated to achieve the best possible results, as it does not give accurate results before calibration.

Control Algorithm
The data is acquired as input from the flex sensor, which is an analog signal. This signal then goes to a digital converter (ADC) analog, which transforms this analog signal into a digital signal. Arduino has an 8-bit ADC, which means 1024 discrete analog levels are detected. In this way, the analog signal coming from 0 to 5 volts is converted into 1024 discrete levels through ADC. This signal goes through the Kalman filter, which removes the noise and filter signal. The sample rate of the Kalman filter is set to 1 s. The Kalman filter is an iterative mathematical method for the rapid calculation of an input's true value. The data inputs that we received consist of unpredicted random errors and uncertainty that generated a lot of difficulty in obtaining the exact/true value for the method. The Kalman filter helps us to predict and determine values that are very close to the actual value. The control parameters P and I determine the desired output. By setting the gain, we obtain the desired angle of the exoskeleton. The control algorithm of the flex sensors implemented on Mega Pro is shown in Figure 15.  The control algorithm implementation of the FSR sensor is shown in Figure 16. The FSR sensor is sending an analog signal to a microcontroller. The analog-to-digital converter on the microcontroller converts this analog signal into digital one. It has an eight-bit ADC which converts 0 to 5 volts of analog signal of FSR to 1024 discrete analog levels. In this process, we do not need any filter, as it works fine without one. The PI controller then sets the desired output for the plant. By changing the values of gains P and I, the exoskeleton gets the desired value of force. It then directs the actuator to move with desired output values. The control algorithm implementation of the FSR sensor is shown in Figure 16. The FSR sensor is sending an analog signal to a microcontroller. The analog-to-digital converter on the microcontroller converts this analog signal into digital one. It has an eightbit ADC which converts 0 to 5 volts of analog signal of FSR to 1024 discrete analog levels. In this process, we do not need any filter, as it works fine without one. The PI controller then sets the desired output for the plant. By changing the values of gains P and I, the exoskeleton gets the desired value of force. It then directs the actuator to move with desired output values.

Results and Discussion
Prior to the development of the presented exoskeleton, the model was tested in simulation. Motion analysis was performed on SOLIDWORKS ® for both the hand and arm exoskeleton in order to test the design for its functionality and range of motion. Selected experiments of motion study for grip (hand closed) and victory gestures were performed. In Figure 17a, the closed position of the hand exoskeleton is shown and in Figure 17b the victory gesture is made from the hand exoskeleton to demonstrate the ability to have individual finger control. In Figure 18, the motion analysis of the arm exoskeleton is shown.

Results and Discussion
Prior to the development of the presented exoskeleton, the model was tested in simulation. Motion analysis was performed on SOLIDWORKS ® for both the hand and arm exoskeleton in order to test the design for its functionality and range of motion. Selected experiments of motion study for grip (hand closed) and victory gestures were performed. In Figure 17a, the closed position of the hand exoskeleton is shown and in Figure 17b the victory gesture is made from the hand exoskeleton to demonstrate the ability to have individual finger control. In Figure 18, the motion analysis of the arm exoskeleton is shown. The control algorithm implementation of the FSR sensor is shown in Figure 16. The FSR sensor is sending an analog signal to a microcontroller. The analog-to-digital converter on the microcontroller converts this analog signal into digital one. It has an eightbit ADC which converts 0 to 5 volts of analog signal of FSR to 1024 discrete analog levels. In this process, we do not need any filter, as it works fine without one. The PI controller then sets the desired output for the plant. By changing the values of gains P and I, the exoskeleton gets the desired value of force. It then directs the actuator to move with desired output values.

Results and Discussion
Prior to the development of the presented exoskeleton, the model was tested in simulation. Motion analysis was performed on SOLIDWORKS ® for both the hand and arm exoskeleton in order to test the design for its functionality and range of motion. Selected experiments of motion study for grip (hand closed) and victory gestures were performed. In Figure 17a, the closed position of the hand exoskeleton is shown and in Figure 17b the victory gesture is made from the hand exoskeleton to demonstrate the ability to have individual finger control. In Figure 18, the motion analysis of the arm exoskeleton is shown. In order to acquire portability advantage of the proposed model of the exoskeleton, it was manufactured using 3D printing. The 3D printing made the exoskeleton cost effective and easy to manufacture. Prior to experiments for motion study on the hardware, the hardware and the algorithm were tested. The input from the flex sensor was non-uniform and quite noisy, so to overcome that problem, the Kalman filter was used. In Figure 19, the raw signal from the flex sensor is shown. The raw signal shows the relationship between the change in resistance and the change in position (bent angle) with time. The raw signal is communicated to the microcontroller. A continuous signal variation due to noise is not acceptable for the control algorithm as it will demand high input energy. Hence, the Kalman filter is used. In Figure 20, the Kalman filter is applied on the raw input from the flex sensor, making it smooth output for the actuation loop for the servo motors. Experiments for hand and elbow joint motion were performed to evaluate the effectiveness of the proposed exoskeleton. In the experiments, the participant was healthy and they were advised to apply little to no movement and force in order to test the capabilities of the exoskeleton for a monoparesis patient.  In order to acquire portability advantage of the proposed model of the exoskeleton, it was manufactured using 3D printing. The 3D printing made the exoskeleton cost effective and easy to manufacture. Prior to experiments for motion study on the hardware, the hardware and the algorithm were tested. The input from the flex sensor was non-uniform and quite noisy, so to overcome that problem, the Kalman filter was used. In Figure 19, the raw signal from the flex sensor is shown. The raw signal shows the relationship between the change in resistance and the change in position (bent angle) with time. The raw signal is communicated to the microcontroller. A continuous signal variation due to noise is not acceptable for the control algorithm as it will demand high input energy. Hence, the Kalman filter is used. In Figure 20, the Kalman filter is applied on the raw input from the flex sensor, making it smooth output for the actuation loop for the servo motors. Experiments for hand and elbow joint motion were performed to evaluate the effectiveness of the proposed exoskeleton. In the experiments, the participant was healthy and they were advised to apply little to no movement and force in order to test the capabilities of the exoskeleton for a monoparesis patient. In order to acquire portability advantage of the proposed model of the exoskeleton, it was manufactured using 3D printing. The 3D printing made the exoskeleton cost effective and easy to manufacture. Prior to experiments for motion study on the hardware, the hardware and the algorithm were tested. The input from the flex sensor was non-uniform and quite noisy, so to overcome that problem, the Kalman filter was used. In Figure 19, the raw signal from the flex sensor is shown. The raw signal shows the relationship between the change in resistance and the change in position (bent angle) with time. The raw signal is communicated to the microcontroller. A continuous signal variation due to noise is not acceptable for the control algorithm as it will demand high input energy. Hence, the Kalman filter is used. In Figure 20, the Kalman filter is applied on the raw input from the flex sensor, making it smooth output for the actuation loop for the servo motors. Experiments for hand and elbow joint motion were performed to evaluate the effectiveness of the proposed exoskeleton. In the experiments, the participant was healthy and they were advised to apply little to no movement and force in order to test the capabilities of the exoskeleton for a monoparesis patient.  The first experiment was to record the motion of the hand's fingers in a picking up and placing task. The task includes the procedure of picking up, lifting, holding, and releasing. A bottle of water was used in this experiment. In the experiment, the hand exoskeleton was controlled to follow the movement of the user's hand with the help of flex sensors providing support and grip to the user's hand. After getting used to wearing the exoskeleton, the participant was asked to perform the task five times for about 15 s, for a demonstrative example of the test results. The output motion of the index finger is shown along with the flex sensor input in Figure 21. MCP (Meta Carpo Phalangeal), DIP (Distal Inter Phalangeal), and PIP (Proximal Inter Phalangeal) are the three joints of the index finger. Figure 21. Index finger motion, filtered flex sensor output, and current drawn by servo motor during the pick-and-place task.
The second experiment was to record the motion of the elbow joint in a flexion and extension task. The task includes the flexion and extension of the elbow joint while wearing the exoskeleton. In the experiment, the forearm exoskeleton was controlled to follow the movement of the user's elbow joint to provide support and strength. In this experiment, the participant was asked to perform the flexion and extension task five times in 15 s for the demonstration of test results. The output motion of the elbow joint and the flex sensor input is shown in Figure 22. The first experiment was to record the motion of the hand's fingers in a picking up and placing task. The task includes the procedure of picking up, lifting, holding, and releasing. A bottle of water was used in this experiment. In the experiment, the hand exoskeleton was controlled to follow the movement of the user's hand with the help of flex sensors providing support and grip to the user's hand. After getting used to wearing the exoskeleton, the participant was asked to perform the task five times for about 15 s, for a demonstrative example of the test results. The output motion of the index finger is shown along with the flex sensor input in Figure   The first experiment was to record the motion of the hand's fingers in a picking up and placing task. The task includes the procedure of picking up, lifting, holding, and releasing. A bottle of water was used in this experiment. In the experiment, the hand exoskeleton was controlled to follow the movement of the user's hand with the help of flex sensors providing support and grip to the user's hand. After getting used to wearing the exoskeleton, the participant was asked to perform the task five times for about 15 s, for a demonstrative example of the test results. The output motion of the index finger is shown along with the flex sensor input in Figure 21. MCP (Meta Carpo Phalangeal), DIP (Distal Inter Phalangeal), and PIP (Proximal Inter Phalangeal) are the three joints of the index finger. Figure 21. Index finger motion, filtered flex sensor output, and current drawn by servo motor during the pick-and-place task.
The second experiment was to record the motion of the elbow joint in a flexion and extension task. The task includes the flexion and extension of the elbow joint while wearing the exoskeleton. In the experiment, the forearm exoskeleton was controlled to follow the movement of the user's elbow joint to provide support and strength. In this experiment, the participant was asked to perform the flexion and extension task five times in 15 s for the demonstration of test results. The output motion of the elbow joint and the flex sensor input is shown in Figure 22. The second experiment was to record the motion of the elbow joint in a flexion and extension task. The task includes the flexion and extension of the elbow joint while wearing the exoskeleton. In the experiment, the forearm exoskeleton was controlled to follow the movement of the user's elbow joint to provide support and strength. In this experiment, the participant was asked to perform the flexion and extension task five times in 15 s for the demonstration of test results. The output motion of the elbow joint and the flex sensor input is shown in Figure 22. The experiments showed that the motion of the finger joints of the hand exoskeleton proved to be satisfactory, with minor room for improvement in the control algorithm. However, the motion of the forearm exoskeleton is accurate. While designing the arm exoskeleton, it was kept in mind that it should have a range of motion of 140°, which is the range of motion of the elbow joint of an adult [25]. The 140° range of motion of the arm exoskeleton is also validated in the experiment. The structure of the hand exoskeleton can be designed to be more ergonomic to further enhance the comfort for the user.

Conclusions
In this study, a low-cost hand and forearm exoskeleton for patients with monoparesis was designed and developed. The exoskeleton provided force augmentation and support for the user, and it can enhance muscle tone function and provide rehabilitation for patients with muscle weakness. The exoskeleton was able to perform grasping and picking up motions in a motion study in SolidWorks and in test experiments, as well. The control algorithm employing the Kalman filter was developed to effectively control the movement of the servos and subsequently the exoskeleton. In addition, a complete flowchart was outlined to implement the said control algorithm. Moreover, it was inferred that 3D scanning of an irregular part of the body, i.e., the hand, is an efficient way of taking measurements, and can make it easier to design the exoskeleton for it. SolidWorks motion was also studied, and proved to be an effective tool to analyze and test the motion limitations of the designed CAD model. A limitation of the system designed in this research is the range of motion considered with force augmentation for monoparesis patients with the rigid structure of the exoskeleton. However, the range of motion may be extended with a flexible structure. The realization of the presented model and clinical measures of hand grip are future extensions of this work.  The experiments showed that the motion of the finger joints of the hand exoskeleton proved to be satisfactory, with minor room for improvement in the control algorithm. However, the motion of the forearm exoskeleton is accurate. While designing the arm exoskeleton, it was kept in mind that it should have a range of motion of 140 • , which is the range of motion of the elbow joint of an adult [25]. The 140 • range of motion of the arm exoskeleton is also validated in the experiment. The structure of the hand exoskeleton can be designed to be more ergonomic to further enhance the comfort for the user.

Conclusions
In this study, a low-cost hand and forearm exoskeleton for patients with monoparesis was designed and developed. The exoskeleton provided force augmentation and support for the user, and it can enhance muscle tone function and provide rehabilitation for patients with muscle weakness. The exoskeleton was able to perform grasping and picking up motions in a motion study in SolidWorks and in test experiments, as well. The control algorithm employing the Kalman filter was developed to effectively control the movement of the servos and subsequently the exoskeleton. In addition, a complete flowchart was outlined to implement the said control algorithm. Moreover, it was inferred that 3D scanning of an irregular part of the body, i.e., the hand, is an efficient way of taking measurements, and can make it easier to design the exoskeleton for it. SolidWorks motion was also studied, and proved to be an effective tool to analyze and test the motion limitations of the designed CAD model. A limitation of the system designed in this research is the range of motion considered with force augmentation for monoparesis patients with the rigid structure of the exoskeleton. However, the range of motion may be extended with a flexible structure. The realization of the presented model and clinical measures of hand grip are future extensions of this work.