How to give vibration from under the foot? can anybody guide me. i'm very new n my due date is very near due to the MCO .Please

i'm doing a project of a standing man that is given vibration from the base of the leg to the body that all. so what i need to do? i manage to put in the scale on the standing posture. so on the manuqiuen do i need to lock anything n how?. what i should do next?. THANK YOU for YOUR support

Hi Rizal,

It is possible to supply a vibration to the model and it will calculate the result, but results will not be valid if the frequency is too high.

The frequency should not be higher than what you can actively do voluntary with your muscles.

I would make the subject stand on a segment, then make a prismatic joint on the segment and drive the motion of the joint with a fourier driver.

Best regards
Søren

Hi Soren,
what do you mean by prismatic joint? what script should i used ?i cant understand?
can u guide me ?
Thank You

Hi Rizal,

Here are some more details, please refer the reference manual on how to use these objects it also has examples for each of them.

  1. Create an AnySeg
  2. Create an AnyPrismaticJoint choose axis to be your vertical axis
  3. Create AnyKinEqFourierDriver
  4. Make sure it moves like you want
  5. Make the standing model drivers/joints refer to this segment instead of the GlobalRef which is not moving

Best regards
Søren

Hi Soren,
Do i have to make Anyfolder than make Anyseg in the Anyfolder or i can make it at the Main Script. Do i need Nodes to attempt thiss n how?
Thank Yooou
Best Regards

In the StandingModel.main.any file
Add these lines in the "Model " folder

Environment ={
//Add your code here...

};

Alternatively open the environment.any file and add the code there, it will be the same.

Best regards
Søren

Hi Soren,
i manage to do what u told but can't understand the meaning of each line in the script. can you guide me. thank you and please

.
so i have include the
1.AnySeg (what should i change) (where do i located it)
2.AnyPrismaticJoint (What does this do?) ((what should i change) (where do i located it)
3. AnyKinEqFourierDriver (What does this do?) ((what should i change) (where do i located it).
There is no guidence to me how to change and related to this script. can u guide me line by line .
Hope you able to teach me i'm very interested to know about this software.
PLEASE and THANK YOU

Dear Rizal1992.

Please refer to the reference manual and tutorials on how to use these objects, there are examples on how these basic object are being used.

In the reference manual notice the small examples available for most of objects.

Where to add things.. place it all in the environment folder.

  • AnySeg: set mass and Jii this is obligatory... use zero for all in this case.
  • AnyPrismatic joint: Set the axis to be the vertical axis like i wrote, use the global ref and segment for the ref frames
  • AnyKinEqFourierDriver: set the values to reflect you motion, look at the example in the reference manual on how to do this.

Best regards
Søren

Hi Soren,
I mange to run the Program according to your guidance but shows no different on the values when i change the frequency. What should i change or add on in this problem to see the changes.
i add (F = 5hz tStart=0 tEnd=200 nStep = 10) this is for the first study. (F = 10hz tStart=0 tEnd=200 nStep = 10) this is for the second study. If you can explain what is the problem. Appriciate a lot.

.Thank You

Hi Rizal,

Now you have the new segment vibrating, but the model still stands on the global ref so it will not move with the segment.

You will need to look at the connection between foot and globalref and replace GlobalRef with your Segment1.

This is done in the JointAndDrivers.any file, so in there look for foot contact to global ref and replace it GlobalRef with Segment1.

On GlobalRef there are now two nodes RightFootPrint and LeftFootprint, you will need to make these two points on your segment to allow this shift of reference i have made an attempt below.

  AnySeg Segment1 ={
    Mass=0;
    Jii ={0,0,0};
    AnyRefNode RightFootPrint = {
      AnyVec3 HeelPosition = {-0.08, 0, 0.14};
      AnyVec3 ToeDirection = {1, 0, 0.1}; 
      
      //^ Positioning of the right foot. 
      //^ Ground-foot constraints can be excluded with: #define EXCLUDE_FOOT_CONSTRAINTS
      sRel = HeelPosition; 
      ARel = RotMat({0,0,0}, ToeDirection, {0,10,0});
      
      AnyDrawRefFrame drw = {RGB = {0,0.7,0}; ScaleXYZ = 0.1*{1,1,1};};
    };
    
    AnyRefNode LeftFootPrint = {
      AnyVec3 HeelPosition = {-0.08, 0, -0.14};
      AnyVec3 ToeDirection = {1, 0, -0.1}; 
      
      //^ Positioning of the right foot. 
      //^ Ground-foot constraints can be excluded with: #define EXCLUDE_FOOT_CONSTRAINTS
      sRel = HeelPosition;
      ARel = RotMat({0,0,0}, ToeDirection, {0,10,0});
      AnyDrawRefFrame drw = {RGB = {0,0.7,0}; ScaleXYZ = 0.1*{1,1,1};};
    };    
    
    
  };

So go into JointAndDrivers.any and change these lines to this.

AnyFolder Right = 
  {   
    AnyKinEq HeelFloorConstraint = {     
      AnyKinLinear HeelMeasure = {
        AnyRefFrame &FootPrint = Main.Model.Environment.Segment1.RightFootPrint;
        AnyRefFrame &Heel = Main.HumanModel.BodyModel.Right.Leg.Seg.Foot.HeelContactNodeLow;
      };
      Reaction.Type = {Off,Off,Off};
    }; 
    
    AnyKinEq ToeDirectionContraint =
    {
      AnyKinLinear ToeDirection = {
        AnyRefFrame &FootPrint = Main.Model.Environment.Segment1.RightFootPrint;
        AnyRefFrame &Heel = Main.HumanModel.BodyModel.Right.Leg.Seg.Foot.BigToeNode;
      };
      MeasureOrganizer = {1,2}; // Only y,z direction
      Reaction.Type = {Off,Off};
    };
  };
  
  AnyFolder Left = 
  {    
    AnyKinEq HeelFloorConstraint = {     
      AnyKinLinear HeelMeasure = {
        AnyRefFrame &FootPrint = Main.Model.Environment.Segment1.LeftFootPrint;
        AnyRefFrame &Heel = Main.HumanModel.BodyModel.Left.Leg.Seg.Foot.HeelContactNodeLow;
      };
      Reaction.Type = {Off,Off,Off};
    }; 
    
    AnyKinEq ToeDirectionConstraint =
    {
      AnyKinLinear ToeDirection = {
        AnyRefFrame &FootPrint = Main.Model.Environment.Segment1.LeftFootPrint;
        AnyRefFrame &Heel = Main.HumanModel.BodyModel.Left.Leg.Seg.Foot.BigToeNode;
      };
      MeasureOrganizer = {1,2}; // Only y,z direction
      Reaction.Type = {Off,Off};
    };
  };

Best regards
Søren

Hi, Soren,
My Question is base on this statement you have made

"On GlobalRef there are now two nodes RightFootPrint and LeftFootprint, you will need to make these two points on your segment to allow this shift of reference i have made an attempt below."

Meaning Do i need to create a Segment for RightFootPrint and LeftFootprint ?
1.Do i need a new segment ?
2. What Class i should use?
3. Where should i make the new segment?

thank you for your help. just a little more i 'm going to get the result. please and thank you to guiding me trougth the end .

Hi, Soren

This is my Script on the Joints and Driver. I couldn't find what you need me to change. in my script the JoinAndDriver have include the "RightFootDrivers.Any & LeftFootDrivers.Any" that i include in the zip file.

So, Now i having dificulty to change cause i can't find the position that your suggested.
Please and thank you to explain how should i change due to the problem.

Also can we directly contact trought any online web and on the same time so i can learn with you directly. please and thank you.

LeftFootDrivers.any.zip (1.3 KB)

Hi Rizal,

It seems you are running on a rather old version of the software, it is not a problem for this model, but that is why you could not find the location to make my suggestions.

Please simply make your changes in the two files you attached in the same way as i suggested you need to replace the "Globalref" with your plate.

You do not need two plates you need one. I have made the modification to the plate so that it has two nodes one for left and right, these needs to be connected to the left and right feet's, and that you can do in the two files you have attached, very much in the same way i showed in the previous post so insert "Main.Model.Environment.Segment1.LeftFootPrint" and "Main.Model.Environment.Segment1.RightFootPrint" respectively the right places.

Best regards
Søren

Hi Soren,

I am confused where to put the script that u gave me because the "Main.Model.Environment.Segment1.RightFootPrint " meaning it is in the Main folder then Model then Environment and Segment1 but i don't have RightFootPrint. Same goes to the LeftFootPrint.

Another one i don't seem to get where to insert the script either in the Segment1 or in the Left and Right Foot on the Joint&Driver i attach to you. Because when i insert it in the JointandDriver.any it seems to get failure on the ERROR(OBJ.MCH.KIN3).

So do i have to make a Segment under Segment1 for the RightFootPrint & LeftFootPrint.

What should i need to do ?. Sorry asking you a lot of question because there is no expert in this field in Malaysia. Please help me so i can share this study using this software for education industry. Thank You i Appreciate the guidance a lot. I have include my Script Folder can u refer and guide me what i'm doing wrong.

Please & Thank You.

Rizal V1.zip (11.1 KB)

Hi Rizal,

I have fixed the model please review.

I have made the changes i have suggested you to do in the posts above.

In addition to this i have changed the study tend time to be 1 sec. and i have adjust the motion to be +-0.1 meter in with 2Hz. it does not make much sense to go much higher than this.

Best tegards
Søren

V1.main.any (1.7 KB) Environment.any (1.9 KB) RightFootDrivers.any (2.1 KB) LeftFootDrivers.any (2.1 KB)

Hi, Soren
Thank you for the help.
A new problem just pop up. I already did the simulation and get the result. The next day without changing anything i can't run the inverse dynamic . It will pop up this eror below

.
i can't seem to get why. the same thing but different day. can you suggest how can i trouble shoot this problem
Thank You.

Hi Rizal,

Something the model must have changed, try to go back wards and revert the changes.

Please see this wiki on trouble shooting kinematic problems

Best regards
Søren

Hi Soren
Thank You for the Attactment. Problem Solve.
How can i get info about the parameters in the graph. How do i know which is for what purpose?

Hi Rizal.

This is broad question, please be more specific, what are you searching for?
The tutorials will provide many examples on output to look at.

Best regards
Søren

Hi Soren,
The Parameters that i was refering was in the chart which is Ekin,Epot,Emech,Pmech, Envolpe and others how can i get specific explaination on those kind of parameters
thank you