Specifications
41
This muscle grows in force during the movement. That is because it is influenced by the movement of two
joints, namely the shoulder and the elbow. In addition, it collaborates both with DeltoidusA on shoulder
flexion, and with the other elbow flexors, and these muscles all have to level their work in relation to each
other.
This might sound like there are heuristic rules built into AnyBody. This is not the case. AnyBody distributes
the work between the muscles in a very systematic way: It solves an optimization problem to actuate
muscles so that the maximum relative load on any muscle is minimized. This corresponds to postponing
muscle fatigue as far as possible, and it causes muscle to collaborate as much as they can. This sometimes
involves development of antagonistic muscle forces, i.e., forces that appear to contradict the movement but
in fact relieve weaker muscles of load. Muscle synergy and the occasional presence of antagonists is well
known from many experiments, and the minimum fatigue criterion used in AnyBody reproduces this
behavior.
Now that we have the analysis going, we might want to investigate the model's behavior in different
situations. A typical example could be to see how it carries an external load in addition to gravity. Let us
imagine that the model is performing a dumbbell curl where it carries some load at the hand. We start by
attaching a node to the forearm at the position of the palm. Add this definition to the ForeArm section:
AnyRefNode PalmNode = {
sRel = {0.27,0,0};
};
The next step is to add an external force. We make a folder for this purpose:
AnyFolder Loads = {
//---------------------------------
AnyForce3D Dumbbell = {
AnyRefNode &PalmNode = ..Segs.ForeArm.PalmNode;
F = {0,-100,0}; // Force in Newton
};
}; // Loads folder










