Definition of joint angles and angular velocities inside the Interface folder of the lower limb?


I was looking at the kinematic variables inside the interface folder of the lower limb (Main.HumanModel.BodyModel.Interface.* ) and noticed something odd.

The hip joint angles are reported as both HipFlexion and HipFlexionJntMus and I'm not sure what the second one is used for.

If I plot the joint angles, HipFlexion.Pos is almost identical to HipAbductionJntMus.Pos and viceversa HipAbduction.Pos is almost identical to HipFlexionJntMus.Pos, so this was kind of confusing.

However if I look at the velocities, HipFlexion.Vel is similar to HipFlexionJntMus.Vel and same goes for HipAbduction.Vel which is similar in trend to HipAbductionJntMus.Vel, but not quite identical.

So I wanted to ask what's the difference between the two definitions, so I can choose the one I need accordingly.

They are both defined as AnyKinRotational between the same two RefNodes (Pelvis and Thigh HipJoint RotNodes), with the only difference being this line
AngVelOnOff = On; // xyz vector output

I'm trying to calculate joint powers by multiplying joint moment and joint angular velocity and while for knee and ankle there's only one choice, for the hip I'm not sure which one of the two angular velocity definitions I should use.
Or is the joint power already computed somewhere else within AnyBody?

(I'm referring to the Plug-in-Gait FullBody.any model from the demos.)


Hi Enrico,

You can find the documentation for the AngvelOnOff switch in the reference manual under Help -> AnyScript Referance and then searching for AnyKinRotational.

But for computing joint powers you want to use the HipFlexionJntMus.
It uses the velocity vector as output for velocity and it's derivative for accelerations.
It causes inconsistencies between positions and velocities so you should not use it for kinematic constraints and drivers.

Best regards,
AnyBody Technology

Hi Bjorn,

Thanks for the explanation.

So to recap, I should use:

HipFlexion.Pos, HipAbduction.Pos, HipExternalRotation.Pos for the joint angles,
HipFlexionJntMus.Vel, HipAbductionJntMus.Vel, HipExternaRotationlJntMus.Vel for the angular velocities.

For the knee and the ankle joints where there's only one AnyKinRotational defininition, is it okay to use the KneeFlexion.Vel and AnklePlantarFlexion.Vel as angular velocities to calculate joint powers? or should I first create a measure equivalent to the Hip*JntMus with the AngVelOnOff option activated?

Thanks again!

Hi Enrico,

It is probably up to you :slight_smile: I would make those measures just to be less dependent on potential changes in AMMR.


This topic was automatically closed 125 days after the last reply. New replies are no longer allowed.