Combined feedforward and feedback control of a redundant, nonlinear, dynamic musculoskeletal system
- 1.2k Downloads
A functional electrical stimulation controller is presented that uses a combination of feedforward and feedback for arm control in high-level injury. The feedforward controller generates the muscle activations nominally required for desired movements, and the feedback controller corrects for errors caused by muscle fatigue and external disturbances. The feedforward controller is an artificial neural network (ANN) which approximates the inverse dynamics of the arm. The feedback loop includes a PID controller in series with a second ANN representing the nonlinear properties and biomechanical interactions of muscles and joints. The controller was designed and tested using a two-joint musculoskeletal model of the arm that includes four mono-articular and two bi-articular muscles. Its performance during goal-oriented movements of varying amplitudes and durations showed a tracking error of less than 4° in ideal conditions, and less than 10° even in the case of considerable fatigue and external disturbances.
KeywordsFeedback control Musculoskeletal modeling Functional electrical stimulation Shoulder Elbow
Functional electrical stimulation (FES) systems restore function after spinal cord injury by stimulating paralyzed muscles to contract in appropriately coordinated patterns. Various FES systems have been developed that benefit different populations, such as standing systems for people with paraplegia , and hand grasp systems for people with mid-cervical level spinal cord injuries . We are interested in expanding the FES benefits to individuals with high-level tetraplegia, whose entire upper extremity is essentially paralyzed. This FES system aims to restore shoulder and arm function to this population, and allow them to move their arm throughout a functional workspace.
Current FES systems include highly developed hardware (e.g., implanted stimulators and numerous electrodes), but very basic control algorithms to calculate the stimulation patterns needed for the desired function, namely, predefined patterns, fixed for every task . This limits the functional benefit of the FES system to a set number of tasks, and does not guarantee its performance in the presence of muscle fatigue or unexpected perturbations. A more sophisticated controller is needed for our upper-extremity FES system, because unlike the cyclic movements of the lower extremity, upper-extremity tasks are goal directed . This means that the amplitude, speed and direction of the motions change continuously, so the controller needs to continuously calculate the stimulation patterns for a wide range of motions commanded by the user.
There are different control strategies used in existing FES systems. Feedforward control is commonly used in clinical practice [13, 15]. The output of this type of controller depends only on the user command, and not on the system performance. The advantage of this design is that it does not need sensors to measure the system output, but the disadvantage is that it is unable to make corrections if the actual movement deviates from the desired movement. Feedback control uses sensors to monitor the system output, so it can correct for errors in the system trajectory . Feedback is necessary in order to maintain good tracking performance in the presence of fatigue and any external disturbances encountered. However, inherent delays in the response of the system can cause problems to the feedback controller , especially in the case of fast movements . Therefore, a combination of feedforward and feedback control has the best results, and is the preferred control method in several FES system designs [1, 6, 20], including the one presented in this paper.
The feedforward controller is typically an inverse-dynamic model of the controlled system . Since an actual inverse-dynamic model is usually not available, data collected from the system itself are used to train an artificial neural network (ANN) to behave like the inverse-dynamic model. An ANN that includes time-delayed inputs can approximate any dynamic system based solely on the knowledge of inputs and outputs . In order to train the network to represent the inverse dynamics of the system, inputs and outputs are recorded from the system and used as the outputs and inputs, respectively, of the ANN. This has been used in many FES controllers of single-joint, single-muscle systems [2, 3, 6, 20, 26]. However, in the case of a system with multiple muscles crossing one joint, the inverse of the system is not unique, and the ANN will train on the average of possible solutions, which is not always a correct solution .
For this reason, we have used the actual inverse-dynamic model of the system to train the ANN in the feedforward component of our controller. Optimization was used to ensure uniqueness of the solution. In , the inverse-dynamic model itself was used as a feedforward controller, but a relatively simple model had to be designed so that it was fast enough to run in real-time. An ANN, however, is a system of simple processing elements, connected into a network by a set of weights , so it is computationally light. Off-line training of the ANN according to the inverse-dynamic model allows us to include all the complexities of the musculoskeletal system in a real-time controller.
For the feedback part of the controller, the feasibility of PID controllers for use in FES applications has been examined [1, 6, 25]. However, the performance of these controllers has been limited. As discussed in , PID controllers are linear and have been incapable of providing good control over highly nonlinear musculoskeletal systems . Moreover, the PID controllers mentioned above were all tested in single-joint, single-muscle systems, but the complexity of musculoskeletal systems increases substantially when they include more degrees of freedom and more muscles, some of them bi-articular, that cause mechanical coupling between joints . A multivariable feedback controller that uses PI control is described by Lan , but its performance was only evaluated under isometric conditions. These authors suggest that nonlinear control methods may be necessary for control of movements of a multi-joint system.
In order to address these issues, we have created a neuro-PID controller for the feedback loop, which combines the attractive features of PID control (robustness and ease of implementation) with the nonlinear nature of ANN. The goal of the ANN is to model the nonlinear relationships among muscles and joints, allowing the linear PID controller to deal solely with the dynamic response.
The feedforward–feedback FES controller presented in this paper was designed and tested in simulation. Model-based evaluations were used to explore various control strategies before implementing invasive, expensive FES systems in human subjects. The model-based approach is intended to allow initial development of the control system to a point where a human implementation can be justified. The model used includes two joints, and six muscles, two of them bi-articular. This system is sufficiently complex to include both the nonlinear properties of the muscles themselves and the nonlinearities and complicated interactions between multiple muscles and joints. The controller was evaluated for a large set of goal-directed movements that cover the range of both joints. Muscle fatigue and external disturbances were also simulated to evaluate the performance of the controller for realistic conditions.
2.1 The model
The muscle and joint parameters for the model were obtained from cadaver studies by Klein-Breteler et al. . These parameters include the position of joint centers, inertial parameters for body segments, and the optimal fiber length, origin and insertion, tendon slack length, and physiological cross-sectional area of every muscle. The muscle model is a Hill-type model that includes contraction dynamics, force-length dependence and force-velocity dependence. It was developed by McLean et al. .
2.2 The controller
Networks with different numbers of neurons in the hidden layer were trained, and it was found that the network with 15 neurons had the smallest testing RMS error: 0.07 (no units, this is normalized muscle activation ranging from 0 to 1). Consequently, this ANN was chosen as the feedforward part of the controller.
The feedback ANN has the same architecture as the feedforward ANN (two layers, sigmoidal and linear transfer function in the hidden and output layer, respectively). However, this ANN is static, since it uses only the present angle values (and no past values) as inputs. In order to obtain training data, a 100 by 100 grid of shoulder and elbow angles was created, and inverse-dynamic simulations were run with these angles as constant inputs. From each simulation, we recorded the set of muscle activations calculated by the model in the steady state at each of the 10,000 positions. The angles and the corresponding muscle activations were used to train networks with different numbers of neurons in the hidden layer, and the network with 10 neurons was chosen because its RMS error of 0.09 was the lowest.
The controller was then tested using forty 60-s trajectories, similar to the trials used for training (i.e., goal-directed movements with bell-shaped velocity profiles of different amplitudes and maximum velocities) but not the same. Its performance was quantified using the RMS error between the desired and actual trajectory (Eq. 2).
In order to investigate the benefits of each component of the controller, the feedforward-only (FF) component, feedback-only (FB) component, and combination of feedforward and feedback (FF + FB) components were tested separately.
To test the ability of the controller to resist external disturbances, forces of different amplitudes were applied to the wrist of the model, in both the x (medial-lateral) and y (anterior–posterior) directions. The forces were applied during goal-oriented movements similar to those described earlier, and tended to displace the arm from the desired trajectory. They had bell-shaped amplitudes, and lasted between 1 s (simulating, for example, a sudden push) and 10 s (e.g., carrying an object along the trajectory). The maximum amplitude of the perturbations was drawn from a normal distribution with standard deviation 1 N and four different means: 1, 5, 10 and 15 N, to simulate smaller or larger disturbances. Ten 60-s goal-oriented movements were used for testing: first they were performed without perturbations, and then they were performed again for each case of force amplitude (about 1, 5, 10 and 15 N). The mean RMSE between the desired and actual trajectory was calculated for the ten trials in each case.
A feedforward–feedback controller has been developed for a two-joint, six-muscle arm model. An inverse-dynamic model of the arm was used to train the ANN-based feedforward component so that it accounted for the complex interactions between muscles and joints, while solving the muscle redundancy problem by distributing the muscle forces according to a minimum energy consumption criterion. The inverse-dynamic model in the steady state was also used to train a separate static ANN that was used in conjunction with a linear PID controller in the feedback loop to create a neuro-PID feedback controller capable of handling the highly nonlinear and dynamic nature of the musculoskeletal system. The controller showed excellent tracking performance during goal-oriented movements, with less than 4° joint error (3-cm endpoint error) in ideal conditions and less than 10° (6 cm) even in the case of considerable fatigue and large external disturbances.
Using the actual inverse-dynamic model for ANN training solved the muscle redundancy problem caused by the greater number of muscles (six) than joints (two) in the model. In addition, the muscle activations calculated by the controller were almost always at low levels (except for the case of extreme fatigue), since the criterion used to select the unique solution of the muscle force distribution minimized energy consumption. As shown in Figs. 3 and 5, all muscle activations remained below 0.5 for almost all conditions until fatigue increased above 40–50%.
In the comparison among FF, FB and FF + FB controllers, FF had the poorest performance, even for conditions where there was no fatigue and no external perturbations. This occurred for two reasons. First, the inverse-dynamic model used to train the ANN was not the exact inverse of the forward model used in the controller evaluations because of numerical considerations. Specifically, the presence of numerical approximations and the complexity of the model used for the individual muscles prevent it from being perfectly inverted . Also, practical solution of the redundancy problem by optimization requires the use of discrete time steps in the inverse-dynamic model, meaning the time-history dependence of muscle force was not captured as it was in the forward-dynamic model . Second, even after training, the ANN was still only an approximation of the inverse-dynamic model. This single, rather simple ANN was nonetheless capable of predicting the needed muscle activations with decent accuracy for a wide range of movements. In practice, we anticipate that the feedforward control will not be used without feedback for controlling arm movements, since it is very difficult to measure all the parameters needed for a perfect inverse-dynamic model of the real human arm . However, as shown in Figs. 3 and 4, even this imperfect feedforward component substantially improved the performance of the overall FF + FB controller.
The inclusion of the FF component was beneficial in one more important way. The FB component had a tracking performance almost as good as FF + FB, but it produced muscle activations that are much larger and rapidly varying than the FF controller. For example, around the 4th second of the movement shown in Fig. 3, the activation of the anterior deltoid calculated by the FB-only controller rapidly approached the maximum. Addition of the FF component smoothed the activation and its maximum did not increase above 0.7.
The fatigue model used here was fairly simplistic, since it did not include activation level and stimulation frequency dependence, or a recovery with rest component . However, our goal was to test the controller in the case of reduced muscle force output, and the fatigue model we chose created the right conditions for that. As shown in Figs. 5 and 6, under moderate fatigue conditions the tracking performance of the controller was as good as the non-fatigued case. During normal functional use (i.e., occasional goal-directed movements), it is very unlikely that all the muscles will fatigue below 50% without the chance for recovery.
The perturbations added to the wrist simulated obstacles or objects that are picked up and held during the movement. They had a much smaller effect on the controller performance than fatigue, with an average error of less than 10° for forces up to 15 N.
Figure 9 shows that the generally small joint angle errors translate into small endpoint errors: in ideal conditions the endpoint error is less than 3 cm, and even in the presence of the largest perturbations tested, the error does not exceed 6 cm. An error at that level is functionally trivial, since it would certainly allow the FES user to eat, or reach for various objects. The endpoint error approaches 20 cm only during extreme fatigue, when there is insufficient muscle force for trajectory tracking.
The controller evaluated here was tested using a two-joint, six-muscle system, but it could easily be extended for use with a full arm model. If the inverse-dynamic model is available, the ANN could be trained with more inputs and outputs, although a larger number of neurons in the hidden layer may be needed. One important practical benefit of using PID in series with an ANN instead of a purely PID feedback loop is that the number of gains that need to be tuned is reduced to 6 in the case of our model (proportional, integral and derivative for each angle) instead of 36 (the previous 6 PID gains for each of the 6 muscles). This will become a major advantage when the number of muscles increases.
For the controller to be implemented in the real FES system, the first step will be customizing the arm model to reflect the FES user’s arm as closely as possible, by including information about possible voluntary muscle forces, denervation, as well as which muscles are the targets for FES stimulation. A controller for this customized arm model will be built, but because of the differences between the model and the FES user’s arm, it is unlikely that the model-based ANN parameters will result in optimal performance. This controller will instead be used as a starting point for adaptation, using data collected from the FES-driven arm, as shown previously in . While the FES system is in use, the stimulation levels and resulting movements will be recorded for either online or off-line adaptation of the ANN parameters. As both the feedforward and feedback ANN are adapted to the arm dynamics of the specific user, the controller performance will continue to improve, produce more accurate movements, and provide more functional benefits to the user.
The authors would like to thank Dr. Antonie van den Bogert for his help with the muscle model implementation. This study was funded by NIH/NINDS contract N01-NS-5-2365.
- 8.Crago PE, Lan N, Veltink PH et al (1996) New control strategies for neuroprosthetic systems. J Rehabil Res Dev 33(2):158–172Google Scholar
- 9.Davis JA, Triolo RJ, Uhlir JP et al (2001) Surgical technique for installing an eight-channel neuroprosthesis for standing. Clin Orthop Relat Res 237–252. doi:10.1097/00003086-200104000-00035
- 13.Jonic D, Popovic S (1997) Machine learning for prediction of muscle activations for a rule-based controller. In: Proceedings of the 19th annual international conference of the IEEE, 4:1781–1784Google Scholar
- 19.Norgaard M, Ravn O, Poulsen NK, Hansen LK (2000) Neural networks for modelling and control of dynamic systems. Springer, LondonGoogle Scholar