Setting muscle excitation problem in matlab

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Ratna Sambhav
Posts: 42
Joined: Sat Jan 12, 2019 10:16 am

Setting muscle excitation problem in matlab

Post by Ratna Sambhav » Sat Jun 27, 2020 6:47 pm

Hello all,
I have to set excitation and activation to muscles in every loop of integration in matlab.
This is done so that the metabolic probe attached to the model, can get this information from the muscles and calculate the metabolic cost.
Activation is easily set into the muscles.
But when I set excitation using the following command:
model.getMuscles().get(0).setExcitation(state, 0.3);
it is showing no error but it's not working, as when using the following command:
model.getMuscles().get(0).getExcitation(state) I try to get the value, it is returning just 0.
This is not the case with activation, but I don't know what's the problem with excitation.

What should I do? Can I use the internal Activation Dynamics which can do this operation of getting the excitation from the activation value itself. How can I set the excitation to muscle for the metabolic cost to give correct output?

Thanks,
Ratna

Tags:

User avatar
Michael Asmussen
Posts: 67
Joined: Mon Jul 11, 2016 7:46 am

Re: Setting muscle excitation problem in matlab

Post by Michael Asmussen » Fri Jul 03, 2020 2:56 pm

Hi Ratna,

I have not worked with changing the excitation of a muscle, but I have been able to do this effectively for muscle activation (as you also mentioned).

Is your main issue that you cannot get the metabolics from a muscle? If so, I recall that the metabolic probe would not work unless I implemented realizeDynamics(state) for the model and then updated the probe set. Maybe the same is true for your issue.

I don't know if this will work for your example, but it might be worth a try.

All the best and let me know if it works,

Mike

User avatar
Ratna Sambhav
Posts: 42
Joined: Sat Jan 12, 2019 10:16 am

Re: Setting muscle excitation problem in matlab

Post by Ratna Sambhav » Wed Aug 12, 2020 1:03 am

Thankyou Mike for your kind attention.
Yeah I have realized the stage to the dynamics and I am able to obtain the metabolic cost, but the metabolic cost I am getting seems to be containing only two components of it. I mean, out of the Mechanical work rate, Shortening heat rate, Activation and maintenance heat rate and Basal heat rate, I am only able to get Mechanical work rate and shortening heat rate, and not the activation and maintenance heat rate, Basal is not an issue.
This thing, I am guessing is happening because of the fact that I am only able to give activation not excitation to the muscle. The two components I am getting as the result, are actually functions of activation of the muscle.
What I did was, from Umberger and Bhargava metabolic cost models, I brought a mathematical equation for calculating the activation and maintenance part of the metabolic cost. I am able to get a similar curve now, of the total metabolics, but still since I don't know the exact value of the some of the constants used by OpenSIm GUI in calculating the metabolic cost, my results are not exactly matching with that of OpenSim GUI.
If anyhow, I get to know how to use OpenSim metabolic cost calculation API, so that I get all the components of metabolic cost, that would be great. For that, setting excitation level to the muscle, I think, is posing an issue.

--Ratna

User avatar
Axel Koussou
Posts: 56
Joined: Mon Aug 10, 2020 12:07 am

Re: Setting muscle excitation problem in matlab

Post by Axel Koussou » Wed Nov 18, 2020 2:00 am

Hi Ratna,

Sorry for reopening this topic, I won't be able to answer to your questions, but I'm facing a problem that it seems you were able to suceed.
Indeed, I would like to set the activation of my muscles to 0.

As you, I'm using :
model.getMuscles().get(i).setActivation(state,0);

But, when I'm using :
model.getMuscles().get(i).getActivation(state); I got 0.1.

Finally, it's the same problem as you for the excitation. Apparently, you got no problem with setActivation. So, I was wondering if you have any idea of what I'm doing wrong.

Is it because activation can't be inferior to 0.1? Or finally, have you suceed to set your excitation? Maybe, it will give a lead to me.

PS : I'm using Rajagopal's Model desgined for gait.

Thanks in advance,

Regards

User avatar
Ratna Sambhav
Posts: 42
Joined: Sat Jan 12, 2019 10:16 am

Re: Setting muscle excitation problem in matlab

Post by Ratna Sambhav » Mon Dec 28, 2020 10:59 pm

Hi Axel,

My main objective was to see metabolic cost, so muscle activation being 0 or 0.01 was not going to have much effect on my results (in the range of 3-5 units may be). I can suggest you to check Millard2012AccelerationMuscle, as in its description I found that "it is possible to simulate 0 activation". https://simtk.org/api_docs/opensim/api_ ... uscle.html
In Rajagopal2015 model, Millard2012EquilibriumMuscle is used, where I think it is in the property of muscle itself that it's activation cannot be 0.

I hope this helps.

User avatar
Ratna Sambhav
Posts: 42
Joined: Sat Jan 12, 2019 10:16 am

Re: Setting muscle excitation problem in matlab

Post by Ratna Sambhav » Fri Apr 02, 2021 6:38 pm

I think, I have understood what is required to be done for my problem.

If the muscle excitations are set using any prescibedController, Metabolic probe works correctly and give right numbers for metabolic cost and the obtained plot is very similar to that obtained from GUI.

POST REPLY