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