Feedback control for a high level upper extremity neuroprosthesis

 

Blana D , Hincapie JG , Chadwick EKJ , Kirsch RF

 

Department of Biomedical Engineering, Case Western Reserve University, Cleveland OH

 

dimitra.blana@case.edu

 


Abstract

The purpose of this project is to develop a feedback controller for a high-level upper extremity neuroprosthesis. This controller will restore a range of arm movements to individuals with C3/C4 spinal cord injury, who have lost voluntary control of almost the entire upper extremity. The users will generate commands for arm movements, which will be used as inputs to the controller to generate the level of activation of the appropriate muscles. The controller will also compensate for errors caused by external disturbances and fatigue, using body-mounted sensors that will provide feedback on the position and orientation of the arm. Due to the complexity of the shoulder mechanism, the controller is being developed using a model-based approach.

 
1. INTRODUCTION

Individuals with C3/C4 spinal cord injury lose voluntary control of almost all muscles of the upper extremity. A neuroprosthetic system that applies electrical stimulation to paralyzed muscles can be used to restore function to these individuals. The controller for this system will generate the appropriate levels of muscle activation, based on the user commands. It also needs to compensate for errors caused by external disturbances and fatigue. This is necessary, because at that level of injury, voluntary correction for errors in the performance of the neuroprosthesis is not possible. In addition, due to the large number of shoulder and elbow muscles that must be controlled in high tetraplegia, purely experimental methods for developing the neuroprosthesis are inefficient and impractical. The goal of this project is to use a model-based approach to develop and test a feedback controller for this system.


2. METHODS

The musculoskeletal model of the shoulder and elbow used in this project is a finite element model built in SIMM (Software for Interactive Musculoskeletal Modeling, Musculographics, Inc.). It includes 28 muscles, six bones and five joints, with a total of 17 degrees of freedom. The morphological and muscle contraction parameters were obtained from cadaver studies performed by the Van der Helm group in Delft [1].

 

The set of muscles that need to be controlled by the system was determined using the musculoskeletal model. The model was customized to simulate a person with C3-C4 level injury, and the paralyzed muscles that can be stimulated with cuff, epimysial and intramuscular electrodes were included. A large set of inverse simulations was run for both single joint movements (shoulder abduction/adduction, flexion/extension, horizontal flexion/extension, internal/external rotation and elbow flexion/extension and pronation/supination) and a set of functional movements comprised of activities of daily living (ADL) such as feeding, drinking, combing the hair, etc. Table 1 shows the list of muscles that are included in the system.

 

trapezius

levator scapulae

rhomboid

serratus anterior

deltoid

infraspinatus

latissimus dorsi

supraspinatus

biceps

pectoralis major

triceps

brachialis

anconeus

supinator

pronator quadratus

 

 

Table 1: muscles included in the neuroprosthetic system. The trapezius and levator scapulae are voluntary; the rest are paralyzed, and assumed to be stimulated by cuff, epimysial or intramuscular electrodes.

 


Figure 1: diagram of overall system that includes the feedback controller and the arm model

 

 
 


 

 


Figure 1 shows the design of the controller. It includes two parts, an artificial neural network and a fuzzy controller.

 

The open-loop controller that calculates the muscle activations required for a desired movement was designed as a static two-layer artificial neural network (ANN). It has a tangent-sigmoidal activation function for the hidden layer and a linear activation function for the output layer. It was developed using the musculoskeletal model. First, a large set of inverse simulations was performed, to obtain the activations needed for a range of postures. Then, the neural network was trained with the endpoint position and orientation as inputs, and the required activations as outputs.

 

In order to correct for position and orientation errors that are caused by fatigue or external disturbances, such as masses added to or removed from the hand, a feedback loop needs to be added to the previously designed controller. The relationship between error and change in muscle activation is modelled by a set of fuzzy rules. These rules use the previously developed map between endpoint position and orientation and muscle activation. On that map, the desired position corresponds to a set of muscle activations, and the actual position corresponds to a different set. The difference between these sets, as well as the distance between the desired and actual position, are the inputs to the fuzzy controller, and the output is the changes is muscle activation that will move the arm toward the desired position.

 


 

 

The performance of the overall controller is being evaluated by placing it in series with the forward model. A set of forward simulations is performed with the output of the controller as input to the model, and the resulting endpoint position and orientation are compared with the desired ones. The ability of the controller to correct for errors will then be tested by using the model to simulate the effects of fatigue, different masses added or removed from the hand, and external forces representing obstacles.

 

3. RESULTS

The open-loop controller was tested first, to examine whether the ANN can accurately predict the muscle activations needed for a specific movement, according to the model. Figure 2 shows the predictions of the open-loop controller, which is an ANN with 20 neurons in the hidden layer, for the activation of two muscles, middle deltoid and upper trapezius, during a humeral abduction movement. The RMS error is 4.47% for the middle deltoid, and 6.05% for the upper trapezius.

 

Next, the controller with and without the feedback was placed in series with the forward model, and its performance was evaluated for different movements. Figure 3 shows the endpoint position error for the open-loop and feedback controller, for a five second humeral abduction movement. The error is defined as the distance between the actual position assumed by the model and the desired position used as input to the system, divided by the desired position.


 

Figure 2: Open-loop controller. The solid lines are the activations calculated by the model, and the dotted lines are the ANN predictions.

 

 
 

 

 


Figure 3: the solid line is the error for the open-loop controller, and the dotted line is the error for the feedback controller.

 

4. DISCUSSION AND CONCLUSIONS

The preliminary results show that the ANN can accurately predict the muscle activations needed for a desired posture, and can therefore be used as the open-loop part of the neuroprosthesis controller. The performance of the ANN can be improved by optimizing its parameters.

 

Including the fuzzy controller in the system, stabilises the endpoint position error. However, the error is still large, due to instabilities in the forward model that cannot be accounted for by non-adaptive fuzzy rules. By changing the weight of every fuzzy rule depending on the outcome of the fuzzy inference calculations, the performance of the feedback controller can be further improved.

 

Finally, it is demonstrated that the use of a musculoskeletal model can facilitate the development of the feedback controller, by simulating a C3-C4 SCI individual, and realistic conditions of fatigue and external disturbances, both for designing and for testing the system.

 

References

[1] Klein Breteler M.D, Spoor C.W. and van der Helm F.C.T. Measuring muscle and joint geometry parameters of a shoulder for modeling purposes,  J Biomech 32: 1191-1197, 1999.

 

Acknowledgements

Peter Loan and Musa Audu, Ph.D. are acknowledged for their help with SIMM and optimisation methods, respectively.

 

This project is funded by NIH NINDS N01 NS 1233.