GaitFullBody with Conditonal contact

Hi, I’m Killian and I’ve been asking some questions about GaitFullBody exmple.

I am trying to change force plate part by Conditional contact at the moment. You can check the attatched file. I made ‘5 base objects’ which means ground and this definitiion is in EnvironmentAutoDetection file. Also, I made ‘2 target objects’ which located on right foot and left foot and this definition is in HumanModel file. Conditional contact definition is in JointsAndDriversOptimized file.

I succeed to analyze Inverse Dynamics in this file.
But the force value of conditional contact is too small.
It is not reasonable at all.

So please check what the problem is and inform me the solution of this problem.

Additionally, when I analyzed GaitFullBody without force plate data, it could be anayzed although any reaction force is not exist. How this can happen?

I hope I can see a good reply soon.


Hi Killian,
the reactions between pelvis and GlobalRef are switched on. This is needed in the normal gait model to compensate residual forces. In your case this connection carries almost all of the forces. You can find the REactions in the top of the JointsAndDriversOptimized file. Switch them off and you will get the right magnitude of contact.
Best regards,

Hi, sdendorfer.

Thank you for your clear answer.
I made a simple mistake.

I edited the reaction part.
But there is a error something like following.

ERROR(OBJ.MCH.MUS4) : C:/U…s/hccl/D…p/A…y/A…2/A…2/A…n/K…n/G…2/GaitFullBody.main.any : InverseDynamicStudy.InverseDynamics : Muscle recruitment solver : solver aborted due to singular KKT matrix

I tried to change the number of time step.
But it is not effective.
Should I change the solver type?

Could you suggest a good solution?


Hi Killian,
I guess you have switched off all reaction? Initially only switch off the linear (Pos) entries, which should be the first three, I guess. Keep the Moment reactions, as you only have one contact point on the foot.
Best regards,

Hi, sdendorfer.
Yes, you are right.
I should switch off first 3 reaction now.
I am going to add more conditional contact on foot.
Anyway, thank you very much.


Finally, I succeeded to change the reaction force part from c3d file to conditional contact. And I have a simple question.

I attatched two files. The one is the GaitFullBody example which uses force plate data. And the other is the edited GaitFullBoy file which uses conditional contact. So the first file uses the reaction force data from c3d file and the second file computes the reaction force. You can compare these two files.

I’ve compared the reaction force data of two files and I attatched the comparison excel file. So you can easily check the reaction force. I divided normal force and friction force in the tab.

Normal force of two files looks similar.
But the problem is Frictional force.
It shows a big difference of size between two files(the pattern is similar).
So I tried to change StaticFrictionCoefficient.
Initially I gave StaticFrictionCoefficient as 0.4.
When I gave it as 0.3, it become more similar to c3d data.

So do you think using 0.3 is better than using 0.4?
And is it reasonable to change the StaticFrictionCoefficient until the result shows the most similar data to c3d file?

Additionally, when I used StaticFrictionCoefficient as 0.2, the result shows exactly same data with the data which uses 0.3.
I can’t decide which value should I use.
What is your proposal?

Hi Killian,

It is all right to change the friction coefficient. You should not allow more friction than there can be in reality because the model will use it and the results won’t fit. I don’t know exactly what is the real friction coefficient of the experiment, but if 0.3 gives you good results then just keep it like this.

What you can do also is calculating the maximum friction coefficient of the measured reaction force of the c3d data and use that coefficient for the conditional contact definition.

Best regards, Sylvain.