No Force Plates, Possible?

Hi there,

Is it possible to perform an analysis on motion described in a C3D file from motion capture markers (lower body markers from Plug-In-Gait eg. LASI, LKNE etc.) without any force plate data / ground reaction forces?

The motion the subject performed was sitting on a seat pedalling in a cyclic motion, the seat being attached to a frame which was in contact with the ground. The frame was stationary at all times.

I’m new to AnyBody and am struggling to find an appropriate model that does not give me any errors due to the lack of external force data.

Thanks in advance.

Hi,

It is indeed possible to do simulations without using force plates in AnyBody.

Due to a unique inverse dynamics approach that is implemented in the software, all external contact forces need not be known beforehand.

When you don’t have these forces - like in your case, forces between seat-pelvis and between foot-pedal - AnyBody can predict them by assuming that the human distributes environmental loads in a way that minimizes muscular effort during the task.

You can find descriptions of such techniques in the following webcasts:

  1. https://www.youtube.com/watch?v=tIC5eqKiaEc
  2. https://www.youtube.com/watch?v=gQkbr4JTglw

You can implement both friction based contact (e.g., between seat and buttocks, foot and pedal) as well as forces due to restraints (e.g., pedal straps over feet).

Hope this helps :slight_smile:

Ananth
AnyBody Support

I only have motion capture markers for the lower body (from the Plug-In-Gait model) rather than for the full body. Also, the GRF Prediction appears to be for foot nodes. In order to assume only the pelvis (LASI, RASI, LPSI, RPSI) is in contact with the ground, how do I change the GRF Prediction code to not treat the feet as in contact with the ground?

In GRF_example.any, the following code exists as per the Ground Reaction Force Prediction webcast:

I’ve looked at both webcasts and the one for Man-machine Symbiosis seems far too advanced for what I’m trying to do. I want to load a C3D file containing the marker trajectories for the lower body (without force plate data) and have the model treat the pelvis / buttocks as in contact with the ground and predict these forces appropriately.

Thanks in advance, I really appreciate your help

Hi,

In principle, you can still use GRF prediction even when you only have lower body marker data. But remember, that the inertial forces generated by movement of the arms + trunk will then be factored into your predicted GRFs. Since you’re looking at cycling, this may be a fair assumption for you though.

To change the code and add GRF prediction at the Pelvis, you need to do the following (with reference to the code snipped you’ve pasted):

1) PLATE_BASE_FRAME must point to a reference frame attached to your seat.

2) NORMAL_DIRECTION depends on your model. If you look at the orientation of the PLATE_BASE_FRAME, which axis would you consider perpendicular to your seat?

3) NODES_FOLDER: This is a tricky one, and is best understood by loading an existing model with GRF prediction at the feet (like the demo model from the man-machine webcast).

b[/b] In the model tree, you will see that the foot segment has 25 contact nodes. For the man-machine demo model, the folder address is “BodyModel.Right/Left.Seg.Foot.ConditionalContact_Nodes”.

b[/b] If you open the folder corresponding to a force plate, you will again see a folder called FootNodes containing references to the 25 nodes on the foot. For man-machine demo, the address to this folder is “Main.Model.MachineModel.Ground.RightFootForcePlate”.

This is why NODES_FOLDER is set to the string value FootNodes, so the model knows which nodes on the foot need to be considered for contact detection. There are some macros that automatically do steps b[/b] and b[/b], which is what the function CreateFootContactNodes25 in your code snippet achieves.

You can use these macros as inspiration for either writing your own macros for adding contact nodes to the pelvis (You can find the existing macros in the file “CreateFootNodes.any” in your GRF model folder). I would however recommend that you start by manually adding some contact nodes (start with only 2) to the pelvis and also manually creating a sub-folder in your force plate folder, containing references to the pelvic contact nodes.

You create a reference using the “&” symbol. [b][b]

AnyRefNode &ReferenceToNodeXYZ = (Address to pelvic segment).OriginalNodeXYZ;

[/b][/b]

Of course ensure that you set the value of NODES_FOLDER to the name of the sub-folder where you place these referneces to your pelvic contact nodes, e.g. “PelvisNodes”

4) NUMBER_OF_NODES: Set this accordingly

Hope this helps!

Regards
Ananth
AnyBody Support

I’m looking at CreateFootNodes.any now and I have absolutely no idea how to create my own nodes at the pelvis, even after examining your reply. Where exactly do I put “AnyRefNode &ReferenceToNodeXYZ = (Address to pelvic segment).OriginalNodeXYZ;” that you specified in your post?

I’m using the FreePosture model from AMMR, and don’t know how to replicate how it was done in the webcast. All I want is two contact points for the pelvis, which seems very complicated with editing the CreateFootNodes.any file to suit what I want.

Thanks for your help,

Jared

PS: I’ve looked through tutorials, webcasts, forums, reference manuals etc. and have only been using AnyBody for 1.5 weeks, have been really lost on many AnyScript concepts.

Attached is the model I’m interested in defining the pelvis nodes for GRF prediction: FreePostureFullBodyStatic.Main.any