User Tools

Site Tools


visual3d:documentation:pipeline:force_commands:fp_type_7

This is an old revision of the document!


C3D Parameters

The following parameters should exist:

FP_USED= number of force platforms used FP_TYPE= 6 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= Fx1, Fy1, Fz1, Fx2, Fy2, Fz2, Fx3, Fy3, Fz3, Fx4, Fy4, Fz4 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= 12 x 12 Calibration Matrix.

Compute Force, COP, and FreeMoment

fp_type6.jpg

C3D Origin

a= Origin.X b= Origin.Y az0= Origin.Z

C3D Channels

[Original Analog]= [Fx1_original, Fy1_original, Fz1_original, Fx2_original, Fy2_original, Fz2_original, Fx3_original, Fy3_original, Fz3_original, Fx4_original, Fy4_original, Fz4_original] as specified by the ANALOG channel numbers

Compute Baselines

Average the Analog signals for the specified C3D ZERO frames

Subtract Baselines

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

Processed Analogs

If Processed Analog signals are used [Tared Analog]= [Processed Analog]-[Baseline]

Pre-Multiply by the CalMatrix

[Analog]= [Fx1, Fy1, Fz1, Fx2, Fy2, Fz2, Fx3, Fy3, Fz3, Fx4, Fy4, Fz4]= [CalMatrix][Tared Analog]

Compute Force Vector

Force.X = Fx1+Fx2+Fx3+Fx4 Force.Y = Fy1+Fy2+Fy3+Fy4 Force.Z = Fz1+Fz2+Fz3+Fz4

Compute Center of Pressure

M.X = b*( Fz1 + Fz2 - Fz3 - Fz4) + az0*(Fy1 + Fy2 + Fy3 + Fy4) M.Y = a*(-Fz1 + Fz2 + Fz3 - Fz4) - az0*(Fx1 + Fx2 + Fx3 + Fx4) M.Z = b*(-Fx1 - Fx2 + Fx3 + Fx4) + a*(Fy1 - Fy2 - Fy3 + Fy4) COP.X = (az0 * Force.X - M.Y / Force.Z) + a COP.Y = (az0 * Force.Y + M.X /Force.Z) + b COP.Z = az0

Compute Free Moment

FreeMoment.X = 0 FreeMoment.Y = 0 FreeMoment.Z = M.Z + Force.Y*(M.Y-az0*Force.X)/Force.Z + Force.X*(M.X+az0*Force.Y)/Force.Z

Force Threshold

if (|Force,Z| < Force_Min) Force.X.= 0 Force.Y.= 0 Force.Z.= 0 COP.X = NO_DATA COP.Y = NO_DATA COP.Z = NO_DATA FreeMoment.X = 0 FreeMoment.Y = 0 FreeMoment.Z = 0

Transform Forces

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

visual3d/documentation/pipeline/force_commands/fp_type_7.1718717482.txt.gz · Last modified: 2024/06/18 13:31 by sgranger