MoCap Model-Neck posture

I am studying the MoCap Model to simulate neck protraction. Protraction is attained by anterior translation of head and putting the chin fully forward. But it seems that the neck in the model is different from what we observed in Vicon system. Both of head and neck are less forward in the model compared to Vicon. Is it possible to simulate neck protraction with MoCap Model?

did you switch to the detailed neck model?

#define UseDetailNeckModel 0

Dear Amir

Thanks for your reply!

I did use the detailed neck model. But the head markers in blue are far away from the red ones. They do not match very well. Is it possible to simulate this extreme neck posture?

there is also a switch in the TrialSpecific to use the head markers or not. Did you check this?

Dear Amir

Thanks for your reply!!

I did also use the head markers. But they still do not match well.

can you upload the model to the debug section?

Hi Amir

I uploaded my model to the debug section.

Hoping for your reply.

Hi Amir

I noticed interesting results: Sternomastoid muscle force was 0 and sternomastoid muscle activity was 0 in neck flexion, neurtal or protraction position. It should not be like that.

I am wondering why this important muscle did not generate force, even using the detailed neck model.

Do any other muscle have an activation instead?

Hi Amir

Anterior neck muscle, like longus colli and longus capitis, do have activation.

So the model predicts that it is more efficient to use those muscles instead.

Dear Amir

But a webcast from YouTube, named “A detailed rigid-body cervical spine model based on inverse dynamics”, shows the sternomastoid muscle activity during cervical flexion is 0.8 and the value is not small.

That’s why I doubt my result which showed sternomastoid muscle activity and force were zero.

Hi Anybody

I used MoCap-detailed neck model to simulate several head-neck position.

I am wondering whether I can output the center of head gravity. If so, where can I find its coordinate? Coz I didn’t find any nodes in the skull.

Many thanks for your help!


You can define your own AnyKinCoM object instance in order to track the position of CoM.

  1. If you only want to consider the skull segment, then:
    AnyKinCoM MyCoM =
    AnyFolder& ref = Main.Studies.HumanModel.BodyModel.Trunk.SegmentsThorax.SkullSeg ;

  2. If you also want to consider the cervical spine segments together, then:
    AnyKinCoM MyCoM =
    AnyFolder& ref0 = Main.Studies.HumanModel.BodyModel.Trunk.SegmentsThorax.SkullSeg ;
    AnyFolder& ref1 = Main.Studies.HumanModel.BodyModel.Trunk.SegmentsCervicalSpine;

Then you can just read the position of this AnyKinCoM measurement.

Best regards,

Hi Moonki~

Many thanks for your quick reply.

But I didn’t get the measurement by adding the code you recommended.

I put it in the “Inverse Dynamics” folder, but it didn’t work. Do I need to put this code in specific folder?

Would you please give me the link about its tutorial?

Also there is another question.

I used the C3D file to drive the model two days ago, it did work and succeed in “InverseDynamicModel”. This time when I try to recalculate it again, there went something wrong with the optimization. My C3D file was good, but the set of markers recorded by motion capture were not included in the model (please see the attached). So it didn’t pass the “MotionAndParameterOptimizationModel”. What happened to this model?

Hi Alice,

Could you elaborate a little more on the error you get with the AnyKinCom inclusion? Does the model fail to load, and in this case what error do you see? or is it just that you don’t get the CoM value you expect?

You can see an example of AnyKinCom in the Lesson 3 of the chapter “Making Models Using SolidWorks”.

Could you also tell me a little more about the marker error? What changes have you made the model between when it ran and now?