.
Figure 3.8: Any three-dimensional rotation can be described as a sequence of yaw, pitch, and roll rotations.
|
A 3D body can be rotated about three orthogonal axes, as shown in Figure 3.8. Borrowing aviation terminology, these rotations will be referred to as yaw, pitch, and roll:
- A yaw is a counterclockwise rotation of about the -axis. The rotation matrix is given by
|
(3.39) |
Note that the upper left entries of form a 2D rotation applied to the and coordinates, whereas the coordinate remains constant.
- A pitch is a counterclockwise rotation of about the -axis. The rotation matrix is given by
|
(3.40) |
- A roll is a counterclockwise rotation of about the -axis. The rotation matrix is given by
|
(3.41) |
Each rotation matrix is a simple extension of the 2D rotation matrix, ( 3.31). For example, the yaw matrix,
, essentially performs a 2D rotation with respect to the
and
coordinates while leaving the
coordinate unchanged. Thus, the third row and third column of
look like part of the identity matrix, while the upper right portion of
looks like the 2D rotation matrix.
The yaw, pitch, and roll rotations can be used to place a 3D body in any orientation. A single rotation matrix can be formed by multiplying the yaw, pitch, and roll rotation matrices to obtain
|
(3.42) |
It is important to note that
performs the roll first, then the pitch, and finally the yaw. If the order of these operations is changed, a different rotation matrix would result. Be careful when interpreting the rotations. Consider the final rotation, a yaw by
. Imagine sitting inside of a robot
that looks like an aircraft. If
, then the yaw turns the plane in a way that feels like turning a car to the left. However, for arbitrary values of
and
, the final rotation axis will not be vertically aligned with the aircraft because the aircraft is left in an unusual orientation before
is applied. The yaw rotation occurs about the
-axis of the world frame, not the body frame of
. Each time a new rotation matrix is introduced from the left, it has no concern for original body frame of
. It simply rotates every point in
in terms of the world frame. Note that 3D rotations depend on three parameters,
,
, and
, whereas 2D rotations depend only on a single parameter,
. The primitives of the model can be transformed using
, resulting in
.