visual3d:documentation:modeling:virtual_lab:virtual_lab_direction_of_progression
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:documentation:modeling:virtual_lab:virtual_lab_direction_of_progression [2024/06/19 12:49] – sgranger | visual3d:documentation:modeling:virtual_lab:virtual_lab_direction_of_progression [2024/07/17 15:45] (current) – created sgranger | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{{{{{{{{{{{{{{{{{{{what if the subject is not walking along the lab axes? what if the subject is walking at a diagonal? | + | ====== Virtual Lab Direction of Progression ====== |
- | to calculate certain measures, such as the trunk angle relative to the lab, the virtual lab should be aligned with the subject' | + | What if the subject is not walking along the lab axes? What if the subject is walking at a diagonal? |
- | if the subject is walking along the principal axes of the lab, a [[visual3d: | + | To calculate certain measures, such as the trunk angle relative to the lab, the virtual lab should be aligned with the subject' |
- | ====== introduction ====== | + | If the subject is walking along the principal axes of the lab, a [[Visual3D: |
- | to calculate the trunk angle relative to the lab, the following steps can be taken: | + | ===== Introduction ===== |
- | * step 1 - define the direction of progression | + | To calculate |
- | * step 2 - define the virtual lab | + | |
- | * step 3 - define | + | |
- | ==== sample files ==== | + | * Step 1 - Define the direction of progression |
+ | * Step 2 - Define the virtual lab | ||
+ | * Step 3 - Define the trunk angle relative to the virtual lab | ||
- | each of the following methods can be used with the [[https:// | + | === Sample Files === |
- | these methods | + | Each of the following |
- | ==== metric direction of progression ==== | + | These methods are also explained in [[https:// |
- | |in each of the following methods, the direction of progression will need to be defined (step 1). once the direction of progression has been based off some measure, the user will need to determine what " | + | === Metric Direction |
- | ===== method | + | |In each of the following methods, the direction of progression will need to be defined (Step 1). Once the direction of progression has been based off some measure, the user will need to determine what " |
- | an example script that demonstrates this method can be found [[visual3d: | + | ==== Method 1 ==== |
- | please review the [[https:// | + | An example script that demonstrates this method can be found [[Visual3D:Documentation: |
- | ==== step 1: direction of progression ==== | + | Please review the [[https:// |
- | - find the rotation between the lab and the trunk segment (trunk_rot) | + | === Step 1: Direction |
- | - project the trunk' | + | |
- | - create the y unit vector by setting the z component of trunk_rot' | + | |
- | - create the z unit vector (0,0,1) | + | |
- | - create the x unit vector by crossing the y and z unit vectors | + | |
- | - calculate the [[# | + | |
- | ==== step 2: define | + | - Find the rotation between |
+ | - Project the trunk' | ||
+ | - Create the Y Unit vector by setting the z component of Trunk_Rot' | ||
+ | - Create the Z Unit vector (0,0,1) | ||
+ | - Create the X Unit vector by crossing the Y and Z unit vectors | ||
+ | - Calculate the [[# | ||
- | - create | + | === Step 2: Define |
- | ==== step 3: define the trunk angle relative to the virtual lab ==== | + | - Create |
- | using model compute model based data, calculate the joint_angle between | + | === Step 3: Define |
- | ===== method 2 ===== | + | Using Model Compute Model Based Data, calculate the Joint_Angle between the Trunk and Virtual Lab segments. |
- | an example script that demonstrates this method can be found [[visual3d: | + | ==== Method 2 ==== |
- | please review the [[https:// | + | An example script that demonstrates this method can be found [[Visual3D:Documentation: |
- | ==== step 1: direction of progression ==== | + | Please review the [[https:// |
- | |- get the initial position | + | === Step 1: Direction |
- | ==== step 2: define | + | |- Get the initial position of the origin of the pelvis (RPVo)\\ \\ - Create this as a time based signal\\ - Create a vector from the origin of the pelvis that offset in the -Y direction of the lab (-Y)\\ - Project the pelvis origin onto the floor (DOP)\\ - Calculate the angle between the origin of the pelvis at t=0, the -Y direction of the lab, and the direction of progression (DOP) at each time point in the trial\\ - Calculate the [[# |
- | - create landmark to define the orientation of the virtual lab (dir_prog_x) | + | === Step 2: Define |
- | - offset in the x: - 0.1 * sin ( ( 90 - theta y ) * pi()/180 ) | + | |
- | - offset in the y: - 0.1* cos ( ( 90 - theta y ) * pi()/180 ) | + | |
- | - offset in the z: 0 | + | |
- | - create a [[visual3d: | + | |
- | ==== step 3: define the trunk angle relative to the virtual lab ==== | + | - Create landmark to define the orientation of the virtual lab (Dir_Prog_X) |
+ | - Offset in the X: - 0.1 * SIN ( ( 90 - Theta Y ) * pi()/180 ) | ||
+ | - Offset in the Y: - 0.1* COS ( ( 90 - Theta Y ) * pi()/180 ) | ||
+ | - Offset in the Z: 0 | ||
+ | - Create a [[Visual3D: | ||
- | using model compute model based data, calculate the joint_angle between | + | === Step 3: Define |
- | ===== method 3 ===== | + | Using Model Compute Model Based Data, calculate the Joint_Angle between the Trunk and Virtual Lab segments. |
- | an example script that demonstrates this method can be found [[visual3d: | + | ==== Method 3 ==== |
- | please review the [[https:// | + | An example script that demonstrates this method can be found [[Visual3D:Documentation: |
- | ==== step 1: direction of progression ==== | + | Please review the [[https:// |
- | - find the location | + | === Step 1: Direction |
- | - find the location of the model' | + | |
- | - find the difference between the two locations | + | |
- | - create the unit vector of the difference | + | |
- | - this result is a metric so this value can be used to define the direction of progression ([[# | + | |
- | - there should be no progression in the vertical direction so set z=0 | + | |
- | ==== step 2: define the virtual lab ==== | + | - Find the location of the model' |
+ | - Find the location of the model' | ||
+ | - Find the difference between the two locations | ||
+ | - Create the unit vector of the difference | ||
+ | - This result is a metric so this value can be used to define the direction of progression ([[# | ||
+ | - There should be no progression in the vertical direction so set Z=0 | ||
- | the joint angles will be solved for manually in step 3, so it is unnecessary to create a virtual lab for this method. | + | === Step 2: Define |
- | ==== step 3: define the trunk angle relative | + | The joint angles will be solved for manually in Step 3, so it is unnecessary |
- | - define rotation from lab to vlab | + | === Step 3: Define |
- | - z component is perpendicular to the ground | + | |
- | - y component is the direction of progression | + | |
- | - x component is y cross z | + | |
- | - define rotation from lab to trunk | + | |
- | - using compute model based data command select the joint_rotation function and resolve the thorax/ab rotation in the lab coordinate system | + | |
- | - solve for the rotation between vlab and the trunk segment | + | |
- | - solve for the joint angles: | + | |
- | - solve for theta x | + | |
- | - solve for theta y | + | |
- | - solve for theta z | + | |
- | ===== method 4 ===== | + | - Define rotation from Lab to VLab |
+ | - Z component is perpendicular to the ground | ||
+ | - Y component is the direction of progression | ||
+ | - X component is Y cross Z | ||
+ | - Define rotation from Lab to Trunk | ||
+ | - Using Compute Model Based Data command select the Joint_Rotation function and resolve the Thorax/Ab rotation in the Lab coordinate system | ||
+ | - Solve for the rotation between VLab and the trunk segment | ||
+ | - Solve for the joint angles: | ||
+ | - Solve for Theta X | ||
+ | - Solve for Theta Y | ||
+ | - Solve for Theta Z | ||
- | this method creates a virtual lab segment that follows the general orientation of the pelvis (or any segment) but keeps the transverse plane parallel to the lab floor. in other word, this method constrains the virtual lab to only rotations around the vertical axis based on the pelvis segment. this method thus allows to compute variables using the instant direction of progression. | + | ==== Method 4 ==== |
- | ==== create landmarks ==== | + | This method creates a Virtual Lab segment that follows the general orientation of the Pelvis (or any segment) but keeps the transverse plane parallel to the lab floor. In other word, this method constrains the Virtual Lab to only rotations around the vertical axis based on the Pelvis segment. This method thus allows to compute variables using the instant direction of progression. |
- | |\\ **1. create mid_psis: | + | === Create Landmarks === |
- | |\\ **1. create rpv_z_lab:**\\ \\ <html>< | + | |\\ **1. Create MID_PSIS:**\\ \\ <HTML>< |
- | |\\ **1. create rpv_y_lab:**\\ \\ <html>< | + | |\\ **1. Create RPV_Z_Lab:**\\ \\ <HTML>< |
- | |\\ **1. create rpv_y:**\\ \\ <html>< | + | |\\ **1. Create RPV_Y_Lab:**\\ \\ <HTML>< |
- | |\\ **1. create rpv_y_proj:**\\ \\ <html>< | + | |\\ **1. Create RPV_Y:**\\ \\ <HTML>< |
- | |\\ **1. create rpv_y_fixed:**\\ \\ <html>< | + | |\\ **1. Create RPV_Y_PROJ:**\\ \\ <HTML>< |
- | ==== create virtual lab segment ==== | + | |\\ **1. Create RPV_Y_Fixed: |
- | to create the virtual laboratory segment, switch to the **segment** tab in model builder mode. | + | === Create Virtual Lab Segment === |
- | |**1. create the virtual lab segment:**\\ \\ 1. in the segment name combo box type **virtual lab**\\ \\ 2. check the **kinematic only** check box\\ \\ 3. select the **create** button | + | To create the Virtual Laboratory |
- | |4. in the **virtual lab** tab, enter these values:\\ \\ | **define proximal joint and radius**\\ \\ **lateral:**//none// | + | |**1. Create the Virtual Lab Segment: |
+ | |||
+ | |4. In the **Virtual Lab** tab, enter these values:\\ \\ | **Define Proximal Joint and Radius**\\ \\ **Lateral:**//None// | ||
\\ | \\ | ||
Line 131: | Line 133: | ||
- | }}}}}}}}}}}}}}}}}}}} | + |
visual3d/documentation/modeling/virtual_lab/virtual_lab_direction_of_progression.1718801357.txt.gz · Last modified: 2024/06/19 12:49 by sgranger