Body mass within AnyBody

Hi everybody,

I’m trying to perform some calculations using the Application example GaitFullBody (AMMR.v1.5).
When defining the BodyMass, as it’s done in the folder “Anthropometrics” in the file TrialSpecificData.any, does that means that the masses of all the muscles introduced in the model are counted in that defined BodyMass, or those muscle’s masses are added to the BodyMass?

Thanks in advance for your answers.

Cheers

Arnaud

Arnaud,

the bodymass that you define in the trial specifc section includes everything. That is the total mass of the subject.

Hi Amir,

Let’s say I would like to simulate the gait of a person with a body mass of 100 kg using the GaitFullBody model. I changed the mass in the Anthropometrics folder from 62 to 100 kg.

Then I should define new ground reaction forces, new C3D data !!!

But, what would happen if I use the same GRF and C3D data of the GaitFullBody model ?

Do you think it will be OK to perform that way?

Cheers,

Arnaud

Dear Arnaud,

That approach will not work. By changing the weight in the Antropometrics, you will only change the scaling, but the force that comes from the ground is still the same. That means you have a heavy person almost flying over the ground.
A very typical ground reaction force is 110% of body weight.

If you want to go that way, you might want to change the force from the forceplatform:

  1. Make a copy of the ForcePlateType4AutoDetection

  2. rename it to something like ForcePlateType4AutoDetectionModified

  3. Include that instead of the original

  4. change the following code:
    AnyFunInterpol load ={
    Type=PiecewiseLinear;
    T=.Time;
    Data=.Cal’*{Fx,Fy,Fz,Mx,My,Mz}*Main.TrialSpecificData.Anthropometrics.WeightRatio; };

  5. Create that AnyVar WeightRatio = BodyMass/62;

I hope I did not forget anything…

Dear Amir,

thanks a lot for your help.

When I used the original model (bodymass=62) the vertical axial force Fy in the knee is about 370 % BW (Body weight);

However, when I change the body mass to 100 after modifying the ForcePlateType4AutoDetection as you indicated, the vertical axial force Fy is now about 390 % BW.

That is the same magnitude, but I expected the same results. By the way, some experimental measurements from Bergmann et al led to ~300% BW (www.orthoload.com)


I tried to defined a node called “BergmannNode” in order to output the forces within the knee. I proceeded as follows:

1/ In the folder Main.HumanModel, I add the following code

BodyModel.Right.Leg.Seg.Thigh.KneeJoint = {
AnyRefNode BergmannNode ={
ARel={{0,1,0},{0,0,1},{1,0,0}};
AnyDrawRefFrame drf ={
RGB={1,0,0};
ScaleXYZ={1,1,1 }/5;
};
};
};

2/ In the Main, I added the following lines

AnyForceMomentMeasure KneeJointReactionBergmann = {
AnyForceBase &Force = .BodyModel.Right.Leg.Jnt.Knee.Constraints.Reaction;
AnyRefFrame &Thighknee = .BodyModel.Right.Leg.Seg.Thigh.KneeJoint.BergmannNode;

  };
  
  AnyVec3 KneeReactionForces = (BodyModel.Right.Leg.Seg.Thigh.KneeJoint.BergmannNode.Axes'*KneeJointReactionBergmann.F')'; 
        
  AnyVec3 KneeReactionMoments = (BodyModel.Right.Leg.Seg.Thigh.KneeJoint.BergmannNode.Axes'*KneeJointReactionBergmann.M')'; 

After running the inverse dynamics calculations, the component of the moment about the rotation axe is zero, which is in agreement to the fact that the knee is an hinge joint. BUT all the reaction forces KneeReactionForces are zero and I don’t understand why?

Cheers,
Arnaud

Arnaud,

there are tw different ForceMomentMeasures, one in the reference frame and the other one applicable anywhere.
Try the AnyForceMomentMeasure2, that should work.