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

Download this file

58 lines (48 with data), 1.9 kB

// Definitions of joints in the right lower extremity.
//
// Mark de Zee


#if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_
/// Ankle joint definition
AnyUniversalJoint Ankle = {
  Axis1 = z; //flexion extension
  Axis2  =  y; //abduction adduction
  AnyRefNode &ShankNode = ..Seg.Shank.AnkleJoint;
  AnyRefNode &FootNode  = ..Seg.Foot.AnkleJoint;
  Constraints.Reaction.Type = {On, On, On, Off}; //See reaction force below, AnkleAxialRotationMoment.
};

// This reaction force replace the reaction moment of the joint, the point is to have this reaction
// applied to the same kinematic measure as the joint muscles. This allowed to output correct moments
// on the joint muscles, otherwise there would be a contribution of the joint reaction to the general muscles
// that result in incorrect values for the eversion joint muscle.
AnyReacForce AnkleAxialRotationMoment ={
AnyKinMeasureOrg AnkleExternalRotation={
    AnyKinRotational Ankle = {
      Type=RotAxesAngles;
      AngVelOnOff = On;
      AnyRefNode &ShankNode = ....Seg.Shank.AnkleJoint.RotNode;
      AnyRefNode &FootNode  = ....Seg.Foot.AnkleJoint.RotNode;
    }; 
    MeasureOrganizer={0};
  };
};
#endif

/*
AnyRevoluteJoint Ankle = {
  Axis = z; //flexion extension
  AnyRefNode &ShankNode = ..Seg.Shank.AnkleJoint;
  AnyRefNode &FootNode  = ..Seg.Foot.AnkleJoint;
}; // End of Ankle
*/

/// Knee joint definition
AnyRevoluteJoint Knee = {
  Axis = z;
  AnyRefNode &ThighNode = ..Seg.Thigh.KneeJoint;
  AnyRefNode &ShankNode = ..Seg.Shank.KneeJoint;

// Constraints.Reaction.Type = {On, On, On, Off,Off}; 

}; // End of knee



/// Hip joint definition.
/// Defined with the femoral node first so reactions are reported in femur based reference frame.
AnySphericalJoint Hip = {
  AnyRefNode &ThighNode = ..Seg.Thigh.HipJoint;
  AnyRefNode &PelvisNode = ..HipNodeRef;
}; // End of Hip