Defining contact point between hand and ground

Hi,

I am using the Plug-in-gait_simple FullBody_GRFPrediction model. I have modeled a lot of tasks without any problem, but I'm facing an error for a few of them. You can see a picture of one of them here.
As I searched in the forum, I think I got an error because there is no way to balance the model. So, it means that the person in the experiment rested his hand on the ground. Therefore, I have to define contact between his hands and the ground. But I don't know how to do so.
At first, I defined an external force exerted on his hands, but it didn't work, and I still got the error, although I know the definition of the external force is correct.
First, would you please tell me what the problem is and how I can solve it?
Second, if I have to define contact between the hand and the ground, can you give me a sample code for that?
You can also find the required files attached.

Best regards,
Mohammadreza

Error:
ERROR(OBJ.MCH.MUS4) : AnyMocapModel.any(68) : InverseDynamicStudy.InverseDynamics : Muscle recruitment solver : solver aborted after maximum number of line-search iterations

Example.zip (2.3 MB)

Screenshot 2022-04-12 173753
Screenshot 2022-04-12 173832

Hi,

Can't somebody help me???

Best,
Mohammadreza

Hi @mrb9

Sorry for the slow response, you hit us right in the easter holidays.

I can't run you example as there are files missing.

For inspiration I suggest that you look at the GRF prediction code. You can reuse some of the base classes for defining contact based on the distance and velocity of the hand and floor.

From the image it seems that you torso is quite bend over forward and the markers on the sternum seems to have some error. If the motion contains a large degree of thoracic movement - the rigid thorax model and buckle segment might give you some headaches.

The orientations of the buckle segment are susceptible to give warnings about being non-orthogonal.

Best regards,
Bjørn

1 Like

Dear Bjørn,

Thanks for your answer.
You are right about the sternum marker, but unfortunately, I can't do anything to fix it. This problem occurs because the subjects were obese, and this error is unavoidable during flexions.
About the problem of running the example, I changed some of the files to use them more easily, and these changes are not fundamental. Maybe you can use the C3DSettings, ExtraFootDrivers, LabSpecificData, MarkerProtocol, SubjectSpecificData files and the output of the RunParameterIdentification in a new example. I want to analyze the movement between 500 and 520 frames.

Best regards,
Mohammadreza

Hi @mrb9

If you believe that the sternum marker is error prone, you should think about using a weight function to weight it down or possible exclude it.

If you would like me to try and run your model I need a working example with all the dependencies present.

Best regards,
Bjørn