FP Type 2

From Software Product Documentation
Jump to navigation Jump to search

Compute Force, COP, and FreeMoment

C3D Parameters

The following parameters should exist:

C3D Parameter FORCE_PLATFORM:USED

FP_USED= number of force platforms used.

The C3D parameter identifying the number of force platforms defined.

This is a required parameter in the c3d file, so if you have no force platforms defined

USED=0

C3D Parameter FORCE_PLATFORM:TYPE

FP_TYPE= 2

The C3D parameter identifying the type of force platform is

C3D Parameter FORCE_PLATFORM:ZERO

See also FP_ZEROS

FP_ZERO= the range of frames for which a background noise level is calculated and then subtracted from each of the analog channels

The FORCE_PLATFORM:ZERO C3D parameter defines the range of frames used to calculate an average baseline value for each ANALOG signal that is then subtracted from every frame. This does not affect the ANALOG signals (as seen in the data tree), this processing takes place when the Force Platform signals are computed.

Note that most of the manufacturers arbitrarily set the range to be the first 10 frames of the trial. If the force platform is loaded during these first 10 frames, the ground reaction force signals will be incorrect; in this case the user should either set the frames to 0,0 so that no baseline is subtracted, or should select frames in which the force platform is unloaded.

In some cases it is not feasible to use the ZERO parameter to define a BASELINE for each signal. All force platform signals have some drift in the amplifiers, so it isn't a good idea to simply set the ZERO parameter to 0,0 so that no baseline is subtracted. See FP_ZERO for examples on alternatives to deal with such situation.

C3D Parameter FORCE_PLATFORM:CHANNELS

Each Force Platform has ANALOG Channels assigned to it. These signals are expected in order ( e.g. the numbers refer to the order of the channels stored in the C3D File, which can be seen by the order in the ANALOG:LABELS parameter.)

There are a number of parameters that are unique to each force platform type. The channels expected for type 2 force platforms are:

FP_CHANNELS= Fx, Fy, Fz, Mx, My, Mz

C3D Parameter FORCE_PLATFORM:ORIGIN

AMTI force platforms

The ORIGIN is the vector from the sensor coordinate system to the top center of the force platform surface. It is expressed in the force platform coordinate system, so the z-value is defined to be negative.

BERTEC force platforms

Contact the manufacturer because the origin value varies with the type of BERTEC force platform. For recent Force Platforms Bertec has elected to calibrate their force platforms differently from the other manufacturers.

For older platforms (identified by a CalMatrix that contains only diagonal elements), the ORIGIN is a constant value of (0, 0, -40.9)

For newer digital platforms, the CalMatrix has been computed assuming an ORIGIN value of (0, 0, 0)

Guessing the correct FORCE_PLATFORM::ORIGIN

FP_ORIGIN= The origin of the force platform in the force platform coordinate system (see the force platform manufacturer specifications).

The C3D file format is a public document (http://www.c3d.org) that most hardware vendors currently export. We are only aware of one implementation of the format that has an inconsistency that Visual3D must handle explicitly.

The FORCE_PLATFORM:ORIGIN parameter (within the PARAMETER SECTION of the C3D file) describes the location of the working surface of the force platform relative to the force platform coordinate system. For AMTI force platforms the z-value of the origin should be a negative value. Visual3D can correct this value automatically should it read a positive value.

Should the user not want to have the program correct this value automatically, a dialog is available under the Properties menu item labeled "Use correct FORCE_PLATFORM:ORIGIN vector". In this dialog the user can select the check box "Perform automatic correction"(the default).

C3D Parameter FORCE_PLATFORM:CORNERS

FP_CORNERS= The (x,y,z) coordinates of the force platform corners in the laboratory coordinate system. Note that there is a specific ordering of the four 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 GRF 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

C3D Channels

[Original Analog]= [Fx_original, Fy_original, Fz_original, Mx_original, My_original, Mz_original]
as specified by the ANALOG channel numbers

Compute Baselines

Average the Analog signals for the specified ZERO frames

Subtract Baselines

[Tared Analog]= [Original Analog]-[Baseline]

Pre-Multiply by the CalMatrix

[Analog]= [Fx, Fy, Fz, Mx, My, Mz]= [CalMatrix][Original Analog]
NOTE: For type 2 the CalMatrix is the identify matrix

Specify Force Vector

Force[X]= Fx
Force[Y]= Fy
Force[Z]= Fz


For Type 2 LengthConversion = Point units conversion to meters;

e.g. for POINT units=mm LengthConversion=0.001

For Type 4 LengthConversion = 1 because Length Conversion is part of the CalMatrix

M[X]= Mx*LengthConversion
M[Y]= My*LengthConversion
M[Z]= Mz*LengthConversion

Compute Center of Pressure

COP[X]= (ORIGIN[Z]*Force[X] - My) / Force[Z]
COP[Y]= (Mx + ORIGIN[Z]*Force[Y]) / Force[Z]
COP[Z]= ORIGIN[Z}

Compute Free Moment

FreeMoment[X]= 0
FreeMoment[Y]= 0
FreeMoment[Z]= Mz - ( COP[X]*Force[Y] - COP[Y]*Force[X] )

These resulting signals are computed in the force platform coordinate system, and must be transformed into the laboratory coordinate system for use in Visual3D.

Applying Threshold

Under the Visual3D Force Menu is an option to set a threshold for force platform/structure data.

Any signal value less than this threshold is set to 0 (is assumed to be noise)

Transforming data to the Laboratory Coordinate System

At this point the signals have been computed in the Force Platform Coordinate system and must be transformed into the Laboratory Coordinate System to give them meaning relative to the Motion Capture Data.

[Transform_from_FCS_to_LCS]

Retrieved from ""