Add a third force plate for a kneeling posture

Hello everyone,

I am using a modified version of the "MoCap model driven by inertial MoCap data" demo to analyze some motion files that have kneeling postures. However, I am having trouble adding a third force plate to simulate the GRF when the knee touches the ground. From what I was able to figure out from the code, it seems that only the feet can be connected to the force plates and not other body parts. Has anyone tried something similar before?

Thanks in advance.
Dimitri

Hi Dimitri,

It is definitely possible to do, there is nothing preventing this.

The example model has been equipped with contact on the feet, if you open this class you will see that the code being repeated 25 times for each of the contact nodes on foot.

Please also have a look at the SeatedHumanModel and the file Support.any file it display how to create a single of these contacts...

Please also see this wiki page which describes how to create the contact force.

So something in the line of this:

 ConditionalContactDistanceAndVelocityDepClass Contact1 (
    BaseObject =  Main.XXX.GlobalRef ,
    TargetObject = Main.HumanModel.BodyModel.Right.Leg.Seg.PatellaXXXX) = 
    {
      UserDefinedDistLimitLow = -0.01;
      UserDefinedDistLimitHigh = 0.05; 
      UserDefinedRadiusLimit = 10;
      Strength = 2000;  
      StaticFrictionCoefficient = 0.5; 
      NormalDirection = 2;
      FrictionDirection1 = 0;
      FrictionDirection2 = 1;
    };

This will create a contact between Main.XXX.GlobalRef (You will need to alter this ref to macth your model) and the patella segment on the right side.

The contact can occur if patella is 0.01 m below your globalref and less than 0.1 m in height, There is also a max radius of 10m so if patella if is further away than 10m from the global ref the contact can not happen.

Finally the code example assumes Z is the normal direction of the ground. In case it would be e.g. Y it would be

    NormalDirection = 1;
      FrictionDirection1 = 2;
      FrictionDirection2 = 0;

The friction coeff is setup 0.5.

Best regards
Søren

1 Like

Hi Søren,

From what I understand this will create an external contact reaction force (like in the SeatedHumanModel) rather than create nodes for a simulated force plate. It is actually the solution I am currently exploring, and I am fairly certain it will give me the results I need, but just to be clear, this a different process than the one that is used to create force plates for the feet nodes. Correct?

Anyway, this will definitely do the trick for me.

I appreciate the quick response.

Thanks
Dimitri

Hi Dimitri.

The GRF prediction class uses the same method it just adds 25 instances of these contact elements and some extra output that can visualize the net force created by all of them.

This example will create a single contact, but principle is exactly the same.

Best regards
Søren

1 Like

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