84 lines (66 with data), 2.4 kB
// ************************************
// Drivers for the left arm
// ************************************
#if BM_ARM_SHOULDER_RHYTHM == 0
//Sterno clavicular joint driver
AnyKinEqSimpleDriver SCDriverLeft ={
AnyKinMeasure& ref1 =...BodyModel.Interface.Left.SternoClavicularProtraction;
AnyKinMeasure& ref2 =...BodyModel.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
AnyKinEqSimpleDriver GHDriverLeft=
{
AnyKinMeasure& ref1 =...BodyModel.Interface.Left.GlenohumeralAbduction;
AnyKinMeasure& ref2 =...BodyModel.Interface.Left.GlenohumeralFlexion;
AnyKinMeasure& ref3 =...BodyModel.Interface.Left.GlenohumeralExternalRotation;
DriverPos=pi/180*{
.JntPos.Left.GlenohumeralAbduction,
.JntPos.Left.GlenohumeralFlexion,
.JntPos.Left.GlenohumeralExternalRotation
};
DriverVel = pi/180*{
.JntVel.Left.GlenohumeralAbduction,
.JntVel.Left.GlenohumeralFlexion,
.JntVel.Left.GlenohumeralExternalRotation
};
Reaction.Type={Off, Off, Off};
};
AnyKinEqSimpleDriver ElbowFEDriverLeft=
{
AnyKinMeasureOrg &Elbow =...BodyModel.Interface.Left.ElbowFlexion;
DriverPos=pi/180*{.JntPos.Left.ElbowFlexion};
DriverVel = pi/180*{.JntVel.Left.ElbowFlexion};
Reaction.Type={Off};
};
AnyKinEqSimpleDriver ElbowPSDriverLeft=
{
AnyKinMeasure& Elbow =...BodyModel.Interface.Left.ElbowPronation;
DriverPos= pi/180*{.JntPos.Left.ElbowPronation };
DriverVel = pi/180*{.JntVel.Left.ElbowPronation };
Reaction.Type={Off};
};
AnyKinEqSimpleDriver WristDriverLeft =
{
AnyKinMeasure& ref1 =...BodyModel.Interface.Left.WristFlexion;
AnyKinMeasure& ref2 =...BodyModel.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};
};