Team Members

  • Julia Butterfield
  • Patrick Franks

Project Video


Project Files

Project files are located at:


Recently, powered exoskeletons have been used successfully to reduce the metabolic cost of walking in both healthy (Zhang et al 2017, Quinlivan et al 2017, Ding et al 2018) and clinical populations (Awad et al 2017). The devices work by supplying torques to augment and offload biological joint moments, thereby reducing the necessary muscle force contributions. Several major challenges remain for the field of powered exoskeleton assistance, and simulation could help answer some of these questions.Firstly , finding the ideal assistance pattern, both timing and magnitude of torques, is incredibly challenging. Some groups hand-tune most device parameters. For example, in Awad et al 2017, they choose a control law for all subjects and only vary the timing. Others employ a human-in-the-loop optimization strategy that tests different device control laws in real-time and adjusts the parameters based on the subject’s metabolic response (Zhang et al 2017, Ding et all 2018). For both hand-tuned devices and human-in-the-loop optimization, choosing a good parameter set to vary as well as good starting points for tuning is incredibly difficult. Simulation could be used to test more possibilities than is possible in experimentation and narrow the parameter space. Although a simulation will never exactly match a human’s response, the simulation results could help experimenters determine seed values for experimental human-in-the-loop optimization.Secondly, although the interactions between assistance at multiple joints has been explored in the context of running (Uchida et al, 2016) and loaded walking (Dembia et al. 2017), very little work has been done in simulation of unconstrained multi-joint assistance during unloaded walking. As researchers seek to further decrease the energy cost of walking beyond that which can be accomplished through assistance at a single joint, the interactions between joints becomes crucial. It may be that the benefit of assistance at multiple joints is less than the sum of its individual components. Assistance at a joint may turn out to be unnecessary, or at least not worth the added weight of another actuator for that joint. Alternatively, perfectly timed assistive moments at multiple joints could have benefits well beyond individual joint assistance. The problem of finding good parameter spaces and initial guesses becomes exponentially more difficult as multiple joints are considered, and simulation again offers a way to explore more possibilities than feasible in experimentation.The purpose of our project was to explore the simulation of individual joint assistance and multi-joint assistance, with an overall goal of designing the seed values and joint torque profiles for human-in-the-loop optimization experiments with a bilateral ankle-knee-hip exoskeleton.

Research Question(s)

  1. How can bilateral hip, knee, and ankle assistive torques be optimized to reduce the metabolic cost of walking?
  2. How do the optimal assistive torque profiles at each joint during single joint assistance compare to the optimal assistive torque profiles when all three joints are optimized simultaneously?
  3. (If time allows) How do the control laws found from simulation for bilateral hip-knee-ankle assistive torques perform in physical experimentation?


We used the OpenSim API in MATLAB, with a 10 degree of freedom, 18 muscle model (Ong et al. 2017). Walking kinematics and kinetics were adapted from Nick Bianco and Rachel Troutman's research project (Simulation-based soft exosuit design) based off data from Arnold et al. 2010 ( Biological joint torques were calculated using inverse dynamics. We used a fixed kinematic approach, so the kinematics were not changing throughout the optimization.We first solved for muscle activations without any exoskeleton assistance while optimizing to reduce muscle activations squared. We used the muscle redundancy solver framework from De Groote et al. 2016 ( which employed GPOPS-II optimal control software. Then, we added bi-directional ideal torque actuators at the hip, knee and ankle. We then solved for both muscle activations and torque actuator control while optimizing to reduce muscle activations squared, without penalizing the use of the torque actuators. We limited the maximum amount of torque that the actuators could apply; we ran three simulations with max torques at 60 Nm, 120 Nm, and 200 Nm. We chose 200 Nm because it is the maximum amount of torque that can be applied by a recently designed hip-knee-ankle exoskeleton emulator from Steve Collins's research group. After each optimization, we calculated metabolic cost using a model from Uchida et al. 2016, adapted from Umberger et al. 2010. Metabolic cost was compared across magnitudes of maximum hip-knee-ankle assistance. After simulating hip-knee-ankle assistance, we then simulated and optimized for assistance at each joint individually. The magnitude for the individual actuator was set to 200 Nm. Metabolic cost was again calculated for each simulation, and the results were compared to those from simulation of hip-knee-ankle assistance. 


The optimized assistance torques for the hip, knee, and ankle actuators were compared to the biological joint torques estimated from inverse dynamics (Fig. 1). It seems that the actuators have similar profiles to the biological torques, either matching the magnitude or less than those seen biologically. These applied torques are larger than those optimized to in human-in-the-loop exoskeleton experiments (Zhang et al. 2017, Ding et al. 2018). Previous pilot work in Steve Collins's lab has shown that walking in an exoskeleton with such high torques is essentially impossible. While the magnitudes are unrealistic, we can gain insight from the matching profile shapes.

When we restricted the magnitude of torques that we could apply to levels below biologically witnessed torques, we saw that the actuators would saturate at that maximum restricted torque (Fig. 2). There was no difference between the torque profiles for maximum torques of 120 Nm and 200 Nm. 


Metabolic cost was calculated for each magnitude of hip-knee-ankle assistance and for no assistance. (Fig. 3). When considering metabolic cost was calculated using only 9 muscles on one leg, the calculated metabolic cost without assistance seemed consistent with metabolic rates calculated in experimentation (Zhang et al. 2017).  As applied torque increased, metabolic cost decreased. The metabolic cost between 120 Nm and 200 Nm were the same since the optimized torque profiles were the same.

We also looked at muscle activations during each level of hip-knee-ankle assistance (Fig. 4). We show here only three representative muscles, but the trends were similar across all muscles. As assistance magnitude increased, muscle activations approached zero. This is different from what is seen in experiments that optimize to reduce muscle activity as measured by EMG. Even when reducing EMG is targeted for optimization, activations do not reach zero.



Optimized torque profiles for individual assistance were compared to those of multi-joint assistance (Fig. 5). Magnitudes for individual-assistance were larger than those for hip-knee-ankle assistance. This could be due to biarticular musculature. It is unclear why assistance at the knee in late stance would be would be in flexion for hip-knee-ankle assistance, while it is in extension for knee-only assistance. 

Metabolic cost was also calculated for each individual-joint assistance simulation and compared to those seen in multi-joint assistance (Fig. 6). Metabolic cost reductions for ankle-only assistance, around 25%, are comparable to those seen in experimentation (Zhang et al. 2017). It is unclear why knee assistance would produce the greatest metabolic cost reductions, considering the ankle provides the most positive work during walking. 




Similarly to multi-joint assistance, muscle activations were compared for each type of individual-joint assistance (Fig. 7). Again, we only show a few representative muscles. As assistance torques were applied to each joint, we saw activations decrease for muscles that span that joint. Activations went to zero for uni-articular muscles when assisting that joint, but bi-articular muscles such as the medial gastrocnemius never reached zero-activation for single-joint assistance. 



Figure 1. Hip-knee-ankle assistance vs. Inverse Dynamics 





Figure 3. Metabolic cost reductions vs magnitude of hip-knee-ankle exoskeleton assistance



Figure 5. Single-joint vs multi-joint assistance


Figure 7. Muscle activations in single joint vs multi-joint assistance



Figure 2. Torque profiles vs magnitude of assistance



Figure 4. Muscle activation vs magnitude of assistance for hip knee ankle




Figure 6. Metabolic cost reductions single-joint vs multi-joint

Future Work

In the future we would like to use metabolic cost as the cost function for our optimization. We made progress in this direction but  ran into implementation issues, being unable to get the optimizations to converge. Optimizing for metabolic cost could give assistance profiles that are more consistent with previous experiments.

We would also like to pair this work with experimentation. These simulated assistance profiles give us helpful information for what parameterizations could be good for human-in-the-loop optimization. We can expect that the magnitude of torques for multi-joint assistance will be lower than those seen in single-joint assistance experimentally. We also can infer that optimizing for hip-knee-ankle torques simultaneously might be necessary to find optimal multi-joint assistance, since the found profiles are not the same as those from individual joint assistance. Pairing this simulation work with experimental work will be a good step forward for studying assistive devices and could lead to more simulation of these devices in the future. 


We would like to thank Nick Bianco, Rachel Troutman, Chris Dembia, and Tom Uchida for guidance, technical help, and sharing of software resources. We would also like to thank Scott Delp and Melissa Boswell for guidance and for organization of the ME 485 class. We would like to thank Carmichael Ong for the model, Edith Arnold for the experimental data, and Friedl De Groote, B.J. Fregly, Antoine Falisse and Maarten Afschrift for their optimal muscle control platform, as well as for all their commitments to open-source software.   


Arnold, E.M., Ward, S.R., Lieber, R. L., and Delp, S.L. (2010). A model of the lower limb for analysis of human movement. Annals Biomedical Engineering Feb; 38(2):269-79. Epub 2009 Dec 3. (2010)

Awad, L. N., Bae, J., O’Donnell, K., De Rossi, S. M. M., Hendron, K., Sloot, L. H., … Walsh, C. J. (2017). A soft robotic exosuit improves walking in patients after stroke. Science Translational Medicine9(400).

Dembia, C.L., Silder, A., Uchida, T.K., Hicks, J.L. and Delp, S.L. (2017). Simulating ideal assistive devices to reduce the metabolic cost of walking with heavy loads. PloS one12(7), p.e0180320.

Ding, Y., Kim, M., Kuindersma, S., Walsh, C.J., (2018). Human-in-the-loop optimization of hip assistance with a soft exosuit during walking. Science Robotics 3. doi:10.1126/scirobotics.aar5438

Ong, C.F., Geijtenbeek, T., Hicks, J.L., Delp, S.L. (2017). Predictive simulations of human walking produce realistic cost of transport at a range of speeds. International Symposium on Computer Simulation in Biomechanics, Gold Coast, Australia 20 – 22 July 2017.

Quinlivan, B. T., Lee, S., Malcolm, P., Rossi, D. M., Grimmer, M., Siviy, C., … Walsh, C. J. (2017). Assistance magnitude versus metabolic cost reductions for a tethered multiarticular soft exosuit. Science Robotics, 2(2), eaah4416.

Uchida, T.K., Seth, A., Pouya, S., Dembia, C.L., Hicks, J.L., Delp, S.L. (2016). Simulating ideal assistive devices to reduce the metabolic cost of running. Plos One, 11. doi:10.1371/journal.pone.0163417

Zhang, J.J., Fiers, P., Witte, K.A., Jackson, R.W., Atkeson, C.G., Collins, S.H. (2017). Human-in-the-loop optimization of exoskeleton assistance during walking. Science 356 (6344) 1280-1284. doi: 10.1126/science.aal5054