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...

Descripción completa

Detalles Bibliográficos
Autores principales: Falisse, Antoine, Serrancolí, Gil, Dembia, Christopher L., Gillis, Joris, De Groote, Friedl
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