AnyBody™ Tutorials
Lesson 3: Reviewing analysis results

AnyBody contains a number of facilities to investigate results of the analysis. One of them is the ChartFX window, which is a standard graphing tool for display of analysis results. Please click Window -> ChartFX 2D (new). A new window containing a blank field in the middle and a tree view in the left hand pane appears.

The tree expands to reveal the entire structure of output data generated by AnyBody. Every element in the model generates some form of output from the analysis, so the tree is very large. One of the first nodes you encounter is the MaxMucleActivity variable:

Clicking the node produces an empty cordinate system in the large field. The reason why it is empty is that the standard setting of the ChartFX View is to display time-varying data for moving models. In this simple case our model is static, so it does not make much sense to draw curves. Instead we shall switch the setting to Bar diagrams in by the Gallery button in the toolbar:

You will obtain the following Image:

This tells you that to stand upright and carry the 50 N load in the right hand, the model is using about 13% of its strength. This means that the highest relative load of any joint in the system is 13.1% the joints strength. Even though one number is a very simplified way of regarding a complex biomechanical system, there are good mathematical reasons why this particular numberis a good measure of the human effort of a particular task.

You can obtain more detailed information if you expand the Model branch in the tree view on the left hand side of the bar diagram. Going down through Model -> HumanModel -> Right -> ShoulderArm -> JointMuscles gives you a list of all the joints in the right shoulder and arm, and inside each joint you can find its corresponding joint muscle. We write muscle in quotation marks because it is of course not a real muscle but rather an approximation of the total strength in this joint. Try opening the FEJnt branch, and you will see it split into an ElbowFlexion and an ElbowPronation part. Proceed to open the ElbowFlexion branch and you get two folders with the same name except for the capitalization of the letters. The interesting one is the lower case jnt0 folder. Please open it up and see the folder named Muscle inside, which again splits into PosMuscle and NegMuscle. This requires a bit of explanation:

The elbow obviously can do flexion and extension and different anatomical muscles are involved in these movements. This means that the strength in flextion would normally be different from the strength in extension, and to capture this difference, the joint needs joint torque providers with different strengths for the two directions of motion. Since the degree-of-freedom is called ElbowFlexion, it is assumed that flexion is the positive direction and extension is negative, and hence the names of the two muscles associated with this joint.

Please open up PosMuscle and click Fm. This will give you the following bar:

Fm is the muscle force property, which in the case of a joint torque provider is a moment, so the bar indicates that the elbow flexion moment it between 5 and 6 Nm. The tree contains leaves for all of the joint torque providers in both directions for all degrees-of-freedom of the model, and you can plot bar diagrams just like we did for the elbow flexion.

But it might be more interesting to work with anatomical muscles. To do this, we need to re-insert the muscles into the model. Please open the BodyPartSetup.any file again and change 0 back to 1 in all of the SIMPLE_MUSCLES lines. Then press F7 again to reload the model. This time you have to wait a bit longer for the load process because the many muscles take time to process. When loaded, the Model View should automatically change to display the model including the muscles:

Make sure that InverseDynamics is still selected in the operations tree, and click the Run button again. The model will jump into position as it did before and the muscles will initially stand out from the model but after a few moments fall back into place. The analysis takes more time than before but eventually should finish the Inverse dynamic analysis completed message.

If you study the Model View carefully, you may be able to notice a slight change of color of some of the muscles, for instance the biceps of the right arm. This coloring is the systems way of showing the relative load, i.e. the activation level, of each muscle. For models with larger loads, the coloring is more pronounced. Another method of immediate graphical feedback from the model is muscle bulging. This and other graphical settings can be controlled from a file called DrawSettings.any. You will find it included at the top of most of the example models in the repository. If you open this file (just double-click the line where it is listed in the editor) then you see different sections pertaining to the display of different parts of the model. Please make the following changes:

AnyFolder Muscle ={ 
    AnyVec3 RGB = .Colors.AnyBodyRed;
    AnySwitch Visible =On;
    AnySwitch DrawScaleOnOff =Off;
    AnyVar Bulging = $1$;
    AnyVar ColorScale =1.0;
    AnyVec3 RGBColorScale = {0.957031, 0.785156, 0.785156};
    AnyVar MaxStress = $100000$; //N/m^2 //This number is for graphics only!
    AnyVar Opacity =1.0;
  };

These changes switch the muscle bulging on and also set a bulging factor (MaxStress) that results in visible bulging with the relatively small loads we have applied to this model. The resulting Model View should look like this:

Lets take a look at the actual muscle forces. Please go back to the ChartFX view and browse down its tree to Main.Study.Output.Model.HumanModel.Right.ShoulderArm.Mus. You will see all of the anatomical muscles in the right arm displayed. A bit down this list you can find the muscle supraspinatus, which tends to be one of the sources of rotator cuff pain. Like many of the muscles in the model, the anatomical muscle supraspinatus is divided into several mechanical branches to account for fibers going in different directions and attaching to different bones. If you openop Supraspinatus_3 you can find the property Fm inside. Click it once, and you should see a new bar illustrating the force in this muscle element similar to the picture below.

This shows that the force in this muscle branch is roughly 10 N. Notice the specification line above the graphics pane marked with the red circle above. This is where the specification of the current picture is listed. You can use this to plot several muscles at the same time. If you change

Main.Study.Output.Model.HumanModel.Right.ShoulderArm.Mus.supraspinatus_3.Fm

to

Main.Study.Output.Model.HumanModel.Right.ShoulderArm.Mus.supraspinatus_*.Fm

i.e. replace the figure 3 with an asterix, '*', then you should see a bar diagram of all the supraspinatus muscles in the right hand side of the body.

The use of asterix for specification of multiple muscle forces can be extended even further. If you change the specification line to

Main.Study.Output.Model.HumanModel.Right.ShoulderArm.Mus.*.Fm

then you will get a bar diagram of all the muscles in the right shoulder and arm:

The different muscles do indeed have very different forces. You can see the muscle name in a little pop-up window if you hold the mouse still over a given bar.

Congratulations! You have just completed your first biomechanical analysis with the AnyBody Modeling System. Now is a good time to play a bit around with the facilities of the system and the model. Try changing the posture and/or the load in the mannequin.any file and investigate the results again.

You may also want to check our library of previous webcast for topics of particular interest to you.

AnyBody Technology A/S · Niels Jernes vej 10 · DK-9220 Aalborg Ø · Denmark · Tel. +45 9635 4286 · Fax. +45 9635 4599            Sitemap