Читать книгу Robot Modeling and Control - Mark W. Spong - Страница 66
2.5.3 Axis-Angle Representation
ОглавлениеRotations are not always performed about the principal coordinate axes. We are often interested in a rotation about an arbitrary axis in space. This provides both a convenient way to describe rotations, and an alternative parameterization for rotation matrices. Let k = (kx, ky, kz), expressed in the frame o0x0y0z0, be a unit vector defining an axis. We wish to derive the rotation matrix representing a rotation of θ about this axis.
There are several ways in which the matrix can be derived. One approach is to note that the rotational transformation will bring the world z-axis into alignment with the vector k. Therefore, a rotation about the axis k can be computed using a similarity transformation as
(2.40)
(2.41)
From Figure 2.12 we see that
(2.42)
(2.43)
Note that the final two equations follow from the fact that k is a unit vector. Substituting Equations (2.42) and (2.43) into Equation (2.41), we obtain after some lengthy calculation (Problem 2–17)
(2.44)
where vθ = vers θ = 1 − cθ.
Figure 2.12 Rotation about an arbitrary axis.
In fact, any rotation matrix can be represented by a single rotation about a suitable axis in space by a suitable angle,
(2.45)
where k is a unit vector defining the axis of rotation, and θ is the angle of rotation about k. The pair (k, θ) is called the axis-angle representation of . Given an arbitrary rotation matrix with components rij, the equivalent angle θ and equivalent axis k are given by the expressions
and
(2.46)
These equations can be obtained by direct manipulation of the entries of the matrix given in Equation (2.44). The axis-angle representation is not unique since a rotation of − θ about − k is the same as a rotation of θ about k, that is,
(2.47)
If θ = 0 then is the identity matrix and the axis of rotation is undefined.
Example 2.9.
Suppose is generated by a rotation of 90° about z0 followed by a rotation of 30° about y0 followed by a rotation of 60° about x0. Then
(2.48)
We see that and hence the equivalent angle is given by Equation (2.46) as
(2.49)
The equivalent axis is given from Equation (2.46) as
(2.50)
The above axis-angle representation characterizes a given rotation by four quantities, namely the three components of the equivalent axis k and the equivalent angle θ. However, since the equivalent axis k is given as a unit vector only two of its components are independent. The third is constrained by the condition that k is of unit length. Therefore, only three independent quantities are required in this representation of a rotation . We can represent the equivalent axis-angle by a single vector r as
(2.51)
Note, since k is a unit vector, that the length of the vector r is the equivalent angle θ and the direction of r is the equivalent axis k.
One should be careful to note that the representation in Equation (2.51) does not mean that two axis-angle representations may be combined using standard rules of vector algebra, as doing so would imply that rotations commute which, as we have seen, is not true in general.