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
Are joint angles calculated intrinsic or extrinsic?
- hans kainz
- Posts: 6
- Joined: Wed Mar 27, 2013 6:12 pm
- Michael Sherman
- Posts: 807
- Joined: Fri Apr 01, 2005 6:05 pm
Re: Are joint angles calculated intrinsic or extrinsic?
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
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
- Manuel Koch
- Posts: 2
- Joined: Thu Jan 29, 2015 2:16 pm
Re: Are joint angles calculated intrinsic or extrinsic?
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.
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.
- Michael Sherman
- Posts: 807
- Joined: Fri Apr 01, 2005 6:05 pm
Re: Are joint angles calculated intrinsic or extrinsic?
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
In most contexts, OpenSim uses a body fixed (intrinsic) X-Y-Z sequence.
Sherm
- Manuel Koch
- Posts: 2
- Joined: Thu Jan 29, 2015 2:16 pm
Re: Are joint angles calculated intrinsic or extrinsic?
Alright. Thanks.
- Iman Shirinbayan
- Posts: 7
- Joined: Mon Oct 20, 2014 6:39 am
Re: Are joint angles calculated intrinsic or extrinsic?
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
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