User Tools

Site Tools


visual3d:tutorials:kinematics_and_kinetics:force_platforms

Force Platforms

Force platforms provide critical data for biomechanical analysis because they measure the interaction between the participant and the environment. Reaction force data measured by force platforms gives the calculated joint forces, moments and powers physical meaning.

Note: The ANALOG signals that are collected from the force platform are NOT the force signals. The force signals must be computed from these analog signals using several parameters that specify the type of computations required. Different force platforms require different computations, which make this a non-trivial task.

Interpreting the C3D File

We will begin by reviewing the information stored in the C3D file.

C3D Parameters

The following parameters should exist in the C3D file:

FP_USED = the number of force platforms used
FP_TYPE = the type of force platform used, which determines how to interpret the recorded analog signals
FP_ZERO = the range of frames for which a background noise level is calculated and then subtracted from each of the analog channels
FP_CHANNELS = Names of the analog channels, e.g., Fx, Fy, Fz, Mx, My, Mz
FP_ORIGIN = The origin of the force platform in the force platform coordinate system (see the force platform manufacturer specifications)
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.
FP_CALMATRIX = A calibration matrix for the force platform if required by the force platform's type

Force platform data is perhaps the most confusing aspect of the C3D file format. All of the force platform parameters required for the type of force platform being used must be defined correctly. Some of the parameters are specified by the Force Platform manufacturer; these values are provided in the Manufacturer's User Manual. Note that some of these parameters can not be transferred directly in the C3D file.

Important: The C3D format assumes consistency between units throughout the file. If the motion capture data has been collected in millimeters, then all distance measures in the file must be consistent. This means that the corner locations and Force Platform ORIGIN values must be in millimeters and the moment channels of the force platform must be expressed in Newton-millimeters.

C3D Channels

The number of channels associated with a force platform and the information carried by each channel varies with the force platform manufacturer (usually represented as a force platform TYPE in the C3D format). The specifics of each force platform type can be found on the associated page:

For this tutorial we will focus on Type 4 force platforms.

Type 4 platforms have 6 channels as follows as specified by the ANALOG channel numbers:

[Original Analog] = [Fx_original, Fy_original, Fz_original, Mx_original, My_original, Mz_original]

Type 4 platforms also have a 6×6 CalMatrix that specifies how the original analog signals should be transformed.

Computing Force, COP, and Free Moment

The force signals of interest for our kinetic analysis are the Force, Centre of Pressure, and Free Moment signals. This figure depicts a Kistler force platform, but the diagrammed force vector is consistent for all force platforms manufacturers.

fp_type6.jpg

Although each force platform type records different information in its different channels, the process for converting the original recorded analog signals into the desired force signals follows the same common steps:

  1. Compute baselines
  2. Subtract baselines from original signals
  3. Pre-multiply by the calibration matrix (if applicable)
  4. Calculate the Ground Reaction Force
  5. Apply a threshold
  6. Transform data to the Laboratory Coordinate System
Compute Baselines

The FP_ZERO C3D parameter defines the range of frames used to calculate an average baseline value for each ANALOG signal.

Note: 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, then the ground reaction force signals will be incorrect. If this is the case, then 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.

Subtract Baselines

The baseline value for each ANALOG channel represents the value of that channel's signal under no load. It is subtracted from that ANALOG channel's original signal at every frame to produce a tared signal. This does not affect the original ANALOG signals as seen in the data tree since this processing takes place when the Force Platform signals are computed.

[Tared Analog] = [Original Analog]-[Baseline]
Pre-multiply by the CalMatrix

Several of the force platform types have a Calibration Matrix (Inverse Sensitivity Matrix) that is provided by the manufacturer. Visual3D pre-multiplies the values reported by the analog channels with this calibration matrix in order to convert the recorded analog signals from volts to the appropriate Force and/or Moment signal units.

For example, for a type 4 force platform:

[Converted Analog] = [Fx, Fy, Fz, Mx, My, Mz]= [CalMatrix][Tared Analog]

Note: These signals are intermediate signals that are then used to compute the Ground Reaction Force.

Calculate the Ground Reaction Force

The Ground Reaction Force is represented by 3 vectors: Force, Centre of Pressure (COFP), and Free Moment. Each is calculated from the the appropriate analog signals. Different force platform types require different calculations for these Ground Reaction Force vectors.

For a Type 4 force platform, the force vector is equal to the intermediate force signals from the previous step.

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

For a Type 4 force platform, the centre of pressure vector is computed as follows:

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

Note: The ORIGIN is necessary for this calculation.

For a Type 4 force platform, the free moment vector is computed as follows:

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

The Visual3D Force Menu contains an option to set a threshold for force platform/structure data. Any computed signal value that is less than this threshold is assumed to be noise and is set to 0.

Transform 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.

As long as the force platform is accurately located within the lab, for example by using the CalTester, this is accomplished by a straightforward translation from the force platform coordinate system to the lab coordinate system.

Practical Example

The following example creates the force platform parameters for a C3D file that contains the ANALOG signals from the force platform but does not contain any parameters.

  1. Download and open the example c3d file.



  2. Select Modify Force Platform Parameters from under the Force Menu. The following dialog will appear



  3. Select the Get Current C3D Parameters. There should be no change to the dialog because there aren't any parameters in the file. You can check this by looking in the Parameters section of the Data Tree; there should be only one parameter used, which is equal to zero indicating no force platforms.



  4. For a Type 4 force platform, the edit boxes shown must be filled in.



  5. The CalMatrix and ORIGIN parameters are provided in the AMTI manual. Each force platform has different values.
  6. The channel numbers should correspond with the force platform signals. Visual3D stores the ANALOG signals alphabetically in the data tree, which is not necessarily consistent with the C3D file order. To see the C3D order you must look in the ANALOG parameters.



  7. The force platform corners are the locations of the corners of the force platform in the laboratory coordinate system.
  8. Download a pipeline script to modify the force platform parameters for the example file.
  9. From the Visual3D pipeline, load the pipeline file that you just downloaded. Execute the pipeline and all force platform parameters will be updated.



Modifying the Force Platform Parameters

It can be necessary to modify the force platform parameters that are present in a C3D file.

  1. In the Force menu, select Modify Force Platform Parameters.

    tutorial3_2.jpg

  2. Click the Get Current C3D Parameters button to populate the dialog box.

    The Force Platform Zero Baseline Interval indicates that the first 10 frames of data will be averaged to define a baseline, which is then subtracted from every frame of data.

    The ORIGIN (mm) shows a –21 mm Z component. The manufacturer manual will show a positive z-component. The C3D format assumes that this value will be a vector from the ORIGIN to the center of the top surface of the platform in the force platform coordinate system, which means that the value in the C3D file should be negative.

    Corner 1, Corner 2, Corner 3 and Corner 4 are the locations of the force platform corners specified in the laboratory coordinate system. This information is used to transform the signals from the force platform coordinate system to the laboratory coordinate system. In principle the force platform can be located in any orientation in the 3D data collection volume; e.g. the force platform does not have to be on the floor.

    The Analog Channels column shows the analog channel assignment number in the order the ANALOG channels appear in the C3D file.

  3. Click Done or Cancel when finished examining data.

Thresholding the Force Platform Signals

When force platform data exists, Visual3D attempts to assign the signal to a segment that comes into contact with it. If there is a low level of background noise in the signal, it will appear that something must be in contact with the force platform at all times. To ensure that only “sensible/real” contacts are used, a threshold values is specified such that any ground reaction force signal below this value is assumed to be zero. This ensures clean contacts with the force platform.

  1. Select the Force menu.
  2. Click on the Modify Minimum Force Platform Value. A dialog box will open to allow you to set a higher (or lower) threshold than the default.

    tutorial3_3.jpg

  3. You can also choose one of the other options for modifying force platforms. Select Modify FP Center of Pressure Distance to Segment to specify a minimum distance (.2m default). This option allows you to verify that a particular signal has been caused by a segment.

Graphing a Force Platform Signal

  1. If the graph area at the right is still occupied, right-click anywhere on the graph area and select Remove all graphs.
  2. In the Data Tree, open the folder labeled ANALOG, then the folder labeled ORIGINAL.
  3. Right-click FZ1, select Graph Signal, and New Graph. This will open a graph of the Fz ANALOG channel of force platform1.
  4. In the Data Tree, open the folder labeled FORCE then open the folder labeled ORGINAL.
  5. Right click FP1 and select Graph Z, and New Graph. This will open a graph of Z-component of the Ground Reaction Force signal.

Note: These two signals are related to each other, but they are not identical. The ANALOG signal is stored in the coordinate system of the force platform. The FORCE (ground force) signal is stored in the Laboratory (motion capture) Coordinate System.

tutorial3_1.jpg

Troubleshooting Tip: If the ANALOG signals for the force platform exist, but the FORCE signal is zero, examine the FZ1 graph and verify that the Fz Channel of the ANALOG signals is negative. If not, then the ANALOG scale factor in the C3D file has probably been stored incorrectly by the motion capture software. The scale factor will need to be changed in the motion capture software and/or the file.

Continue to the next tutorial.

visual3d/tutorials/kinematics_and_kinetics/force_platforms.txt · Last modified: 2024/07/31 17:19 by wikisysop