Chair Jump C3d2any conversion issue

Hello everyone,

I am currently working on a model where I will modify the gaitunimiamitdrightleg to perform a jump landing from a chair. I have performed the motion capture and have received the results in the form of c3d files. When trying to use the c3d2any converter I get an error and I don’t know why. I am attaching my files as well as a print screen of what I have typed in MS DOS and the error I received. Thanks in advance for the help.

Best Regards,

Preet Sabharwal

Hey Preet,

I just tried importing your c3d file directly into AnyBody version 4.2.1 and it loads fine. I also managed to replicate your problem with crashing the c3d2any converter so, without debugging it in detail, it appears that the bug has been fixed in the version of the c3d reader that is included in the latest version of AnyBody. However, since the functionally of the c3d reader has now been fully implemented into AnyBody, I have stopped maintaining the c3d2any converter and I have no plans of releasing any more versions.

Is it at all possible for you to upgrade to version 4.2.1 of AnyBody? With this version of AnyBody it is also much easier to drive the model with marker trajectories without having to go through the hassle of using the c3d2any converter as well as GaitApplication2.

Otherwise I think you should consider using an other c3d tool to write out the marker trajectories and analog data to text files and include them in AnyBody this way.

Sorry for the inconvenience.

Best regards
Michael Skipper Andersen
The AnyBody Research Project

Hi Michael,

Thank you for your quick reply. I was wondering how much it would cost to upgrade from version 4.0 to 4.2.1.

Best Regards,

Preet Sabharwal

Hi Preet,
please contact sales@anybodytech.com for pricing information.
Best regards,
Sebastian

Hi I just installed the demo for AnyBody 4.2.1. If it works well for me I will consider purchasing it. I was wondering how to read the c3d file in the new version. Michael you were saying that it is possible to directly read the c3d files in AnyBody. If this is possible how do you do it. Thanks.

Preet

Hi Preet!

Yes it is indeed possible using the class called AnyInputC3D. I would suggest that you have a look at the GaitLowerExtremity or GaitFullBody in the AMMR 1.2, which are both examples of how to construct models based on data in a C3D file (i.e. marker trajectories and measured reaction forces).

Best regards
Michael

Hello all,

I have started modifying the gait lower extremity model to simulate a vertical jump landing. I have input my c3d file and started making changes. When I try to load the model I get the following errors pasted below. I have attached my model. If anyone is able to help me or give me some advice on how I can fix these issues I would greatly appreciate it.

Thank you.

Best Regards,

Preet Sabharwal

Deleting last loaded model…Done.
Model loading skipped
Loading Main : “C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
ERROR(SCR.PRS25) : C:/D…s/A…r/A…a/A…y/A…x/A…2/A…n/E…s/G…y/ModelSetup.any : ‘c3d’ : Identifier cannot be resolved at preprocessor evaluation moment.

Deleting last loaded model…Done.
Model loading skipped
Loading Main : “C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
ERROR(SCR.PRS25) : C:/D…s/A…r/A…a/A…y/A…x/A…2/A…n/E…s/G…y/ModelSetup.any : ‘Normaljumprightleg3_2010_08_11_124808_007’ : Identifier cannot be resolved at preprocessor evaluation moment.

Deleting last loaded model…Done.
Model loading skipped
Loading Main : “C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
ERROR(SCR.PRS25) : C:/D…s/A…r/A…a/A…y/A…x/A…2/A…n/E…s/G…y/ModelSetup.any : ‘Normaljumprightleg3_2010_08_11_124808_007’ : Identifier cannot be resolved at preprocessor evaluation moment.

Deleting last loaded model…Done.
Model loading skipped
Loading Main : “C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
ERROR(SCR.PRS25) : C:/D…s/A…r/A…a/A…y/A…x/A…2/A…n/E…s/G…y/ModelSetup.any : ‘Normaljumprightleg3_2010_08_11_124808_007’ : Identifier cannot be resolved at preprocessor evaluation moment.

Deleting last loaded model…Done.
Model loading skipped
Loading Main : “C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
ERROR(SCR.PRS25) : C:/D…s/A…r/A…a/A…y/A…x/A…2/A…n/E…s/G…y/ModelSetup.any : ‘c3d’ : Identifier cannot be resolved at preprocessor evaluation moment.

Deleting last loaded model…Done.
Model loading skipped
Loading Main : “C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\GaitLowerExtremity.main.any”
Scanning…
ERROR(SCR.SCN6) : C:/D…s/A…r/A…a/A…y/A…x/A…2/A…n/E…s/G…y/ModelSetup.any : ‘Fem.’ : Unexpected character.
Model loading skipped

Loading Main : “C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\GaitLowerExtremity.main.any”
Scanning…
ERROR(SCR.SCN6) : C:/D…s/A…r/A…a/A…y/A…x/A…2/A…n/E…s/G…y/ModelSetup.any : ‘Fem’ : Unexpected character.
Model loading skipped
Loading Main : “C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\GaitLowerExtremity.main.any”
Scanning…
ERROR(SCR.SCN6) : C:/D…s/A…r/A…a/A…y/A…x/A…2/A…n/E…s/G…y/ModelSetup.any : ‘Fem.’ : Unexpected character.
Model loading skipped
AnyBody does not know how to unable to open file C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\Normaljumprightleg3_2010_08_11_124808_007.c3d.
The file will be opened as an AnyScript (text) file.

Hi Preet,

That’s a lot of errors. So far i have reproduced the “Fem” unexpected character. This is because there is a space in the name of the markers. This is not allowed in AnyBody, neither is the . which is used to look one folder up in the references to objects.
Try to modify the names.

Best regards, Sylvain.

Hello Sylvain,

Thanks for your help. I managed to fix most of my issues with the advice. I am currently getting another error which I don’t have any idea of how to fix. I was wondering if you could give it a look and advise me on what can be done to fix this. Thank you.

Best Regards,

Preet Sabharwal

Deleting last loaded model…Done.
Model loading skipped
Loading Main : “C:\Documents and Settings\Administrator\Application Data\AnyBody Technology\AnyBody.4.x.x\AMMRV1.2\Application\Examples\GaitLowerExtremity\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
ERROR(SCR.PRS9) : C:/D…s/A…r/A…a/A…y/A…x/A…2/A…n/E…s/G…y/ModelSetup.any : Defined At : C:/D…s/A…r/A…a/A…y/A…x/A…2/Body/A…n/T…x/M…p/CreateMarkerClassTD.any : ‘PosInterpol’ : Unresolved object

Deleting last loaded model…Done.
Model loading skipped

Hi,
there are two issues. Some of your markers are placed in the ProcessedData folder (by the C3d importer). I included a second CreateMarkerTD class which takes cares of those, please use the CreateMarkerTD2 for this. Second the naming of some of the markers is wrong. Load the model and have a look at the processeddata folder, its placed here: Main.ModelSetup.C3DFileData.Points.ProcessedData
Here you can find the names. I also excluded the force plates for now. Once you have the kinematics running include the EnviromentAutoDetection files again.
The attached model loads and you can go from there. In general its a good strategy to include only one feature after the other to keep the model loading. Otherwise debugging gets complex.
Best regards,
Sebastian

Hi Sebastian,

Thanks for you reply. For some reason when I try to load the model you sent me I get the following error:

ERROR(SCR.SCN6) : C:/D…s/A…r/A…a/A…y/A…x/A…2/Body/A…n/B…s/G…l/BodyModel.any : ‘EOF’ : Unexpected character.
Model loading skipped

I was wondering if you could take a look. I would like to try and make those changes you suggested.

Best Regards,

Preet Sabharwal

Hi Preet,
please download a “fresh” version of the Repository. I just tried again and it works fine. So maybe you have some problem with your body parts.
Best regards,
Sebastian

Hi Sebastian,

Thanks for the advice. I was wondering how can I adjust settings in order to see the motion capture data markers and also the markers for the body model. I need to match up the body markers to the motion capture markers. It seems that currently the motion capture markers are showing. Do you have any suggestions on what can be adjusted in order to see all of the markers so that I can line them up in the mannequin file. Thanks.

Best Regards,

Preet Sabharwal

This is currently what my model looks like with the markers labeled properly. But I believe I’m a little confused and may have altered the position of mocap markers thinking they were the body markers.

Hi Preet,
there were several small issues. I changed the Marker names in the C3dinput, I removed the left leg, added Drivers for the Trunk, as there are no markers and moved the marker on the foot, I guess it should be on the little toe.
You cannot alter the position of the mocap markers, the markers you change with the coordinates in the Modelsetup file are the markers placed on body model. Additionally, I introduced an offset at the beginning, as most markers are not useable at least up to 1.6 sec. The model should resolve the initial kinematics and you can go from here.
Have fun,
Sebastian

Thank you for the help and advice Sebastian. When I run the kinematic analysis, the analysis fails in time step 2. I was wondering is this because I have to line up the markers. To do this would I play around with the mannequin file like in the GaitUniMiami models. Thanks.

Best Regards,

Preet Sabharwal

Hi Preet,
If it fails in step 2 then the it will not help to adjust the Mannequin. I would have a look if the markers are placed correctly, this is done in the Modelsetup file. Further ensure that segment length are right. Also moitor if there are any marker drop outs.
Best regards,
Sebastian

Hello Sebastian,

I made some changes to the model and now get a fail in time step 18 and I’m not quite sure why this is the case. I was wondering if you could take a look and let me know what you think. Thanks.

Preet

Hi Preet,
I just a brief look, it seems that your condyle marker jumps quite a bit during timestep 17 and 18. This looks strange as the relative distance to the pelvis markers seems to change. Are you sure that there was no problem in the experiments? Maybe you can detect something if you have a video of the measurement.
Best regards,
Sebastian

Hello Sebastian,

I took a look at the data. I’m not sure why there is a jump at time step 18 for the femoral condyle. I plotted the data from the analog and the position data and found that there isn’t any issue. I was actually wondering how I can change the tstart and tend as well as the first and last frame. In this simulation I am only interested in the landing from the jump so everything else can be cut out. When plotting I found that the jump landing was between the analog frame 100 to 250 and the position data is from 50 to 125. This is the data I would most like to simulate. This is the important result and all I need. I was wondering how I can alter the first and last frame and tstart and tend. So for example how would I change:

AnyIntVar FirstFrame = C3DFileData.Header.FirstFrameNo;
AnyIntVar LastFrame = C3DFileData.Header.LastFrameNo;
AnyIntVar nStep =(LastFrame-FirstFrame);

AnyFloatVar tStart = Main.TrialSpecificData.tStart;
AnyFloatVar tEnd = Main.TrialSpecificData.tEnd;

Is there any additional information I would need to make this kinematic simulation work. Thanks.

Best Regards,

Preet Sabharwal