Hello Opensim-Team,
what I'm requesting your ideas and help about, is the following: For a bunch of excercises (e.g. biceps curl, shoulder abduction, ...) with different subjects and different loads. I like to simulate the muscle forces (SO) and moments (ID), using the Upper Extremity Dynamic Model for OSIM version 3.3. The different loads are achieved by adding the weight of the barbell (e.g. 10kg) to the mass of the hand (e.g. 0.7kg + 10kg).
The moments from Inverse Dynamics (calculated on the exact same movement (2s), on the same subject, with different loads from 0 to 32kg) seem realistic and are increasing constantly. (see image below)
However, the muscle forces as calculated with Static Optimization (Setup.xml file attached) are not as expected: Despite of the very high load change, the force curves change only slightly for the shoulder muscles. Sometimes they even decrease with the weight, e.g. DECT 3, PECM1. (see image below) Only very few of the 48 muscles e.g. Bicepcs (see image below) show force differences as expected, though none of the shoulder muscles important for shoulder abduction.
The reserves and COM forces (Fx,Fy,Fz,Mx,My,Mz) don't change either with the increasing weight. The activation curves look similar. Do I need to add the barbell weights in a different manner, with an external loads file? That would make it a lot more complicated and how could I calculate the torques for it?
Do you have any idea, why the muscle differences aren't much higher, where the forces/energy goes to? Why are some of the curves so spiky?
Any help is appreciated! Thank you very much!
Stefanie
Muscle Force Curves with increasing load
- Stefanie Gassel
- Posts: 11
- Joined: Thu Sep 10, 2015 4:47 am
Muscle Force Curves with increasing load
- Attachments
-
- example_setup.xml
- Static Optimization setup file (a force set file is attached too)
- (1.81 KiB) Downloaded 11 times
-
- BIClong muscle force curve for shoulder abduction (blue curve without load, red curve 32kg load, 2s, 30fps)
- Image_bicLongLoads.jpg (28.57 KiB) Viewed 389 times
-
- selection of shoulder muscles force curves for shoulder abduction (blue curve without load, red curve 32kg load, 2s, 30fps)
- Image_shoulderMusclesLoads.jpg (175.31 KiB) Viewed 389 times
-
- Moments from Inverse Dynamics for shoulder abduction (calculated on the exact same movement (2s), on the same subject, with different loads from 0 to 32kg, 2s, 30fps)
- Image_moments.jpg (227.78 KiB) Viewed 389 times
Re: Muscle Force Curves with increasing load
It would be helpful if you could post a zip of the files used in your static optimization computations so that we can recreate the issue?
Just to test, I adjusted the weights of the hand and ran SO using a stripped down shoulder model (one shoulder muscle only). I got the expected behavior (attached).
Just to test, I adjusted the weights of the hand and ran SO using a stripped down shoulder model (one shoulder muscle only). I got the expected behavior (attached).
- Attachments
-
- test.zip
- (116.14 KiB) Downloaded 12 times
- Stefanie Gassel
- Posts: 11
- Joined: Thu Sep 10, 2015 4:47 am
Re: Muscle Force Curves with increasing load
Hello James,
thank you very, very much for looking into it. That's a very big help already!![Smile :-)](./images/smilies/icon_e_smile.gif)
The model I used consists of Schutte1993 muscles exclusively, instead of thelen2003 that you had been using. It seems like this might be the point. I tested to use my model with the motion, the actuator files and the SO setup file you provided which shows the same problem, while your model in combination with my settings leeds to similar curves (The differences could be due to my low SO settings). Please find the complete setup files attached.
Where did you take the thelen muscle properties from? How could I transfer all my muscles from Schutte to Thelen?
Thank you very much!
Stefanie
thank you very, very much for looking into it. That's a very big help already!
![Smile :-)](./images/smilies/icon_e_smile.gif)
The model I used consists of Schutte1993 muscles exclusively, instead of thelen2003 that you had been using. It seems like this might be the point. I tested to use my model with the motion, the actuator files and the SO setup file you provided which shows the same problem, while your model in combination with my settings leeds to similar curves (The differences could be due to my low SO settings). Please find the complete setup files attached.
Where did you take the thelen muscle properties from? How could I transfer all my muscles from Schutte to Thelen?
Thank you very much!
Stefanie
- Attachments
-
- SO_setup_files.zip
- (72.03 KiB) Downloaded 9 times
-
- muscle force with zero load and 32kg load for DELT 1 and 2, both lying on top of each other (own Model with Schutte muscles, simulated abduction motion, actuator and setup files provided by you)
- ownModel_sameMot_sameAct_sameSO.jpg (184.06 KiB) Viewed 355 times
-
- muscle force with zero load (red curve) and 32kg load (blue) for DELT2 (your Model with Thelen muscle, simulated abduction motion, own actuator and SO setup files, with low quality settings)
- thelenModel_sameMot_ownAct_ownSOsettings.jpg (146.99 KiB) Viewed 355 times
Re: Muscle Force Curves with increasing load
I would avoid using the Schutte muscles; they have 'depreciated' in the name for a reason, we haven't supported their use for years. There is no easy, automated way to convert all the Schutte type muscles to Thelen type. The quickest way is to use an XML editor (Notepad++) to make edits to the XML blocks, directly. I would first strip off all the Schutte muscles from the model and then copy and paste Thelen2003 template XML code, one by one. By editing one muscle at a time (properties, geometry path, muscle curves), you can test after each edition to make sure everything is working. If you try to do everything at once and run into problems, you will have a terrible time trying to figure out the offending muscle.
- Stefanie Gassel
- Posts: 11
- Joined: Thu Sep 10, 2015 4:47 am
Re: Muscle Force Curves with increasing load
Hello James,
it works! Thank you very, very much for pointing me on this!
Bit by bit, I replaced the Schutte specific properties with the Thelen default values. For most muscles this seem to work fine, leaving . Two muscles (at the wrist) don't work at all, Opensim wouldn't even load the model with them in. And for few muscles the forces decrease slightly, while the load increases, but most muscles show the desired behavior.
What sort of adjustments to the muscles properties, geometry path and muscle curves did you mean? How would you recommend to test it properly? Unfortunately, I don't have the Biomechanics background to feel confident making any bigger changes.
Thank you very much!
Stefanie
it works! Thank you very, very much for pointing me on this!
Bit by bit, I replaced the Schutte specific properties with the Thelen default values. For most muscles this seem to work fine, leaving . Two muscles (at the wrist) don't work at all, Opensim wouldn't even load the model with them in. And for few muscles the forces decrease slightly, while the load increases, but most muscles show the desired behavior.
What sort of adjustments to the muscles properties, geometry path and muscle curves did you mean? How would you recommend to test it properly? Unfortunately, I don't have the Biomechanics background to feel confident making any bigger changes.
Thank you very much!
Stefanie