99 lines (78 with data), 3.0 kB
// ************************************
// Drivers for the left arm
// ************************************
#if RIGHT_SHOULDER_RHYTHM == 0
//Sterno clavicular joint driver
AnyKinEqSimpleDriver SCDriverLeft ={
AnyKinMeasure& ref1 =...HumanModel.Interface.Left.SternoClavicularProtraction;
AnyKinMeasure& ref2 =...HumanModel.Interface.Left.SternoClavicularElevation;
DriverPos = pi/180*{
.JntPos.Left.SternoClavicularProtraction,
.JntPos.Left.SternoClavicularElevation
};
DriverVel = pi/180*{
.JntVel.Left.SternoClavicularProtraction,
.JntVel.Left.SternoClavicularElevation
};
Reaction.Type={Off,Off};
};
#endif
//Glenohumeral joint driver
AnyKinEqSimpleDriver GHDriverLeft={
AnyKinMeasure& ref1 =...HumanModel.Interface.Left.GlenohumeralAbduction;
AnyKinMeasure& ref2 =...HumanModel.Interface.Left.GlenohumeralFlexion;
AnyKinMeasure& ref3 =...HumanModel.Interface.Left.GlenohumeralExternalRotation;
DriverPos=pi/180*{
.JntPos.Left.GlenohumeralAbduction, //GH joint
.JntPos.Left.GlenohumeralFlexion, //GH joint
.JntPos.Left.GlenohumeralExternalRotation //GH joint
};
DriverVel = pi/180*{
.JntVel.Left.GlenohumeralAbduction, //GH joint
.JntVel.Left.GlenohumeralFlexion, //GH joint
.JntVel.Left.GlenohumeralExternalRotation //GH joint
};
Reaction.Type={Off,Off,Off};
};
//Elbow flexion driver
AnyKinEqSimpleDriver ElbowFEDriverLeft={
AnyKinMeasure& Elbow =...HumanModel.Interface.Left.ElbowFlexion;
DriverPos=pi/180*{.JntPos.Left.ElbowFlexion};
DriverVel = pi/180*{.JntVel.Left.ElbowFlexion};
Reaction.Type={Off};
};
//Elbow pronation driver
AnyKinEqSimpleDriver ElbowPSDriverLeft={
AnyKinMeasure& Elbow =...HumanModel.Interface.Left.ElbowPronation;
DriverPos= pi/180*{.JntPos.Left.ElbowPronation };
DriverVel = pi/180*{.JntVel.Left.ElbowPronation };
Reaction.Type={Off};
};
//Wrist driver
//Wrist driver
AnyKinEqSimpleDriver WristDriverLeft ={
AnyKinMeasure& ref1 =...HumanModel.Interface.Left.WristFlexion;
AnyKinMeasure& ref2 =...HumanModel.Interface.Left.WristAbduction;
DriverPos = pi/180*{
.JntPos.Left.WristFlexion,
.JntPos.Left.WristAbduction};
DriverVel = pi/180*{
.JntVel.Left.WristFlexion,
.JntVel.Left.WristAbduction};
Reaction.Type={Off,Off};
};
MannequinLoads.Left = {
AnyForce3D Shoulder = {
AnyRefNode &ApplPoint = .lhm.ShoulderArm.Seg.Humerus.gh;
F = .locmql.Shoulder;
};
AnyForce3D Elbow = {
AnyRefNode &ApplPoint = .lhm.ShoulderArm.Seg.Humerus.fe;
F = .locmql.Elbow;
};
AnyForce3D Hand = {
AnyRefNode &ApplPoint = .lhm.ShoulderArm.Seg.Hand.HandRef.PalmJoint;
// F = .locmql.Hand*t;
F = .locmql.Hand;
};
};