Hi,
I am trying to calibrate my muscle tendon length in my model by just using the 3-element muscle calibration codes to fit my patient-specific model. However, I could not run my model while it has a warning of "The model may be statically indeterminate. There are 67 reactions and only 36 rigid body degrees of freedom." Is it related to the custom joints that I have defined? But I have no idea how to solve this problem and could you help me with it. The following is one of the angles of calibration. Thank you.
AnyFolder LegCal1 ={
AnyFolder &Pelvis = Main.Studies.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg;//This is a reference to the folder which holds the human part of the model
AnyFolder &LegSegSide = .SideHumanFolderRef.Leg.Seg; //This is a reference to the folder which holds the human part of the model
AnyFolder &JointsSideCal = Main.Studies.InverseDynamicStudy.NewJoints;
AnyFolder &OriginalJoint = .SideHumanFolderRef.Leg.Jnt;
AnyFolder &MusCalSide = .SideHumanFolderRef.Leg.Mus;
AnyFolder &MusParCalSide = .SideHumanFolderRef.Leg.MusPar;
AnyFixedRefFrame ground = {
AnyRefNode node = {
ARel=..Pelvis.Axes0;
sRel=..Pelvis.r0;
};
};
AnyRevoluteJoint PelvisGround={
AnyRefFrame &Ground = .ground.node;
AnyRefFrame &Sacrum= Main.Studies.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg;
Axis=z;
};
AnyKinEqSimpleDriver PelvisGroundRot = {
AnyRevoluteJoint &Jnt = .PelvisGround;
DriverPos = {0};
DriverVel = {0};
Reaction.Type = {Off};
};
AnyKinEqSimpleDriver Hip = {
AnySphericalJoint &Spherical = .JointsSideCal.RightHip;
MeasureOrganizer = {2,0,1}; // flexion/extension, abduction/adduction, internal/external rotation
DriverPos = {0,0,0}*pi/180;
DriverVel = {0,0,0}*pi/180;
Reaction.Type = {Off,Off,Off};
};
AnyKinEqSimpleDriver Knee = {
AnyRevoluteJoint &Hinge = .JointsSideCal.RightKnee;
DriverPos = {0pi/180};
DriverVel = {0pi/180};
Reaction.Type = {Off};
};
AnyKinEqSimpleDriver Ankle = {
AnyRevoluteJoint &Hinge = Main.Studies.HumanModel.BodyModel.Right.Leg.Jnt.Ankle;
DriverPos = {0pi/180};
DriverVel = {0pi/180};
Reaction.Type = {Off};
};
AnyKinEqSimpleDriver SubTalar = {
AnyRevoluteJoint &Hinge = Main.Studies.HumanModel.BodyModel.Right.Leg.Jnt.SubTalar;
DriverPos = {0pi/180};
DriverVel = {0pi/180};
Reaction.Type = {Off};
};
};
// The study: Operations to be performed on the model
AnyBodyCalibrationStudy LegCalibrationStudy1 = {
AnyFolder &ref=.LegCal1;
nStep = 1;
InitialConditions.SolverType = KinSolOverDeterminate;
};
Regards,
Thomas