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;
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!