Design and Development of an Upper Limb Rehabilitative Robot with Dual Functionality

The design of an upper limb rehabilitation robot for post-stroke patients is considered a benchmark problem regarding improving functionality and ensuring better human–robot interaction (HRI). Existing upper limb robots perform either joint-based exercises (exoskeleton-type functionality) or end-point exercises (end-effector-type functionality). Patients may need both kinds of exercises, depending on the type, level, and degree of impairments. This work focused on designing and developing a seven-degrees-of-freedom (DoFs) upper-limb rehabilitation exoskeleton called ‘u-Rob’ that functions as both exoskeleton and end-effector types device. Furthermore, HRI can be improved by monitoring the interaction forces between the robot and the wearer. Existing upper limb robots lack the ability to monitor interaction forces during passive rehabilitation exercises; measuring upper arm forces is also absent in the existing devices. This research work aimed to develop an innovative sensorized upper arm cuff to measure the wearer’s interaction forces in the upper arm. A PID control technique was implemented for both joint-based and end-point exercises. The experimental results validated both types of functionality of the developed robot.


Introduction
With the increase of hemiplegic stroke patients day by day [1], upper limb rehabilitation to regain lost mobility seems to be required more than ever nowadays. It was well established from past research that the success of a rehabilitation program heavily depends on its repetitiveness and intensity. The repetitive nature, tediousness, precision, explicit feedback, and intensity of therapy are some key factors that make robot-aided rehabilitation popular for upper limb impairments. For instance, robotic devices can provide therapy for an extended period, irrespective of skills and fatigue, compared to manual therapy [2]. They can also work in multiple degrees of freedom with virtual reality interfaces and provide therapy ranging from passive to active rehabilitation. This leverage over traditional therapy could increase the efficiency and effectiveness of therapists by alleviating the labor-intensive aspects of physical rehabilitation of post-stroke patients [3]. To provide rehabilitation therapy to individuals with upper limb impairment, several research prototypes have been developed to date [4][5][6][7][8][9][10][11][12][13][14][15][16][17][18]. Among these prototypes, very

Development Procedure
To develop the proposed u-Rob exoskeleton robot, the following steps were carried out.
The very first step in the development of u-Rob's hardware was to study the anatomy and biomechanics of the human upper limb to find the safe ranges of motion [47,50,51].
Anthropometric parameters (e.g., arm length, arm segment's weight, and segment inertia) of the upper limbs were studied to obtain u-Rob's link parameters. To choose the suitable link parameters for u-Rob, the length, weight, inertia, and center of gravity location of the upper arm, forearm, and wrist were studied for typical white, Asian, African-American, Hispanic, and Latino adult men and women [50][51][52]. These parameters were also used in the simulation to choose actuators [52]. Note that u-Rob is wearable for adult men and women with heights ranging from 4 foot 7 inches to 6 foot 2 inches.
With the selected ranges of motion and lengths of the various segments, the mechanical components were designed, and a complete CAD model of the proposed exoskeleton robot (shown in Figure 1a) was developed in PTC Creo (version 5.0, Needham, MA, USA). This model provided the center of gravity and inertia properties of the proposed exoskeleton robot's segments.

Shoulder Module
According to human upper limb anatomy, there are three general motions (i.e., shoulder abduction-adduction in the frontal plane, shoulder vertical or horizontal flexion-extension in the sagittal plane, and internal-external rotation in the transverse plane) in the shoulder. These three movements are also known as glenohumeral (GH) articulations. The intersecting point of the axes of these three motions is often known as the center CNC milling, centering, and drilling operations were used to fabricate u-Rob's components.
u-Rob was made ready to function (please see Figure 1b) with all the components fabricated and assembled with the required screws and fasteners.
Throughout the following sub-sections, details of u-Rob's design and development are presented. Furthermore, design specifications and selected components of the developed u-Rob are presented in Table 2. Table 2. Design specifications and selected components of the developed u-Rob.

Shoulder Module
According to human upper limb anatomy, there are three general motions (i.e., shoulder abduction-adduction in the frontal plane, shoulder vertical or horizontal flexionextension in the sagittal plane, and internal-external rotation in the transverse plane) in the shoulder. These three movements are also known as glenohumeral (GH) articulations. The intersecting point of the axes of these three motions is often known as the center of the GH joint (also known as the shoulder joint's instantaneous center of rotation (ICR)). In addition to these three general motions, there are two other motions (i.e., elevation-depression and protraction-retraction) in the frontal plane and sagittal plane of the human body that produce shoulder abduction-adduction and flexion-extension, respectively; the conventional ball-and-socket joint cannot provide movement to the shoulder joint's center of rotation.
To realize additional movements in the frontal and sagittal planes, the shoulder motion support part of u-Rob was designed using a hybrid approach by incorporating both parallel and serial mechanisms, as shown in Figure 2. Two parallel mechanisms, namely, the frontal and sagittal mechanisms, as shown in Figures 3 and 4, were used in the design of the ergonomic shoulder module. These mechanisms were described in detail in the author's previous research [53][54][55][56]. When combined, these mechanisms allow for the mobility of the shoulder joint's instantaneous center of rotation by providing movement in the frontal and sagittal planes, respectively. Altogether, there were three actuated (active) DoFs and two passively actuated DoFs used in the ergonomic shoulder module. All the actuated DoFs are revolute joints and are responsible for doing the abduction-adduction (joint-1), vertical flexion-extension (joint-2), and internal-external rotation (joint-3), whereas two passive DoFs are responsible for moving the shoulder joint's ICR (passive joint-1) during abduction-adduction and doing the protraction-retraction (passive joint-2) during vertical flexion-extension. Note that the intersection of joint-1, joint-2, and joint-3 locates the shoulder joint's instantaneous center of rotation.
Micromachines 2021, 12, 870 6 of 32 of the GH joint (also known as the shoulder joint's instantaneous center of rotation (ICR)). In addition to these three general motions, there are two other motions (i.e., elevationdepression and protraction-retraction) in the frontal plane and sagittal plane of the human body that produce shoulder abduction-adduction and flexion-extension, respectively; the conventional ball-and-socket joint cannot provide movement to the shoulder joint's center of rotation. To realize additional movements in the frontal and sagittal planes, the shoulder motion support part of u-Rob was designed using a hybrid approach by incorporating both parallel and serial mechanisms, as shown in Figure 2. Two parallel mechanisms, namely, the frontal and sagittal mechanisms, as shown in Figures 3 and 4, were used in the design of the ergonomic shoulder module. These mechanisms were described in detail in the author's previous research [53][54][55][56]. When combined, these mechanisms allow for the mobility of the shoulder joint's instantaneous center of rotation by providing movement in the frontal and sagittal planes, respectively. Altogether, there were three actuated (active) DoFs and two passively actuated DoFs used in the ergonomic shoulder module. All the actuated DoFs are revolute joints and are responsible for doing the abduction-adduction (joint-1), vertical flexion-extension (joint-2), and internal-external rotation (joint-3), whereas two passive DoFs are responsible for moving the shoulder joint's ICR (passive joint-1) during abduction-adduction and doing the protraction-retraction (passive joint-2) during vertical flexion-extension. Note that the intersection of joint-1, joint-2, and joint-3 locates the shoulder joint's instantaneous center of rotation.      Figure 5 shows the exploded view of the frontal mechanism with all the parts used in the fabrication. All the parts, except standard elements (e.g., bearings, bushing, stainless steel shaft), were machined out of aluminum 6061. To provide linear motion, three standard (LM8LUU Linear bushing) sliders (part 3) and three 8 mm stainless steel shafts (part 2) were used, as shown in Figure 5. Note that three sets of sliders were used to prevent rotation of the slider around the axis of the shaft. The shafts were made to fit into the slider bore, whereas the sliders were inserted into the bores of the slider retainers (part 8). To prevent horizontal translation of the slider itself, two preregular plates (part 4) were fastened using M4 screws (part 5) at both ends of the slider retainer (part 8). Note that the slider retainer also connects the joint-2 assembly. To hold the shaft, two block parts (part 11) with the appropriate groove and slot were fabricated. These blocks were mounted on the plate (part 9) attached to joint-1. The link-1A (part 1) contains two standard ball bearings (6200Z 10 mm × 30 mm × 9 mm double-sealed ball bearings). These bearings were pressed fit and provide bearing support at two M10 screws. The left end of the link-1A (part 1) connected the shoulder joint CR on part 8 and was hinged at the right end.  Figure 5 shows the exploded view of the frontal mechanism with all the parts used in the fabrication. All the parts, except standard elements (e.g., bearings, bushing, stainless steel shaft), were machined out of aluminum 6061. To provide linear motion, three standard (LM8LUU Linear bushing) sliders (part 3) and three 8 mm stainless steel shafts (part 2) were used, as shown in Figure 5. Note that three sets of sliders were used to prevent rotation of the slider around the axis of the shaft. The shafts were made to fit into the slider bore, whereas the sliders were inserted into the bores of the slider retainers (part 8). To prevent horizontal translation of the slider itself, two preregular plates (part 4) were fastened using M4 screws (part 5) at both ends of the slider retainer (part 8). Note that the slider retainer also connects the joint-2 assembly. To hold the shaft, two block parts (part 11) with the appropriate groove and slot were fabricated. These blocks were mounted on the plate (part 9) attached to joint-1. The link-1A (part 1) contains two standard ball bearings (6200Z 10 mm × 30 mm × 9 mm double-sealed ball bearings). These bearings were pressed fit and provide bearing support at two M10 screws. The left end of the link-1A (part 1) connected the shoulder joint CR on part 8 and was hinged at the right end. Figure 6 shows an exploded view of the sagittal mechanism with the parts used to fabricate it. All the parts, except standard elements (e.g., bearings, bushing, stainless steel shafts), were machined out of aluminum 6061. To provide linear motion along the shaft axis, three standard (LM8LUU linear bushing) sliders (part 3) and three 8 mm stainless steel shafts (part 6) were used, as shown in Figure 6. The purpose of using three sliders was to prevent rotation of the slider retainer about the shaft axis. Link-2A (part 1) houses the shaft retainer (part 8). The sliders (part 3) were inserted into the slider retainer (part 7) that provides the linear motion along the shaft axis. In order to make a connection between link-2B (part 2), the slider retainer (part 7), and the upper arm module, a 3D printed part (part 9) was used. The adjustability of link 2B was achieved using an aluminum machine part (part 11) that was placed at the desired slot.

A New Sensorized Upper Arm Cuff
Designing an upper arm cuff with force sensors always remains a crucial problem. Unlike the wrist sensor, placing sensors in the upper arm is difficult in terms of providing the adequate space that standard three-axis and six-axis force sensors may require. Instead of putting the sensors in the serial link, this research came up with a new approach that places the sensors on the upper arm circular cuff. Both button-type force sensors and flexible pressure sensors can be placed on the cuff wall; however, flexible pressure sensors' accuracy and resolution are debatable. Therefore, in this research, three button-type force sensors were used. Figure 7 shows the sensorized cuff assembly for the upper arm. In order to allow for rotation in the upper arm, as shown in Figure 7, the outer cuff remains stationary while the inner cuff rotates. The reduction of actuator-3's speed was achieved in two stages. First, the motor speed was reduced using a harmonic reducer (CSF-11-100-2XH-F, Harmonic Drive LLC, US Headquarter, Dunham Ridge, MA, USA). After that, the speed was further reduced using a standard anti-backlash spur gear. Finally, the motion was transmitted to the custom-made semi-circular ring (spur). This gear was fastened to the inner cuff. Thus, the inner cuff produces the rotation to realize upper arm internal-external movement.  Figure 6 shows an exploded view of the sagittal mechanism with the parts used to fabricate it. All the parts, except standard elements (e.g., bearings, bushing, stainless steel shafts), were machined out of aluminum 6061. To provide linear motion along the shaft axis, three standard (LM8LUU linear bushing) sliders (part 3) and three 8 mm stainless steel shafts (part 6) were used, as shown in Figure 6. The purpose of using three sliders was to prevent rotation of the slider retainer about the shaft axis. Link-2A (part 1) houses the shaft retainer (part 8). The sliders (part 3) were inserted into the slider retainer (part 7) that provides the linear motion along the shaft axis. In order to make a connection between link-2B (part 2), the slider retainer (part 7), and the upper arm module, a 3D printed part (part 9) was used. The adjustability of link 2B was achieved using an aluminum machine

A New Sensorized Upper Arm Cuff
Designing an upper arm cuff with force sensors always remains a crucial problem. Unlike the wrist sensor, placing sensors in the upper arm is difficult in terms of providing the adequate space that standard three-axis and six-axis force sensors may require. Instead of putting the sensors in the serial link, this research came up with a new approach that places the sensors on the upper arm circular cuff. Both button-type force sensors and flexible pressure sensors can be placed on the cuff wall; however, flexible pressure sensors' accuracy and resolution are debatable. Therefore, in this research, three button-type force sensors were used. Figure 7 shows the sensorized cuff assembly for the upper arm. In order to allow for rotation in the upper arm, as shown in Figure 7, the outer cuff remains stationary while the inner cuff rotates. The reduction of actuator-3's speed was achieved in two stages. First, the motor speed was reduced using a harmonic reducer (CSF-11-100-2XH-F, Harmonic Drive LLC, US Headquarter, Dunham Ridge, MA, USA). After that, the speed was further reduced using a standard anti-backlash spur gear. Finally, the motion was transmitted to the custom-made semi-circular ring (spur). This gear was fastened to the inner cuff. Thus, the inner cuff produces the rotation to realize upper arm internal-external movement.  To measure the upper arm force, three button-type force sensors (part 2) were mounted on the inner cuff (part 1), as shown in Figure 8. The sensors were fastened using three M3 screws (part 3) that were spaced at 120°. The user cuff (part 5) was placed inside the rectangular groove of the inner cuff (part 1). Two ball plungers mounted on the inner cuff (part 1) maintain the initial tension of the user cuff on the force sensors. To produce the upper arm rotation, the inner cuff houses a custom-made semi-circular spur gear (part 4). This gear meshes with an anti-backlash spur gear (Model LFS-D6-80, Nordex, Inc, Brookfield, CT, USA) that transfers output motion from the joint-3 actuator. The bearing action between the inner cuff and outer cuff (coming from joint-2) is provided by a bearing sleeve. The bearing action in the sleeve was achieved using steel balls, which were placed inside the circular guide. Thus, bearing action is provided during the relative movement of the inner and outer cuff. To measure the upper arm force, three button-type force sensors (part 2) were mounted on the inner cuff (part 1), as shown in Figure 8. The sensors were fastened using three M3 screws (part 3) that were spaced at 120 • . The user cuff (part 5) was placed inside the rectangular groove of the inner cuff (part 1). Two ball plungers mounted on the inner cuff (part 1) maintain the initial tension of the user cuff on the force sensors. To produce the upper arm rotation, the inner cuff houses a custom-made semi-circular spur gear (part 4). This gear meshes with an anti-backlash spur gear (Model LFS-D6-80, Nordex, Inc, Brookfield, CT, USA) that transfers output motion from the joint-3 actuator. The bearing action between the inner cuff and outer cuff (coming from joint-2) is provided by a bearing sleeve. The bearing action in the sleeve was achieved using steel balls, which were placed inside the circular guide. Thus, bearing action is provided during the relative movement of the inner and outer cuff.
To measure the upper arm force, three button-type force sensors (part 2) were mounted on the inner cuff (part 1), as shown in Figure 8. The sensors were fastened using three M3 screws (part 3) that were spaced at 120°. The user cuff (part 5) was placed inside the rectangular groove of the inner cuff (part 1). Two ball plungers mounted on the inner cuff (part 1) maintain the initial tension of the user cuff on the force sensors. To produce the upper arm rotation, the inner cuff houses a custom-made semi-circular spur gear (part 4). This gear meshes with an anti-backlash spur gear (Model LFS-D6-80, Nordex, Inc, Brookfield, CT, USA) that transfers output motion from the joint-3 actuator. The bearing action between the inner cuff and outer cuff (coming from joint-2) is provided by a bearing sleeve. The bearing action in the sleeve was achieved using steel balls, which were placed inside the circular guide. Thus, bearing action is provided during the relative movement of the inner and outer cuff. The inner cuff was machined in both a lathe and a computer numerical control (CNC) mill; an aluminum 6061 hollow round bar was used in the fabrication. The user cuff was 3D printed; hence, it can be easily made for different user sizes. The semi-circular spur gear was machined out of stainless steel. The inner cuff was machined in both a lathe and a computer numerical control (CNC) mill; an aluminum 6061 hollow round bar was used in the fabrication. The user cuff was 3D printed; hence, it can be easily made for different user sizes. The semi-circular spur gear was machined out of stainless steel.

Elbow Module
The elbow module is responsible for realizing flexion-extension at the elbow and pronation-supination at the forearm. The elbow flexion-extension is achieved through the actuator-4 assembly, which consists of a motor, a harmonic reducer, and an output adapter. The output of the actuator-4 assembly was fastened to the forearm link, as shown in Figure 9. The forearm link houses the forearm cuff assembly, the exploded view of which is shown in Figure 10. This cuff is similar to the upper arm cuff, therefore a detailed description is avoided here.

Elbow Module
The elbow module is responsible for realizing flexion-extension at the elbow and pronation-supination at the forearm. The elbow flexion-extension is achieved through the actuator-4 assembly, which consists of a motor, a harmonic reducer, and an output adapter. The output of the actuator-4 assembly was fastened to the forearm link, as shown in Figure 9. The forearm link houses the forearm cuff assembly, the exploded view of which is shown in Figure 10. This cuff is similar to the upper arm cuff, therefore a detailed description is avoided here.     In the fabrication of the forearm motion support part, aluminum (aluminum 6061) was used for the forearm link, outer cuff, and inner cuff. Both lathe and CNC milling were used in the fabrication. The machining operations included facing, 2D adaptive clearing, contouring, groove cutting, turning, drilling, and chamfering. The custom-made semi-circular ring (spur) gear was fabricated out of stainless steel (stainless steel 304). The sleeves in the forearm cuff assembly were 3D printed using 1.75 mm PLA filament. The balls used in the forearm cuff assembly are standard 4 mm stainless steel balls.

Wrist Module
The wrist module of the proposed exoskeleton functionality of u-Rob consists of two revolute joints to provide wrist radial-ulnar deviation and flexion-extension. Moreover, a force sensor was placed at the wrist handle to sense three Cartesian forces exerted by the user. As shown in Figure 11, the actuator assembly for joint-6 was mounted on the joint-6 base link; the base link was rigidly connected to the output of the forearm cuff. The output of actuator-6 was then fastened to wrist link-1. Note that the base link was designed so that it acts as a physical stopper for wrist link-1. The other end of wrist link-1 was rigidly fastened to wrist link-2, which houses the actuator assembly for joint-7. The output of actuator-7 was connected to wrist link-3 with a force sensor in between. The integration of the force sensor into the wrist module is shown in Figure 12. In the fabrication of the forearm motion support part, aluminum (aluminum 6061) was used for the forearm link, outer cuff, and inner cuff. Both lathe and CNC milling were used in the fabrication. The machining operations included facing, 2D adaptive clearing, contouring, groove cutting, turning, drilling, and chamfering. The custom-made semi-circular ring (spur) gear was fabricated out of stainless steel (stainless steel 304). The sleeves in the forearm cuff assembly were 3D printed using 1.75 mm PLA filament. The balls used in the forearm cuff assembly are standard 4 mm stainless steel balls.

Wrist Module
The wrist module of the proposed exoskeleton functionality of u-Rob consists of two revolute joints to provide wrist radial-ulnar deviation and flexion-extension. Moreover, a force sensor was placed at the wrist handle to sense three Cartesian forces exerted by the user. As shown in Figure 11, the actuator assembly for joint-6 was mounted on the joint-6 base link; the base link was rigidly connected to the output of the forearm cuff. The output of actuator-6 was then fastened to wrist link-1. Note that the base link was designed so that it acts as a physical stopper for wrist link-1. The other end of wrist link-1 was rigidly fastened to wrist link-2, which houses the actuator assembly for joint-7. The output of actuator-7 was connected to wrist link-3 with a force sensor in between. The integration of the force sensor into the wrist module is shown in Figure 12.  During the fabrication of the wrist motion support part, aluminum was used for the fabrication of the joint-6 base link, wrist link-1, wrist link-2, wrist link-3, and plate-1. The computer-aided manufacturing (CAM) of these parts was designed in AutoCAD Fusion 360 and machined in CNC. The operations used during the milling included facing, 2D adaptive clearing, contouring, drilling, and chamfering. The wrist handle and plate-2 were 3D printed.
To reduce the motor speeds, harmonic reducers (strain wave gears) were used. Because of being advantageous over traditional gears, this kind of reducer has been increasingly used over the past several years. The reason for selecting a harmonic reducer in the u-Rob exoskeleton robot was to provide zero-backlash motion. In u-Rob, harmonic reducers from two companies were used. Joint-1, 2, 3, and 4 used harmonic reducers from Harmonic Drive LLC, US Headquarter, Dunham Ridge, MA, USA, whereas joint-5, 6, and 7 used reducers from Leaderdrive, Suzhou, China.

Mass and Inertia Properties of the Proposed Exoskeleton Robot
The mass and mass moment of the inertia about the center of gravity (CG) for the segments of the proposed exoskeleton robot were determined in the CAD environment in PTC Creo and are presented in Table 3. Mass properties were also validated by checking the mass of the real parts of the proposed exoskeleton robot. The segment was determined according to the movement. For instance, the first segment is every element situated after the joint-1 actuator output and before the joint-2 actuator output. During the fabrication of the wrist motion support part, aluminum was used for the fabrication of the joint-6 base link, wrist link-1, wrist link-2, wrist link-3, and plate-1. The computer-aided manufacturing (CAM) of these parts was designed in AutoCAD Fusion 360 and machined in CNC. The operations used during the milling included facing, 2D adaptive clearing, contouring, drilling, and chamfering. The wrist handle and plate-2 were 3D printed.
To reduce the motor speeds, harmonic reducers (strain wave gears) were used. Because of being advantageous over traditional gears, this kind of reducer has been increasingly used over the past several years. The reason for selecting a harmonic reducer in the u-Rob exoskeleton robot was to provide zero-backlash motion. In u-Rob, harmonic reducers from two companies were used. Joint-1, 2, 3, and 4 used harmonic reducers from Harmonic Drive LLC, US Headquarter, Dunham Ridge, MA, USA, whereas joint-5, 6, and 7 used reducers from Leaderdrive, Suzhou, China.

Mass and Inertia Properties of the Proposed Exoskeleton Robot
The mass and mass moment of the inertia about the center of gravity (CG) for the segments of the proposed exoskeleton robot were determined in the CAD environment in PTC Creo and are presented in Table 3. Mass properties were also validated by checking the mass of the real parts of the proposed exoskeleton robot. The segment was determined according to the movement. For instance, the first segment is every element situated after the joint-1 actuator output and before the joint-2 actuator output.

Safety
Safety is paramount as upper limb exoskeleton robots have close interactions with wearers. Human-robot interaction must be designed to ensure safe operations. An HRI should include safety measures in the mechanical, electronic, and control designs for the robot's safe use. Mechanically, safety is ensured by placing physical stoppers in the robot's structure to prevent it from going beyond the chosen ROM; safety can also be confirmed by designing links and robot parts in such a way that adjacent links act as physical stoppers in extremes. In u-Rob, adjacent links were designed to work as inherent physical stoppers for the chosen range of motion. Electronically, by setting current and voltage limits in motors, robot joints can be stopped from going beyond the permissible ROM. In control design, saturation can be set for torque, force, velocity, and position to ensure the wearer's safety if the robot malfunctions. u-Rob's control algorithm includes thresholds for ROM, velocity, force, and torque; one can easily change and set them from u-Rob's graphical user interface.

Kinematics
The kinematic parameters (position, velocity, and acceleration) of robotic manipulators can be determined using analytical or geometric approaches. The analytical approach involves the vector formation of kinematic parameters and their vector operation, leading to obtaining the kinematic model. However, in the case of a serial manipulator, robotic researchers have extensively been interested in using modified Denavit-Hartenberg parameters [57] due to their simplicity and ease of use in applications (e.g., developing forward kinematics, inverse kinematics, Jacobians, and dynamic model). Since u-Rob is composed of both serial linkage and parallel mechanisms, a combined approach was applied to find the kinematics. The analytical approach was used to find the kinematics of parallel mechanisms and is discussed in Sections 3.1.1 and 3.1.2 (i.e., frontal and sagittal mechanisms, respectively). The modified Denavit-Hartenberg convention was applied to obtain the kinematics of the serial linkage portion [57]. Note that the kinematic model of u-Rob was developed on the basis of the anatomy and biomechanics of the human upper limb.

Kinematics of the Frontal Mechanism
To obtain the forward kinematics of the frontal mechanism (please see Figure 3), the following vectors, namely, → L 1 , → L 11 and → L 12 , were formed, as shown in Figure 3. Using these vectors, the following closed-loop equation (Equation (1)) was formed: The Equation (1) is a function of θ 1 where L 11 , θ 11 , and L 12 are known values that depend on the geometry of the function. With these values, the unknowns L 1 and θ 12 can be found.
To obtain the solution for θ 12 , the sine component of Equation (2) was divided by the cosine component as follows.

Kinematics of the Sagittal Mechanism
To obtain the forward kinematics of the sagittal mechanism, the following vectors,  After squaring both components of the above equation (Equation (5)) and then adding, we obtained the following: ⇒ cos + sin = cos + sin + cos + sin − 2 cos cos − 2 sin sin Figure 13. Vector formation of links in the sagittal mechanism.
Equation (5) is a function of θ 2 where L 21 , θ 21 , and L 22 are known values that depend on the geometry of the function. With these values, the unknowns L 2 and θ 22 can be found.
To obtain the solution for θ 22 , the sine component of Equation (5) was divided by its cosine component as follows: Equations (6) and (7) are then used to solve for the forward kinematics of the sagittal mechanism.

Kinematics of the Whole Robot
According to the modified Denavit-Hartenberg (DH) convention [57], the coordinate frames were assigned based on the human arm's joint axes of rotation. Figure 14 shows the coordinate frame assignment of u-Rob for all of its joints, where black arrowheads indicate the joint axes of rotation of u-Rob corresponding to that of the human upper limb. The modified DH parameters corresponding to the placement of the link frames (as shown in Figure 14) are computed and presented in Table 4.
Using the modified DH parameters, a homogenous transformation matrix between two successive frame {i} and frame {i − 1} [57,58] was obtained using the following equation (Equation (8)): where i−1 i R is the rotation matrix that describes the frame {i} relative to frame {i − 1} and can be expressed as: Furthermore, i−1 i P is the vector that locates the origin of the frame {i} relative to frame {i − 1} and can be expressed as: Because of the two parallel mechanisms, the homogenous transformations for frame {1} and frame {2} were obtained using a hybrid approach [59,60]. The transformation for the rest frames can be obtained using the modified DH convention.
Frame {1}: Using Equations (8)-(10), the following transformation was obtained: However, as mentioned earlier, the slider in the frontal mechanism was initially placed at 45 • . This initial placement gives the frame {1} a rotation of 45 • , which caused offsets in the x and y positions. Therefore, with the modified DH convention and kinematics of frontal mechanism, the homogenous transformation between frame {1} and frame {0} was obtained as follows: The homogenous transformation matrices for the rest frames were found using Equations (8)-(10) as they involved only serial links.
The homogenous transformation matrix that represents frame {8} with respect to frame {0} was obtained by multiplying individual transformation matrices: The equation obtained from this transformation matrix is known as the forward kinematic equation. With the joint variable of each joint (q 1 , q 2 , q 3 , q 4 , q 5 , q 6 and q 7 ), Equation (11) gives the position and orientation of the end-effector frame (wearer's hand) with respect to the reference (base) frame.

Jacobian
The linear velocity vector of u-Rob's end-effector frame (i.e., frame {8}) comprises velocities along three Cartesian axes. In contrast, the rotational velocity vector contains angular velocities around three Cartesian axes. From this velocity vector, the Jacobian of u-Rob's (i.e., J(q) is a 6 × 7 matrix) end-effector velocities was computed in MATLAB (version R2018a, MathWorks, Natick, MA, USA) with respect to the end-effector frame. In addition, the Jacobian was also calculated with respect to the base frame. Note that u-Rob is a redundant manipulator; hence, its Jacobian is not a square matrix. Using Equation (12), the pseudo-inverse of the Jacobian can be calculated [61]:

Dynamics
The dynamic equations of u-Rob were derived from the iterative Newton-Euler formulation as follows [58]: where M(q) is the 7 × 7 mass matrix of the manipulator, V q, . q is a 7 × 1 dimension vector composed of centrifugal and Coriolis terms, and G(q) is a 7 × 1 vector of gravity terms. In addition, F q, . q is a 7 × 1 vector of nonlinear Coulomb friction and can be expressed using the following relation with a coefficient of friction c. However, the M, V, G, and F matrices are large and hence not included in this work.

Control
To test the desired functionality of the developed exoskeleton robot, a simple PID controller based on state feedback, as shown in Equation (15), was implemented in this research. The trajectory of the exercise was controlled by manipulating the joint torque computed by a PID controller: q, K P , K V and K I are diagonal matrices for the proportional, derivative, and integral gains, respectively. q d , .
q d ∈ R 2×1 are the vectors of the desired joint positions and velocities. q, . q ∈ R 2×1 are the vectors of the actual/measured joint positions and velocities. The stability of such a control system depends on the proper choice of proportional (K P ), integral (K I ), and derivative gains (K V ). The proper choice of these gains makes the controller stable. In this research, the PID gains were set for u-Rob using trial and error. The chosen gains used in the experiment were K P = diag(2200, 1800, 300, 300, 100, 150, 180), K I = diag (50,40,30,25,18,15,15), and K V = diag (20,18,16,15,10,8,7).
Joint-based control was implemented for the exoskeleton setup, as shown in Figure 15a, while Cartesian-based control was implemented for the end-effector setup, as shown in Figure 15b. As shown in Figure 15a, for the joint-based control, desired trajectory/states (i.e., joint position and velocity) of the given exercise are sent to the controller. Based on the error calculated from the desired states (i.e., position and velocity) and feedback (i.e., robot joints' actual position and velocity) obtained from the motor hall sensors, the controller estimates the necessary torques. The torque values are then converted into motor currents using appropriate torque constants. These current values are referred to as the desired currents, which can then be regulated by a PI controller. This controller operates on the error between the desired current and actual/measured current obtained from the current monitors in the motor drivers. The measured current is refined using a second-order filter. The natural frequency and damping ratio used in the filter were 25 rad/s and 0.85, respectively. The estimated currents from the PI current controller are then converted into a reference voltage. Finally, voltage commands are sent to the actuator to maneuver u-Rob's joints. On the other hand, for the Cartesian-based control, end-effector's desired position and velocity are converted into desired joint states (position and velocity) using the inverse of the Jacobian and feedback (i.e., robot joints' actual position and velocity) obtained from the motor hall sensors. Then, the desired joint position and velocities are sent to a controller, which estimates the torque and eventually sends voltage commands to the robot actuators.
The instrumentation for the control setup of u-Rob is shown in Figure 16. A host PC and a PXI real-time target are the main elements of the electrical and electronic configuration of the developed u-Rob rehabilitation system. The real-time target consists of a National Instruments PXIe-8135 real-time controller (Industrial PC) with two PXI reconfigurable IO (i.e., PXIe 6738 and PXIe 6254) cards with an embedded FPGA housed in a PXIe-1078 chassis, a mainboard, seven motor driver cards, and actuators. All joint motors are equipped with Hall sensors. The Hall sensors' data were used to measure the positions of the robot joints. The Hall sensor data was sampled every 100 µs.
into a reference voltage. Finally, voltage commands are sent to the actuator to maneuver u-Rob's joints. On the other hand, for the Cartesian-based control, end-effector's desired position and velocity are converted into desired joint states (position and velocity) using the inverse of the Jacobian and feedback (i.e., robot joints' actual position and velocity) obtained from the motor hall sensors. Then, the desired joint position and velocities are sent to a controller, which estimates the torque and eventually sends voltage commands to the robot actuators.  The instrumentation for the control setup of u-Rob is shown in Figure 16. A host PC and a PXI real-time target are the main elements of the electrical and electronic configuration of the developed u-Rob rehabilitation system. The real-time target consists of a National Instruments PXIe-8135 real-time controller (Industrial PC) with two PXI reconfigurable IO (i.e., PXIe 6738 and PXIe 6254) cards with an embedded FPGA housed in a PXIe-1078 chassis, a mainboard, seven motor driver cards, and actuators. All joint motors are equipped with Hall sensors. The Hall sensors' data were used to measure the positions of the robot joints. The Hall sensor data was sampled every 100 μs. A graphical user interface (GUI) on the host PC was developed in LabVIEW (version runtime 2019, National Instruments, Austin, TX, USA). The user can set the developed exoskeleton robot's home position and initial position and activate and deactivate the joint motor in the GUI. It also lets the operator select the trajectory and type of functionality (i.e., joint-based or Cartesian-based exercise). The input via the user interface in the host PC is sent to the PXIe real-time target, and after the completion of each trajectory run, the data recorded in the PXI real-time target is sent back to the host PC via a file transfer protocol for storage.

Experiments and Results
The functionality of the developed u-Rob exoskeleton system was validated via experiments. Both joint-based exercises and end-point exercises were conducted to validate the exoskeleton-type and end-effector-type functionalities; the experimental setups for A graphical user interface (GUI) on the host PC was developed in LabVIEW (version runtime 2019, National Instruments, Austin, TX, USA). The user can set the developed exoskeleton robot's home position and initial position and activate and deactivate the joint motor in the GUI. It also lets the operator select the trajectory and type of functionality (i.e., joint-based or Cartesian-based exercise). The input via the user interface in the host PC is sent to the PXIe real-time target, and after the completion of each trajectory run, the data recorded in the PXI real-time target is sent back to the host PC via a file transfer protocol for storage.

Experiments and Results
The functionality of the developed u-Rob exoskeleton system was validated via experiments. Both joint-based exercises and end-point exercises were conducted to validate the exoskeleton-type and end-effector-type functionalities; the experimental setups for both types are shown in Figure 17. The exercises used in the experiments were passive exercises adapted from the recommended library of exercises from the standard rehabilitation therapy protocol [62,63]. The exercises were transformed to a pre-defined trajectory using a cubic polynomial approach for the robot to follow (Craig 2017). The experiment was conducted with five healthy subjects (age: 28 ± 3 years, weight: 165 ± 30 lbs, height: 5 foot 5 inches ± 5 inches). The study was approved by the Institutional Review Board (IRB#:19.064; study title: Experiment of the human natural range of motion with developed robotic device for upper limb rehabilitation). The experiments were conducted for both individual joint and multi-joint movements. To demonstrate the experimental results, plots of the joint position vs. time, error between the reference and actual position, velocity vs. time, and torque vs. time are presented. Moreover, force sensors' data from one three-axis force sensor instrumented at the wrist joint and three one-axis force sensors instrumented with upper arm cuff are plotted. The red dotted line represents the reference (desired) value for the position and velocity tracking, whereas the solid blue line represents the actual value.  On the left, the subject is wearing u-Rob as an exoskeleton-type setup for joint-based exercises, whereas on the right, the subject is wearing u-Rob as an end-effector-type setup for end-point exercises.

Experimental Results for Joint-Based Exercises (Exoskeleton-Type Setup)
Experiments were conducted for all kinds of exercises with varying speeds. To avoid redundancy, only three individual joint exercises are described in Sections 5.1.1-5.1.3 and two multi-joint exercises are described in Sections 5.1.4 and 5.1.5. Furthermore, interaction force plots are given only for individual-joint exercises.

Shoulder Abduction-Adduction Exercise
This repetitive exercise was initiated with all joints at the zero position, and then the shoulder was abducted to 75° and returned to 0°. After a second, the same movement was repeated with a slower velocity. The result of the experiment is shown in Figure 18. From the figure's topmost plot, it is clearly seen that the actual position and reference position almost overlapped, meaning the proposed exoskeleton robot followed the given (reference) position. The maximum error for the position tracking was found to be 1.09°, which shows the excellent tracking performance of the controller. The maximum velocities during the first and second repetitions were 30 deg/s and 20 deg/s, respectively. Figure 17. On the left, the subject is wearing u-Rob as an exoskeleton-type setup for joint-based exercises, whereas on the right, the subject is wearing u-Rob as an end-effector-type setup for end-point exercises.

Experimental Results for Joint-Based Exercises (Exoskeleton-Type Setup)
Experiments were conducted for all kinds of exercises with varying speeds. To avoid redundancy, only three individual joint exercises are described in Sections 5.1.1-5.1.3 and two multi-joint exercises are described in Sections 5.1.4 and 5.1.5. Furthermore, interaction force plots are given only for individual-joint exercises.

Shoulder Abduction-Adduction Exercise
This repetitive exercise was initiated with all joints at the zero position, and then the shoulder was abducted to 75 • and returned to 0 • . After a second, the same movement was repeated with a slower velocity. The result of the experiment is shown in Figure 18. From the figure's topmost plot, it is clearly seen that the actual position and reference position almost overlapped, meaning the proposed exoskeleton robot followed the given (reference) position. The maximum error for the position tracking was found to be 1.09 • , which shows the excellent tracking performance of the controller. The maximum velocities during the first and second repetitions were 30 deg/s and 20 deg/s, respectively. The forces exerted by the subject at the wrist and upper arm are shown in Figure 19. The figure shows that the subject interacted mostly at the x-and y-axes of the end-effector. At the upper arm, most interactions happened in the positive y3-direction of the end-effector. These results demonstrate the interaction/resistance between the subject and the proposed exoskeleton robot. This resistance can be quantified and read on an appropriate scale to measure the user's discomfort, arm stiffness, and so on.  The forces exerted by the subject at the wrist and upper arm are shown in Figure 19. The figure shows that the subject interacted mostly at the xand y-axes of the end-effector. At the upper arm, most interactions happened in the positive y3-direction of the endeffector. These results demonstrate the interaction/resistance between the subject and the proposed exoskeleton robot. This resistance can be quantified and read on an appropriate scale to measure the user's discomfort, arm stiffness, and so on. The forces exerted by the subject at the wrist and upper arm are shown in Figure 19. The figure shows that the subject interacted mostly at the x-and y-axes of the end-effector. At the upper arm, most interactions happened in the positive y3-direction of the end-effector. These results demonstrate the interaction/resistance between the subject and the proposed exoskeleton robot. This resistance can be quantified and read on an appropriate scale to measure the user's discomfort, arm stiffness, and so on.

Shoulder Vertical Flexion-Extension Exercise
This repetitive exercise was initiated with all joints at the zero position, and then the shoulder was vertically flexed to 170 • and returned to 0 • . The exercise was repeated with a slower velocity. The experimental results are shown in Figure 20. The maximum error for the position tracking was found to be around 0.91 • , which shows the excellent tracking performance of the controller. The maximum velocities during the first and second repetitions were 60 deg/s and 45 deg/s, respectively. The force plots are shown in Figure 21. It is seen that the subject mostly exerted forces along the x3-axis at the upper arm. The force sensor interacted with the subject the most during the shoulder joint vertical flexion. This repetitive exercise was initiated with all joints at the zero position, and then the shoulder was vertically flexed to 170° and returned to 0°. The exercise was repeated with a slower velocity. The experimental results are shown in Figure 20. The maximum error for the position tracking was found to be around 0.91°, which shows the excellent tracking performance of the controller. The maximum velocities during the first and second repetitions were 60 deg/s and 45 deg/s, respectively. The force plots are shown in Figure 21. It is seen that the subject mostly exerted forces along the x3-axis at the upper arm. The force sensor interacted with the subject the most during the shoulder joint vertical flexion.   This repetitive exercise was initiated with all joints at the zero position, and then the shoulder was vertically flexed to 170° and returned to 0°. The exercise was repeated with a slower velocity. The experimental results are shown in Figure 20. The maximum error for the position tracking was found to be around 0.91°, which shows the excellent tracking performance of the controller. The maximum velocities during the first and second repetitions were 60 deg/s and 45 deg/s, respectively. The force plots are shown in Figure 21. It is seen that the subject mostly exerted forces along the x3-axis at the upper arm. The force sensor interacted with the subject the most during the shoulder joint vertical flexion.

Wrist Flexion-Extension Exercise
This repetitive exercise was initiated with the elbow joint angle at a 90 • angle and maintained that position during the experiment. All other joints remained at the zero position. From the initial position, the wrist was extended to 55 • and then flexed to 50 • . The exercise ended with the wrist returned to the initial position. The trajectory tracking results are shown in Figure 22. Once again, the error of the position tracking was observed to be less than 1 • . This repetitive exercise was initiated with the elbow joint angle at a 90° angle and maintained that position during the experiment. All other joints remained at the zero position. From the initial position, the wrist was extended to 55° and then flexed to 50°. The exercise ended with the wrist returned to the initial position. The trajectory tracking results are shown in Figure 22. Once again, the error of the position tracking was observed to be less than 1°. This exercise involved the simultaneous movement of all joints, except joint-7 (wrist flexion-extension). It replicated a diagonal reaching movement that started moving from an initial position (all joints were at 0° while the elbow was at a 90° position) to the reaching position (abduction 15°, vertical flexion 90°, external rotation 45°, elbow flexion 10°, forearm pronation 45°, and wrist ulnar deviation 15°), and then returned to the initial position. As observed from Figure 23, the results show that the developed exoskeleton robot followed the reference trajectory. From the figure, it is seen that the position error for all the joints remained below 2°. The maximum error (1.85°) was found for the elbow joint. This exercise involved the simultaneous movement of all joints, except joint-7 (wrist flexion-extension). It replicated a diagonal reaching movement that started moving from an initial position (all joints were at 0 • while the elbow was at a 90 • position) to the reaching position (abduction 15 • , vertical flexion 90 • , external rotation 45 • , elbow flexion 10 • , forearm pronation 45 • , and wrist ulnar deviation 15 • ), and then returned to the initial position. As observed from Figure 23, the results show that the developed exoskeleton robot followed the reference trajectory. From the figure, it is seen that the position error for all the joints remained below 2 • . The maximum error (1.85 • ) was found for the elbow joint.

Diagonal Reaching Exercise
This diagonal reaching exercise comprised shoulder, elbow, and wrist joints movements. The exercise was initiated with the elbow at 90 • . Then, the shoulder joint was abducted from 0 • to 45 • and adducted back to 0 • at the end of the exercise. The shoulder was also vertically flexed from 0 • to 90 • and extended back to 0 • at the end of the training. During the movement of the shoulder, the elbow was extended to 90 • and returned to 0 • . In the meantime, the wrist was extended to 50 • and returned to zero. The experimental results are shown in Figure 24. The maximum error between the reference and actual position was observed to be around 1.81 • for joint 4.

Diagonal Reaching Exercise
This diagonal reaching exercise comprised shoulder, elbow, and wrist joints movements. The exercise was initiated with the elbow at 90°. Then, the shoulder joint was abducted from 0° to 45° and adducted back to 0° at the end of the exercise. The shoulder was also vertically flexed from 0° to 90° and extended back to 0° at the end of the training. During the movement of the shoulder, the elbow was extended to 90° and returned to 0°. In the meantime, the wrist was extended to 50° and returned to zero. The experimental results are shown in Figure 24. The maximum error between the reference and actual position was observed to be around 1.81° for joint 4.

Diagonal Reaching Exercise
This diagonal reaching exercise comprised shoulder, elbow, and wrist joints movements. The exercise was initiated with the elbow at 90°. Then, the shoulder joint was abducted from 0° to 45° and adducted back to 0° at the end of the exercise. The shoulder was also vertically flexed from 0° to 90° and extended back to 0° at the end of the training. During the movement of the shoulder, the elbow was extended to 90° and returned to 0°. In the meantime, the wrist was extended to 50° and returned to zero. The experimental results are shown in Figure 24. The maximum error between the reference and actual position was observed to be around 1.81° for joint 4.

Experimental Results for End-Point Exercises (End-Effector-Type Setup)
To conduct end-point exercises with the developed u-Rob, Cartesian control was used. In Cartesian control, the proposed exoskeleton robot was given the positions and orientation of the end-effector. Using a cubic polynomial, these positions and orientations were then transformed into end-effector Cartesian velocities. The inverse kinematic solution was obtained for u-Rob with these velocities using an inverse Jacobian. The control architecture of the Cartesian control is depicted in Figure 15. In the following subsections, the experimental results of three reaching exercises are presented to show the end-effectortype functionality of the developed u-Rob.

Reaching Exercise in the Transverse Plane
In this exercise, while carrying the subject's limb, the exoskeleton robot moved from a point to another point in the transverse plane, as shown in Figure 25. The top plot shows the position tracking of the end-effector in 3D space, whereas the bottom plots show the Cartesian trajectory tracking of the exoskeleton in terms of the x, y, and z positions and the corresponding tracking errors. This kind of motion resembled tasks like wiping a table. The end-effector position was tracked nicely; the maximum error found was 1 cm, which occurred in the y-axis.
used. In Cartesian control, the proposed exoskeleton robot was given the positions and orientation of the end-effector. Using a cubic polynomial, these positions and orientations were then transformed into end-effector Cartesian velocities. The inverse kinematic solution was obtained for u-Rob with these velocities using an inverse Jacobian. The control architecture of the Cartesian control is depicted in Figure 15. In the following subsections, the experimental results of three reaching exercises are presented to show the end-effector-type functionality of the developed u-Rob.

Reaching Exercise in the Transverse Plane
In this exercise, while carrying the subject's limb, the exoskeleton robot moved from a point to another point in the transverse plane, as shown in Figure 25. The top plot shows the position tracking of the end-effector in 3D space, whereas the bottom plots show the Cartesian trajectory tracking of the exoskeleton in terms of the x, y, and z positions and the corresponding tracking errors. This kind of motion resembled tasks like wiping a table. The end-effector position was tracked nicely; the maximum error found was 1 cm, which occurred in the y-axis.

Forward Reaching in the Sagittal Plane
This kind of exercise is similar to pulling or pushing an object (e.g., opening a door). The end-effector reached the target (blue marker) and then returned to the initial position. The experimental results for this exercise are shown in Figure 26. The maximum error (2.12 cm) was found in the x8-direction.

Forward Reaching in the Sagittal Plane
This kind of exercise is similar to pulling or pushing an object (e.g., opening a door). The end-effector reached the target (blue marker) and then returned to the initial position. The experimental results for this exercise are shown in Figure 26. The maximum error (2.12 cm) was found in the x8-direction.

A 3D Reaching Exercise
In this exercise, as shown in Figure 27, the end-effector reached a point (i.e., point-1) in 3D space from the start position. After that, it went to point-2. The result shows excellent tracking with an error below 1.5 cm.
Looking at the results from all the experiments, it was concluded that the developed u-Rob robot could function as both an exoskeleton-type and end-effector-type robot. Furthermore, experimental results show that the PID controller could efficiently run u-Rob with negligible tracking error to perform a variety of rehabilitation exercises involving single-joint movement, multi-joint movements, and Cartesian-based movement. Thus, u-Rob should be adequate for performing passive rehabilitation of an impaired upper limb.

A 3D Reaching Exercise
In this exercise, as shown in Figure 27, the end-effector reached a point (i.e., point-1) in 3D space from the start position. After that, it went to point-2. The result shows excellent tracking with an error below 1.5 cm.
Looking at the results from all the experiments, it was concluded that the developed u-Rob robot could function as both an exoskeleton-type and end-effector-type robot. Furthermore, experimental results show that the PID controller could efficiently run u-Rob with negligible tracking error to perform a variety of rehabilitation exercises involving single-joint movement, multi-joint movements, and Cartesian-based movement. Thus, u-Rob should be adequate for performing passive rehabilitation of an impaired upper limb.

Conclusions
This research developed a seven-DoF upper limb rehabilitation robot that features dual functionality, a novel sensorized upper arm cuff, and an ergonomic shoulder with a movable center of rotation. A hybrid approach was used to obtain the kinematic equations of the developed u-Rob. Safety was confirmed by designing the neighboring links to act as mechanical stoppers and setting thresholds for the ROMs, velocities, and interaction forces and torques. PID control algorithms were implemented to control the developed robot. From the experimental results, it was observed that the tracking error remained significantly low for both joint-based exercises and end-point exercises to validate the exoskeleton-type and end-effector-type functionalities of the developed u-Rob. Potential future works include developing a controller and experimenting with active rehabilitation exercises.

Conclusions
This research developed a seven-DoF upper limb rehabilitation robot that features dual functionality, a novel sensorized upper arm cuff, and an ergonomic shoulder with a movable center of rotation. A hybrid approach was used to obtain the kinematic equations of the developed u-Rob. Safety was confirmed by designing the neighboring links to act as mechanical stoppers and setting thresholds for the ROMs, velocities, and interaction forces and torques. PID control algorithms were implemented to control the developed robot. From the experimental results, it was observed that the tracking error remained significantly low for both joint-based exercises and end-point exercises to validate the exoskeleton-type and end-effector-type functionalities of the developed u-Rob. Potential future works include developing a controller and experimenting with active rehabilitation exercises.