Page 3 of 6

Re: (close to) minimizing metabolic cost

Posted: Wed Oct 07, 2020 7:52 pm
by aafox
No problems Nick - if you want to chat further about tidying it up send me an e-mail. I'm currently running a sim with my own data and GRF tracking enabled, and things seem to be tracking OK so that addition would be useful to the above code.

And glad to hear that the weight is included and I'm not going crazy - multiplying it by 10 aligns much better with existing metabolic calculations!

Aaron

Re: (close to) minimizing metabolic cost

Posted: Wed Oct 07, 2020 8:26 pm
by karthick_ganesan
Hi Aaron ,
I am curious to know the CoT you get with your data.
Thanks.

Re: (close to) minimizing metabolic cost

Posted: Wed Oct 07, 2020 10:53 pm
by aafox
Hi Karthick,

So I'm basically using a version of the model in Ong CF, Geijtenbeek T, Hicks JL, Delp SL (2019) Predicting gait adaptations due to ankle plantarflexor muscle weakness and contracture using physics-based musculoskeletal simulations. PLoS Comput Biol 15(10): e1006993, but just tuned for Moco. In the most recent sims I did I've had tendon compliance off (it seems to be struggling with it on), no passive forces, and the active force width parameter adjusted to 1.5. I'm testing this on a 'sprinting' movement trial, and I think this paticipant was running at about 5 or 6 m/sec. The set_use_smoothing parameter is set to True for the metabolics. The output is hovering around 0.35-0.40 depending on the settings I use, which if you multiply by ten based on the weight I've used would be 3.5-4.0 J/kg/m. This is higher than what you've been discussing but I suspect this is due to the running speed. It's higher than the values reported in Koelewijn AD, Heinrich D, van den Bogert AJ (2019) Metabolic cost calculations of gait using
musculoskeletal energy models, a comparison study. PLoS ONE 14(9): e0222037 for the BHAR04 probe - but might be in the ball park if you consider the increased speed. Are there any good references to compare to when running at these speeds?

Aaron

Re: (close to) minimizing metabolic cost

Posted: Thu Oct 08, 2020 5:54 am
by carlosoleto
Hi Aaron, Nick, and Karthick!
Thanks for the feedback!

@Nick, the paper that you suggested (the one that Aaron has based his model) also optimizes the cost of transport using the Umberger metabolic model ... I'm currently using the AnalyzeTool to evaluate where are the greater energy expenditures in my simulation and manually penalizing the muscle activations. Maybe it works, but it is too far from the right solution.

Until I wait for the release of the Moco 0.5, I need to study a lot more about the metabolic cost of gait. Does anyone have suggestions on where to start?

Best regards.

Carlos

Re: (close to) minimizing metabolic cost

Posted: Thu Oct 08, 2020 6:44 am
by karthick_ganesan
Thanks for the details Aaron. I found reducing the number of nodes and slightly loosening the tolerance is helpful with tendon compliance. I have been only working with walking, so I am not sure of references for running at this speed. If I come across something I will let you know. I was thinking you were tying for some walking data and was eager to know if this model could produce realistic metabolic cost for walking.

Re: (close to) minimizing metabolic cost

Posted: Thu Oct 08, 2020 7:04 am
by karthick_ganesan
Hi Carlos,
I am not sure in which perspective you are referring to . I think the review by Walters and Mulroy (1999) is a good place to start, if you have not read already. https://pubmed.ncbi.nlm.nih.gov/10575082/?
As for as the muscle energy models are concerned, in addition to the original papers by Umberger et al and Bhargava et al, the comparison studies by Koelewijn et al (in the post by Aaron above) and Miller (2014) could be useful.
Others can add to this.
Best

Re: (close to) minimizing metabolic cost

Posted: Thu Oct 08, 2020 8:25 am
by carlosoleto
Thanks a lot Karthick!

I will ready this review, and I think I got one hypothesis about why there is much difference in the COTs that you are observing.

Looking to the documentation of the Umberger2010MuscleMetabolicsProbe (https://simtk.org/api_docs/opensim/api_ ... ml#details) it is hard to state that the number of muscles has a big influence in the output value, but the number of activations definitely change the total ACTIVATION & MAINTENANCE HEAT RATE (W) and SHORTENING HEAT RATE (W) measured by the probe. I'm not sure if just summing the isometric forces of a group of muscle to a single one would balance the effect of fewer muscles/activations in the probe's sum.

Another thing to have in mind is that great work is done by the abductor's muscles during midstance. The 2D models that represent the hip joint as just a "Pinjoint", and the pelvis as "Planar Joint" remove this cost by design. The pelvic drop is typical in CP children that have hip adductors lever arms issues.

What do you think?

Best regards.

Carlos

Re: (close to) minimizing metabolic cost

Posted: Thu Oct 08, 2020 10:23 am
by karthick_ganesan
Thank you Carlos for your insights. These things could have some effect.Also different muscle energy models give different estimates.
Karthick.

Re: (close to) minimizing metabolic cost

Posted: Thu Oct 08, 2020 3:33 pm
by nbianco
Karthick, you converted example2DWalkingMetabolics to Matlab (presumably based on Brian Umberger's Matlab non-metabolics version)? That would be great to include as well.

Regarding including tendon compliance: try using the properties 'minimize_implicit_auxiliary_derivatives' and 'implicit_auxiliary_derivatives_weight' when using MocoCasADiSolver to regularize the derivative of normalized tendon force to improve convergence.

Different metabolics models can give pretty different estimates of metabolic cost. Which heat rates are included and whether or not negative fiber work is included in the calculations can affect predictions significantly.

Re: (close to) minimizing metabolic cost

Posted: Fri Oct 09, 2020 10:43 am
by karthick_ganesan
Yes Nick. Based on Brian Umberger's code.
Thanks. I am using these settings for implicit muscle dynamics.
I would like to confirm whether the output includes basal heat rate. I could not find a method for setting the basal heat rate on. However getBasalCoefficient method gave a value of 1.2. I also want to know whether this implementation includes the length dependence for the maintenance heat rate.
Karthick.