Dear all,
I'd like to have some information about the musculotendon dynamics. A detailed publication https://web.stanford.edu/~tkuchida/pape ... cs-JBE.pdf about the equations solved by the models but a I've got some equations about it.
For the equilibrium with elastic tendon formulation of the musculotendon dynamics these are the following equation
1 - the equilibrium equation
2 - the constant height of the muscle.
3/4 - the length and the velocity of the muscle+tendon complex imposed by the musculoskeletal motion
And we have 5 unknows : pennation angle, length of muscle, velocity of muscle, length of tendon and velocity of tendon.
I guess that the velocity of the muscle computed at time t is used to guess the lenght of muscle at time t+dt by an implicit scheme so it add another equation ?
Nevertheless, even if we know the length of the muscle plus the tendon at t=0, how the length is splited between the tendon and the muscle at t=0 ?
How the first equation computing the velocity by inversing the force-velocity curve is solved ? By a newton-Raphson algorithm ?
Thanks for your time.
Modeling and Simulation of Musculotendon Dynamics
- Yanis AMMOUCHE
- Posts: 23
- Joined: Mon Apr 24, 2017 6:09 am
- Thomas Uchida
- Posts: 1792
- Joined: Wed May 16, 2012 11:40 am
Re: Modeling and Simulation of Musculotendon Dynamics
The algorithm is described in comments in the source code. See the Millard2012EquilibriumMuscle::estimateMuscleFiberState() class in Millard2012EquilibriumMuscle.cpp, from line 1219: https://github.com/opensim-org/opensim- ... .cpp#L1219
The fiber velocity and force–velocity multiplier are estimated from the relative fiber and tendon stiffnesses (from line 1327).
The algorithm was slightly different in 3.3; you can view the changes over time by clicking the "History" button above line 1.
The fiber velocity and force–velocity multiplier are estimated from the relative fiber and tendon stiffnesses (from line 1327).
The algorithm was slightly different in 3.3; you can view the changes over time by clicking the "History" button above line 1.
- Yanis AMMOUCHE
- Posts: 23
- Joined: Mon Apr 24, 2017 6:09 am
Re: Modeling and Simulation of Musculotendon Dynamics
Thank you very much, they are indeed using a newton-raphson to determine the length of the muscle and the velocity of the musculotendon is split depending the relative stiffness of the tendon and muscle.
Once the initialization is finished, the velocity of the muscle is used to predict the length of the muscle at the next step ? Because I did not find such an algorithm on the code.
Yanis
Once the initialization is finished, the velocity of the muscle is used to predict the length of the muscle at the next step ? Because I did not find such an algorithm on the code.
Yanis
- Thomas Uchida
- Posts: 1792
- Joined: Wed May 16, 2012 11:40 am
Re: Modeling and Simulation of Musculotendon Dynamics
Fiber length is a state and is computed by the integrator given its derivative (fiber velocity).Once the initialization is finished, the velocity of the muscle is used to predict the length of the muscle at the next step ? Because I did not find such an algorithm on the code.
- Yanis AMMOUCHE
- Posts: 23
- Joined: Mon Apr 24, 2017 6:09 am
Re: Modeling and Simulation of Musculotendon Dynamics
Thank you, I had a huge feeling the fiber velocity was used to compute the fiber length. I know it may be much to ask, but can you tell me in which C++ file the integrator are coded ?
- Thomas Uchida
- Posts: 1792
- Joined: Wed May 16, 2012 11:40 am
Re: Modeling and Simulation of Musculotendon Dynamics
The integrators live in Simbody here: https://github.com/simbody/simbody/tree ... rators/src.but can you tell me in which C++ file the integrator are coded ?