[bfdf16]: / Body / AAUHuman / Leg2D / Seg.any

Download this file

118 lines (81 with data), 4.0 kB

// Definitions of segments in the right lower extremity.
// Data comes mostly from the SIMM model made by Thomas 
// Bull Andersen.
//
// Mark de Zee, John Rasmussen

/// Definition of thigh segment
AnySeg Thigh = {
  
  Mass = 0.1 *...BodyParRef.BodyMass; // For two legs
  AnyVar Length = 0.455;
  AnyVar Radius = (Mass/(pi*Length*...BodyParRef.Density))^0.5;
  AnyVar Ixx = 0.25*Mass*Radius*Radius + 1/12*Mass*Length*Length;
  AnyVar Iyy = 0.5*Mass*Radius*Radius;
  AnyVar Izz = Ixx;
  Jii = {Ixx,Iyy,Izz};
  
  // Thigh length is .418m, keep relative distances from centroid
  AnyRefNode HipJoint = {sRel = {0.0,1.09*0.179,0};};
  AnyRefNode KneeJoint = {sRel = {0.0,1.09*-0.240,0};};
  
  AnyRefNode BiFemShNodeR = {sRel ={0.005,-0.2111,0.0}+.HipJoint.sRel;};
  
  AnyRefNode GlutMaxNodeR = {sRel ={-0.006,-0.1419,0.0}+.HipJoint.sRel;};
  AnyRefNode GlutMaxViaNode2R = {sRel ={-0.055,-0.0641,0.0}+.HipJoint.sRel;};
  
  AnyRefNode HamsViaNode1R = {sRel ={-0.065,-0.03,0.0}+.HipJoint.sRel;};
  
  AnyRefNode Rect_FemViaNode2R = {sRel ={0.0501,-0.3767,0.0}+.HipJoint.sRel;};
  
  AnyRefNode VastiNodeR = {sRel ={0.0048,-0.1854,0.0}+.HipJoint.sRel;};
  AnyRefNode VastiViaNode1R = {sRel ={0.0269,-0.2591,0.0}+.HipJoint.sRel;};
  AnyRefNode VastiViaNode2R = {sRel ={0.0510,-0.3801,0.0}+.HipJoint.sRel;};
  
  AnyRefNode GasNodeR = {sRel ={0.0 ,-0.3729,0.0}+.HipJoint.sRel;};
  
  AnyDrawSeg DrwSeg = {
    RGB =....ColorRef.Segments;
  };
  
}; // End of ThighSeg

/// Definition of shank segment
AnySeg Shank={
  //r = {0,-0.5,0}; //Initial start positon
  Mass = 0.046 * ...BodyParRef.BodyMass; // For two legs
  AnyVar Length = 0.46;
  AnyVar Radius = (Mass/(pi*Length*...BodyParRef.Density))^0.5;
  
  AnyVar Ixx = 0.25*Mass*Radius*Radius + 1/12*Mass*Length*Length;
  AnyVar Iyy = 0.5*Mass*Radius*Radius;
  AnyVar Izz = Ixx; 
  Jii = {Ixx,Iyy,Izz};
  
  // Shank length is 0.409m, keep relative distances from centroid
  AnyRefNode KneeJoint = {sRel = {0.0,0.1776,0};};
  AnyRefNode AnkleJoint = {sRel = {0.0,-0.2314,0};};
  
  AnyRefNode HamNodeR = {sRel ={-0.0081,-0.0729,0.0}+.KneeJoint.sRel;};
  
  AnyRefNode BiFemShNodeR = {sRel ={-0.0101,-0.0725,0.0}+.KneeJoint.sRel;};
  
  AnyRefNode Rect_FemNodeR = {sRel ={0.0601,0.0213,0.0}+.KneeJoint.sRel;};
  
  AnyRefNode VastiNodeR = {sRel ={0.061,0.0179,0.0}+.KneeJoint.sRel;};
  
  AnyRefNode GasViaNode2R = {sRel ={-0.0217,-0.0487,0.0}+.KneeJoint.sRel;};
  
  AnyRefNode SolNodeR = {sRel ={-0.0024,-0.1533,0.0}+.KneeJoint.sRel;};
  
  AnyRefNode Tib_AntNodeR = {sRel ={0.0179,-0.1624,0.0}+.KneeJoint.sRel;};
  AnyRefNode Tib_AntViaNode1R = {sRel ={0.0329,-0.3951,0.0}+.KneeJoint.sRel;};
  
  AnyDrawSeg DrwSeg = {
    RGB =....ColorRef.Segments;
  };
  
}; // End of ShankSeg

/// Definition of foot segment
AnySeg Foot = {
  Mass = 0.014 * ...BodyParRef.BodyMass; // For two feet
  
  AnyVar Length = 0.24; 
  AnyVar Radius = (Mass/(pi*Length*...BodyParRef.Density))^0.5;
  
  AnyVar Ixx = 0.25*Mass*Radius*Radius + 1/12*Mass*Length*Length;
  AnyVar Iyy = 0.5*Mass*Radius*Radius;
  AnyVar Izz = Ixx; 
  Jii = {Ixx,Iyy,Izz};
  
  // This is heel-toe marker, so toes not included, old values may be more accurate
  AnyRefNode AnkleJoint = {sRel = {0.024,0.045,0};};
  
  AnyRefNode GroundJoint = {
    sRel = {0.0,0.0,...Sign*0.0};
    ARel = {{0,1,0},{-1,0,0},{0,0,1}};
    AnyDrawRefFrame DrwNode = {RGB = {0,1,0};};
  };
  
  AnyRefNode ToeJoint = {sRel = {-0.019,-0.0671,0};};
  AnyRefNode HeelJoint = {sRel = {-0.019,0.1095,0};};
  
  AnyRefNode GasNodeR = {sRel ={-0.01095,0.04437,0.0}+.AnkleJoint.sRel;};
  
  AnyRefNode SolNodeR = {sRel ={-0.01095,0.04437,0.0}+.AnkleJoint.sRel;};
  
  AnyRefNode Tib_AntNodeR = {sRel ={-0.02415,-0.06783,0.0}+.AnkleJoint.sRel;};
  
  AnyDrawSeg DrwSeg = {
    RGB =....ColorRef.Segments;
  };
  AnyRefNode ArtificialMuscleNode = {sRel = {0.0,0.1,0.0};};
  
}; // End of FootSeg