GearStick Model with c3d data

Hi

I am using AMR 4.2 and the GearStick Modell from AMMRV1.2. I created a own Markerset based on the Plug-In-Gait Markerset. I can import the c3d data and fix the pelvis markers to the correspondable c3d data. But if i use more marker from the upper body, i get troubles with the solution of the kinematic solution. I think i’ve got some problems with the correct scaling of the model.

I looked at the GaitFullBody Model and the tutorial “Making things move Lesson 4: Parameter identification” and tried to scale my model, as writen in the tutorial, but it didn’t work at all.

My second question: Does it make sense to fix the acromion marker at the scapula or would it be better to fix the marker in the model at the trunk?

Can someone help me? I am using the shoulder rhytm for the scapula and clavicula motion.

Hi,
Scaling in your model should be done with the AnyMan file by changing the segment length.
To place the marker at the scapula should be fine.
In general I would recommend to use the Gaitfullbody application as template for your studie. It should be quite simple to transfer your model to this. The main advantage is that the optimisation and inverse dynamics studies are lined up in the right way, Marker positioning and segement length scaling can be done…
It also makes it a lot easier to debug. I think its worth the effort.
Best regards,
Sebastian

Hi Sebastian

Thanks for your reply. I will transfer my model to the GaitFullBody model. I hope, that it is worth the effort.
But whats about my markerpositions and my Initial guess? Are they good enough or should i take some time, to place them in a better way?

Best regards,
Christoph

Hi Christoph,
The inital position is ok as long as it resolves the inital conditions. Just make sure that your markers are approx. at the same spot as in the experiment. I think you can play a little with the segement length/scaling. But this has only to be good enough to make the model run. You can use some of the segment length optimization (have a look at the gaitfullbody).
Best regards,
Sebastian

Hi Sebastian

I transfered my model to the GaitFullBody model. I can load the .c3d Markers and i can solve the kinematic- and the inverse dynamic part. So far i got no problems with the model.
But i got some problems with the shoulder rhytm. If i use the shoulder rhytm, the final motion after the kinematic part looks like in the attachment. The right arm looks more or less fine, but the C7 marker and the LSHO marker are on the wrong place. It looks like the shoulder rhytm doesn’t support the huge medial rotation of the acromion at this humerus positions. Is this correct or have i got to optimize some marker positions like the LUPA? Or is there an other way to go?

I’ve got another question. Why is the position of the scapula and the head durring the kinematic analysis not logged, like it is done with the trunk and the arms? Wouldn’t it be wise to log this euler angles and use them as input for the inverse dynamic models?

Best regards,
Christoph

Hi Christoph,

I think there can be problems with the shoulder rhythm used in connection with mocap. It is a little tricky to explain but the shoulder rhythm works well if you specify the joint positions of humerus, but in some cases we have seen that when using mocap to derive the joint position of GH which is used by the rhythm it may obtain the humerus position by using combination of rotations around several axes instead of saying just flexion i may obtain the same humerus position by a combination of flexion and abduction… and sometimes this is a problem when using the rhythm. I am not sure there is an easy fix for this, but if you have markers such as RSHO you could this for driving instead.

You are right about tracking of scapula and head it would be more consistent if these where part of the tracking, we will try to include this in the next release of the models. In the is particular model they are both fixed so this is why they are not tracked.

Best regards
Søren

Hi Søren

Thanks for your quick reply. I will try to implement the head and scapula tracking for the inverse dynamic model on my own.

What do you mean with markers like RSHO? Should i try to capture the scapula position with 3 markers (thats really complicated in my example)? Or should i drive the Scapula with extra drivers like in the mannequin section (ScapulaThoraxProtraction or ScapulaThoraxElevation)?

Hi Christoph,

The RSHO marker is placed on the acromion so if you have such a marker it would let you control ScapulaThoraxProtraction and ScapulaThoraxElevation. The ScapulaThoraxRotation you will need to fix with a driver.

If you have several markers on the humerus this may also allow you to drive ScapulaThoraxProtraction and ScapulaThoraxElevation using your markers, so you may not need to fix them with a extra driver.

If you have no such markers i suggest to drive them all to a fixed position.

Best regards
Søren

Hi Søren

I’ve got a the RSHO and the LSHO Markers which are attached to the acromion. That’s exactly what i wanted to try, to drive two drivers by the markerposition and the last driver with an extra driver.

Thanks for your help

Hi Søren

I changed my model like you told me with the ScapulaThoraxRotation driver the left and the right scapula.

AnyKinEqSimpleDriver SCThoraxRotDriverRight = {
AnyKinMeasure &SCThoraxRot = …HumanModel.BodyModel.Interface.Right.ScapulaThoraxRotation;
DriverPos = {7*pi/180};
DriverVel = {0};
Reaction.Type = {Off};
};

I took 6 degrees ScapulaThoraxRotation for the DriverPos and tried also some other angle. But the result looks like in the attachment. How can I avoid this uplift of the scapula?

I recognized, that the axial rotation of the humerus is not correct. I think i should capture the epicondylus medialis too, to avoid the free rotation of the humerus at the right arm.

At wednesday I’ll have a second MoCap session. Are there any other markers which should be set for this motion?

Hi Christoph,

Do you still have the shoulder rhythm enabled?

If you do then please to exclude it and see the difference, the shoulder rhythm disables some of the kinematic contact between thorax and scapula. so it may cause this.

Which markers do you have on the arm ?

I guess it will be good to have the following :

Sternum, acromion, mid point on humerus, medial and lateral markers on elbow and wrist, mid point on lower arm, and a few markers on the hand.

Best regards
Søren

Hi Søren

No, i haven’t enabled the shoulder rhytm anymore. I think the shoulder rhytm didn’t take account of the AnyKinEqSimpleDriver ScapulaTSThoraxNodeDriver and the ScapulaAIThoraxNodeDriver which build the scapula thorax gliding plane. Is this correct? Aren’t these drivers necessary in the inverse dynamic part? Or are they not necessary, because the inverse model is driven by the euler angles? (I wondered, why they are not implemented in the inverse study)

The first MoCap was made with the plug in gait Markers. I think its really important to take the epicondylus medialis marker too, to avoid the GH external rotation if the arm is elongated. The hand motion is not really interesting for me. I drive the wrist abduction and flexion with drivers.

I got another question about the scapula motion in the model. You told me to guide the ScapulaThoraxRotation with a driver. Wouldn’t it be a better choice to drive one of the sterno clavicular rotations with a driver? As i understand the joint definitons, the arm is fixed at the thorax over the ScapulaTSThoraxNodeDriver and the ScapulaAIThoraxNodeDriver, and the sterno clavicular joint. The connection between the clavicula and the scapula is fixed with two “ligaments”, which ensure a minimal flexibility between the two bones. Is this correct?

Best regards
Christoph

Hi Christoph,

This is correct there are changes in the scapula thorax gliding plane when the shoulder rhythm is applied only one of the contact points remains. This is needed since it would not be possible to fulfill both a specified rhythm and kinematic constraints from the ellipsoid contact.

There are still reactions applied between the scapula and thorax so inverse analysis is ok.

You are absolutely right this would be a better choice for driving the shoulder earlier today i suggested a similar set of drivers in this thread.

http://forum.anyscript.org/showthread.php?t=2663

Here the SternoClavicularAxialRotation is driven to a fixed value the rest is driven by markers.

Best regards
Søren

Hi Søren

I had the second MoCap session. I haven’t enabled the shoulder rhytm and i drive the SternoClavicularAxialRotation on both sides with fixed 20°. I run the MotionAndParameterOptimization and optimized the RUPA, LUPA, RFRA and LFRA marker positions.
I run also the inverse dynamic model.
Everything works computationally (I didn’t get some errors), but i get some penetration warnings.

Now i got some questions about my model:
Is the optimization okay? I think the rotation of the elbow is not okay, how can i get better results?
Can i drive the SternoClavicularAxialRotation with fixed 20° or should i vary the rotation and how?
Can i get rid of the penetration warnings?

The model is in the attachement, I use AMMRV1.2 And the AMS 4. 2. 0. 1460

Hi Christoph,

Sorry for the late reply. The model look quite good to me. I think the elbow flexion is ok. Maybe the shoulder is a little high, but not by much according to the markers. Driving the SternoClavicularAxialRotation to 20° is also ok.

What you could try if you want to improve the shoulder is to free the driver for the conoid ligament length during the optimization and then drive it in the inverse dyn analysis with an interpolation driver like the other joints. I am not absolutly sure that will give better results, so if it doesn’t then i guess you can stay with the motion you have right now.

About the penetration i see there are just two. This not easy to get rid of, it would require to either change the motion or the wrapping surface or muscle attachment points. So as there are only two and they are not big (you can see that the muscles concerned still have a correct path) i think you can just ignore them.

Best regards, Sylvain.