Horizontal/ frictional force prediction


I wish to let AnyBody predict the frictional force (or horizontal force) between my subject thigh and the bed contact point since i only provided the measured data in the normal direction to the subject's thigh. The main objective is to consider both the horizontal and normal force of the bed contact point in the simulation. The detail is visualized in the picture below:

I took the coding from the GRF prediction and modified it as shown:

    FootPlateConditionalContact Bed_FrictionContact_Left(
    NODES_FOLDER = Main.HumanModel.BodyModel.Left.Leg.Seg.Thigh.contactNode,
    PLATE_BASE_FRAME = Main.Studies.InverseDynamicStudy.modelbedReac.ContactLeftNode,
    ) = { Settings = 
        LimitDistHigh = 0.025; // Vertical height
        FrictionCoefficient = 0.2;


I wish to visualize the predicted friction force and so made the SHOW_TRIGGER_VOLUME =ON, however the error occur as shown:

ERROR(SCR.PRS9) : Main.any(251) : Defined at : FootPlateConditionalContact.any(182) : 'Contact14' : Unresolved object

The error is caused by this line

May i know whether the setting of the prediction of horizontal force do correctly? and why i cant visualize the predicted force?

Best Regards

Hi @Mitchelle_Law

The drawing error is because you are only constructing five nodes for the GRF class. The drawing class expect at least 14 nodes as you can see in the code .Contacts.Contact14 -

As for the modelling my suggestion would be:

  • make a AnySeg formed as a plate (representing the contact area).
  • attach the plate to a revolute joint with the thigh
  • apply your measured normal direction force to the plate segment
  • use the ConditionalContact class for the last DoF to make the five nodes and that will measure the frictional force.

Best regards,

Hi @Bjorn

I am a bit confused about the second and last points of your suggestions. The revolute joint 1DOF is for the horizontal movement between the plate segment and the thigh?

For your info, the horizontal position (X direction-same as the direction of friction) of the contact point will change with time (while the Z & Y positions are given constant). So, in this case, I plan to make the horizontal position of the plate segment to be time-dependent and this distance relative to the global frame.

If this case, the revolute joint seems not suitable. Correct me if i am wrong: currently, i use linear and rot measures between the bed contact point seg & global frame. The linear X position of seg will change according to data in CSV file, and will be in the range of the thigh width of subjects. Meanwhile, Y, Z linear position also read from CSV but just constant values.. The rotation driver is set to 0. After that , normal reaction is applied to bed seg, Finally, for prediction of fric force in X direction, the base frame is assigned to the bed seg. Is this make sense?

Best Regards