Page 1 of 1

Are joint angles calculated intrinsic or extrinsic?

Posted: Sat Jun 28, 2014 11:23 pm
by hansk
Hello,

I'd like to do some kinematic comparisons between different models and therefore I need to know how OpenSim calculates joint angles.

Are the Cardan/Euler angles calculated in an intrinsic way (second and third rotation occur about axes of the rotated coordinate system, same as in the paper from Kadaba et al., 1990, 'Measurement of lower extremity kinematics during level walking') or in an extrinsic way (rotations occur about the axes of the fixed coordinate system)?

Thanks in advance.
Hans

Re: Are joint angles calculated intrinsic or extrinsic?

Posted: Sun Jun 29, 2014 4:58 pm
by sherm
Hi, Hans.

OpenSim operates directly in joint coordinates so it does not have to calculate joint angles from Cartesian body locations (rather, the joint coordinates determine the body locations). Each joint has its own local coordinate system so would correspond to what you called "intrinsic".

You can read a technical description of OpenSim's joint implementation here.

Regards,
Sherm

Re: Are joint angles calculated intrinsic or extrinsic?

Posted: Thu Jan 29, 2015 2:23 pm
by manuelkoch
Is it possible there is some misunderstanding here?

Here's a nice visualization:
http://en.wikipedia.org/wiki/Euler_angl ... _rotations

Extrinsic Euler angles means that all three rotations are done around the initial coordinate system. Intrinsic Euler angles means that each rotation is done in the coordinate system that was "created" by the previous rotation.

Whether that initial coordinate system is a global or a body-fixed does not influence that.

Re: Are joint angles calculated intrinsic or extrinsic?

Posted: Thu Jan 29, 2015 3:11 pm
by sherm
We typically use the terms "space fixed" and "body fixed" to describe Euler angles (because that's Thomas Kane's terminology) but those are precisely synonyms for "extrinsic" and "intrinsic", respectively.

In most contexts, OpenSim uses a body fixed (intrinsic) X-Y-Z sequence.

Sherm

Re: Are joint angles calculated intrinsic or extrinsic?

Posted: Fri Jan 30, 2015 7:24 am
by manuelkoch
Alright. Thanks.

Re: Are joint angles calculated intrinsic or extrinsic?

Posted: Fri Jan 30, 2015 8:54 am
by manez
Hello,

I am also struggling with the same issue. Actually, I am using a model (FullBodyModel_SimpleArms_Hamner2010_Markers_v2_0) and interested in upper arm movements. For upper arm joint (shoulder), there are three coordinates, arm_flex, arm_add and arm_rot.
I need all these coordinates and their corresponding rotations to be intrinsic. Arm_rot is always intrinsic (in the code, it is defined under the term "rotation3"). However, arm_flex (rotation1) is completely extrinsic (not matter what the new coordinate orientation is, it always rotates about a fixed "x" axis) and arm_add (rotation2) is intrinsic relative to arm_flex but extrinsic relative to arm_rot.

Do you have any idea how I can make them all rotate intrinsically? I have been working a lot on it, but no success so far!

Any helps is appreciated.

Bests,

Iman