visual3d:documentation:pipeline:force_commands:fp_corners
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:documentation:pipeline:force_commands:fp_corners [2024/06/17 18:19] – created sgranger | visual3d:documentation:pipeline:force_commands:fp_corners [2025/01/16 18:26] (current) – Clean up page. wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== FP CORNERS ===== | ||
+ | This page provides an overview of the [[visual3d: | ||
+ | The force platform' | ||
+ | - (+x,+y) | ||
+ | - (-x, +y) | ||
+ | - (-x, -y) | ||
+ | - ( +x, -y). | ||
+ | Visual3D uses these force platform corners to calculate the transformation matrix from the force platform' | ||
- | C3D Parameter FORCE_PLATFORM:CORNERS | + | The Force Platform corners can be modified using the [[Visual3D:Documentation: |
- | The force platform corners are numbered from 1 to 4. The values are specified in the Laboratory Coordinate System | + | ==== Transforming the Ground Reaction Force into the Laboratory Coordinate System |
- | The order is (+x,+y), (-x, +y), (-x, -y), ( +x, -y). | + | The following pseudo-code describes the algorithm for computing the transformation from the Force Platform Coordinate System |
- | Visual3D calculates the transformation matrix from the force platform coordinate system to the laboratory coordinate system using the force platform corners. This transformation matrix is then used to transform the force vector from the force platform coordinate system | + | < |
+ | | ||
+ | | ||
+ | | ||
+ | | ||
- | The Force Platform corners can be modified using the [[Visual3D: | ||
- | ===== Transforming the Ground Reaction Force into the Laboratory Coordinate System ===== | + | Rotation Matrix - FPCS to LCS |
+ | | ||
+ | | ||
+ | | ||
- | The following pseudo-code describes the algorithm for computing the transformation from the Force Platform Coordinate System (FPCS) to the Laboratory Coordinate System (LCS) | ||
- | |||
- | x_vector = unit_vector(corner3 - corner2) | ||
- | y_vector = unit_vector(corner1 - corner2) | ||
- | z_vector = cross_product(x_vector , y_vector) | ||
- | y_vector = cross_product(z_vector , x_vector) | ||
- | Rotation Matrix - FPCS to LCS | ||
- | fpcs_to_lcs column1= x_vector | ||
- | fpcs_to_lcs column2= y_vector | ||
- | fpcs_to_lcs column3= z_vector | ||
location of top center of force platform in LCS | location of top center of force platform in LCS | ||
platform_top_center_lcs= average(corner1, | platform_top_center_lcs= average(corner1, | ||
+ | |||
vector from plate origin to top center relative to lab | vector from plate origin to top center relative to lab | ||
Rotate_to_Lab(forceplatform_origin) | Rotate_to_Lab(forceplatform_origin) | ||
+ | |||
vector from LCS origin to platform origin | vector from LCS origin to platform origin | ||
platform_origin_lcs= platform_top_center_lcs- vector from plate origin to top center | platform_origin_lcs= platform_top_center_lcs- vector from plate origin to top center | ||
- | ===== Example_1 Using mocap markers | + | </ |
+ | |||
+ | ==== Example 1: Use average marker locations | ||
Consider the following markers to be placed on the corners of a force platform. | Consider the following markers to be placed on the corners of a force platform. | ||
+ | * FP1_1 | ||
+ | * FP1_2 | ||
+ | * FP1_3 | ||
+ | * FP1_4 | ||
- | FP1_1, FP1_2, FP1_3, FP1_4 | + | Capture a short trial of these markers |
- | Capture a short trial of these markers. | + | |
- | + | ||
- | Create | + | |
+ | < | ||
!First define the marker radius as a pipeline parameter | !First define the marker radius as a pipeline parameter | ||
- | \\ | + | Set_Pipeline_Parameter |
- | + | ||
- | + | ||
- | [[Visual3D: | + | |
/ | / | ||
/ | / | ||
- | **;** | + | ; |
- | \\ | + | |
! Compute the median value of the corners over all frames of the trial. | ! Compute the median value of the corners over all frames of the trial. | ||
! the result will be placed in the Global Workspace | ! the result will be placed in the Global Workspace | ||
- | \\ | + | Metric_Median |
- | + | ||
- | + | ||
- | [[Visual3D: | + | |
/ | / | ||
/ | / | ||
Line 68: | Line 70: | ||
! / | ! / | ||
! / | ! / | ||
- | \\ | + | ; |
! If the force platform parameters have already been defined, we only need to modify the corners. | ! If the force platform parameters have already been defined, we only need to modify the corners. | ||
! Note that the markers are in meters, but the following command requires millimeters | ! Note that the markers are in meters, but the following command requires millimeters | ||
- | \\ | + | Modify_Force_Platform_Parameters |
- | + | ||
- | + | ||
- | [[Visual3D: | + | |
/FP_USED=1 | /FP_USED=1 | ||
/ | / | ||
Line 90: | Line 88: | ||
+1000*GLOBAL:: | +1000*GLOBAL:: | ||
+1000*(GLOBAL:: | +1000*(GLOBAL:: | ||
- | **;** | + | ; |
- | ===== Example_2 Using mocap markers to define the corners ===== | + | </ |
- | **Introduced in Visual3D Version 5** | + | ==== Example 2: Modify |
- | Consider the following markers to be placed on the corners of a force platform | + | |
- | FP1_1, FP1_2, FP1_3, FP1_4 | + | This example |
- | MARKER_RADIUS | + | |
- | ! If the force platform parameters have already been defined, we only need to modify the corners. | + | |
- | ! Note that the markers are in meters, but the following command requires millimeters | + | |
- | \\ | + | |
+ | Consider the following markers to be placed on the corners of a force platform in the standing trial: | ||
+ | * FP1_1 | ||
+ | * FP1_2 | ||
+ | * FP1_3 | ||
+ | * FP1_4 | ||
- | [[Visual3D:Documentation:Pipeline:Force_Commands: | + | Given MARKER_RADIUS is a [[visual3d:documentation:modeling:model_metrics|model metric]] containing the radius of the markers, use the following pipeline command: |
+ | |||
+ | < | ||
+ | ! If the force platform parameters have already been defined, we only need to modify the corners. | ||
+ | ! Note that the markers are in meters, but the following command requires millimeters | ||
+ | Modify_Force_Platform_Parameters | ||
/FP_USED=1 | /FP_USED=1 | ||
/ | / | ||
Line 117: | Line 120: | ||
+1000*MODEL:: | +1000*MODEL:: | ||
+1000*(MODEL:: | +1000*(MODEL:: | ||
- | **;** | + | ; |
- | + | </ | |
- | + | ||
- | + |
visual3d/documentation/pipeline/force_commands/fp_corners.1718648389.txt.gz · Last modified: 2024/06/17 18:19 by sgranger