[770c98]: / Application / Examples / THA-KneeBendDemo / Model / RightArmDrivers.any

Download this file

98 lines (78 with data), 3.0 kB


  // ************************************
  // 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;
    };
  };