Determining the right muscle parameters (wrist model)

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Yannik Schröder
Posts: 14
Joined: Wed Apr 18, 2012 11:40 am

Determining the right muscle parameters (wrist model)

Post by Yannik Schröder » Tue Dec 04, 2012 7:04 am

Hello,
i'm currently trying to update the wrist model that comes with OpenSim, so it can be used for inverse dynamics / static optimization calculations. I've already added the missing joints and mass/inertia parameters to the model but now i have troubles finding the right muscle parameters.

First of all, to check if all my parameters are set correctly, i want to perform a simple forward dynamics simulation without any muscle activation or external forces (besides gravity) acting on the model. I would expect the hand to take a natural pose, something like this: Image

However, this is not the case. The hand does this (i hope the gif animation works):
Image
(The thumb and elbow were locked in the simulation.)

While i'm pretty satisfied with the resulting wrist angle, the movement and resulting angles of the fingers are not really correct. It seems the extensor of the little finger is too tight, while the ones of the other fingers are too loose.

I'm not quite sure which parameter(s) affect the resulting passive force generation, but i suppose it is mainly the tendon slack length. So i tried altering the value a bit but couldn't get a satisfying result. Setting the value to zero (the tendon has no slack) or too low would result in a neverending calculation or an exception. Setting the value near a value of the estimated muscle/tendon length would get me some results. So is it correct that the tendon slack length determines the total length of the muscle+tendon? Or am i interpreting the parameter incorrectly?

Furthermore it seems pretty hard to balance the force generation of the flexors/extensors of the fingers correctly to get the intended result and i'm not quite sure if my model has all the necessary forces/constraints.

Do you know if changing the tendon slack length to the correct values will result in a correct behaviour of the fingers or do i need to add additional forces like joint stiffness or friction?

And lastly i would like to ask, if my approach to check the behaviour of the hand during a forward simulation to see if it behaves in a natural way is necessary to get realistic results during a static optimization calculation. Or could i ignore the wrong behaviour of the hand and still get satisfying results for the static optimization?

Any help is really appreciated!

Best regards,
Yannik

User avatar
Ayman Habib
Posts: 2235
Joined: Fri Apr 01, 2005 12:24 pm

Re: Determining the right muscle parameters (wrist model)

Post by Ayman Habib » Tue Dec 04, 2012 12:22 pm

Hi Yannik,

Models are usually valid for a set of use cases/scenarios and may not be appropriate for others. It's the user's responsibility as well as model publishers to verify that a model is good enough for the research question at hand.

Some questions that may help you refine the model to fit your needs:
- 1. Do you expect the joints to reach their limits, if so how do you enforce that? coordinate limits in the model are not enforced during dynamics (you can introduce coordinate-limit-forces to model this function if needed).
- 2. There are many passive structures in the hand that end up modeled as wrap-objects and there're ligaments as well. Are these included in your model. How did you validate them.
- 3. What muscle model are you using? Some of our old muscle models (prior to version 3.0) behaved poorly under low activations. That was one of the reason we revamped these in version 3.0. Please consult the webinar (Muscle models in OpenSim 3.0) on the page below for more details
http://www.stanford.edu/group/opensim/s ... inars.html

Building and validating models is a non-trivial task and there're many questions that you need to answer along the way as you may have found out already. You might want to get in touch with other researchers who created similar models to see what's involved.

Best regards and please let us know if you have any questions.
-Ayman

User avatar
Yannik Schröder
Posts: 14
Joined: Wed Apr 18, 2012 11:40 am

Re: Determining the right muscle parameters (wrist model)

Post by Yannik Schröder » Wed Dec 05, 2012 5:42 am

Hi Ayman,
thank you for your reply.

1) I don't expect the joints to reach their limits. I've already added some coordinate limit forces earlier but they seemed to really slow down the calculations so i deactivated them for now. Besides i'm not sure if they are really needed to get the desired behaviour of the fingers. If i hold my hand like shown in the first picture it don't feel like my joints are pushed to their limits. I believe with the right pulling balance between the extensor and the flexor it should work without adding coordinate limit forces.

2) For now there are no additional elements besides the bones and muscles/tendons considered in the model and this is probably another big reason the model does not behave correctly. Do you have any suggestions which OpenSim classes i could use? I already had a quick look at the SpringGeneralizedForce class to model some kind of joint stiffness to get rid of the swinging of the fingers you can see in the gif animation, but finding the right parameters is again a problem, especially because the whole movement depends on much more factors than only the parameters of the SpringForce.

I'm afraid the first validation won't be more than "the behaviour looks plausible". Afterwards i want to try to calculate the muscle forces needed for some designated movements of the fingers and validate them via EMG measurements. But i don't see a way to validate each element individually.

3) As OpenSim 3.0 was released i updated the muscles of the model to Thelen2003 but only copied the parameters of the old muscle model (Schutte1993). So i'm currently trying to find the right tendon slack length. Could you tell me, what exactly the value determines? If i understand it correctly it should be the "distance" the muscle needs to contract before any force is applied to the body (so theoretically a value of zero should work, or am i mistaken?). But the muscles only behave correctly if i set the tendon slack length to a value near the approximated total length of the muscle. How exactly are these two values connected?


Again, thank you for your help!

Best regards,
Yannik

POST REPLY