I am simulating a spine model including the ribcage where all ribs and sternum are individually articulate. The ribs are attached to the spine via hinge joints and are controlled by FDK. The only kinematic input to the model is the position of the vertebrae. I try to find a way to realistically locate the sternum. There are forces on measures between the sternum and each rib to simulate the elastic properties. I tried various configurations where I defined a ball joint between the first rib and the sternum and defined several constraints as FDK. In all cases I either get an immediate KKT error in muscle recruitment or weird sternum displacement, muscle overloads in ribcage muscles and looping of Newton method in FDK. Without expecting it to achieve much, just for testing, instead of what I just described, I defined an all FDK driver based on a linear combination of all measures between ribs and sternum. This gives rather promising results, no more errors and muscle overloads, still some slightly weird sternum positioning in some cases, but that should be avoidable by additional constraints.
What is bothering me, is that I did all of this by trial-and-error, but I am confused to what the FDK method actually does. I assumed FDK adds another iteration layer between the FDK kinematics and overall muscle recruitment. What I mean by overall is, that it searches for an equilibrium position for the FDK “controlled” segment taking into consideration all forces acting on it. The fact that when defining the FDK driver against only the first ribs the sternum is placed in position resulting in huge forces and thus muscle activation, while the linear combination FDK driver does not show that behaviour, suggest that the FDK algorithm is “localized” to the measures defined in the driver. But then again as all ribs are themselves controlled by FDK, all these measures are coupled. I would not have been very surprised if this situation was not computable for being too complex or creating looping.
I hope my writing is not too confusing. I would appreciate it, if anyone can explain to me how the FDK method works or point me to some resources on it.
Cheers,
Simon
EDIT: Another thing: The “misplacment” of the sternum is always in such a way, that the forces aid in the motion. I interpret this as a sign, that FDK actually looks at the whole system and not just locally at the measures defined in the FDK driver. You may notice that I am somewhat confused at the moment…