CMC Examples?

Provides a real-time, dynamic simulation of arm movement.
POST REPLY
User avatar
Spencer Savoies
Posts: 6
Joined: Wed Sep 18, 2013 12:10 pm

CMC Examples?

Post by Spencer Savoies » Sun Aug 03, 2014 5:27 pm

Hi,

I am using the new Dynamic Shoulder Model to predict muscle activations. I have both marker files .trc and joint angles .sto as input for inverse kinematics. I would like to run CMC through opensim but I am having trouble adapting the lower extremity CMC example file to work with the Upper extremity model. Would you happen to have an example of a cmc setup file?

Spencer

User avatar
Ton van den Bogert
Posts: 164
Joined: Thu Apr 27, 2006 11:37 am

Re: CMC Examples?

Post by Ton van den Bogert » Mon Aug 11, 2014 1:43 pm

I have never done CMC so I can't really help with that. At this point in our project, we only support forward dynamic simulation via the Matlab code that was provided. You could try asking the question in the Opensim forum, you will find expertise on CMC there.

Before you can do inverse kinematics, you will have to define markers in the Opensim model. A common problem with shoulder kinematics is that markers on the clavicle and scapula (if included in the experiment) don't give very good information about bone movement. Inverse kinematics won't work unless you have at least two markers on the scapula and one on the clavicle. If you don't have those markers, or don't trust them, you will need to edit the Opensim model and remove some of the rotational degrees of freedom in the clavicle and scapula joints.

There may be other shoulder models on Simtk that are more suitable for inverse kinematics and CMC.

User avatar
Spencer Savoies
Posts: 6
Joined: Wed Sep 18, 2013 12:10 pm

Re: CMC Examples?

Post by Spencer Savoies » Tue Aug 12, 2014 2:19 pm

I have come to realize the limitations you stated occur with most of the upper extremity models.

I used an electromagnetic system (Fastrak) to collect the marker coordinates as well as the azimuth, elevation, and roll angles of 4 sensors. Using the ISB standards I have calculated joint angles for all
joints in the model except for SCx, SCy and SCz from this data.

Using the marker coordinates and joint angles I was able to scale the model in opensim, and use inverse kinematics to get a motion file.

I would now like to output estimated muscle activations using the motion file and an external force on the ulna as input. I see a lot of people use cmc for the lower limb/gait to get muscle activations but I have not
come across an example for the upper limb. I think the static optimization function in opensim is another option but from what I have seen in the literature CMC tends to give better results when
predicting lower limb muscle activations.

The Stanford "Holzbaur" Model is also an option but the model seems more simplistic and does not have the same muscles as the Dynamic Arm Simulator (and does not have the same muscles that I collected with EMG). If I have any luck I'll post here.

Thanks,
Spencer

User avatar
Ton van den Bogert
Posts: 164
Joined: Thu Apr 27, 2006 11:37 am

Re: CMC Examples?

Post by Ton van den Bogert » Wed Aug 13, 2014 7:46 am

Sounds like you were successful with the kinematic analysis, but I would take a good look at the scapula position that came out of the inverse kinematics.

If I remember correctly, the Opensim model is not aware of contact forces between scapula and thorax (that's all in the real-time code). So you may get non-physiological scapula positions, e.g. penetrating the thorax.

This will also affect your estimated muscle forces. In a model without contact force, the muscles are entirely responsible for maintaining the posture of the skeleton. There is no help from the contact force. So you may overestimate the muscle forces.

This may be a reason to use a more simplistic model that has no scapula. I'm not familiar with Holzbaur's model, it may be suitable. We also developed such a model without scapula in the Dynamics Arm Simulator project (DAS2, Chadwick et al, 2009) but we have not made it available. It was actually done in SIMM rather than Opensim.

In shoulder models, the muscle force estimation is usually done with the added constraint that the reaction force between scapula and humerus should not dislocate the joint (van der Helm, J Biomech 1994). I'm not sure if Opensim has that capability.

We are working on Matlab code that uses the DAS3 model for problems exactly like yours, and we are already having some success with that. It's not quite ready to be released yet.

Ton

POST REPLY