[38ba34]: / Body / AAUHuman / Leg / LegCal2.any

Download this file

77 lines (62 with data), 3.2 kB

//This is the calibration2 file it will calibrate specfic muscles on the leg
AnyFolder LegCal2 ={
  AnyComponentDefinition obj = {};  
  
  AnyFolder &Pelvis = ...BodyModel.Trunk.SegmentsLumbar.PelvisSeg; //This is a reference to the folder which holds the human part of the model
  AnyFolder &LegSegSide = .SideHumanFolderRef.Leg.Seg; //This is a reference to the folder which holds the human part of the model
  
  AnyFolder &JointsCal2 =  .SideHumanFolderRef.Leg.Jnt;
  
  
  
  AnyFixedRefFrame ground = {
    AnyRefNode node = { 
       ARel=..Pelvis.Axes0;
      sRel=..Pelvis.r0;
    };
  };
  
  AnyRevoluteJoint PelvisGround={
    AnyRefFrame &Ground = .ground.node;
    AnyRefFrame &Sacrum= ....BodyModel.Trunk.SegmentsLumbar.PelvisSeg; 
    Axis=z;
  };
  
  AnyKinEqSimpleDriver PelvisGroundRot = {
    AnyRevoluteJoint &Jnt = .PelvisGround;
    DriverPos = {0};
    DriverVel = {0};
    Reaction.Type = {Off}; 
  };
  
  
  #if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_
  AnyKinEqSimpleDriver JntDOFDriverRight = {
    AnyKinMeasure& Joint = ..SideHumanFolderRef.Leg.JntDOF;
    DriverPos = {1.83,0.0,0,0,0,-0.87}; //-15 degrees dorsal flexion
    DriverVel = {0.0,0.0,0,0,0,0};
    Reaction.Type = {Off,Off,Off,Off,Off,Off};
  };//JntDOFDriverRight
  #endif

  // Calibration2 calibrates the following muscles of the lower leg:
  // Soleus, Gastrocnemius, Hamstrings, Gluteus maximus, Iliopsoas
  AnyFolder &MuscleParRightCal2 =  .SideHumanFolderRef.Leg.MuscleModels;
  
  AnyFolder MusRight={
    #if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_
    AnyMuscleViaPoint &TibialisPosterior = ..SideHumanFolderRef.Leg.Mus.TibialisPosterior; //added
    AnyMuscleViaPoint &Soleus =  ..SideHumanFolderRef.Leg.Mus.Soleus;
    AnyMuscleViaPoint &Gastrocnemius =  ..SideHumanFolderRef.Leg.Mus.Gastrocnemius;
    #endif
    AnyMuscleViaPoint &GluteusMaximus2 =  ..SideHumanFolderRef.Leg.Mus.GluteusMaximus2;
    AnyMuscleViaPoint &Semitendinosus =  ..SideHumanFolderRef.Leg.Mus.Semitendinosus;
//  AnyMuscleViaPoint &Semimembranosus =  ..SideHumanFolderRef.Leg.Mus.Semimembranosus;
    AnyMuscleViaPoint &BicepsFemorisCaputLongum =  ..SideHumanFolderRef.Leg.Mus.BicepsFemorisCaputLongum;
    AnyMuscleViaPoint &Sartorius =  ..SideHumanFolderRef.Leg.Mus.Sartorius;
 
    AnyMuscleViaPoint &GemmelusSuperior =  ..SideHumanFolderRef.Leg.Mus.GemmelusSuperior;
    AnyMuscleViaPoint &GemmelusInferior=  ..SideHumanFolderRef.Leg.Mus.GemmelusInferior;
    AnyMuscleViaPoint &Pictineus=  ..SideHumanFolderRef.Leg.Mus.Pictineus;
    AnyMuscleViaPoint &ObturatoriusInternus=  ..SideHumanFolderRef.Leg.Mus.ObturatoriusInternus;
    AnyMuscleViaPoint &ObturatoriusExternus=  ..SideHumanFolderRef.Leg.Mus.ObturatoriusExternus;
   
    AnyMuscleViaPoint &QuadratusFemoris = ..SideHumanFolderRef.Leg.Mus.QuadratusFemoris;
   };
};

// The study: Operations to be performed on the model
AnyBodyCalibrationStudy LegCalibrationStudy2 = {
  AnyFolder &ref=.LegCal2; 
  nStep = 1;
  InitialConditions.SolverType = KinSolDeterminate;
  Kinematics.SolverType = KinSolDeterminate;
  InitialConditions.SmallStepAssumptionOnOff = Off;
  Kinematics.SmallStepAssumptionOnOff = Off;
};