Specifications

80
A few special cases are:
1. The number of reaction and driver forces is less than the number of rigid body degrees of freedom
in the model as it is the case here. This leaves some reactions to be provided by other elements,
and these elements are usually the muscles in the model.
2. If the number of reaction and driver forces is equal to the number of rigid body degrees of freedom,
then the model is (usually) capable of balancing itself, and there is no use for muscles. In fact, if
you add muscles to such a mechanism, the muscles will end up doing nothing.
3. If the model has more reaction and driver forces than rigid body degrees of freedom then it is
statically indeterminate. This usually means that there is something wrong with the model.
Mechanically it is equivalent to the model having multiple different ay of balancing itself and having
no way of determining which is the correct one. Even though AnyBody is capable of computing the
forces in such a model you will often find the solutions oscillating between the infinitely many
possibilities between time steps. Models like these should in general be avoided.
Let us investigate what happens if we make some changes in the model. Let us initially remove one of the
drivers in the model leaving it kinematically indeterminate:
AnyFolder Drivers = {
//---------------------------------
// AnyKinEqSimpleDriver ShoulderMotion = {
// AnyRevoluteJoint &Jnt = ..Jnts.Shoulder;
// DriverPos = {-100*pi/180};
// DriverVel = {30*pi/180};
// Reaction.Type = {Off};
// }; // Shoulder driver
//---------------------------------
AnyKinEqSimpleDriver ElbowMotion = {
AnyRevoluteJoint &Jnt = ..Jnts.Elbow;
DriverPos = {90*pi/180};
DriverVel = {45*pi/180};
Reaction.Type = {Off};
}; // Elbow driver
}; // Driver folder
When you load the model again you will see the message:
Model Warning: Study 'Main.ArmStudy' contains too few kinematic constraints to be kinematically
determinate.
When you load the model, the system automatically discovers that there seems to be less kinematic
constraints than required. In this situation it might not be possible to assemble the mechanism and it is
almost certainly not possible to run a kinematic analysis. Running the ModelInformation operation produces
this output:
-------------------------------------------------------------
1) List of segments:
0: Main.ArmModel.Segs.UpperArm
1: Main.ArmModel.Segs.ForeArm
Total number of rigid-body d.o.f.: 12
-------------------------------------------------------------
2) List of joints and kinematic constraints:
Joints:
0: Main.ArmModel.Jnts.Shoulder (5constr., 1coords.)
1: Main.ArmModel.Jnts.Elbow (5constr., 1coords.)
Total number of joint coordinates: 2