ForcePlateAutoDetection#
Create Force plates based on data in C3D file.
#include "<AMMR_TOOLS>\AnyMocap/ForcePlates/ForcePlateAutoDetection.any"`
#ForcePlateAutoDetection#
Class template to create a force plates from measured data (in c3d files).
The class automatically links the force to the foot closest and stationary on the force plate.
The class can also be used for other limbs.
Tip
If you have a model with only one leg, or want to ensure that only one leg contacts the plate then set LIMB1 and LIMB2 to the same segment
Example
ForcePlateAutoDetection Plate1(
PLATE_NO=1,
LIMB1 = Main.HumanModel.BodyModel.Right.Leg.Seg.Foot,
LIMB2 = Main.HumanModel.BodyModel.Left.Leg.Seg.Foot,
HeightTolerance = 0.07,
VelThreshold = 2.2,
FORCEPLATE_TYPE = 4,
ALLOW_MULTI_LIMB_CONTACT = OFF
) =
{
SurfaceOffset = {0, 0.1, 0};
};
Full signature
ForcePlateAutoDetection <ObjectName>(
PLATE_NO=<required>,
FORCEPLATE_TYPE=<required>,
LIMB1=Main.HumanModel.BodyModel.Right.Leg.Seg.Foot,
LIMB2=Main.HumanModel.BodyModel.Left.Leg.Seg.Foot,
VerticalDirection="Automatic",
HeightTolerance=0.07,
VelThreshold=2.2,
ALLOW_MULTI_LIMB_CONTACT=1,
CONTACT_NODE1=HeelContactNodeLow,
CONTACT_NODE2=ToeLateralContactNode,
CREATE_KIN_GRF=0,
KIN_GRF_LIMB1_FUN=GlobalCopFun,
KIN_GRF_LIMB2_FUN=GlobalCopFun,
DRAW_RAW_FORCES=1,
C3D_OBJECT=Main.ModelSetup.C3DFileData,
) = {};
Arguments
- __CLASS__:
AnyFolder
- PLATE_NO:
The plate number in the C3D file (1..N) (Required)
- FORCEPLATE_TYPE:
The type of force plate (from the C3D spec.) (1..4) (Required)
- LIMB1:
Location of the limb 1 (defaults to: Main.HumanModel.BodyModel.Right.Leg.Seg.Foot) (Default: Main.HumanModel.BodyModel.Right.Leg.Seg.Foot)
- LIMB2:
Location of the limb 2 (defaults to: Main.HumanModel.BodyModel.Left.Leg.Seg.Foot) (Default: Main.HumanModel.BodyModel.Left.Leg.Seg.Foot)
- VerticalDirection:
The vertical direction of the force plate. Possible values are “X”, “Y”, “Z”, “Automatic”. The default is “Automatic” which will use the direction of the force plate normal vector. (Default: “Automatic”)
- HeightTolerance:
The height tolerance for contact detection with the foot. (Defaults to 0.07 m). (Default: 0.07)
- VelThreshold:
The velocity threshold for contact detection with the foot. (Defaults to 2.2 m/s). (Default: 2.2)
- ALLOW_MULTI_LIMB_CONTACT:
Switch to specify if both LIMB1 and LIMB2 can be in contact with the plate simultaneously. If set to OFF only the limb with lowest velocity will be assumed in contact. Set this to OFF to prevent false contact detection in the swing phase from the collateral limb. (Defaults to ON) (Default: 1)
- CONTACT_NODE1:
The node on LIMB1/2 used for contact detection. Change this if you are connecting to something different than the feet. (Defaults to: HeelContactNodeLow) (Default: HeelContactNodeLow)
- CONTACT_NODE2:
The node on LIMB1/2 used for contact detection. Change this if you are connecting to something different than the feet. (Defaults to: ToeLateralContactNode) (Default: ToeLateralContactNode)
- CREATE_KIN_GRF:
Create a kinematic representation of the ground reaction force vector. This is experimental but could be used to include the GRF vector in the parameter optimization. (Defaults to OFF) (Default: 0)
- KIN_GRF_LIMB1_FUN:
Switch to customize the kinematic GRF vector representation. Experimental. (Defaults to GlobalCopFun) (Default: GlobalCopFun)
- KIN_GRF_LIMB2_FUN:
Switch to customize the kinematic GRF vector representation. Experimental. (Defaults to GlobalCopFun) (Default: GlobalCopFun)
- DRAW_RAW_FORCES:
Switch to draw the raw forces from the C3D file. (Defaults to ON) (Default: 1)
- C3D_OBJECT:
The c3d object in the model tree (Default: Main.ModelSetup.C3DFileData)
Optional initialization members
GroundVelocity = {0, 0, 0};
- class type:
AnyVec3
Specifies the velocity of the ground frame. Modify the value if the subject is for example walking on a treadmill
SurfaceOffset = {0,0,0};
- class type:
AnyVec3
Offset of the plate surface. Useful if stairs or other equipment is placed on the force plate and center of pressure should be calculated and visualized on this offset surface.