HELP - my tendon is buckling!

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
Aaron Fox
Posts: 286
Joined: Sun Aug 06, 2017 10:54 pm

HELP - my tendon is buckling!

Post by Aaron Fox » Mon Feb 20, 2023 4:57 pm

Hi All,

This is possibly a question for the general OpenSim forum, but I am running into this issue within a Moco context so figured posting here first might help.

The problem I am solving with Moco is to identify muscle forces during high-speed running, and I am currently doing so using a simplistic 2D model with a reduced muscle set (similar model to Carmichael's work here). The converged solution looks OK, but while visualising this solution a warning about tendon buckling is displayed (i.e. length < tendon slack length), and this is occurring in the plantarflexor muscles at push-off.

I'm wondering whether anyone has encountered this and solved the problem, or there are recommended solutions? An obvious solution to me may be that the tendon slack length needs to be shortened, but this could wreak havoc with finding an appropriate solution (i.e. shortening TSL stiffens up the muscle).

Happy to have an open discussion about this to perhaps help with others that may encounter this issue.

Aaron

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

Re: HELP - my tendon is buckling!

Post by Pasha van Bijlert » Tue Feb 21, 2023 11:23 am

Hi Aaron,

My two cents (very interested to see other people's perspectives on this!), since you're essentially running into a model tuning issue: In situations where I don't know (within reasonable bounds) what the fibre & tendon lengths in any given muscle should be, I tune it based on the length change over a given joint range.

Let's say we know the joint that a given muscle crosses shows a range of 0 - 30 degrees flexion during a given movement. I take the difference in muscle length at those two joint angles as the fibre length, and then calculate tendon length as the L_mtc (at 15 degrees flexion) - fibre length. This is inspired by Sellers et al 2013 (https://doi.org/10.1371/journal.pone.0078733) and can more or less be related to the idea that muscles operate on very narrow ranges in vivo (Burkholder & Lieber 2001 https://doi.org/10.1242/jeb.204.9.1529). I think Bill Sellers tunes most of his animal models (both living and extinct) using this (or a similar) approach.

How you exactly implement this may of course depend on your exact goal (and perhaps on how subject-specific you need your model to be), but as a first approximation it works very well to make sure the muscles in your model are capable of producing force over the required joint ranges. You could consider dividing the tendon length by 1.04 (or whatever percentage of tendon strain you implement at F_max) as an extra tuning step.

This is obviously a fairly rough way of tuning your model, and only works if you somewhat have an idea of what joint ranges the movement crosses. I'm very interested in alternative approaches to this problem.

Cheers,
Pasha

User avatar
Nicholas Bianco
Posts: 1025
Joined: Thu Oct 04, 2012 8:09 pm

Re: HELP - my tendon is buckling!

Post by Nicholas Bianco » Tue Feb 21, 2023 3:33 pm

Hi Aaron,

In which muscles are the tendons buckling -- the gastroc, soleus, or both? I'm wondering if the knee is flexing while the ankle is pushing off, which could cause buckling in the gastroc. Unfortunately, there isn't anything you can do besides shortening the TSL in that case since the muscles only have a single line of action.

-Nick

User avatar
Aaron Fox
Posts: 286
Joined: Sun Aug 06, 2017 10:54 pm

Re: HELP - my tendon is buckling!

Post by Aaron Fox » Tue Feb 21, 2023 4:01 pm

Hi Both,

@Pasha - an interesting approach I hadn't heard of. I'll look into those papers.

@Nick - I've noticed the behaviour in both gastroc and soleus at a specific similar time point around push off, so it does seem more like an ankle issue.

I experimented with the tendon compliance dynamics mode. Originally I had this set to implicit, but when switched to explicit it appears to have fixed the problem (I don't get the buckling warning anymore with the solution). I'm not overly familiar with the differences here, but wondering if there's an obvious explanation for the change?

Aaron

User avatar
Nicholas Bianco
Posts: 1025
Joined: Thu Oct 04, 2012 8:09 pm

Re: HELP - my tendon is buckling!

Post by Nicholas Bianco » Tue Feb 21, 2023 6:27 pm

In implicit mode, tendon compliance dynamics is enforced using an extra continuous variable representing the derivative of normalized tendon force. It's possible that the behavior of this variable in the optimization could lead to tendon kinematics that cause the tendon to buckle.

It could be helpful to plot the muscle-tendon kinematics of these muscles from the explicit and implicit solutions. Ideally, they should end up with the same result, but small differences can occur. In implicit mode, are you regularizing the derivative of normalized tendon force? This can be done using the MocoCasADiSolver option 'set_minimize_implicit_auxiliary_derivatives' and 'set_implicit_auxiliary_derivatives_weight'. The choice of weight could help with the buckling issue, but could also produce different results compared to explicit mode.

User avatar
Aaron Fox
Posts: 286
Joined: Sun Aug 06, 2017 10:54 pm

Re: HELP - my tendon is buckling!

Post by Aaron Fox » Tue Feb 21, 2023 7:39 pm

Hi Nick,

Yes I was minimising the implicit auxiliary derivatives with a weight of 0.00001.

Fair point to plot the tendon kinematics to get an idea of where the differences are.

Thanks,

Aaron

User avatar
Nicholas Bianco
Posts: 1025
Joined: Thu Oct 04, 2012 8:09 pm

Re: HELP - my tendon is buckling!

Post by Nicholas Bianco » Wed Feb 22, 2023 11:31 am

You might also try putting a non-zero lower bound on tendon force. Even a small minimum tensile force along the tendon could help prevent buckling.

User avatar
Aaron Fox
Posts: 286
Joined: Sun Aug 06, 2017 10:54 pm

Re: HELP - my tendon is buckling!

Post by Aaron Fox » Wed Feb 22, 2023 4:02 pm

Good point Nick - I do currently have the lower bounds for tendon forces set to zero.

Aaron

User avatar
Carlos Gonçalves
Posts: 134
Joined: Wed Jun 08, 2016 4:56 am

Re: HELP - my tendon is buckling!

Post by Carlos Gonçalves » Mon Mar 13, 2023 5:18 pm

Hi Aaron,

I've searched for something like that before and found something along the way what Pasha mentioned:

https://github.com/modenaxe/MuscleParamOptimizer

It was cited here: viewtopicPhpbb.php?f=1815&t=12159&p=0&s ... 0d14dcee61

I could not give it a try, but I will look for something like that for in my jump tests. Hope I can share here good results.

Best regards.

POST REPLY