MoCapModel vs. MoCapModel-Runner

Hello AnyBody:

I have used MoCapModel available in AnyBody6.0/AMMR/Application/Examples to calculate muscle and joint forces. I am trying to do the same using MoCapModel-Runner. However I noticed that the [COLOR=darkslateblue]runner is in a coordinate system with [COLOR=red]y- in the vertical direction, but the C3D data was defined in a coordinate system with z- in the vertical direction. I also checked TrialSpecificData.any and found that gravity is aligned with z as well (in MoCapModel, gravity is in y-). I decided to give a try without making any changes. Surprisingly, the results look quite reasonable to me! As seen in the picture, GRF has the highest component in z direction (3327 Newton or 5 BW); and JRF at ankle (25 BW) > JRF at knee (16 BW) > JRF at Hip (13 BW); proximal-distal JRF is greater than the other two components. [/COLOR][/COLOR]

[COLOR=darkslateblue]My questions are:[/COLOR]

Should I rotate one of the two coordinates and make them consistent? if so, how?? Furthermore, is it reasonable to replace the walking c3d with running c3d? I can imaging the muscle recruitment law might be different but don’t know how to change it.


Hi Phoebe,

A few comments…

  1. Ground reaction forces(from the force plate data in C3D file) always follows the local coordinate system of the force plate, which has usually z-axis as vertical. ( So GRF value is local )

  2. The gravity should be set by considering the lab coordinate system. ( you should not change this!!)

  3. The joint reaction forces will follow the local coordinate system of the joints. The joint reaction forces will follow the first reference frame of the joint. ( So JRF value is local)

So if you want to compare JRF and GRF then it may make sense to covert those values from local coordinate system to global coordinate system.

If you see the description of the ‘AnyRefFrame’ class in the reference manual, there are two lines which you should remember:

GlobalVector = (Axes * LocalVector')' ;
GlobalVector = LocalVector * Axes';

Using these lines, you can convert the local vector to global vector.

I hope this may help you.

Best regards,

Thanks for explaining how references were defined! This is very helpful.

My purpose was not to compare JRF and GRF (although I did put them side-by-side :D). I was wondering if it's necessary to do some coordinates conversion if the coordinates of GRF and the coordinates of JRF are consistent, so that the following musculoskeletal analysis is reasonable. Do you think I should convert these two local coordinates into global coordinate using AnyRefFrame? Is it defined in Environment.any?

More importantly, is it reasonable to simply replace the walking C3D with running C3D file to calculate muscle/joint forces? Is it necessary to modify things like muscle activation / recruitment law accordingly?

Thank you so much for your help!



I wanted to catch up on one question asked that was not answered.
Namely, is there/what are the difference between the MoCapModel and MoCapModel-Runner ?

I’d appreciate your help.

Hello Nathalie & Phoebe,

the model behind the MoCap and MoCap-Runner application are the same, only the input and some settings are different:

  • MoCapModel uses a standard subject with different gait trials
  • MoCapModel-Runner uses a running subject, the data used for this model was kindly provided by Prof. Y. Liu, Shanghai University of Sports, China. The Runner is a famous Chinese runner. Unfortunately, the marker recordings for the runner model were not very good, so it runs only with lower extremities.

Hi Amir, hi Nathalie:

Thanks for your comments. My understanding is that, both models are based on the same kind of muscle activation criteria, (minimizing the sum of cubed muscle activities, where the muscle activity was defined as the muscle force divided by your defined muscle strength.) They make physiological sense for most of the (skilled) applications, whereas verification can be achieved via EMG. Evidently there are problems in comparing your predicted muscle activities/force w EMG, too, unfortunately it's the best available practice.


Thanks Amir and Phoebe for your replies.
I have used my own MoCap data of a runner. Muscle forces had the same amount in both models, with a bit of a time shift, but muscle activity differed greatly. Therefore, I thought, that in the MoCap-Runner model muscle strength was maybe set to different values.

As you said, running data is from a famouse Chinese runner, it makes sense to increase the strength of a muscle. However, if I want to compare recreational runners with two different shoes, should I change something in the “normal” MoCap model?


the best would be of course to measure the strength of the subjects and use that data. This might not be easy though, because you need to measure the strength of the individual muscles.
For the normal MoCap model: the muscle strength I think is on the lower side. So you could increase the strength a bit, in particular when they are healthy, sporty people.

Dear Amir:

Thanks for replying. I have a (related) follow-up question.

  1. where to change individual muscle strength?
    For instance, strength of SoleusLateralis3 seems to be located at Main.Studies.HumanModel.BodyModel.Left.Leg.Mus.SoleusLateralis3.Strength; is that correct?

  2. how to change muscle (group) strength efficiently? Is it possible to scale a group of muscle (e.g., soleus as a group) by XX% (instead of manually changing individual ones)?

  3. I did a simple comparison between the SoleusLateralis3 strength between MoCap and MoCaprunning, and found the values to be 2161 and 7028. Is there a reference supporting the use of more than 3X greater muscle forces in athletes?

Thank you for your help!

Hi Amir,

thanks for the reply.

I’ve also got one more question:
Do you have any expierence on which muscle types (Simple or Hill type) to use?

In the literature, e.g. vastus lateralis or rectus femoris are active in the beginning of stance phase, however, in the modeled data the activity starts at about 20% of stance. Using the hill muscle type (without adjusting anything), peak muscle activity occurs even later compared to the simple muscles. (attached)

I’ve seen the Uwe Kersting has used the AnyBody model for running. What did he use?

When I compare two shoe conditions, would you recommend using the min/max criteria instead of the standard (p=3?) ?

@Phoebe: How does muscle activity occurence look in your data? Or how did you model it?
In case you haven’t seen this for the strength index:
In the Runner Model following parameters were changed in Model/HumanModel
AnyVar SpecificMuscleTensionSpine= 250; (normal model = 90)
AnyVar StrengthIndexLeg= 3; (normal model = 1)
AnyVar SpecificMuscleTensionShoulderArm= 250; (normal model = 90)


it’s tough to say what is best. Most users and also I stick with the simple muscles most of the time. Same is with the criteria, most people stick with the default.
Do you have emg to validate or to compare?

Hi Nathalie:

I only compared simple vs. Hill model under walking condition. Same as you I observed Vastu Lateralis and Vastus Medialis activated around 20% of the stance, before that there is no activity at all. However for my case, Hill Model reduced the delay(~12%). I had another thread asking how to eliminate the delay completely, but was convinced that some level of delay is acceptable due to electromechanical delay between when EMG has a signal and when some muscle tension can be detected.

Can you give me a little more details about where to change the muscle strength?

Hi Amir,

no we haven’t measured EMG, actually that’s why we wanted to look at Muscle Activity with AnyBody now.
We compared the results to the literature though. In the literature, vastus lateralis and rectus femoris are pre-activeted before stance starts, and peak muscle activity occurs at at 20%.

In our data analyzed with AnyBody, the muscle starts to be active around 5-10% and peak muscle activity occurs at 45%.

That’s the only indications I have so far.


I have analyzed lately in a project over 20 subjects with 3-5 Gait trials each and compared EMG and muscle activation. The variation within EMG and subjects alone was huge. Depending on the style of walking (more rotation, swinging hip, etc…) you will have very different activation of your muscles. In my opinion, it is difficult to compare to general literature values. Theses shifts of 5-15% are within reason.