Wrapping Surfaces (MocoInverse)

OpenSim Moco is a software toolkit to solve optimal control problems with musculoskeletal models defined in OpenSim using the direct collocation method.
POST REPLY
User avatar
Luke Jessup
Posts: 13
Joined: Tue Jul 14, 2020 7:58 pm

Wrapping Surfaces (MocoInverse)

Post by Luke Jessup » Mon Apr 03, 2023 8:03 pm

Hi all,
I'm having a problem with muscle overactivating using MocoInverse and the high flex model by Adrian Lai during walking. Specifically, I'm finding that the gastrocnemii are overactive due to (I believe) their tibial wrapping surfaces, which in-turn is driving up the activation of the dorsiflexors as well. This problem is fixed when I disable those wrapping surfaces, although this seems to drive up the activation of proximal muscles to compensate. I've tried adjusting OFL's and TSL's and cleaning up the kinematics and kinetics where possible, but haven't had much luck with this. I've attached a few images showing lateral gastroc. activations, moments arms and fascicle length changes with and without those wrapping surfaces enabled over a walking stride (note the ankle plantar flexor moment convention in the model is to be negative, there is an increase in moment arm with the wrapping surface enabled).
If anyone has had similar experiences, I'd be very keen to hear your thoughts.
Thanks,
Luke
Attachments
wrapping2.png
wrapping2.png (19.47 KiB) Viewed 669 times
wrapping.JPG
wrapping.JPG (27.85 KiB) Viewed 669 times

User avatar
Edward Syrett
Posts: 34
Joined: Mon Jan 14, 2019 11:04 am

Re: Wrapping Surfaces (MocoInverse)

Post by Edward Syrett » Tue Apr 04, 2023 5:49 am

This may or may not be the correct answer, so take this with a grain of salt. I have seen it said that Moco has trouble with wrapping surfaces, so previous work has changed those surfaces to "conditional path points." Specifically, Dr. Miller did this with his study in 2021: https://peerj.com/articles/11960/. The model and code for that study can be found here: https://simtk.org/projects/umocod. Maybe check that out and see if that helps?

Dan

User avatar
Luke Jessup
Posts: 13
Joined: Tue Jul 14, 2020 7:58 pm

Re: Wrapping Surfaces (MocoInverse)

Post by Luke Jessup » Tue Apr 04, 2023 3:05 pm

Hi Dan,
Thanks for the suggestion. I believe that Dr. Miller was using an earlier version of Moco, in which wrapping surfaces were not supported altogether. In more recent versions, compatibility has been added for wrapping surfaces. Perhaps there's a bug here, or perhaps adjustments need to be made to the wrapping surfaces of the Rajagopal model and models derived from it..
Luke

User avatar
Pasha van Bijlert
Posts: 215
Joined: Sun May 10, 2020 3:15 am

Re: Wrapping Surfaces (MocoInverse)

Post by Pasha van Bijlert » Wed Apr 05, 2023 5:23 am

Hi Luke,

Presumably you are using DeGrooteFregy2016Muscles (that muscle model is smoothed, which gives more predictable results when using gradient-based optimization).

Perhaps you could try plotting normalized fiber lengths & velocities, normalized tendon lengths, and perhaps normalized (active and passive) fiber forces, so that you can get a clear idea of what is happening in the muscle? From your first plot, it appears that the fiber with wrapping has to lengthen and then shorten rather rapidly, and knowing the relative lengths (and velocities) might help you diagnose whether that's a problem.

Cheers,
Pasha

User avatar
Luke Jessup
Posts: 13
Joined: Tue Jul 14, 2020 7:58 pm

Re: Wrapping Surfaces (MocoInverse)

Post by Luke Jessup » Mon Apr 10, 2023 1:28 am

Thank you for your reply, Pasha.
I've found the problem difficult to diagnose. The only thing that's really improved the muscle-level outputs has been reducing the radius of those tibial gastroc. wrapping surfaces and just removing them altogether, so I can't really justify keeping them. Fortunately, the femoral gastroc. wrapping surfaces are helping a lot, as are the rest of the wrapping surfaces in the model, leading to results that we can validate against our experimental EMG, fascicle length and metabolic power data.
Last edited by Luke Jessup on Mon Apr 10, 2023 11:25 pm, edited 1 time in total.

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

Re: Wrapping Surfaces (MocoInverse)

Post by Ross Miller » Mon Apr 10, 2023 3:48 pm

Wrapping geometry works fine for me in recent versions of Moco. Luke is correct that in earlier versions there was an issue with it. It seems to work fine now.

Luke, inverse problems often need help from reserve actuators because the muscles are not able to exactly produce the prescribed motion and forces. Are you using any reserve actuators here?

Ross

User avatar
Luke Jessup
Posts: 13
Joined: Tue Jul 14, 2020 7:58 pm

Re: Wrapping Surfaces (MocoInverse)

Post by Luke Jessup » Mon Apr 10, 2023 11:24 pm

Hi Ross,
Increasing the optimal force of the reserve actuators seems to have fixed the issue - thank you!
Curious whether you have any advice when it comes to selecting a value for ModOpAddReserves?
Much appreciated,
Luke

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

Re: Wrapping Surfaces (MocoInverse)

Post by Ross Miller » Tue Apr 11, 2023 5:09 am

lukejessup98 wrote:
Mon Apr 10, 2023 11:24 pm
Hi Ross,
Increasing the optimal force of the reserve actuators seems to have fixed the issue - thank you!
Curious whether you have any advice when it comes to selecting a value for ModOpAddReserves?
Much appreciated,
Luke
I have never used MocoInverse myself and have not done much with other methods involving reserves e.g. CMC. I think the only real important thing to look at is how big are the forces produced by the reserve actuators? You of course want them to be small. What is small will depend on the problem. Jen Hicks paper on validation guidelines may have some recommendations.

Setting the optimal force will interact with the weight you have set on the reserve actuators to affect how strongly the optimizer will be willing to use them.

Ross

POST REPLY