Recruitment solver error when the model is small

Hi,

an error occurs when I set the model’s body height to 1.25 m.

“Muscle recruitment solver : solver aborted due to singular KKT matrix”

When I change the model height to 1.5 m inverse dynamic analysis can be done without an error…

How comes?

Cheers,
Hauke

i think you may check whether the model height matches the motion data?

Hi,

can you please be more precise about what example you are using and what you plan to do.
If you are more detailed with your questions, then it will be easier to help you.

Hi,

I am currently using the Standing Model and elevate the arm by 45 degrees. When the height is below 1.5 m I get that error.

Hi Hauke,

we tried to reproduce the message that you had, but we could not get the same error message so far. What files were you using for the scaling?
ScalingLengthMassExt and the AnyMan?

I have to admit that 1.25m is a size that hasn’t been used much before, so there might be complications. I will discuss that in the support team and get back to you.

Hi Hauke,

if I use:

 #include "..\..\..\Body\AAUHuman\Scaling\ScalingLengthMassExt.any" 
 Scaling = {
   #include "..\..\..\Body\AAUHuman\Scaling\AnyFamily\AnyManExternal.any"
 };

and make the following modifications to the AnyMan, then I get a model between 1,10 and 1,20 and the inverse dynamics run fine:

AnyVar new_body_height = 125;
AnyVar height_scale = new_body_height/180;

AnyFolder AnthroSegmentLengths = {
AnyVar ThighLength = 0.445 * .AnthroData.height_scale; // from top of trochanter to epicondylus lateral along thigh
AnyVar ShankLength = 0.420 * .AnthroData.height_scale; // from condulus medial to malleolus medial along shank
AnyVar FootLength = 0.243 * .AnthroData.height_scale; // from back of heel to tip of longest toe along foot
AnyVar PelvisWidth = 0.314 * .AnthroData.height_scale; // between external bony tip of trochanter (horizontaly)
AnyVar HeadHeight = 0.246 * .AnthroData.height_scale; // from chin to top of head (verticaly)
AnyVar TrunkHeight = 0.500 * .AnthroData.height_scale; // From C7 to sacrum midle bony tip (verticaly)
AnyVar UpperArmLength = 0.414 * .AnthroData.height_scale; // From elbow bony tip to acromion bony tip along humerus (elbow flexed 90 deg)
AnyVar LowerArmLength =0.268 * .AnthroData.height_scale; // From elbow bony tip to ulna styloid bony tip along ulna (elbow flexed 90 deg)
AnyVar HandLength = 0.182 * .AnthroData.height_scale; // From the base of the palm to the tip of the middle finger.
AnyVar HandBreadth = 0.072 * .AnthroData.height_scale; // From the external landmark of the CMP joint of the index to the external landmark of the CMP joint of the little finger

// Those two folders are used by the TD leg
AnyFolder Right = {
AnyVar ThighLength = 0.405 * …AnthroData.height_scale; // from top of trochanter to epicondylus lateral along thigh
AnyVar ShankLength = 0.378 * …AnthroData.height_scale; // from condulus medial to malleolus medial along shank
AnyVar FootLength = 0.285 * …AnthroData.height_scale; // from back of heel to tip of longest toe along foot
AnyVar TalusLength = 0.133*FootLength * …AnthroData.height_scale; // calculated automaticaly from the foot size
};

I used the ScalingUniform and AnyManUniform. I will try ur example.