I have tried to figure this one out without any success as of now. I ran the motion and paramter optimization model and the markers from the man and that from Mocap looks very good. However, when I run the inverse dynamics model the markers from the man and model are far apart. The markers are far apart for the head and arms mostly., the lower extremity match well. Any idea why this is happening. Your help is appreciated.
Version 4.2.1 of Anybody is being used with reposity version 1.2. The model is attached.
It comes from the SternoClavicular joint. During the optimization you only lock the axial rotation of this joint and the rest is driven by the markers. But if you look at the file JointsAndDriversOptimized for the inverse dynamic study, you will see that all three DoF are locked to the mannequin position.
It is probably a remanent of the original gait model where this joint is locked all the way.
What you have to do is update the JointAngleOutputs file so the SternoClavicular joint angles are exported with the others, and update the JointsAndDriversOptimized file so that the SternoClavicular joint angles are read from the text file.
Best regards, Sylvain.
Thanks Sylvain. I think I understand what I need to do but still need to try it. I have been able to tackle this issue given I have been pressed to complete some statistics work. Back on this tommorow. Will be in touch. Thanks, Nicholas
Firstly, this is the first time I have seen this problem where markers on the upper extremity after motion and paramter optimization does not get used in inverse dynamics. I worked with one other subject data and I never encountered this problem. I think this is perculiar?
First off, I tried to fix the arms of this model without success. Look and the LUPA and RUPA markers. There are both incorrect even after optimization. I tried moving the moving of the man to correct this problem but this did not work. As well I tried moving the entire hand but somehow the model seem to still work even when bones penetrate bones and muscles.
Second, I did as you asked but ran into an overcontrained problem. Please see JointAngleOutput where I added the three StrenoClavicular angles. This seem to work fine (see the text files). Note there is a warning here about the text file having too much data.
From here I read these values out of the text file i.e. output file 6 and output file 7 for the left and right arm respectively in the JontsandDriversOptimized file without success.
The model is attached. The main file is “GaitfullBody1” found under Mymodels
Your guidance is appreciate.
You did correctly in the JointAngleOutput file to export the SC joint angle. But you don’t use them correctly yet in the JointsAndDriversOptimized file. As you export the three Dof you also have to read in the three Dof from the text file and use them in the interpolation driver, and thus remove the simple driver (SCDriver) to avoid overconstraint. That means the arm driver for the inverse dynamic should be this (same for right and left):
#if LEFT_ARM == 1
AnyKinEqInterPolDriver JntDriverLeftArm =
FileErrorContinueOnOff = On;
Type = Bspline;
BsplineOrder = 4;
FileName = Main.TrialSpecificData.FilePath + Main.ModelSetup.C3DFileData.NameOfFile+"-output-euler-leftarm.txt";
AnyKinMeasureOrg &GlenohumeralFlexion = …HumanModel.Interface.Left.GlenohumeralFlexion;
AnyKinMeasureOrg &GlenohumeralExternalRotation = …HumanModel.Interface.Left.GlenohumeralExternalRotation;
AnyKinMeasureOrg &GlenohumeralAbduction = …HumanModel.Interface.Left.GlenohumeralAbduction;
AnyKinMeasureOrg &ElbowFlexion = …HumanModel.Interface.Left.ElbowFlexion;
AnyKinMeasureOrg &ElbowPronation = …HumanModel.Interface.Left.ElbowPronation;
AnyKinMeasureOrg &WristFlexion = …HumanModel.Interface.Left.WristFlexion;
AnyKinMeasureOrg &WristAbduction = …HumanModel.Interface.Left.WristAbduction;
AnyKinMeasureOrg &StrenoClavProtrac = ...HumanModel.Interface.Left.SternoClavicularProtraction;
AnyKinMeasureOrg &StrenoClavElevat = ...HumanModel.Interface.Left.SternoClavicularElevation;
AnyKinMeasureOrg &StrenoClavAxialRot = ...HumanModel.Interface.Left.SternoClavicularAxialRotation;
Best regards, Sylvain.
Thanks Sylvain. I will try what you suggested and see if this solves the problem. Wish me luck. I will be in touch. I need to close this file. I have been nursing a cold.
Problem has been solved. I now tried running the model with two different subject data and the model works well. Thanks for your help with this effort. Will be in touch. Nicholas