--- a +++ b/Tools/Templates/Human Standing/Model/LeftFootDrivers.any @@ -0,0 +1,62 @@ +// AnyReacForce LeftFootReaction = { +// +// AnyKinLinear LeftFootLinMeasure = { +// AnySeg &ref1=....BodyModel.Left.Leg.Seg.Foot; +// AnyFixedRefFrame &ref2 = ....Environment.GlobalRef; +// }; +// AnyKinRotational LeftFootRotMeasure = { +// AnySeg &ref1=....BodyModel.Left.Leg.Seg.Foot; +// AnyFixedRefFrame &ref2 = ....Environment.GlobalRef; +// Type = RotVector; +// +// }; +// }; + + + + // Place the Left toe and heel on the ground + AnyKinEqSimpleDriver LToeGroundConstraint ={ + AnyKinLinear ToePos = { + AnyFixedRefFrame &Ground = ....Environment.GlobalRef; + AnyRefNode &Ball = ....BodyModel.Left.Leg.Seg.Foot.BigToeNode; + }; + MeasureOrganizer = {1}; // Only the y coordinate + DriverPos = {0.0}; + DriverVel = {0}; + Reaction.Type = {Off}; // Provide ground reaction forces + + }; + + AnyKinEqSimpleDriver LHeelGroundConstraint ={ + AnyKinLinear HeelPos = { + AnyFixedRefFrame &Ground = ....Environment.GlobalRef; + #if BM_LEG_MODEL == _LEG_MODEL_LEG_ + AnyRefNode &Ball = ....BodyModel.Left.Leg.Seg.Foot.HeelJoint; + #else + AnyRefNode &Ball = ....BodyModel.Left.Leg.Seg.Foot.HeelContactNodeLow; + #endif + }; + MeasureOrganizer = {1}; // Only the y coordinate + DriverPos = {0.0}; + DriverVel = {0}; + Reaction.Type = {Off}; // Provide ground reaction forces + }; + + + // Position the Ankles Left above the z axis + AnyKinEqSimpleDriver LAnkleX = { + AnyKinLinear AnklePos = { + AnyFixedRefFrame &Ground = ....Environment.GlobalRef; + #if BM_LEG_MODEL == _LEG_MODEL_LEG_ + AnyRefNode &Ankle = ....BodyModel.Left.Leg.Seg.Foot.AnkleJoint; + #else + AnyRefNode &Ankle = ....BodyModel.Left.Leg.Seg.Foot.SubTalarJoint; + #endif + }; + MeasureOrganizer = {0}; // Only the x coordinate + DriverPos = {0.0}; + DriverVel = {0.0}; + Reaction.Type = {Off}; + }; + +