Adjustments of Ankle Joint gaitlowerextremity AMMR V1.2

Hi,

I have to change the revolute joints of the subtalar and anklejoint in one spherical joint. I have changed it and the optimization runs properly(after adjustments). But when I wanted to start the inverse dynamics I got this error
[SIZE=1]WARNING(OBJ.MCH.KIN1)[/SIZE] : [SIZE=1]H:/J…s/A…t/A…n/E…s/G…b/GaitLowerExtremity.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy[/SIZE] : Model is kinematically indeterminate : Position analysis failed : 253 independent constraints and 259 unknowns

  • attemps to continue (attempt no. 1)
    [SIZE=1]WARNING(OBJ.MCH.KIN1)[/SIZE] : [SIZE=1]H:/J…s/A…t/A…n/E…s/G…b/GaitLowerExtremity.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy[/SIZE] : Model is kinematically indeterminate : Position analysis failed : 253 independent constraints and 259 unknowns
  • attemps to continue (attempt no. 2)
    [SIZE=1]WARNING(OBJ.MCH.KIN1)[/SIZE] : [SIZE=1]H:/J…s/A…t/A…n/E…s/G…b/GaitLowerExtremity.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy[/SIZE] : Model is kinematically indeterminate : Position analysis failed : 253 independent constraints and 259 unknowns
  • attemps to continue (attempt no. 3)
    [SIZE=1]WARNING(OBJ.MCH.KIN1)[/SIZE] : [SIZE=1]H:/J…s/A…t/A…n/E…s/G…b/GaitLowerExtremity.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy[/SIZE] : Model is kinematically indeterminate : Position analysis failed : 253 independent constraints and 259 unknowns
  • attemps to continue (attempt no. 4)
    [SIZE=1]WARNING(OBJ.MCH.KIN1)[/SIZE] : [SIZE=1]H:/J…s/A…t/A…n/E…s/G…b/GaitLowerExtremity.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy[/SIZE] : Model is kinematically indeterminate : Position analysis failed : 253 independent constraints and 259 unknowns
  • attemps to continue (attempt no. 5)
    [SIZE=1]ERROR(OBJ.MCH.KIN1)[/SIZE] : [SIZE=1]H:/J…s/A…t/A…n/E…s/G…b/GaitLowerExtremity.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy[/SIZE] : Model is kinematically indeterminate : Position analysis failed

Where and How can I fix these errors?

Best regards,

Hans

1 Like

Hi,

I have attacted the Lower extremitymodel Including the adjustments in the model repository in which the error occor. I do not know how to get the inverse dynamics analysis run properly.

Best Regards,

Hans

Hi Hans,
I think there are several issues here.
First you should fix the subtalar joint if you want to have the spherical joint in the ankle. It could be like this:
AnyKinEqDriver Subfix ={
AnyRevoluteJoint SubTalar = {
//Axis1 = z; //flexion extension
Axis = x; //inversion eversion
AnyRefNode &TalusNode = …Seg.Talus.SubTalarJoint;
AnyRefNode &FootNode = …Seg.Foot.SubTalarJoint;
//TalusNode ={AnyDrawRefFrame drw={RGB={1,0,0};};};

};
Reaction.Type = {On};
};
Secondly it seems you have only two markers on the foot. This will not work. You need at least a third one, which should not lay on the straight line between heel marker and toe marker. Otherwise the eversion is not determined. If you look at the final kinematics analyses of the optimization you will see that it looks wrong.
Also I doubt that the muscles around the ankle will be able to balance the additional axial rotation degree of freedom you have introduced. I think you will have to “carry” this dof. This can be done by switching on reactions in the joint.
Best regards,
Sebastian

Hi,

Thank you for your response, but I have an additional question. If I put in this driver and run the optimization I got a message that the model is kinematic indeterminate. What Did I do wrong?

Best Regards,

Hans

Hi Hans,
of course you have to replace the old Subtalar joint with this expression (in the Jnt file of the LegTD). Then it should work.
Best regards,
Sebastian

Hi,

I have replaced the expression but it still gives the same error. 255 independent constraints and 259 unknowns. I do not understand why it still doesn’t work. Or should I run the optimization first?

Best regards,

Hans

Hi Hans,
are you sure you have not changed anything else. Your Jnt file should look like the one attached.
Best regards,
Sebastian

Hi,

If I replace the contend of Jnt File. I still get the warning of the Kinematic indeterminate constraints. Is it necessary to remove the subtalareversion?

Best Regards,

Hans

HI Hans,
if I replace the Jnt file and use the MotionandParameterOptimization study it runs. But this is of course only the first step. You also have to make sure that you write the new optimised joint angles in a proper way. Start in the JointAngleOutput and add the new defined dof (this would also need some adjustments to the Interface file.) Just follow the same structure as given and add the corresponding lines.
After optimisation also the JointsDriversOptimized needs to be updated.
But again, please review carefully the results of the motion optimization if you only have two markers on the foot.
Best regards,
Sebastian

1 Like

Hi,

So if I understand properly I should put in the Subfix in the Joints&Drivers file? And Next Adjust the Interface File As well. And Before running the Inverse Dynamics Analysis I should adjust the JointsAnddrivers optimized.

Best Regards,

Hans

Hi,
well not completely. You have added two dof in the ankle joint. These have to be added. Maybe you should first change the interface file. Here you have to change the MEasureOrganizer in the Ankle and create two more entries like AnklePlantarFlexion.
Best regards,
Sebastian

Hi,

I have adjusted all the files and run the optimization succesfully. but my inverse dynamics still has an error:

  1. InitialConditions (Operation: Main.Studies.InverseDynamicStudy.InitialConditions):
    .0) …Design variables have been updated.
    .1) …Load time positions have been re-established.
    [SIZE=1]ERROR(OBJ.MCH.KIN2)[/SIZE] : [SIZE=1]H:/J…s/C…d/A…n/E…s/G…b/GaitLowerExtremity.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy[/SIZE] : Model is kinematically over-constrained : Position analysis failed : 2 unsolvable constraint(s) found

Macro command > operation Main.Studies.HumanModel.Calibration.CalibrationSequence

Macro command > run


.0) Dummy operation: (Operation: Main.Studies.HumanModel.Calibration.CalibrationSequence):


Macro command > operation Main.Studies.InverseDynamicStudy.InverseDynamics

Macro command > run


.0) InverseDynamics (Operation: Main.Studies.InverseDynamicStudy.InverseDynamics):
.0.0) PreOperation (Operation: Main.Studies.InverseDynamicStudy.InverseDynamics.PreOperation):
.0.0) InitialConditions (Operation: Main.Studies.InverseDynamicStudy.InitialConditions):
.0.0) …Design variables have been updated.
.0.1) …Load time positions have been re-established.
[SIZE=1]ERROR(OBJ.MCH.KIN2)[/SIZE] : [SIZE=1]H:/J…s/C…d/A…n/E…s/G…b/GaitLowerExtremity.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy[/SIZE] : Model is kinematically over-constrained : Position analysis failed : 2 unsolvable constraint(s) found

What dit I do wrong?

Best regards,’

Hans

Hi,

I have uploaded the adjusted files. I think the structure should be like this.

Best Regards,

Hans

Hi Hans,

The problem is that you are driving the subtalar eversion two times: once in the Jnt file where it is fixed to zero and again in the JointsAndDriversOptimized file. I suggest you remove the driver in the JointsAndDriversOptimized file.

Best regards, Sylvain.

Hi,

It worked now properly after adjusting setting some reactiontypes.

Best Regards,

Hans

Hi,

I have to make the same adjustment for the knee joint. Is it necessary to lock the PatellaFemurjoint on the same way as the SubTalarJoint?

Best Regards,

Hans

Hi Hans,
it depends what you wanna change. but I guess you can keep it like it is. Right now, the Patellar is connected through a revolute joint with the thigh and has a fixed distance to the shank.
Best regards,
Sebastian

Hi,

I have changed the KneeJoint in a spherical joint and I did not change the PatellaFemurJoint. I will add the constraints as well to let the inverse dynamics work. Are these steps correct?

Best Regards,

Hans

Hi,
as long as there are enough reactions to carry the knee and drivers for the motion, yes.
Best regards,
Sebastian

Hi,

After adding all the constraints and reactions. I could run the inverse dynamics but in the 8th step i will receive this error?

Macro command > run


.0) InverseDynamics (Operation: Main.Studies.InverseDynamicStudy.InverseDynamics):
.0.0) PreOperation (Operation: Main.Studies.InverseDynamicStudy.InverseDynamics.PreOperation):
.0.0) InitialConditions (Operation: Main.Studies.InverseDynamicStudy.InitialConditions):
.0.0) …Design variables have been updated.
.0.1) …Load time positions have been re-established.
.0.2) …Kinematic analysis completed. The kinematic constraints have been resolved.
.0.3) …Initial conditions are fully updated.
.0) Inverse dynamic analysis…
[SIZE=1]ERROR(OBJ.MCH.MUS4)[/SIZE] : [SIZE=1]H:/J…s/C…d/A…n/E…s/G…b/GaitLowerExtremity.main.any[/SIZE] : [SIZE=1]InverseDynamicStudy.InverseDynamics[/SIZE] : Muscle recruitment solver : solver aborted after maximum number of iterations

How can I fix this?

Best Regards,

Hans