How to solve this problem: Convergence failed : Muscle model failure, check the muscle length parameters


Dear friends:
Hello! I imported the C3D data collected by VICON into the Anybody7.2.1 software to run the inverse dynamics calculation. Every time I encountered the muscle model failure problem as shown in the figure, I would like to ask how to solve it?
If you have time, I hope you can reply to me, I will be very grateful!
I wish you all the best!
Peng Qian

Hi @Qian - and welcome to the forum!

You are using the 3-element hill type muscle models that require calibration to obtain reasonable muscle parameters.
Did you run the Calibration study before the Inverse Dynamics analysis?

For a full tutorial on our muscle model options please check the link above.

Best regards,
Bjørn
AnyBody Technology

2 Likes

Dear friends:
The program will automatically perform muscle calibration when performing inverse kinematics calculations, but it still cannot solve this problem. How can I solve this problem?
All the best!
Peng Qian

2.0.1.8.0) TendonLengthAdjustment (Operation: Main.HumanModel.Calibration.LeftLegCalibration2.LegCalibrationStudy2.TendonLengthAdjustment):
2.0.1.8.0.0) PreOperation (Operation: Main.HumanModel.Calibration.LeftLegCalibration2.LegCalibrationStudy2.TendonLengthAdjustment.PreOperation):
2.0.1.8.0.0.0) Kinematics (Operation: Main.HumanModel.Calibration.LeftLegCalibration2.LegCalibrationStudy2.Kinematics):
2.0.1.8.0.0.0.0) PreOperation (Operation: Main.HumanModel.Calibration.LeftLegCalibration2.LegCalibrationStudy2.Kinematics.PreOperation):
2.0.1.8.0.0.0.0.0) InitialConditions (Operation: Main.HumanModel.Calibration.LeftLegCalibration2.LegCalibrationStudy2.InitialConditions):
2.0.1.8.0.0.0.0.0) ...Design variables have been updated.
2.0.1.8.0.0.0.0.1) ...Load-time positions have been re-established.
2.0.1.8.0.0.0.0.2) ...Kinematic analysis completed.
2.0.1.8.0.0.0.0.3) ...Dependent variables are fully updated.
2.0.1.8.0.0.0) Kinematic analysis...
2.0.1.8.0.0.0) ...Kinematic analysis completed
2.0.1.8.0) Muscle Tendon Length Adjustment...
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(353) : TibialisPosteriorLateralis1 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(383) : TibialisPosteriorLateralis2 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(412) : TibialisPosteriorLateralis3 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(441) : TibialisPosteriorMedialis1 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(471) : TibialisPosteriorMedialis2 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(501) : TibialisPosteriorMedialis3 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(70) : GastrocnemiusLateralis1 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(83) : GastrocnemiusMedialis1 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(142) : FlexorDigitorumLongus1 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(158) : FlexorDigitorumLongus2 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(175) : FlexorDigitorumLongus3 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(263) : FlexorHallucisLongus1 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(277) : FlexorHallucisLongus2 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(292) : FlexorHallucisLongus3 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2926) : Plantaris1 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2316) : GluteusMaximusSuperior1 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2324) : GluteusMaximusSuperior2 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2332) : GluteusMaximusSuperior3 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2340) : GluteusMaximusSuperior4 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2348) : GluteusMaximusSuperior5 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2356) : GluteusMaximusSuperior6 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2364) : GluteusMaximusInferior1 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2372) : GluteusMaximusInferior2 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2380) : GluteusMaximusInferior3 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2389) : GluteusMaximusInferior4 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2397) : GluteusMaximusInferior5 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
NOTICE(OBJ.MCH.MUS6) : D:\AMMR\Body\AAUHuman\LegTLEM\Mus.any(2405) : GluteusMaximusInferior6 : Muscle calibration : The tendon/fiber length of the muscle was calibrated according to the executed muscle calibration and the muscle model properties have been updated.
2.0.1.8.0) ...Tendon Length Adjustment finished.
2.0.1.8.1) ...Design variables of the calibration model have been updated.

Hi @Peng

I do not see any errors in the message you posted, what is your problem?
If you perform the calibration and still see muscle length errors, youmight need to alter the calibrations to fit your movement.

Best regards,
Bjørn

Uploading: 1637649266(1).png...
HI,Bjorn
As you can see on the picture,there are two problems that I cannot solve. The first point is the direction of the ground reaction force: as shown in the figure, the ground reaction force shows up and down two forces, which is not in line with the actual situation. According to the settings, the direction of gravity is down Gravity = 9.81*{0,0,-1 }, the direction of the ground reaction force should be upwards, but I always display downwards or both upwards and downwards as shown in the figure

The second problem is still the problem shown in the figure: the muscle model fails, check the muscle length parameters. I am currently studying the double-flying kick technique in Taekwondo, and every time an error occurs in the muscles around the buttocks. The Hill 3 element muscle model used in the lower limbs, according to anybody’s operation, has included the ‘calibration’ operation in Part 7 of Tutorial 8 Inverse Dynamics of the Muscle System in its ‘RunAnalysis’, but it still cannot solve the problem.
Later, I tried to modify and comment out the wrong muscle, but it still couldn't solve the problem and the program couldn't proceed.

what should I do?
I attach my configuration file and data file below, I hope it can help me solve this problem, thank you!

PengQian

Uploading: 1637651086(1).png...

Another question, I am currently using anybody7.2.1 version, the model plug-in often cannot be used, as shown in the figure, how to solve it? But sometimes it will rec1637651277(1) er automatically after a while.

PengQian.zip (662.6 KB)

Hi @Qian

The downward pointing force vector on the plates are just a drawing of the raw force vector from the plate data. You can switch it off by setting DRAW_RAW_FORCES = Off; for each plate in the ForcePlates.any file.
Your issue with the gluteus muscle might be that the calibration sequence is not adequate for the motion your are modelling. Start by checking the calibration muscle parameters against literature and then try to improve the calibration positions for that muscle if needed.

If you haven't already, I would suggest to try using the simple muscle models first to ensure that the kinematics are sound enough before moving to the 3-element muscles.

As for the BM plugin failure, I will try to look into what that might be.
Thanks a lot for reporting that!

Best regards,
Bjørn

HI,Bjorn

Thanks for your reply!
What puzzles me is that this same subject, with the same settings, only replaced the subject’s motion capture C3D file, and replaced the double flying kick technique (SHUANGFEITI 02) with the back spin kick technique (HOUXUANTI). ), but the back spin kick technique (HOUXUANTI) can run the inverse dynamic calculation smoothly

PengQian

HOUXUANTI 04.zip (187.1 KB)

Hi @Qian

Can you run the simulation with the simple muscle models?
Does the kinematics look as expected?
Have you checked that specific trial for marker swaps or dropouts that needs to be handled?

Best regards,
Bjørn