Hi Prabhav
Nice model!
I have tested the model a bit and i do also see high activations of tibial anterior and EDL until around 0.7 sec.
Looking at the joint definition i see that the ankle joint is a spherical joint, when driving this joint you set the reactions to On,Off,On. The type of the rotaional measure used for the driver is a RotAxesAngles and the sequence of rotations are z,y,x. Plotting the coordinate system of the first mentioned node in the measure
AnyRefFrame &ref1 = …HumanModel.FootSegmentsRight.Shank;
shows that the y axis is pointing almost medial lateral. So at first glance it looks correct to have the second dof with no reaction since this is the flexion extenion axis. But when looking at the motin data for the the joint if you look at the property
Main.OptStudy.Output.OptModel.ModelEnvironmentConnection.JointsAndDrivers.JointMeasures.Pos[9] , i think this is the rotation around the z axis, if this rotation was zero it would mean that the y axis would point medial lateral but this is not the case the position varies between -0.8-0.9. This means that the direction you have with no reaction on is not medial lateral but different because there is a rotation around the z axis first of roughly -0.9 rad
[SIZE=3][SIZE=2][COLOR=#000000][/SIZE][/COLOR][/SIZE]
[SIZE=3][SIZE=2][COLOR=#000000]I have two solutions for this:[/SIZE][/COLOR][/SIZE]
[SIZE=3][SIZE=2][COLOR=#000000]1 introduce a revolute joitn in the angle and repotimize the motion this will ensure the constraints are ok.[/SIZE][/COLOR][/SIZE]
[SIZE=3][SIZE=2][COLOR=#000000]2 remove the reactions applied on the RotAxesAngles measure for this joint and replace them by a reactions applied on a meausre using a RotVector. [/SIZE][/COLOR][/SIZE]
[SIZE=3][SIZE=2][COLOR=#000000][/SIZE][/COLOR][/SIZE]
[SIZE=3][SIZE=2][COLOR=#000000]I have tested the code below in the JOintAnddriversOptimized file and it lower the activations significantly. Firstly i removed the reactions of the ankle joint in the driver please see below[/SIZE][/COLOR][/SIZE]
[SIZE=3][SIZE=2][COLOR=#000000][/SIZE][/COLOR][/SIZE]
[SIZE=3][SIZE=2][COLOR=#000000]
[COLOR=#0000ff]AnyKinEqInterPolDriver Jntdriver =
{
FileErrorContinueOnOff = On;
//MeasureOrganizer = ;
Type = Bspline;
BsplineOrder = 4;
//T = ;
//Data = ;
FileName = “output-euler.txt”;
AnyKinMeasureOrg &meas = .JointMeasures;
Reaction.Type={
On,On,On,
On,On,On,
On,On,On,
Off,Off,Off, //removed the reaction of the these dof replace by RightAnkleReaction object below
On,Off,On,Off};
};
Then these reactions has to be replaced by reactions applied to a RotVector object.
[/COLOR][/SIZE][/COLOR][/SIZE]
AnyReacForce RightAnkleReaction ={
AnyKinMeasureOrg org={
AnyKinRotational RightAnkleReaction = {
Type = RotVector;
AnyRefFrame &ref1 =…HumanModel.FootSegmentsRight.Shank;
AnyRefFrame &ref2 = …HumanModel.FootSegmentsRight.HindFoot;
};
MeasureOrganizer={0,2}; //carry the moment around x and z not y
};
};
[COLOR=black]For more information on how the RotVector works please look at the AnyScript wiki page [/COLOR]
http://wiki.anyscript.org/index.php/Tips_and_tricks#How_to_understand_the_reactions_in_AnyKinRotational_when_using_the_Cartesian_rotation_vector_.28Type.3DRotVector.29
The RotVector does not use cardan angles like the RotAxesAngles object so it is easier to apply the reactions moments you desire. When using a RotAxesAngles object for non-zero rotations the moment reactions are complex to apply correctly, because the applied moment direction depends on the previous rotations, this is not the case with the RotVector.
This also needs to be done for the other joints in the foot to make the model right.
I hope i all made sense, otherwise please write again, it looks like it is going to be a nice model
Best regards
Søren