Local orientation Y vertical and X forwards

Hi,

I have to make some adjustments to the local orientation of the segments. The Y axis should be vertical and the X axis must have a forward direction. In the hipjoint the thigh segment, the knee joint and the shank segment there is no problem. But the position of the feet is abnormal. There is too much rotation in the sigward direction. The position of the individual toes are almost vertical. How could I fix this?

Best regards,

Hans

Hi Hans,

This is actualy the way the foot has been constructed. When the ref frames of the leg segments are aligned the foot is plantar flexed, wich means when the joints are in neutral position the foot ref frame as a different global orientation than the shank or thigh ref frames.

So you should simply apply a different rotation matrix to get your new foot local ref frame aligned with the other in neutral position. I understand this is what you want.

Best regards, Sylvain.

Hi,

Thank you for your reply. Is it right that two nodes should be changed in the rear part of the feet and the front part of the feet? I’m asking this because the toes are correct now, but the subtalar part is still vertical.

Best regards,

Hans

Hi,

Most probably the original ref frame of the talus has a similar orientation to the foot one.
You can simply draw the original ref frame of each segment so you can see clearly what rotation to apply to your new local frame.

Best regards, Sylvain.

Hi,

I have uploaded the complete model, because I could not find a good fit.

Best regards,

Hans

Hi hans,

I am not sure i understand correctly what you try to do. I thought you just wanted to define a new node in each segment with a certain orientation. But now a can see you modified the joint axis orientation in the ankle, and that is why it looks strange.

Please try to describe a little better what you want to do so we can help you more effeciently.

Best regards, Sylvain.

Hi,

I added some new nodes in the different segments and I also try to do the same in the foot. The reason for this is to compare this model with another program with this orientation. The problem is now that my feet are too plantarflexed. How could I fixed it?

Best regards,

Hans

Hi Hans,

I didn’t saw at first that you changed the ankle joint to spherical. But i can see what is your problem now: there are not enough markers on the foot. You need at least one more marker on the lateral side of the foot to control eversion/inversion. For now what you can do is lock this degree of freedom.

Best regards, Sylvain.

Hi,

Thank you for your reply. Which class can I use to lock the ankleEversion? Is that AnyKinEqDriver?

Best regards,

Hans

Hi Hans,

Something like this should do the trick:

AnyKinEqSimpleDriver ankledriver ={
AnyKinMeasureOrg &ref1= Main.HumanModel.BodyModel.Interface.Right.AnkleEversion;
DriverPos={0};
DriverVel={0};
Reaction.Type={Off};
};

Best regards
Søren

Hi,

Thank you for your reply. But I still have one remaining question. Where should I place this code?

Best regards,

Hans

Hi Hans,

The JointsAndDriver.any file … would be the natural place for this.

Best regards
Søren

Hi,

In the GaitLowerExtrimityModel I only see JointsAndDriversOptimized.Any. Do you mean this file?

Best regards,

Hans

Hi Hans,

The JointAnglesoOutput.any file would be ok for this model i think

Best regards
Søren

Hi,

I declared this code in JointAngleOutputs.Any

[SIZE=3]AnyKinEqSimpleDriver[/SIZE] ankledriver ={
[SIZE=3]AnyVector[/SIZE] AnkleEversion = Main.HumanModel.BodyModel.Interface.Left.AnkleEversion.Pos;
DriverPos={0};
DriverVel={0};
};

But If I try to load the model it gives this error

[SIZE=1]Loading Main : “H:\J.H.Schreuders\Copy of Copy of AMMRV1.2test3td\Application\Examples\GaitLowerExtremitycalib\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
[SIZE=1]ERROR(SCR.PRS9)[/SIZE] : [SIZE=1]H:/J…s/C…d/A…n/E…s/G…b/JointAngleOutputs.any[/SIZE] : ‘HumanModel’ : Unresolved object

What did I do wrong?

Best regards,

Hans
[/SIZE]

Hi,
its just a simple path problem.
Depending on where you included it (which folder) it should be something like
AnyVector AnkleEversion = .HumanModel.BodyModel.Interface.Left… and so on.
Best regards,
Sebastian

Hi,

I changed the path definition in

[SIZE=3]AnyKinEqSimpleDriver[/SIZE] ankledriver ={
[SIZE=3]AnyVector[/SIZE] AnkleEversion = …HumanModel.BodyModel.Interface.Right.AnkleEversion.Pos;
DriverPos={0};
DriverVel={0};
};

But now this error appear:
[SIZE=1][SIZE=1]ERROR(OBJ.MCH.KIN8)[/SIZE] : [SIZE=1]NULL[/SIZE] : Incorrect number of elements in kinematic constraint specification : MISSING MESSAGE
Current specification is ‘’, required is ‘’. See object : [SIZE=1]Main.Studies.KinematicStudyForParameterIdentification.JointAngleOutputs.OutputFile2.ankledriver.DriverPos[/SIZE] : [SIZE=1]H:\J.H.Schreuders\Copy of Copy of AMMRV1.2test3td\Application\Examples\GaitLowerExtremitycalib\JointAngleOutputs.any(38)
[/SIZE]
What can I do now?

Best regards,

Hans
[/SIZE]

Hi Hans,

You declared the AnkleEversion as a vector. You cannot drive a vector, it has to be a kinematic measure. Try with this:
AnyKinMeasure &AnkleEversion = …

Best regards, Sylvain.

Hi,

Thank you for the reply. My Model loaded properly with this adjustment. I have adjusted the foot position now and it worked. I am running the first tests

Best regards,

Hans

Hi,

A few weeks ago I have declared in the file JointAngleOutputs.Any this code
AnyKinEqSimpleDriver ankledriver ={
AnyKinMeasure &AnkleEversion = …HumanModel.BodyModel.Interface.Left.AnkleEversion;
DriverPos={0};
DriverVel={0};
};
But If I have placed this code in JointsAndDriversOptimized.Any
AnyKinEqSimpleDriver ankledriver ={
AnyKinMeasure &AnkleEversion = …HumanModel.BodyModel.Interface.Left.AnkleEversion;
DriverPos={0};
DriverVel={0};
Reaction.Type={Off};
};

I received this error when loading the inversy dynamic model:
Loading Main : “H:\J.H.Schreuders\Copy of Copy of AMMRV1.2test3td\Application\Examples\GaitLowerExtremitycalib\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
Linking identifiers…
Evaluating constants…
Configuring model…
Evaluating model…
ERROR(OBJ.FILE1) : H:/J…s/C…d/A…n/E…s/G…b/JointsAndDriversOptimized.any : JntDriverLeftLegTD.FileName : Problem with file : H:\J.H.Schreuders\Copy of Copy of AMMRV1.2test3td\Application\Examples\GaitLowerExtremitycalib\Walk10-output-euler-leftlegtd.txt(line #: 179) : Too many values on line in data file.
ERROR(OBJ.FILE1) : H:/J…s/C…d/A…n/E…s/G…b/JointsAndDriversOptimized.any : JntDriverLeftLegTD.FileName : Problem with file : H:\J.H.Schreuders\Copy of Copy of AMMRV1.2test3td\Application\Examples\GaitLowerExtremitycalib\Walk10-output-euler-leftlegtd.txt : Too many values on multiple lines in data file.
ERROR(OBJ.FILE1) : H:/J…s/C…d/A…n/E…s/G…b/JointsAndDriversOptimized.any : JntDriverRightLegTD.FileName : Problem with file : H:\J.H.Schreuders\Copy of Copy of AMMRV1.2test3td\Application\Examples\GaitLowerExtremitycalib\Walk10-output-euler-rightlegtd.txt(line #: 179) : Too many values on line in data file.
ERROR(OBJ.FILE1) : H:/J…s/C…d/A…n/E…s/G…b/JointsAndDriversOptimized.any : JntDriverRightLegTD.FileName : Problem with file : H:\J.H.Schreuders\Copy of Copy of AMMRV1.2test3td\Application\Examples\GaitLowerExtremitycalib\Walk10-output-euler-rightlegtd.txt : Too many values on multiple lines in data file.
Loaded successfully.
Elapsed Time : 19.594000

Why is this?

Best regards,

Hans