User Tools

Site Tools


visual3d:documentation:kinematics_and_kinetics:inverse_dynamics

Inverse Dynamics

Kinetics refers to the calculation of the Joint Moment and Joint Force. All other Kinetic signals are derived from the moment, force, and kinematic data.

Inverse Dynamic calculations are usually represented by Model_Based_Items.

Biomechanical movement analysis provides a quantitative record of motion, and thereby allows objective comparison of performance across different conditions and patient groups. Biomechanical movement analysis typically involves several discrete steps. First, the motion of tracking targets attached to the subject is recorded using cameras. Second, a biomechanical model is defined to represent selected characteristics of the subject such as the number and type of segments (inertial properties), the joint properties (number of degrees-of-freedom (dof)), and the kinds of actuators that move the segments. Third, the kinematics of the model are calculated by determining the transformation from recorded tracking markers to the pose of each segment of the biomechanical model. The definition of the biomechanical model can be a crucial determinant of the reliability of the transformation between tracking markers and model pose and for interpreting specific movement disorders. Fourth, inverse dynamics analysis is applied to the kinematics of the biomechanical model and to the location, magnitude, and direction of externally applied forces (e.g., ground reaction forces acting on the foot).

Traditional inverse dynamics methods for analyzing human movement (including those incorporated into Visual3D) compute the net moments generated by muscles crossing a joint leading to the assumption that these moments are the primary controllers of movement at that joint. Inverse dynamics analysis does not provide any indication of the contribution of individual muscles. For example, a small net moment can be the result of (a) one weakly activated agonist muscle, or (b) two strongly activated muscles, one agonist and one antagonist that offset one another. The two cases, each with the same net moment, have very different implications for the efficiency of the movement effort and its stability in the face of perturbations. Researchers and clinicians that need to understand the contribution of individual muscles typically augment inverse dynamics analysis with electromyographical (EMG) recordings from several muscles, but this approach is limited by the highly non-linear relationship between EMG and muscle force. Alternative techniques, such as those being explored in this Phase II project, are required to parse out the contributions of individual muscles.

The interpretation of the inverse dynamics data commonly centers on some form of pattern recognition based on deviations of signals from a normative equivalent. This strategy identifies differences from normal motion, but rarely explains their causes. This is because it is extraordinarily difficult to infer the causal relationships between a force or moment and the resulting movement trajectory. For example, using Induced Acceleration analysis and Segmental Power analysis, Siegel et al (Siegel, Kepple and Stanhope, 2003) reported that the local effect of energy transfer between segments can be several times greater than the magnitude of the net joint power and even opposite in sign. Their data demonstrated that negative joint power actually can increase segmental energy and positive joint power can decrease segment energy.

Using Processed Input Signals

In the development of Visual3D we attempted to simplify the process of computing the model based data. These legacy decisions sometimes resulted in functionality that may not be obvious to the users. One of these instances is the selection of the signal folder that is used for processing the kinetic and kinematic data.

Note that Visual3D computes the velocity and acceleration signals used for the kinematics internally, and stores the relevant information in the KINETIC_KINEMATIC folder, so unless you explicitly want access to the derivatives, you don’t need to compute them.

There is an option in the Properties menu to select the PROCESSED folder for all KINETIC_KINEMATIC and LINK_MODEL_BASED processing.

If PROCESSED is selected, Visual3D does not check the history of the PROCESSED signal, it just uses what it finds. If PROCESSED is selected, but the PROCESSED signal does not exist the ORIGINAL signal is used.

Free Body Diagram

A free body diagram of two segments, showing the traditional assumptions for inverse dynamics analysis.


  • It is assumed that the joint forces are equal and opposite about the joint.
  • It is assumed that joint moments are equal and opposite about the joint.
  • The distal end of one segment is not assumed to be at the same point as the proximal end of the next segment. This allows movement in the ”joint”. Regardless of the position of the proximal end of the distal segment, we translate the force to the distal end of the proximal segment for the inverse dynamics calculations.

Internal vs External Joint Moment

Visual3D calculates the Internal Moment.

The external moment is balanced by the net internal moment produced by the muscles and ligaments. For example, a net internal moment dominated by the quadriceps muscles would be needed to balance an external flexion moment.

Mathematically, the external moment is equal and opposite to the internal moment, but the user is cautioned to reference the term if it is used in an article.

Note: The external moment is a term that is not commonly used.

Joints

The term Joint is used periodically throughout Visual3D, and has several different meanings.

In 6 DOF tracking there is no explicit linkage (or joint) connecting the segments. Visual3D explores the collection of segments and considers any two segments in proximity (the distal end of one segment and the proximal end of another segment within the radius of the segment ends) to be “linked” and references a Joint between them. The Joint does not constrain the segments, but is rather a bookkeeping tool that keeps track of which segments are assumed to have an equal and opposite Joint Reaction Force acting between their endpoints and an equal and opposite Joint Moments acting on the adjacent segments.

Inverse Dynamics Calculations in Visual3D

Kinetics is the study of the forces and moments that cause motion of a body. For human movement, biomechanics attempt to determine the forces that result from muscle contractions and the torques that are produced, which together bring about the movement of the segments and thus of the whole body.

Visual3D's inverse dynamics calculations are implemented using the following recursive scheme. One of the features of the inverse dynamics algorithms is that it is straightforward to add external forces and torques to any segment.


The Proximal Joint Reaction force is computed in the Global Coordinate System. The segments attached distally to any segment are identified (e.g. for a conventional lower body gait analysis the pelvis segment as two distal chains comprising a thigh, shank, and foot segment. An iterative algorithm for the proximal joint force, which allows any applied external force on segments is:


The Proximal Couple (moment) computed at the proximal end of a segment is computed in a segment (local) coordinate system:


Transform the inertial torque from the Segment Coordinate System into the Global (Laboratory) Coordinate System using a transformation matris that is computed from the motion capture data.


The Couple acting on a segment due to the inertial terms is:


Expanding the Force terms and reducing the resulting equation yields the proximal moment due to the inertial forces and applied moments at the joint.


An advantage of this recursive formulation is that the approach is generalizable because there is substantially less bookkeeping required to keep track of the external forces and torques.

Sampling Rate

Many people collect analog data at a higher rate than their motion capture data, which is the point rate. This is fine, as long as the higher rate is an integer multiple of the point rate. When force data are applied to a model, the resulting Link_Model_Based data are at point rate. This is because forces applied to segments cannot be calculated where the segment location is unknown (between point frames), i.e. there are no target data to generate segment locations for the ‘extra’ analog frames. However, the FORCE data retain the analog data rate. These ‘extra’ sample points are displayed as SUB frames within the point rate. The first subframe is synchronized with the point data, and it is this first subframe that is used for Inverse Dynamics calculations. Other Link_Model_Based data, which are based on segments, are also sampled at the point rate, since segmental data can only ever be calculated at point rate.

Center of Mass of the Model

Visual3D calculates the center of mass of the model that has been created. If your model represents the entire body, then the center of mass of the model is the same as the center of mass of the body. You must ensure that the segments of your model have the appropriate masses.

The signal representing the location of the center of mass of the model at every frame can be found in the KINETIC_KINEMATIC folder in the data tree.

The center of mass can be displayed by selecting the “View model center of mass option” under the View menu item

visual3d/documentation/kinematics_and_kinetics/inverse_dynamics.txt · Last modified: 2024/11/20 12:04 by wikisysop