Extract Muscle Force Vectors (Lines of action)
- Laurence Fok
- Posts: 10
- Joined: Wed Mar 16, 2011 5:27 pm
Extract Muscle Force Vectors (Lines of action)
Hi all,
Does anyone know a way to extract muscle forces as 3D vectors i.e. lines of action in the lab reference frame since muscle forces calculated in OpenSim are magnitudes?
A previous post suggested using a PointKinematics Analysis to extract the origin and insertion of a muscle and drawing a vector between the two points. However the muscle I am interested in has a via and moving points so I am unsure how to define the muscle line of action in this case.
Any help would be greatly appreciated.
Thanks
Laurence
Does anyone know a way to extract muscle forces as 3D vectors i.e. lines of action in the lab reference frame since muscle forces calculated in OpenSim are magnitudes?
A previous post suggested using a PointKinematics Analysis to extract the origin and insertion of a muscle and drawing a vector between the two points. However the muscle I am interested in has a via and moving points so I am unsure how to define the muscle line of action in this case.
Any help would be greatly appreciated.
Thanks
Laurence
- Ton van den Bogert
- Posts: 168
- Joined: Thu Apr 27, 2006 11:37 am
Re: Extract Muscle Force Vectors (Lines of action)
Laurence,
If the muscle has via points or wrapping, the line of action changes direction. I assume that you want the line of action where it crosses a joint.
There is a trick to get this line of action out of a model. We have done this with SIMM and I think it will work with Opensim too.
If you add translational degrees of freedom to the joint, you can ask Opensim for the "moment arms" with respect to those degrees of freedom. SIMM and Opensim compute the moment arm by doing a small change in the generalized coordinate, compute the resulting muscle length change, and the moment arm is the ratio between the change in muscle length and the change in the coordinate. For translational degrees of freedom, these moment arms will be dimensionless, and they are the projections of the line of action (which is a unit vector) onto the axes of translation.
If the axes of translations are the coordinate axes of one body segment (which seems possible with a "custom joint" in Opensim), the three "moment arms" will be the X,Y,Z components of the line of action of the muscle, with respect to the segment XYZ frame.
You mention that you would like to have the line of action expressed in the global XYZ frame. This would require that the translational degrees of freedom in the joint are defined with axes in the global frame. I am not sure if Opensim can do that. Perhaps someone else knows. I can't think of any reason why you would want a line of action in global coordinates, though.
Hope this helps.
Ton van den Bogert
If the muscle has via points or wrapping, the line of action changes direction. I assume that you want the line of action where it crosses a joint.
There is a trick to get this line of action out of a model. We have done this with SIMM and I think it will work with Opensim too.
If you add translational degrees of freedom to the joint, you can ask Opensim for the "moment arms" with respect to those degrees of freedom. SIMM and Opensim compute the moment arm by doing a small change in the generalized coordinate, compute the resulting muscle length change, and the moment arm is the ratio between the change in muscle length and the change in the coordinate. For translational degrees of freedom, these moment arms will be dimensionless, and they are the projections of the line of action (which is a unit vector) onto the axes of translation.
If the axes of translations are the coordinate axes of one body segment (which seems possible with a "custom joint" in Opensim), the three "moment arms" will be the X,Y,Z components of the line of action of the muscle, with respect to the segment XYZ frame.
You mention that you would like to have the line of action expressed in the global XYZ frame. This would require that the translational degrees of freedom in the joint are defined with axes in the global frame. I am not sure if Opensim can do that. Perhaps someone else knows. I can't think of any reason why you would want a line of action in global coordinates, though.
Hope this helps.
Ton van den Bogert
- Laurence Fok
- Posts: 10
- Joined: Wed Mar 16, 2011 5:27 pm
Re: Extract Muscle Force Vectors (Lines of action)
Thanks for your suggestion Ton van der Bogert.
I think your approach would work for a static pose or 1 time instant but I am trying to extract the muscle line of action over an entire gait cycle.
The muscles I'm interested in have both moving attachment points, which vary with knee flexion angle, and via attachment points, which only exist in a certain range of knee flexion angle. From my understanding of your approach(which may be incorrect), I would need to add translational degrees of freedom to the knee joint in the model and then input into the model the knee flexion at every time instant of the gait cycle and then ask OpenSim for "moment arms" with respect to these translational degrees of freedom at each time instant. Is my understanding correct?
Also the reason I mentioned wanting the muscle lines of acton in the lab reference frame is because I want to break up my muscles line of action into sagittal and frontal plane magnitudes. PointKinematics Analysis in OpenSim can do the transform from a joint reference frame to the lab reference frame so it should be no problem if I can extract the line of action in any reference frame.
Thanks again,
Laurence
I think your approach would work for a static pose or 1 time instant but I am trying to extract the muscle line of action over an entire gait cycle.
The muscles I'm interested in have both moving attachment points, which vary with knee flexion angle, and via attachment points, which only exist in a certain range of knee flexion angle. From my understanding of your approach(which may be incorrect), I would need to add translational degrees of freedom to the knee joint in the model and then input into the model the knee flexion at every time instant of the gait cycle and then ask OpenSim for "moment arms" with respect to these translational degrees of freedom at each time instant. Is my understanding correct?
Also the reason I mentioned wanting the muscle lines of acton in the lab reference frame is because I want to break up my muscles line of action into sagittal and frontal plane magnitudes. PointKinematics Analysis in OpenSim can do the transform from a joint reference frame to the lab reference frame so it should be no problem if I can extract the line of action in any reference frame.
Thanks again,
Laurence
- Ton van den Bogert
- Posts: 168
- Joined: Thu Apr 27, 2006 11:37 am
Re: Extract Muscle Force Vectors (Lines of action)
Yes, your understanding is correct.
In the Opensim GUI, you can generate a graph of x,y,z components of the line of action vector, as a function of time within the gait cycle, just as you would do with moment arms. Use Tools->Plot->Y-Quantity->moment arm to generate the three curves. Then you can export these results to a file for further analysis.
The hardest part will be to edit the model and insert those translational degrees of freedom in the joints. Also, when computing lines of action during the gait cycle, you need to set those generalized coordinates to zero in the motion file.
Ton
In the Opensim GUI, you can generate a graph of x,y,z components of the line of action vector, as a function of time within the gait cycle, just as you would do with moment arms. Use Tools->Plot->Y-Quantity->moment arm to generate the three curves. Then you can export these results to a file for further analysis.
The hardest part will be to edit the model and insert those translational degrees of freedom in the joints. Also, when computing lines of action during the gait cycle, you need to set those generalized coordinates to zero in the motion file.
Ton
- Poramet Hemarachatanon
- Posts: 5
- Joined: Thu Jun 14, 2012 10:35 am
Re: Extract Muscle Force Vectors (Lines of action)
Hi, all
Thank you for talk about LOA .This is a problem of my thesis.I 'm lookging for a methods for find the line of action in the OpenSim.But in the Opensim how can I find a PointKinematics Analysis and the Opensim GUI - plot LOA X,Y,Z component.Please give more a details about this.
Thank you for any help
Poramet
Thank you for talk about LOA .This is a problem of my thesis.I 'm lookging for a methods for find the line of action in the OpenSim.But in the Opensim how can I find a PointKinematics Analysis and the Opensim GUI - plot LOA X,Y,Z component.Please give more a details about this.
Thank you for any help
Poramet
- Ayman Habib
- Posts: 2255
- Joined: Fri Apr 01, 2005 12:24 pm
Re: Extract Muscle Force Vectors (Lines of action)
Hi Poramet,
Please check the project below on simtk.org and let us know if it works for you.
https://simtk.org/home/force_direction
Best regards,
-Ayman
Please check the project below on simtk.org and let us know if it works for you.
https://simtk.org/home/force_direction
Best regards,
-Ayman
- Poramet Hemarachatanon
- Posts: 5
- Joined: Thu Jun 14, 2012 10:35 am
Re: Extract Muscle Force Vectors (Lines of action)
Hi, Ayman
That project make clearly of muscle force ,muscle moment arm ,LOA and make short time for compute.
Thank you very much
Poramet
That project make clearly of muscle force ,muscle moment arm ,LOA and make short time for compute.
Thank you very much
Poramet
- Michala Cadova
- Posts: 40
- Joined: Tue Nov 23, 2010 3:45 am
Re: Extract Muscle Force Vectors (Lines of action)
Hi to everybody,
Does the above mentioned project (OpenSim plugin to extract the muscle line of action) really compute the “moment arms” as well? I thought that it reports the “lines of action” and the “coordinates of the muscles attachments”. But not the moment arms, i.e. the distance from the muscle line of action to the center of the joint on which it acts. Even though, this can be quite easily computed if one knows the muscle line of action and the joint position. But only if the joint is on one place and is not moving during the time. If the joint is changing its position during the time, I would need its coordinates during the time as well. Then it is just the computation of the distance between a vector and a point.
Michala
Does the above mentioned project (OpenSim plugin to extract the muscle line of action) really compute the “moment arms” as well? I thought that it reports the “lines of action” and the “coordinates of the muscles attachments”. But not the moment arms, i.e. the distance from the muscle line of action to the center of the joint on which it acts. Even though, this can be quite easily computed if one knows the muscle line of action and the joint position. But only if the joint is on one place and is not moving during the time. If the joint is changing its position during the time, I would need its coordinates during the time as well. Then it is just the computation of the distance between a vector and a point.
Michala
- Michala Cadova
- Posts: 40
- Joined: Tue Nov 23, 2010 3:45 am
Re: Extract Muscle Force Vectors (Lines of action)
I have just found this post https://simtk.org/forums/viewtopic.php? ... +arm#p6200 so I will go through it and see if it helps.
- Luca Modenese
- Posts: 44
- Joined: Wed Jan 21, 2009 9:16 am
Re: Extract Muscle Force Vectors (Lines of action)
Hi Michala,
the MuscleForceDirection plugin only calculates the muscle lines of action (and optionally extracts the coordinates of the muscle attachments) as it was created to help in setting up finite element simulations. Please refer to the documentation included in the release package https://simtk.org/project/xml/downloads ... oup_id=750 for further details.
The muscle moment arms can be easily obtained through the GUI or by running a MuscleAnalysis.
All the best,
Luca
the MuscleForceDirection plugin only calculates the muscle lines of action (and optionally extracts the coordinates of the muscle attachments) as it was created to help in setting up finite element simulations. Please refer to the documentation included in the release package https://simtk.org/project/xml/downloads ... oup_id=750 for further details.
The muscle moment arms can be easily obtained through the GUI or by running a MuscleAnalysis.
All the best,
Luca