Activation and tendon compliance dynamics in custom static optimization practice

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Mohammadreza Rezaie
Posts: 407
Joined: Fri Nov 24, 2017 12:48 am

Activation and tendon compliance dynamics in custom static optimization practice

Post by Mohammadreza Rezaie » Wed Feb 22, 2023 1:12 pm

Hello,

I have a question about this sentence from the following link to documentation:
https://simtk-confluence.stanford.edu:8 ... +in+MATLAB
We will also disable activation and tendon compliance dynamics in each muscle, since static optimization does not include muscle dynamics.
Could anyone please elaborate the reason for this? What may happen if I enable activation dynamics and tendon compliance of muscles in this example?

Any help is much appreciated.

Regards,
Mohammadreza

User avatar
Nicole Strah
Posts: 9
Joined: Mon Aug 29, 2016 2:40 pm

Re: Activation and tendon compliance dynamics in custom static optimization practice

Post by Nicole Strah » Tue Feb 28, 2023 7:46 pm

Hi Mohammadreza,

Here's what I've found so far in the documentation:

Ignoring the activation dynamics allows you to use the excitation input as the activation signal and can result in performance improvement by eliminating high-frequency dynamics and removing the fiber length from the state vector.

Ignoring tendon compliance makes the tendon rigid, resulting in faster simulations since it reduces the size of the state vector.

If you set either or both of these to false, I would expect longer calculation times, but potentially a more "realistic" result. I'm running a version of the Custom Static Optimization code where I'm calculating the moment arms myself to try to get as realistic as an answer as possible, so I will be setting both of these to false. There's also a potential that this won't be considered static optimization anymore since both of these introduce muscle dynamics between each frame: we have a muscle fiber length that can change and a tendon that can stretch. (I'm not positive about this, I'll run it by my advisor).

Thanks,
Nicole

User avatar
Ton van den Bogert
Posts: 166
Joined: Thu Apr 27, 2006 11:37 am

Re: Activation and tendon compliance dynamics in custom static optimization practice

Post by Ton van den Bogert » Wed Mar 01, 2023 8:57 am

The faster computation that Nicole refers to, is related only to forward dynamics (simulation).

Static optimization (as the term suggests) considers only static muscle properties and won't do a dynamic simulation.

In the classic form of static optimization, it only needs the maximal isometric force (or physiological cross sectional area) and moment arms. None of those properties involve activation dynamics or contraction dynamics.

OpenSim also has an option in static optimization to consider the force-length and force-velocity properties of muscle fibers. This will require the assumption that the tendon is rigid (not elastic), so the muscle fiber length changes are equal to the length change of the muscle-tendon system, which can be calculated from bone motions.

Both are explained here: https://simtk-confluence.stanford.edu:8 ... tion+Works

You should experiment with turning the activation dynamics and tendon compliance on or off. For the classic static optimization, there should be no effect on the result at all.

For the "muscle physiology informed" static optimization, activation dynamics will still not matter. A rigid tendon is required, but may be automatically be assumed by OpenSim. If not, there should be an error message telling you that the muscle dynamics must be turned off.

User avatar
Mohammadreza Rezaie
Posts: 407
Joined: Fri Nov 24, 2017 12:48 am

Re: Activation and tendon compliance dynamics in custom static optimization practice

Post by Mohammadreza Rezaie » Wed Mar 01, 2023 12:59 pm

Dear Nicole and Prof. van den Bogert,

I appreciate your response (we had talked about it earlier).
For the "muscle physiology informed" static optimization, activation dynamics will still not matter. A rigid tendon is required, but may be automatically be assumed by OpenSim. If not, there should be an error message telling you that the muscle dynamics must be turned off.
You are right, I found no difference in muscle activity/force when disabling/enabling activation dynamics property in both "classic" static optimization (using Max Isometric Force) and "muscle physiology informed" static optimization (using force-length-velocity relationships), (perhaps it must be taken into account in a post-process?). In terms of computation time, I see no difference.

So, rigid tendon is required for "muscle physiology informed" static optimization. Could you please elaborate why tendon compliance must be ignored here? Is it one of the assumptions of Hill-type muscle model? (I think no, because tendon is modeled as a serial elastic element) or because of the method fiber length is calculated?

Actually, I'm a little confused here. In a recent paper by OpenSim team (https://doi.org/10.1038/s41598-022-13386-9), tendon compliance was incorporated (https://github.com/stanfordnmbl/MatlabS ... timization) in this type of static optimization (https://github.com/stanfordnmbl/MatlabS ... hing.m#L86).
[In this case, compliant tendons led to greater muscle force and hence, joint load in my simulation]

And I think it's better not to call it "static". Isn't it?

I'm greatly grateful for your help.

Regards,
Mohammadreza

User avatar
Ton van den Bogert
Posts: 166
Joined: Thu Apr 27, 2006 11:37 am

Re: Activation and tendon compliance dynamics in custom static optimization practice

Post by Ton van den Bogert » Wed Mar 01, 2023 1:42 pm

Mohammadreza,

Thanks for the reference and links. I was not familiar with that paper, it's very interesting and provides a method to do static optimization with a compliant tendon.

There still is no muscle dynamics, because the force-velocity properties are not used. It is a static muscle model, a static relationship between muscle force, activation, and muscle-tendon length.

The page I linked to describes a variant of static optimization that also includes the force-velocity properties. There, you will need to know the muscle fiber shortening velocity. You can compute fiber velocity from bone kinematics if you assume the tendon is rigid. if you want to have force-velocity properties and also an elastic tendon, it would need to be a dynamic optimization, such as what MocoInverse does.

There are two ways to remove muscle contraction dynamics: remove the velocity dependence of the contractile element, or make the tendon rigid.

If I had to choose, I would probably remove the velocity dependence of the contractile element. The paper you cited states that this is a good approximation for gait, and I would agree. A rigid tendon will give incorrect fiber lengths and may affect static optimization results.

For sports movements with faster joint rotations, the force-velocity properties become important.

The classic static optimization has none of these problems or choices.

There is some evidence that the classic static optimization is good enough for gait [1], because including muscle physiology (with full muscle dynamics) made little difference in the estimated muscle forces. At least for normal gait.

Interesting discussion!

Ton van den Bogert

[1] F. De Groote, G. Pipeleers, I. Jonkers, B. Demeulenaere, C. Patten, J. Swevers, and J. De Schutter, (2009) A physiology based inverse dynamic analysis of human gait: potential and perspectives. Computer Methods in Biomechanics and Biomedical Engineering, 12(5), 563-574. https://lirias.kuleuven.be/retrieve/263570

User avatar
Mohammadreza Rezaie
Posts: 407
Joined: Fri Nov 24, 2017 12:48 am

Re: Activation and tendon compliance dynamics in custom static optimization practice

Post by Mohammadreza Rezaie » Fri Mar 03, 2023 3:20 pm

I appreciate your points and It's really interesting.

It seems that in case of compliant tendon and equilibrateMuscles (or computeEquilibrium), OpenSim automatically excludes force-velocity relationship (getForceVelocityMultiplier will be always 1).

Also, I see inconsistency in terminology in literature. The classic inverse approach (CIA) in the paper you cited takes into account the force-length-velocity relationships (it must have been with rigid tendons) and differs from the classic SO we had in our discussion which considers only the max isometric force. This was confusing.

I will be using a modified SO:
Compliant tendons to take advantage of series elasticity especially in plantar flexors and including some muscle physiological properties such as force-length property and passive force in the equality constraint as well as muscle volume in a cost function with power of 2. Please let me know your thoughts about it. There are no muscle contraction and activation dynamics yet. So, "muscle physiology informed SO" is really a great term here; but it is also confusing compared with "physiological inverse approach" (PIA) in the De Groote (2009) paper which is dynamic optimization.

I have not entered to dynamic optimization yet; but due to computational efficiency, I think SO would be my best bet for almost 200 gait trials. (I would like to learn Moco and will start studying in near future)

I appreciate your help.
Mohammadreza

POST REPLY