Page 1 of 1

Using muscle weights in Static Optimization

Posted: Wed Mar 20, 2019 9:29 am
by erapp96
Hello,

In Steele at al. [Steele, Katherine M., et al. "Compressive tibiofemoral force during crouch gait." Gait & posture 35.4 (2012): 556-560.] and Knarr & Higginson [Knarr, Brian A., and Jill S. Higginson. "Practical approach to subject-specific estimation of knee joint contact force." Journal of biomechanics 48.11 (2015): 2897-2902.], they use different weights (c_i) for various muscles (i) in static optimization, causing the objective function to become min{sum(c_i*(a_i)^2)} where a_i is the activation level of each muscle.

I know there was a post a few years ago regarding this topic and how it might have been implemented into newer versions of OpenSim but I still cannot find a location to include weights in neither the GUI nor the XML files for static optimization. The objective function on OpenSim still appears to not include weights.

I would like to find tibiofemoral contact forces like Steele et al. and Knarr & Higginson because their methodology led to more accurate results, so I would like to add these weights for static optimization.

Is there a way to include the muscle weighting constants in the static optimization tool? If so, how?

Best,
Eric

Re: Using muscle weights in Static Optimization

Posted: Thu Mar 21, 2019 1:43 am
by mitkof6
The current version of OpenSim does not assign weights to the muscles. You might be able to achieve this with the synergy optimization plugin:

https://simtk.org/projects/synergy
https://www.youtube.com/watch?v=9HKuafsh9pU

Re: Using muscle weights in Static Optimization

Posted: Thu Mar 21, 2019 8:48 am
by erapp96
Thank you, this looks like it will be helpful.

I do have a question about installing the plug-in though. I created a 'plugins' folder in the OpenSim installation folder and then added the .dll and .lib files.

When I then restarted OpenSim and clicked on the plugin in the 'User Plug-in's' folder, I received the error: 'Error trying to load library osimSynergyPlugin. Library not loaded.'

One thing that I think could be the issue is that the plug-in is meant for a 32bit version of OpenSim (3.2+), and I am using OpenSim 4.0 on a 64bit system.

Would there be any way to get around this issue? Or is there something that I am doing wrong?

The guide that I am following for installation is: https://simtk-confluence.stanford.edu/d ... ng+Plugins

Re: Using muscle weights in Static Optimization

Posted: Fri Mar 22, 2019 1:06 am
by mitkof6
v3.2+ and v4.0 have different API. If you have access to the source code, you might be able to adapt it for 4.0 and rebuild the plugin. You could also request the developers of the plugin to prepare a new release that supports 4.0.