Warnings. Non-orthogonal axes were adjusted

I have been working with the free full bodyGRFPrediction, while using a c3d file where an individual walks on an uneven terrain. I adjusted the markers to match the body position, I even commented out the ones on the wrist that were not reallyt attached to that joint. My model loads, but it shows me the following warnings:
WARNING for Main.HumanModel.BodyModel.Trunk.Buckle.Segments.BuckleSeg: Non-orthogonal axes were adjusted.
WARNING for Main.HumanModel.BodyModel.Trunk.Buckle.Slider1.Seg: Non-orthogonal axes were adjusted.
WARNING for Main.HumanModel.BodyModel.Trunk.Buckle.Slider2.Seg: Non-orthogonal axes were adjusted.
WARNING for Main.HumanModel.BodyModel.Trunk.Buckle.Slider3.Seg: Non-orthogonal axes were adjusted.
WARNING for Main.HumanModel.BodyModel.Trunk.Buckle.Slider4.Seg: Non-orthogonal axes were adjusted.
WARNING for Main.HumanModel.BodyModel.Trunk.Buckle.Slider5.Seg: Non-orthogonal axes were adjusted.
Loaded successfully.
Then, when I try to run the parameter identification, it fails
ERROR(OBJ.MCH.KIN3) : KinematicStudyForParameterIdentification.any(11) : KinematicStudyForParameterIdentification.Kinematics : Kinematic analysis failed in time step 14 : Position analysis is not completed
Here are the files that I am using:
FullBody_GRFPredictionUnevenT.main.any (472 Bytes).
LabSpecificDataUnevenT.any (2.3 KB)
MarkerProtocolUT.any (14.1 KB)
SubjectSpecificDataUnevenT.any (1.3 KB)
TrialSpecificData_FullBody_UnevenT.any (3.2 KB)
TrialSpecificData_GRFPredictionUT.any (3.3 KB)

Thanks in advance for your help.

Hi @MelVR

The error you see is related to the buckle segment. Is you model posture very skewed or compressing the abdominal region?
are all your markers located as expected ? and do you have enough to specify all degrees of freedom?

I cant really say much of your model without a working example that I try to load.
Here are some typical pitfalls when working with the mocap framework:

Best regards,

Hi Bjorn,
I changed the buckle segment from automatic position to one adjusted by me, and it runs a little better now, but I still have an issue with a head marker... It seems to be inside the skull for some reason... now it stops at step 67 instead of 14. I guess it's an improvement! How can I make sure that I have enough to specify all degrees of freedom? I couldn't find that on the website.


Hi @MelVR

Great to hear things are going in the right direction!

For the head marker you should ensure that the position you used is the same as implemented in the model. There is information about this in the link I sent before.

To check which constraints you have and what degree of freedom they act upon - you can use the study information. Double click the study the model tree, that should bring up a window where you can see all constraints, and degree of freedom in your model.
What I meant about not having enough information could for instance be that you might only have one elbow marker which is not enough to specify the elbow DoFs - for that case you could use the default mannequin driver as a soft kinematics driver to help the solver.

Best regards,

Hi Bjorn!
I was able to make the program run, but I encountered another issue... when i run the parameter identification, my model gets deformed... The head looks elongated and so do the arms. It doesn't show me any error. Actually, the optimization converges...

Macro command : mcr(1:1)> classoperation Main.ModelSetup.Views.KinematicView"Set View" ...Kinematic analysis completed. ...Dependent variables are fully updated. Kinematic analysis... ...Kinematic analysis completed Optimization (Operation: Main.Studies.ParameterIdentification.ParameterOptimization): Optimization step (Operation: Main.Studies.ParameterIdentification.ParameterOptimization): Evaluating KKT conditions (Operation: Main.Studies.ParameterIdentification.ParameterOptimization): Evaluating the objective function (Operation: Main.Studies.ParameterIdentification.ParameterOptimization): Calculating a new search direction (Operation: Main.Studies.ParameterIdentification.ParameterOptimization): ....
Optimization converged
1.0) Operation Sequence: (Operation: Main.RunParameterIdentification.SaveParameters):
1.0.0) Dummy operation: (Operation: Main.RunParameterIdentification.SaveParameters.placeholder_operation):
1.1.0) Save_parameters (Operation: Main.ModelSetup.Macros.Save_parameters):

I appreciate any suggestion regarding this matter.

Hi @MelVR

Yes that looks quite weird indeed.
In the LabSpecificData.any you can include or omit which bodyparts to be optimized during the parameter identification. You might want to tweek it so only the necessary dimensions are targeted.

Best regards,

This topic was automatically closed 125 days after the last reply. New replies are no longer allowed.