Hand movement

Hi,

I am trying to simulate a hand movement on a table.

I am using the SeatedHumanFullWithNeck model. I have made a table. Then I have made a segment which is moving from the one end of the table to the other. I have attached the hand (glove) to this segment and I have removed the following drivers of the arm - GH Flexion and Rotation, Elbow Flexion.

When I try to run SetInitialConditions operation it gives me that it cannot resolve the kinematic constraints as it is above the error tolerance.

I do not know where I have done something wrong. Can you help me?

Thank you in advance.

Desislava

Hi Desislava,

The SeatedHumanFullWithNeck model has quite complicated drivers, including for the arms. Surely your equilibrium in the drivers is not correct. You know that you need as much drivers as degrees of freedom, and when you modify a model you must remove as much drivers as you add to keep the balance.

So if you want to modify it the first step is to understand correctly the existing drivers, so you can remove or keep the correct ones. Don’t hesitate to take a piece of paper and draw some sketches of the degrees of freedom to help you understand it.
Then you can start replacing them. And having the right amount of drivers is not enougth, you must also check that they drive the correct degrees of freedom (else you may end up with one DoF driven two times and an other not driven at all). Again drawing small sketches is very helpfull for this task.

Best regards, Sylvain.

Hi Sylvain,

I have found my mistake. The initial position of the hand was not quite good, but now managed to move the hand :slight_smile:

But now I have another question. The reference point of the glove is somewhere in the middle of the hand. Is it possible that I move it to the index finger, because at the end I want to make the model to touch one point on the table, and then to move to another?

Regards,
Desislava

Hi Desislava,

If you want you can create a new node on the glove segment at the level of the finger, that’s no problem.

However depending on how you model the hand-table contact you don’t necesarily need the glove. The glove is made to avoid completly rigid contact (made with AnyReacForce) that have infinite strength. For example in a case of a standard joint between the hand and one object, it is advised to use the glove to have more soft and realistic contact forces.
But if you use the conditional contact (made with pushing muscles) then the glove is not needed and you can apply the contact directly to the bone segment.

Best regards, Sylvain.

Hello,

I have some problems with the different trajectories of the hand movement. Sometimes it moves correctly, but sometimes it moves as if the hand is broken. Is it possible that I define the angle interval in which the shoulder ot the wrist can move. For example, I want my elbow to move only between 0 and 180 degrees, as in the human body.

Regards,
Desislava

Hi Desislava,

there is no such thing as a limit for a motion. But if you define the problem “if the hand is broken” more detailed, we might help there.

A

Hi Amir,

when I say “broken”, I mean that the elbow and the shoulder does not move in a natural way. I put the index finger (which defines the movement) exactly where the starting point of the movement is.
When I used some random data for the trajectory of the movement, the hand moved correctly ( as a human would move it). But when I used my test data, then it started moving strange, although the test data is quite similar to the random data.

Regards,
Desislava