visual3d:tutorials:kinematics_and_kinetics:model_based_computations
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
visual3d:tutorials:kinematics_and_kinetics:model_based_computations [2024/07/12 14:08] – created sgranger | visual3d:tutorials:kinematics_and_kinetics:model_based_computations [2025/01/15 19:51] (current) – [Preparation] wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | The objective of this tutorial is to present [[Visual3D: | + | =====Objectives==== |
+ | The objective of this tutorial is to present | ||
If you have a Ph.D. in Kinesiology or Biomechanics, | If you have a Ph.D. in Kinesiology or Biomechanics, | ||
Line 7: | Line 8: | ||
Part of the power of Visual3D is the ability to determine exactly what and how calculations are done – and the ability to point to the published works proving its validity. From a pure tool perspective, | Part of the power of Visual3D is the ability to determine exactly what and how calculations are done – and the ability to point to the published works proving its validity. From a pure tool perspective, | ||
+ | If you would like to follow along with a Youtube video tutorial based on this tutorial, please select the link here: [[https:// | ||
|| | || | ||
- | === Analysis Goal === | + | ===== Analysis Goal ===== |
Some of the analysis characteristics we will examine will be positions of the pelvis and foot during gait, knee flexion and extension, and knee joint moments and powers. To do this we will define segment angles, joint angles, joint moments, and joint powers. We will also be reporting on basic attributes such as stride length and other fundamental gait characteristics. | Some of the analysis characteristics we will examine will be positions of the pelvis and foot during gait, knee flexion and extension, and knee joint moments and powers. To do this we will define segment angles, joint angles, joint moments, and joint powers. We will also be reporting on basic attributes such as stride length and other fundamental gait characteristics. | ||
- | - create | + | - Create |
- | - calculate | + | - Calculate |
- | - add the computed signals to a report. | + | - Add the computed signals to a report. |
- | === Preparation === | + | ===== Preparation |
- | - Open the file [[https://www.has-motion.com/ | + | - Download |
- | - Click on the **Signal and Event Processing** Tab to visualize the animation of the model based on the movement data and the model that was applied to it. If the animation doesn’t appear in the 3D Animation viewer, check the active file combo box on the toolbar. It should read ’r;Walking Trial 1.c3d’ rather than ALL-FILES | + | * **Tutorial7_MBC_Start.cmz**: |
+ | * **Tutorial7_MBC_End.cmz**: | ||
+ | - Click on the **Signal and Event Processing** Tab to visualize the animation of the model based on the movement data and the model that was applied to it. If the animation doesn’t appear in the 3D Animation viewer, check the active file combo box on the toolbar. It should read 'Walking Trial 1.c3d' | ||
- | === Computing Joint Angles === | + | ===== Computing Joint Angles |
Joint angles are defined as the orientation of one segment relative to another segment. Because we are dealing with 3D space, there are a series of rotational transformations involved in the calculation. A joint angle is not the same as a 3-point or 4-point angle in which there are projections, | Joint angles are defined as the orientation of one segment relative to another segment. Because we are dealing with 3D space, there are a series of rotational transformations involved in the calculation. A joint angle is not the same as a 3-point or 4-point angle in which there are projections, | ||
Line 33: | Line 37: | ||
X = flexion/ | X = flexion/ | ||
+ | |||
Y = abduction/ | Y = abduction/ | ||
+ | |||
Z = longitudinal rotation | Z = longitudinal rotation | ||
- | One of the options for joint angles is to select normalization (not generally recommended). Normalization means that when the segments in the movement trial are in the same relative posture as the same segments in the standing trial, the joint angle is considered zero. The problem with the calculation of a normalized angle (as we have done it) is that the standing posture and the movement trial should both be aligned with the laboratory axis. Getting a patient to stand oriented relative to the lab may not be possible. An alternative approach is to create Virtual Segments that define the desired angle in the standing posture. For example, See [[https:// | ||
- | === Create a joint angles for the right knee === | + | One of the options for joint angles is to select normalization (not generally recommended). Normalization means that when the segments in the movement trial are in the same relative posture as the same segments in the standing trial, the joint angle is considered zero. The problem with the calculation of a normalized angle (as we have done it) is that the standing posture and the movement trial should both be aligned with the laboratory axis. Getting a patient to stand oriented relative to the lab may not be possible. An alternative approach is to create Virtual Segments that define the desired angle in the standing posture. For example, See [[visual3d: |
+ | |||
+ | ===== Create a joint angles for the right knee ===== | ||
In Visual3D, from MODEL in the main menu bar, select Compute Model Based Data to get the following dialog box. | In Visual3D, from MODEL in the main menu bar, select Compute Model Based Data to get the following dialog box. | ||
- | {{tutorial8_1.jpg}} | + | {{:tutorial8_1.jpg}} |
Create a joint angle called ’Right Knee Angle’ (i.e. its Data Name). The link model based property is a Joint Angle. The segment will be the right shank and the reference segment is the right thigh. Select the Cardan sequence XYZ, which for these segment coordinate systems is the equivalent of the Joint Coordinate System. Then press the **Create** button. | Create a joint angle called ’Right Knee Angle’ (i.e. its Data Name). The link model based property is a Joint Angle. The segment will be the right shank and the reference segment is the right thigh. Select the Cardan sequence XYZ, which for these segment coordinate systems is the equivalent of the Joint Coordinate System. Then press the **Create** button. | ||
- | {{tutorial8_2.jpg}} | + | {{:tutorial8_2.jpg}} |
The joint angle is created and a processing dialog shows if any errors were encountered. Note that the dialog also contains which files were processed. It is important to note this because signals are only created for the active files. | The joint angle is created and a processing dialog shows if any errors were encountered. Note that the dialog also contains which files were processed. It is important to note this because signals are only created for the active files. | ||
- | {{tutorial8_3.png}} | + | {{:tutorial8_3.png}} |
Create a joint angle called Left Knee Angle as follows: | Create a joint angle called Left Knee Angle as follows: | ||
- | {{tutorial8_4.jpg}} | + | {{:tutorial8_4.jpg}} |
Notice that a new folder is created in the Data Tree for LINK-MODEL-BASED calculations. This folder now contains the Left Knee Angle and Right Knee Angle Signals. | Notice that a new folder is created in the Data Tree for LINK-MODEL-BASED calculations. This folder now contains the Left Knee Angle and Right Knee Angle Signals. | ||
- | {{tutorial8_5.jpg}} | + | {{:tutorial8_5.jpg}} |
- | === Understanding the Knee Angle Signal === | + | ===== Understanding the Knee Angle Signal |
Graph the **X-Component** of the **Right Knee Angle** and **Left Knee Angle signals.** | Graph the **X-Component** of the **Right Knee Angle** and **Left Knee Angle signals.** | ||
- | {{tutorial8_6.jpg}} | + | {{:tutorial8_6.jpg}} |
- | For this segment coordinate system (z-up, y-anterior) rotation about the x-axis represents flexion/ | + | For this segment coordinate system (z-up, y-anterior) rotation about the x-axis represents flexion/ |
For example, if you point your thumb in the direction of the x-axis of the hip (shown in Red in the animation viewer) pointing laterally to the right. Knee extension will be zero when the **thigh segment coordinate system** and the **shank segment coordinate system** are aligned. Knee flexion will be seen as a negative angle. | For example, if you point your thumb in the direction of the x-axis of the hip (shown in Red in the animation viewer) pointing laterally to the right. Knee extension will be zero when the **thigh segment coordinate system** and the **shank segment coordinate system** are aligned. Knee flexion will be seen as a negative angle. | ||
Line 71: | Line 78: | ||
Note that the x-axis for both the left and right thigh segment coordinate systems points laterally to the right. In the figure below the thumb is pointing in the direction of the x-axis, the fingers are curled in the direction of shank extension (relative to the thigh), so knee extension is a positive angle. | Note that the x-axis for both the left and right thigh segment coordinate systems points laterally to the right. In the figure below the thumb is pointing in the direction of the x-axis, the fingers are curled in the direction of shank extension (relative to the thigh), so knee extension is a positive angle. | ||
- | {{tutorial8_7.gif}} | + | {{:tutorial8_7.gif}} |
Using the same schema adduction of the knee is positive rotation about the y-axis for the right leg and negative rotation about the y-axis for the left leg. Inward axial rotation of the shank is a positive rotation about the z-axis for the right leg and negative rotation about the z-axis for the left leg. | Using the same schema adduction of the knee is positive rotation about the y-axis for the right leg and negative rotation about the y-axis for the left leg. Inward axial rotation of the shank is a positive rotation about the z-axis for the right leg and negative rotation about the z-axis for the left leg. | ||
Line 77: | Line 84: | ||
This reflection of the data anatomically from right to left is a result of applying the right hand rule rigidly within Visual3D. When presenting data it is quite common for Visual3D users to negate the y and z terms for the left knee angle. | This reflection of the data anatomically from right to left is a result of applying the right hand rule rigidly within Visual3D. When presenting data it is quite common for Visual3D users to negate the y and z terms for the left knee angle. | ||
- | {{tutorial8_8.jpg}} | + | {{:tutorial8_8.jpg}} |
The resulting knee rotations about the z-axis (inward/ | The resulting knee rotations about the z-axis (inward/ | ||
- | {{tutorial8_9.jpg}} | + | {{:tutorial8_9.jpg}} |
Note the difference in the median value of the left and right legs. The likely cause of this offset is a slight misalignment of the segment coordinate systems for one of the legs (although it could be real for this subject). | Note the difference in the median value of the left and right legs. The likely cause of this offset is a slight misalignment of the segment coordinate systems for one of the legs (although it could be real for this subject). | ||
- | === Computing Joint Angles for the Legs === | + | ===== Computing Joint Angles for the Legs ===== |
Create the following joint angles for the lower body. | Create the following joint angles for the lower body. | ||
Line 155: | Line 162: | ||
- | === Computing Joint Moments === | + | ===== Computing Joint Moments |
A free body diagram of two segments, showing the traditional assumptions for inverse dynamics analysis. | A free body diagram of two segments, showing the traditional assumptions for inverse dynamics analysis. | ||
- | {{FreeBodyDiagram.gif}} | + | {{:FreeBodyDiagram.gif}} |
The Joint Force is the reaction force between adjacent segments. | The Joint Force is the reaction force between adjacent segments. | ||
Line 177: | Line 184: | ||
Create the Net Joint Moment for the Right Knee. The following image contains one definition of the Right Knee Moment. | Create the Net Joint Moment for the Right Knee. The following image contains one definition of the Right Knee Moment. | ||
- | {{tutorial8_10.jpg}} | + | {{:tutorial8_10.jpg}} |
The //Joint// **RKNEE** is the proximal end of the Shank Segment; This is a default joint name. | The //Joint// **RKNEE** is the proximal end of the Shank Segment; This is a default joint name. | ||
Line 192: | Line 199: | ||
Normalize to local metric value\\ | Normalize to local metric value\\ | ||
For example, a metric could be created containing the Mass*Height of the subject using the following command. | For example, a metric could be created containing the Mass*Height of the subject using the following command. | ||
- | **Multiply_Signals** | + | |
+ | < | ||
+ | Multiply_Signals | ||
/ | / | ||
/ | / | ||
Line 198: | Line 207: | ||
/ | / | ||
! / | ! / | ||
+ | </ | ||
In the Compute Model Based Dialog selecting this normalization will cause a combo box to appear to allow you to select the Metric. | In the Compute Model Based Dialog selecting this normalization will cause a combo box to appear to allow you to select the Metric. | ||
Normalize to GLOBAL metric value\\ | Normalize to GLOBAL metric value\\ | ||
This is similar to 3 except that the METRIC signal is assumed to be a GLOBAL signal. | This is similar to 3 except that the METRIC signal is assumed to be a GLOBAL signal. | ||
- | === Interpreting the Joint Moment Signal === | + | ===== Interpreting the Joint Moment Signal |
- | {{RightHandRule.gif}}\\ | + | {{:RightHandRule.gif}}\\ |
Visual3D always follows the right hand rule. The direction of positive rotation about the axis **u** (red arrow aligned with the right thumb) in the above figure is in the direction of curl of the fingers (blue arrow) | Visual3D always follows the right hand rule. The direction of positive rotation about the axis **u** (red arrow aligned with the right thumb) in the above figure is in the direction of curl of the fingers (blue arrow) | ||
Line 210: | Line 220: | ||
The buttons for negating the signal are available for users that don't want to use the Visual3D Right Hand Rule convention. For example, some users prefer that flexion of the hip, knee, and ankle have the same sign; the Right Hand Rule would dictate that the Knee Flexion is opposite in sign to the Hip and Ankle Flexion. Selecting to negate the x-component of the Joint Moment will cause the flexion moment to have a consistent sign. | The buttons for negating the signal are available for users that don't want to use the Visual3D Right Hand Rule convention. For example, some users prefer that flexion of the hip, knee, and ankle have the same sign; the Right Hand Rule would dictate that the Knee Flexion is opposite in sign to the Hip and Ankle Flexion. Selecting to negate the x-component of the Joint Moment will cause the flexion moment to have a consistent sign. | ||
- | === Computations based on PROCESSED signals === | + | ===== Computations based on PROCESSED signals |
As presented in a previous tutorial, it is straightforward to **process** the target, analog, or force signals. | As presented in a previous tutorial, it is straightforward to **process** the target, analog, or force signals. | ||
Line 218: | Line 228: | ||
If you have selected the [[Visual3D: | If you have selected the [[Visual3D: | ||
- | [[Visual3D: | + | **[[Visual3D: |
The model based signals that are computed from the PROCESSED signal are still defined as ORIGINAL model based signals. | The model based signals that are computed from the PROCESSED signal are still defined as ORIGINAL model based signals. |
visual3d/tutorials/kinematics_and_kinetics/model_based_computations.1720793332.txt.gz · Last modified: 2024/07/12 14:08 by sgranger