[770c98]: / Tests / Symmetry / DynamicTest / Model / ConstantDrivers / TrunkDrivers.any

Download this file

76 lines (66 with data), 2.5 kB



  // ************************************
  // Drivers for attaching the pelvis to the global reference system
  // ************************************  
  
  AnyKinEqSimpleDriver PelvisGroundDriver ={
    AnyKinMeasureOrg PelvisGround = 
    {
      AnyKinMeasure& PosX = ....BodyModel.Interface.Trunk.PelvisPosX;
      AnyKinMeasure& PosY = ....BodyModel.Interface.Trunk.PelvisPosY;
      AnyKinMeasure& PosZ = ....BodyModel.Interface.Trunk.PelvisPosZ;
      AnyKinMeasure& RotX = ....BodyModel.Interface.Trunk.PelvisRotX;
      AnyKinMeasure& RotY = ....BodyModel.Interface.Trunk.PelvisRotY;
      AnyKinMeasure& RotZ = ....BodyModel.Interface.Trunk.PelvisRotZ;
    };
    DriverPos={
      .JntPos.PelvisPosX,
      .JntPos.PelvisPosY,
      .JntPos.PelvisPosZ,
      pi/180*.JntPos.PelvisRotZ,
      pi/180*.JntPos.PelvisRotY,
      pi/180*.JntPos.PelvisRotX
    };
    DriverVel={
      .JntVel.PelvisPosX,
      .JntVel.PelvisPosY,
      .JntVel.PelvisPosZ,
      pi/180*.JntVel.PelvisRotX,
      pi/180*.JntVel.PelvisRotY,
      pi/180*.JntVel.PelvisRotZ
    };
    Reaction.Type={On,On,On,On,On,On};
  };


  // ************************************
  // Drivers for the spine
  // ************************************
  
  //Neck driver 
  AnyKinEqSimpleDriver NeckJntDriver = {
    AnyKinMeasure& lb = ...BodyModel.Interface.Trunk.SkullThoraxLateralBending;
    AnyKinMeasure& ar = ...BodyModel.Interface.Trunk.SkullThoraxRotation;
    AnyKinMeasure& fe = ...BodyModel.Interface.Trunk.SkullThoraxFlexion;
    DriverPos = pi/180*{
      .JntPos.NeckLateralBending,
      .JntPos.NeckRotation,
      -1*.JntPos.NeckExtension};
    DriverVel = pi/180*{
      .JntVel.NeckExtension,
      .JntVel.NeckRotation,
      -1*.JntVel.NeckExtension};
    Reaction.Type = {Off,Off,Off};
  };
  
  //Thorax pelvis rotation driver
  AnyKinEqSimpleDriver PostureDriver ={
    AnyKinMeasure& Ref2 = ...BodyModel.Interface.Trunk.PelvisThoraxLateralBending;        
    AnyKinMeasure& Ref3 = ...BodyModel.Interface.Trunk.PelvisThoraxRotation;   
    AnyKinMeasure& Ref1 = ...BodyModel.Interface.Trunk.PelvisThoraxExtension;
   
    DriverPos = pi/180*{
          .JntPos.PelvisThoraxLateralBending,
      .JntPos.PelvisThoraxRotation,
      .JntPos.PelvisThoraxExtension
    };
    DriverVel = pi/180*{
      .JntVel.PelvisThoraxLateralBending,
      .JntVel.PelvisThoraxRotation,
      .JntVel.PelvisThoraxExtension
    };
    Reaction.Type = {Off,Off,Off};  
  };