Specifications
215
two degrees of freedom is which. Fortunately, the model is already loaded, and we can get the current
values for the ankle angles from the object tree. Click your way through the tree to HumanModel->Right-
>Leg->Jnt->Ankle, and double-click the Pos property. The current angles are dumped in the message
window:
Main.MyPedal.HumanModel.Right.Leg.Jnt.Ankle.Pos = {1.570796, 0};
Now we know which value to assign to the joint angle driver:
AnyFolder Drivers = {
AnyKinEqSimpleDriver AnkleDriver = {
AnyUniversalJoint &Ankle = Main.MyPedal.HumanModel.Right.Leg.Jnt.Ankle;
DriverPos = {1.570796, 0};
DriverVel = {0, 0};
};
};
The model should load again with no significant difference.
4. Fix the lateral position of the knee
Imagine your pelvis on a seat and your foot resting on a point like the model is right now. You can still move
your knee sideways either medially or laterally rotating the leg about an axis through the foot contact point
and the hip joint. We must constrain this movement, and the easiest way to do it is by fixing the knee
laterally.
We shall do this by another simple driver in conjunction with a linear measure. Let us add another driver to
the Drivers folder:
AnyFolder Drivers = {
AnyKinEqSimpleDriver AnkleDriver = {
AnyUniversalJoint &Ankle = Main.MyPedal.HumanModel.Right.Leg.Jnt.Ankle;
DriverPos = {1.570796, 0};
DriverVel = {0, 0};
};
AnyKinEqSimpleDriver KneeDriver = {
DriverPos = {0};
DriverVel = {0};
};
};
This empty driver needs something to drive. We are going to create a linear measure between the global
reference frame and the knee:
AnyKinEqSimpleDriver KneeDriver = {
AnyKinLinear GlobKnee = {
AnyRefFrame &Glob = Main.MyPedal.EnvironmentModel.GlobalRef;
AnyRefFrame &Knee = Main.MyPedal.HumanModel.Right.Leg.Seg.Thigh.KneeJoint;
};
DriverPos = {0};
DriverVel = {0};
};
};










