Keywords

1 Introduction

Generally, stroke rehabilitation involving with motor skill recovery is a repetitive task during a period of time. This kind of repetitive task also requires the physiotherapist to assist the stroke patient. The utilization of robot arm would be fit to do repetitive task and reduces the workloads of physiotherapist or trainer. Recently, many robots have been used in rehabilitation and training tasks. In general, robot for the rehabilitation task can be categorized into two styles which are wearable and non-wearable. Joints and links of the wearable robot are usually designed correspondingly to the patient’s upper limb. For the examples, the design of “CADEN” [1] applies the cable-pulley to transmit torque/force from motor to each joint. This design can reduce weight of the exoskeleton. ARMinIII [2] is designed to have 3 degrees of freedom for shoulder and 1 degree of freedom for elbow. Robotic Upper Extremity Repetitive Trainer (RUPERT) [3] has five actuated degrees of freedom for each joint which is driven by compliant pneumatic muscle actuators (PMA). The Mechatronics and Haptic Interfaces (MAHI) [4] is designed to have 5 degrees of freedom for the elbow and forearm. The wrist of this exoskeleton is a 3-RPS (revolute-prismatic-spherical) joint. The non-wearable rehabilitation robots are usually adapted from the industrial robots. Nevertheless, this type of the rehabilitation robots has only one point of physical contact between patient wrist and the robot’s end-effector. Some researchers developed non-wearable rehabilitation robots such as the MIT-MANUS [5] and MIME [6] devices. Both robots are designed for rehabilitation of shoulder and elbow joints. Benefits of wearable robotic rehabilitation are controlling and generating of force feedback to each user arm’s joint. Those rehabilitation robots are usually designed for right or left arm only. On the other hand, the advantage of non-wearable robot is flexibility for rehabilitation but it cannot control or generate force feedback to all joints at the same time.

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

2 System Overview

Configuration of the proposed system is shown in Fig. 1. This system consists of a universal exoskeleton arm used to send the force feedback and motion during rehabilitation and training. User will receive perceived visual and force feedbacks. The user also sees three-dimensional graphics when the user works with the robot arm. Controller is responsible for receiving commands from the main computer and controlling the robot arm’s movement. Main computer takes care of processing robot commands sent to the controller and generating 3-D computer graphics accordingly with robot’s movements.

Fig. 1.
figure 1

System overview of robot arm control

3 Design and Implementations

The proposed robot arm is designed to have 4 degree-of-freedoms (DOF). Joint 1, 2, and 3 represent shoulder joints and joint 4 represents elbow joint. Link 1 and link 2 are aligned with the upper limb. The design will allow joint 1 and joint 2 to hold the position of shoulder while giving the shoulder some limited rotations. This will prevent the slip occurred at the shoulder. Furthermore, this robot arm is designed to be used with the left arm or right arm by rotating joint 2 about 180° as shown in Figs. 2 and 3. In the design, the cable is used to transfer the power from the servo motor to each joint of the robot arm. Therefore, this robot arm has lightweight because the servo motors are not mounted on the robot arm.

Fig. 2.
figure 2

Configuration of robot arm

Fig. 3.
figure 3

Configuration of robot used for left or right arm

For safety, the human arm supporters mouthed on robot arm with magnets so that they can be detached from the robot arm if any accident occurs. Furthermore, an emergency switch is included to stop all motions of robot arm when it is needed. For the brain of this exoskeleton arm system, it utilizes the main computer in order to control the designed robot arm and display 3D computer graphics feedback to the user via a computer display or a head-mounted display which is an Oculus Rift display [3]. Robot arm’s joint angles and force feedback are read via NI motion control and sent to the main computer for updating the corresponding computer graphics. The UNITY 3D [4] is implemented to generate some virtual environment and display the motion of virtual arm. Main control loop is utilized by LABVIEW [5] programming and sends joint’s angles to the 3D graphics manager which is based on the UNITY 3D via UDP communication. The program control of this arm system can be illustrated in Fig. 4.

Fig. 4.
figure 4

Exoskeleton program control diagram

The 3D graphics manager is responsible for rendering the virtual arm in the virtual environment using UNITY 3D. The joint’s angles of virtual arm are updated from reading of real exoskeleton’s joint’s angles through main loop controller and the 3D graphics manager via the UDP communication. Position and orientation of virtual robot arm can be calculated from the robot’s forward kinematics. Oculus Rift display is used for displaying all 3D graphics to the user. It can track the user’s head orientation and provide 3D stereoscopic image illustrated in Fig. 5 so that the user can get some depth information, too.

Fig. 5.
figure 5

Virtual environment display on oculus rift

For safety purpose, all experiments in this research were conducted with the human model instead of real human. In this exoskeleton system, there are three types of gestures to be trained and tested. First gesture is to move the user’s arm, human model’s arm in this case, from right to left for the right arm configuration or from left to right for the left arm configuration. Second gesture is to move the model’s right or left arms from the lower to upper position. Third gesture is to move right arm from the lower right position to the upper left position or move the left arm from the lower left position to the upper right position.

4 Experimental Results

After the study of the statistical distribution of human arm joint angles [6], the proposed exoskeleton arm was then designed to have 4 degrees of freedom which are 3 DOFs at shoulder and 1 DOF at elbow. Each joint of exoskeleton motion can be rotated from −90° to 90° which can cover all motions of human arm as shown in Figs. 7, 8 and 9. After three sets of experiments were conducted, the joint’s angle and velocity trajectories of three gestures can be plotted. The right arm’s trajectories are shown in Figs. 7, 8 and 9. All trajectories were predefined and replayed to control the human model to move accordingly to those predefined paths. The controller can take care of arm’s load and guide the arm from the starting point to the destination for both arms successfully.

Fig. 7.
figure 6

Gesture 1: joint’s angle trajectory (left) and joint’s velocity trajectory (right)

Fig. 8.
figure 7

Gesture 2: joint’s angle trajectory (left) and joint’s velocity trajectory (right)

Fig. 9.
figure 8

Gesture 3: joint’s angle trajectory (left) and joint’s velocity trajectory (right)

Each joint’s velocity of exoskeleton arm is about 60 rpm. Moreover, there levels of safety were implemented. For mechanical safety, the arm was designed to be moved within the range of −90° to 90°. For electrical safety, the large emergency switch was added to stop all servo motors’ motions if it is pressed. For software safety, limited joint’s angle command was implemented. Furthermore, the admittance control and gravity compensation were implemented so that the robot arm could be controlled to move accordingly with the forces exerting from the user. However, this active mode were not conducted at this time due to safety issue.

5 Conclusions

The 4-DOF robotic exoskeleton arm was designed and built at the Institute of Field Robotics, King Mongkut’s University of Technology Thonburi. This exoskeleton arm is used as an assistive device which reduce the workload of the physiotherapist during rehabilitation of the stroke patient for recovering the motor skill. Therefore, this robot arm can rotate cover the normal range of human’s joint motion. The arm can be configured by rotating joint 2 about 180° for the use of right or left arm. This proposed system has two control modes which are active and passive modes. In this current implementation, the passive mode was conducted to move the human model to anywhere in the robot’s workspace. For safety issue, the active mode was not conducted since it requires the real human to wear and move the exoskeleton arm around in the workspace. However, all force control and gravity compensation are ready for this system. In addition, the virtual environment rendered by the Unity engine was generated and integrated with this system. It can display computer graphics of virtual arm and objects through the computer display and 3D stereoscopic image through the Oculus Rift display. The 3D graphics manager can generate different scenes for any specific task.