The topics covered in this section include:

How it Works

The Analyze Tool steps in time through a set of input data specifying the state of a model; at each time step, the tool runs a set of analyses on the model. Available analyses include:

  • OutputReporter: Report any Output from any component in the model by specifying the output's path (e.g., com_position). This Analysis is the most flexible but requires you to manually specify all quantities you desire. This Analysis was added in 4.0 and leverages the Outputs introduced in 4.0.
  • Kinematics: Records the generalized coordinates (q's), generalized speeds (u's), and the accelerations (i.e., derivatives of the generalized speeds: du/dt)
  • BodyKinematics: Records the configuration (center of mass position and orientation) of each body, as well as their velocities (linear and angular) and accelerations (linear and angular). Additionally, it records the overall center of mass of the model, as well as the velocity and acceleration of this center of mass.
  • Actuation: Records the generalized force, speed, and power developed by each actuator of the model. The generalized force can either be a force (with units N) or a torque (with units Nm). The actuator speed is the rate at which the actuator shortens. Depending on the actuator, a speed can be either a translational speed (m/s) or an angular speed (deg/s). An actuator power (Watts) is the rate at which an actuator does work. Positive work means that the actuator is delivering energy to the model; negative power means that the actuator is absorbing energy from the model.
  • JointReaction: Reports the joint reaction loads from a model. For a given joint, the reaction load is calculated as the forces and moments required to constrain the body motions to satisfy the joint as if the joint did not exist. The reaction load acts at the joint center (mobilizer frame) of both the parent and child bodies and either force can be reported and expressed in either the child, parent or ground frames. The default behavior is to express the force on the child in the ground frame.

The analyses can be added to the list to run via the GUI or by editing a setup file. The input data typically are loaded from files, and may come from experiments or simulations. The results are collected and written to file, usually storage (.sto) files, which you can open with other programs, such as Matlab or Microsoft Excel, for further analysis or plotting. Any analysis available in OpenSim can be included in the list of analyses to run.

Depending on the analyses you would like to run, there are four types of input that may be needed to analyze a model. These are described below.

states States are the variables of a model that are governed by differential equations and thus are integrated during a simulation. The most common examples of states are the generalized coordinates (q; e.g., joint angles) and speeds (u; e.g., joint angular velocities) that specify the configuration of a model. Every model has them. The states are not limited to the coordinates and speeds, however. Muscles frequently have states. Muscle activation and fiber length are common examples of muscle states. [1]

controls Controls are independent variables used to control the behavior of a model. Muscle excitations are an example. They are not governed by differential equations, but typically are free to take on any value between zero (no excitation) and one (full excitation). The controls of a model are frequently the variables used as the control parameters in optimization problems.

external loads External loads are forces or torques applied between the ground (or world) and the bodies of a model. For example, you might have force plate data that were recorded during a gait experiment. The recorded forces and moments can be applied to the right and left feet of the model by inputting the data as external loads. In OpenSim 1.5, external loads can be applied to at most two bodies.

Input and Output Files

The Analyze Tool has the same input and output files as the Forward Dynamics Tool. Refer to How to Use the Forward Dynamics Tool for more information about the input and output files.


[1] Schutte, L.M., Rodgers, M.M., Zajac, F.E., "Improving the efficacy of electrical stimulation-induced leg cycle ergometry: an analysis based on a dynamic musculoskeletal model," IEEE Transactions on Rehabilitation Engineering, 1993, 1: 109-125.