Hello guys,
I tried to implement FDK features to the shoulder-joint.
First of all I only tried to implement it to the anterior-posterior plane of the gh-joint (z direction of scapula-gh).
AnyKinEqSimpleDriver GHLinCon = {
AnyKinMeasure &GHLinCon = .GHLin;
Reaction.Type={Off,Off,Off};
CType = {Hard, Hard, ForceDep};
DriverPos={0,0,0};
DriverVel={0,0,0};
};
AnyFloatVar GrThanZero = gteqfun(GHLin.Pos[2], 0.001);
AnyFloatVar const = iffun(GrThanZero, -40, 40);
AnyForce ShoulderStiffnessAntPost = {
AnyKinLinear &lin = .GHLin;
F = {0,0,-(.const + 2.5*1000*lin.Pos[2])};
};
since I have 2 dircetions to cover I tried to turn the stiffness function at the point of GHLin.Pos[2] = 0.001 (because 0 results in an iteration over negative and positive and doesn’t lead to results) so I have the stiffness effect in both directions positive and negative.
I also used following options for FDK:
InverseDynamics.ForceDepKinOnOff=On;
InverseDynamics.ForceDepKin.LocalSearchOnOff = Off;
InverseDynamics.ForceDepKin.MaxIteration = 10;
InverseDynamics.ForceDepKin.ForceTol = 0.5;
My problem now is, that the FDK is not stable. I get an Error like that
Failed to resolve force-dependent kinematic constraints. Newton relaxation too small. (final force error = 3.495372E+000)
Therefore i have some questions:
How are the residuals for FDK calculated?
How can i stabilizise the FDK?
How does AnyBody decide which forces are used for FDK and which one are translated to the thorax segment?
Is there a publication which explains the functions of FDK in detail?
Thanks for your effort
Greetings,
Mischa