User Tools

Site Tools


visual3d:tutorials:kinematics_and_kinetics:force_platforms

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
visual3d:tutorials:kinematics_and_kinetics:force_platforms [2024/07/31 16:09] – Minor edits for language and formatting. Changed the levels of each section heading to better organize the tutorial's hierarchy. wikisysopvisual3d:tutorials:kinematics_and_kinetics:force_platforms [2025/01/15 19:42] (current) – [Practical Example] wikisysop
Line 5: Line 5:
 **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. **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.
  
-==== Theory ====+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.
  
-We will begin by reviewing some of the necessary theory related to the information that is recorded by a force platform and how we can calculate our desired force signals.+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. 
 + 
 +If you would prefer to watch a video walk-through of this tutorial, please follow the link here: [[https://youtu.be/K0tWmFYWpGc?feature=shared|Visual3D Tutorial Video 5: Force Platforms]] 
 +==== 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 === === C3D Parameters ===
  
-The following parameters should exist:+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_USED|FP_USED]] = the number of force platforms used \\
Line 19: Line 29:
 [[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_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_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 6 x 6 calibration matrix for the force platform\\+[[Visual3D:Documentation:Pipeline:Force_Commands:FP_CALMATRIX|FP_CALMATRIX]] = A calibration matrix for the force platform if required by the force platform's type\\
  
-=== C3D Channels ===+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.
  
-The number of channels associated with a force platform varies with the force platform manufacturer (usually represented as a force platform [[Visual3D:Documentation:Pipeline:Force_Commands:FP_TYPE|TYPE]] in the c3d format).+**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.
  
-For example (other options exist),+=== C3D Channels ===
  
-Type 2, Type 3, and Type 4 platforms have 6 channels as follows as specified by the ANALOG channel numbers:\\ +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:
-  *[Original Analog]= [Fx_original, Fy_original, Fz_original, Mx_original, My_original, Mz_original]\\+
  
 +| [[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]] |
  
-Type 3 and Type 7 platforms have 8 channels as follows as specified by the ANALOG channel numbers:\\ +For this tutorial we will focus on [[visual3d:documentation:pipeline:force_commands:fp_type_4|Type 4]] force platforms.
-  *[Original Analog]= [Fx12, Fx34, Fy14, Fy23, Fz1, Fz2, Fz3, Fz4]\\+
  
 +Type 4 platforms have 6 channels as follows as specified by the ANALOG channel numbers:
 +<code>
 +[Original Analog] = [Fx_original, Fy_original, Fz_original, Mx_original, My_original, Mz_original]
 +</code>
  
-Type 3 and Type 6 platforms have 8 channels as follows as specified by the ANALOG channel numbers:\\ +Type platforms also have a 6x6 CalMatrix that specifies how the original analog signals should be transformed.
-  *[Original Analog]= [Fx1, Fy1, Fz1, Fx2, Fy2, Fz2, Fx3, Fy3, Fz3, Fx4, Fy4, Fz4]\\+
  
-=== Compute Force, COPand Free Moment ===+==== Preparing for Tutorial ==== 
 +The required material for this tutorial are contained within [[https://has-motion.com/download/YouTubeTutorial/Visual3D Tutorial 5 Force Platforms.zip|Visual3D Tutorial 5 Sample Data]]containing: 
 +  * **Tutorial5_ForcePlatforms_Start**: Used to start the tutorial.cmz file containing the .c3d movement trial file. 
 +  * **walkNoFpParameters**: Movement trial file containing no force platform parameters, changes made throughout the tutorial. 
 +  * **Modify_Force_Platform_Parameters.v3s**: Pipeline script to modify force platforms for the example file. 
 +  
 +==== Practical Example ====
  
-{{:fp_type6.jpg}}+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.
  
-This figure depicts a Kistler force platform, but the diagrammed force vector is consistent with all force platforms. +  Download the ZIP file provided above and open **Tutorial5_ForcePlatforms_Start.cmz**. \\ \\ {{:Amti1.png}} \\ \\
- +
-== Compute Baselines == +
- +
-The [[Visual3D:Documentation:Pipeline:Force_Commands:FP_ZERO|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. +
- +
-== Subtract Baselines == +
- +
-[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. Pre-multiplying (by Visual3D) of the analog channels by this calibration matrix converts the signals from volts to the appropriate Force and/or Moment signal units. +
- +
-For example: +
- +
-For a type 4\\ +
-[Analog]= [Fx, Fy, Fz, Mx, My, Mz]= [CalMatrix][Original Analog] +
- +
- +
-For a type 7\\ +
-[Analog]= [Fx12, Fx34, Fy14, Fy23, Fz1, Fz2, Fz3, Fz4]= [CalMatrix][Original Analog] +
- +
-**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 +
-  - Center of Pressure +
-  - Free Moment +
- +
-= Force Vector = +
- +
-Different force platform types have different calculations for the force vector. +
- +
-In the simplest case (Types 2 & 4), the force vector is equal to the intermediate force signals from the previous step. +
- +
-Force[X] = Fx \\ +
-Force[Y] = Fy \\ +
-Force[Z] = Fz \\ +
- +
-= Center of Pressure Vector = +
- +
-Different force platform types have different calculations for the center of pressure vector. +
- +
-For Types 2 & 4, the center 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 use of an [[Visual3D:Documentation:Pipeline:Force_Commands:FP_ORIGIN|ORIGIN vector]].\\ +
- +
-= Free Moment Vector = +
- +
-Different force platform types have different calculations for the center of pressure vector. +
- +
-For Types 2 & 4, 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] ) \\ +
- +
-== Applying Threshold == +
- +
-[[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Platforms#Minimum_Force|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. +
- +
-[[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Transform_from_FCS_to_LCS|Translate from Force platform Coordinate System (FCS) to Lab Coordinate System(LCS)]] +
- +
-==== 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 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}} \\ \\   - 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}} \\ \\+  - For a Type 4 force platformthe 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 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 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.   - 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 command]] to modify the force platform parameters for the example file. +  - Make sure that the **Modify_Force_Platform_Parameter.v3s** pipeline script is within the ZIP file, this will be used 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}} \\ \\+  - From the Visual3D pipeline, load the in the pipeline file. Execute the pipeline and all force platform parameters will be updated. \\ \\ {{:Amti6.gif}} \\ \\
  
 === Modifying the Force Platform Parameters === === Modifying the Force Platform Parameters ===
  
-Force Platform data are perhaps the most confusing aspects of the C3D file format. All of the required Force Platform parameters for the type of Force Platform must be defined correctly. Some of the parameters are specified by the Force Platform manufacturer; these values are provided in the Manufacturers User Manual. Note that some of these parameters can not be transferred directly in the C3D file+It can be necessary to modify the force platform parameters that are present in C3D file.
- +
-**Important:** The C3D format assumes consistency between units throughout the file. If the Motion Capture data has been collected in millimeters, 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. +
- +
-To examine or modify the parameters.+
  
   - In the **Force** menu, select **Modify Force Platform Parameters.**\\ \\ {{:tutorial3_2.jpg}}\\ \\    - 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 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.   - Click Done or Cancel when finished examining data.
  
Line 161: Line 92:
   - Right-click **FZ1**, select **Graph Signal**, and **New Graph.** This will open a graph of the Fz ANALOG channel of force platform1.   - 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.**   - 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.\\ +  - 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.+ 
 +**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}}\\ {{:tutorial3_1.jpg}}\\
Line 169: Line 101:
 **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. **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|Event Processing]].
  
visual3d/tutorials/kinematics_and_kinetics/force_platforms.1722442175.txt.gz · Last modified: 2024/07/31 16:09 by wikisysop