Feedback control for a high level upper extremity
neuroprosthesis
Department
of Biomedical Engineering,
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.
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
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.
[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.