Muscle Force determination

Hy, I have got a question concerning muscle force determination. Anybody uses inverse dynamic, that means first the joint moments are calculated?this moments are furthermore a constraínt for the objective function, which could be for instance minimization of the muscle activity?
That means the constraint could be written as: M=F1d1+F2d2+F3*d3…
where F=muscle force and d=moment arm
But which muscles are incorporated? Normally the moment is generated only with the agonists? That means the antagonists are neglected? Or which method uses anybody?
What happens with muscles, which are wrapped over two joints? Are they changed to muscles, which wrap only one joint?
thank you for help

Hi Manuel

Your understanding of the mathematical formulation is not entirely correct, below please find a short description, but for details please read the following paper:

Rasmussen, J., Damsgaard, M. & Voigt, M. (2001): Muscle
recruitment by the min/max criterion - a comparative numerical
study. Journal of Biomechanics, vol. 34, no. 3, pp. 409-415

In AnyBody we do not find the joint moments first and then distribute
the muscles activation to fulfill the moments, it is solved as one big
optimization problem which balance all dof in model and at the same
time reducing the muscle activations.

We normally write the constraints as:


C: coefficient matrix (containing muscle “moment arm” information )
f: unknown forces
d: applied loads and inertia forces

furthermore there is a constraint which ensures that the muscle can only pull.

The muscle recruitment algorithm will also determine antagonistic muscle actions, if this helps reduce the activation of the other muscles.

Muscles that spans multiple joint is handled correctly since this is part of the coefficient matrix C.

Please ask again if you have further questions

Best regards

I have one further question…could you explain the C coefficients in more detail? Which other components like the moments arm are included? Do you means for instance the Forces in x direction and y direction?Could you tell me the equations for the contraint?
I don’t know which components are used for the big optimization method.
Thanks in advanced

Hi Manuel

The composition of the C matrix is described in detail in the paper

Michael Damsgaard, John Rasmussen, Søren Tørholm Christensen,
Egidijus Surma, and Mark de Zee (2006): Analysis of musculoskeletal systems
in the AnyBody Modeling System. Simulation Modelling Practice and Theory.
Volume 14, Issue 8 , November 2006, Pages 1100-1111. Elsevier, ISSN: 1569-190X

Here is a short resume of the papers description of the C matrix:

C, can be partitioned according to muscle and reaction forces, i.e., C = [C(M)C®] that define g(M) = C(M)f(M) and g® = C®f®.
C® is in principle the transposed of the Jacobian constraint, Uq . This follows from standard forms of the constrained equations of motion for a multibody system where f® is given by Lagrange multipliers associated with the constraints.

The muscle coefficient matrix, C(M), requires a geometric model of the muscles. We model the muscles geometrically as elastic strings spanning between two or more points and in cases wrapping over rigid obstacles.
The C(M) matrix is found through the principle of virtual work.

Best regards

To solve the objective function (for instance MIN (G(fm)) with the constraints of C*f=d, 0<fi<Ni), exists there a “simple” mathematical method, which I can program manual. I guess anybody uses such kind of optimization algorithm?

Best regards

Hi Manuel,

You need an optimization algorithm to resolve the problem, this is the core of the AnyBody modeling system. Optimization algorithms comes in many flavors and there are pro and cons on each of them.

We have in many years gradually improved the optimization algorithms in AnyBody to handle very large musculoskeletal system fast and reliable. On paper the equations may look simple but good implementations requires knowledge and experience and there are many things to consider when doing the implementation.

You might be able to get more ideas on how to do such an implementation in the report:

Best regards

First of all, thanks a lot for your time to help me.

The aim of my project is to create a biomechanical model of the upper extremity during cycling in Matlab and compare it with the 2D Bike model in Anybody. Thats why I have some questions to you…

Thank you for the paper, there is a lot of information inlcluded.

I have another question concerning the calculation of the NetJoint Moment and Forces in Anybody, I mean the applied moments and forces at a joint without muscles.

Is this possible with the AnyForceMomentMeasure2 object? As I wriiten to you I find the syntax at the LegMoments.any, which is used at the 3D bike model but the values are not the same, because I have calculated the forces also manual, which is not very difficult.
Is this the correct syntax?:
Or is it generally possible to calculate these values in Anybody?

AnyForceMomentMeasure2 AnkleNetMoment = {

AnyRefNode &ref2=Main.Model.Leg2D.Right.Jnt.Ankle.FootNode;
AnySeg &seg=Main.Model.Leg2D.Right.Seg.Foot; AnyReacForce&jnt3=Main.Model.Leg2D.Right.Jnt.Ankle.Constraints.Reaction;


Best regards

generally you can can use the AnyForceMomentMeasure2. If I understood correctly you are looking for the joint moments in a modell without muscles. This can be simply found in the jointmuscles folders, there are so called joint muscles defined.
Best regards,

Hi, if I want to calculate the joint-moments produced by the muscles I can use the AnyForceMomentMeasure2 object.
But the syntax I have written above calculates not the right values, do you know why?

Best regards

If you are using the Bike2d model you have to include the muscles in the AnyForceMomentMeasure2
Best regards,

Hy, concerning muscle force determination. There are different methods, one method is the optimization, another method is by using muscle models like Hill.
For example, at the 3D bike model it is possible to use the Hill muscle model and a optimization?Is this right?But how can this work? I think the muscle force is calculated then in two different ways?
Best regards

I think you mix up Muscle models and the computation of the forces. There are different muscle models, one of them is the Hill type model, this determines the maximum strength of the muscle, the recruitment of the muscles, meaning the amount of force needed from each muscle is always determined with an optimisation method. Please have look at the tutorials on muscle modeling and inverse dynamics.
Best regards,