MotionAndParameterOptimizationModel problem

Hello

I am trying to use my own c3d file with the gait lower extremity anybody model and I am encountering some troubles. It is a walking trial, I use plug in gait model only for the lower extremities (no upper markers) and I have only 2 forceplates. I believe I have made all the major necessary adjustments correctly as my model seems to load with no major troubles (based on the wiki guide steps and some webinars I have seen). However, I have a problem running the MotionAndParameterOptimization, it seems the process gets stucked. Not even errors are displayed. It goes as far as the pic I uploaded and then anybody crashes when i try to stop the operation.

I am using vicon nexus system for data collection and anybody 5.2.0 with the repository AMMR v1.5

I am a beginner with this software so any help is super greatly appreciated!

Kind regards
Karelia Tecante

Hi Karelia,

I tried to run your model and received error messages; here are some first things you need to change:

  • you are using force plates of type 2 => change the included ForcePlateType4AutoDetection.any to ForcePlateType2AutoDetection.any in the GaitLowerExtremity.main.any and also ForcePlateType4AutoDetection to ForcePlateType2AutoDetection in the EnvironmentAutoDetection.any
  • the model is facing the wrong direction => change PelvisRotZ to 180 in the TrialSpecificData.any
  • if you are not using markers for the upper body you need to activate additional drivers for you model to be kinematically determinate => uncomment the two drivers in the ExtraDrivers.any
  • it seems like you changed the initial values for the orientation of the legs in the TrialSpecificData.any and confused left and right => rename Anyfolder Left to Right and vice versa

This should help you to get you model running at all. But I still don’t understand why you don’t receive any errors.

Best regards,
Patrick

Dear Patrick,

Thanks for the input and sorry to ask again but by changing the force plates and uncommenting the extra drivers I get the following notice and errors and I dont know what they mean. Any tip on where to start looking?

Loading Main : “C:\Users\karelia.tecante\AppData\Roaming\AnyBody Technology\AnyBody.5.x.x\mydemo\Application\Examples\GaitLowerExtremity1\GaitLowerExtremity.main.any”
Scanning…
Parsing…
Constructing model tree…
Linking identifiers…
Evaluating constants…
NOTICE(OBJ1) : C:/U…s/k…e/A…a/R…g/A…y/A…x/m…o/A…n/E…s/G…1/EnvironmentAutoDetection.any : ForcePlateType2_Origin_Z_value_message : The older AMTI origin has its Z value as positive. So this value is converted automatically. Please refer to www.c3d.org/HTML/type21.htm.
NOTICE(OBJ1) : C:/U…s/k…e/A…a/R…g/A…y/A…x/m…o/A…n/E…s/G…1/EnvironmentAutoDetection.any : ForcePlateType2_Origin_Z_value_message : The older AMTI origin has its Z value as positive. So this value is converted automatically. Please refer to www.c3d.org/HTML/type21.htm.
Configuring model…
ERROR(OBJ1) : C:/U…s/k…e/A…a/R…g/A…y/A…x/m…o/A…n/E…s/G…1/ExtraDrivers.any : NeckDrv.Reaction.Type : Number of elements in type specification must match number of elements in force vector (num. elem = 0)
Model loading skipped

Thanks a lot!

Hello again,

About the neck driver error I believe I found the conflict. I think it is because the C0C1Jnt is set as a standard joint with 0 degress of freedom

AnyStdJoint C0C1Jnt = {
// Axis=z;
AnyRefNode &C1HatNode = …SegmentsThorax.ThoraxSeg.C1HatNode;
AnyRefNode &NeckNode = …SegmentsThorax.SkullSeg.NeckNode;
};

So by uncommmenting the neck driver in extradrivers.any I think there is a conflict between these two.

So my question is since C0C1Jnt is a standard joint I dont really need to uncomment the extra neck driver, right?

cheers

Hi,

I believe you can ignore the message about the force plates. You’ll notice if something is wrong about the forces in the inversdynamic simulatioin.
It seems like your repository has been altered, i think this is what it should look like:
AnyRevoluteJoint C0C1Jnt = {
Axis=z;
AnyRefNode &C1HatNode = …SegmentsThorax.ThoraxSeg.C1HatNode;
AnyRefNode &NeckNode = …SegmentsThorax.SkullSeg.NeckNode;
};
But you are right, it seems like the AnyStdJoint can be used as a rigid joint. In this case you do not need the extra neck driver.

Another thing I noticed is that the model seems to be larger (anthropometrically) than the subject you measured. Maybe you should decrease the thigh and shank lengths. If you are not interested in the kinematics of the whole recording you should also crop the trial.

I believe the gravity should point in -z direction: {0, 0, -9.81}.