Currently, I'm trying to implement a subject-specific left knee joint (incl. user-defined tibiofemoral, patellofemoral joint and user-defined patella-tendon) using TLEM2. This worked fine when using the simple muscle type but when I tried changing it to Hill-type muscles, the following error occurs:
During kinematics analysis:
" Muscle without strength : The muscle has been stretched too much".
During Muscle Tendon Length Adjustment:
"Muscle calibration : Muscle was not calibrated. This type of muscle model is not supported by this calibration operation."
To enable Hill-type muscles, the following code was added:
in BodyModelConfiguration.any:
#define BM_LEG_MUSCLES_LEFT _MUSCLES_3E_HILL_
Since a userdefined patella tendon was included, a constraint keeping the new patella tendon rigid was added in CalibrationSequence.any in each of the 7 LegCal#.any files (to be found in Main.HumanModel.Calibration).
Main.HumanModel.Calibration also already includes "AnyOperationSequence CalibrationSequence" which is called upon when executing "RunAppSequence.any".
The same error occurs, when starting with a "fresh" Human Standing" template and simply enabling Hill-muscle model. Could you please elaborate what step I'm missing? The tutorial on muscle calibration does not seem to cover this topic.
Can you send a snippet of how you implemented the ligament and what you changed in one of the legcal files?
The calibration files are part of the AMMR so changes to them will affect all models that utilize them, which is probably why using a standing model template fails.
I used a different unchanged AMMR ( AnyBody, v.7.3.1) to test the human standing template with hill type muscles.
After creating the template only #define BM_LEG_MUSCLES_LEFT _MUSCLES_3E_HILL_ was added to BodyModelConfiguration.any. In this case ligaments are not yet included.
After running RunApplication.any, muscles on the left leg are strangely deformed as you can see in the picture below. The warning "Muscle without strength : The muscle has been stretched too much" remains.
Okay, that narrows it down.
The muscles look as intended after enabling the 3E muscles. They will show up with their bulge region and lines that indicate tendons.
Are you using the 1 parameter or 2 parameter calibrations?
Are you running all the calibrations?
Are the warnings appearing during the calibrations or inverse study?
Until now I've used 1 parameter calibrations. Changing it to 2 parameter calibration in the standing human template did not change anything significant, as far as I could tell.
I'm not entirely sure what all calibrations are. RunAppSequence.any includes AnyOperation &CalibrationAnal = Main.HumanModel.Calibration.CalibrationSequence; . The error occurs during this part. CalibrationSequence consist of the following code:
OKay that sounds good.
The warnings you are getting are because each of the calibration operations only calibrates a portion of the leg muscles. So when calibration 1 is running the muscles not affected by that study will give the warning, and so forth. YOu should only be concerned if you see the warnings in the inverse study.
We now it is a confusing area and it is something we are looking into in the next major release.