Problem with the wrist rotation

#1

Hello everyone,

I am currently using the freeposturemove file to obtain the wrist motion.
I am only using two motion points in the mannequin.any for both wrist flexion and abduction.
The first is the initial point which is zero for both wrist flexion and abduction.
The second point is -87.0 for wrist flexion and -30.0 for wrist abduction. It is as follows.
AnyVector WristFlexion ={ 0.0,-87.0};
AnyVector WristAbduction ={ 0.0,-30.0};
There are no other movements in any other joints. I am getting the error which I have mentioned below.
I do not get any error when the value for either flexion or abduction is zero. Is there a way to increase the constraint and make the wrist achieve this motion?
I understand that we can increase the kinematics error tolerance but i don’t want to do it as it produces inaccuracies.
I tried changing the initial conditions as well. Kindly provide some solution.

Failed to resolve kinematic constraints (final kin. error = 3.173104E-001)

Constraint no. 176 above error tolerance 0.000001, error = 0.000630. - constr. #0 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.WristJointDeviation.Constraints’

Constraint no. 177 above error tolerance 0.000001, error = 0.000093. - constr. #1 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.WristJointDeviation.Constraints’

Constraint no. 178 above error tolerance 0.000001, error = 0.000014. - constr. #2 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.WristJointDeviation.Constraints’

Constraint no. 179 above error tolerance 0.000001, error = 0.024096. - constr. #3 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.WristJointDeviation.Constraints’

Constraint no. 180 above error tolerance 0.000001, error = 0.002305. - constr. #4 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.WristJointDeviation.Constraints’

Constraint no. 184 above error tolerance 0.000001, error = 0.001292. - constr. #0 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.HandGloveLinDrv’

Constraint no. 185 above error tolerance 0.000001, error = 0.000375. - constr. #1 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.HandGloveLinDrv’

Constraint no. 186 above error tolerance 0.000001, error = 0.005260. - constr. #2 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.HandGloveLinDrv’

Constraint no. 187 above error tolerance 0.000001, error = 0.000123. - constr. #0 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.HandGloveRotDrv’

Constraint no. 189 above error tolerance 0.000001, error = 0.000011. - constr. #2 in ‘Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.HandGloveRotDrv’

Constraint no. 300 above error tolerance 0.000001, error = 0.317310. - constr. #0 in ‘Main.Model.ModelEnvironmentConnection.Drivers.WristDriverRight’

Constraint no. 301 above error tolerance 0.000001, error = 0.153930. - constr. #0 in ‘Main.Model.ModelEnvironmentConnection.Drivers.WristDriverRight1’

  1. …Inverse dynamic analysis terminated

ERROR(OBJ.MCH.KIN3) : D:/Y…h/a…y/arm/main/A…0/A…n/E…s/F…e/arm.Main.any : Study.InverseDynamics : Kinematic analysis failed in time step 1

#2

Hi Raman,

Thanks for this post it has helped us understanding an issue related to the wrist joint, which now will be fixed in AMMR.

The problem is the following:

Between radius and hand there is one additional small segment which makes it possible to have a different joint center for flexion and abduction.

The way the flexion is driven in the model was to measure flexion between radius and hand. This meant the flexion measure was spanning three segments, this can lead to instability in the solution.

We will fix this in AMMR and for the next release, we will send you an a link to AMMR beta version with the fix in as soon as it has been fixed.

In the mean time if you want to try to fix it yourself it has to be changed in the Interface.any file in the Arm model. Here the wrist flexion need to be measured between radius and WristJointSeg not radius and hand.

Best regards
Søren

#3

Hi,

Thanks for the update.
I am looking forward to receiving the link for the AMMR beta version.
Kindly let me know once it has been updated.

Thank you.

#4

Hi Raman,

It should be available now, please do the following:

  1. Make a user account at gitlab.com
  2. Sign in with the account
  3. Go to https://gitlab.com/anybody/beta
  4. Request access to AMMR

Let me know, if it causes any problems

Best regards
Søren

#5

Hi,

Thanks for the link.
I have just requested for the access to AMMR.
Thanks.