User Tools

Site Tools


visual3d:documentation:pipeline:force_commands:fp_type_7

This is an old revision of the document!


fp_used]]= number of force platforms used [[visual3d:documentation:pipeline:force_commands:fp_type|fp_type]]= 6 [[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]]= fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4 [[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]]= 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.1718801450.txt.gz · Last modified: 2024/06/19 12:50 by sgranger