How to read the force plate data

Hi AnyBody support,

I have CSV data of force plate and C3D data of mocap.
The two data has been synchronization.
Is it possible to read these data on AnyBody ?

I beg your kindness.
Akira

Akira,

unfortunately I don’t know if the import of CSV files is possible (I guess it is possible) in AnyBody but there is no problem with importing the C3D.

For importing the C3D you could either use one of the models in the repository which let you chose the file name (e.g. GaitLowerBody, GaitFullBody…) or just use the AnyInputC3D command. If your application is some kind of gait analysis I would recommend using the predefined GaitXXX models.

If you have the possibility to use Matlab you can also append the ForcePlate data from the CSV to the C3D with the BTK script. If you want to know more about this procedure tell me.

Best Regards,

Patrick

Hi Akira,

If your C3D file contains only MOCAP markers data, you can use it for kinematics by using AnyInputC3D class as Patrick told.

Also, if you have some CSV files which contain force plate data,
you can put those information into your model.

In the AMMR example folder, there is ‘GaitVaughan’ model.

In the ‘Environment.any’ file of this example,
you can see that how to make forces and moments acting on human foot with some text information.

I’m sure that this model can be helpful to you.

Best regards,
Moonki

Thank you for your message,

I will try to use the Matlab.
So please teach me about detail procedure.

I beg your kindness.
Akira

Hi Akira,

you can find the BTK Toolkit here: http://code.google.com/p/b-tk/
FAQ, Tutorials and a command reference can be found here: http://b-tk.googlecode.com/svn/doc/Matlab/0.1/index.html

Regards

Patrick

Hi Moonki,
Thank you for your message.

I use "GaitFullBody"model.
I can’t understand this example.
So please tell me that how to put CSV file into my model.

I beg your kindness.
Akira

I think that you can convert your *.CSV model to C3D.

MOKKA is good program for this method.

first, download and install MOKKA. you can download here.

http://code.google.com/p/b-tk/

second is change your CSV format to TRC format.

You can change CSV format to TRC easily using excel.

Third is load TRC on the Mokka program and click the file menu and export to C3D.

I think this way is more easier than coding ^^

Hi Yihwan,

nice trick, didn’t know that.

Patrick

Hi Yihwan,

Thanks for nice and easy tip for use!

Best regards,
Moonki

Hi Yihwan,

I downloaded MOKKA.
I tried to exchange CSV file of force plate to TRC file.
But I couldn’t exchange TRC file by using Excel.
Please tell me how to exchange CSV to TRC ?

I beg your kindness.
Akira

Hi Akira,

*.TRC format contains only marker displacement.

Therefore if you made a *.TRC to C3D format, that C3D format contains marker data without Forceplate information.

But you can simulate the kinematic session initially using that C3D. Drivers and optimization data could obtained by this method.

but you should know about forceplate data for kinetic analysis.

To intall forceplate, ‘ForcePlateType2.any’ will be helpful for you.

firstly, make a dummy(no mass, no inertia) segment on the forceplate center.

secondly, put the force and moment on the dummy segment using 'AnyForce3D 'and ‘AnyMoment3D’ class.

And attach foot to dummy segment using ‘AnyReacForce’

I think you can get the hint in the ‘ForcePlateType2.any’ or ‘ForcePlateType4.any’

Hi Yihwan,

I already have C3D file that contains marker data without Forceplate information.
I want to load .CSV for force plate data to AnyBody.
How format should I load to AnyBody ?

I beg your kindness.
Akira

Akira,

there is no problem in loading two C3D in AnyBody, which is what you would need to do.
You can import another C3D file with:
AnyInputC3D <ObjectName>=
{
FileName="";
};
If the forces are listed as markers in this case you’ll need to have a look in the model tree on their exact path, you will find them under:
Main.ModelSetup.C3DFileData.Points.Markers
You will then have to assign these forces to the ForcePlateTypeX-Makro in the Environment.any or EnvironmentAutoDetection.any file:
ForcePlateType3AutoDetection Plate1 (
PlateName = Plate1,
Folder =Main.ModelSetup.C3DFileData,
Limb1= .BodyModelRef.Right.Leg.Seg.Foot,
Limb2= .BodyModelRef.Left.Leg.Seg.Foot,
No=0,
VerticalDirection =“Z”,
HeightTolerance=0.07,
VelThreshold=2.2,
Fx_12=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fx12,
Fx_34=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fx34,
Fy_14=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fy14,
Fy_23=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fy23,
Fz_1=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fz1,
Fz_2=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fz2,
Fz_3=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fz3,
Fz_4=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fz4,
FootPresent=HumanModelPresent)
={
Switch_DrawForceVectorFromCOP = On; };
All these F… variables have to be assigned to you data which will be found not in the “analog” path but in the “points” path of you C3D file. You can directly insert the exact paths from the model tree with a right mouse button click.
Of course you might need to use another force plate type.

Regards

Patrick

Hi Moonki,

I don’t want to hijack this thread :D, but I have a related question regarding the GaitVaughan model. I am in a similar situation as Akira. A gait lab wants to give me MoCap in C3D and Force Plate data in TXT format. I have to tell them now exactly which data I need :eek:. The GaitVaughan model is a very nice example and I think I can do it.

Only one little question: Does anyone know where the Center Of Pressure values (in CenterOfPressure1.any and CenterOfPressure2.any) come from?

IMHO they have to give me this information in TXT (or similar) so I can create the AnyBody file. Am iI right with this assumption?

Hi Martin,

I believe the COP is not something the force plate data will provide. It can be calculated with all the force components though. If you have a look at the ForcePlateTypeX…any files you can see that no COP needs to be provided.

If you are interested in the calculation of the COP for your specific case ask your gait lab for the manual (or the specifications and then search online) of the force plates because the formulas should be given there.

Best regards

Patrick

Hi Martin,

Yes, as Patrick wrote here, the Force Plate Class Templates(ForcePlateTypeXXX.any files) do not require the value of COP(Center of Pressure).

But in the GaitVaughan model, definitely it uses the file of COP trajectory such as CenterOfPressurePlateOffset1.any and CenterOfPressurePlate1.any.

We found that there are some force plate hardware systems which can generate this COP trajectory values as a text output file.

So if you want to make your own model which is similar to this GaitVaughan model,
you should ask to your co-workers to give you this COP trajectory data with respect to the location of force plate coordinate system.
Of course you should get the global location of the force plate coordinate system.
Also you should get the equivalent force and moment values which are acting on the COP spot(6 components).

Of course it will be the best if you can merge your force plate data into C3D file.
But if it is not possible, then the GaitVaughan is the best reference that you can refer to.

Best regards,
Moonki

Thanks Patrick, thanks Moonki,

I talked to the guys at the gait lab about the COP and it seemed like they understood what I am talking about. On Monday we will do some test runs and they will show me how to calculate the COP for the plates they have there (obviously in the global reference system).

I will see if I can get the model to work. If the resulting Environment.any is presentable, I can post it here as example, but I need some time to prepare the model…