Hello there,
I have 3 question;
1- How can I get the exact length of the femur and tibia for the Opensim generic model? like is there any document that shows the actual length of the generic model body segments?
2- How Opensim has defined the coordinate system of the femur and tibia as a parent and child body?
3- How to change the child coordinate system manually related to the parent body? I mean if I have the XYZ of the proximal femur coordinate system, could I calculate the XYZ of the distal femur coordinate system?
Sincerely,
Hooman
Questions Regarding defining coordinate system and scaling
- hHooman shirzadi
- Posts: 3
- Joined: Tue Apr 23, 2019 2:58 pm
Re: Questions Regarding defining coordinate system and scaling
There isn't any document because the femur and tibia could always change once scaled. You can put markers at the joint centers of the hip, knee and ankle, get their locations in the body frame that you care about-- for example, the HJC marker will be at (0,0,0) of the femur body.1- How can I get the exact length of the femur and tibia for the Opensim generic model? like is there any document that shows the actual length of the generic model body segments?
I am not sure what you mean by this? Can you please give further information?2- How Opensim has defined the coordinate system of the femur and tibia as a parent and child body?
The body frame (frame = coordinate system) is defined for each body and then bodies are connected by joints. You can alter the location of one body in the other by changing the translation and orientation values in the joints.
A good paper that describes how the bodies and joints are defines is here. You can alter the translation and orientation properties in the joint that connects two bodies.3- How to change the child coordinate system manually related to the parent body? I mean if I have the XYZ of the proximal femur coordinate system, could I calculate the XYZ of the distal femur coordinate system?
- Hooman Shirzadi
- Posts: 6
- Joined: Wed Dec 28, 2016 10:36 am
Re: Questions Regarding defining coordinate system and scaling
Hello James,
Thank you for your reply, it was very helpful, I appreciate it.
Regarding my second question about defining the coordinate system of the knee joint, I still have a question about the definition of the joint center location relative to the parent and child bodies. How this is defined in the (arm26) model makes sense to me. Specifically, if you check the joint property for r-humerus body you find that the location-in-parent for this custom joint with respect to its parent (which is the ground reference system) is (-0.017545 -0.007 0.17) and the location of this joint with respect to the child body (which is humerus center) is (0 0 0) and also for the elbow joint the location in parent (humerus) is (0.0061 -0.2904 -0.0123) and the location of the elbow joint with respect to the child body (radius-ulna) is (0 0 0). This totally makes sense.
However, if you consider the (3DGaitModel2392) model, for hip joint the location-in-parent is (-0.0707 -0.0661 0.0835) which gives us the hip joint center with respect to the pelvis reference system (parent), also the location of this joint with respect to the femur reference system (child) is listed as (0 0 0), which makes sense as well.
However, for the knee joint, the location-in-parent which is the location of the joint with respect to the femur (proximal) is (0 0 0) which does not make sense because we know from looking at the femur body that the femur frame is defined at the proximal end of the bone co-incident with the hip joint and thus the knee joint with respect to the parent (femur) should be approximately (0.0002 -0.2 0.0006) not (0 0 0).
I think I must be misinterpreting something as the Opensim models are widely used and validated but I am just not sure how I can be misinterpreting this. If you could explain this apparent discrepancy I would greatly appreciate it.
Thank you in advance,
Hooman
Thank you for your reply, it was very helpful, I appreciate it.
Regarding my second question about defining the coordinate system of the knee joint, I still have a question about the definition of the joint center location relative to the parent and child bodies. How this is defined in the (arm26) model makes sense to me. Specifically, if you check the joint property for r-humerus body you find that the location-in-parent for this custom joint with respect to its parent (which is the ground reference system) is (-0.017545 -0.007 0.17) and the location of this joint with respect to the child body (which is humerus center) is (0 0 0) and also for the elbow joint the location in parent (humerus) is (0.0061 -0.2904 -0.0123) and the location of the elbow joint with respect to the child body (radius-ulna) is (0 0 0). This totally makes sense.
However, if you consider the (3DGaitModel2392) model, for hip joint the location-in-parent is (-0.0707 -0.0661 0.0835) which gives us the hip joint center with respect to the pelvis reference system (parent), also the location of this joint with respect to the femur reference system (child) is listed as (0 0 0), which makes sense as well.
However, for the knee joint, the location-in-parent which is the location of the joint with respect to the femur (proximal) is (0 0 0) which does not make sense because we know from looking at the femur body that the femur frame is defined at the proximal end of the bone co-incident with the hip joint and thus the knee joint with respect to the parent (femur) should be approximately (0.0002 -0.2 0.0006) not (0 0 0).
I think I must be misinterpreting something as the Opensim models are widely used and validated but I am just not sure how I can be misinterpreting this. If you could explain this apparent discrepancy I would greatly appreciate it.
Thank you in advance,
Hooman
Re: Questions Regarding defining coordinate system and scaling
The knee has a custom spline that defines X and Y translation of the tiba relative to the femur. The modelers chose to define that translation relative to the femur origin and not the femoral head. So, in this case, the length of the femur is embedded in that spline.
So the easy way to measure the length of the femur is to place one marker at the origin of the tibia (0,0,0) and then change the markers parent body to the femur. The marker will stay in the same absolute position, but the marker coordinates will be relative to the femur. The Y value of the marker will then be the length of the femur.
So the easy way to measure the length of the femur is to place one marker at the origin of the tibia (0,0,0) and then change the markers parent body to the femur. The marker will stay in the same absolute position, but the marker coordinates will be relative to the femur. The Y value of the marker will then be the length of the femur.
- Hooman Shirzadi
- Posts: 6
- Joined: Wed Dec 28, 2016 10:36 am
Re: Questions Regarding defining coordinate system and scaling
Hello,
Thank you so much for your prompt response.
How can I find more information about "custom spline"? I would highly appreciate it if you guide me in this regard.
Many Thanks,
Hooman
Thank you so much for your prompt response.
How can I find more information about "custom spline"? I would highly appreciate it if you guide me in this regard.
Many Thanks,
Hooman
- Thomas Uchida
- Posts: 1800
- Joined: Wed May 16, 2012 11:40 am
Re: Questions Regarding defining coordinate system and scaling
The knee joint is described on the "Gait 2392 and 2354 Models" page in the Confluence documentation (https://simtk-confluence.stanford.edu:8 ... 354+Models) and in the papers to which it refers.
- Rajnish kumar
- Posts: 4
- Joined: Thu Dec 06, 2018 9:17 am
Re: Questions Regarding defining coordinate system and scaling
Hello,
With respect tp which coordinate system(Global, parent or child), we need to transform our trajectory data. For example: The trajectory file(arm26_elbow_flex.trc) given for arm 26 model is with respect to which coordinate system.Thank you.
With respect tp which coordinate system(Global, parent or child), we need to transform our trajectory data. For example: The trajectory file(arm26_elbow_flex.trc) given for arm 26 model is with respect to which coordinate system.Thank you.
Re: Questions Regarding defining coordinate system and scaling
Marker data is always in the global frame.
- Rajnish kumar
- Posts: 4
- Joined: Thu Dec 06, 2018 9:17 am
Re: Questions Regarding defining coordinate system and scaling
Thank you for your quick reply.