GaitLowerExtremity driven by external input instead of C3D files

Hi,

Instead of the standard GaitLowerExtremity(AMMRV1.4) model driven by mocap C3D files I want to drive my model with text files. I have a few essential questions:

  • Is the standard GaitLower extremity appropiate for this goal?

  • Which kinematic driver is appropiate for this type of input?

  • Is it only necessary to drive the joints to get the appropiate movement?

Best regards,

Hans

Hi Hans,

Actually, in the inverse dynamics process of the GaitLowerExtremity model,
it uses several joint angle drivers.

  1. In the MotionAndParameterOptimizationModel process,
    (#define MotionAndParameterOptimizationModel 1)
    it crease several text files that contains the joint angle history.
    You can see the ‘JointAngleOutputs.any’ file.

  2. In the InverseDynamicModel process,
    (#define InverseDynamicModel 1)
    it uses several text files to drive human joint angles.
    You can see the ‘JointsAndDriversOptimized.any’

So you can modify this GaitLowerExtremity model.
But in this case, you have to setup the scaling issue of human model.

Best regards,
Moonki

Hi,

Thank you for your reply and I have the model running with the external input. But since there are no forceplates in my model I want to load the joint forces and moments of forces in my model. I use this method to load in the forces for the knee

[SIZE=3]AnyFolder[/SIZE] Loads = {
[SIZE=3]AnyForce[/SIZE] KneeForce = {
[SIZE=3]AnyInputFile[/SIZE] KneeForceTorque = {
FileName = “C:\Users\Hans\Documents\MATLAB\KneeForcesRight.txt”;
};
F ={ KneeForceTorque.Data[0][Main.Studies.InverseDynamicStudy.iStep],KneeForceTorque.Data[1][Main.Studies.InverseDynamicStudy.iStep],KneeForceTorque.Data[2][Main.Studies.InverseDynamicStudy.iStep]};
[SIZE=3]AnyKinMeasure[/SIZE] &Knee= …HumanModel.BodyModel.Right.Leg.Jnt.Knee;
};

I do the same for the moments of forces. But How can I use the external moments of forces to obtain the generated muscle Forces?

Best regards,

Hans

Hi,

First, I could not understand what you would like to do.

I guess that you want to put the knee moments calculated by ‘external software’ into AnyBody human model.

And also you don’t have any force plates.

Then, I would like to ask of you some questions:

  1. How could you calculate the knee moments without the force plate data in your MATLAB software?
  2. Do you think that the structure of your MATLAB human model is same as the structure of AnyBody human model?
    If not, then using the result from your MATLAB program into AnyBody model may not be meaningful.
  3. Does your MATLAB software have musculoskeletal human model?

If you really want to do inverse dynamics analysis without force plate data,
then I would recommend you to try to ‘predict’ ground reaction forces using the conditional contact elements.

Could you write what you want to do in more detail here?

Best regards,
Moonki

Hi,

First of all the external input is calculated in matlab with correct momentdata. What I want to do is calculating moments of forces and muscle forces using the external data as input. The model I used in matlab is using forceplates to calculate the joints forces and moments of forces. I use these moments of forces and joint forces as input for my model. But now it doesn’t show the joint forces and moments of forces in my model. How can i change that?
[SIZE=1][SIZE=3][/SIZE]

[SIZE=3]Best regards,[/SIZE]

[SIZE=3]Hans
[/SIZE][/SIZE]

Hi,

Let me ask of you some questions.

  1. How could you make a MATLAB human model which has ‘same’ properties of AnyBody human model?
    It means that your MATLAB human model has same numbers of segments and joints with AnyBody human model.
    Then could you please explain us how you could do that?

  2. AnyBody Modeling System uses motion data and external forces(ground reaction forces) for inverse dynamics analysis.
    From these values, AnyBody Modeling System can calculate muscle forces and joint reactions.
    So there is no need to input external moments on human joints on AnyBody human model.
    So I’d like to ask of you why you want to put the external moments on human joints of AnyBody human model.
    Those values should be ‘output’ values, not input values.

  3. Maybe the only thing that you should put is ‘external’ forces such as ground reactions. Is this right?

Could you please explain us what your ‘external’ data is?

Best regards,
Moonki

Hi,

In fact that is what I need using the external ground reaction forces as input. The software in matlab uses the following structure to generate the model:

The input is first of all the mocap C3D files. the next input file is an anatomy file which creates a segment model and the joints of the model plus the markers placed on each segment. The software itself will calculate the following data: segment positions, segment orientations joint angles and based on the ground reaction forces it will use the ground reaction forces to calculate the moments of forces in each joint.

What I need is the following: I need to get the ground reaction forces into my model. Which method can I use to get those forces into my model. Is it on the way I did for the knee forces?

Best regards,

Hans

Hi,

So the conclusion is that you should put ‘ground reaction force’ into AnyBody model.

  1. I don’t know what kind of motion capture and force plate systems you are using.
    But can you try to put your force plate data into your C3D file?
    This is the most simplest way for you.

  2. If the first option is not available to you ,
    then you have to implement the ground reaction force by yourself.
    In the AMMR example, there is ‘GaitVaughan’ model.
    In the ‘Environment.any’ file of this model, there are some pieces of code for input of ground reaction force data.
    This may be the best example that you can refer to.

Best regards,
Moonki

Hi,

Thank you for your reply. Since I have no C3D files for this step I can make the template as in the GaitVaughan applied to my model with my data for the input instead.

Best regards,

Hans