Cargando…
Algorithmic differentiation improves the computational efficiency of OpenSim-based trajectory optimization of human movement
Algorithmic differentiation (AD) is an alternative to finite differences (FD) for evaluating function derivatives. The primary aim of this study was to demonstrate the computational benefits of using AD instead of FD in OpenSim-based trajectory optimization of human movement. The secondary aim was t...
Autores principales: | , , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
Public Library of Science
2019
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6797126/ https://www.ncbi.nlm.nih.gov/pubmed/31622352 http://dx.doi.org/10.1371/journal.pone.0217730 |
_version_ | 1783459749281398784 |
---|---|
author | Falisse, Antoine Serrancolí, Gil Dembia, Christopher L. Gillis, Joris De Groote, Friedl |
author_facet | Falisse, Antoine Serrancolí, Gil Dembia, Christopher L. Gillis, Joris De Groote, Friedl |
author_sort | Falisse, Antoine |
collection | PubMed |
description | Algorithmic differentiation (AD) is an alternative to finite differences (FD) for evaluating function derivatives. The primary aim of this study was to demonstrate the computational benefits of using AD instead of FD in OpenSim-based trajectory optimization of human movement. The secondary aim was to evaluate computational choices including different AD tools, different linear solvers, and the use of first- or second-order derivatives. First, we enabled the use of AD in OpenSim through a custom source code transformation tool and through the operator overloading tool ADOL-C. Second, we developed an interface between OpenSim and CasADi to solve trajectory optimization problems. Third, we evaluated computational choices through simulations of perturbed balance, two-dimensional predictive simulations of walking, and three-dimensional tracking simulations of walking. We performed all simulations using direct collocation and implicit differential equations. Using AD through our custom tool was between 1.8 ± 0.1 and 17.8 ± 4.9 times faster than using FD, and between 3.6 ± 0.3 and 12.3 ± 1.3 times faster than using AD through ADOL-C. The linear solver efficiency was problem-dependent and no solver was consistently more efficient. Using second-order derivatives was more efficient for balance simulations but less efficient for walking simulations. The walking simulations were physiologically realistic. These results highlight how the use of AD drastically decreases computational time of trajectory optimization problems as compared to more common FD. Overall, combining AD with direct collocation and implicit differential equations decreases the computational burden of trajectory optimization of human movement, which will facilitate their use for biomechanical applications requiring the use of detailed models of the musculoskeletal system. |
format | Online Article Text |
id | pubmed-6797126 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2019 |
publisher | Public Library of Science |
record_format | MEDLINE/PubMed |
spelling | pubmed-67971262019-10-20 Algorithmic differentiation improves the computational efficiency of OpenSim-based trajectory optimization of human movement Falisse, Antoine Serrancolí, Gil Dembia, Christopher L. Gillis, Joris De Groote, Friedl PLoS One Research Article Algorithmic differentiation (AD) is an alternative to finite differences (FD) for evaluating function derivatives. The primary aim of this study was to demonstrate the computational benefits of using AD instead of FD in OpenSim-based trajectory optimization of human movement. The secondary aim was to evaluate computational choices including different AD tools, different linear solvers, and the use of first- or second-order derivatives. First, we enabled the use of AD in OpenSim through a custom source code transformation tool and through the operator overloading tool ADOL-C. Second, we developed an interface between OpenSim and CasADi to solve trajectory optimization problems. Third, we evaluated computational choices through simulations of perturbed balance, two-dimensional predictive simulations of walking, and three-dimensional tracking simulations of walking. We performed all simulations using direct collocation and implicit differential equations. Using AD through our custom tool was between 1.8 ± 0.1 and 17.8 ± 4.9 times faster than using FD, and between 3.6 ± 0.3 and 12.3 ± 1.3 times faster than using AD through ADOL-C. The linear solver efficiency was problem-dependent and no solver was consistently more efficient. Using second-order derivatives was more efficient for balance simulations but less efficient for walking simulations. The walking simulations were physiologically realistic. These results highlight how the use of AD drastically decreases computational time of trajectory optimization problems as compared to more common FD. Overall, combining AD with direct collocation and implicit differential equations decreases the computational burden of trajectory optimization of human movement, which will facilitate their use for biomechanical applications requiring the use of detailed models of the musculoskeletal system. Public Library of Science 2019-10-17 /pmc/articles/PMC6797126/ /pubmed/31622352 http://dx.doi.org/10.1371/journal.pone.0217730 Text en © 2019 Falisse et al http://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. |
spellingShingle | Research Article Falisse, Antoine Serrancolí, Gil Dembia, Christopher L. Gillis, Joris De Groote, Friedl Algorithmic differentiation improves the computational efficiency of OpenSim-based trajectory optimization of human movement |
title | Algorithmic differentiation improves the computational efficiency of OpenSim-based trajectory optimization of human movement |
title_full | Algorithmic differentiation improves the computational efficiency of OpenSim-based trajectory optimization of human movement |
title_fullStr | Algorithmic differentiation improves the computational efficiency of OpenSim-based trajectory optimization of human movement |
title_full_unstemmed | Algorithmic differentiation improves the computational efficiency of OpenSim-based trajectory optimization of human movement |
title_short | Algorithmic differentiation improves the computational efficiency of OpenSim-based trajectory optimization of human movement |
title_sort | algorithmic differentiation improves the computational efficiency of opensim-based trajectory optimization of human movement |
topic | Research Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6797126/ https://www.ncbi.nlm.nih.gov/pubmed/31622352 http://dx.doi.org/10.1371/journal.pone.0217730 |
work_keys_str_mv | AT falisseantoine algorithmicdifferentiationimprovesthecomputationalefficiencyofopensimbasedtrajectoryoptimizationofhumanmovement AT serrancoligil algorithmicdifferentiationimprovesthecomputationalefficiencyofopensimbasedtrajectoryoptimizationofhumanmovement AT dembiachristopherl algorithmicdifferentiationimprovesthecomputationalefficiencyofopensimbasedtrajectoryoptimizationofhumanmovement AT gillisjoris algorithmicdifferentiationimprovesthecomputationalefficiencyofopensimbasedtrajectoryoptimizationofhumanmovement AT degrootefriedl algorithmicdifferentiationimprovesthecomputationalefficiencyofopensimbasedtrajectoryoptimizationofhumanmovement |