...
Additional information is also available in the section on OpenSim Models. A large repository of existing models is available (see curated list or do a search on SimTK ). These include models of the lower extremity, head and neck, spine, wrist, and many other musculoskeletal regions for both humans and other animals. We encourage you to contribute your own models to SimTK to enable other researchers to build on your work and further advance the field.
...
You can also use the questions below to guide you in selecting a suitable simulation pipeline. The section below on Examples of Choosing a Simulation Pipeline also provides useful tips.
...
If you answered “yes” to (a) and (b), you may have an Inverse Problem. See the Inverse Problem simulation options below.
...
If yes, you may have a Forward Problem. See the Forward Problem simulation options below.
...
If yes, you may have a Forward Problem. See the Forward Problem simulation options below.
...
See the section on Scaling for more details. Tutorial 3 - Scaling, Inverse Kinematics, and Inverse Dynamics includes an example using the Scale Tool. This tutorial is also accessible from the OpenSim application Help menu.
...
METHOD | GOAL | KEY CONSIDERATIONS | AVAILABLE INTERFACES | RESOURCES | |||
---|---|---|---|---|---|---|---|
GUI | Command Line* | C++ & Scripting** | Other | ||||
Inverse dynamics | Calculate joint torques from a measured motion | Straightforward; minimal assumptions | X | X | X | Hands-on Example (Beginner): Scaling, Inverse Kinematics, and Inverse Dynamics | |
Static optimization | Estimate muscle force/activations from a measured motion | Fast estimation; assumes rigid tendons; minimizes activation squared at each time step | X | X | X | User Guide: Static Optimization Hands-on Example (Intermediate): Working with Static Optimization Hands-on Example (Intermediate): Estimating Leg Muscle Forces in Stance and Swing | |
Computed muscle control (CMC) | Estimate muscle excitations from a measured motion | Excitation-activation dynamics; accounts for tendon stretch; minimizes activation squared at each time step | X | X | User Guide: Computed Muscle Control Hands-on Example (Intermediate): Computed Muscle Control Hands-on Example (Intermediate): Estimating Leg Muscle Forces in Stance and Swing | ||
EMG-informed methods | Estimate musculotendon parameters given a measured motion and muscle activity | Normalizing muscle activity is necessary | X | Calibrated EMG-Informed Neuromusculoskeletal Modeling (CEINMS) Toolbox |
...
The Inverse Kinematics (IK) Tool in OpenSim finds values for the generalized coordinates (joint angles and positions) in the model that best match the experimental kinematics recorded for a particular subject (see figure below). The experimental kinematics targeted by IK can include experimental marker positions, as well as experimental generalized coordinate values (joint angles). The IK Tool goes through each time step of motion and computes generalized coordinate values which position the model in a pose that "best matches" experimental marker and coordinate values for that time step. Mathematically, the "best match" is expressed as a weighted least-squares problem, whose solution aims to minimize both marker and coordinate errors.
Experimental markers are matched by model markers throughout the motion by varying the generalized coordinates (e.g., joint angles) through time. See Inverse Kinematics for full documentation on running IK in OpenSim. Tutorial 3 - Scaling, Inverse Kinematics, and Inverse Dynamics walks through an example of using Inverse Kinematics for human walking.
...
See Inverse Dynamics for full documentation on running ID in OpenSim. Tutorial 3 - Scaling, Inverse Kinematics, and Inverse Dynamics walks through an example of using ID for human walking.
...
- EMG can be used as constraints to muscle excitations in Computed Muscle Control (see the Control Constraints section in our CMC documentation for more information). This was used in work by Hamner et al. in simulations of running in order to constrain some muscle activity by EMG measured from the experiments. Their project page can be found here.
- Use the Calibrated EMG-Informed Neuromusculoskeletal Modeling (CEINMS) Toolbox (Pizzolato, et al., 2015) to calibrate subject-specific models and/or generate EMG-informed simulations
...
METHOD | GOAL | SPEED | KEY CONSIDERATIONS | AVAILABLE INTERFACES | RESOURCES | |||
---|---|---|---|---|---|---|---|---|
GUI | Command Line* | C++ & Scripting** | Other | |||||
Forward dynamics with known controls | Generate a motion based on specified muscle excitations, joint torques, and/or other applied forces | Fast (seconds to minutes) | Easy to set up and can quickly get results; difficult to use for more complex motions (e.g., walking) without adding a controller | X | X | X | ||
Shooting methods | Generate a motion based on high-level tasks quantified by an objective function | Slow (hours to days) | Model and controller simplifications are common; controllers are usually motion-specific; can support controllers based on realistic feedback loops (e.g., force) | X | X | Webinar: Predictive Simulation of Biological Motion Using SCONE | ||
Reinforcement learning (RL) | Generate a motion based on high-level tasks quantified by an objective function | Very slow (days to weeks) | Model simplifications are common; may require very large amount of computing power; minimal input needed from user so workflow can be extended to many motions | X | Webinar: Robust Control Strategies for Musculoskeletal Models Using Deep Reinforcement Learning | |||
Direct collocation | Quickly generate a motion based on high-level tasks quantified by an objective function; intermediate solutions do not necessarily satisfy physical constraints | Middling (minutes to hours) | Capacity to scale to more complicated models; difficult to implement (e.g., constraints, providing derivatives); difficult to add feedback loops (i.e., for reflexes) | X | X | Webinar: OpenSIm Moco: Software to Optimize the Motion and Control of OpenSim Models |
...