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 17:17] – Cleaned up the theory to focus solely on FP_Type 4. 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.
  
 +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.
 +
 +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 ==== ==== Interpreting the C3D File ====
  
-We will begin by reviewing the information stored in the [[visual3d:documentation:c3d_signal_types:c3d_format|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 ===
Line 40: Line 50:
 Type 4 platforms also have a 6x6 CalMatrix that specifies how the original analog signals should be transformed. Type 4 platforms also have a 6x6 CalMatrix that specifies how the original analog signals should be transformed.
  
-==== Computing Force, COP, and 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
-The force signals of interest for our kinetic analysis are the [[visual3d:documentation:visual3d_signal_types:force_data_type|Force]], [[visual3d:documentation:visual3d_signal_types:cofp_data_type|Centre of Pressure]], and [[visual3d:documentation:visual3d_signal_types:freemoment_data_type|Free Moment]] signals. This figure depicts a Kistler force platform, but the diagrammed force vector is consistent for all force platforms manufacturers. +  * **Tutorial5_ForcePlatforms_Start**: Used to start the tutorial, .cmz file containing the .c3d movement trial file
- +  * **walkNoFpParameters**: Movement trial file containing no force platform parameterschanges made throughout the tutorial
-{{:fp_type6.jpg}} +  * **Modify_Force_Platform_Parameters.v3s**: Pipeline script to modify force platforms for the example file
- + 
-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+
-  - Compute baselines +
-  - Subtract baselines from original signals +
-  - Pre-multiply by the calibration matrix (if applicable) +
-  - Calculate the Ground Reaction Force +
-  - Apply a threshold +
-  - Transform data to the Laboratory Coordinate System +
- +
-== Compute Baselines == +
- +
-The [[Visual3D:Documentation:Pipeline:Force_Commands:FP_ZERO|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 framesthen **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+
- +
-<code> +
-[Tared Analog] = [Original Analog]-[Baseline] +
-</code> +
- +
-== 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: +
-<code> +
-[Converted Analog] = [Fx, Fy, Fz, Mx, My, Mz]= [CalMatrix][Tared Analog] +
-</code> +
- +
-**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 vectorsForce, 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+
- +
-<code> +
-Force[X] = Fx +
-Force[Y] = Fy +
-Force[Z] = Fz +
-</code> +
- +
-For a Type 4 force platform, the centre of pressure vector is computed as follows: +
- +
-<code> +
-COP[X] = (ORIGIN[Z]*Force[X] - My) / Force[Z] +
-COP[Y] = (Mx + ORIGIN[Z]*Force[Y]) / Force[Z] +
-COP[Z] = ORIGIN[Z] +
-</code> +
- +
-**Note:** The [[Visual3D:Documentation:Pipeline:Force_Commands:FP_ORIGIN|ORIGIN]] is necessary for this calculation. +
- +
-For a Type 4 force platform, the free moment vector is computed as follows: +
- +
-<code> +
-FreeMoment[X] = 0 +
-FreeMoment[Y] = 0 +
-FreeMoment[Z] = Mz - ( COP[X]*Force[Y] - COP[Y]*Force[X] ) +
-</code> +
- +
-== Apply the Threshold == +
- +
-The Visual3D Force Menu contains an option to set a [[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Platforms#Minimum_Force|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:caltester_mode_overview|CalTester]], this is accomplished by a straightforward [[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Transform_from_FCS_to_LCS|translation]] from the force platform coordinate system to the lab coordinate system+
 ==== Practical Example ==== ==== 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. 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}} \\ \\+  - Download the ZIP file provided above and open **Tutorial5_ForcePlatforms_Start.cmz**. \\ \\ {{: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}} \\ \\
Line 130: Line 67:
   - 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 script]] 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 ===
Line 138: Line 75:
  
   - 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 155: 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 163: 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.1722446223.txt.gz · Last modified: 2024/07/31 17:17 by wikisysop