--- a +++ b/Application/Examples/THA-KneeBendDemo/Model/RightArmDrivers.any @@ -0,0 +1,97 @@ + + + // ************************************ + // Drivers for the right arm + // ************************************ + + + #if RIGHT_SHOULDER_RHYTHM == 0 + //Sterno clavicular joint driver + AnyKinEqSimpleDriver SCDriverRight ={ + AnyKinMeasure& ref1 =...HumanModel.Interface.Right.SternoClavicularProtraction; + AnyKinMeasure& ref2 =...HumanModel.Interface.Right.SternoClavicularElevation; + DriverPos = pi/180*{ + .JntPos.Right.SternoClavicularProtraction, + .JntPos.Right.SternoClavicularElevation + }; + DriverVel = { + .JntVel.Right.SternoClavicularProtraction, + .JntVel.Right.SternoClavicularElevation + }; + Reaction.Type={Off,Off}; + }; + #endif + + + //Glenohumeral joint + AnyKinEqSimpleDriver GHDriverRight={ + AnyKinMeasure& ref1 =...HumanModel.Interface.Right.GlenohumeralAbduction; + AnyKinMeasure& ref2 =...HumanModel.Interface.Right.GlenohumeralFlexion; + AnyKinMeasure& ref3 =...HumanModel.Interface.Right.GlenohumeralExternalRotation; + + DriverPos=pi/180*{ + .JntPos.Right.GlenohumeralAbduction, //GH joint + .JntPos.Right.GlenohumeralFlexion, //GH joint + .JntPos.Right.GlenohumeralExternalRotation //GH joint + }; + DriverVel = pi/180*{ + .JntVel.Right.GlenohumeralAbduction, //GH joint + .JntVel.Right.GlenohumeralFlexion, //GH joint + .JntVel.Right.GlenohumeralExternalRotation //GH joint + }; + Reaction.Type={Off,Off,Off}; + }; + + + //Elbow flexion driver + AnyKinEqSimpleDriver ElbowFEDriverRight={ + AnyKinMeasure& Elbow =...HumanModel.Interface.Right.ElbowFlexion; + DriverPos=pi/180*{.JntPos.Right.ElbowFlexion}; + DriverVel = pi/180*{.JntVel.Right.ElbowFlexion}; + Reaction.Type={Off}; + }; + + //Elbow pronation driver + AnyKinEqSimpleDriver ElbowPSDriverRight={ + AnyKinMeasure& Elbow =...HumanModel.Interface.Right.ElbowPronation; + DriverPos = pi/180*{.JntPos.Right.ElbowPronation }; + + DriverVel=pi/180*{.JntVel.Right.ElbowPronation }; + Reaction.Type={Off}; + }; + + //Wrist driver + AnyKinEqSimpleDriver WristDriverRight ={ + AnyKinMeasure& ref1 =...HumanModel.Interface.Right.WristFlexion; + AnyKinMeasure& ref2 =...HumanModel.Interface.Right.WristAbduction; + DriverPos = pi/180*{ + .JntPos.Right.WristFlexion, + .JntPos.Right.WristAbduction + }; + + DriverVel = pi/180*{ + .JntVel.Right.WristFlexion, + .JntVel.Right.WristAbduction}; + Reaction.Type={Off,Off}; + }; + + + + MannequinLoads.Right = { + + AnyForce3D Shoulder = { + AnyRefNode &ApplPoint = .rhm.ShoulderArm.Seg.Humerus.gh; + F = .locmql.Shoulder; + }; + + AnyForce3D Elbow = { + AnyRefNode &ApplPoint = .rhm.ShoulderArm.Seg.Humerus.fe; + F = .locmql.Elbow; + }; + + AnyForce3D Hand = { + AnyRefNode &ApplPoint = .rhm.ShoulderArm.Seg.Hand.HandRef.PalmJoint; +// F = .locmql.Hand*t; + F = .locmql.Hand; + }; + };