Prescribing muscle Activations in Forward Dynamics

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Pavlos Silvestros
Posts: 43
Joined: Sun Oct 16, 2016 4:10 am

Prescribing muscle Activations in Forward Dynamics

Post by Pavlos Silvestros » Fri Apr 03, 2020 2:57 am

Hello everyone,

I am wanting to directly prescribe activations to my model's muscles so that I can run my simulations without having to allow time for excitation and activation dynamic "time lag".

For the model's muscles to be at the required activation from the start of the simulation and through its duration (i.e. i_muscle_activation=0.3 for Dt=0.05) I am setting the muscles' minimum activation to the value I require with setMinimumActivation(). This works for having the muscles' activation constant throughout the simulation at the value I want as long as the value is >=0.05. If the specified value is <0.05 the activation starts at 0.05 and then begins to drop. Is there a more preferable way of prescribing the muscle activations without applying controls/excitations and going through excitation dynamics in the Forward Tool?

Even though I can directly apply the activations I cannot get around the activation dynamics as the muscle take some time to generate the appropriate force for the state they are in. Ideally I would like the muscles to produce the appropriate force for their given state as soon as I start the simulation.

From what I can understand I could set ignoreActivationDynamics() to true but only in Millard muscle models. My model has Thelen muscle models. Is there a OpenSim function to programatically convert Thelen to Millard muscle models? If not are they any parameters in particular I should focus on when doing it myself?

Thanks in advance!

All the best,
Pavlos

Tags:

User avatar
Carmichael Ong
Posts: 383
Joined: Fri Feb 24, 2012 11:50 am

Re: Prescribing muscle Activations in Forward Dynamics

Post by Carmichael Ong » Fri Apr 03, 2020 3:56 pm

Hi Pavlos,

I don't have a 3.3 environment right now, but I had a few thoughts that maybe you could try (hopefully something could point you in the right direction).

1. There have been issues in the past with getting an activation set and sticking to a value. Sometimes using setDefaultActivation() instead (or together with) some of the other setActivation() an setExcitation() methods have helped in some previous cases.
2. I don't think there's an easy way to convert between Thelen and Millard muscles, especially with trying to keep force-length and force-velocity relationships the same. In general, Millard muscles have a small range of active force generation, but the curve are adjustable. The Rajagopal model changes the defaults for the Millard muscles to widen these curves (not necessarily a wide as Thelen though).

User avatar
Pavlos Silvestros
Posts: 43
Joined: Sun Oct 16, 2016 4:10 am

Re: Prescribing muscle Activations in Forward Dynamics

Post by Pavlos Silvestros » Mon Apr 06, 2020 1:57 am

Hi Carmichael,

Thanks for the suggestions!

1) I have managed to prescribe constant activations by safeDownCast() then setting the value with setMinimumActivation() to the individual muscles in the model. I'll give your ideas a go also to see if they provide more flexibility!

2) Yes I thought that might be the case, I will continue investigating how I could transfer from the Thelen to Millard muscle more efficiently and correctly.

Cheers,
Pavlos

POST REPLY