FP CORNERS

From Software Product Documentation
Jump to navigation Jump to search
Language:  English  • français • italiano • português • español 

C3D Parameter FORCE_PLATFORM:CORNERS

The force platform corners are numbered from 1 to 4. The values are specified in the Laboratory Coordinate System in units consistent with the POINT data. The order is specified by the quadrant numbers in the force platform coordinate system.

The order is (+x,+y), (-x, +y), (-x, -y), ( +x, -y).

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 (in which it was collected) into the laboratory coordinate system where it is used for the analysis.

The Force Platform corners can be modified using the Modify_Force_Platform_Parameters selection under the Visual3D File Menu

Transforming the Ground Reaction Force into the Laboratory Coordinate System

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
platform_top_center_lcs= average(corner1, corner2, corner3, corner4)
vector from plate origin to top center relative to lab
Rotate_to_Lab(forceplatform_origin)
vector from LCS origin to platform origin
platform_origin_lcs= platform_top_center_lcs- vector from plate origin to top center

Example_1 Using mocap markers to define the corners

Consider the following markers to be placed on the corners of a force platform.

FP1_1, FP1_2, FP1_3, FP1_4

Capture a short trial of these markers.

Create the following pipeline:

!First define the marker radius as a pipeline parameter


Set_Pipeline_Parameter
/PARAMETER_NAME=MARKER_RADIUS
/PARAMETER_VALUE=10
;


! Compute the median value of the corners over all frames of the trial.
! the result will be placed in the Global Workspace


Metric_Median
/RESULT_METRIC_NAME=_MED
/APPLY_AS_SUFFIX_TO_SIGNAL_NAME=TRUE
/RESULT_METRIC_FOLDER=FPLOC
/SIGNAL_TYPES=TARGET
/SIGNAL_NAMES=FP1_1 + FP1_2 + FP1_3 + FP1_4
! /SIGNAL_FOLDER=ORIGINAL
! /SIGNAL_COMPONENTS=ALL_COMPONENTS
/EVENT_SEQUENCE=
/EXCLUDE_EVENTS=
! /GENERATE_MEAN_AND_STDDEV=TRUE
! /APPEND_TO_EXISTING_VALUES=FALSE


! 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_CORNER1= 1000*GLOBAL::METRIC::FPLOC::FP1_1_MED_MEAN::X
+1000*GLOBAL::METRIC::FPLOC::FP1_1_MED_MEAN::Y
+1000*(GLOBAL::METRIC::FPLOC::FP1_1_MED_MEAN::Z-&::MARKER_RADIUS)
/FP_CORNER2= 1000*GLOBAL::METRIC::FPLOC::FP1_2_MED_MEAN::X
+1000*GLOBAL::METRIC::FPLOC::FP1_2_MED_MEAN::Y
+1000*(GLOBAL::METRIC::FPLOC::FP1_2_MED_MEAN::Z-&::MARKER_RADIUS)
/FP_CORNER3= 1000*GLOBAL::METRIC::FPLOC::FP1_3_MED_MEAN::X
+1000*GLOBAL::METRIC::FPLOC::FP1_3_MED_MEAN::Y
+1000*(GLOBAL::METRIC::FPLOC::FP1_3_MED_MEAN::Z-&::MARKER_RADIUS)
/FP_CORNER4= 1000*GLOBAL::METRIC::FPLOC::FP1_4_MED_MEAN::X
+1000*GLOBAL::METRIC::FPLOC::FP1_4_MED_MEAN::Y
+1000*(GLOBAL::METRIC::FPLOC::FP1_4_MED_MEAN::Z-&::MARKER_RADIUS)
;

Example_2 Using mocap markers to define the corners

Introduced in Visual3D Version 5

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
MARKER_RADIUS is a model metric containing the radius of the markers.
! 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_CORNER1= 1000*MODEL::TARGET::FP1_1::X
+1000*MODEL::TARGET::FP1_1::Y
+1000*(MODEL::TARGET::FP1_1::Z-&::MARKER_RADIUS)
/FP_CORNER2= MODEL::TARGET::FP1_2::X
+1000*MODEL::TARGET::FP1_2::Y
+1000*(MODEL::TARGET::FP1_2::Z-&::MARKER_RADIUS)
/FP_CORNER3= 1000*MODEL::FP1_3::X
+1000*MODEL::TARGET::FP1_3::Y
+1000*(MODEL::TARGET::FP1_3::Z-&::MARKER_RADIUS)
/FP_CORNER4= 1000*MODEL::FP1_4::X
+1000*MODEL::TARGET::FP1_4::Y
+1000*(MODEL::TARGET::FP1_4::Z-&::MARKER_RADIUS)
;
Retrieved from ""