Tennis

Hi Anybody

I’m running AMS v 6.0 and AMMR 1.5.

I’m trying to get a tennis serve running in Anybody. It fails at the kinematic step, and i receive the message:

WARNING! NAN reached!
Unexpected error in computational kernel
Constraint no. #0 in ‘Main.Studies.HumanModel.BodyModel.Right.ShoulderArm.Mus.ArtificialRake.LinCom2Drv’ above error tolerance 0.001000, error = 0.100000.
Constraint no. #0 in ‘Main.Studies.HumanModel.BodyModel.Left.ShoulderArm.Mus.ArtificialRake.LinCom2Drv’ above error tolerance 0.001000, error = 0.100000.
ERROR(OBJ.MCH.KIN3) : C:/U…s/J…m/D…s/S…e/A…y/A…5/A…5/A…n/E…s/J…r/Badminton.main.any(168) : KinematicStudyForParameterIdentification.InitialConditions : Kinematic analysis failed in time step 0

Any advice?

Best regards
Joakim

Hi Joakim,

I had a quick look at your model and saw some things you could try to change to make it run.

[ol]
[li]You have all segments in the model, but only markers on head, right arm and trunk. I would suggest to switch left leg arm and both legs. At the moment they are not driven which is probably one reason why the kinematic fails. This can be done in the BodyPartsSetup.any file.[/li][li]There is a lot of arm movement in the motion. Therefor, I would switch the shoulder rhythm on. This quite often helps to solve kinematic problems. The switch is also in the BodyPartsSetup.any file.[/li][li]It looks as you have a lot of trunk rotation in the motion. You could try to change the initial position in the mannequin.any and PatientSpecific.any file to help the InitialCondition solver.[/li][/ol]
I have not tried to figure out the right initial positions, but I hope this helps you make the model run.

Best regards,
Daniel

Hi Daniel

Thank for very much for your reply.

  1. Removing segments helped
  2. I can’t seem to get the ShoulderRhytm to work. How do i figure out the OutDim?

Right now, the kinematics is running, but the optimization isn’t working. There is a problem in the hand which is facing the wrong. Any suggestions to how i force it the other way?

Best regards
Joakim

Hi Joakim,

to set the OutDim, you can count the dimensions of the used measures in the measure organizer. Quite often, you can simply look at the Pos vector to see the dimension.

Could you try to fit the initial conditions better to avoid switching the orientation of the hand?

Best regards,
Daniel

Hi Daniel

Thank you for your quick reply

The Pos vector is set to 0. When i count the dimensions and define the OutDim, it says
Number of elements in type specification must match number of elements in force vector (num. elem = 7)
The error takes me to the Reaction.Type = {Off}. I don’t see why this should be changed, since there apparently is a mismatch in the number of elements between two vectors.

Any suggestions?

Best regards
Joakim

Hi Joakim,

the problem did not show up with the repository I looked at before. In the 1.5 AMMR, you can set the OutDim at the places indicated in the warning to 1, than the model should load without warnings.

About the wrist problem: Have you tried to change the joint type between hand and racket?

Best regards,
Daniel

I’ve come a great deal further with the tennis serve, but i can’t get the inverse dynamic to run.
It doesn’t seem to know, how to balance the forces at the hand racket joint. I can see that a get a really large activity, but i don’t know where i comes from and how to deal with it.
Any advice?

Best regards
Joakim

Hi Joakim,

I included the muscles in the inverse study and tried to run it. It looks like the right hand/wrist causes some trouble:
muscle activity of:
Extensor_Indicies_Activity
is increasing at step 226, and after that it fails in 228.

To me it looks like the markers in the right hand and wrist are not ok there. Did you try other changes?