Inverse dynamics 해석 시 KKT 행렬 에러 문제
AnyBody Modeling System에서 Inverse dynamics를 수행할 때 종종 아래와 같은 에러 메시지가 발생하는 경우가 있습니다. "Musucle recruitment solver: Solver aborted due to singluar KKT matrix."
이 에러 메시지는 일반적으로 시스템 균형에 문제가 있을 때 발생하게 됩니다. 일반적으로 모델이 하나의 자유도에 대해 muslce 또는 reaction force에 의해 지지 받지 못할 때, 또는 Segment의 가속도가 너무 커서 muscle에 너무 큰 힘이 발생하는 경우입니다.
예를 들면, 의자가 없이 사람이 앉아 있는 자세를 모델링 하려고 하면 근육이 이 자세를 지탱하지 못하고 KKT 에러가 발생하게 됩니다. 이때 무릎에 보조하는 토크를 추가하게 되면 이 문제를 해결할 수 있습니다.또는 일부 구속의 반력을 ON (Reaction.Type= {On, ...}; 또는 가상적인 근육 요소를 추가해서도 해결할 수 있습니다.
모델링하면서 인체모델이 어떤 도움 없이 자세를 유지할 수 있는지 고민해보면 문제를 해결하는데 도움이 됩니다.
'AnyBody > FAQ' 카테고리의 다른 글
AnyRefFrame 클래스의 r, rDot, rDDot, Axes, r0, Axes0, sRel, ARel 은 어떤 값인가요? (0) | 2024.06.13 |
---|---|
시뮬레이션 결과 저장/불러오기 방법 (0) | 2024.06.12 |
Driver의 Reaction.Type의 On/Off 차이 (0) | 2024.06.11 |
Pelvis에 작용하는 Residual Force는 무엇인가요? (0) | 2024.06.11 |
시뮬레이션 결과 동영상 저장 방법 (0) | 2024.02.22 |