Chang the inversion and eversion foot angle

Hi everybody
I want to chang the inversion and eversion foot angle, but when I run the application, it became the original setup.
(The model I used is BikeModel3D)
So, where can I change the angle? please!
Thank you

Hi,

In this application the foot is fixed to the pedal. This is done by a driver in the file JointsAndDrivers that fix the rotation between the foot and the pedal.

So if you change the eversion angle in the Mannequin file it will only change the initial position but not the position when running. What you have to do is modify the driver in the JointsAndDrivers file.

Best regards, Sylvain.

Hi Sylvain
I found the part of the JointAndDrivers which may change the inversion and eversion foot angle.

 
AnyFolder Right={
  // This is the joint connecting the foot to the pedal. It simply
  // specifies that the linear distances between the two must be zero
  
  AnySphericalJoint PedalFootJoint = {
    AnyRefNode &ref1= ....BikeModel.Crank.RPedal;
    AnyRefNode &ref2 = ...ModelFolder.Right.Leg.Seg.Foot.ToeJoint;
    #include "../../../Body/AAUHuman/ToolBox/JointReactions/DrawJointReactions.any"
    AnyFolder &DrawRef=Main.DrawSettings;
  };
  
  AnyKinEq FootPedal = {
    AnyKinRotational rot = {
      AnyRefFrame &Pedal = .....BikeModel.Crank.RPedal;
      AnyRefFrame &Foot = ....ModelFolder.Right.Leg.Seg.Foot.GroundJoint;
      Type = RotAxesAngles;
    
    Foot={AnyDrawRefFrame drw={};};
    };
    MeasureOrganizer = {2};
  };


Is this part right?
And when I want to inversion with 2cm, how can I adjust the code?
Thank you!

Hi,

That is the right part. You have to modify the FootPedal driver. Right now it is an AnyKinEq, that means all measures inside are always driven to zero. Change it to be an AnyKinEqSimpleDriver, that allows you to choose the value of the measure inside like this:

AnyKinEqSimpleDriver FootPedal = {
AnyKinRotational rot = {
AnyRefFrame &Pedal = …BikeModel.Crank.RPedal;
AnyRefFrame &Foot = …ModelFolder.Right.Leg.Seg.Foot.GroundJoint;
Type = RotAxesAngles;

Foot={AnyDrawRefFrame drw={};};
};
MeasureOrganizer = {2};

DriverPos = {10}*pi/180; //angle between the foot and pedal in Radians
DriverVel = {0};
};

Best regards, Sylvain.

Hi Sylvain
I tried this successfully.
So, thank you very much.:slight_smile:
And I want to try to give some force support from pedal.
How can I do this?
Thank you

Hi,

This is already present. The driver includes a reaction force between the foot and the pedal as well as the spherical joint. So the foot is really fixed to the pedal, both kinamticaly and kineticaly.

Best regards, Sylvain.

Dear Sylvain
I want to add additional force from pedal to foot, and only within the particular time region.
Can I do this work at this model?
And still at “AnySphericalJoint” part?
Thank you very much

Hi,

So you want to have a prescribed force. In that case you can use an AnyForce3D. With this you can choose the point of application of the force, and you can use an AnyFunInterpol to control the force vector through time as you want.

Best regards, Sylvain.

Dear Sylvain
Are the AnyForce3D and AnyFunInterpol shoud be apperate from AnyKinEqSimpleDriver?
Like this kind? or they should be combined?

 
  AnyKinEqSimpleDriver FootPedal = {
    AnyKinRotational rot = {
      AnyRefFrame &Pedal = .....BikeModel.Crank.RPedal;
      AnyRefFrame &Foot = ....ModelFolder.Right.Leg.Seg.Foot.GroundJoint;
      Type = RotAxesAngles;
     Foot={AnyDrawRefFrame drw={};};
     };
     MeasureOrganizer = {2};
     DriverPos = {0}*pi/180; //angle between the foot and pedal in Radians  Inversion
     DriverVel = {0};
};
     AnyForce3D PowerSupport = 
     {
     //F = {0, 0, 0};
     //Flocal = {0, 0, 0};
     AnyRefFrame &<Insert name0> = <Insert object reference (or full object definition)>;
     };
 
     AnyFunInterpol Power = 
     {
     Type = Bspline;
     BsplineOrder = 4;
    //T = {};
    //Data = {};
     FileName = "Power.txt";
     FileErrorContinueOnOff = Off;
      };

And how to set the force vector with tome, I only want to control the y axis?
Is in the text file, directly set all the 3 vector and set x, z axis zero?

Thank you very much

Hi,

The AnyForce3D and AnyFunInterpol shoud be separated, like you did.
And if you want force only on the y axis you can just writte it like this:

AnyForce3D PowerSupport =
{
Flocal = {0, .Power(Main.Study.t)[1], 0};
AnyRefFrame &<Insert name0> = <Insert object reference (or full object definition)>;
};

So if you have the 3 components in the text file, this way you just use the second one (y) in the force, and the rest is zero.

You should read the tutorial about forces
http://www.anybodytech.com/fileadmin/AnyBody/Docs/Tutorials/chap6_The_mechanical_elements/lesson5.html
And also have a look in the reference manual for AnyForce3D and AnyFunInterpol.

Best regards, Sylvain.

Dear Sylvain
I tried to modify this part of program for an additional power support from the paddle, and it’s seems can work. Because I find some different at the knee force and moment. So, can you help me to check this program is right?

 
AnyForce3D 
     PowerSupport= {
     Flocal = {0,.Power(Main.Study.t)[1],0};   
     AnyRefFrame &Foot   =Main.HumanModel.BodyModel.Right.Leg.Seg.Foot.GroundJoint ;
     };
 
AnyFunInterpol Power = {
     Type = Bspline;
     BsplineOrder = 4;
     FileName = "Power.txt";
     FileErrorContinueOnOff = Off;
     };

And the “Power.txt” file with four column, the first line is “Time”, the second line is “X axis”, the third line is “Y axis” and so on.
The unit in the txt file is the newton (N)!

Thank you so much

Hi,

The syntax is correct. Just note that it is applied in the local reference frame of the foot ground joint, so you have to make sure that the orientation of this ref frame is matching the one of the force recording device. Otherwise the vertical force could end up horizontal or lateral…

You can create a new node with the correct orientation for the force application if needed.

Best regards, Sylvain.

Dear Sylvain
Thank you for you advices,
and I will attrntion to the orientation of this ref frame.

Thank you very much :slight_smile: