Orientation Angles
Up ] [ Orientation Angles ] Computation of the Orientation Angles ] Joint Angle vs. Orientation Angles ] Angular Velocity vs. Orientation Angles ] Electromagnetic Motion Sensors ] Joint Center: Functional Method ] Computation of the Rotation Matrix ] Helical (Screw) Axis ] Motion Sensors: Joint Center ]

Orientation Angles: Eulerian/Cardanian Angles
Computation of the Orientation Angles

Orientation Angles -- Eulerian/Cardanian Angles

Since the rotation matrices, [2], [3] & [4] of Rotation Matrix are transformation matrices, one can perform successive rotations to transform a vector from one reference frame to another. The sequence of the successive rotations can vary depending on the intention of the analyst. There are two typical types of successive rotations: Eulerian and Cardanian. The Eulerian type involves repetition of rotations about one particular axis: XYX, XZX, YXY, YZY, ZXZ, ZYZ. The Cardanian type is characterized by the rotations about all three axes: XYZ, XZY, YZX, YXZ, ZXY, ZYX. The sequence of the successive rotations can be chosen from a total of 12 different combinations. Even though the Cardanian type is different from the Eulerian type in terms of the combination of the rotations, they both use very similar approach to compute the orientation angles. One may treat the Cardanian sequences as a subset of the Eulerian. For simplicity, only the XYZ-type successive rotations (Figure 1) will be explored here.

    Figure 1

Figure 1 shows three successive rotations to change the orientation of the reference frame from the XYZ system to the X'''Y'''Z''' system. The intermediate systems are denoted as X'Y'Z' system and X''Y''Z" system, respectively:


where, c( ) = cos, and s( ) = sin. The successive rotations can be expressed as multiplication of the rotation matrices


Let the XYZ system and the X'''Y'''Z''' system be frame A and frame B, respectively. Then, transformation matrix TB/A can be expressed in terms of the successive rotation angles:


Since, the three successive rotation angles (Eulerian or Cardanian angles) reflect the relative orientation of frame B to frame A, they are commonly called as the orientation angles. [3] can be used for any transformation matrix: global to local or local to another local. One thing worth noting here is the fact that these three successive rotations are mutually independent. One can treat these rotations separately to obtain the angular velocities of the object.

The beauty of the orientation angles is that they can have physical meanings such as somersault, inclination and twist of the body. Imagine a gymnast performing a complex airborne maneuver. A local reference frame is fixed to the gymnast reflecting the orientation of the gymnast (A in [3] = the global reference frame, B = the whole body reference frame). If the X, Y, and Z axis of the local reference frame represent the transverse, anteroposterior, and longitudinal axes of the body, respectively, the rotation about the X axis in fact shows the somersault of the whole body while the rotations about the Y and Z axis of the body represent the inclination and twist, respectively (Figure 2).

    Figure 2

This approach is equally applicable for the transformation matrix from one local reference frame to another. Let A and B in [3] be the pelvis and the right thigh, respectively. Again, the X, Y, and Z axes of the local reference frames represent the transverse, anteroposterior, and longitudinal axes of the pelvis and the right thigh. As a result, the three successive rotations represent flexion/extension, adduction/abduction, and medial/lateral rotation of the thigh w/t the pelvis.

But there are two problems in interpreting the orientation angle data:

The axis of the second rotation (rotation by angle q) is the Y axis of the intermediate frames, Y' / Y" axis in Figure 1, not that of either frame A or frame B. This sometimes causes confusion in assigning practical meanings to the orientation angles. In our example above (pelvis vs. right thigh), the thigh adduction/abduction occurs not in the frontal plane of the pelvis, but in the intermediate frontal plane of the right thigh. In other words, angle q in this example is not the same to the anatomical adduction/abduction angle. The anatomical joint-motion angles are actually the projected angles, not the orientation angles.

The orientation angles are sequence-dependent so that you will get different sets of orientation angles from different sequences of successive rotations. In other word, type YXZ provides orientation angle values different from those of type XYZ. It is up to the analyst to choose the type of successive rotations, but employing different rotation sequences for different segments will complicate the analysis quite a bit.


Computation of the Orientation Angles

One can compute the transformation matrices based on the global coordinates of the markers. Let


From [3] and [4]:





   [7a & b]

From [6] & [7], one can obtain two different sets of orientation angles but must pay attention to the time history of the second orientation angle (q) to choose the right set of orientation angles. In many cases one may assume -p/2 < q < p/2. For example, the inclination angle shown in Figure 2 can not be larger than p/2 rad or smaller than -p/2 rad and one will get only one set of orientation angles as a result. But this may not be true in the case of the relative orientation angles of a segment to its proximal segment at a ball-and-socket joint. In shoulder abduction, for example, the abduction angle continuously increases and gets larger than p/2 rad or smaller than -p/2 rad. One must exercise caution in dealing with q in different situations.

Now, let's take a look at a special case. From [4] & [5]:




In other words, if cos q = 0, one can not compute f and y separately, but collectively as f + y or f - y. These conditions are called the gimbal locks.

One can compute the angular velocity of a rigid body using the orientation angles. See Angular Velocity vs Orientation Angles for the details.



Young-Hoo Kwon, 1998-