I’ve run my lifting model with AnyBody Version 6.0.2 AMMR 1.6.2.
I used my own c3d-file with motion capture data from Vicon and data from force plates (AMTI) in the Mocap-Model (Fullbody).
My problem is the interpretation of the output-file of the Inverse dynamic study. My aim is to identify all of the joint reaction forces and the joint moments during the task. Can I use the “selected output”-file? And what is the difference to the results below?
Do you have an explanation or definition of the output-files?
My second question regards the output of muscle forces and activities.
Is there a possibility to see only the muscles with the highest forces and activities?
Thanks in advance for your help.
Yes, you can use the results in the selected output folder. This folder is meant to give an overview of the most important/interesting results of an analysis. I am not quite sure what you mean by the results below? It is for sure possible to look at these results directly at the definitions of the joints and/or reaction forces.
To get an overview of the highest muscle activities or forces, there are different possibilities, depending on what exactly you want. For the highest activities of a body part, there are the muscle envelops defined in the selected output folder. These are taking the max activity for each time-step of all muscles of e.g. a leg. It is probably possible to define something similar if this is not exactly what you are interested in. But it is probably worth to have a look at the definition of these expressions to see how it is constructed.
many thanks for your answer.
Regarding the output of muscle activities and forces:
I want to define that for every segment (trunk, right leg, left leg, right shoulder/arm, left shoulder/arm)only values higher than 0.5 are given to me in the selected output file.
Is that also possible? And how should I proceed? Where should I start in AnyScript?
Can you give me some advices please?
Thank you in advance.
if you would like to only put certain curves into the Selected output that at some point during the simulation reach a given level and are not in there otherwise, I think I have to disappoint you since the model tree is static and determined during load time. That means that if there are values in the selected output cannot be determined while running a simulation. What you could do is to define a variable with a kind of filter taking the a value if it is above a threshold and 0 otherwise.
If you really do not want to see it, I would recommend post-processing the output. You could e.g. save the results in the .h5 file format, read this output with a simple script e.g. in Python using a library for reading hdf5 files and filter it there.
To get started in AnyScript, I would create a new .any file to define the definitions you would like and include it in the .main.any file or another appropriate location.
I hope that gives some new insight and inspiration to solve the problem.
now I used another c3d-file for the movement.
The MPO run fine but there is an error in the inverse dynamic study.
Could you please have a look at my model? Please find attached the model!
Thank you very much!
The InverseDynamic Study uses another solver for the kinematics than the MOP. You could try to run it with the same kinematic solver by setting
InitialConditions.SolverType = KinSolOverDeterminate;
Kinematics.SolverType = KinSolOverDeterminate;
in the InverseDynamicStudy. The main difference between the different solvers is, that this one can handle soft constraints. This is not required in this case, but sometimes this solver is a bit more robust. The downside is that this solver might be slower.
There might be another error concerning the time and the interpolation inside the drivers. This you can handled by chaning tStart and tEnd just a little bit:
tStart = Main.ModelSetup.tStart+4*Kinematics.ApproxVelAccPerturb;
tEnd = Main.ModelSetup.tEnd-4*Kinematics.ApproxVelAccPerturb;
i have several questions regarding the Selected Output in the Mocap Model (Fullbody):
Is it possible that anyone explain the interpretation of the output of the joint reaction forces and the joint moments to me?
- In which coordinate system are the results given? And where can I find the corresponding coordinate system?
- I’m new in Biomechanics and don’t know in which direction the forces act. Is that given by the name, for example “ElbowHumeroUlnar_MedioLateralForce”. How can I explain that?
- Why are also moments given in the “joint reaction forces”-folder? For example in: Main.Studies.InverseDynamicStudy.Output.BodyModel.SelectedOutput.Right.Leg.JointReactionForce
There are 3 knee forces and 2 moments?
I hope someone can help me.
Thank you in advance.
1+2). Typically the orientation is given by the reference frames that were used to construct this constraint. So if you are not certain try finding the correct joint/constraint in the model tree and check, what was the first ref. frame (defines orientation).
3) Depending on the amount of degrees of freedom you will get forces for translational dofs and moments for rotational ones.