StrengthParameters

Hi AnyBody team,

I have a question about the definition of strength parameters. I have come across two versions of strength parameter settings:

One is from the AnyBody AAUHuman.HumanModel.any, where it is defined as
AnyFolder StrengthParameters={
AnyVar SpecificMuscleTensionSpine= 90; //N/cm^2
AnyVar StrengthIndexLeg=1;
AnyVar SpecificMuscleTensionShoulderArm= 90; //N/cm^2
};

The other one is from the Anybody Github: LowerExtremity-RBF-scaling/HumanModel.any at master · AnyBody-Research-Group/LowerExtremity-RBF-scaling · GitHub

where it is defined as:

AnyFolder StrengthParameters={
AnyVar SpecificMuscleTensionSpine= 150; //N/cm^2
AnyVar StrengthIndexLeg= 1.53;
AnyVar SpecificMuscleTensionShoulderArm= 150; //N/cm^2
};

I understand that the Strengthparameter can be changed in accordance to the subject muscle strengh. However, my questions is that, the default setting in AAUHuman seems to give very high muscle activity for the spine muscles (e.g., erector Spinae) with peak averaged muscle activity of 70% for a running cycle, while the experimental EMG test gives a muscle activity around 30-40%. I was wondering in such circumstance, is it reasonable to use the second muscle setting (Github version) for every subject that I am working on. If so, would there be any parts should I be cautious with? In addition, it would super helpful if you could provide some reference of defining the muscle strengthparameters. I have searched a little bit on the forum, but failed to find any.

Thank you so much in advance.

Junfei

1 Like

Hi @shengqingnanque

It's correct that you can alter the strength of the models as needed. Knowing when and what to change them to is the tricky part.

The two model versions you are refering to are probably morphologically different so it is probably not easy to just use parameters from one into the other.

The github model you reference is quite old and does not use the standards ammr models. I am not familiar with the model as it is part of the AnyBody Research Group at Aalborg University and not one of ours (AnyBody Technology).
I would refrain from using such a old model if I could.
Something to consider is:

  • using the latest bodymodel gives you all model improvements done the last 8 years.
  • using the AMMR bodymodels and model structure makes it easier to update when new changes and features are released.

If the particular model a setup or some features that you are interested in then try to port only what you need to a newer version.

Best regards,
Bjørn

Hi Bjorn,

Thanks a lot for the explanation. As you mentioned, it is a tricky part to change the strength parameters. Would you elaborate a little bit more on how we should we do it properly and what would be the key factors we should look into? In addition, if I am understanding it correctly, when the InverseDynamics.Criterion.UpperBoundOnOff set as Off, the strength parameters would only affect the muscle activity proportionally without affecting the relative usage of the muscles nor muscle forces. Thanks.

Junfei

Hi @shengqingnanque

One way is to use the scaling options within AnyBody or develop your own. Another way is to see if you can obtain a more suitable set of muscle parameters to use (maximum isometric strength or PCSA measures) for the the muscles in the model.
Another way is to try and figure out what the maximum functional strength of your subject is and then scale the model to match that. If you for instance are looking into bicep curl motions then knowing what the maximum weight the subject can lift can help you scale the muscles strength to match that - just a thought up example.

When you switch the upper bound on the muscle recruitment criterion off you are essentially allowing the model to recruit the muscles with more strength than they can provide - which is not physiologically sound - but great for model development. Another thing is that when the muscles go beyond activity = 1 the recruitment criterion switches to the min/max criterion

Best regards,
Bjørn

Hi Bjorn,

Thanks a lot for the explanation and suggestions.

Junfei

Hi Bjorn,

I have a question about joint moments. I have completed two simulations to investigate the potential impact of muscle strength reduction due to fatigue:

  1. a running trial with default AMMR and inversedynamics muscle recruitment criteria set as below:
    InverseDynamics.Criterion.UpperBoundOnOff = Off;
    Main.Studies.InverseDynamicStudy.InverseDynamics.Criterion.Power =2;

  2. the same running trial with muscle strength coefficients reduced by 20% and inversedynamics muscle recruitment criteria set as below. The simulation completed with many warnings of muscle overload though.
    InverseDynamics.Criterion.UpperBoundOnOff = On;
    Main.Studies.InverseDynamicStudy.InverseDynamics.Criterion =
    { Type = MR_MinMaxAux;
    AuxQuadraticTerm.Weight = 1;};

However, we found that the joint moments at the lower extremities are exactly the same. Whereas the JRFs are different. The images for the moments and JRFs are attached below.


Would you please help explain why this is happening? Thank you so much in advance.

Junfei

Hi @shengqingnanque

Can you give a little more info on your model?

  • what is the motion?
  • how did you lower the strength of the muscles?
  • what is the MaxMuscleActivity in the two trials?
  • do you calculate moments yourself or use the ones in the selected output folder?

Best regards,
Bjørn

Hi Bjorn,

Here are the answers to your questions:

  • what is the motion?
    The motion is for a female running on a treadmill

  • how did you lower the strength of the muscles?
    The strength of muscles was lowered by 20% in the HumanModel.any using following code

    AnyFolder StrengthParameters={
    AnyVar SpecificMuscleTensionSpine= BM_TRUNK_STRENGTH_INDEX900.8; //N/cm^2
    AnyVar StrengthIndexLeg= DesignVar(BM_LEG_STRENGTH_INDEX)0.8;
    AnyVar SpecificMuscleTensionShoulderArm= BM_ARM_STRENGTH_INDEX
    90*0.8; //N/cm^2
    };

  • what is the MaxMuscleActivity in the two trials?
    image

image

  • do you calculate moments yourself or use the ones in the selected output folder?
    The moments was from the selected output folder, I just normalized that by the subject's body mass.

Thanks a lot.

Junfei

Hi @shengqingnanque

Thanks for the answers.

I believe you have a sound model setup. The Joint moments will not change due to the changes you make in muscle strengths. The moments are governed by the external forces acting on the model which are the same. The joint reaction forces are where you will be seeing the changes - as you do.

You MaxMuscleActivity is quite high even for the default muscle settings.
You can look into whether the model is having trouble balancing certain part of the movement. For running it is wise to check the accelerations of the COM in the flight phase - it should be steady pointing in the same direction as gravity. Also the ankle muscles is worth checking. The moment arms are small so even small changes in the eversion/inversion can lead to large muscle forces.

Best regards,
Bjørn

Hi Bjorn,

Thanks a lot for the info. Regarding the COM acceleration, this is what I have got. The swing phase is from 0.4 to 0.44s. As you may see, the acceleration is not steady and decreasing over time. I think this may be due to the groundresidual driver applied to the pelvis. For the ankle muscles, could you specify the muscles that should be visited? Thank you so much for your help.

Hi Anybody team,

Any suggestions to my last post? Thank you so much.

Junfei

Hi @shengqingnanque

The accelerations don't look alarming.
You can inspect which muscles are overloaded and try to figure out why.
Often the muscles crossing the ankle joint is overloaded since the moment arms are very much affected by the inversion/eversion angle.

Best regards,
Bjørn

Will do. Thanks a lot for the feedback @Bjorn.

Junfei