Joint reaction forces

[COLOR=Black]Dear AnyBody,

I have a few questions.


  1. In what way is calculated value “Fout” in the joint reaction forces?
    For example hip join reaction forces:
    /// Lateral positive
    AnyVar Hip_MediolateralForce = …Right.Leg.Jnt.Hip.Constraints.Reaction.Fout[2]; -[COLOR=Red] Fz?[/COLOR]
    /// Proximal positive
    AnyVar Hip_ProximoDistalForce = …Right.Leg.Jnt.Hip.Constraints.Reaction.Fout[1]; -[COLOR=Red] Fy?[/COLOR]
    /// Anterior positive
    AnyVar Hip_AnteroPosteriorForce = …Right.Leg.Jnt.Hip.Constraints.Reaction.Fout[0];-[COLOR=Red] Fx?[/COLOR]
    // Thigh.HipJoint ref - reference system?
  2. Is it the reaction where the femoral head acts on the acetabulum or acetabulum on the head?
  1. I used MoCaP model and I wrote the function in Moments.any
    AnyForceMomentMeasure HipJointReactionMoments =
    AnyForceBase &Force = …Jnt.Hip.Constraints.Reaction;
    AnyRefFrame &PelvisThigh = …Seg.Thigh.HipJoint;
    AnyVec3 Mlocal = MPelvisThigh.Axes;
    AnyVec3 Flocal = F
    But, when I try compare Flocal and Fout[1-3] I obtained different result. At what moment is a calculated value Fout? (Flocal[1]=-Fout[1] - I don’t understand why? - “fout flocal.jpg” )
  1. Why in elbow are 5 reaction? - 3 forces and 2 moments? I want to estimate the joint reaction forces in the elbow but I have problem with understand this function.
    /// Medial positive
    AnyVar ElbowHumeroUlnar_MedioLateralForce = …Right.ShoulderArm.Jnt.FE.Constraints.Reaction.Fout[0];-Fx
    /// Proximal positive
    AnyVar ElbowHumeroUlnar_ProximoDistalForce = …Right.ShoulderArm.Jnt.FE.Constraints.Reaction.Fout[1];-Fy

/// Anterior positive
AnyVar ElbowHumeroUlnar_AnteroPosteriorForce = …Right.ShoulderArm.Jnt.FE.Constraints.Reaction.Fout[2];-Fz
/// Internal positive
AnyVar ElbowHumeroUlnar_AxialMoment = …Right.ShoulderArm.MomentMeasure.ElbowJointReactionMoments.Mlocal[1];
/// Medial positive
AnyVar ElbowHumeroUlnar_LateralMoment = …Right.ShoulderArm.MomentMeasure.ElbowJointReactionMoments.Mlocal[2];
// humerus fe ref

  1. Is it the reaction where the humerus (trochlea) acts on the ulna or ulna on humerus (trochlea)?
    I want estimate the joint force direction vector angle (angle in degrees or radians) during elbow flexion and extension.

I’ll be grateful for your response.

Best regards, Justyna

Hi Justyna,

  1. By default, the reaction force components are expressed in the first (Frame1) of the two sequentially defined reference frames/nodes (Frame1,Frame2) during joint specification. If you go to the ‘Jnt.Any’ file where the hip joint is defined, the thigh node is our Frame1. So the 0,1 and 2 components of ‘Reaction.Fout’ are also the x,y and z directions of the coordinate frame associated with the thigh node. You could visualize this frame using the ‘AnyDrawRefFrame class’ (See Tutorials, Getting Started: Anyscript programming, Lesson 3). We have left this as general because some of our users may want to create their own reference frames.

  2. The computed reaction force is that acting on Frame2 due to Frame1. Therefore, in this case it’s the force on the acetabulum due to the femoral head.

  3. In the AnyForceMoment measure you have created, the measured force is that applied to the AnyRefFrame which is your thigh node of the hip joint. Therefore, it is the force of the acetabulum on the femoral head, which is why your Flocal is the negative of the default hip joint reaction force described in (2).

  4. The elbow FE joint is an AnyRevoluteJoint. If you check the documentation in the Anyscript reference manual, the rotation is by default about the z axes of the two reference frames connected through this joint. So you would not have an internal reaction moment about the ‘z’ axis since the DOF is not constrained. But the remaining 5 constrained DOFs between the humerus and the ulna will report some reaction forces.

  5. Similar to my point in number (2) since the node on the humerus is Frame1 in the elbow AnyRevoluteJoint definition, the reaction force components will be expressed in that coordinate system. However the force itself is that acting on the ulna (Frame2) due to the humerus (Frame1). You should be able to visualize the joint reaction force using the AnyDrawVector or AnyDrawLine classes.

Hope this helps.
AnyBody Support

If I understand correctly:

[li]The Hip JointReactionForce is reported in the proximal femoral coordinate system.[/li][li]The proximal femoral coordinate system is defined by “2002 - Wu et al. - ISB recommendation on definitions of joint coordinate systems of various joints for the reporting of human joint motion Part 1”[/li][/ol]

Is this correct?


Hi Fritz,

It very likely is correct, but then - sometimes you may use a different version of AMMR, which could have something else. I could assume that you are using the default repository, but then I see you have an access to the beta version of AMS.

The best thing would be to find this particular ref. frame and check. Or even better construct your own output reference frames and transform your output like you prefer:

AnyForceMomentMeasure2 WristJointReactionMoments = 
  AnyForceBase &Force = ..Jnt.WristJointFlexion.Constraints.Reaction;
  AnyRefFrame &Radiuswj = ..Seg.Radius.wj;
  AnyVec3 Mlocal = M*Radiuswj.Axes;
  AnyVec3 Flocal = F*Radiuswj.Axes;

Kind regards,