I'm trying to do biologically based locomotion animation.

I have a Hill-Type Muscle Model (see reference 1) that I've implemented in code. I can find the initial lengths of the tendons, then do a step and find the new velocities and forces.

My question is, how do I use this information to simulate the muscle?

Specifically, we will call our muscle a Muscle Tendon Complex (MTC) that has four parts:

  • The contractile element (CE) which models the active force production

  • The parallel elastic element (PEE) which is in parallel with the CE

  • The serial elastic element (SEE) which is in series to the CE, and

  • The serial damping element (SDE) which is in parallel to the SEE

Each of these have a length $l$, where

$$l_{SEE}=l_{SDE}, l_{PEE}=l_{CE} \text{ and } l_{MTC}=l_{SEE}+l_{CE}$$

and each has a velocity $i$. We also know a relationship between the force $F$ that each tendon produces:

$$F_{CE} + F_{PEE} = F_{SEE} + F_{SDE}$$

And the output force $F_{MTC}$ of the muscle is


Then the muscle has some activation value $0.001 \leq q \leq 1$.

What I know so far is that you do the following:

  1. Start the muscle not moving ($i_{MTC}=0$ and $i_{CE}=0$), then choose a reasonable starting length for your tendons. They use $l_MTC=0.264$ so I'll use that too. Then run a solver to find the $l_{CE}$ such that the force generated by the muscle while not moving is 0 to find the initial $l_{CE}$.

  2. Given the current velocities and lengths, calculate the force generated by each element and a new velocity $i_{CE}$. if $i_{CE}>0$, recalculate it using other equations. This part I can do.

  3. Calculate $F_{MTC}=F_{SEE}+F_{SDE}$ which is the output of our muscle tendon complex model.

  4. "Integrate $i_{CE}$ to get $l_{CE}$ along with the ..."

  5. "Multi-body simulation that calculates the generated motion from $F_{MTC}$, which results in new $l_{MTC}$, $i_{MTC}$, and $q$. Now repeat from step 2".

4 and 5 are direct quotes from the paper (including the "..."), but I'm not sure what they mean or what I'm supposed to do. Is there something trivial here I am missing?


  1. Haeufle, D. F. B., et al. "Hill-type muscle model with serial damping and eccentric force–velocity relation." Journal of biomechanics 47.6 (2014): 1531-1536.
  • 2
    $\begingroup$ I'm guessing that the key to this model must be some differential equation that you haven't shown. In general, pointing participants on this site to a technical paper and expecting them to read it will not produce many responses. And if the paper link is to a non-free journal site, that many (or most) of us don't have access to, you reduce your chances of a response even further. $\endgroup$ Sep 25, 2016 at 17:34
  • $\begingroup$ So it looks like someone found a link to a free version of the paper. My question is really just "How to implement a Hill-type muscle model", but no one had any clue there it seems, so this was an attempt at providing a more specific version of that question for something that did seem promising. How could I have improved this question? I had a much longer write up initially made for this post, but I tried to shorten it to just the relevant points. Maybe that was too much? $\endgroup$
    – Phylliida
    Oct 1, 2016 at 23:15
  • $\begingroup$ The reference added by @nicoguaro provides a Simulink implementation of their model (github.com/daniel-haeufle/macroscopic-muscle-model). If you have access to Simulink you could try their example or at least examine their code. $\endgroup$ Oct 2, 2016 at 12:20


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.