C3D data reference frame

Hello to all,

I am relatively new to anybody. I have started the tutorials some time ago and have understood the basics.

Right now, I am trying t conduct gait analysis using C3D data. I have successfully done this except for one main problem; the reference frame of the c3d data is not the same as the reference of the model. This results in the model being placed in a particular position, while the markers from c3d data are placed in a totally different orientation. Hence, the parameter optimisation does not work, because there are very large differences in the coordinate systems. Anyone can tell me what I can do to rotate one of the reference frames to match the others so that the model will work?

Please, attached find a snapshot of the model view upon loading the file.

Hope that you will be able to help, because this is an engineering project and I need to get it done. :wink:

Thanks in advance for the help.

Regards,
Carl.

Hi Carl,

I cannot completely identify the global axes (is z the direction of the gravity?) in your picture but I belive rotating the model 90° about the x axis (trialspecificdata.any) should help you. If this isn’t the correct rotation please try it yourself or post a picture with a higher resolution or the models itself.

Regards

Patrick

Hi Carl,

According to Patric’s advice, it will help you if you can modify the initial posture of human model to solve kinematics issues.

In the TrialSpecificData.any file there are following pieces of code:

  ...
  AnyFolder InitialPositionOfBody ={
    
    AnyVar PelvisRotZ = 0;
    AnyVar PelvisRotY = 0;
    AnyVar PelvisRotX = 0;
    ...

Using these variables, you can control the rotation of the pelvis segment with respect to the global reference frame.

Best regards,
Moonki

Thank you very much guys I did it now it was exactly how you said. However, now I have another problem. I need to export the forces felt on the bone to an APDL format, however, when I use the AnyMechOutputFileForceExport class, no file is being created in the “files_in” folder I don’t know the reason for this. I have put the following code at the end of the “InverseDynamics.any” file:

AnyMechOutputFileForceExport FE_out =
{
FileName = “clavload.xml”;
UseRefFrameOnOff = On;
//AnyRefFrame &ref1 = Main.HumanModel.BodyModel.Right.ShoulderArm.Seg.Clavicula.localrefframe;
AllSegmentsInStudyOnOff = Off;
XMLformatOnOff = On;
//AllSegmentsInStudyOnOff = Off;
AnySeg &clav = Main.Studies.HumanModel.BodyModel.Right.ShoulderArm.Seg.Clavicula;
};

Hope this is of some use. Thank you all for the help.

Regards,
Carl

Did you have a look at this tutorial?

http://www.anybodytech.com/fileadmin/AnyBody/Docs/Tutorials/chap8_Finite_element_analysis/lesson2.html

Dear pat___,

I have read this tutorial already. It seems that the problem is due to reference frame, I cannot find the directory for it in the MoCap model.

Regards,
Carl

I have solved the problem, however, I have another one now… it seems that the AnyFE2APDL file is not recognising the anybody license. I have tried copying the license to the AnyFE2APDL.exe file and renaming it to “license”, however this has not worked.

Hi Carl,

This license needs to be named “license.lic”, and not just “license”, and it needs to be placed in the same folder as the AnyFE2APDL.exe file.

Could you please try this, and report back if it helps in resolving the problem.

Dear JDThomsen

That is exactly what I have tried doing, however, when I open the application it still returns the message “no valid license file was found” or something of the sort.

Regards,
Carl

In the following ,when I change the AnyVar PelvisRotX = 90;But I cannot find any difference ?why?
AnyFolder InitialPositionOfBody ={

AnyVar PelvisRotZ = 0;
AnyVar PelvisRotY = 0;
AnyVar PelvisRotX = 0;
...

Hi yangyang,

Did you try to reload the model after modifying this TrialSpecificData.any file?

If you can’t solve the problem, please upload your model in the debug section:
http://forum.anyscript.org/forumdisplay.php?f=21

Best regards,
Moonki