# Page History

...

The table below compares and contrasts different inverse methods. Not all methods are available from within the OpenSim graphical user interface (GUI) (see the "Available Interfaces" column below).

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 |

*"Command Line" refers to the interactive, text-based interface within OpenSim.

...

OpenSim enables researchers to solve the Inverse Dynamics problem, using experimental measured subject motion and forces to generate the kinematics and kinetics of a musculoskeletal model (see figure below). Dynamics is the study of motion *and* the forces and moments that produce that motion. The Inverse Dynamics (ID) Tool determines the generalized forces (e.g., net forces and torques) that cause a particular motion, and its results can be used to infer how muscles are actuated to generate that motion. To determine these internal forces and moments, the equations of motion for the system are solved with external forces (e.g., ground reaction forces) and accelerations given (estimated by differentiating angles and positions twice). The equations of motion are automatically formulated using the kinematic description and mass properties of a musculoskeletal model in Simbody™.

...

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.

...

The table below compares and contrasts different forward methods. Not all methods are available from within the OpenSim graphical user interface (GUI) (see the "Available Interfaces" column below).

METHOD | GOAL | SPEED | KEY CONSIDERATIONS | AVAILABLE INTERFACES | RESOURCES | |||
---|---|---|---|---|---|---|---|---|

GUI | Command Line* | C++ & Scripting** | Other | |||||

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

*"Command Line" refers to the interactive, text-based interface within OpenSim.

...