skip to main content


Title: Generating optimal control simulations of musculoskeletal movement using OpenSim and MATLAB

Computer modeling, simulation and optimization are powerful tools that have seen increased use in biomechanics research. Dynamic optimizations can be categorized as either data-tracking or predictive problems. The data-tracking approach has been used extensively to address human movement problems of clinical relevance. The predictive approach also holds great promise, but has seen limited use in clinical applications. Enhanced software tools would facilitate the application of predictive musculoskeletal simulations to clinically-relevant research. The open-source software OpenSim provides tools for generating tracking simulations but not predictive simulations. However, OpenSim includes an extensive application programming interface that permits extending its capabilities with scripting languages such as MATLAB. In the work presented here, we combine the computational tools provided by MATLAB with the musculoskeletal modeling capabilities of OpenSim to create a framework for generating predictive simulations of musculoskeletal movement based on direct collocation optimal control techniques. In many cases, the direct collocation approach can be used to solve optimal control problems considerably faster than traditional shooting methods. Cyclical and discrete movement problems were solved using a simple 1 degree of freedom musculoskeletal model and a model of the human lower limb, respectively. The problems could be solved in reasonable amounts of time (several seconds to 1–2 hours) using the open-source IPOPT solver. The problems could also be solved using the fmincon solver that is included with MATLAB, but the computation times were excessively long for all but the smallest of problems. The performance advantage for IPOPT was derived primarily by exploiting sparsity in the constraints Jacobian. The framework presented here provides a powerful and flexible approach for generating optimal control simulations of musculoskeletal movement using OpenSim and MATLAB. This should allow researchers to more readily use predictive simulation as a tool to address clinical conditions that limit human mobility.

 
more » « less
NSF-PAR ID:
10013894
Author(s) / Creator(s):
;
Publisher / Repository:
PeerJ
Date Published:
Journal Name:
PeerJ
Volume:
4
ISSN:
2167-8359
Page Range / eLocation ID:
e1638
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Abstract

    Trajectory optimization with musculoskeletal models can be used to reconstruct measured movements and to predict changes in movements in response to environmental changes. It enables an exhaustive analysis of joint angles, joint moments, ground reaction forces, and muscle forces, among others. However, its application is still limited to simplified problems in two dimensional space or straight motions. The simulation of movements with directional changes, e.g. curved running, requires detailed three dimensional models which lead to a high-dimensional solution space. We extended a full-body three dimensional musculoskeletal model to be specialized for running with directional changes. Model dynamics were implemented implicitly and trajectory optimization problems were solved with direct collocation to enable efficient computation. Standing, straight running, and curved running were simulated starting from a random initial guess to confirm the capabilities of our model and approach: efficacy, tracking and predictive power. Altogether the simulations required 1 h 17 min and corresponded well to the reference data. The prediction of curved running using straight running as tracking data revealed the necessity of avoiding interpenetration of body segments. In summary, the proposed formulation is able to efficiently predict a new motion task while preserving dynamic consistency. Hence, labor-intensive and thus costly experimental studies could be replaced by simulations for movement analysis and virtual product design.

     
    more » « less
  2. Abstract Novelty

    Demonstrating the effects of including mass and internal dynamics of the actuator in simulations of assisted human movement

    A new OpenSim electric motor actuator class to capture the electromechanical dynamics for use in simulation of human movement assisted by powered robotic devices

     
    more » « less
  3. null (Ed.)
    A general-purpose C++ software program called CGPOPS is described for solving multiple-phase optimal control problems using adaptive direct orthogonal collocation methods. The software employs a Legendre-Gauss-Radau direct orthogonal collocation method to transcribe the continuous optimal control problem into a large sparse nonlinear programming problem (NLP). A class of hp mesh refinement methods are implemented that determine the number of mesh intervals and the degree of the approximating polynomial within each mesh interval to achieve a specified accuracy tolerance. The software is interfaced with the open source Newton NLP solver IPOPT. All derivatives required by the NLP solver are computed via central finite differencing, bicomplex-step derivative approximations, hyper-dual derivative approximations, or automatic differentiation. The key components of the software are described in detail, and the utility of the software is demonstrated on five optimal control problems of varying complexity. The software described in this article provides researchers a transitional platform to solve a wide variety of complex constrained optimal control problems. 
    more » « less
  4.  
    more » « less
  5. null (Ed.)
    Musculoskeletal modeling is a new computational tool to reverse engineer human control systems, which require efficient algorithms running in real-time. Human hand pronation-supination movement is accomplished by movement of the radius and ulna bones relative to each other via the complex proximal and distal radioulnar joints, each with multiple degrees of freedom (DOFs). Here, we report two simplified models of this complex kinematic transformation implemented as a part of a 20 DOF model of the hand and forearm. The pronation/supination DOF was implemented as a single rotation joint either within the forearm segment or separating proximal and distal parts of the forearm segment. Torques produced by the inverse dynamic simulations with anatomical architecture of the forearm (OpenSim model) were used as the "gold standard" in the comparison of two simple models. Joint placement was iteratively optimized to achieve the closest representation of torques during realistic hand movements. The model with a split forearm segment performed better than the model with a solid forearm segment in simulating pronation/supination torques. We conclude that simplifying pronation/supination DOF as a single-axis rotation between arm segments is a viable strategy to reduce the complexity of multi-DOF dynamic simulations. 
    more » « less