Fiber Velocity Outputs

OpenSim Moco is a software toolkit to solve optimal control problems with musculoskeletal models defined in OpenSim using the direct collocation method.
User avatar
Russell Johnson
Posts: 14
Joined: Sun Dec 23, 2012 5:10 pm

Re: Fiber Velocity Outputs

Post by Russell Johnson » Mon Nov 16, 2020 9:52 pm

Hi Nick and Ross,

I've run a series of other optimizations with a few different settings and I think I've gotten some better results for my model. After getting better velocity outputs with the minimum activation bound set to 0.01, I then tried changing the fiber damping coefficient. First I increased it from the default of 0.01, to 0.05. Turns out, this is actually worse for the fiber velocity output. This was a little counterintuitive to me, but maybe makes more sense to others.
Muscle Fiber Velocity Fig_MusActBound0p01_FibDamping05_right.jpg
Muscle Fiber Velocity Fig_MusActBound0p01_FibDamping05_right.jpg (137.23 KiB) Viewed 542 times
Then I decreased the fiber damping coefficient to 0.005 and it is way better:
Muscle Fiber Velocity Fig_MusActBound0p01_FibDamping005_right.jpg
Muscle Fiber Velocity Fig_MusActBound0p01_FibDamping005_right.jpg (121.02 KiB) Viewed 542 times
I think these differences between the fiber length derivative and fiber velocity (~0.1 m/s) are more in the range of what Ross was finding with his results. As Ross suggested, it does seem to often happen around toe off, but not always. Also, I have yet to notice any negative fiber force outputs from my optimizations, at least nothing that I saw from warnings after convergence.

So it seems that adjusting the minimum activation bound and fiber damping coefficient help resolve this issue - more or less. I have not tried these muscle model settings out with other speeds or conditions yet. I may try to build out some code to calculate the fiber velocity analytically from the muscle states, as Ross suggested earlier, to see if there are any obvious pinch points with these peaks. I can report back if I notice anything interesting from that.

For now, I'm still thinking that using the derivative of fiber length will get me more reliable results for input into my fiber work calculations, and so I may stick with that approach going forward.

Thanks for the help and input with this issue.
Russell

User avatar
Ross Miller
Posts: 371
Joined: Tue Sep 22, 2009 2:02 pm

Re: Fiber Velocity Outputs

Post by Ross Miller » Tue Nov 17, 2020 8:22 am

I think this has to be coming from "inverting the force-velocity relationship" which is a classic numerical problem in traditional forward dynamics (and also here when computing Vcc):

Fcc = Fmax*Act*FL*FV

If Fcc/(Fmax*FL) >> Act, you will get a very large value when calculating FV which will equate to a very fast eccentric Vcc. So another thing to check might be if CC length is really long or really short (relative to optimal length) when the spikes are happening. In my model I made some adjustments to the original Lopt and Lslack values so that the model's torque-angle profiles resembled some dynamometer data (Anderson et al., 2007; great paper). Normally I leave "<active_force_width_scale>" at its default value of 1.0 but for the biarticular muscles I increase it to 1.5 because they tend to go through larger ROMs.

If FL is not small when the spikes are happening, then it probably is the damping. CC damping would look like this:

Fcc = Fmax*Act*FL*FV - d*Vcc

It makes sense to me that increasing d made the problem worse in Russell's simulation: d is positive and Vcc is positive for lengthening, so more damping will make Fcc even bigger relative to Act. Similarly if Vcc is negative and Fcc is small, you could get FV << 0 which will give very fast concentric Vcc.

Ross

https://www.sciencedirect.com/science/a ... 9007001431

User avatar
Russell Johnson
Posts: 14
Joined: Sun Dec 23, 2012 5:10 pm

Re: Fiber Velocity Outputs

Post by Russell Johnson » Tue Nov 17, 2020 7:39 pm

Hi Ross-

Thanks for the explanation, makes a lot of sense.

I had a figure in one of my earlier posts with the CC length, and it doesn't seem to be happening at minimums for the CC length, but it could be some combination of CC length, its rate of change, and the low activation. I'm still curious to look further into the calculation of the velocity analytically for this model - if for nothing else than as an exercise.

The note about the active force width scale is a good one, thanks.

Russell

POST REPLY