Hello,
The shoulder has three rotation axis, namely flexion, abduction,and external rotation. In mannequin file, I can set those angles. But if I want to set shoulder to a position, how to set these angles considering that earlier rotation affects later one? And the sequence of the rotation behind the system?

Beside, I find that in the “model view”, shoulder angles of the skeleton after “setting initial condition or run kinematic analysis in a static situation” is a bit different from just “loading the model”? So I wonder which is the more real one?

The true rotation of the shoulder is the one you get when running is the system (initial condition and kinematics).

The position/orientation you get at load time is just an approximation. It only considers the glenohumeral angles and not the whole shoulder complex (clavicula and scapula). I guess it is basically only used for loading the model in a start position so the system can more easily solve the kinematics.

If I look at the AnyScript code (AAUHuman/Arm/Interface.any). I can see that the sequence of rotations are: 1. Abduction, 1. Flexion, and External rotation. All defined as intrinsic rotations.

Hi, Melund. Thank you very much for your answer.
I see two definitions: one as you said in ‘Interface.any’, the other in ‘Body\AAUHuman\Arm\Jnt.any’.

And in ‘Jnt.any’, there is also a glenohumeral definition:
///Definition of GH joint
AnyKinRotational GHRot = {
AnyRefNode &scapula_gh = …Seg.Scapula.gh;
AnyRefNode &humerus_gh = …Seg.Humerus.gh;
Type = RotAxesAngles;
Axis1 = y;
Axis2 = z;
Axis3 = y;
};

I just wonder why there are two definitions and which one dominates in the analysis. Thank you

The same rotations can be expressed in many different ways. The AnyKinRotational class is just a way to measure the angles, and you can use as many different ones as you like in your model. So the answer to you question is that none of them dominate the analysis. They only become important when you add drivers to those measures. However, if you drive your model with marker data, then they are just different ways to express the rotation.

What you found in the Jnt.any is yet another way to measure the shoulder angles. It is not used by any drivers, since it still works if you comment the lines. Try to compare the rotation sequence of GHRot (y,z,y), with the coordinate system of the nodes they reference. You will see that the sequence is similar to the ISB recommended standard (plane of elevation, elevation, external rotation).

Wu, Ge, Frans C T van der Helm, H E J (DirkJan) Veeger, Mohsen Makhsous, Peter Van Roy, Carolyn Anglin, Jochem Nagels, et al. 2005. “ISB Recommendation on Definitions of Joint Coordinate Systems of Various Joints for the Reporting of Human Joint motion—Part II: Shoulder, Elbow, Wrist and Hand.” Journal of Biomechanics 38 (5): 981–92.

And write a little more on what you actually want to do. To my knowledge no one has published a full musculoskeletal hand-model, and thus the model repository doesn’t have anything pre-built that you can use. Creating a hand model from scratch is a very big task, and I have heard of a few research groups who are working one that.

If you explain your problem or project then somebody may advise you a better way to proceed.