Zeroing Muscle Activation

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Alex Landauer
Posts: 7
Joined: Wed May 11, 2011 8:01 pm

Zeroing Muscle Activation

Post by Alex Landauer » Tue Jun 21, 2011 1:18 pm

Hi all,
I am trying to run the Forward Dynamics tool with no muscle activation. To accomplish this I have overwritten previously generated "controls" and "states" files with columns containing only zeros. When this did not work (muscle forces were still reported and the model still moved under FD), I edited the model file to allow the "min_control" to be zero for all of the muscles. This had no effect.
Can anyone please suggest a method to remove muscle activation so that the model will experience no motion or muscle force under FD?

Also, what practical effect does the "solve for equilibrium actuator states" checkbox have? I have experienced it drastically effect the outcome of the FD run, but do not really know why, and there is no explanation of it elsewhere (that I've found).

Thanks,
Alex

User avatar
Craig Goehler
Posts: 2
Joined: Thu Feb 14, 2008 12:33 pm

RE: Zeroing Muscle Activation

Post by Craig Goehler » Wed Jun 22, 2011 7:52 am

Even if you run the simulation with zero activation, there will still be the passive components of muscle force.

If your ultimate goal is for the model to not be affected by muscle forces, then you have to remove the muscles from the model or at the very least make sure that they are not Enabled in the GUI.

Additionally, gravity is still present so even without muscle forces the model will move due to the weight of the bones unless you lock the coordinates. But if you do that, then there is no reason to run a Forward Dynamic simulation since you have removed the ability to move and all actuators acting on the system.

The "solve for equilibrium actuator states" solves for the muscle fiber length state values so that that they are in equilibrium with their tendon. But if you remove the muscles, checking this box will essentially do nothing to your simulation.

User avatar
Sina Porsa
Posts: 99
Joined: Thu Feb 03, 2011 7:21 pm

Re: Zeroing Muscle Activation

Post by Sina Porsa » Mon Nov 28, 2011 4:53 pm

Hi Craig
According to your post: "The solve for equilibrium actuator states solves for the muscle fiber length state values so that that they are in equilibrium with their tendon." Does it mean
(Muscle active force + muscle passive force)*cos(pennation angle) = (tendon elastic force)
I still cannot understand what it means, It would be great if you could explain it to me.
Cheers
Sina

User avatar
Edith Arnold
Posts: 44
Joined: Fri Apr 06, 2007 2:07 pm

Re: Zeroing Muscle Activation

Post by Edith Arnold » Tue Nov 29, 2011 6:07 pm

Hi guys,
This explanation of solving for equilibrium states is not quite correct. There are two different types of equilibrium being discussed here and there is ambiguity in the tag name that obfuscates the issue a bit.

Type 1: The muscle and tendon are in equilibrium such that
(Muscle active force + muscle passive force)*cos(pennation angle) = (tendon elastic force)
This is always true and is intrinsic to the muscle model because the muscle and tendon are in series. So
Force_muscle*cos(pen) = Force_tendon = Force_muscletendon

Type 2: Static equilibrium that goes with
"solve for equilibrium actuator states"
In Forward, setting this tag to true computes the initial states of the actuator (activation and fiber length) that place it in equilibrium for your other initial conditions (joint position, velocity, and excitation) overwriting whatever initial condition you had for fiber length and activation. If you do not set this tag to true, it is possible that in the first time step the IC of the fiber length is not quite right for all the other conditions and you'll see a jump in it in the first few times steps of your solution as it settles out. This only affects the first time step.

This tag behaves slightly differently in other tools. In Analyze, this static equilibrium is recalculated at every time step. So if you take the results of a forward simulation, then pass them through an analysis with this tag checked, you will see some changes in the fiber length, especially when velocity effects are high.

Back to your original question, Alex...
Before going any further, I just want to understand why you're using Forward and whether that's the right tool for the job. Could you tell me a little more about what you are trying to model/simulate here? What question are you trying to answer? What inputs do you have and what are you trying to solve for?

If you eliminate all the muscle forces in your simulation, but leave gravity in, you should see the model fall under the influence of gravity. This should be the first test you run to make sure you are running a forward simulation with no muscle forces. A simple way to do that would be to change all the <isDisabled> false </isDisabled> tags for muscles in the model file to <isDisabled> true </isDisabled>.
If it's not falling and the muscles are turning on, you're pulling an old file somewhere. Check your paths in the tool window or setup file and make sure they're being refreshed. If you are trying to get the model to maintain a position in forward dynamics when gravity is applied, you will need some forces to do that. Typically things like muscle forces, joint torques, ground reaction forces, or contact forces are used.

-Edith

User avatar
John Rogers
Posts: 45
Joined: Fri Feb 24, 2012 11:47 am

Re: Zeroing Muscle Activation

Post by John Rogers » Sun Aug 05, 2012 11:27 am

Hello Edith and all,

All the following questions came up because I am trying to decide whether to check a box in an analysis of CMC results.

The effect of checking "Solve for equilibrium for actuator states" is not clear to me.
This check box appears in the forward dynamics GUI and the analyze GUI.
Is the check box setting the variable "solve_for_equilibrium_for_auxiliary_states" to true if checked, false if unchecked?

What are "AUXILIARY" states?
Are only some of the states being solved?

If I understand you correctly Edith, this variable has different effects in different tools.
In Forward Dynamics it sets ONLY the initial state?
In Analysis, it solves for every time step?

"solve_for_equilibrium_for_auxiliary_states" appears in a CMC setup file I am looking at. Does CMC use this variable too? If so, how?

Edith you said
...forward simulation, then pass them through an analysis with this tag checked...
well, if you already have a complete forward simulation, wouldn't setting this variable mess up your result? Why would you ever check it?

Thanks,
John

POST REPLY