Dear Assad,
I added a fixed driver for the wrists, so that not the markers, but a fixed angle is used. This solved the problem and the model was able to run. I understand that you want to use the markers in the hand as well, so my suggestion is to get a very good fit of the initial position with the markers. Wrist and hands are complex to solve kinematically.
This code fixes the wrist joint completely:
//Right Wrist driver
AnyKinEqSimpleDriver RightWristDriverLeft ={
AnyKinMeasureOrg &ref1 = …HumanModel.BodyModel.Interface.Right.WristFlexion;
AnyKinMeasureOrg &ref2 = …HumanModel.BodyModel.Interface.Right.WristAbduction;
DriverPos = pi/180*{
.JntPos.Right.WristFlexion,
.JntPos.Right.WristAbduction};
DriverVel = pi/180*{
.JntVel.Right.WristFlexion,
.JntVel.Right.WristAbduction};
Reaction.Type={Off,Off};
};
//Left Wrist driver
AnyKinEqSimpleDriver LeftWristDriverLeft ={
AnyKinMeasureOrg &ref1 = …HumanModel.BodyModel.Interface.Left.WristFlexion;
AnyKinMeasureOrg &ref2 = …HumanModel.BodyModel.Interface.Left.WristAbduction;
DriverPos = pi/180*{
.JntPos.Left.WristFlexion,
.JntPos.Left.WristAbduction};
DriverVel = pi/180*{
.JntVel.Left.WristFlexion,
.JntVel.Left.WristAbduction};
Reaction.Type={Off,Off};
};
This code uses soft drivers, so there is a trade-off between markers and fixed wrist angle
//Right Wrist driver
AnyKinEqSimpleDriver RightWristDriverLeft ={
AnyKinMeasureOrg &ref1 = …HumanModel.BodyModel.Interface.Right.WristFlexion;
AnyKinMeasureOrg &ref2 = …HumanModel.BodyModel.Interface.Right.WristAbduction;
DriverPos = pi/180*{
.JntPos.Right.WristFlexion,
.JntPos.Right.WristAbduction};
DriverVel = pi/180*{
.JntVel.Right.WristFlexion,
.JntVel.Right.WristAbduction};
Reaction.Type={Off,Off};
CType = {Soft, Soft};
};
//Left Wrist driver
AnyKinEqSimpleDriver LeftWristDriverLeft ={
AnyKinMeasureOrg &ref1 = …HumanModel.BodyModel.Interface.Left.WristFlexion;
AnyKinMeasureOrg &ref2 = …HumanModel.BodyModel.Interface.Left.WristAbduction;
DriverPos = pi/180*{
.JntPos.Left.WristFlexion,
.JntPos.Left.WristAbduction};
DriverVel = pi/180*{
.JntVel.Left.WristFlexion,
.JntVel.Left.WristAbduction};
Reaction.Type={Off,Off};
CType = {Soft, Soft};
};