Table of Contents
MODEL ANGULAR MOMENTUM
Overview
This page focuses on the the MODEL_ANGULAR_MOMENTUM model-based item in Visual3D. Angular momentum L(t) is computed from full-body kinematic data using a multi-segment model. For each segment, the contribution to whole-body angular momentum is calculated by combining the angular momentum due to translation of the segment’s center of mass and the angular momentum due to rotation about that segment’s own center of mass. These terms are summed over all segments to yield the body’s total angular momentum vector about the whole-body center of mass.
A full discussion on the theoretical underpinnings for Angular Momentum as a quantity can be found on Wikipedia
Pipeline Command
Compute_Model_Based_Data /RESULT_NAME=AngularMomentum /SUBJECT_TAG=ALL_SUBJECTS /FUNCTION=MODEL_ANGULAR_MOMENTUM /SEGMENT= /REFERENCE_SEGMENT= ! /RESOLUTION_COORDINATE_SYSTEM=LAB ! /USE_CARDAN_SEQUENCE=FALSE ! /NORMALIZATION=FALSE ! /NORMALIZATION_METHOD= ! /NORMALIZATION_METRIC= ! /NEGATEX=FALSE ! /NEGATEY=FALSE ! /NEGATEZ=FALSE ! /AXIS1=X ! /AXIS2=Y ! /AXIS3=Z ! /INCLUDE_REMOTE_ANGULAR_MOMENTUM=FALSE ! /TREADMILL_DATA=FALSE ! /TREADMILL_DIRECTION=UNIT_VECTOR(0,1,0) ! /TREADMILL_SPEED=0.0 ;
Command Parameters
The command parameters that are relevant for angular momentum are FUNCTION, NORMALIZATION, and INCLUDE_REMOTE_ANGULAR_MOMENTUM.
- FUNCTION: MODEL_ANGULAR_MOMENTUM
- NORMALIZATION: there are three options to normalize the momentum values to. Default normalization (normalized by a value of 1), normalize to local file metric value, normalize to global metric value. This can be defined in NORMALIZATION_METHOD and NORMALIZATION_METRIC.
- INCLUDE_REMOTE_ANGULAR_MOMENTUM: Boolean parameter specifying whether the remote angular momentum—defined as a segment’s linear momentum relative to the body’s center of mass (COM) is included (TRUE) or excluded (FALSE).
| Parameter | Description | Default Value |
|---|---|---|
| /RESULT_NAME | The name of the Link_Model_Based item. | |
| /SUBJECT_TAG | The subject tag for the Link_Model_Based item. | The active Subject_Tag in the workspace. |
| /FUNCTION | The "type" of Link_Model_Based item to compute. | MODEL_ANGULAR_MOMENTUM |
| /SEGMENT | The Link_Model_Based item's segment in question. | |
| /REFERENCE_SEGMENT | The Link_Model_Based item's reference segment. | The LAB segment. |
| /RESOLUTION_COORDINATE_SYSTEM | The coordinate system into which the Link_Model_Based item is resolved. | The LAB segment. |
| /USE_CARDAN_SEQUENCE | Whether or not to use a Cardan sequence. | FALSE |
| /NORMALIZATION | Whether or not to normalize the Link_Model_Based item. | TRUE |
| /NORMALIZATION_METHOD | Which normalization method, if any, to use. | Default normalization(default=1), normalize to local file metric value, normalize to global metric value |
| /NORMALIZATION_METRIC | Which metric, if any, to use as a normalization baseline. | |
| /NEGATEX | Whether or not to negate the Link_Model_Based item's X-component. | FALSE |
| /NEGATEY | Whether or not to negate the Link_Model_Based item's Y-component. | FALSE |
| /NEGATEZ | Whether or not to negate the Link_Model_Based item's Z-component. | FALSE |
| /AXIS1 | The first rotation axis for a Cardan sequence. | X |
| /AXIS2 | The second rotation axis for a Cardan sequence. | Y |
| /AXIS3 | The third rotation axis for a Cardan sequence. | Z |
| /INCLUDE_REMOTE_ANGULAR_MOMENTUM | Segment’s linear momentum relative to the body’s center of mass (COM) is included (TRUE) or excluded (FALSE) | FALSE |
| /TREADMILL_DATA | Whether or not treadmill data is being used to calculate this Link_Model_Based item. | FALSE |
| /TREADMILL_DIRECTION | If treadmill data is being used, the treadmill's direction of travel. | UNIT_VECTOR(0,1,0) |
| /TREADMILL_SPEED | If treadmill data is being used, the treadmill's speed in m/s. | 0.0 |
Dialog
Whole Body Angular Momentum Calculation
The angular momentum for the total body about the total body center of mass is:
Where N = total number of segments
The following sections describe the components of the final equation.
Model Center of Mass (COM)
The center of mass of an object is a theoretical point where all of the object’s mass can be considered to be concentrated. The Center of Mass of the model can be computed from the location of the center of mass of each segment.
Total Mass of the Model
Location of the center of mass of the model.
Segment COM relative to Model COM
The vector from the Model's COM to the COM of a segment is illustrated by the red vector in the figure below:
Velocity of the COM
Velocity of a Segment COM relative to the laboratory
Velocity of the Model COM relative to the laboratory
Velocity of a vector from the Segment COM to the Model COM in Laboratory coordinates.
Segment Angular Moment in Local Coordinates
= Segment angular velocity in Lab Coordinates
= Segment orientation matrix, which transforms a vector from Lab coordinates to Local coordinates
Compute the segment angular velocity in Segment Local Coordinates
Segment Angular Moment in Lab Coordinates
Angular Momentum of one Segment Relative to the COM
The angular momentum for one segment about the total body center of mass in Laboratory Coordinates is:
Angular Momentum of Model Relative to the COM
Now that all the angular moment values in a common coordinate system, we can simply add them.
The angular momentum for the total body about the total body center of mass is:
Where N = total number of segments
Note: The tricky calculation is
so the algorithm works around this issue by not actually calculating the value.
Normalization
Normalizing the whole body angular momentum has been added to Visual3D's MODEL_ANGULAR_MOMENTUM function. The default normalization is by the value of 1, i.e. not normalizing the body angular momentum. However, users are able to normalize by a metric value if they wish.
For example, the following script mimics the method used by Herr et.al. 6 This study computes whole body angular momentum on gait data. In this study, they chose to compare across subjects with different body sizes and walking speeds, and therefore chose to convert the raw angular momentum values into a dimensionless, normalized measure. Specifically, each subject’s angular momentum is divided by a normalization constant:
MVH
where:
M is the subject’s total body mass,
V is the mean self-selected walking speed, and
H is the subject’s center-of-mass height.
Here we show a similar approach done in Visual3D as an example of how angular momentum can be normalized to any Metric signal that a user creates.
We begin by computing the average whole body center of mass height of an individual during stance phase of left gait cycles using the Metric_Mean command:
Metric_Mean ! /RESULT_METRIC_FOLDER=PROCESSED /RESULT_METRIC_NAME=ModelCOMHeight ! /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=FALSE /SIGNAL_TYPES=KINETIC_KINEMATIC /SIGNAL_FOLDER=Model /SIGNAL_NAMES=CenterOfMass /COMPONENT_SEQUENCE=Z /EVENT_SEQUENCE=LHS+LTO /EXCLUDE_EVENTS= ! /GENERATE_MEAN_AND_STDDEV=TRUE ! /GENERATE_MEAN_AND_STDDEV_ACROSS_SUBJECTS=FALSE ! /APPEND_TO_EXISTING_VALUES=FALSE ;
Then, we use Evaluate_Expression to compute the MVH metric that will be used to normalize the full body angular momentum. Here, the walking speed is 1.5 m/s.
Evaluate_Expression /EXPRESSION=MODEL::METRIC::MASS*METRIC::PROCESSED::ModelCOMHeight_MEAN*1.5 ! /SIGNAL_TYPES= ! /SIGNAL_FOLDER=ORIGINAL ! /SIGNAL_NAMES= ! /SIGNAL_COMPONENTS= /RESULT_TYPES=METRIC ! /RESULT_FOLDERS=PROCESSED /RESULT_NAME=MVH ! /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=FALSE ;
Finally, the normalized model angular momentum can be computed by referencing this MVH command:
Compute_Model_Based_Data /RESULT_NAME=Normalized_BodyAngularMomentum /SUBJECT_TAG=ALL_SUBJECTS /FUNCTION=MODEL_ANGULAR_MOMENTUM /SEGMENT= /REFERENCE_SEGMENT= /RESOLUTION_COORDINATE_SYSTEM= ! /USE_CARDAN_SEQUENCE=FALSE /NORMALIZATION=TRUE /NORMALIZATION_METHOD=NORMALIZE_TO_LOCAL_METRIC /NORMALIZATION_METRIC=MVH ! /NEGATEX=FALSE ! /NEGATEY=FALSE ! /NEGATEZ=FALSE ! /AXIS1=X ! /AXIS2=Y ! /AXIS3=Z ! /INCLUDE_REMOTE_ANGULAR_MOMENTUM=FALSE ! /TREADMILL_DATA=FALSE ! /TREADMILL_DIRECTION=UNIT_VECTOR(0,1,0) ! /TREADMILL_SPEED=0.0 ;
Examples
Examples of calculating angular momentum quantities can be found here.
References
Much of the contents of this page are courtesy of Fred Yeadon.
- Yeadon, M.R. 1993. The biomechanics of twisting somersaults. Part I: Rigid body motions. Journal of Sports Sciences 11, 187-198.
- Yeadon, M.R. 1993. The biomechanics of twisting somersaults. Part II: Contact twist. Journal of Sports Sciences 11, 199-208.
- Yeadon, M.R. 1993. The biomechanics of twisting somersaults. Part III: Aerial twist. Journal of Sports Sciences 11, 209-218.
- Yeadon, M.R. 1993. The biomechanics of twisting somersaults. Part IV: Partitioning performance using the tilt angle. Journal of Sports Sciences 11, 219-225.
- Yeadon, M.R. 1993. Twisting techniques used by competitive divers. Journal of Sports Sciences 11, 4, 337-342.
- Herr, H. 2008. Angular Momentum in Human Walking. The Journal of Experimental Biology 211, 467-481
















