I'm trying to understand how the anatomical reference frames in the generic models are defined. I know there are ways to adjust reference frames for bones in SIMM, but I don't see this information anywhere in the OpenSim. Using an xml reader I see the definition of joint reference frames in the osim file, but not reference frames for each body. Does each bone have an inherently defined coordinate system? Or can the reference frames be defined using experimental data such as a functional hip joint center and femoral epicondylar markers for the femur?
Also, I'm getting a little confused between reference frames for bodies and joint reference frames. I assume that when joint angles are calculated during inverse kinematics it is the angle between reference frames of two bodies (i.e. the femur and tibia RFs), but I'm not sure if that's correct.
Can anyone help clarify? Thanks!
Anatomical Reference Frames
- Ayman Habib
- Posts: 2248
- Joined: Fri Apr 01, 2005 12:24 pm
RE: Anatomical Reference Frames
Hi Rebecca,
A body has an assume geometric reference frame (you an see it by creating a marker at position 0,0,0 or using Body->Show Axes in GUI). Whenever coordinates are specified (e.g. for a marker or muscle point, or center of mass) they are wrt this geometric reference frame. Bone geometry has an associated coordinate frame built into it.
In the past these frames were coincident. In version 2.2, we added the ability to attach a transform to each piece of geometry so that the geometry of the bone file can be transformed wrt the body it lives on.
Joints are defined such that they align two coordinate frames one two different bodies (parent, child). Each of these two frames is specified wrt the geometric reference frame of the body they live on respectively, you can see these in the GUI in version 2.2 using the Joint->Show ParentFrame, Joint->ShowChildFrame.
Hope this helps and please let me know if you have any questions.
-Ayman
A body has an assume geometric reference frame (you an see it by creating a marker at position 0,0,0 or using Body->Show Axes in GUI). Whenever coordinates are specified (e.g. for a marker or muscle point, or center of mass) they are wrt this geometric reference frame. Bone geometry has an associated coordinate frame built into it.
In the past these frames were coincident. In version 2.2, we added the ability to attach a transform to each piece of geometry so that the geometry of the bone file can be transformed wrt the body it lives on.
Joints are defined such that they align two coordinate frames one two different bodies (parent, child). Each of these two frames is specified wrt the geometric reference frame of the body they live on respectively, you can see these in the GUI in version 2.2 using the Joint->Show ParentFrame, Joint->ShowChildFrame.
Hope this helps and please let me know if you have any questions.
-Ayman
- Paulien Roos
- Posts: 5
- Joined: Thu Aug 12, 2010 3:02 am
RE: Anatomical Reference Frames
Hi Ayman,
Thank you, this is very useful information.
Could you tell us more about the anatomical reference frame of the ankle joint. The child frame appears to be the talus frame. It is however not clear how the parent frame is defined.
It would help us a lot if you could explain this.
Paulien and Gemma
Thank you, this is very useful information.
Could you tell us more about the anatomical reference frame of the ankle joint. The child frame appears to be the talus frame. It is however not clear how the parent frame is defined.
It would help us a lot if you could explain this.
Paulien and Gemma
- Ayman Habib
- Posts: 2248
- Joined: Fri Apr 01, 2005 12:24 pm
RE: Anatomical Reference Frames
Hi Paulien & Gemma,
In version 2.2 you should be able to use the GUI to:
1. Show Parent frame
2. Show Child frame
3. Move the slider corresponding to the joint of interest and see how the frames move relative to each other.
Even if coincident you should be able to see the two different frames overlaid since they are displayed with different radius/transparency.
For the specific model definitions I'd refer to the "Publications" section of the model file to find out where these reference frames were derived.
Good luck,
-Ayman
In version 2.2 you should be able to use the GUI to:
1. Show Parent frame
2. Show Child frame
3. Move the slider corresponding to the joint of interest and see how the frames move relative to each other.
Even if coincident you should be able to see the two different frames overlaid since they are displayed with different radius/transparency.
For the specific model definitions I'd refer to the "Publications" section of the model file to find out where these reference frames were derived.
Good luck,
-Ayman
- Sylvia Wan
- Posts: 18
- Joined: Thu Oct 07, 2010 6:43 am
RE: Anatomical Reference Frames
Hi,
I am interested in the flexion angle of the tibiofemural joint (TFJ). I would like to know how the centre of rotation is defined. Does it have an instantaneous centre of rotation, or a fixed one? Knee flexion angle generated from OpenSim is 10 degree higher constantly then my results from another modelling software. Therefore, I would like to know if the definition of centre of rotation is the cause of the difference.
So when the two coordinate frames are aligned to the tibia and femur’s geometric reference frame, the TFJ is defined. However when I attempt to show axes in the GUI, it was not clear to me how the coordinate frames are matched to the geometric reference frame. I am using version 2.0.2 so I cannot show the parent and child frame. Would it be possible that you explain further how the coordinate frames are matched to the parent and child geometric frames?
Thank you!!
Sylvia
I am interested in the flexion angle of the tibiofemural joint (TFJ). I would like to know how the centre of rotation is defined. Does it have an instantaneous centre of rotation, or a fixed one? Knee flexion angle generated from OpenSim is 10 degree higher constantly then my results from another modelling software. Therefore, I would like to know if the definition of centre of rotation is the cause of the difference.
So when the two coordinate frames are aligned to the tibia and femur’s geometric reference frame, the TFJ is defined. However when I attempt to show axes in the GUI, it was not clear to me how the coordinate frames are matched to the geometric reference frame. I am using version 2.0.2 so I cannot show the parent and child frame. Would it be possible that you explain further how the coordinate frames are matched to the parent and child geometric frames?
Thank you!!
Sylvia
- Ayman Habib
- Posts: 2248
- Joined: Fri Apr 01, 2005 12:24 pm
RE: Anatomical Reference Frames
Hi Sylvia,
When you show-axes for a body in the GUI it will show you the "geometric" reference frame. You can also add markers at position (0,0,0) of specific bodies to see their origins in the GUI.
The joint describes how/where the body is attached to its parent/child by specifying two frames in the corresponding bodies. These frames are with respect to the "geometric" reference frame. The joint is responsible for aligning two frames according to its type (e.g PinJoint allows only for rotation about one common axis etc.).
You may find the following schematic useful http://wiki.simtk.org/opensim/FrontPage ... Frames.jpg
Normally we do not define the Joints using experimental data (though it's possible) but we use the experimental data to "scale" a generic model so it fits experimental data better. (Please read the user guide chapter on scaling for more details).
When you solve inverse kinematics, it solves for coordinate values (these would normally be the joint angles between the frames defining the joints).
Hope this helps,
-Ayman
When you show-axes for a body in the GUI it will show you the "geometric" reference frame. You can also add markers at position (0,0,0) of specific bodies to see their origins in the GUI.
The joint describes how/where the body is attached to its parent/child by specifying two frames in the corresponding bodies. These frames are with respect to the "geometric" reference frame. The joint is responsible for aligning two frames according to its type (e.g PinJoint allows only for rotation about one common axis etc.).
You may find the following schematic useful http://wiki.simtk.org/opensim/FrontPage ... Frames.jpg
Normally we do not define the Joints using experimental data (though it's possible) but we use the experimental data to "scale" a generic model so it fits experimental data better. (Please read the user guide chapter on scaling for more details).
When you solve inverse kinematics, it solves for coordinate values (these would normally be the joint angles between the frames defining the joints).
Hope this helps,
-Ayman
- Carlos Ramirez
- Posts: 13
- Joined: Mon Oct 22, 2012 12:10 pm
Re: Anatomical Reference Frames
Hello it has passed to much time but i see that i am having the same problem as Sylvia 10 degree (negative shifted) of differences between another modelling software and opensim models, i have used different opensim models and all have the same difference, does anybody know what i can try to fix it, what can i modify to correct this, any sugestion would be appreciated.
Carlos
Carlos