Movement is fundamental to human and animal life, emerging through interaction of complex neural, muscular, and skeletal systems. Study of movement draws from and contributes to diverse fields, including biology, neuroscience, mechanics, and robotics. OpenSim unites methods from these fields to create fast and accurate simulations of movement, enabling two fundamental tasks. First, the software can calculate variables that are difficult to measure experimentally, such as the forces generated by muscles and the stretch and recoil of tendons during movement. Second, OpenSim can predict novel movements from models of motor control, such as kinematic adaptations of human gait during loaded or inclined walking. Changes in musculoskeletal dynamics following surgery or due to human–device interaction can also be simulated; these simulations have played a vital role in several applications, including the design of implantable mechanical devices to improve human grasping in individuals with paralysis. OpenSim is an extensible and user-friendly software package built on decades of knowledge about computational modeling and simulation of biomechanical systems. OpenSim’s design enables computational scientists to create new state-of-the-art software tools and empowers others to use these tools in research and clinical applications. OpenSim supports a large and growing community of biomechanics and rehabilitation researchers, facilitating exchange of models and simulations for reproducing and extending discoveries. Examples, tutorials, documentation, and an active user forum support this community. The OpenSim software is covered by the Apache License 2.0, which permits its use for any purpose including both nonprofit and commercial applications. The source code is freely and anonymously accessible on GitHub, where the community is welcomed to make contributions. Platform-specific installers of OpenSim include a GUI and are available on simtk.org.
Citation: Seth A, Hicks JL, Uchida TK, Habib A, Dembia CL, Dunne JJ, et al. (2018) OpenSim: Simulating musculoskeletal dynamics and neuromuscular control to study human and animal movement. PLoS Comput Biol 14(7): e1006223. https://doi.org/10.1371/journal.pcbi.1006223
Editor: Dina Schneidman, Hebrew University of Jerusalem, ISRAEL
Received: January 5, 2018; Accepted: May 23, 2018; Published: July 26, 2018
Copyright: © 2018 Seth et al. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
Data Availability: Executables for the OpenSim application are freely available for download from https://simtk.org/projects/opensim. Open-source code for OpenSim is available on GitHub at https://github.com/opensim-org/opensim-core (for core libraries and command-line applications) and https://github.com/opensim-org/opensim-gui (for building the graphical user interface and OpenSim distribution).
Funding: This work was supported by a) the National Institutes of Health (https://www.nih.gov/) through grants U54 GM072970, R24 HD065690, P2C HD065690, U54 EB020405, R01 HD033929, R01 NS055380, R01 HD046814, and R01 HD046774; b) Defense Advanced Research Projects Agency (DARPA, https://www.darpa.mil/) contracts, including W911QX-12-C-0018 and HR0011-12-C-0111, via subcontract 12-006 from Open Source Robotics Foundation, and c) European Commission (http://cordis.europa.eu/project/rcn/93746_en.html) grant FP7-ICT-248189. JLH and CLD received support from the National Science Foundation Graduate Fellowship Program (https://www.nsfgrfp.org); JLH, CLD, CFO, EMA, and JRY received support from the Stanford (University) Bio-X Graduate Fellowship (https://biox.stanford.edu/fellowship-app-info); and CFO received support from the Siebel Scholars Program (http://www.siebelscholars.com). The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.
Competing interests: The authors have declared that no competing interests exist.
By studying the biomechanical structures and neuromuscular control underlying movement, we can discover strategies to prevent injury, treat disease, and enhance performance. The benefits are undeniable: an understanding of typical and impaired neuromuscular control has improved rehabilitation for patients after a stroke ; musculoskeletal analysis has shown promise as a tool for predicting outcomes of orthopaedic surgeries and for optimizing assistive devices [2, 3]; studies of posture have led to recommendations for establishing safe working conditions to reduce the risk of musculoskeletal injuries, such as carpal tunnel syndrome and low back pain [4, 5]; and biomechanical observations have led to improved technique and performance in swimming [6, 7]. However, the complex interactions of neural control with musculoskeletal dynamics during the production of movement (Fig 1) pose a significant barrier to making such discoveries. A complication is that many quantities of interest—including neural control signals and joint loads—are difficult or impossible to measure with experiments. To advance movement science, researchers desire computational modeling and simulation tools that span disciplines such as anatomy, physiology, neuroscience, kinesiology, mechanics, robotics, and computer science, distributed with permissive software licenses so that discoveries can be widely shared. Several open-source software packages (e.g., BTK  and OpenMA ) provide tools for collecting and analyzing experimental movement data, but have limited support for simulation and optimization tasks. While a few groups around the world have developed their own simulation and optimization software tools, these independent approaches limit the exchange of models and algorithms.
Movement arises from a complex orchestration of the neural, muscular, skeletal, and sensory systems. OpenSim includes computational models of these systems, enabling prediction and analysis of human and animal movement. Neural command to muscles, in the form of excitations, can be estimated from controller models or experimental data (e.g., EMG). OpenSim’s Hill-type musculotendon models, which translate excitations into muscle forces, include the force–length and force–velocity properties of muscles. OpenSim provides the flexibility to represent the wide range of muscle geometry found in animals, and the parameters defining muscle geometry and contraction dynamics can be modified based on experimental data. OpenSim’s underlying Simbody engine for multibody dynamics includes contact models (e.g., to simulate foot–ground interaction) and several solvers/integrators that allow users to generate muscle-driven simulations (forward simulation) or to solve for muscle forces and moments that generate an observed motion (inverse simulation).
OpenSim enables the advancement of movement science by equipping research and clinical communities with biomechanical models and simulation tools in an open-source, extensible, and collaborative platform. OpenSim’s capabilities span four core areas. First, users can build, manipulate, and interrogate biomechanical models. For example, bone specimens were used to build a musculoskeletal model of the Australopithecus afarensis hand to investigate whether this primate species had sufficient grip strength to make certain stone tools . Second, OpenSim can be used to simulate musculoskeletal dynamics and neuromuscular control. Simulations enable researchers to pursue studies that are difficult to perform experimentally, such as investigating how humans and animals exploit tendon elasticity to make running more efficient [11–13] and optimizing the design of implantable mechanisms and assistive devices [14–18]. Third, using solely principles of neuromuscular control and dynamic simulation, OpenSim can be used to predict novel movements and adaptations to novel conditions, without performing any experiments. This capability has led to a deeper understanding of muscle coordination during loaded and inclined walking , insight into limitations of reflexes in preventing ankle injuries when landing , and suggestions of optimal device design to enhance jumping performance . Fourth, OpenSim’s modular and extensible design allows researchers to create and share new computational models [22, 23], numerical methods, and simulation tools [24–26] that extend the capabilities of the software.
In addition to its advanced computational tools, OpenSim provides a collaborative research platform that serves a diverse, global, and expanding user base (Fig 2). This active research community is using OpenSim to make scientific discoveries, and is disseminating these results in workshops, webinars, conference presentations, and journal publications. The paper describing the first version of OpenSim  was cited 322 times in 2016 alone (Google Scholar; accessed June 5, 2017); approximately 3/4 of the citing papers used the software in their study. Many of the models, data, and plugins described in these references are publicly shared, enabling one to reproduce, validate, and extend others’ results. There are currently over 180 OpenSim-related projects on simtk.org, a website for sharing biophysical models and software, many of which contain valuable experimental data sets (e.g., [22, 28, 29]). OpenSim users also contribute to the community by asking and answering questions on the user forum and by contributing software to the codebase on GitHub. Community engagement is critical as user requirements play a substantial role in shaping the software. We have developed a suite of teaching materials, which includes (i) a user’s guide, (ii) dozens of tutorials and examples for training novice users, demonstrating advanced features, and providing templates for starting new studies, and (iii) documentation of the Application Programming Interface (API) for plugin developers and scripting users. The software and these teaching materials are used for introducing biomechanics to a broad range of students, from middle-school to graduate-school levels.
(A) Locations of visitors to the OpenSim documentation (sessions per country in the 1-year period ending April 21, 2018). Since its launch in 2012, the OpenSim documentation wiki has been visited by over 25,000 users from around the world per year . (B) Publications citing OpenSim by research category (Web of Science). Note that journals, and thus citations of OpenSim, may belong to more than one research category. According to Google Scholar, OpenSim  has been cited 1947 times as of June 13, 2018; based on analysis of the subset of these papers published in 2016, we estimate that 3/4 of these publications make use of the software. (C) Cumulative downloads of OpenSim since its release in August 2007. 35,915 users have downloaded the software as of June 13, 2018 . World map in (A) created using tools at http://gunn.co.nz/map.
This paper describes the design and capabilities of OpenSim and provides a sampling of the types of research questions that can be answered using OpenSim. The software was first released in August 2007 as a research tool for generating simulations of movement. Early versions of the software were used primarily for studying human gait and exploring the effects of pathologies and treatments [27, 32]. We have introduced many additional capabilities in recent years, among which are enhancements in four key areas. First, new accurate models for modeling muscle contraction dynamics, muscle metabolic power, joint kinematics, and assistive devices have been introduced. These models enable users to closely replicate human and animal movements, and to explore metabolic cost under natural and engineered conditions. An extensive test suite ensures these models are correctly implemented, robust, and efficient. Second, users are now able to explore beyond predefined workflows and create custom studies that combine existing computational tools in new ways. For example, users can now access muscle-related variables like moment arms , fiber lengths, and passive fiber forces directly from a model, without running a complicated analysis in the OpenSim application. This functionality is available through the C++ API as well as MATLAB and Python scripting interfaces, ensuring the tools are accessible to researchers with differing computational backgrounds. Third, OpenSim now includes functionality for controlling data flow, such as converting data from motion capture file formats and managing data within a simulation. Without the help of third-party tools, users can read in experimental data from files in standard motion capture file formats to plot the data in OpenSim and use it to generate simulations. Fourth, the OpenSim desktop application incorporates a modern cross-platform visualizer with tools for creating animations of movement (Fig 3), which provides users with more control over the visualization and allows use on both Windows and Mac operating systems. These capabilities enable groundbreaking work in the academic, clinical, and industrial arenas.
A graphical user interface provides access to tools for inspecting, modifying, and simulating musculoskeletal models. Shown here are the results of muscle-driven simulations of human and chimpanzee walking that were generated by tracking experimental motion capture data. OpenSim models can be augmented with passive and active devices to explore designs of exoskeletons. (Human model and simulation from Rajagopal et al. ; chimpanzee model from O’Neill et al.  and unpublished simulation results provided by M.C. O’Neill and B.R. Umberger.)
Design and implementation
Overview of the software design
Formulating and solving the equations that govern the motion of a neuromusculoskeletal system are daunting, even for experts. OpenSim automates the difficult and error-prone task of formulating these equations from a conceptual model and provides tools to solve them (Fig 4). We define a Model to be a codified description of the form (topology) and function (dynamics) of a biomechanical system, which can include neural, muscular, and skeletal structures, as well as non-biological components like exoskeletons. We capitalize “Model” here, and similar terms elsewhere, to denote the specific data structure (i.e., class) defined in OpenSim. An OpenSim user creates a Model by defining the components of the Model (e.g., rigid bodies and muscles), their properties (e.g., body masses and muscle fiber lengths), and the connections between each of the components (e.g., the femur and tibia bodies in a lower limb model are connected by a knee joint). OpenSim then automatically generates a System, which comprises the system of equations that governs the kinematics and dynamics of a Model. The System, which does not change during a simulation, is separate from the time-varying State of a Model, which stores the values of the variables in the Model’s equations of motion (e.g., joint angles, muscle activations, and the stretch of a clutched elastic cord). A simulation generates a trajectory of these States in time. One can then employ OpenSim’s Solvers to systematically study Models and their motion. For example, one can solve for a set of muscle forces required to track a movement observed experimentally, or integrate the Model’s equations of motion to compute its trajectory (States) over time.
An OpenSim Model is a codified description of a physical system and its dynamics, and can be expressed as a topological graph of interconnected components. Each component represents a self-contained module (biological structure, neuromotor controller, mechatronic device, etc.) comprising the Model, and contributes to building the computational system. The computational system consists of two parts: (1) the system of equations (“System”), which includes physical parameters that are constant during a simulation (mass, dimensions, muscle properties, etc.); and (2) the State, which is the list of all variables in the System that may vary over time (e.g., joint angles). The model developer designs an OpenSim Model that represents the physical system of interest, and the OpenSim software automatically constructs the computational system of differential and algebraic equations that describe the dynamics of the Model.
OpenSim is accessible via a desktop application and the API, through C++, Java, MATLAB, and Python interfaces. The desktop application (built using the Java interface) comprises a graphical user interface (GUI) and a visualizer, enabling a broad community of users to apply models and simulations to study movement. The desktop application provides tools for users to visualize Models and motions via WebGL, interrogate and edit Models, configure and run Solvers, and plot and export simulation results. OpenSim’s command-line executables allow batch processing. Extensible Markup Language (XML) files are used to document and store Models and simulation parameters, and human-readable file formats allow users to archive and share simulation results. OpenSim is built atop other validated packages. OpenSim relies on Simbody to compute the dynamics of multibody systems, which is done using an order-N recursive formulation [36–39]. Additional dependencies include BTK (Coordinate 3D (C3D) file support), SWIG (creating non-C++ interfaces), doxygen (API documentation), Java NetBeans (GUI), JFreeChart (plotting), Jython (GUI scripting), and TinyXML (XML parsing).
OpenSim employs several design, implementation, and testing strategies to maintain software quality. The software’s object-oriented design strictly limits the scope of each software unit, allowing each to be tested thoroughly in isolation. We also use comprehensive unit testing to ensure components are valid (e.g., tests for Components, like Joints, verify that energy is conserved) and can be written to and read from file to maintain backward compatibility with old model files (serialization). Regression testing ensures that simulation and analysis results are preserved as the software grows and evolves. We employ continuous integration (via AppVeyor and Travis CI) to run our full test suite before accepting proposed changes to the codebase.
Biologically accurate models
OpenSim includes computational models of muscle, biological joints, and other musculoskeletal structures that are based on decades of research. Muscle mechanics, muscle architecture, and joint kinematics can be defined and modified to represent a wide variety of human and animal musculoskeletal structures. These capabilities are useful for modeling muscle spasticity and contracture in children with cerebral palsy , the unique musculoskeletal structures of animals to understand how ostriches run at high speed and with high metabolic economy , and in many other computational studies. Models of muscle mechanics have typically been validated against experimental data obtained from animals (e.g., the soleus muscle of rats; see Fig 5). These models have been adapted for studying human movement and can likewise be adapted to study a diversity of other animals. We have used recent experimental studies to improve previously published models and continue to add new models to expand the possible research applications of OpenSim. For example, biomechanical joints  compute accurate joint kinematics and reaction forces for the lower extremity (e.g., the knee [41, 42]), the spine and neck , and the shoulder . The muscle models in OpenSim capture activation dynamics, the force–length and force–velocity relationships, and muscle–tendon dynamics . Recent enhancements improve the computational speed and numerical stability of the muscle models as well as their agreement with in vitro testing of rat muscles . Muscle metabolics models [13, 47–49] in OpenSim allow users to estimate muscle-level and whole-body energetics during movement. Neurophysiological structures and controllers, such as goal-directed and tracking (Computed Muscle Control; CMC) controllers  and a reflex controller , enable users to generate muscle-driven simulations of observed motions and to predict human and animal movement.
For example, our models of muscle contraction dynamics  were validated using in vivo isolated rat soleus muscle data from Krylow and Sandercock . The data shown here (second column) were collected from one of these sources (force transducer; first column) as the muscle was maximally excited and its free end was displaced according to a predetermined time-varying signal, repeating for various displacements (shown here for 0.10–1.00 mm). We replicated these experiments in simulation to validate our computational model of muscle contraction dynamics .
To ensure our models and simulations are biologically accurate, we validate our simulation results by comparing with experimental measures and other independent models and simulations (Fig 5). We also make all of our simulation and experimental data freely available so others can perform independent testing. Members of the OpenSim community are helping to validate models and simulations by performing sensitivity studies , developing benchmarks for multi-body system analysis , and analyzing parameter uncertainty .
Custom simulation studies
OpenSim uses a modular Component and Solver architecture. Users can create custom simulation studies that combine existing computational tools in new ways, and write new computational tools that extend the built-in capabilities of OpenSim.
OpenSim Components employ the composite design pattern , enabling users to assemble and combine models of musculoskeletal structures, exoskeletons, and implantable mechanisms to compute and report values of interest (Fig 6). A Component is a self-contained part of a Model that describes a physical structure or phenomenon and its contribution to the Model’s equations of motion. A variety of Components are built into OpenSim, including rigid bodies, joints, constraints, controllers, actuators, contact models, and springs. The computational models of muscle, biological joints, and other musculoskeletal structures described in the previous section are also Components. An OpenSim user builds a Model by specifying an interconnected set of Components. For example, a femur Body and a tibia Body are connected by a knee Joint, all of which are contained by the Model. This modular architecture allows users to systematically compose complex models from simpler submodels. The properties of the Component (e.g., the mass and inertia tensor of a Body) can be written to and read from a file (as XML), facilitating model archiving, editing, and sharing. Furthermore, users can write and share their own Components to extend OpenSim. For example, van der Krogt and colleagues created and validated a muscle spasticity controller and shared it as an OpenSim plugin on simtk.org .
Physics-based models of biological structures can be augmented with models of neuromotor controllers and mechatronic devices to reproduce and explain experimental observations, and to predict novel movements. OpenSim natively supports a wide variety of components, including those for modeling the skeleton as rigid bodies connected by joints, ligaments and other passive structures, muscles and motors, tracking and reflex-based controllers, external forces from the environment, and assistive devices composed of rigid bodies, joints, springs, and actuators. We have added new components to OpenSim (indicated with “†”) and enhanced many existing components (indicated with “*”). OpenSim’s collaborative, open-source development philosophy allows users to create, extend, and share new component models to accelerate their research.
OpenSim includes several inverse and forward Solvers to compute quantities of interest from a Model. For example, a forward dynamics Solver can be used to integrate model dynamics (i.e., state derivatives) forward in time to generate a trajectory of States. By incorporating reflex and other neurophysiological controllers, users can generate de novo movements. Alternately, inverse kinematics and dynamics Solvers determine the generalized coordinates (e.g., joint angles) and forces, respectively, that are consistent with external measurements (e.g., experimental marker trajectories from a motion capture system and ground reaction forces). OpenSim’s novel Component design provides access to the underlying dynamic equations, along with quantities like contact forces and metabolic cost, allowing users to extend OpenSim by creating custom Solvers. For example, single-shooting (e.g., [19–21]) and direct collocation (e.g., [56–60]) methods have been applied to predict movements like walking and jumping that optimize a user-determined objective (e.g., minimizing metabolic cost or maximizing jump height).
OpenSim provides users with flexibility and control when both inputting data, such as experimental measurements that drive a simulation, and outputting results of interest, such as joint angles and muscle forces. FileAdapters provide the capability to import data from common file formats (e.g., C3D, CSV, and TRC) and can be extended by developers to support new file types. Any Component can generate Outputs (e.g., a Muscle can output its force-generating capacity), which users can report to an internal table, a file, or the console using a Reporter. OpenSim also provides tools to manage the exchange of data within a simulation. Any Output generated by a Component (e.g., a Muscle’s fiber length) can be received by another Component as an Input (e.g., a stretch-based reflex Controller that generates an excitation signal based on a Muscle’s fiber length as an Input). DataTables are in-memory containers that can be used to store experimental and simulation data (e.g., marker locations, muscle-fiber lengths, and excitation signals) as columns of time series and their related metadata, such as column labels and units of measurement.
Visualization of models and simulations is vital for interpreting, troubleshooting, and communicating results. OpenSim’s WebGL visualizer (see Fig 3) uses a modern graphics rendering pipeline, which provides features such as lighting, shadows, and textures, along with cross-platform support. Components can be visualized with analytic geometry (e.g., spheres, cylinders, and boxes; see the exoskeleton in Fig 3) that is straightforward to define, in addition to mesh-based geometry (e.g., bone meshes).
OpenSim is enabling researchers from diverse fields to gain insight into human and animal movement. Since its first release, OpenSim has been used as a modeling and visualization tool to examine the functional roles of individual muscles in human gait and to understand the effect of treatments on patients with gait disorders caused by cerebral palsy and stroke [2, 61–71]. Open access to human and animal models and recent improvements to the software (see Design and implementation) have expanded the scope of studies that are performed with OpenSim. Comparative biologists are using OpenSim to study relationships between form and function in animals [12, 72–76], and engineers are using OpenSim to design and analyze assistive devices [14–17]. Researchers are also using OpenSim to create models of reflexes and spinal circuits [20, 40, 77, 78] to understand movement disorders or prevent injury. OpenSim is being integrated into larger simulation and experimental frameworks for research in ergonomics , assistive robotics [80–82], and neurorehabilitation , where a model of human or animal movement is integral to the design of workspaces, devices, and treatments. The four examples below represent the range of studies enabled by recent advances in OpenSim.
Example 1: Form and function
OpenSim is being used to discover relationships between form and function that explain how humans and animals move. For example, Rankin and colleagues  investigated the mechanisms responsible for the impressive speed, agility, and efficiency of the fastest running biped: the ostrich. The researchers constructed a musculoskeletal model of the ostrich’s lower limb (Fig 7A) and used an inverse approach in OpenSim to compute the muscle forces and mechanical work required to track experimental measurements of walking and running. Their analysis revealed that the biarticular muscles crossing both the hip and knee were the primary contributors to propulsion during stance, based on the large positive work they generate (Fig 7B, biarticular hip/knee). In contrast, the uniarticular knee extensors acted like brakes, performing negative work. The digital extensor muscles—which cross several joints, including the ankle and the metatarsal–phalangeal joints—and their compliant tendons acted like springs by storing energy (performing negative work) in early stance and releasing energy (performing positive work) in late stance, particularly during running (Fig 7B, digital flexors). The model, experimental data, and simulation procedures to reproduce their results are available on Dryad . Analogous studies have been performed for other extant [35, 74, 75, 84] and extinct animals  to relate musculoskeletal form to function.
In this study, Rankin et al.  built a detailed model of an ostrich (Struthio camelus) pelvic limb in OpenSim (A) and collected motion capture data to generate simulations of ostrich locomotion. The researchers generated simulations of running (navy blue) and walking (light blue) with compliant tendons, using the Computed Muscle Control Tool in OpenSim. For each muscle group, they computed the negative and positive work performed by the muscles during stance (B) and swing (not shown). The biarticular muscles crossing both the hip and knee performed largely positive work during stance, contributing to propulsion, while the knee extensors performed negative work, acting as brakes. Adapted from Rankin et al. .
Example 2: Device design
OpenSim is being used to design implantable and exoskeletal devices. For example, Homayouni and colleagues  used OpenSim to prototype new passive, implantable mechanisms for hand tendon transfer surgery to improve grasp performance and restore function in patients with partial paralysis of the upper extremity. The goal of the mechanisms is to achieve a grasp that evenly distributes forces between the fingers—a key limitation of current tendon transfer procedures. The researchers modeled an artificial tendon network and a lever mechanism (Fig 8A and 8B), both of which act to distribute force from the attached extensor carpi radialis longus (ECRL) muscle among four tendons in the hand. They performed forward dynamics simulations of grasping tasks, where the motion was not prescribed but evolved based on the activation of the ECRL muscle. They examined the resulting kinematics of the digits of the hand and the forces applied to a grasped ball. Both proposed mechanisms allowed for greater motion of the digits (Fig 8C) while maintaining grasp strength comparable to that of healthy individuals. Others are using OpenSim to study assistive devices, such as those that assist walking and running [16–18], and to improve below-knee prosthetic comfort and performance .
In current practice, individuals with partial paralysis of the upper limb receive tendon transfer surgeries to reconnect the tendons that facilitate finger movement to a non-paralyzed donor muscle. Homayouni and colleagues  are designing implantable devices to improve outcomes of traditional, suture-based tendon transfer. In one design (A), the single-suture attachment is replaced with an artificial tendon network. In a second design (B), a lever mechanism replaces the suture to more evenly distribute forces between the digits. The investigators used OpenSim to model the traditional suture-based surgery and each proposed design, and simulated a grasping motion. The implantable devices (green and blue) achieved greater finger flexion (C) than the traditional suture-based surgery (black). Adapted from Homayouni et al. .
Example 3: Neural control
The ability to create custom controllers in OpenSim enables users to investigate the role of reflexes in generating movement and preventing injury. Consider, for example, ankle sprains, which are the most common acute sport trauma . Existing interventions have limited success [87, 88], in part because the role of muscle coordination in preventing injury is poorly understood . DeMers and colleagues used OpenSim to compare the effectiveness of reflex control and preparatory co-activation in preventing ankle injuries. The authors simulated many landing scenarios, including those too dangerous to study experimentally. Their simulations used a full-body musculoskeletal model with muscle stretch reflexes and preset muscle activation controllers (Fig 9A). The model also included an elastic foundation contact model to compute foot–floor contact forces, and passive force elements that modeled the mechanics of ankle ligaments. Over a wide range of simulated landing scenarios, they found that strong preparatory co-activation of the ankle evertors and invertors prior to ground contact prevented the ankle inversion angle from exceeding injury thresholds (Fig 9B). Conversely, even superhuman stretch reflexes were too slow to generate adequate eversion moments before the simulations reached the threshold for inversion injury (Fig 9C). These results suggest that training interventions to protect the ankle should focus on stiffening the ankle with muscle co-activation prior to landing. The musculoskeletal and neuromuscular controller models, software, and simulation results from this study are freely available . Previous studies using OpenSim have provided controller-driven simulations to examine the changes in muscle function due to factors like muscle spasticity  or surgical intervention [63–65, 77]. Further, by applying optimization to select controller parameters, researchers have been able to predict human-like movements  and adaptations to varying physiological and environmental conditions .
DeMers and colleagues  created an OpenSim model to study risky landing scenarios (A), which included a detailed ankle joint to model both passive and active components, stretch-reflex controllers to actuate the muscles, and a contact model to estimate foot–floor reaction forces. They used the model to simulate a single-leg drop-landing onto an angled surface, which induced rapid ankle inversion. While preparatory co-activation of the invertor and evertor muscles (B) was able to prevent the ankle from inverting to angles that may cause injury (gray region), a reflex-only strategy (C) was not able to prevent injury in the scenario studied. Models and data are available on simtk.org . Adapted from DeMers et al. .
Example 4: Multidisciplinary research
OpenSim enables investigators to incorporate musculoskeletal models into multidisciplinary simulation studies that require expertise and tools from diverse fields, such as neuroscience , ophthalmology , and human–machine interaction . For example, electrical epidural stimulation has shown promise for restoring some voluntary function in individuals with spinal cord injury (SCI; Fig 10); however, the mechanisms by which the therapy enables modulation of muscle activity are poorly understood. Moraud et al.  used simulations to uncover potential mechanisms by which the stimulation can restore standing and walking, and inform the design of new stimulation patterns to improve function. OpenSim was integrated into a larger computational framework to provide biomechanically accurate estimates of muscle stretch in rats during locomotion—key inputs to the computational spindle circuit model of Moraud et al. The simulations revealed that epidural stimulation modulated muscle activity by interacting with muscle spindle feedback circuits such that increments in frequency ranging from 10 to 100 Hz led to a linear increase in the mean firing rate of both sensory and motor neurons. A comparable modulation in motor output was observed when increasing electrical epidural stimulation amplitude. These characterizations enabled the investigators to design phasic stimulation strategies for rats with incomplete and complete SCI, thereby reducing gait asymmetry and restoring balance in spinalized rats. Their findings and stimulation techniques could eventually help humans regain mobility after SCI.
Moraud et al.  measured the movement of spinal cord–injured rats (left panel; experimental setup with marker kinematics, ground reaction forces, and muscle electromyography (EMG)). A musculoskeletal model of the rat hindlimb (center panel) was developed in OpenSim to provide estimates of muscle fiber lengths and velocities from measured kinematics, which were inputs to muscle spindle models (right panel; black coils). Spindle reflexes from the major flexor and extensor muscles were the primary inputs to a realistic model of spinal neuronal circuits (right panel), which generated the neural drive to the same major muscle groups. The spindle reflexes were coupled to electrical epidural stimulation (EES) that modulated the spindle signals into the spinal circuits. The results (not shown) from Moraud et al. revealed that simulated neuromuscular activity successfully predicted changes of in vivo muscle activity (EMG) due to variations in EES frequency and amplitude. The OpenSim model of the rat hindlimb by Johnson et al. is available on simtk.org .
Availability and future directions
OpenSim is an open-source project with dozens of contributors and thousands of users. The OpenSim source code is available under the permissive Apache License 2.0, making OpenSim suitable for any academic, commercial, government, or personal use (some dependencies have more restrictive licenses). The source code is available on GitHub at https://github.com/opensim-org/opensim-core and https://github.com/opensim-org/opensim-gui. To make OpenSim accessible to a broad community of users, pre-packaged binaries with a desktop application (GUI and visualizer) are released periodically at https://simtk.org/projects/opensim. Documentation for users and developers, teaching materials, examples, musculoskeletal models, the Q&A Forum, and other resources can be accessed through http://opensim.stanford.edu/support/.
The recent software developments described above, coupled with the collective effort of the diverse and growing user community, will enable OpenSim to play an integral role in advancing research and design. Generating simulations of de novo movements (i.e., predictive simulation) is one area of particular interest. For example, providing easier access to predictive simulation would enable rehabilitation researchers to use simulations to guide the design of devices for preserving, restoring, and enhancing movement, and would accelerate the efforts of comparative biomechanists to predict the locomotor patterns of extinct species [91, 92]. Recent advances in direct collocation [57, 60, 93], fast and accurate impact models , and efficient modeling techniques  will help bring predictive simulation to a broader audience. As demonstrated by Moraud et al. , neural controllers can be studied experimentally by using a computational model of the musculoskeletal system as the plant in simulations of movement. The principles learned from such studies could eventually be used to improve control of implantable devices, prostheses, and exoskeletons (e.g., via real-time sensing and biofeedback). OpenSim can provide virtual prototyping capabilities for improving outcomes and reducing development time in clinical applications.
As with any open-source project, the future of OpenSim will be determined largely by the participation of the community. Our vision is to deepen the understanding of human and animal movement and to accelerate the development of rehabilitative treatments and assistive devices. Simulation can help realize this vision. Computer-aided design revolutionized the processes of conceptualizing, developing, and manufacturing engineered products from appliances to airplanes. We envision that neuromuscular and musculoskeletal simulation will continue to drive the evolution of engineered devices and treatments that assist and interact with people. The complexity and diversity of the human (and animal) motor system present fundamental challenges that can be overcome only by a large, diverse, and active community of researchers, engineers, and clinicians. This community benefits from models and simulation tools for making discoveries, transferring knowledge, and designing effective technologies. OpenSim is poised to support these endeavors.
- 1. Krakauer JW. Motor learning: its relevance to stroke recovery and neurorehabilitation. Curr Opin Neurol. 2006;19(1):84–90. pmid:16415682
- 2. Arnold AS, Liu MQ, Schwartz MH, Õunpuu S, Delp SL. The role of estimating muscle-tendon lengths and velocities of the hamstrings in the evaluation and treatment of crouch gait. Gait Posture. 2006;23(3):273–281. pmid:15964759
- 3. Bregman DJJ, van der Krogt MM, de Groot V, Harlaar J, Wisse M, Collins SH. The effect of ankle foot orthosis stiffness on the energy cost of walking: a simulation study. Clin Biomech. 2011;26(9):955–961.
- 4. Lowe BD, Weir PL, Andrews DM. Observation-based posture assessment: review of current practice and recommendations for improvement. Cincinnati, Ohio, U.S.A.: National Institute for Occupational Safety and Health, Department of Health and Human Services, Centers for Disease Control and Prevention; 2014. NIOSH Publication No. 2014-131.
- 5. Novicki E. Musculoskeletal disorders prevention program. Cincinnati, Ohio, U.S.A.: National Institute for Occupational Safety and Health, Department of Health and Human Services, Centers for Disease Control and Prevention; 2016. NIOSH Publication No. 2016-127.
- 6. Brown RM, Counsilman JE. The role of lift in propelling the swimmer. In: Cooper JM, editor. Selected Topics on Biomechanics: Proceedings of the C.I.C. Symposium on Biomechanics. Chicago, Illinois, U.S.A.; 1971. p. 179–188.
- 7. McGinnis PM. Biomechanics of Sport and Exercise. 3rd ed. Champaign, Illinois, U.S.A.: Human Kinetics; 2013.
- 8. Barre A, Armand S. Biomechanical ToolKit: open-source framework to visualize and process biomechanical data. Comput Methods Programs Biomed. 2014;114(1):80–87. pmid:24548899
- 9. Leboeuf F, Armand S, Arnaud B. OpenMA: a new open source library for working and altering the Conventional Gait Model. Gait Posture. 2016;49(Supplement 2):260.
- 10. Domalain M, Bertin A, Daver G. Was Australopithecus afarensis able to make the Lomekwian stone tools? Towards a realistic biomechanical simulation of hand force capability in fossil hominins and new insights on the role of the fifth digit. C R Palevol. 2017;16(5–6):572–584.
- 11. Arnold EM, Hamner SR, Seth A, Millard M, Delp SL. How muscle fiber lengths and velocities affect muscle force generation as humans walk and run at different speeds. J Exp Biol. 2013;216(11):2150–2160. pmid:23470656
- 12. Rankin JW, Rubenson J, Hutchinson JR. Inferring muscle functional roles of the ostrich pelvic limb during walking and running using computer optimization. J R Soc Interface. 2016;13(118):20160035. pmid:27146688
- 13. Uchida TK, Hicks JL, Dembia CL, Delp SL. Stretching your energetic budget: how tendon compliance affects the metabolic cost of running. PLoS ONE. 2016;11(3):e0150378. pmid:26930416
- 14. Homayouni T, Underwood KN, Beyer KC, Martin ER, Allan CH, Balasubramanian R. Modeling implantable passive mechanisms for modifying the transmission of forces and movements between muscle and tendons. IEEE Trans Biomed Eng. 2015;62(9):2208–2214. pmid:25850081
- 15. Farris DJ, Hicks JL, Delp SL, Sawicki GS. Musculoskeletal modelling deconstructs the paradoxical effects of elastic ankle exoskeletons on plantar-flexor mechanics and energetics during hopping. J Exp Biol. 2014;217(22):4018–4028. pmid:25278469
- 16. Uchida TK, Seth A, Pouya S, Dembia CL, Hicks JL, Delp SL. Simulating ideal assistive devices to reduce the metabolic cost of running. PLoS ONE. 2016;11(9):e0163417. pmid:27656901
- 17. Jackson RW, Dembia CL, Delp SL, Collins SH. Muscle–tendon mechanics explain unexpected effects of exoskeleton assistance on metabolic rate during walking. J Exp Biol. 2017;220(11):2082–2095. pmid:28341663
- 18. Dembia CL, Silder A, Uchida TK, Hicks JL, Delp SL. Simulating ideal assistive devices to reduce the metabolic cost of walking with heavy loads. PLoS ONE. 2017;12(7):e0180320. pmid:28700630
- 19. Dorn TW, Wang JM, Hicks JL, Delp SL. Predictive simulation generates human adaptations during loaded and inclined walking. PLoS ONE. 2015;10(4):e0121407. pmid:25830913
- 20. DeMers MS, Hicks JL, Delp SL. Preparatory co-activation of the ankle muscles may prevent ankle inversion injuries. J Biomech. 2017;52(Supplement C):17–23. pmid:28057351
- 21. Ong CF, Hicks JL, Delp SL. Simulation-based design for wearable robotic systems: an optimization framework for enhancing a standing long jump. IEEE Trans Biomed Eng. 2016;63(5):894–903. pmid:26258930
- 22. Seth A, Matias R. Model of the scapulothoracic joint; 2017. https://simtk.org/projects/scapulothoracic.
- 23. DeMers M. Evertor and invertor muscle co-activation prevents ankle inversion injury; 2016. https://simtk.org/projects/ankle-sprains.
- 24. Modenese L, Philips A, van Arkel R. OpenSim plugin to extract the muscle lines of action; 2015. https://simtk.org/projects/force_direction.
- 25. Myers C. Probabilistic tool for considering patient populations & model uncertainty; 2014. https://simtk.org/projects/prob_tool.
- 26. Steele K. Synergy Optimization: a plug-in to couple muscle activity in OpenSim; 2016. https://simtk.org/projects/synergy.
- 27. Delp SL, Anderson FC, Arnold AS, Loan P, Habib A, John CT, et al. OpenSim: open-source software to create and analyze dynamic simulations of movement. IEEE Trans Biomed Eng. 2007;54(11):1940–1950. pmid:18018689
- 28. Hamner S, Delp S. Muscle contributions to mass center accelerations over a range of running speeds; 2018. https://simtk.org/projects/nmbl_running.
- 29. Fregly BJ, D’Lima D, Besier T. Grand challenge competition to predict in vivo knee loads; 2015. https://simtk.org/projects/kneeloads.
- 30. National Center for Simulation in Rehabilitation Research. OpenSim Documentation; 2018. https://simtk-confluence.stanford.edu/display/OpenSim.
- 31. Delp S, Habib A, Seth A, Hicks J, Dunne J. OpenSim; 2018. https://simtk.org/projects/opensim.
- 32. Seth A, Sherman M, Reinbolt JA, Delp SL. OpenSim: a musculoskeletal modeling and simulation framework for in silico investigations and exchange. Procedia IUTAM. 2011;2:212–232. pmid:25893160
- 33. Sherman MA, Seth A, Delp SL. What is a moment arm? Calculating muscle effectiveness in biomechanical models using generalized coordinates. In: Proceedings of the ASME 2013 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference. Portland, Oregon, U.S.A.; August 4–7, 2013. p. DETC2013–13633.
- 34. Rajagopal A, Dembia CL, DeMers MS, Delp DD, Hicks JL, Delp SL. Full-body musculoskeletal model for muscle-driven simulation of human gait. IEEE Trans Biomed Eng. 2016;63(10):2068–2079. pmid:27392337
- 35. O’Neill MC, Lee LF, Larson SG, Demes B, Stern JT Jr, Umberger BR. A three-dimensional musculoskeletal model of the chimpanzee (Pan troglodytes) pelvis and hind limb. J Exp Biol. 2013;216(19):3709–3723. pmid:24006347
- 36. Featherstone R. The calculation of robot dynamics using articulated-body inertias. Int J Rob Res. 1983;2(1):13–30.
- 37. Sherman MA, Seth A, Delp SL. Simbody: multibody dynamics for biomedical research. Procedia IUTAM. 2011;2:241–261. pmid:25866705
- 38. Seth A, Sherman M, Eastman P, Delp S. Minimal formulation of joint motion for biomechanisms. Nonlinear Dyn. 2010;62(1–2):291–303. pmid:21170173
- 39. Jain A. Unified formulation of dynamics for serial rigid multibody systems. J Guid Control Dyn. 1991;14(3):531–542.
- 40. van der Krogt MM, Bar-On L, Kindt T, Desloovere K, Harlaar J. Neuro-musculoskeletal simulation of instrumented contracture and spasticity assessment in children with cerebral palsy. J Neuroeng Rehabil. 2016;13(1):64. pmid:27423898
- 41. Delp SL, Loan JP, Hoy MG, Zajac FE, Topp EL, Rosen JM. An interactive graphics-based model of the lower extremity to study orthopaedic surgical procedures. IEEE Trans Biomed Eng. 1990;37(8):757–767. pmid:2210784
- 42. Lerner ZF, DeMers MS, Delp SL, Browning RC. How tibiofemoral alignment and contact locations affect predictions of medial and lateral tibiofemoral contact forces. J Biomech. 2015;48(4):644–650. pmid:25595425
- 43. Vasavada AN, Li S, Delp SL. Influence of muscle morphometry and moment arms on the moment-generating capacity of human neck muscles. Spine. 1998;23(4):412–422. pmid:9516695
- 44. Seth A, Matias R, Veloso AP, Delp SL. A biomechanical model of the scapulothoracic joint to accurately capture scapular kinematics during shoulder movements. PLoS ONE. 2016;11(1):e0141028. pmid:26734761
- 45. Zajac FE. Muscle and tendon: properties, models, scaling, and application to biomechanics and motor control. Crit Rev Biomed Eng. 1989;17(4):359–411. pmid:2676342
- 46. Millard M, Uchida T, Seth A, Delp SL. Flexing computational muscle: modeling and simulation of musculotendon dynamics. J Biomech Eng. 2013;135(2):021005. pmid:23445050
- 47. Umberger BR, Gerritsen KGM, Martin PE. A model of human muscle energy expenditure. Comput Methods Biomech Biomed Engin. 2003;6(2):99–111. pmid:12745424
- 48. Umberger BR. Stance and swing phase costs in human walking. J R Soc Interface. 2010;7(50):1329–1340. pmid:20356877
- 49. Bhargava LJ, Pandy MG, Anderson FC. A phenomenological model for estimating metabolic energy consumption in muscle contraction. J Biomech. 2004;37(1):81–88. pmid:14672571
- 50. Thelen DG, Anderson FC, Delp SL. Generating dynamic simulations of movement using computed muscle control. J Biomech. 2003;36(3):321–328. pmid:12594980
- 51. Krylow AM, Sandercock TG. Dynamic force responses of muscle involving eccentric contraction. J Biomech. 1997;30(1):27–33. pmid:8970921
- 52. Valente G, Pitto L, Testi D, Seth A, Delp SL, Stagni R, et al. Are subject-specific musculoskeletal models robust to the uncertainties in parameter identification? PLoS ONE. 2014;9(11):e112625. pmid:25390896
- 53. Tagliapietra L, Vivian M, Caracciolo R, Reggiani M. Evaluation of the biomechanical simulator OpenSim on a multi-body system benchmark. In: Proceedings of the ECCOMAS Thematic Conference on Multibody Dynamics. Barcelona, Catalonia, Spain; June 29–July 2, 2015.
- 54. Myers CA, Laz PJ, Shelburne KB, Davidson BS. A probabilistic approach to quantify the impact of uncertainty propagation in musculoskeletal simulations. Ann Biomed Eng. 2015;43(5):1098–1111. pmid:25404535
- 55. Gamma E, Helm R, Johnson R, Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Upper Saddle River, New Jersey, U.S.A.: Addison-Wesley; 1995.
- 56. Meyer AJ, Eskinazi I, Jackson JN, Rao AV, Patten C, Fregly BJ. Muscle synergies facilitate computational prediction of subject-specific walking motions. Front Bioeng Biotechnol. 2016;4(77):1–26.
- 57. Lee LF, Umberger BR. Generating optimal control simulations of musculoskeletal movement using OpenSim and MATLAB. PeerJ. 2016;4:e1638. pmid:26835184
- 58. Falisse A, Van Rossom S, Jonkers I, De Groote F. EMG-driven optimal estimation of subject-specific Hill model muscle–tendon parameters of the knee joint actuators. IEEE Trans Biomed Eng. 2017;64(9):2253–2262. pmid:27875132
- 59. Lin YC, Pandy MG. Three-dimensional data-tracking dynamic optimization simulations of human locomotion generated by direct collocation. J Biomech. 2017;59:1–8. pmid:28583674
- 60. De Groote F, Kinney AL, Rao AV, Fregly BJ. Evaluation of direct collocation optimal control problem formulations for solving the muscle redundancy problem. Ann Biomed Eng. 2016;44(10):2922–2936. pmid:27001399
- 61. Arnold AS, Liu MQ, Schwartz MH, Õunpuu S, Dias LS, Delp SL. Do the hamstrings operate at increased muscle–tendon lengths and velocities after surgical lengthening? J Biomech. 2006;39(8):1498–1506. pmid:15923009
- 62. Hicks JL, Schwartz MH, Arnold AS, Delp SL. Crouched postures reduce the capacity of muscles to extend the hip and knee during the single-limb stance phase of gait. J Biomech. 2008;41(5):960–967. pmid:18291404
- 63. Reinbolt JA, Fox MD, Arnold AS, Õunpuu S, Delp SL. Importance of preswing rectus femoris activity in stiff-knee gait. J Biomech. 2008;41(11):2362–2369. pmid:18617180
- 64. Reinbolt JA, Fox MD, Schwartz MH, Delp SL. Predicting outcomes of rectus femoris transfer surgery. Gait Posture. 2009;30(1):100–105. pmid:19411175
- 65. Fox MD, Reinbolt JA, Õunpuu S, Delp SL. Mechanisms of improved knee flexion after rectus femoris transfer surgery. J Biomech. 2009;42(5):614–619. pmid:19217109
- 66. Hicks J, Arnold A, Anderson F, Schwartz M, Delp S. The effect of excessive tibial torsion on the capacity of muscles to extend the hip and knee during single-limb stance. Gait Posture. 2007;26(4):546–552. pmid:17229573
- 67. Liu MQ, Anderson FC, Schwartz MH, Delp SL. Muscle contributions to support and progression over a range of walking speeds. J Biomech. 2008;41(15):3243–3252. pmid:18822415
- 68. Steele KM, Seth A, Hicks JL, Schwartz MS, Delp SL. Muscle contributions to support and progression during single-limb stance in crouch gait. J Biomech. 2010;43(11):2099–2105. pmid:20493489
- 69. Hamner SR, Seth A, Delp SL. Muscle contributions to propulsion and support during running. J Biomech. 2010;43(14):2709–2716. pmid:20691972
- 70. Hamner SR, Delp SL. Muscle contributions to fore-aft and vertical body mass center accelerations over a range of running speeds. J Biomech. 2013;46(4):780–787. pmid:23246045
- 71. John CT, Seth A, Schwartz MH, Delp SL. Contributions of muscles to mediolateral ground reaction force over a range of walking speeds. J Biomech. 2012;45(14):2438–2443. pmid:22884038
- 72. Nagano A, Umberger BR, Marzke MW, Gerritsen KGM. Neuromusculoskeletal computer modeling and simulation of upright, straight-legged, bipedal locomotion of Australopithecus afarensis (A.L. 288-1). Am J Phys Anthropol. 2005;126(1):2–13. pmid:15386246
- 73. Lerner ZF, Gadomski BC, Ipson AK, Haussler KK, Puttlitz CM, Browning RC. Modulating tibiofemoral contact force in the sheep hind limb via treadmill walking: predictions from an OpenSim musculoskeletal model. J Orthop Res. 2015;33(8):1128–1133. pmid:25721318
- 74. Harrison SM, Whitton RC, Kawcak CE, Stover SM, Pandy MG. Relationship between muscle forces, joint loading and utilization of elastic strain energy in equine locomotion. J Exp Biol. 2010;213(23):3998–4009. pmid:21075941
- 75. Harrison SM, Whitton RC, Kawcak CE, Stover SM, Pandy MG. Evaluation of a subject-specific finite-element model of the equine metacarpophalangeal joint under physiological load. J Biomech. 2014;47(1):65–73. pmid:24210848
- 76. Schaffelhofer S, Sartori M, Scherberger H, Farina D. Musculoskeletal representation of a large repertoire of hand grasping actions in primates. IEEE Trans Neural Syst Rehabil Eng. 2015;23(2):210–220. pmid:25350935
- 77. Mansouri M, Clark AE, Seth A, Reinbolt JA. Rectus femoris transfer surgery affects balance recovery in children with cerebral palsy: a computer simulation study. Gait Posture. 2016;43(Supplement C):24–30. pmid:26669947
- 78. Moraud EM, Capogrosso M, Formento E, Wenger N, DiGiovanna J, Courtine G, et al. Mechanisms underlying the neuromodulation of spinal circuits for correcting gait and balance deficits after spinal cord injury. Neuron. 2016;89(4):814–828. pmid:26853304
- 79. De Sapio V, Earl D, Green R, Saul K. Human factors simulation using demographically tuned biomechanical models. Proc Hum Factors Ergon Soc Annu Meet. 2014;58(1):944–948.
- 80. Farina D, Vujaklija I, Sartori M, Kapelner T, Negro F, Jiang N, et al. Man/machine interface based on the discharge timings of spinal motor neurons after targeted muscle reinnervation. Nat Biomed Eng. 2017;1:0025.
- 81. Durandau G, Suleiman W. User-safe orthosis based on compliant actuators: mechanical design and control framework. In: Proceedings of the 55th Annual Conference of the Society of Instrument and Control Engineers of Japan. Tsukuba, Japan; September 20–23, 2016. p. 1508–1513.
- 82. Moraud EM, von Zitzewitz J, Miehlbradt J, Wurth S, Formento E, DiGiovanna J, et al. Closed-loop control of trunk posture improves locomotion through the regulation of leg proprioceptive feedback after spinal cord injury. Sci Rep. 2018;8(1):76. pmid:29311614
- 83. Rankin JW, Rubenson J, Hutchinson JR. Data from: inferring muscle functional roles of the ostrich pelvic limb during walking and running using computer optimization. Dryad Digital Repository. 2016.
- 84. Johnson WL, Jindrich DL, Roy RR, Edgerton VR. Quantitative metrics of spinal cord injury recovery in the rat using motion capture, electromyography and ground reaction force measurement. J Neurosci Methods. 2012;206(1):65–72. pmid:22361571
- 85. LaPrè AK, Umberger BR, Sup FC IV. A robotic ankle–foot prosthesis with active alignment. J Med Device. 2016;10(2):025001.
- 86. Fong DTP, Chan YY, Mok KM, Yung PSH, Chan KM. Understanding acute ankle ligamentous sprain injury in sports. BMC Sports Sci Med Rehabil. 2009;1(1):1–14.
- 87. Anandacoomarasamy A, Barnsley L. Long term outcomes of inversion ankle injuries. Br J Sports Med. 2005;39(3):e14. pmid:15728682
- 88. Braun BL. Effects of ankle sprain in a general clinic population 6 to 18 months after medical evaluation. Arch Fam Med. 1999;8(2):143–148. pmid:10101985
- 89. Priamikov A, Fronius M, Shi B, Triesch J. OpenEyeSim: a biomechanical model for simulation of closed-loop visual perception. J Vis. 2016;16(15):25. pmid:28006074
- 90. Johnson W. Musculoskeletal model of the rat hindlimb; 2008. https://simtk.org/projects/rat_hlimb_model.
- 91. Pierce SE, Clack JA, Hutchinson JR. Three-dimensional limb joint mobility in the early tetrapod Ichthyostega. Nature. 2012;486:523–526. pmid:22722854
- 92. Bates KT, Manning PL, Margetts L, Sellers WI. Sensitivity analysis in evolutionary robotic simulations of bipedal dinosaur running. J Vertebr Paleontol. 2010;30(2):458–466.
- 93. Porsa S, Lin YC, Pandy MG. Direct methods for predicting movement biomechanics based upon optimal control theory with implementation in OpenSim. Ann Biomed Eng. 2016;44(8):2542–2557. pmid:26715209
- 94. Uchida TK, Sherman MA, Delp SL. Making a meaningful impact: modelling simultaneous frictional collisions in spatial multibody systems. Proc R Soc Lond A Math Phys Sci. 2015;471(2177):20140859.