ForcePlateType3.any file

Does anyone in the Anybody community have a ForcePlateType3 file that works. The file I have from the repository provides erroneous results. Even though I corrected many of the problems with this file there are still errors in the output that I believe stems from this file. If you have a working file kindly share. Thanks, Nicholas

Since I also have a problem getting my c3d data to work, I would very much appreciate the support team to provide a working set of files including Type3 MoCap Data.
Kind regards, ifm-fh.

Hello:
The force plate Type 3 file attached should meet your needs. The COP calculations were added based on Kistlers calculations which is also attached. All calculations checks out fine. If you find any problems wiht this file let me know. Thanks

Thank you very much for the files Farouk. The .any file solved some Problems, although I don`t know why.
But everytime some problems get solved new ones occur.

May anyone try to get my MoCap data to work with one of the Models of the AMMRV example branch?
I tried so much but everytime something new is wrong. Sometimes I doubt that my data is properly recorded, but since I’m very new to AnyBody and MoCap, I don’t even know how to check on that.
All I know about the data is, that three force plates type 3 and Plug-In-gait Marker Placement Protocol like in this Pdf have been used.

I’m working with AMMRV1.3.1, AnyBody (Faculty Research) Version 5. 0. 0. 2014, can’t edit *.c3d but look inside with MlsViewer.

Looking forward hopefully to some help.

Best Regards,
ifm-fh

—C3D Files:

Hi ifm-fh,

I have looked at your c3d file and tried to load it into a model, at first glance i did not notice problems with the data.

Please describe the problem you have.

Based on the GaitLowerExtremity model of AMMR1.3

I did the following to make it load the model.

In the modelsetup.any file i outcommented a number of markers which you do not have.

lmt5, rmt5, rpsi,lpsi,c10, and the head markers.

In the environment the plate type has to be changed.

Best regards
Søren

Hi toerholm,

thanks for the answer. Loading the model never was a problem, but running parameter optimisation failed.
I think this was because not enough markers were loaded, so the program could not use redundant information to optimize segment lengths.

By loading another c3d file with more Markers, i could finally finish optimization and inverse dynamics. I’m afraid the muscle calibration now seems to produce bad results. Please have a look at my new thread.

In summary, my problems resultet from a lack of information.
And regrettably, the Tutorial did not explain how to modify the example files to match other c3d files (propably with other marker names and positions).
So it took al long time figuring out the right changes, even though PlugInGait standard has been used recording the data.

Best Regards,
ifm-fh

Hi,

It is indeed a problem for the optimization if not enough markers are present. But it seems you got it right now, that’s good.

About modifying the model to use a new C3D file, there is an application in AMMR1.3.1 called GaitLowerExtremityProject. This one guides you with an updated interface through all the modifications needed.

Best regards, Sylvain.

Hi There,

I wonder if anyone can help me. I decided to post on this thread rather than start a new one as I am trying to use the ForcePlateType3.any file that Farouk posted above.

I have successfully loaded my c3d data in the GaitLowerExtremity model and can run the parameter optimisation without errors. I noticed though that there was no COP marker. I tried using the ForcePlateType3.any file posted on this thread and COP markers appeared - 3 of them. But they are at the centre of the force plate and not under the foot. They move very little from the centre point during the simulation.

I looked in the ForcePlateType3.any file and can see under AnyDrawVector CenterOfPressureSo that the calculations match what is in the attached pdf.
I’m not sure what the other markers are for? AnyDrawVector CenterOfPressureNic and AnyDrawVector CenterOfPressureSyl.

Here is how I have put my Force Plate in the Environment.any file:

ForcePlateType3 Plate6 (
PlateName = Plate6,
Folder =Main.ModelSetup.C3DFileData,
Limb = .HumanModelRef.Right.Leg.Seg.Foot,
No=5,
Fx_12=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Channel_49,
Fx_34=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Channel_50,
Fy_14=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Channel_51,
Fy_23=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Channel_52,
Fz_1=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Channel_53,
Fz_2=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Channel_54,
Fz_3=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Channel_55,
Fz_4=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Channel_56)
={};

I am using AMS 5.1 and AMMR 1.4.1

Any help would be much appreciated!

Sandy

Dear Sandy,

In AMMR V1.5, we have added a new pieces of code for drawing the center of pressure regarding the force plate type3.

Here you can see the code:

  AnyFolder CenterOfPressure =
  {
     AnyForceMomentMeasure2 NetEffectMeasure = 
     {
         AnyRefFrame& ref = ..ForcePlate;
         AnyForceBase& Fx12 = ..Fx12;
         AnyForceBase& Fx34 = ..Fx34;
         AnyForceBase& Fy14 = ..Fy14;
         AnyForceBase& Fy23 = ..Fy23;
         AnyForceBase& Fz1 = ..Fz1;
         AnyForceBase& Fz2 = ..Fz2; 
         AnyForceBase& Fz3 = ..Fz3;
         AnyForceBase& Fz4 = ..Fz4;
         
         AnyVec3 Flocal = F*ref.Axes;
         AnyVec3 Mlocal = M*ref.Axes;
     };
     
     AnyVar fx = NetEffectMeasure.Flocal[0]; 
     AnyVar fy = NetEffectMeasure.Flocal[1]; 
     AnyVar fz = NetEffectMeasure.Flocal[2];
     AnyVar mx = NetEffectMeasure.Mlocal[0]; 
     AnyVar my = NetEffectMeasure.Mlocal[1]; 
     AnyVar mz = NetEffectMeasure.Mlocal[2]; 

     AnyVar fzz =iffun(gtfun(  (fz^2)^0.5,0),fz,fz+1000000);
     
     AnyVar Vx= my/fzz;
     AnyVar Vy= -mx/fzz;
     AnyVar Vz= 0;     
      
     AnyVar OnOff=iffun(gtfun(fz,-10.0),0.0,1.0);
     
     AnyRefFrame& ref_ForcePlate = .ForcePlate;
     ref_ForcePlate  = 
     {
        AnyDrawSphere COP_ball = 
        {
            RGB = {0,1,0};
            ScaleXYZ = 0.015 *{1,1,1};
            Opacity = iffun(gtfun(..fz, -10.0), 0.0, 1.0);
            Position = -{..Vx, ..Vy, ..Vz};
        };       
     };
     
     AnyDrawLine Line = 
     {
       p0 = -{.Vx, .Vy, .Vz};
       p1 = p0+0.004*.OnOff*{.fx, .fy, .fz};
       Visible = ..Switch_DrawForceVectorFromCOP ;
       AnyRefFrame &ref = ..ForcePlate;
       
       Line.RGB ={0,0,1};
       Line.Thickness = 0.01;
       Line.End.Thickness = 2*0.01;
       Line.End.Length = 4*0.01;
       GlobalCoord=Off;
     };         
  };

I’m not sure whether this code will work in the AMS v5.1 and AMMR V1.4.
If you can understand this code, then you may be able to apply the same concept into your AMMR repository.

If you see any problem in using the above code, then I would suggest you to upgrade your AMS and AMMR.

I hope this may help you.

Best regards,
Moonki

1 Like

Hi Moonki,

Thanks for your response. I have upgraded to AMS 5.3 and AMMR 1.5 and setup my model. It runs without errors but the COP is still not positioned correctly. It appears and disappears at the right time but is fixed at the centre of the force plate. Do you know what could be causing this?

Many thanks,

Sandy

Hi Sandy,

If you can upload your model (just one trial which causes some errors) in the debug section, then we will try to figure out what the problem is.
http://forum.anyscript.org/forumdisplay.php?f=21

Best regards,
Moonki