Apply new Marker Set to the "GaitLowerExtreamity" model

I would like to use the “GaitLowerExtremity” model with a new marker set. What do I have to change in the in the *.any files to do so.

More information about the Marker Set. The Marker Set is from the https://simtk.org/home/kneeloads/ homepage. Originally the point and analog data have been stored in 2 *.csv files. I generated with the help of “c3dserver” an Matlab a *.c3d file.

I could open and run the “Point Data” in a new “TestC3D.main.any” file. Unfortunately are the Force- Plate Data still of Type1 and not Type4 how the actual “GaitLowerExtremity” model is programmed.(I think it should be possible change the Type1 Data to Type4 Data with some calculations)

The Marker Set is different see the attached pictures.

Till now I made following changes in the “ModelSetup.any” file:

  1. NameOfFile =“jwtsgait10”; -> (changed to the new file name)

  2. MarkerLabels = { “RHEE” , “RMIS” , “RMIL” , “RTOE” , “LHEE” , “LMIS” , “LMIL” , “LTOE” , “RTIS” , “RTII” , “RTIB” , “LTIS” , “LTII” , “LTIB” , “RPAT” , “LPAT” , “RTSU” , “RTIN” , “RTHI” , “LTSU” , “LTIN” , “LTHI” , “RASI” , “LASI” , “SACR” , “RSHO” , “LSHO” , “C7” , “RELB” , “LELB” , “RWRS” , “LWRS” }; -> (changed to the same order like the *.c3d file has.

  3. -> Commented and Uncommented in the same File the Markers how already exist in the AnyBody file and the *.c3d flie

–> After making this changes I tried to compile and load the model again. The following error massage appears:

Loading Settings Script from : 'C:\Documents and Settings\rone\Local Settings\Application Data\AnyBody Technology\AnyBody.4.x.x\Settings.anyst
Settings loaded
Loading Main : “D:\work\AnyBody\AMMRV1.1\Application\MyModels\GaitLowerExtremitytest\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
ERROR(SCR.PRS9) : D:/work/A…y/A…1/A…n/M…s/G…t/ModelSetup.any : Defined At : D:/work/A…y/A…1/A…n/M…s/G…t/CreateMarkerClass.any : ‘PosInterpol’ : Unresolved object

Deleting last loaded model…Done.
Model loading skipped

Could you give me please a step by step advise what I have to change in the AnyBody files to apply a new marker set? Would you advise to change the Force-Plate Type1 Data to Type 4 Data?
Thank you very much.
Carlos Rohner

Hi Carlos,

I think the error is just a problem path for the folders. Please make sure to also update the marker names in each marker folder of the ModelSetup file (not only the MarkerLabels list).
And also make sure that the c3d file you created has the same folder structure and name as the one originaly in the example. For example the name of the AnyInputC3d object should be C3DFileData, and in the file you atached you named it C3D only. This would cause the system not finding the PosInterpol object.

About the force plate you can modify the File ForcePlateType4.any to adapt it to a type 1. I guess it would be better than changing the data itself.

Best Regards, Sylvain.

I could lode finally the markers into the “GaitLowerExtremity” Model. I changed and added markers to adjust it to the new marker set. Unfortunately it still does not work. Can you tell mi why?
Force-Plate Data are till now ignored.

I Carlos,

The reason is that you are missing a driver for the neck joint. In the GaitLowerExtremity there are marker on the head to drive it, but not in your model.

So you can simply drive it to be fixed by adding a simple driver like this in the KinematicStudyForParamterIdentification in the main file:

//Connection between environment and the human
AnyFolder ModelEnvironmentConnection = {
AnyFolder Drivers={

      // Aliases for convenient referencing
      AnyFolder &JntPos=..Mannequin.Posture;  
      AnyFolder &JntVel=..Mannequin.PostureVel;
      
      
      //Neck driver 
      AnyKinEqSimpleDriver NeckJntDriver = {
        AnyRevoluteJoint &T12L1Joint = ...HumanModel.BodyModel.Interface.Trunk.NeckJoint;
        DriverPos = pi/180*{.JntPos.NeckExtension};
        DriverVel = pi/180*{.JntVel.NeckExtension};
        Reaction.Type = {Off};
      };
    };
  };

Best regards, Sylvain.

Hello
I got a debugger problem. I finally got the “GaitLowerExtremity” Model running. Unfortunately AnyBody program has this problem. (See attached picture)

Hello

An additional detail is that I use a Windows XP 64bit system. Is it possible that the system causes the problem. What can I do?

Hi,

I have a few more questions that might help us locate the source of the problem:

Does it happen everytime you run the optimization?
Does it happen only with this particular model?
Is there any difference if the model view is opened or closed?

Any additional information on the conditions that create the problem is welcome.

Best regards, Sylvain.

Hi,
About your questions:
Yes it happens every time on the Windows 64bit system. On the Windows 32bit system does the optimization work. Strangely is, that your model (with the “GaitNormal0004…c3d”) on 64bit system runs without problems. I have tried to run the model with closed model view, but with the same result.
I think the optimization macro is causing the debugger error
Carlos Rohner

Hello Carlos,
I’m running a Vista 64 version and I cannot replicate the error. We will do some more research on this topic. Could you please provide me some more details on the Version of the AMS you are using (you find this under Help/About AnyBody.
Best regards,
Sebastian

About AnyBody:

AnyBody version: 4.1.0.1006
Build: 14579.43980

Helo
Finally i got the “MotionAndParameterOptimizationModel” running. It is working on my system in a Virtual PC with Windows 32bit. The Optimization finishes without a problem.
But now the “InverseDynamicStudy” is aborting due to a “singular KKT matrix” problem. (See picture) What could the reason be?
Could it be that the problem is due to the first 2 steps, that are made without force plates reaction data? (See picture)
Enclosed: Movie of the optimization and pictures of the problem . Model “GaitLowerExtremity3”

Hi,
the problem is in your Forceplate files. The Forceplate segment has no (force) reactions assigned.
Please have also a look at the global gravity, in your file it is in y-direction, but I guess it should be z. But in case you are analysing a spiderman type of guy everything is fine:)
Best regards,
Sebastian

Helo
Yes you are right with the gravity. I just changed it for the “MotionAndParameterOptimizationModel” and forgot the “InverseDynamicModel”. Well in the Forceplate file (ForcePlateType1.any) the force should be applied through the “CenterOfPressure” Segment and not through the Forceplate.
After changing the gravity I have still the same Problem. Could you help me please?
Carlos Rohner

Hi,
yes, but nevertheless the forceplate segment has no force reactions switched on. So simply switch the Reaction.Type = {On,On,On,On,On,On};
for the ForcePlateDriver.
Best regards,
Sebastian

Thank you very much

Hi Carlos,
We hope that the help we have provided has helped you finish your modeling work.

As stated in the description of this forum we in change of spending time and effort on working with your model, ask you to submit the model back to AnyScript.org once it has been finished.

Please post the finished model with the a short description in the forum “Gallery of user models and videos” this will be to the benefit of all users in this community.

Thanks in advance,
AnyBody Support Team