====== 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 [[visual3d:documentation:c3d_signal_types:analog_data_type|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. This tutorial focuses on working with **Type 4 force platforms** in Visual3D. Type 4 platforms are widely used in biomechanics and allow for the calculation of ground reaction forces using advanced processing of analog signals. Understanding the specific parameters required for this platform type is crucial for accurate analysis. To get the most out of this tutorial, we recommend reviewing the [[visual3d:documentation:kinematics_and_kinetics:external_forces:force_platforms|Force Platform Overview]] page. This resource covers essential background information, including: * The different types of force platforms and their applications. * Key concepts such as force signal computation and calibration. * Detailed explanations of parameters and processing required for various platform types. Once familiar with the foundational concepts outlined in the overview, return to this page to follow a step-by-step example of working with Type 4 force platforms in Visual3D. This tutorial provides practical guidance to help you set up and analyze data effectively. ==== Interpreting the C3D File ==== We will begin by a brief review of the information stored in the [[visual3d:documentation:c3d_signal_types:c3d_format|C3D file]], this is also available on the Force Platforms Overview page mentioned previously. === C3D Parameters === The following parameters should exist in the C3D file: [[Visual3D:Documentation:Pipeline:Force_Commands:FP_USED|FP_USED]] = the number of force platforms used \\ [[Visual3D:Documentation:Pipeline:Force_Commands:FP_TYPE|FP_TYPE]] = the type of force platform used, which determines how to interpret the recorded analog signals \\ [[Visual3D:Documentation:Pipeline:Force_Commands:FP_ZERO|FP_ZERO]] = the range of frames for which a background noise level is calculated and then subtracted from each of the analog channels \\ [[Visual3D:Documentation:Pipeline:Force_Commands:FP_CHANNELS|FP_CHANNELS]] = Names of the analog channels, e.g., Fx, Fy, Fz, Mx, My, Mz \\ [[Visual3D:Documentation:Pipeline:Force_Commands:FP_ORIGIN|FP_ORIGIN]] = The origin of the force platform in the force platform coordinate system (see the force platform manufacturer specifications) \\ [[Visual3D:Documentation:Pipeline:Force_Commands:FP_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.\\ [[Visual3D:Documentation:Pipeline:Force_Commands:FP_CALMATRIX|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 [[Visual3D:Documentation:Pipeline:Force_Commands:FP_TYPE|TYPE]] in the C3D format). The specifics of each force platform type can be found on the associated page: | [[visual3d:documentation:pipeline:force_commands:fp_type_1|FP_TYPE 1]] | [[visual3d:documentation:pipeline:force_commands:fp_type_2|FP_TYPE 2]] | [[visual3d:documentation:pipeline:force_commands:fp_type_3|FP_TYPE 3]] | [[visual3d:documentation:pipeline:force_commands:fp_type_4|FP_TYPE 4]] | [[visual3d:documentation:pipeline:force_commands:fp_type_5|FP_TYPE 5]] | [[visual3d:documentation:pipeline:force_commands:fp_type_6|FP_TYPE 6]] | [[visual3d:documentation:pipeline:force_commands:fp_type_7|FP_TYPE 7]] | For this tutorial we will focus on [[visual3d:documentation:pipeline:force_commands:fp_type_4|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 6x6 CalMatrix that specifies how the original analog signals should be transformed. ==== 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. - Download and open the [[https://www.has-motion.com/download/examples/walkNoFpParameters.c3d|example c3d file]]. \\ \\ {{:Amti1.png}} \\ \\ - Select Modify Force Platform Parameters from under the Force Menu. The following dialog will appear \\ \\ {{:Amti2.png}}\\ \\ - 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. \\ \\ {{:Amti3.png}} \\ \\ - For a Type 4 force platform, the edit boxes shown must be filled in. \\ \\ {{:Amti4.gif}} \\ \\ - The CalMatrix and ORIGIN parameters are provided in the AMTI manual. Each force platform has different values. - 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. \\ \\ {{:Amti5.gif}} \\ \\ - The force platform corners are the locations of the corners of the force platform in the laboratory coordinate system. - Download a [[https://www.has-motion.com/download/examples/modifyForcePlatforms.v3s|pipeline script]] to modify the force platform parameters for the example file. - From the Visual3D pipeline, load the pipeline file that you just downloaded. Execute the pipeline and all force platform parameters will be updated. \\ \\ {{:Amti6.gif}} \\ \\ === Modifying the Force Platform Parameters === It can be necessary to modify the force platform parameters that are present in a C3D file. - In the **Force** menu, select **Modify Force Platform Parameters.**\\ \\ {{:tutorial3_2.jpg}}\\ \\ - 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. \\ \\ - 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. - Select the Force menu. - 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}}\\ \\ - You can also choose one of the other options for modifying force platforms. Select [[Visual3D:Documentation:Modeling:Segments:Segment_to_COFP_Distance|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 === - If the graph area at the right is still occupied, right-click anywhere on the graph area and select **Remove all graphs.** - In the Data Tree, open the folder labeled **ANALOG**, then the folder labeled **ORIGINAL.** - Right-click **FZ1**, select **Graph Signal**, and **New Graph.** This will open a graph of the Fz ANALOG channel of force platform1. - In the Data Tree, open the folder labeled **FORCE** then open the folder labeled **ORGINAL.** - 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 [[visual3d:tutorials:events:event_processing|next tutorial]].