Upper Body Model

Hello Sylvain,

It happens in all subjects for the Joint Moments of GlenoHumeralAbduction, Flexion, Rotation, ElbowFlexion, (Pronation not so much), WristFlexion, Abduction.

I have added a few files with which you could reproduce a bit of my analysis.

  1. The Model
  2. Protocol (containing anthropometric data)
  3. A few .c3d files in which the peaks in the Joint Moments occur
  4. Pictures of Matlab Analysis of the Joint Moments

Greetings,

Hans

Also, I was wondering if it is possible to input an external force, reacting on the end of the Cane. This would represent the ground reaction force in 1 condition in which the Cane is on the ground while walking.

Because we measured the angle of the Cane during every trial and know it’s weight, we want to calculate the ground reaction force and input it into AnyBody. The only possible problem is calculating over the 3 axis, because the Cane-model is moved&rotated during the trial and the ground reaction force stays within one axis…

Hi Hans,

  1. For the peaks:
    I looked at the c3d files and the cause seems clear. It comes from the marker trajectory. You can see it from the position curves already. See the three pictures attached (Sub3 NC marker data). You can see that the end of the Pos curve is dropping, and then you can see the velocity and acceleration peak resulting of it.

So in short this is just how the data has been recorded (maybe some wrong effect of the mocap system, i don’t know…). So the only thing to do is to consider this part of the marker trajectories as invalid and reduce the time of analysis in AnyBody (tStart and tEnd) to cut it.

  1. The cane GRF:
    Yes you can input an external force. Use the AnyForce3D class. You can use a text file with the force data (Use an AnyFunInterpol in addition). You can choose the point of application (tip of cane) and choose the force to be in global coordinate system, so you don’t have to worry about the cane orientaion.

Best regards, Sylvain.

Hello Sylvain,

Thanks for the reply and clear explanation, I couldn’t quite find the position charts myself, I see now that I was looking in the wrong folder.

I’ll go and try to implement the Ground Reaction Force to the cane.

Hello,

I`m currently using this same Model for other purposes, mainly comparing EMG data with Muscle Activation as calculated from AnyBody.

In the task from the 3D data, a subject has to reach from center body on table height to upper right on shoulder height and back to the table 4 times in a row. We’ve recorded EMG and rectified it according to the subject’s Maximum Voluntary Contraction.

I’ve processed the 3D data in AnyBody and used the Min/Max, Quadratic and Polynomial algorithmes to determine Muscle Activation of the 1) Biceps, 2) Triceps, 3) Trapezius, 4) Pectoralis Major, 5) Deltoid and 6) Latissimus Dorsi.

AnyBody gives Muscle Activation for several parts of one muscle; e.g. Pectoralis Major Clavicular part 1. For comparison to the EMG data, how should I handle these parts?
Next, it seems the AnyBody calculated Activation is higher in some muscles (Deltoid) than in others (Pectoralis). The EMG data shows activation in both, but AnyBody has an overshoot for the Deltoid and no activation for the Pectoralis. How does AnyBody handle the Muscle Activation?

Greetings,

Hans

Hi,

For the muscles divided in several branches you can take the max of all the branches. That creates an envelope, like the MaxMuscleActivity output. Here is an example of the code, it uses an * caracter to take all the muscles with a similar name:

AnyFolder Soleus = {
AnySearchFun sf = { Search = “Main.Studies.HumanModel.BodyModel.Right.Leg.Mus.Soleus*.Activity”; };
AnyVar ComputedActivity = max(sf());
};

The Muscle Activation in AnyBody is handled by an optimization. So for the load case you provide to the model, the activation you get is the most effective combination.
The difference you see between the EMG and predicted muscle activity can involve many things. There is the motion first, as you are using c3d data we can assume it is correct. If there was any loads in the experiment you should of course make sure they are correctly reproduced in the model. Also stupid errors like the gravity in the wrong direction happen quite often. Try to double check all this.

At the end the EMG/activation compairison is often good for some muscle and not so much for others. Don’t expect a perfect match. For example it can be considered ok for muscle with a very low EMG signal to have a corresponding zero activation on the model.
Probably the EMG signal for the pectoralis is not as strong as the deltoid one in your experiment.

Best regards, Sylvain.

Hello Sylvain,

Thanks for your reply,

as an addition to the model, we would like to see how the muscles are activated in zero gravity. I tried to setup the gravity as 0.0 m/s2 but I got an error stating I do not have enough muscles in the model to complete the movement. I also tried gravity at -0.01 or -1.0 but it gave me the same error.

Is it possible to do zero gravity Inverse Dynamics?

Greetings,

Hans

Hi,

Yes it is possible to do zero gravity inverse dynamics. Of course you need all the degrees of freedom to be supported (by muscles or reactions…). Maybe by removing gravity you got a DoF unsuported. For example check that all 6 reactions are active on the pelvis.

Best regards, Sylvain.