Lesson 2: Controlling the Posture#
The script editor currently shows the main file of the model, which includes the
line of code Main = {}
. Any basic AnyScript contains a main file that defines
the model’s structure and the operations to be performed on the model.
The Mannequin.any
file, included in the main file, determines the posture of
the Standing Model by specifying the angles at the anatomical joints.
Scroll down to the line that says #include "Model\Mannequin.any"
.
Mannequin file structure#
// Define desired posture or movement of the model
#include "Model/Mannequin.any"
This line means that your model will include the content of the “Mannequin.any” file located in the Model folder, within the main file.
Double-clicking the file name in the editor window after loading your model opens the mannequin file in a new tab. Then you see the following structure. (In the interest of legibility we have removed many of the lines):
// Default mannequin position values
HumanModel.Mannequin = {
Posture = {
Right = {
};
Left = {
};
};
PostureVel= {
Right = {
};
Left = {
};
};
};
The section between each pair of braces creates a Folder, with all variables defined within forming the folder contents.
Once the loading process is complete, you can see this folder structure being replicated in “Model tree” on the left of your screen. All contents of this file can be seen by expanding the “Mannequin” folder icon in the tree.
There are sub-folders for postural joint angles (in degrees) and angular velocities (in degrees/second), for the right and left halves of the body.
Changing any of the joint angles and reloading the model, will change the
model’s posture at load time. To start with, ensure that the contents of the
Right
and Left
sub-folders are as follows.
Right = {
//Arm
SternoClavicularProtraction=-23; //This value is not used for initial position
SternoClavicularElevation=11.5; //This value is not used for initial position
SternoClavicularAxialRotation=-20; ///< Only used when the clavicular axial rotation rhythm is diabled
GlenohumeralFlexion =-0;
GlenohumeralAbduction = 4;
GlenohumeralExternalRotation = 2;
ElbowFlexion = 0.01;
ElbowPronation = -20.0;
WristFlexion =0;
WristAbduction =0;
//Leg
HipFlexion = 0.0;
HipAbduction = 5.0;
HipExternalRotation = 0.0;
KneeFlexion = 4.0;
AnklePlantarFlexion =0.0;
SubTalarEversion =0.0;
If you scroll down, you’ll see that the contents of Left
folder are set to be
equal to those from the Right
folder, in order to create a symmetric posture.
This is an important feature of the AnyScript language. Instead of numbers, you can create references to other variables or write mathematical expressions wherever necessary.
To create a non-symmetric posture, you would have to replace some of the
expressions in the Left
folder with numbers of your choice.
Scrolling further below, you will find the PosturVel folder
. This is organized
exactly like Posture, but the numbers here specify joint angular velocities in
degrees per second. For now, please leave all the values in this folder as zero.
Running a simulation analysis#
Simulation based analyses in AnyBody are termed “Studies”.
Step 1: Click on the operations drop-down menu at the top (see figure). Select “Main.RunApplication”
“RunApplication” is a readymade package of some pre-processing steps and the “InverseDynamics” analysis. Other drop-down operations include:
Kinematics: Runs Kinematic analysis
InverseDynamics: Runs Inverse dynamic analysis
To view all available operations in the model, click the “Open Operation Tree” button and navigate to “Main” > “Study”. For example, the “InitialConditions” operation runs only the first time step of the kinematic analysis, which is useful for testing and debugging.
Step 2: Click the “Execute” button on the Execute toolbar. This toolbar is next to the drop-down menu, and contains three buttons:
Run operation: Starts or pauses the chosen operation. Shortcut F5.
Step operation: Advances to next step of operation, typically a time step. Shortcut F6.
Stop operation: Sets the operation back to its initial position. You must reset before you start a new analysis that was previously aborted. Shortcut F4
You will see the model move slightly into position and you are finally awarded the following message:
1.0) Inverse dynamic analysis…
1.10) …Inverse dynamic analysis completed
You have just completed your first analysis with an AnyBody model. In the next lesson, we will examine the effects of posture on the results