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
Wrapping Surfaces (MocoInverse)
- Luke Jessup
- Posts: 13
- Joined: Tue Jul 14, 2020 7:58 pm
Wrapping Surfaces (MocoInverse)
- Attachments
-
- wrapping2.png (19.47 KiB) Viewed 1126 times
-
- wrapping.JPG (27.85 KiB) Viewed 1126 times
- Edward Syrett
- Posts: 34
- Joined: Mon Jan 14, 2019 11:04 am
Re: Wrapping Surfaces (MocoInverse)
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
Dan
- Luke Jessup
- Posts: 13
- Joined: Tue Jul 14, 2020 7:58 pm
Re: Wrapping Surfaces (MocoInverse)
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
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
- Pasha van Bijlert
- Posts: 227
- Joined: Sun May 10, 2020 3:15 am
Re: Wrapping Surfaces (MocoInverse)
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
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
- Luke Jessup
- Posts: 13
- Joined: Tue Jul 14, 2020 7:58 pm
Re: Wrapping Surfaces (MocoInverse)
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.
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.
- Ross Miller
- Posts: 375
- Joined: Tue Sep 22, 2009 2:02 pm
Re: Wrapping Surfaces (MocoInverse)
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
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
- Luke Jessup
- Posts: 13
- Joined: Tue Jul 14, 2020 7:58 pm
Re: Wrapping Surfaces (MocoInverse)
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
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
- Ross Miller
- Posts: 375
- Joined: Tue Sep 22, 2009 2:02 pm
Re: Wrapping Surfaces (MocoInverse)
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.lukejessup98 wrote: ↑Mon Apr 10, 2023 11:24 pmHi 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
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