Human Footwear model

Hi Everyone,

I have two separate questions:

I want to model influence of squatting with shoes of different height. But i am not sure of the best way to model the footwear height. Given that i want to create a model where heel is not on the same level as the toe. This difference what i want to simulate. I currently don't have an idea of how to implement this on AnyBody. could anyone suggest possible approaches?

I have been trying to model shoe mass. I included a new segment on both sides of the foot, used a spherical joint to connect the segment nodes to the foot. I also used AnyKinEq to drive the joint. However, i couldn't observe differences in muscle forces and joint kinematics among shoes. The differences were obvious when i modelled shoe mass as 5.5kg and above. However, this is not an ideal situation with human shoes; most footwears are below 1kg. I was wondering if i modelled this correctly or there is a better way to it?

I'd be happy to read your responses.


Hi @kachiozo

  1. Are you using the Squat model from the AMMR? To simulate different show heights you can adjust the nodes that are used for the FootPrint class. By increasing the node height of the heel contact node you can simulate that the heel height of a shoe.

  2. If you are performing a regular squat where the feet do not come of the ground then i dont think it makes much sense to add any mass. The model is standing on top of the simulated shoe so no work is done on it.
    The conditional contacts under each foot will also just be recruited extra in any case.

Best regards,
AnyBody Technology

Hi Bjorn,

Thanks for your response.

I tried to do what you have suggested. However, i am unable to change the values of existing nodes. However, I can create a new one.

Here is a sample of what i did, (the coordinates of the node is not correct though):

Main.HumanModel.BodyModel.Left.Leg.Seg.Foot.HeelNode = {0,0,0};

I have also tried this way:

Main.HumanModel.BodyModel.Left.Leg.ModelParameters.Foot = {

AnyRefNode HeelNode = {
sRel = {0.0, 0.0, 0.0};

But kept getting this error message:
ERROR(SCR.PRS1) : FootPrintGeneration.any(35) : 'HeelNode' : Object already declared at :
ModelParameters.any(710) : 'HeelNode'
Model loading skipped

I am not sure what i did wrong.

Another question:
Can i drive the model with a marker? if yes, how do i connect it?

Thanks for your anticipated response and i'm sorry to bother you.


Hi @kachiozo

It is correct that it is not possible to just overwrite the sRel position of the nodes already on the model - at least not without touching the deeper model files.

The easiest is to make a new as you tried.
The error you are getting says that a node with name HeelNode already exists. So you need to give your new node another name.

When you have constructed it you can use it for the footprint generation by inserting #define FOOTPRINT_NODE_NAME_3 <newNodeName> before the including of the footprint class template file.

Remember to make the node for both right and left foot with the same name.
Lastly, there is a driver in the RightLegTLEMDrivers.any file that uses the node position.
on line 43 it says: AnyVar HeelContactNodeLow_X = ...Environment.GlobalRef.FootPrintBase_Right.FP1.HeelContactNodeLow.sRel[0];

and you must change the HeelContactNodeLow to the name of your new node.

Best regards,
AnyBody Technology

Hi Bjorn,

Thank you for your comments, they were very helpful. It works now.

I read that AnyBody describes segmentt coordinates according to the recoommendation of ISB. Following this, i'd expect that +Y axis of the foot points superiorly. however, it looks like the reverse is the case for the foot segment. When i input a positive value for y axis, i observe that the foot digs into the force plate as shown below:

Is there an explanation to this?

Another question, can i drive this model with a marker? i'd be interested in using my myrker to drive the motion.

Thank you for your time.


Hi @kachiozo

The sRel position you are specifying is in the local coordinate system of the foot and that is not aligned with the global coordinates that you are referring to.

I am unsure what you mean about driving the model with you own marker?
You can specify certain aspects of the motion by altering the parameters in the Main.Parametersfolder.

Best regards,
AnyBody Technology