User Tools

Site Tools


visual3d:documentation:pipeline:model_based_data_commands:angular_momentum_pt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
visual3d:documentation:pipeline:model_based_data_commands:angular_momentum_pt [2024/06/18 13:32] sgrangervisual3d:documentation:pipeline:model_based_data_commands:angular_momentum_pt [2026/06/02 14:14] (current) – ↷ Links adapted because of a move operation 172.204.27.30
Line 1: Line 1:
-\\+====== Angular Momentum about a Point ======
  
 +This example demonstrates how to calculate the angular momentum of a [[visual3d:documentation:modeling:segments:segment_overview|segment]] about an arbitrary point.
  
-====== Angular Momentum ======+**Note**: It is very important to note that the total body angular momentum is not calculated by summing the [[visual3d:documentation:visual3d_signal_types:link_model_based_data_type:angular_momentum|ANGULAR_MOMENTUM]] for each segment because this model-based item represents the angular momentum of each segment about its [[visual3d:documentation:modeling:segments:segment_properties#inertial_properties|own centre of mass]]. To calculate the total body angular momentum you must calculate the angular momentum for each segment about the same axis, such as the total body center of mass. The equations in the [[#Angular_Momentum:_About_Total_Body_Center_of_Mass|About Total Body Center of Mass]] section describe how to do this.
  
-It is important to note that the total body angular momentum is not calculated by summing the [[Visual3D:Documentation:Pipeline:Model_Based_Data_Commands:ANGULAR_MOMENTUM|ANGULAR_MOMENTUM]] for each calculated by the Compute Model Based command. The [[Visual3D:Documentation:Pipeline:Model_Based_Data_Commands:ANGULAR_MOMENTUM|ANGULAR_MOMENTUM]] command calculates the angular momentum about each segment's center of mass, to calculate the total body angular momentum you must calculate the angular momentum for each segment about the same axis, such as the total body center of mass. The equations in the [[#Angular_Momentum:_About_Total_Body_Center_of_Mass|About Total Body Center of Mass]] section describe how to do this.+===== Calculating Angular Momentum =====
  
-===== Angular MomentumAbout Segment Center of Mass =====+Visual3D's built in [[visual3d:documentation:visual3d_signal_types:link_model_based_data_type:angular_momentum|ANGULAR_MOMENTUM]] command calculates the angular momentum of a segment about the segment's center of mass, but angular momentum can also be calculated about a different point in space.
  
-Visual3D's built in [[Visual3D:Documentation:Pipeline:Model_Based_Data_Commands:ANGULAR_MOMENTUM|ANGULAR_MOMENTUM]] command calculates the angular momentum of segment about the segment'center of mass, but angular momentum can also be calculated about a different point in space.+==== About Segment'Centre of Mass ====
  
-**Angular momentum about a segment'center of mass is:**\\+segment'angular momentum about its own centre of mass is calculated as:
  
 +{{:SegmentAngularMomentumExpression.jpg}}
  
-|  {{SegmentAngularMomentumExpression.jpg}}  |+where
  
-===== Angular Momentum: About Total Body Center of Mass =====+<code> 
 +Moment of Inertia 
 += Angular velocity 
 +</code>
  
-**Angular momentum about the total body center of mass is:**\\+==== About Total Body Center of Mass ====
  
 +A segment's angular momentum about the total body's centre of mass is calculated as:
  
-**NOTE:** Angular momentum for the whole body about the total body center of mass is just the summation of the angular momentum of **each** segment about the total body center of mass.+|{{:SegmentAngularMomentum_AboutaPoint_Eq.png}} |{{:SegmentAngularMomentum_AboutaPoint.png}}  |
  
-|{{SegmentAngularMomentum_AboutaPoint_Eq.png{{/images/thumb/1/1f/SegmentAngularMomentum_AboutaPoint_Eq.png/250px-SegmentAngularMomentum_AboutaPoint_Eq.png?250x158}}]]\\ \\ //Iw// = angular momentum of the segment\\ \\ \\ //I// = Moment of Inertia\\ \\ //w// = Angular velocity\\ \\ //r// = distance from the total body center of mass to the segment's center of mass\\ //m// = mass of the segment\\ //v// = translational velocity\\   SegmentAngularMomentum_AboutaPoint.png}}  |+where
  
-====== Example Script ======+<code> 
 +Iw angular momentum of the segment 
 +distance from the segment's centre of mass to the total body centre of mass 
 +mass of the segment 
 +translational velocity 
 +</code>   
  
-===== Inroduction =====+**NOTE:** In this case angular momentum for the whole body about the total body center of mass is simply the summation of the angular momentum of **each** segment about the total body center of mass.
  
-**To calculate the angular momentum about a point (such as the model center of mass):**+===== Example =====
  
-  - Compute r +This example script demonstrates how to calculate a segment's angular momentum about a point, such as the [[visual3d:documentation:visual3d_signal_types:link_model_based_data_type:model_cog|model centre of mass]], by the following steps: 
-  - Compute mv +  - Compute //r// 
-  - Compute r x mv +  - Compute //mv// 
-  - Compute the angular momentum of the segment using the [[Visual3D:Documentation:Pipeline:Model_Based_Data_Commands:ANGULAR_MOMENTUM|Angular Momentum]] command +  - Compute //r// //mv// 
-  - Compute Iw (r x mv)+  - Compute the angular momentum of the segment using the [[visual3d:documentation:visual3d_signal_types:link_model_based_data_type:angular_momentum|Angular Momentum]] command 
 +  - Compute //Iw// x (//r// //mv//)
  
-===== Script =====+==== Files ====
  
 This script and sample CMO files can be downloaded [[https://www.has-motion.com/download/examples/AngularMomentum/AngularMomentum_AboutAPoint.zip|here]]. The download also contains a PDF file with the Angular Momentum equations. This script and sample CMO files can be downloaded [[https://www.has-motion.com/download/examples/AngularMomentum/AngularMomentum_AboutAPoint.zip|here]]. The download also contains a PDF file with the Angular Momentum equations.
  
-The following script computes the angular momentum about the total body center of mass, if the user would like to calculate angular momentum about a different point, specify the desired signal in place of "KINETIC_KINEMATIC::MODEL::CenterOfMass"+==== Script ====
- +
-This script calculates the angular momentum **for each of the listed segments** (RFT+RSK+RTH+LFT+LSK+LTH+RPV).\\ +
-\\ +
-If the user would like to calculate the **total body angular momentum about the model center of mass**, the resulting signals from the last Evaluate Expression command for all segments should be summed together. If you would like to calculate the total body angular momentum, you can use the [[Visual3D:Documentation:Pipeline:Signal_Commands:Add_Signals|Add_Signals]] command after the End_For_Each.+
  
 <code> <code>
Line 56: Line 64:
 /RESULT_SUFFIX=_VEL /RESULT_SUFFIX=_VEL
 ; ;
-</code> 
  
-<code>+! Nested Loops 
 +! Outer Loop gets an active segment
 For_Each For_Each
 /ITERATION_PARAMETER_NAME=SEG_NAME /ITERATION_PARAMETER_NAME=SEG_NAME
Line 64: Line 72:
 ; ;
  
-! compute the for (r x mv)+! compute the for (r x mv)
 Evaluate_Expression Evaluate_Expression
-/EXPRESSION=vector((Kinetic_Kinematic::&::SEG_NAME& ::CGPos::X - KINETIC_KINEMATIC::MODEL::CenterOfMass::X ), +/EXPRESSION=vector((Kinetic_Kinematic::&::SEG_NAME&:&:CGPos::X - KINETIC_KINEMATIC::MODEL::CenterOfMass::X ), (Kinetic_Kinematic::&::SEG_NAME&:&:CGPos::Y - KINETIC_KINEMATIC::MODEL::CenterOfMass::Y), (Kinetic_Kinematic::&::SEG_NAME&:&:CGPos::Z - KINETIC_KINEMATIC::MODEL::CenterOfMass::Z))
- (Kinetic_Kinematic::&::SEG_NAME& ::CGPos::Y - KINETIC_KINEMATIC::MODEL::CenterOfMass::Y), +
- (Kinetic_Kinematic::&::SEG_NAME& ::CGPos::Z - KINETIC_KINEMATIC::MODEL::CenterOfMass::Z))+
 /RESULT_NAME=::SEG_NAME&_R  /RESULT_NAME=::SEG_NAME&_R 
 ! /RESULT_TYPE=DERIVED ! /RESULT_TYPE=DERIVED
Line 76: Line 82:
 ! compute mv ! compute mv
 Evaluate_Expression Evaluate_Expression
-/EXPRESSION=(MODEL::SEGMENT::&::SEG_NAME&:&:MASS)*(Kinetic_Kinematic::&::SEG_NAME& ::CGVel - DERIVED::COM::CENTEROFMASS_VEL )+/EXPRESSION=(MODEL::SEGMENT::&::SEG_NAME&:&:MASS)*(Kinetic_Kinematic::&::SEG_NAME&:&:CGVel - DERIVED::COM::CENTEROFMASS_VEL)
 /RESULT_NAME=::SEG_NAME&_mv /RESULT_NAME=::SEG_NAME&_mv
 ! /RESULT_TYPE=DERIVED ! /RESULT_TYPE=DERIVED
Line 82: Line 88:
 ; ;
  
-! compute rxmv+! compute r x mv
 Evaluate_Expression Evaluate_Expression
 /EXPRESSION=cross(DERIVED::PROCESSED::&::SEG_NAME&_R, DERIVED::PROCESSED::&::SEG_NAME&_mv) /EXPRESSION=cross(DERIVED::PROCESSED::&::SEG_NAME&_R, DERIVED::PROCESSED::&::SEG_NAME&_mv)
Line 90: Line 96:
 ; ;
  
 +! compute Iw
 Compute_Model_Based_Data Compute_Model_Based_Data
 /RESULT_NAME=::SEG_NAME&_IW /RESULT_NAME=::SEG_NAME&_IW
Line 108: Line 115:
 ; ;
  
-! compute rxmv+! compute Iw x (r x mv)
 Evaluate_Expression Evaluate_Expression
 /EXPRESSION=LINK_MODEL_BASED::ORIGINAL::&::SEG_NAME&_IW + DERIVED::PROCESSED::&::SEG_NAME&_rxmv /EXPRESSION=LINK_MODEL_BASED::ORIGINAL::&::SEG_NAME&_IW + DERIVED::PROCESSED::&::SEG_NAME&_rxmv
Line 115: Line 122:
 /RESULT_FOLDER=Momentum_Contribution /RESULT_FOLDER=Momentum_Contribution
 ; ;
- 
 End_For_Each End_For_Each
 /ITERATION_PARAMETER_NAME=SEG_NAME /ITERATION_PARAMETER_NAME=SEG_NAME
Line 121: Line 127:
 </code> </code>
  
 +The script: 
 +  - calculates the angular momentum **for each of the listed segments** (RFT+RSK+RTH+LFT+LSK+LTH+RPV). If the user would like to calculate the **total body angular momentum about the model center of mass**, the resulting signals from the last Evaluate Expression command for all segments should be summed together. If you would like to calculate the total body angular momentum, you can use the [[Visual3D:Documentation:Pipeline:Signal_Commands:Add_Signals|Add_Signals]] command after the End_For_Each. 
 +  - computes the angular momentum about the total body centre of mass, if the user would like to calculate angular momentum about a different point then they simply need to specify the desired signal in place of "KINETIC_KINEMATIC::MODEL::CenterOfMass".
  
visual3d/documentation/pipeline/model_based_data_commands/angular_momentum_pt.1718717533.txt.gz · Last modified: by sgranger