Keywords

1 Introduction

According to the data from the Stroke Center at the University Hospital, stroke is the second worldwide leading of death which is about 4.4 million of the total 50.5 million deaths each year [1]. In the United States, more than 4 million people survived from a stroke were disabled. Ten percent of stroke patients can be recovered almost completely but 75 percent of stroke patients would lose or have impaired motor function and 15% die after the stroke. Rehabilitation cost per person is approximately $140,048 [2]. Because of very expensive rehabilitation cost, most of the patients were lack of opportunities for rehabilitation.

Generally, rehabilitation and training involving arm movement are types of repetitive tasks during period of time. This kind of task also requires the physiotherapist or trainer to spend the training times with the patient or trainee. The utilization of robot arm would be fit to do such a repetitive task and reduce the workloads of physiotherapist or trainer. Recently, many robots have been used in rehabilitation and training tasks. In general, robotic rehabilitation could be categorized into two styles which were wearable and non-wearable. For arm rehabilitation, joints and links of the wearable rehabilitation robot were usually designed correspondingly to the patient arm such as the cable-actuated dexterous exoskeleton for neurorehabilitation (CADEN)-7 [3]. The design of “CADEN” applied the cable-pulley to transmit torque/force from motor to each joint. This design can reduce weight of exoskeleton. ARMinIII [4] was designed to have three degrees of freedom for shoulder and one degree of freedom for elbow. Robotic Upper Extremity Repetitive Trainer (RUPERT) [5] had five actuated degrees of freedom for each joint which was driven by compliant pneumatic muscle actuators (PMA). The Mechatronics and Haptic Interfaces (MAHI) [6, 7] was designed to have 5 degrees of freedom for the elbow and forearm. The wrist of this exoskeleton was a 3-RPS (revolute-prismatic-spherical) joint. The non-wearable rehabilitation robots were usually adapted from the industrial robots but only one point of physical contact between patient wrist and the robot’s end-effector such as MIT-MANUS [8] and MIME [9]. Both devices were designed for rehabilitation of shoulder and elbow joints. Benefits of wearable robotic rehabilitation were controlling and generating force feedback to each user arm’s joint. Those rehabilitation robots were usually designed for right or left arm only. On the other hand, the advantage of non-wearable robot was flexibility for rehabilitation but it could not control or generate force feedback to all joints at the same time. All previous robotic devices for rehabilitation have mentioned limitations.

Hence, this project proposes the development of a robotic arm for rehabilitation and training. The proposed robot arm could hold and guide the user’s through the predefined trajectory. Further, the user could wear this exoskeleton arm and move it to interact with the virtual object via the graphics user interface on a computer monitor or head-mounted display. This proposed robot arm supported the patient’s arm during rehabilitation which is an repetitive task and takes a period of time.

2 System Design and Implementations

2.1 System Overview

Figure 1 shows configuration of the proposed system which consists of three main components. First, the four degrees of freedom exoskeleton arm [10] was used for supporting the arm motion during rehabilitation and training. This proposed exoskeleton could be used for left and right arm. The actuation and transmission system of the exoskeleton arm consisted of AC servo motors, planetary gearboxes, and steel cables. The steel cables were used to transmit the movement of the gearbox’s output shafts to the exoskeleton joints. Force and torque sensors were mounted on each joint of the exoskeleton arm. Second component of this exoskeleton was the main controller which was used to receive the command from the main computer and control motion of the exoskeleton arm. Last component was used to control the exoskeleton with LABVIEW and MATLAB applications.

Fig. 1.
figure 1

System overview

2.2 Mechanic Section

The proposed robot arm was designed to have four degrees of freedoms. The first three joints represented the shoulder joints and the forth joint represented the elbow joint. The first link and second link were aligned with the upper limb. The design allowed the first and second joints to hold the position of shoulder while giving the shoulder some limited rotations in order to prevent any slips occurred at the shoulder. Furthermore, this robot arm was designed to be used with the left arm and right arm by rotating the second joint about 180° as shown in Figs. 2 and 3. In the design, the cable was used to transfer the power from the servo motor to each joint of the robot arm. Therefore, this robot arm had lightweight because the servo motors were not mounted on the robot arm.

Fig. 2.
figure 2

Robot arm configurations

Fig. 3.
figure 3

Actual configuration of robot used with the left and right arm

2.3 Electronic Section

The upper limb exoskeleton arm received the desired position/velocity from the main computer. It also returned the current position/velocity and force data to the main computer. In Fig. 4, the upper limb exoskeleton received the desired position and velocity from the main computer via a motion control card. After that, the current position/velocity from the exoskeleton was sent to the main computer. Force sensor was installed on the exoskeleton joint for sensing the external force exerted on exoskeleton’s joint in the clockwise and counterclockwise directions. The force sensor signal was amplified with a strain gauge amplifier module before being sent to the main computer. Limit switches were installed at each joint of exoskeleton arm for limiting the range of motion.

Fig. 4.
figure 4

Exoskeleton controller

2.4 Programming Section

Gravity compensation manager was used to calculate the static gravity force compensation. This compensation value was sent to the force controller for compensating the physical force input. In general, the physical parameters of the system were used to calculate the gravity force compensation. However, the exact physical parameters of this system were difficult to be modelled because the friction force in Bowden cable, which was applied to transmit the power of this exoskeleton, exhibited nonlinearity. As mentioned above, the proposed gravity compensation focused on the compensation without physical parameters of the exoskeleton arm. To solve this problem, the generalized regression neural network was applied to predict the gravity compensation value of given joint position because the training time of the GRNN was short and it could take care of a large input-output mapping.

2.5 Admittance Control

The admittance control was applied to calculate the joint motion. To describe the admittance control for this system, the Eq. 1 was used to calculate the desired robot velocity, where \( k_{a} \) is an admittance gain, \( F \) is a force exerted on each joint, and \( F_{c} \) is a gravity compensated value [11].

$$ \dot{x}_{d} = k_{a} \left( {F - F_{c} } \right) $$
(1)

The force output could be calculated using Eq. 2, where \( k_{p} , k_{d} \) are the proportional and derivative gains. \( x_{d} \) and \( \dot{x}_{d} \) are the desired robot position and velocity. \( x \) and \( \dot{x} \) are current joint position and velocity of exoskeleton joint [11].

$$ \tau_{j} = k_{p} \left( {x_{d} - x} \right) + k_{d} \left( {\dot{x}_{d} - \dot{x}} \right) $$
(2)

2.6 Posture Record and Playback

The exoskeleton arm was able to record posture from physiotherapist and playback that posture to the patient. The exoskeleton software consisted of joint controller, force controller, gravity compensation, user’s database, and graphical user interface which were shown in Figs. 5 and 6. The joint controller was used to control exoskeleton joints motion with external force extern at each joint and record the joint’s angle. The gravity compensation was used to calculate the gravity loads at each joint and send data to the force controller. Force controller with admittance control was used to control exoskeleton joints’ motion when external exerted force at each joint of the exoskeleton arm. The user’s database was used to store posture of each user. The graphics user interface was used to display the joint’s targeted movement and the actual joint’s movement.

Fig. 5.
figure 5

Exoskeleton software overview

Fig. 6.
figure 6

Exoskeleton arm’s graphical user interface

There were two categories of an experiments. The first category was set to determine the system performance of the exoskeleton arm and the another one was to investigate the system usability. Six healthy people were asked to test the usability of this system.

2.7 Repeatability

Repeatability is a measure of the ability of the exoskeleton arm to consistently and repeatedly reach a specified point. A dial gauge was used to measure the repeatability of the robot as shown in Fig. 7. The robot was moved to the dial gauge and moved out to the other position and returned to the dial gauge. The result of repeatability test was less than 0.11 mm as shown in Fig. 8.

Fig. 7.
figure 7

Repeatability test of exoskeleton arm

Fig. 8.
figure 8

Exoskeleton arm’s repeatability

2.8 Gravity Compensation

The GRNN method was implemented and required the training data of joint angle-force mappings. To record the training data, each joint of the exoskeleton was set to rotate from lower limit to upper limit. Then, the force data was recorded as the output and the exoskeleton’s joint angle as the input. The GRNN method was utilized to predict the gravity force output. The relationship between the gravity force and the exoskeleton’s joint angle could be plotted as in Figs. 9, 10, 11 and 12.

Fig. 9.
figure 9

Force data reading from joint 1 and GRNN’s prediction

Fig. 10.
figure 10

Force data reading from joint 2 and GRNN’s prediction

Fig. 11.
figure 11

Force data reading from joint 3 and GRNN’s prediction

Fig. 12.
figure 12

Force data reading from joint 4 and GRNN’s prediction

In Figs. 9, 10, 11 and 12, the horizontal axis represents the joint angle and the vertical axis represents force data. The force value of exoskeleton arm was plotted as a solid line and gravity force estimation value of the GRNN method was plotted as a dash line. The GRNN method could predict the gravity force at each joint with accuracy of 94.66%, 97.63%, 87.02%, and 97.32%, respectively, as shown in Figs. 9, 10, 11 and 12. Although the GRNN method could predict only static force, it was sufficient for this system.

2.9 Admittance Control Evaluation

The admittance control was the method to control the exoskeleton’s movement accordingly to the external force. Therefore, the experiment presented the comparison between the torque which occurred at the exoskeleton joint and the joint motion response when the external force was applied to the robot. The result in Fig. 13 indicates that the admittance control method had an ability to response to the external force within 132 ms. So, this exoskeleton could response to the external force about real time.

Fig. 13.
figure 13

Joint transient response by admittance controller

2.10 Usability Test

The system consisted of two operations which are record and playback modes. Record mode was used to record the user’s posture. Playback mode was used to playback the posture which was recorded from the user’s movement as shown in Fig. 14. The six participants were asked to wear the exoskeleton arm. Then, this system was tested with both modes by the users. After the experiment, the usability were collected by questionnaire which was in the form of the Google form. The results of the usability test indicated that the users were satisfied with this exoskeleton’s motion. This exoskeleton arm had an ability to enhance their muscle strengths. They suggested that the purposed exoskeleton arm could be applied to the rehabilitation or training task. In their opinions, the design of this exoskeleton should be more friendly.

Fig. 14.
figure 14

Robot arm moved accordingly to the user arm’s movements

3 Conclusions and Discussions

The 4-DOF robotic exoskeleton arm was designed and built at the Institute of Field Robotics, King Mongkut’s University of Technology Thonburi, Thailand. The exoskeleton arm could be configured by rotating joint 2 to 180° for the use of right and left arm. There were two control modes which are posture record and playback modes. For the posture record mode, the motion of the exoskeleton arm was controlled with forces exerting from the user and recorded the joint angles at the same time. For the posture playback, the exoskeleton arm motion was controlled with the recorded posture. The exoskeleton arm had ability to adjust the level of motion assistant. Graphical user interface was used to display the joint’s target and actual joint’s position. The neural network was used for predicting the static gravity compensation which mapped between the input joint angle and the output force at the elbow joint. The admittance controller was used to control motion of the exoskeleton joint. The GRNN could predict the static gravity force at each joint with accuracy of 94.66%, 97.63%, 87.02%, and 97.32%, respectively. The response time of the force controller could response about real-time. From the usability test, this proposed system had an ability to enhanced muscle strength. The users suggested that the purposed system could be applied to the rehabilitation or training task and the design of this exoskeleton should be more friendly. From the experimental results, this proposed system could be applied to the rehabilitation or training robot. In the future work, the virtual reality system would be implemented to provide the immersive and interactive graphical user interface for the upper limb rehabilitation using this robotic exoskeleton.