Problem of RBF scaling

Hi,

I tried hard to build my own specific model by using the rbf scaling. However, I found that the RBF scaling actually results in a larger knee contact force. Am I doing anything wrong in the custom scaling? The version of AnyBody I am using is 6.0 and AMMR 1.6



experiment data

The first graph is the linear length mass fat scaling law.
The second one is the custom scaling result and the third one is the experiment result.

Regards,
Thomas

Hi Thomas,

There are a couple of things that come to my mind. LengthMassFat scaling also scales the strength of the muscles. It may make some difference.
But I think the bigger change could come from the moment arms of the muscles that may be different in two models. You can try to identify the muscle that is the largest contributor when you see the large reaction force and maybe you can compare the moment arm of this muscle in the two models. We have an example in the current AMMR to evaluate moment arms. Basically, you need to set a define statement and this will include some additional studies in your model to evaluate moment arms. I am not sure if this example and option will be there in AMMR 1.6, though.

best regards,
Dave

Hi Dave,

Actually I scale both of the model with LengthMassFat scaling while changing a bit of the code to fit my custom scaling law. I may try and evaluate your advise but i dont think it may be the main reason.

Regards,
Thomas

Hi,

I just realize that I am using the simple muscle model during analysis. How should I change my code such that muscles in my human model are using 3 element hill type model? Thank you.

Regards,
Thomas

Hi Thomas,

This is mentioned in the AMMR documentation. You can use a define statement to set the muscle type:


#define BM_LEG_MUSCLES_BOTH _MUSCLES_3E_HILL_

Best regards,
Dave

Hi Dave,

Thanks for helping. I successfully implemented the Hill-type muscle into my model. However, the second peak force is still 400N higher than the experiment. I have looked into your suggestion but unfortunately I couldn't find any example related in AMMR 1.6. However, I could recognise that the muscle force is much higher in RBF scaling model than the linear one. Also, both scaling method will result in a higher second peak contact force while keeping the first peak force good. Would you able to provide some hints for me to see what may be the reason to cause the result? Thank you.

Regards,
Thomas

Hi Thomas,

Between RBF and linear scaling, you would really need to compare muscle moment arms. I think the origin, insertion, and via points for the muscles will scale differently between the two scaling methods and a small change in the moment arm can lead to large change in the muscle force.

Regarding the higher second peak, this can be due to a few reasons. At toe-off, the gastrocnemius probably shares more of the load than it should, resulting in higher knee reaction forces. This can be due to more advantageous moment arm of the gastrocnemius compared to soleus. You can probably fix this by passing them both through a common via-point. Another reason could be the way the muscles are split. Soleus is split into multiple units and this affects how muscles are recruited. See this link. You can either replace the soleus units with a single soleus muscle or you can introduce a normalization factor in each of the muscles. See this previous thread on how to do it.

At this point, I would recommend you consider upgrading and requesting access to the beta version. The beta version of AMS has new features that can make it easier to normalize based on muscle volume.

Best regards,
Dave

Hi Dave,

Thanks for your advice! I will look into the muscles that affect the knee load most.

Regards,
Thomas

Hi Dave,

I have read the thread and want to implement the Nfactor into inverse dynamics study but I have two questions. First, is that how should I choose the value for the normalization factor? And second is that how should I define it in study folder? I have put MyNfactor into each muscle in MusPar.any file and used the following code in AnyBodyStudy.

InverseDynamics.Criterion.PrimaryTerm.Nfactor_SearchName = MyNfactor;

But when I run the model, it said the 'MyNfactor' is an unresolved object.
Thank you.

Regards,
Thomas

Hi Thomas,

I don't have much experience of using this, unfortunately. I would recommend you read this paper on the knee model and try to understand how to use the muscle volumes as the normalization factor.

I believe you have to define the AnyVar MyNfactor in each muscle. So, possibly, MusPar.any is not the right file as it doesn't define the muscle I think. Also, you don't need to go to the source file to make these changes. You can include a new file and have a line saying, for example:

Main.HumanModel.BodyModel.Left.Leg.Mus.VastusLateralisInferior3 = {
AnyVar MyNfactor = (some number here);
};

But you will need to do this for all the muscles.

Best regards
Dave

Hi Dave,

I have implemented the relevant WeightFactor into my model. I have noticed that using Nfactor cannot run the model while WeightFactor could make the model run. However, I face another problem now - some small muscle groups (e.g. FlexorHallucisLongus) generate similar or more muscle force than the big muscle groups. That doesn't make sense to me and I have no clue how is this happening.
Would you be able to explain a bit about the difference between using the Nfactor and WeightFactor in the muscle recruitment system? I could not search for a lot of information in reference manual. Thank you.

Regards,
Thomas

Hi Thomas,

Sorry for the delay in the reply.

Please see this post on our wiki page about how to make use of the normalization factor.

Please look for AnyOprSetMuscleRecruitmentNormalization in the AnyScript reference manual. This will explain in more detail how the weight and normalization factors go into the muscle recruitment criterion.

I would also recommend you try these factors on a simple model (2 or 3 muscles) to understand how this works before using these concepts in a full-blown model.

Best regards,
Dave

Hi Dave,

Thank you for your kindly reply. It really helps a lot.

Regards,
Thomas

This topic was automatically closed 125 days after the last reply. New replies are no longer allowed.