Force Plate vectors

Hi ?

In our biomechanics lab setup at the University of Miami, Florida, I am using 3 Kistler force plates for the lifting activity in my study, there are two plates on the left, and one plate on the right. See attachments. So as the subject is walking towards the shelf, the right foot goes from the floor to plate 4, and the left foot goes from plate 1 to plate 3. So I’d like to verify, in the AB 1.5 model, will the model know that plate 1 and 3 forces are attached to the left leg, and only plate 4 is attached to the right leg?

Also, I have some trails where the foot is touching two plates at same time, so I was wondering if AB calculates a combined single force vectors and center of pressure for the two small vectors created by that foot touching two plates? Also see attachment.

Sincerely thanks
Damon

Hi Damon,

  1. In the ‘/AMMR/Body/AAUHuman/ToolBox/Mocap/’ folder, there are two types of force plate class templates.
    For instance, ‘ForcePlateType2AutoDetection.any’ file can be used when you don’t know which foot (left or right) is on a certain force plate.
    But if you know which foot is on a certain force plate in advance, then I would recommend you to use ‘ForcePlateType2.any’ file instead.

  2. Force plate class template will calculate the force vector and COP individually even when a foot is on the border of two force plates.

Best regards,
Moonki

Hi Moonki

So, in my setup plates 1 and 3 are for the left foot and plate 4 is for the right foot. And if the left foot is on plate 1 and 3 at the same time then AB calculates the Cop?

I also have a few trails where the right foot crosses over on plate 3, so the right foot is on plate 3 and 4. But plate 3 is supposed to be for the left foot only. What do you think I can do to correct this?

Edit, added this in… Since in the beginning the right foot is using plates 3 and 4, and then the left foot goes from 1 to 4. so both left and right feet will use plate 4 for this trail. I’m wondering is there a way to change allocation of plate 3 from the right foot to the left, just after the right foot is no longer on the plate 3. see attachment.

Sincerely thanks
Damon

Hi Damon,

In the ‘\AMMR\Body\AAUHuman\ToolBox\Mocap’ folder, let us assume that your can see the ‘ForcePlateType2AutoDetection.any’ file.

  1. This kind of ‘ForcePlateTypeXAutoDetection.any’ (X=2, 3, 4 types) files will detect the contact between the foot and the force plate by checking whether the ‘HeelContactNodeLow’ and the ‘ToeLateralContactNode’ locations are in the force plate area. You can see ‘ContactDetection.any’ file if you want to know in detail.
    I have not checked yet. But I guess that in the case of left foot which can be located between your force plate 1 and 3, this case will be fine.

  2. But in the case of right foot, if that is located between the force plate 3 & 4, then the force information from either force plate 3 or 4 may not be transferred to human model.
    For this case, you may have to modify this force plate class template to consider another point of the foot. Maybe the big toe node can be a candidate.

But the best solution is to avoid that kind of situation when you are doing the experiments.

Best regards,
Moonki

[LEFT]Hi Moonki,

[LEFT]1) So for these cases. Case-A, left foot on 1 and 3, right on 4. Or case-B left foot on 3 and right on 1 and 4. The ‘ForcePlateType2.any’ template, will work for these? How do I assign the feet to the template?

Also, I noticed that both types are in the code in the model. So do I take out one and only use the ForcePlateType2…?[/LEFT]
[SIZE=3]#include[/SIZE] “<ANYBODY_PATH_TOOLBOX>/Mocap/ForcePlateType2AutoDetection.any”
[SIZE=3]#include[/SIZE] “<ANYBODY_PATH_TOOLBOX>/Mocap/ForcePlateType2.any”

[LEFT]2) For the case where the heel and toe are between plate 3 and 4. May try to fix later, if both identical trails were lost. (we did the same lift configuration twice). Otherwise think its best eliminate these trails from the study, cause there is some portion of time where both feet are touching one plate at the same time. [/LEFT]

[LEFT]Yes I had explained to the subjects how to step on the plates in the beginning of the experiment. But its better that they concentrated on the box placement, not on the stepping. So I didn’t keep reminding them how to step. Thanks to God we ended up with very few of these double force plate situations, it’s hard to catch these things during the experiment. [/LEFT]

[LEFT]Sincerely thanks[/LEFT]

Damon[/LEFT]

Hi Damon,

  1. I guess that it will work. If you see the ‘ForcePlateType2.nay’ file,
#class_template ForcePlateType2 (PlateName, Folder,AnySeg &Limb, No, Fx, Fy, Fz, Mx,My,Mz ){

You can use this ‘Limb’ for the assign of left or right foot.

Best regards,
Moonki

Hi Moonki

I see that this is the first line of code in the [FONT=Calibri]ForcePlateType2 file, it is [/FONT]
#class_template ForcePlateType2 (PlateName, Folder,AnySeg &Limb, No, Fx, Fy, Fz, Mx,My,Mz ){

And the below is the code for one of the four plates, plate 3, so for this plate 3 how do I assign left foot?

[SIZE=3]AnyRefNode[/SIZE] c03={
[SIZE=3]AnyInt[/SIZE] i=2;
[SIZE=3]AnyInt[/SIZE] plnr=No;
sRel=0.001*{Folder.Groups.FORCE_PLATFORM.CORNERS.Data[plnr][i][0],Folder.Groups.FORCE_PLATFORM.CORNERS.Data[No][i][1],Folder.Groups.FORCE_PLATFORM.CORNERS.Data[No][i][2]};
[SIZE=3]AnyDrawNode[/SIZE] drw={ScaleXYZ=0.01*{1,1,1};RGB={1,0,0};};

[SIZE=3]AnyDrawVector[/SIZE] DrawName = {
Vec = {0.0,0,0}; [SIZE=3]//use zero length
[/SIZE]Line.Thickness = 0.025; [SIZE=3]//arbitary value
[/SIZE]Text = “3”; [SIZE=3]//make reference to name
[/SIZE]Line.RGB={1,0,0};[SIZE=3]//make reference to color
[/SIZE]
Also, do I still include ForcePlateType2AutoDetection, or remove it?

Sincerely thanks
Damon
[SIZE=3]

[/SIZE]

Damon, you do not have to change the definition of the ForcePlateType2 but the parameters in your environment (just as an example might not work like that):


ForcePlateType2 Plate3 ( 
PlateName = Plate3,     
Folder =Main.ModelSetup.C3DFileData, 
[b]Limb=  .BodyModelRef.Left.Leg.Seg.Foot,[/b]
No=2,
VerticalDirection ="Z",
HeightTolerance=0.07, 
VelThreshold=2.2,     Fx=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fx1,
Fy=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fy1,     
Fz=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fz1,     
Mx=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Mx1,     
My=Main.ModelSetup.C3DFileData.Analog.DataFiltered.My1,     
Mz=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Mz1,     
)     ={};

You don’t have to include the AutoDetection if it is not used for another force plate.

Thanks Moonki

I’ll try adjusting the code.

What do you think, how would I know if its working correctly?

Sincerely thanks
Damon

Hi Damon,

Different from the force plate class templates with auto detection, this force plate class templates will always transfer the forces and the moments to human model.

So if your definitions of relationships between the force plates and human are correct, then it will work well.

Best regards,
Moonki

Thanks Moonki

Yes for most all of the trails each foot has a unique plate. Most of the time left foot transfers from 1 to 3, or is on 1 and 3 at same time. Sometimes the right foot transfers from 1 to 4, or is on 1 and 4 at same time. So for those cases I’ll change the definition.

So I was wondering with the change in the plates to define to each foot, do I still define the box with AnyForce3D on both hands?
And if so, I was wondering if it would be better to include the markers for the box in AB, the box is marked in Vicon along with the human. And…, should I start a new forum string for these questions about the box?

Sincerely thanks
Damon

Hi Damon,

I think you have many trials, and I don’t think you can cover all your cases by using only one setting of force plate environment.
I would rather classify the exceptional cases( the cases when the right foot transfers from the plate 1 to 4) and try to use different force plate setup for those cases.

Regarding the hands and the box, please write a new post on the forum.
http://forum.anyscript.org/forumdisplay.php?f=21

Best regards,
Moonki

[LEFT]Hi Moonki[/LEFT]

[LEFT]Below is all the cases classified by the two force plate templates, please verify if these are correct? [/LEFT]

[LEFT]For ForcePlateType2.any [/LEFT]

[LEFT]Case 1 - left foot transfers from plate 1 to 3, and right foot is already on plate 4 at this point. The beginning of data collection, when the box is entering the shelf. (this is the majority of the trails) [/LEFT]

[LEFT]Case 2 - right foot transfers from plate 1 to 4, the left foot is already on plate 3 at this point. The beginning of data collection, when the box is entering the shelf. [/LEFT]

[LEFT]Case 3 – left foot is touching both plate 1 and 3 for a short time as it transfers from plate 1 to 3, and right foot is already on plate 4 at this point. The beginning of data collection, when the box is entering the shelf. [/LEFT]

[LEFT]Case 5 - right foot is touching both plate 1 to 4 for a short time as it transfers from plate 1 to 4, the left foot is already on plate 3 at this point.The beginning of data collection, when the box is entering the shelf. [/LEFT]

[LEFT]Moonki, for this case below, you mentioned before we need to modify the [COLOR=black][FONT=Verdana]ForcePlateType2AutoDetection.any template? Is this something that can be done easily? [/FONT][/COLOR][/LEFT]

[LEFT]Case – 6 as left foot is transferring to plate 3, the right foot heel is touching plate 3 at the same time as its toe is touching plate 4, for a short time the left foot and the right heel are touching plate 3 at the same time.[/LEFT]

[LEFT]Sincerely thanks

Damon [/LEFT]

Hi Damon,

I think that your classification from the case 1 to 5 are looking good.
But for the case 6, of course you should modify the force plate setup if you really want to analyze this case.

Best regards,
Moonki

Hi Moonki

So to do the calculations of COP for a foot that is on two plates at the same time, where the toe is on the forward plate and the heel is on the back plate. Like the left foot on Plate 1 and 3, I do not want to use auto detection? Because auto detection will only see the foot on one plate?

So I use ForcePlateType2, this allows the calculations for COP for a foot that is on two plates, i.e., toe on plate3 while heel is on plate1.

Is this correct?

Sincerely thanks
Damon

Hi Damon,

  1. The reason why this ForcePlateType2AutoDetection exists is that users should use this class template if they don’t know which foot(left or right) will be on that plate in advance.

  2. ForcePlateType2AutoDetection will check some options(height tolerance, velocity tolerance, location of the nodes) to determine whether a foot is on the force plate or not.

  3. Both ForcePlateType2 and ForcePlateType2AutoDetecion class templates will calculate the COP individually by the provided information.

  4. Let’s assume that the toe is on the plate 3 and the heel is on the plate 1.
    If you are sure to see this case, then you can use either ForcePlateType2 or ForcePlateType2AutoDetection.
    There will be no difference between the usages of these two different force plate class templates.

I would recommend you to pick a special case where a foot is on the multiple forces plates.
Then you can try to use different force plate class templates and compare the results.

Then it will be faster and better for you.

Best regards,
Moonki

Hi Moonki

I like this recommendation. Since the Model is already configured for ForcePlateType2AutoDetecion, I will test the 5 different force plate cases using AutoDetection.

Sincerely thanks
Damon

Hi Moonki

Please take a look at the attachment, using EnvironmentAutoDetection.

The two green balls for the right foot, are at the toe on plate 4 and another green ball at heel on plate 1, so it appears that the COP is not summed up.

Or maybe this is only a view of the true force vectors, if so how do I determine if the COP is being summed up for this case?

Sincerely thanks
Damon

Hi Damon,

There is NO function in the force plate class template to calculate the resultant COP from two force plates.

If you want to do that you should make your own code to do that.

I would recommend you to use AnyForceMomentMeasure2 class to implement it.

Best regards,
Moonki

Hi Moonki

Maybe I am asking for something I don’t need here, maybe I don’t need to calculate the COP.

All I really need to know is will the two forces, (the force from toe, and the force from the heel), translate into the right foot and then into the model, so the force calculations to L5/S1 are correct?

And do I need to check for this, or we know this, since the last message sounded like I needed to check for this?

Sincerely thanks
Damon