Mark W. Spong

Robot Modeling and Control


Скачать книгу

degrees of freedom, and thus at most three quantities are required to specify its orientation. This can be easily seen by examining the constraints that govern the matrices in SO(3):

      Equation (2.25) follows from the fact that the columns of a rotation matrix are unit vectors, and Equation (2.26) follows from the fact that columns of a rotation matrix are mutually orthogonal. Together, these constraints define six independent equations with nine unknowns, which implies that there are three free variables.

      In this section we derive three ways in which an arbitrary rotation can be represented using only three independent quantities: the Euler angle representation, the roll-pitch-yaw representation, and the axis-angle representation.

      2.5.1 Euler Angles

The 3D rotation matrices illustrate an example of the Euler angles.

      In terms of the basic rotation matrices the resulting rotational transformation can be generated as the product

      The matrix RZYZ in Equation (2.27) is called the ZYZ–Euler angle transformation.

      The more important and more difficult problem is to determine for a particular R = (rij) the set of Euler angles ϕ, θ, and ψ, that satisfy

      (2.28)numbered Display Equation

      for a matrix RSO(3). This problem will be important later when we address the inverse kinematics problem for manipulators in Chapter 5.

      To find a solution for this problem we break it down into two cases. First, suppose that not both of r13, r23 are zero. Then from Equation (2.27) we deduce that sθ ≠ 0, and hence that not both of r31, r32 are zero. If not both r13 and r23 are zero, then r33 ≠ ±1, and we have cθ = r33, so

      or

      where the function Atan2 is the two-argument arctangent function defined in Appendix A.

      (2.31)numbered Display Equation

      (2.32)numbered Display Equation

      If we choose the value for θ given by Equation (2.30), then sθ < 0, and

      (2.33)numbered Display Equation

      (2.34)numbered Display Equation

      Thus, there are two solutions depending on the sign chosen for θ.

      If r13 = r23 = 0, then the fact that is orthogonal implies that r33 = ±1, and that r31 = r32 = 0. Thus, has the form

      (2.35)numbered Display Equation

      If r33 = 1, then cθ = 1 and sθ = 0, so that θ = 0. In this case, Equation (2.27) becomes

numbered Display Equation

      Thus, the sum ϕ + ψ can be determined as

      (2.36)numbered Display Equation

      Since only the sum ϕ + ψ can be determined in this case, there are infinitely many solutions. In this case, we may take ϕ = 0 by convention. If r33 = −1, then cθ = −1 and sθ = 0, so that θ = π. In this case Equation (2.27) becomes

      (2.37)numbered Display Equation

      The solution is thus

      (2.38)