Muscle recruitment solver : solver aborted due to singular KKT matrix

Hi
I want to simulate the forces in microgravity when a person is curled up. I only changed the Mannequin file and was able to calculate the results without opening InverseDynamics.Criterion.UpperBoundOnOff, but the muscle activation exceeds 100%, when opening InverseDynamics.Criterion.UpperBoundOnOff,I have problems with the KKT matrix when I open it and the Kinematic analysis fails.Here is a picture of the problem.
I am not sure what the problem is, and how to change it.Any help would be greatly appreciate. Thank you in advance.

Best regards
Wu




Hi @biao

The Criterion.UpperBoundOnOff controls whether or not the muscles can be activated beyond 1. This setting is great for model development and experimenting as it allows for the simulation to continue even when the muscles are not strong enough.
When you enable the upper bound the muscles cannot be recruited more than 1 and the model might fails if it cannot balance the mechanical system (the KKT error). You are probably missing constraints or reactions to balance the system without overloading the muscles.

Best regards,
Bjørn

Hello, firstly thank you for your reply. Looking at the comments it says that only some extreme positions will lead to an imbalance. The current model makes the degrees of freedom and constraints equal, won't this lead to over-constraining if I add constraints to it, for example if I make the small arm and the small leg interact.

You can have multiple constraints on the same objects so beside checking that the system is determinate you also want to check that you have the correct constraints on the correct DoF

You can also try the over-determinate solver to see if that helps debugging

Best regards,
Bjørn