CMC algorithm

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Pia Stefanek
Posts: 48
Joined: Tue Mar 13, 2018 12:21 pm

CMC algorithm

Post by Pia Stefanek » Sun Nov 18, 2018 3:16 am

Hi,
I want to understand the CMC algorithm. Therefore I read the user's guide (https://simtk-confluence.stanford.edu/d ... +CMC+Works) and the paper (Generating dynamic simulations of movement using computed muscle Control -> https://www.researchgate.net/publicatio ... le_control).

1. In the User's guide is written that there exist two formulations of the static optimization problem: the slow target and the fast target. The fast target consists of the sum of squared controls and of a set of equality equations. The equality equations are the differences between the desired and the model accelerations of the generalized coordinates. What I don't understand is why they are all zero? (Cj=0)

2.In the paper 'Generating dynamic simulations of movement using computed muscle Control' is written that the integration of three equations is required during the forward dynamics step of CMC. One concerncs activation, one concerns contraction and one concerns body movement. Is it correct when I say that CMC uses the body movement equation just to calculate the generalized coordinates and speeds for the next iteration step?

Thank you very much.

Pia

Tags:

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: CMC algorithm

Post by Dimitar Stanev » Sun Nov 18, 2018 11:40 am

1. In order to satisfy equality constraints of the form q_simulated = q_experimental you have to write them as a difference C = q_simulated - q_experimental = 0. The optimizer then tries to make the quantity C go to zero by satisfying the provided tolerance.

2. The dynamic evolution of the musculoskeletal system is defined by 3 different sets of differential equations:

a) the equation of motion M qddot + f = tau
b) the activation dynamics adot = f(u, a; parameters)
c) the contraction dynamics ldot = g(l; parameters)

Provided initial conditions they can be numerically integrated (forward dynamics) in order to predict the evolution of the system for a given excitation u. CMC solve all the differential equations because it uses the forward dynamics method internally.

User avatar
Pia Stefanek
Posts: 48
Joined: Tue Mar 13, 2018 12:21 pm

Re: CMC algorithm

Post by Pia Stefanek » Mon Nov 19, 2018 1:09 am

Thank you very much.

1.Can you tell me what the tolerance is for example? Is it for example maximum and Minimum values for the residual actuators?

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: CMC algorithm

Post by Dimitar Stanev » Mon Nov 19, 2018 3:42 am

This is the tolerance that is used by the optimization procedure in order to find a solution that satisfies the equality constraints. It should be typically in the range of 10e-5. In case that the equality constraint can't be meet then artificial forces (reserve actuators) should be used. It depends on the implementation but the simplest way to think of the reserve forces is that if tau = R f_m(a_m) cannot be meet then add reserve forces such as that tau = R f_m(a_m) + tau_r. Then the optimization tries to find a_m and tau_r.

POST REPLY