42
1 Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors. If vector a is rotated into vector b, then the property of length preservation is expressed as |a| = |b|. (1.1) Furthermore, if vectors a 1 , a 2 and a 3 are transformed by the same identical rotation into vectors b 1 , b 2 and b 3 , respectively, by the property of volume preservation we have a 1 · a 2 × a 3 = b 1 · b 2 × b 3 . (1.2) Finally, by the property of angle preservation between vectors, we have cos φ a1,a2 = a 1 · a 2 = b 1 · b 2 = cos φ b1,b2 , (1.3) where φ i,j indicates the angle between vector i and vector j . Because of these three properties, a rotation is termed a rigid transformation. In mechanics, rotations are used for expressing relationships between coordinate systems. A rectangular coordinate system is defined by a frame. Each frame is composed by a point, called the frame pole, and by a triad of orthogonal unit vectors with origin in the pole. Since rotations are rigid transformations, given two triads I and J , the latter can always be seen as obtained by a suitable rotation of the former. Hence, rotations play a fundamental role whenever a problem is formulated in terms of multiple coordinate systems in relative motion with respect to one another. In the formulation of flight mechanics problems, rotations are routinely used for transforming the components of vectors from one coordinate system to another. Fur- thermore, the motion of a vehicle with respect to a frame of reference is described 1

Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

1Three-Dimensional

Rotations

A rotation is a transformation that preserves the length, the volume (with sign), andthe angle between pairs of vectors. If vectora is rotated into vectorb, then theproperty of length preservation is expressed as

|a| = |b|. (1.1)

Furthermore, if vectorsa1, a2 anda3 are transformed by the same identical rotationinto vectorsb1, b2 andb3, respectively, by the property of volume preservation wehave

a1 · a2 × a3 = b1 · b2 × b3. (1.2)

Finally, by the property of angle preservation between vectors, we have

cosφa1,a2= a1 · a2 = b1 · b2 = cosφb1,b2 , (1.3)

whereφi,j indicates the angle between vectori and vectorj. Because of these threeproperties, a rotation is termed arigid transformation.

In mechanics, rotations are used for expressing relationships between coordinatesystems. A rectangular coordinate system is defined by aframe. Each frame iscomposed by a point, called the frame pole, and by a triad of orthogonal unit vectorswith origin in the pole. Since rotations are rigid transformations, given two triadsIandJ , the latter can always be seen as obtained by a suitable rotation of the former.Hence, rotations play a fundamental role whenever a problemis formulated in termsof multiple coordinate systems in relative motion with respect to one another.

In the formulation of flight mechanics problems, rotations are routinely used fortransforming the components of vectors from one coordinatesystem to another. Fur-thermore, the motion of a vehicle with respect to a frame of reference is described

1

Page 2: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

2 THREE-DIMENSIONAL ROTATIONS

in terms of the position and orientation of a body attached frame that is fixed to thevehicle and moves with it. The position of the vehicle with respect to the referenceframe is given by the distance vector between the pole of the reference frame and thepole of the vehicle attached frame. On the other hand, the orientation of the vehiclewith respect to the reference frame is given by the rotation that brings the referencetriad into the vehicle attached triad. When only the orientations are of interest, as inmost instances in the rest of this chapter, we can use triads rather than frames in orderto describe systems of coordinates.

In this chapter we study the problem of three-dimensional rotations, and we in-troduce the main instruments that are used for describing and manipulating rotations.The concepts and tools here exposed will be used later on in the derivation of thevehicle equations of motion, and in their analysis and solution. Furthermore, in thischapter we show that rotations are characterized by specialproperties. In fact, as withmany other problems in mechanics, rotations can be described in terms of tensorialquantities. In particular, the first order tensors, called rotation vectors, belong to spe-cial spaces whose properties imply that: a) the compositionof successive rotationscan not be expressed by simply adding the corresponding rotation vectors, and b)rotations do not commute, in the sense that changing the order in which two succes-sive rotations are performed, changes the resulting composed rotation. These specialcharacteristics of rotations are found only in the three-dimensional case, while intwo spatial dimensions rotations can be added and commute, and are therefore muchsimpler to analyze. The title of this chapter emphasizes thespecial nature of thethree-dimensional case. The treatment of the material presented herein is designedto be self-contained, however the reader might wish to find further information andadditional details in classical references such as [5, 4].

We shall start the study of rotations by looking first at the problem of transformingcomponents between triads, which leads to the concept ofdirection cosine matrix.

1.1 THE DIRECTION COSINE MATRIX

Consider two orthonormal triads of unit vectors,I = (i1, i2, i3)andJ = (j1, j2, j3),as shown in figure 1.1. Each unit vectorjk of J can be expressed in terms of the unitvectorsil of I as

jk = (i1 · jk) i1 + (i2 · jk) i2 + (i3 · jk) i3 =3

l=1

(il · jk) il, (1.4)

wherek = 1, 2, 3. This relationship between the vectors of two triads can be conve-niently expressed by means of the direction cosine matrix[Λ], whose scalar compo-nents are

Λkl = ik · jl, k, l = 1, 2, 3. (1.5)

The entries of this matrix represent the cosines of the angles between the unit vectorsof triadI and those of triadJ ,

ik · jl = cosφik,jl, (1.6)

Page 3: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

THE DIRECTION COSINE MATRIX 3

i1 i2

j2

j3

i3

j1

Figure 1.1 Orthonormal triads of unit vectors,I = (i1, i2, i3) andJ = (j1, j2, j3).

as the name of the matrix suggests.The same matrix entries can also be interpreted in an alternative way. In fact, from

its definition, the columns of the direction cosine matrix are seen to represent thecomponents of the unit vectorsjk measured in triadI. Indicating the components ofvectora in triadAwith the notationaA, the direction cosine matrix can be partitionedby columns as follows:

[Λ] =[

jI1∣

∣jI2∣

∣jI3

]

. (1.7)

By a similar argument, the rows of the matrix are seen to represent the componentsof the unit vectorsik measured in triadJ :

[Λ] =

iJ T1

iJ T2

iJ T3

. (1.8)

Using now equation (1.4) and the direction cosine matrix definition, equation (1.5),it is readily verified that the direction cosine matrix transforms the components of theunit vectorsik measured inI into the components of the unit vectorsjk measured inthe same triad:

jIk = [Λ] iIk , k = 1, 2, 3. (1.9)

We shall use this fact later on for developing the rule of transformation of componentsof vectors and tensors in changing reference from one basis to another.

The direction cosine matrix isorthogonal, i.e. it enjoys the following fundamentalproperty:

[Λ][Λ]T = [Λ]T[Λ] = [I], (1.10)

Page 4: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

4 THREE-DIMENSIONAL ROTATIONS

where[I] is the3 × 3 identity matrix. In fact, using equation (1.7) which expressesthe matrix partitioning by columns, we can immediately verify that

[Λ]T[Λ] =

jI T1

jI T2

jI T3

[

jI1∣

∣jI2∣

∣jI3

]

=[

jI Tk jIl

]

= [δkl] = [I], (1.11)

whereδkl is the Kronecker symbol, i.e.δkl = 1 if k = l, δkl = 0 if k 6= l. Thediagonal terms of the direction cosine matrix are equal to one because vectorsjk areof unit length,jk · jk = 1, while the off-diagonal terms of the matrix are equal tozero because the triad vectors are mutually orthogonal,jk · jl = 0, k 6= l. Giventhe orthogonality of the direction cosine matrix, its inverse is readily computed from(1.10) as

[Λ]−1 = [Λ]T . (1.12)

1.2 THE ANGULAR VELOCITY

Consider now[Λ] as a function of a scalar parametert ∈ R+, [Λ] = [Λ(t)]. Thiswould be the case whenever one of the two triads moves with respect to the other,for example, because it is attached to a body that is in motionwith respect to a fixedframe. Differentiating the orthogonality condition (1.10) with respect tot yields

˙[Λ][Λ]T + [Λ] ˙[Λ]T

= 0, (1.13)

where the notation˙(·) = d · /dt was used to indicate differentiation with respect totime. Setting now

[A] = ˙[Λ][Λ]T , (1.14)

equation (1.13) implies that[A] is a skew symmetric matrix:

[A] = −[A]T . (1.15)

Since a3×3 skew symmetric matrix can depend on only three parameters,[A] can beexpressed in terms of the components of a vectorωJ /I , termed theangular velocityvector of triadJ with respect to triadI. When there are only two triads, and wherethere is no possibility of confusion, in order to simplify the notation we will indicatethe angular velocity simply with the symbolω, rather than with the more preciseωJ /I . Indicating the components ofω in I with the notationωI = (ω1, ω2, ω3)

T ,the skew symmetric matrix[A] can be written as

[A] = ωI× =

0 −ω3 ω2

ω3 0 −ω1

−ω2 ω1 0

. (1.16)

The symbol(·)× is here used to indicate a skew symmetric tensor, whose com-ponents inI are noted(·)I×. This notation reminds the fact that a skew symmetric

Page 5: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

THE ANGULAR VELOCITY 5

matrix can be used for computing the components of the cross product between twovectors. In fact, given two vectorsa andb, their cross product is defined as

c = a× b = |a||b| sinφa,b n, (1.17)

wheren is a unit vector orthogonal to the plane formed bya andb, andφa,b theangle between them. In components measured inI, equation (1.17) is expressed as

cI =

a2b3 − a3b2a3b1 − a1b3a1b2 − a2b1

, (1.18)

which can also be written as

cI = aI×b

I =

0 −a3 a2

a3 0 −a1

−a2 a1 0

b1b2b3

, (1.19)

where the components of thevarious vectors areaI = (a1, a2, a3)T ,bI = (b1, b2, b3)

T ,andcI = (c1, c2, c3)

T . Hence, the cross product between vectorsa andb can beregarded as the product between a skew symmetric second order tensora× and vectorb:

c = a× b = a×b. (1.20)

The skew symmetric second order tensor will be extensively used in the remaining ofthis chapter. For future reference, we note that given a generic second order tensorT ,its axial vectorv is defined asv = axial(T ), such thatv× = (T − T T )/2. Hence,given the skew symmetric tensora× above, vectora can be computed from tensora× asa = axial(a×).

Returning to the problem of differentiating the orthogonality condition, using now(1.16), equation (1.14) becomes

˙[Λ] = ωI×[Λ]. (1.21)

Examined column by column, this matrix ordinary differential equation yields thetime derivatives of the components of thejk unit vectors measured in theI triad:

djIkdt

= ωI×j

Ik , k = 1, 2, 3. (1.22)

Since all components are referred to the same triadI, these equations can be expressedin vector form as

djkdt

= ω × jk, k = 1, 2, 3. (1.23)

These equations express the time rates of change of the unit vectors of a moving triad,and are known as Poisson’s relations.

Page 6: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

6 THREE-DIMENSIONAL ROTATIONS

1.3 THE ROTATION TENSOR

So far, we have considered the problem of transforming vector components from onebasis to another. This has lead to the concept of a direction cosine matrix, and shownits orthogonality property. Orthogonality has then lead tothe concept of angularvelocity and shown the role of the skew symmetric second order tensor. These sameconcepts can be derived by looking at the problem of rotatinga vectora into a vectorb, a transformation that we will indicate symbolically as

b = Rot(a). (1.24)

The analysis of the rotation problem shows that this transformation between vectorsis accomplished by a tensor, known as therotation tensor. In this section we shalltherefore study the derivation of the rotation tensor as a function of its associated vec-torial quantity, therotation vector. This analysis will provide the basis for discussingof the fundamental problem of how to describe finite rotations in terms of suitabledegrees of freedom, a problem that is known in the literatureas theparameterizationof rotations.

The expression of the rotation tensor in terms of the rotationvector canbe derived inat least two alternative ways: using purely geometric arguments,or using a differentialapproach. While both ways of looking at the problem clearly lead to the same results,both have their interesting peculiarities and highlight different important propertiesof rotations. Hence, both paths will be illustrated in the following pages. We shallstart by the most intuitive and simple one, which is the geometric approach.

1.3.1 Geometric Derivation of the Rotation Tensor

The geometric derivation of the rotation tensor can be basedon the two fundamen-tal theorems of Euler on rotations. Euler’s Displacement Theorem states that anyarbitrary displacement of a rigid body that leaves a point fixed is a rotation about aunit vectork by an angleϕ. In other words, any three-dimensional rotation can beinterpreted as a two-dimensional rotation that takes placein a plane orthogonal toa suitably chosen direction. Furthermore, Euler’s Rotation Theorem states that anyrotation may be described in terms of only three parameters.

Consider in particular the rotation of vectora into vectorb, as depicted in figure1.2. According to Euler’s Displacement Theorem, the rotation ofa intob can be seenas produced by a rotationϕ about the rotation axisk. The problem is now to computeb, givena, k andϕ. With this goal in mind, define first a triad of orthogonal unitvectorsi, j andk. Unit vectorj is orthogonal to planeπa,k spanned bya andk,

j =k × a|a| sinα, (1.25)

α being the angle betweenk anda, while unit vectori completes a right-handedtriad,

i = j × k, (1.26)

Page 7: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

THE ROTATION TENSOR 7

ij

k

a b

c

d

e

j

a a

pa,k

Figure 1.2 Rotation of vectora into vectorb through a rotation angleϕ about unit vectork.

and consequently lies in the planeπa,k. With reference to figure 1.2, vectorb cannow be expressed as the sum of four vectors

b = a+ c+ d+ e, (1.27)

wherec ande are parallel toi, whiled is parallel toj. Each one of these vectors canbe readily expressed in terms of onlya, k andϕ:

c = −|a| sinα i = −|a| sinα (k × a) × k|a| sinα = k × k × a, (1.28)

d = |a| sinα sinϕ j = |a| sinα sinϕk × a|a| sinα = sinϕk × a, (1.29)

e = |a| sinα cosϕ i = |a| sinα cosϕ(k × a) × k|a| sinα = − cosϕk × k × a. (1.30)

Substituting these expressions into (1.27), vectorb is now computed as

b = Ra, (1.31)

whereR = I + sinϕk× + (1 − cosϕ)k×k×, (1.32)

Page 8: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

8 THREE-DIMENSIONAL ROTATIONS

is therotation tensor that transformsa into b, andψ = ϕk is termed therotationvector. Note that, coherently with Euler’s Rotation Theorem,R is characterized byonly three parameters: the rotation angleϕ and the two independent parameters thatdefine unit vectork. Equation (1.32) is known as theEuler-Rodrigues formula.

For future reference and ease of notation, it is convenient to writeR as

R =

2∑

k=0

Rk(ψ×)k, (1.33)

where the rotation tensor coefficients are given by

R0 = 1, R1 =sinϕ

ϕ, R2 =

1 − cosϕ

ϕ2. (1.34)

The coefficients are well defined for the rotation angle that tends to zero, and in fact

limϕ→0

R1 = 1, limϕ→0

R2 =1

2. (1.35)

Hence, as expected,limϕ→0

R = I, (1.36)

andb = a for ϕ = 0.The rotation tensor enjoys some important properties. In fact, using its definition,

equation (1.33), it is readily verified thatR is an orthogonal tensor:

RRT = RTR = I. (1.37)

This could also be obtained by other means, for example by recalling that a rotationis a length-preserving transformation, property (1.1). Infact, using (1.31), the lengthof vectorb is

|b| =√b · b =

√a ·RTRa. (1.38)

On the other hand, the length ofa is

|a| =√a · a, (1.39)

and the condition|b| = |a| requiresR to be orthogonal, equation (1.37).A second property of the rotation tensor is obtained by multiplication with the

rotation vector:Rψ = ψ. (1.40)

This indicates thatψ is unaffected by the rotation,as in fact expected since the rotationtakes place aboutk that is indeed parallel toψ. This property is closely related to theeigen analysis ofR. In fact, the eigenvalue problem forR is written as

(R − λiI)xi = 0, i = 1, 2, 3, (1.41)

Page 9: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

THE ROTATION TENSOR 9

whereλi is theith eigenvalue andxi its associated eigenvector. Rearranging (1.40)as

(R − I)ψ = 0, (1.42)

and comparing this expression with (1.41), we conclude thatthe axis of rotationk canbe regarded as the (normalized to one) eigenvector of the rotation tensorcorrespondingto the eigenvalueλ = 1. Orthogonal tensors that have a positive unit eigenvalue aretermedproper orthogonal tensors.

1.3.1.1 Virtual Variation and Angular Velocity We have already seen whendiscussing of the direction cosine matrix that time derivatives of the orthogonalityproperty lead to the definition of the angular velocity. Herewe shall take a similarpath but, having now derived the expression of the rotation tensor in terms of therotation vector, we will be able to derive the expression of the angular velocity as afunction of the rotation vector and of its time derivatives.This is useful in practicalflight mechanics applications, for example in the simulation of the vehicle response,orfor computing the vehicle orientation based on measurements of the angular velocityobtained by onboard gyros.

Before starting, it should be noted that instead of considering derivatives withrespect to time, one could consider virtual variations. While time derivatives willlead to the definition of the the angular velocity, virtual variations will lead to thedefinition of the virtual rotation.

To illustrate this point, let us start by taking a virtual variation of the orthogonalitycondition, equation (1.37). By the same argument used for the direction cosine matrix,it is clear that this virtual variation leads to the definition of a skew symmetric tensor:

ψδ× = δRRT . (1.43)

The vector associated with this tensor is notedψδ = axial(ψδ×), and it is termedvirtual rotation. We anticipate, and it will become clear in the following, that thevirtual rotation can not be interpreted as the virtual variation of the rotation vector,δψ. The notation(·)δ, where the symbol of variationδ is used as a subscript, is areminder of this important fact.

ComputingδR from (1.33), one obtains

δR = δR1ψ× +R1δψ× + δR2ψ×ψ× +R2

(

δψ×ψ× +ψ×δψ×

)

. (1.44)

Inserting into (1.43) and rearranging the terms, one gets the relationship between thevirtual rotation and the variation of the rotation vector as

ψδ = Sδψ, (1.45)

where the following property was used for eliminating the powers ofψ× higher thantwo:

(ψ×)3 + |ψ|ψ× = 0. (1.46)

TensorS has the following expression

S =2

k=0

Sk(ψ×)k, (1.47)

Page 10: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

10 THREE-DIMENSIONAL ROTATIONS

where the coefficientsSk are found as

S0 = 1, S1 = R2 =1 − cosϕ

ϕ2, S2 =

1

ϕ2

(

1 − sinϕ

ϕ

)

. (1.48)

These coefficients are well defined for the rotation angle that tends to zero:

limϕ→0

S1 =1

2, lim

ϕ→0S2 =

1

6. (1.49)

Notice further thatlimϕ→0

S = I. (1.50)

Using its definition, the determinant ofS can be readily computed as

det(S) =2

ϕ2(1 − cosϕ). (1.51)

Therefore, tensorS is singular forϕ = 2kπ, k = (1,∞). This means that thedescription of rotations based on the rotation vector has only a finite range of validity:−2π < ϕ < 2π. We shall come back to this problem later on when discussing of theparameterization of rotations.

From equation (1.45) and the expression forS that we have just derived, it can beobserved that, unlessϕ = 0 or δψ is parallel toψ (two-dimensional rotation), thevirtual rotation differs from the virtual variation of the rotation vector, i.e.

ψδ 6= δψ, (1.52)

as previously anticipated.The variation of the rotation vector can be computed as a function of the virtual

rotation by inverting equation (1.45), which gives

δψ = S−1ψδ. (1.53)

Due to the singularity ofS, this relationship is not defined forϕ = 2kπ, k = (1,∞),and it will be ill conditioned in the close neighborhood of these values. Setting

S−1 =

2∑

k=0

Sk(ψ×)k, (1.54)

and inserting the coefficients ofS given in (1.48) into the identitySS−1 = I, onecan readily find the coefficients ofS−1, which write

S0 = 1, S1 = −1

2, S2 =

1

ϕ3

(

ϕ− sinϕ

det(S)

)

. (1.55)

TensorsR andS are closely related. The following expressions ofR in terms ofS andS−T can be easily verified using the definitions of the two tensors:

R = SS−T = S−TS. (1.56)

Page 11: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

THE ROTATION TENSOR 11

Another property between the two tensors will emerge from the differential approachpresented later on.

The same identical procedure that has been followed so far and that has led to theexpression between virtual rotation and variation of the rotation vector, can now berepeated by replacing variations with derivatives. This will yield the expression of theangular velocity in terms of the time rate of change of the rotation vector. ConsideringR as a function of the scalar parametert ∈ R+, and differentiating the orthogonalitycondition (1.37), yields a skew symmetric tensor

ω× = RRT , (1.57)

whose associated axial vectorωcan be interpreted as the angular velocity. ComputingR from (1.33) and inserting into the previous expression, theangular velocity can bewritten as

ω = Sψ. (1.58)

Here again, notice that the angular velocity can not in general be interpreted as thetime rate of change of the rotation vector, unless the problem is two-dimensional orwe are at the origin, i.e.ϕ = 0. The inverse relationship is then

ψ = S−1ω, (1.59)

which however will be undefined or ill conditioned in the neighborhood of the singularpoints ofS.

1.3.2 Differential Approach to the Derivation of the Rotation Tensor

In the previous section, the rotation tensor was derived based solely on geometricconsiderations. Here it will be derived using a differential approach that highlightssome other important characteristics of this tensor.

To begin with, it is necessary to establish the functional form of the relation betweena generic vectora and its rotated vectorb, equation (1.24). In the previous sectionthis relationship was found to beb = Ra, based on the geometry of the problem.Here, we will derive this same result based on a different argument. With referenceto figure 1.3, consider two vectorsa1 anda2 and their suma = a1 + a2. Given thelength, volume and angle preserving characteristics of rotations, equations (1.1-1.3),the triangle formed by vectorsa, a1 anda2 is rigidly rotated into the triangle formedby vectorsb, b1 andb2. This means that it is possible to rotate the suma of vectorsa1 anda2 into b, or rotatea1 into b1 anda2 intob2 and then sum the rotated vectorsto yield b = b1 + b2, obtaining the same resulting vectorb in both cases. Thisestablishes the fact that a rotation is a linear transformation:

Rot(a1 + a2) = Rot(a1) + Rot(a2). (1.60)

Consequently, the operatorRot(·) must have the following form

Rot(·) = R · +r, (1.61)

Page 12: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

12 THREE-DIMENSIONAL ROTATIONS

k

a b

a1

a2

b1

b2

Figure 1.3 The rotation of the sum of two vectors is equivalent to the sumof the rotatedvectors.

whereR is some tensor andr some vector, both yet to be determined. However, arotation is a length-preserving operation, i.e.

|a| = |b| = |Ra+ r| =√

a ·RTRa + a ·RTr + r ·Ra+ r · r, (1.62)

a fact that leads to conclude thatr = 0 andR is orthogonal,RRT = I. Thisestablishes the fact that the rotation of vectora into vectorb can be expressed as

b = Ra, (1.63)

as previously derived by a different argument. However, thefunctional form of tensorR remains yet to be determined.

With the goal of determiningR, consider now a scalar parameterξ ∈ [0, 1], suchthat

bξ = Rξa. (1.64)

For eachξ,Rξ is a rotation, so that|bξ| = |a|. Furthermore, each rotationRξ has thesame rotation axisk. This way we have defined a family of parallel rotations, whoseparameter isξ; for increasing values ofξ, bξ is progressively rotated froma until thetotal rotation froma to b is achieved forξ = 1, i.e. R = Rξ=1. This situation isdepicted in figure 1.4.

TensorRξ represents a rotation only if it is orthogonal. Hence, we must have

RξRTξ = I. (1.65)

Differentiating this orthogonality condition with respect to the parameterξ yields

R′ξ = ψ×Rξ, (1.66)

where the following notation was used(·)′ = d · /dξ to indicate differentiation withrespect toξ, and whereψ is a yet unknown constant (with respect toξ) vector.

Page 13: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

THE ROTATION TENSOR 13

k

ab

bxxj x=1

Figure 1.4 Family of parallel rotations, with parameter0 ≤ ξ ≤ 1 and rotation axisk, suchthatbξ=0 = a, bξ=1 = b.

Equation (1.66) can be regarded as a first order tensor ordinary differential equation,subjected to the initial conditions

Rξ=0 = I, (1.67)

that ensure that the rotation is null at the origin, i.e.bξ=0 = a. Using the fact that thisordinary differential equation has constant coefficients,the solution is readily foundin the form of an exponential

Rξ = eξψ× , (1.68)

where the exponential of a tensor is defined through the following infinite series

eA =

∞∑

k=0

Ak

k!. (1.69)

Evaluating (1.68) forξ = 1 gives

R = eψ× , (1.70)

which shows that the rotation tensor can be regarded as the exponential of the skewsymmetric tensorψ×, a property that was not immediately apparent in the geometricderivation of the tensor pursued in the previous section.

Furthermore, using the definition of the tensor exponentialin terms of infiniteseries of powers ofψ×, it is immediate to verify that

eψ×ψ = ψ. (1.71)

This condition states thatψ is unaffected by the rotation, and hence vectorψ can beinterpreted as the rotation vector, i.e. that vector about whicha rotates to go intob.

Although here we have arrived to the expression of the rotation tensor from adifferent point of view than in the previous section, equations (1.70) and (1.33) mustclearly be identical:

R = eψ× =∞∑

k=0

(ψ×)k

k!=

2∑

k=0

Rk(ψ×)k. (1.72)

Page 14: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

14 THREE-DIMENSIONAL ROTATIONS

This is in fact the case, as it can be readily shown using property (1.46) of skewsymmetric tensors to eliminate powers ofψ× higher than two in the infinite series ofthe exponential.

1.3.2.1 Virtual Variation and Angular Velocity It is possible to derive theexpression for the angular velocity, or the virtual rotation, using the same approachthat we used above, that is integrating the governing differential equations. To thiseffect, take now a virtual variation of (1.66), that gives the following first order tensorordinary differential equation in the unknown tensorδRξ:

δR′ξ = ψ×δRξ + δψ×Rξ. (1.73)

SinceRξ satisfies initial conditions atξ = 0, equation (1.67), the correspondingvirtual variations must vanish:

δRξ=0 = 0. (1.74)

These represent the initial conditions for the tensor ordinary differential equation.Integrating now (1.73) subjected to (1.74), one finds

δRξ = eξψ×

∫ ξ

0

e−ζψ×δψ×Rζdζ,

= Rξ

∫ ξ

0

RTζ δψ×Rζdζ. (1.75)

Taking now a variation of the orthogonality condition (1.65), gives a second form ofthe unknown tensorδRξ, which writes

δRξ = ψδ×Rξ, (1.76)

whereψδ is the virtual rotation. EliminatingδRξ between (1.76) and (1.75), thefollowing expression is found

ψδ× =

∫ ξ

0

(Rζδψ)×dζ, (1.77)

which implies, by taking the axial of both sides of the equation,

ψδ =(

∫ ξ

0

Rζdζ)

δψ. (1.78)

The integral on the right hand side of this expression is readily computed using thedefinition of the exponential of a tensor

∫ ξ

0

Rζdζ =

∫ ξ

0

∞∑

k=0

(ζψ×)k

k!dζ = ξ

∞∑

k=0

(ξψ×)k

(k + 1)!, (1.79)

Finally, evaluating this expression forξ = 1 and inserting the result into (1.78), givesψδ in terms of the virtual variation of the rotation vectorδψ,

ψδ = Sδψ, (1.80)

Page 15: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

RELATIONSHIP BETWEEN DIRECTION COSINE MATRIXAND ROTATION TENSOR 15

where

S =

∞∑

k=0

(ψ×)k

(k + 1)!. (1.81)

Equation (1.79) shows that tensorS can be interpreted as the integral of the rotationtensorR, when this is expressed in terms of the rotation vectorψ, a property that wasnot immediately apparent in the derivations of the previoussection. Clearly, the newexpression of tensorS, equation (1.81), must be identical to the one given previouslyin (1.47),

S =∞∑

k=0

(ψ×)k

(k + 1)!=

2∑

k=0

Sk(ψ×)k, (1.82)

as it is readily shown using here again property (1.46) to eliminate powers ofψ×

higher than two from the infinite series.Replacing variations with time derivatives, the expression for the angular velocity

as a function of the time rate of change of the rotation vectoris found by exactly thesame arguments:

ω = Sψ. (1.83)

1.4 RELATIONSHIP BETWEEN DIRECTION COSINE MATRIXAND ROTATION TENSOR

Up to this point, we have analyzed the transformation of components between twotriads and the rotation of one vector into another. The first problem has lead to thedefinition of the direction cosine matrix, while the second has lead to the expressionof the rotation tensor in terms of the rotation vector. Sinceany triad can alwaysbe seen as obtained by the rotation of another triad, these two seemingly differentconcepts must be related. This is in fact the case, as it can bereadily shown by asimple argument.

Consider the orthonormal triads of unit vectorsI = (i1, i2, i3), and rotate it tobring it into triadJ = (j1, j2, j3). Using (1.31), the rotation of the unit vectors isexpressed as

jk = Rik, k = 1, 2, 3. (1.84)

This relationship can be expressed in terms of components measured inI:

jIk = RIiIk , k = 1, 2, 3. (1.85)

Comparing now (1.85) with (1.9), leads to the conclusion that

[Λ] = RI , (1.86)

and hence the elements of the direction cosine matrix correspond to the componentsof the rotation tensor measured inI.

Page 16: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

16 THREE-DIMENSIONAL ROTATIONS

1.5 CHANGE OF BASIS

In practical applications, it is often necessary to expressthe components of vectors andsecond order tensors in different systems of axes. For example, in flight mechanicsit is common to have the necessity of transferring quantities between inertial andbody axes, or between different sets of body axes. This is easily accomplished usingdirection cosine matrices or, which is exactly the same as just shown, using thecomponents of rotation tensors.

i1 i2

j2

j3

i3

R

a

b

j1

Figure 1.5 Rotation of triadI = (i1, i2, i3) into triadJ = (j1, j2, j3) byR, and of vectora into b by the same rotation.

Consider again triadsI andJ , where the latter triad was obtained from the formerthrough a rotationψ corresponding to a rotation tensorR. Consider further a vectora, and rotate it byR to bring it intob:

b = Ra, (1.87)

as shown in figure 1.5. In components measured inI, this vector rotation is expressedas

bI = RIaI . (1.88)

Clearly, the components ofa in I, aI , and ofb in J , bJ , are identical,

aI = bJ , (1.89)

Page 17: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

CHANGE OF BASIS 17

since bothI anda underwent the same identical rotationR to bring them intoJ andb, respectively. Consequently, inserting (1.89) into (1.88), one finds

bI = RIbJ . (1.90)

This relationship expresses the transformation of the components of vectorb changingbasis fromJ toI. Recalling the orthogonality ofR,R−1 = RT , the transformationof components fromI to J writes

bJ = RITbI . (1.91)

Recalling now the unit eigenvalue property,Rψ = ψ, and settingb = ψ in(1.91), one has

ψJ = RITψI = ψI , (1.92)

which expresses the fact thatψ has identical components in both systems of axesIandJ . This was expected, beingψ unaffected by the rotation. SinceR is a solefunction ofψ,R = R(ψ), as shown by equations (1.33) and (1.70), it is concludedthatR also has identical components in both basesI andJ :

RI = RJ . (1.93)

Example 1.5.1 Consider the spinning aircraft depicted in figure 1.6. FrameFC,B

with origin in C and triadB = (b1, b2, b3) is rigidly attached to the vehicle andmoves with it, while the fixed inertial frame isFO,I , with origin in O and triadI = (i1, i2, i3). The orientation ofB with respect toI is characterized by a rotationvector with components inI given by

ψI = (0, θ, 0)T , θ = 30 deg.

If the components of the angular velocityω of the vehicle inI are

ωI = Ω(0, sinγ, cosγ)T , Ω = 45 deg/sec, γ = 15 deg,

what are the components ofω in B?

Solution. The components of the unit vectorsbk, k = 1, 2, 3, in theI triad are

b1 = (cos θ, 0,− sin θ)T , b2 = (0, 1, 0)T , b3 = (sin θ, 0, cos θ)T .

Using equation (1.7), the direction cosine matrix is readily obtained as

RII→B =

cos θ 0 sin θ0 1 0

− sin θ 0 cos θ

,

Page 18: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

18 THREE-DIMENSIONAL ROTATIONS

i1 i2 ,b2

i3

b1

b3

q

q

w

O,C

Figure 1.6 Spinning aircraft. The fixed inertial frame isFO,I, with origin inO and triadI = (i1, i2, i3). The body attached frame isFC,B , with origin inC and triadB = (b1, b2, b3).

whereRI→B denotes the rotation that bringsI intoB. Using (1.91), the componentsof ω in B are

ωB = RITI→Bω

I =

cos θ 0 − sin θ0 1 0

sin θ 0 cos θ

Ω

0sin γcos γ

,

= Ω

− sin θ cos γsin γ

cos θ cos γ

.

Denoting the components ofω in B asωB = (p, q, r)T , the result is found as

p = −21.7333 deg/sec, q = 11.6569 deg/sec, r = 37.6432 deg/sec.

The rules of transformationof thecomponents of tensors arederivednext. Considera vectorc that is rotated intod through a rotation characterized by the rotation tensorT ,

d = Tc. (1.94)

This vector rotation can be expressed in terms of componentsmeasured inI

dI = T IcI , (1.95)

or inJdJ = TJ cJ . (1.96)

Page 19: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

CHANGE OF BASIS 19

Using (1.91), the components ofc andd in J are

cJ = RITcI , dJ = RITdI . (1.97)

Inserting these expressions into (1.96) yields

RITdI = TJRITcI , (1.98)

and therefore, multiplying from the left byRI ,

dI = RITJRITcI = T IcI , (1.99)

that givesT I = RITJRIT . (1.100)

This relationship expresses the transformationof thecomponents of tensorT changingbasis fromJ toI. The transformation from components measured inI to componentsexpressed inJ is readily obtained by recalling the orthogonality ofR as

TJ = RITT IRI . (1.101)

Example 1.5.2 With reference to the spinning aircraft of example 1.5.1, consider aframeFR,R with origin at pointR and triadR = (r1, r2, r3), that is rigidly attachedto the rudder. TriadR is parallel to triadB in the undeflected rudder position, andthe rudder hinge is parallel tor3.

i1

i2 ,b2

i3

b1

b3

r2r1

r3

O,C

R

Figure 1.7 Rudder attached frameFR,R, with origin inR and triadR = (r1, r2, r3).

Page 20: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

20 THREE-DIMENSIONAL ROTATIONS

After the pitching rotationRI→B of example 1.5.1, the rudder of the aircraftis deflected of an angleδr = −25 deg about its hinger3, as shown in figure 1.7.Noting asT the rotation tensor corresponding to the rudder deflection,what are thecomponents ofT in I?

Solution. The components ofT measured inB are easily obtained as

TB =

cos δr − sin δr 0sin δr cos δr 0

0 0 1

.

Using (1.100), the components ofT in I are computed as

T I = RII→BT

BRITI→B,

=

cos θ 0 sin θ0 1 0

− sin θ 0 cos θ

cos δr − sin δr 0sin δr cos δr 0

0 0 1

cos θ 0 − sin θ0 1 0

sin θ 0 cos θ

,

=

cos2 θ cos δr + sin2 θ − cos θ sin δr sin θ cos θ(1 − cos δr)cos θ sin δr cos δr − sin θ sin δr

sin θ cos θ(1 − cos δr) sin θ sin δr sin2 θ cos δr + cos2 θ

,

=

0.9297 0.3660 0.0406−0.3660 0.9063 0.2113

0.0406 −0.2113 0.9766

.

Alternatively, we could also note that

rI3 = bI3 = RII→Bi

I3 ,

whereiI3 = (0, 0, 1)T . Hence,rI3 is just the third column of matrixRII→B. Then,

the components ofT in I are simply the components of the rotation tensor, equation(1.33), computed from the rotation vectorψ = δrr3, where the components ofr3

are given above.

1.6 COMPOSITION OF ROTATIONS

We have previously anticipated that rotations do not commute and that rotationsvectors can not be added together. We have now the tools for illustrating these points.Consider a rotation denoted by a rotation vectorψA = ϕAkA and rotation tensorRA, that brings triadI = (i1, i2, i3) into triadJ = (j1, j2, j3). This first rotationis followed by a second rotation, characterized by a rotation vectorψB = ϕBkB androtation tensorRB, that bringsJ intoK = (k1,k2,k3).

We havejk = RAik, kk = RBjk, k = 1, 2, 3, (1.102)

and hence, eliminating the intermediate configurationJ ,

kk = RBRAik, k = 1, 2, 3. (1.103)

Page 21: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

COMPOSITION OF ROTATIONS 21

i1 i2

j3

i3

j1

j2

k1

k2

k3

RA

RB

Figure 1.8 Rotation of triadI into triadJ , followed by rotation ofJ intoK.

The total rotation fromI toK is given by

R = RBRA. (1.104)

This product of rotations tensors is calledcomposition of rotations. This formulacan be used recursively to compose as many successive rotations as necessary. Theword “composition” used when combining rotations, stresses the fact that successiverotations can not be obtained by simply adding their corresponding rotations vectors.In fact, if ψ = ϕk is the rotation vector corresponding to the composed rotationR,then

ψ 6= ψA +ψB. (1.105)

This fact can be shown by a self-evident geometric example, as the one of figure 1.9that considers successive rotations with orthogonal axes.

Expressing the composition of rotations (1.104) using the definition of the rotationtensor, equation (1.33), it can be shown that the relationship betweenψ = ϕk,ψA = ϕAkA andψB = ϕBkB is considerably more complicated than an addition,and it is in fact as follows:

cosϕ

2= cos

ϕA

2cos

ϕB

2− sin

ϕA

2sin

ϕB

2kA · kB, (1.106)

sinϕ

2k = sin

ϕA

2cos

ϕB

2kA + cos

ϕA

2sin

ϕB

2kB

+ sinϕA

2sin

ϕB

2kB × kA. (1.107)

Using the first equation one can compute the rotation angleϕ, while the secondequation can be used to determine the rotation axisk.

Page 22: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

22 THREE-DIMENSIONAL ROTATIONS

pkA

pkB pkA+pkB

Figure 1.9 At left, rotationπkA, followed by rotationπkB , kB orthogonal tokA. At right,rotation aboutπ(kA + kB).

Using again the definition of the rotation tensor, it is readily verified that

RBRA 6= RARB , (1.108)

and hencerotations do not commute. Furthermore, we note that the order of thematrix products that appear in the composition of successive rotations depends on thebases in which the components of the various rotations tensors are measured. In fact,the transformation from theI to theK triad, equation (1.103), can be expressed interms of components in theI, J orK bases:

kIk = RIBR

IAi

Ik , (1.109)

kJk = RJBR

JA i

Jk , (1.110)

kKk = RKBR

KAi

Kk . (1.111)

However,RB can, for example, be measured in theJ triad rather than theI triad.This is achieved using the transformation of tensor components, equation (1.100),which gives

RIB = RI

ARJBR

ITA . (1.112)

Inserting this expression forRIB into (1.109), gives now

kIk = RIBR

IAi

Ik = RI

ARJBR

ITA RI

AiIk = RI

ARJB i

Ik . (1.113)

Hence, we have found that

RI = RIBR

IA = RI

ARJB , (1.114)

which shows that the order of multiplication of the tensor components indeed isaffected by the bases used for measuring them.

Page 23: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

COMPOSITION OF ROTATIONS 23

i1

i2 ,b2

i3

b1

b3

i1

i3

i2

r2

r3

Figure 1.10 At left, rotation of triadR by T . At right, subsequent rotation byRI→B.

Example 1.6.1 With reference to example 1.5.2, the components of the ruddertriadR in I are obtained as

[Λ]rudder =[

rI1∣

∣rI2∣

∣rI3

]

= T IRII→B.

This corresponds to having first rotated the vehicle usingRI→B, and then havingdeflected the rudder using the rotation of componentsT I .

Now, try inverting the order of the composition of rotations, computingRII→BT

I .After rotationT , the aircraft is as in figure 1.10, at left, where we have left the lowerhinge point of the rudder fixed. After rotationRI→B, the aircraft is as in figure 1.10,at right. Clearly, rotations do not commute!

Example 1.6.2 Consider again the spinning aircraft of example 1.5.1, and applynow a rotation ofB intoB0, obtained through a rotation vector

ψB = (φ, 0, 0)T , φ = 25 deg.

What are the components ofω in B0?

Solution. The rotation fromB toB0 can be expressed in components measured inB as

RBB→B0

=

1 0 00 cosφ − sinφ0 sinφ cosφ

.

Page 24: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

24 THREE-DIMENSIONAL ROTATIONS

Hence, using the change of basis rule, equation (1.91), and the composition of rota-tions rule, equation (1.113), we find

ωB0 = RBTB→B0

RITI→Bω

I ,

=

1 0 00 cosφ sinφ0 − sinφ cosφ

cos θ 0 − sin θ0 1 0

sin θ 0 cos θ

Ω

0sinγcos γ

,

= Ω

− sin θ cos γcosφ sin γ + cos θ sinφ cos γ

− sinφ sin γ + cos θ cosφ cos γ

,

=

−21.733326.464429.1942

deg/sec.

1.7 THE INVERSE PROBLEM

The term inverse problem indicates the process of obtainingthe rotation vectorψbased on the knowledge of the rotation tensorR. We use the following notation toindicate this operation:

ψ = R−1(R). (1.115)

Recalling that the rotation tensor, equation (1.32), writes

R = I + sinϕk× + (1 − cosϕ)k×k×, (1.116)

and that the rotation vector isψ = ϕk, the procedure for computingψ fromR is asfollows:

1. Noting thattrace(k×) = 0, and thattrace(k×k×) = −2 whenk is a unitvector, we have

trace(R) = 1 + 2 cosϕ. (1.117)

Hence, the cosine of the rotation angle can be computed as

cosϕ =1

2(trace(R) − 1). (1.118)

2. Next, it is necessary to distinguish between the casecosϕ > 0 and the casecosϕ ≤ 0:

(a) If cosϕ > 0, we first compute

1

2(R −RT ) = sinϕk× = z×. (1.119)

Page 25: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

THE INVERSE PROBLEM 25

The sine of the rotation angle is then readily obtained as thelength ofvectorz:

sinϕ =√z · z. (1.120)

The angle of rotation follows immediately as

ϕ = atan2(sinϕ, cosϕ), (1.121)

whereatan2(·, ·) is the four-quadrant arc-tangent operation. Finally, therotation vector is obtained as

ψ =ϕ

sinϕz. (1.122)

If ϕ is small, sayϕ < 0.01, the sine of the angle should be replacedwith its Taylor series expansion at the origin, which yieldsthe followingalternative expression forψ:

ψ =1

1 − 1

6ϕ2

(

1 − 1

20ϕ2

)z. (1.123)

(b) If on the other handcosϕ ≤ 0, we begin by computing

1

1 − cosϕ

(1

2

(

R+RT)

− cosϕ I)

=

I + k×k× = kkT . (1.124)

Next, vectork is extracted fromkkT noticing that

kkT =[

k1k∣

∣k2k∣

∣k3k]

. (1.125)

This is best accomplished by selecting the largest component of k, i.e.

k2imax

= max(

diag(

kkT))

, imax = 1, 2 or 3, (1.126)

k =1

kimax

colimax

(

kkT)

, (1.127)

wherecoli(·) extracts theith column from a matrix. Noticing then thattrace(k×k×k×) = 0, we compute the sine of the rotation angle as

− 1

2trace(k×R) =

− 1

2trace

(

k× + sinϕk×k× + (1 − cosϕ)k×k×k×)

=

sinϕ, (1.128)

Page 26: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

26 THREE-DIMENSIONAL ROTATIONS

and obtain the rotation angle fromsinϕ andcosϕ as in the previous case:

ϕ = atan2(sinϕ, cosϕ). (1.129)

Finally, the rotation vector is computed as

ψ = ϕk. (1.130)

Example 1.7.1 With reference to example 1.6.2, compute the rotation vector ψ0

that corresponds to the rotationR0 from I to B0.

Solution. The components ofR0 in I are

RI0 = RI

I→BRBB→B0

=

cos θ sin θ sinφ sin θ cosφ0 cosφ − sinφ

− sin θ cos θ sinφ cos θ cosφ

.

Inserting the valuesθ = 30 deg,φ = 25 deg, and applying the procedure justdescribed, we obtain

ψI0 = ψB

0 = (0.4263, 0.5152,−0.1142)T ,

andϕ0 = |ψ0| = 38.8666 deg. Note that the components ofψ0 do not correspondto the angles of the two successive rotationsI → B andB → B0!

1.8 PARAMETERIZATION OF ROTATIONS

In the previous sections, the rotation tensor was derived interms of the rotationvectorψ. The three components of this vector were used to parameterize the rotation,according to Euler’s Rotation Theorem. However, rotationscan be expressed in termsof parameters other than the rotation vector. The choice of aparameterization isusually made by considering the characteristics of a specific application, for examplefor avoiding singularities or for reducing the computational cost of certain operations.More often than not, the choice is also based on personal taste. Two main families ofparameterizations exist: vectorial and non-vectorial. Inthis section, we shall illustratethe main features of both families.

However, before studying the possible forms of parameterizations, it should bementioned that one could also avoid the use of parameterizations altogether, and workdirectly with the components of the direction cosine matrix. Using this approach, thecomponents of[Λ] play the role of nine parameters that obey the ordinary differentialmatrix equation (1.21), here reported for convenience,

˙[Λ] = ωI×[Λ]. (1.131)

These nine parameters are subjected to the orthogonality constraints

[Λ][Λ]T = [I]. (1.132)

Page 27: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

PARAMETERIZATION OF ROTATIONS 27

Notice that, due to the symmetry of (1.132), only six of theseconstraint conditionsare independent. Taking the upper triangle of this matrix equation, the independentconstraints write

3∑

n=1

ΛknΛln = δkl, k = (1, 3), l = (k, 3), (1.133)

leaving a total of three degrees of freedom, in accordance with Euler’s Theorem ofRotations.

The increase in the number of unknowns and equations, together with the need ofintroducing Lagrange multipliers to enforce the satisfaction of the constraints (1.133),makes this approach not commonly used in practical applications. On the other hand,a possible advantage of this method is that it is free from singularities for arbitrarilylarge rotations, while methods based on a minimal set of parameters have only a finiterange of validity, as we have already seen for the rotation vector and as it will beillustrated in the following for other parameterizations.

Let us start then by considering the case of vectorial parameterizations.

1.8.1 Vectorial Parameterizations

Vectorial descriptions of rotations use as parameters the components of vectors thatare parallel to the rotation vector. The general form of suchvectors is

p = fk, (1.134)

wherep is termed thegeneralized rotation vector [2, 3], f = f(ϕ) is some yetunspecified function of the angle of rotationϕ, termed generating function, andk isthe axis of rotation. A part for an obvious requirement on regularity, the generatingfunctionf must obey certain conditions. First, we must have

f(0) = 0, (1.135)

which means that the magnitude of the generalized rotation vector must be null for anull rotation angleϕ. This ensures that ifb = Ra andϕ = 0, thenb = a. Takingnow the time derivative ofp in the origin

p(0) = f,ϕ(0)ϕk + f(0)k, (1.136)

we recognize that the generating functionf must be such that

f,ϕ(0) 6= 0, (1.137)

in order forp(0) to be different from zero whenϕ is different from zero. The followingnotation was used to indicate derivatives with respect toϕ, (·),ϕ = d · /dϕ. Somecommon parameterizations are characterized by havingf,ϕ(0) = 1 which, althoughnot necessary, ensures that the behavior of the vectorial parameters matches the oneof the rotation vector in the limiting case of vanishing rotation, i.e.

limϕ→0

p = limϕ→0

ψ. (1.138)

Page 28: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

28 THREE-DIMENSIONAL ROTATIONS

In fact, expanding in Taylor series at the origin, we have

f = f(0) + f,ϕ(0)ϕ+1

2!f,ϕϕ(0)ϕ2 + . . . , (1.139)

whose leading term isϕ if f,ϕ(0) = 1.Recalling the expression for the rotation vector,ψ = ϕk, the relationship between

p andψ is readily found as

p =f

ϕψ. (1.140)

Having established the expressions of the rotation and angular velocity tensors interms ofψ, it is now a simple matter to derive the corresponding expressions in termsof p using (1.140). Starting with the rotation tensor, equation(1.33), we get

R =

2∑

k=0

Rpk(p×)k, (1.141)

where

Rp0

= 1, Rp1

=sinϕ

f, Rp

2=

1 − cosϕ

f2. (1.142)

It is readily verified that, thanks to condition (1.137), thelimits of Rp1 andRp

2 forϕ→ 0 are well defined.

To express the angular velocityω in terms of the generalized rotation vectorp andits time ratesp, one can proceed as follows. First, note that

ψ · kk = ϕk = (I + k×k×)ψ, (1.143)

and hence

ψ =ϕ

ϕψ − 1

ϕ2ψ×ψ×ψ. (1.144)

Inserting into the expression of the angular velocity, equation (1.47), we get

ω =2

k=0

Sk(ψ×)kψ =ϕ

ϕψ + S1ψ×ψ +

(

S2 −1

ϕ2

)

ψ×ψ×ψ. (1.145)

Next, we seek coefficientsSpk , k = 0, 1, 2, such that

ω = Spp =

2∑

k=0

Spk(p×)kp. (1.146)

To determine these coefficients, take the time derivative ofp

p =fϕ− fϕ

ϕ2ψ +

f

ϕψ, (1.147)

Page 29: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

PARAMETERIZATION OF ROTATIONS 29

replace into (1.146) and, using (1.144), write

ω = Sp0

f

ϕψ + Sp

1

f2

ϕψ×ψ +

f

ϕ3

(

Sp2f

2 − Sp0

)

ψ×ψ×ψ. (1.148)

Matching now the various terms in (1.145) and (1.148), we get

Sp0

=1

f,ϕ, Sp

1= Rp

2=

1 − cosϕ

f2, Sp

2=

1

f2

( 1

f,ϕ− sinϕ

f

)

. (1.149)

Here again it is readily verified that the limits ofSpk , k = 0, 1, 2, are all well defined

for ϕ→ 0, based on the sole conditionf,ϕ(0) 6= 0. The determinant ofSp is

det(Sp) =2(1 − cosϕ)

f2f,ϕ. (1.150)

The inverse ofSp is easily computed as

Sp−1

=

2∑

k=0

Spk(p×)k, (1.151)

whose coefficients are

Sp0 = f,ϕ, Sp

1 = −1

2, Sp

2 =1

f3f,ϕ

(

1

ff2,ϕ

− sinϕ

det(Sp)

)

. (1.152)

The range of validity in terms of magnitude of the rotation angleϕ for each specificchoice of the generating functionf can be determined by verifying the followingconditions:

• f 6= ∞ in equation (1.134);

• Rpk 6= ∞, k = 1, 2, in the coefficient expressions (1.142);

• Spk 6= ∞, k = 0, 1, 2, in the coefficient expressions (1.149);

• Spk 6= 0, k = 0, 1, in equation (1.150).

Table 1.1 Commonly used vectorial parameterizations of three-dimensional rotations.

Name f Range

Finite rotation vector, or exponential map ornatural parameters

ϕ −2π < ϕ < 2π

Linear parameters sinϕ −π < ϕ < πEuler-Rodrigues, or reduced Euler parameters 2 sin(ϕ/2) −π < ϕ < πCayley-Gibbs-Rodrigues parameters 2 tan(ϕ/2) −π < ϕ < πWiener-Milenkovich, or conformal rotation 4 tan(ϕ/4) −2π < ϕ < 2π

Page 30: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

30 THREE-DIMENSIONAL ROTATIONS

The choices for the generating functionf that are well established in the literatureare given in table 1.1. Other choices are possible, such as for example

f = k sinϕ

k, k = (1,∞), (1.153)

orf = k tan

ϕ

k, k = (1,∞). (1.154)

In any case, the maximum range that is achievable by a generalized rotation vector ofthe form (1.134) is always limited between−2π and2π at the most. This means thatno vectorial parameterization, or more in general, no parameterization based on onlythree parameters, can be global, i.e. well defined for any value of the rotation angle.

Example 1.8.1 With reference to the spinning aircraft of example 1.6.2, considerthat the vehicle angular velocityω has a processing motions abouti3 with angularvelocityµ = −270 deg/sec, and that att = 0,ω has the value given in example 1.5.1,i.e.

ωI(0) = ωI0 = Ω(0, sinγ, cos γ)T , Ω = 45 deg/sec, γ = 15 deg.

Compute the orientation of the aircraft in terms of the components of its rotationtensor in the fixedI basis fort ∈ [0, T ], T = 20 sec, using the Euler-Rodriguesrotation parameters. At timet = 0, the orientation of the aircraft is given by triadB0

as computed in example 1.6.2.

Solution. The components of the Euler-Rodrigues rotation vector inI can becomputed integrating the ordinary differential equations

pI = SpI−1

ωI ,

for t ∈ [0, T ]. The components of the vehicle angular velocity are computed as

ωI = RIt ω

I0 ,

whereRt is the rotation tensor that corresponds to the precession rotation vectorψt

evaluated at the generic time instantt,

ψt = µti3.

The coefficients ofSp−1

for the Euler-Rodrigues parameterization are foundbysettingf = 2 sin(ϕ/2), f,ϕ = cos(ϕ/2) in (1.151), which gives

Sp0

= cosϕ

2=

1 − 1

4p · p, Sp

1= −1

2, Sp

2= 0.

Notice the particularly simple expression ofSp−1

in this case, due to the absence ofthep×p× term.

Page 31: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

PARAMETERIZATION OF ROTATIONS 31

Due to the finite range of vectorial parameterizations, which is in particular−π <ϕ < π in the case of the Euler-Rodrigues parameters,we use an incremental approach.To illustrate the procedure, consider a partition of the time range

0 ≡ t0 < t1 < t2 < . . . < tn−1 < tn ≡ T,

composed ofn ≥ 1 intervalsT i = [ti, ti+1] of sizehi = ti+1−ti, i = (0, n−1). Oneach interval, the ordinary differential problem is solvedwith null initial conditionsusing a numerical method. In this example we have used the variable order explicitRunge-Kutta scheme implemented in theodeset Matlab [1] routines. The solutionat the end of the genericith interval, timeti+1, is labelledpIincr,i+1

. This solutionrepresents the incremental rotation from timeti to time ti+1. By selecting the sizehi of the increments, the incremental rotation can be made suitably small and hencewithin the parameterization range. In particular one couldchoosehi to coincidewith the time step size used by the time integration scheme, which will be smallfor accuracy and/or stability requirements. For this example, we have simply sethi = h = 1 sec, which ensures incremental rotations of about150 deg, and hencewithin the validity range.

Next, the total rotation fromt0 is updated using the composition of rotations,equation (1.104), which in this case writes in terms of components in the fixed basis

RIi+1 = RI

incr,i+1RIi ,

whereRIincr,i+1

are the components of the incremental rotation tensor that correspondsto pIincr,i+1

. Using the Euler-Rodrigues parameters, this incremental rotation tensoris computed in terms of the coefficientsRp

k of equation (1.141), which are

Rp0 = 1, Rp

1 = cosϕ

2, Rp

2 =1

2.

The initial rotation tensor at timet = 0,R0, is set equal to the value of example 1.7.1,which corresponds to the rotation from triadI to triadB0.

From each rotation tensorRi, the corresponding rotation vectorψi can be com-puted using the inverse problem:

ψi = R−1(Ri).

The resulting componentsψIi of the total rotation vector measured fromI are plotted

versus time in figure 1.11. Notice the switching of the rotation vector componentsdue to the solution of the inverse problem, every time the total rotation magnitudegoes past the value ofπ.

Page 32: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

32 THREE-DIMENSIONAL ROTATIONS

0 2 4 6 8 10 12 14 16 18 20−3

−2

−1

0

1

2

3

Time [sec]

ψI [

rad

]

Figure 1.11 Time history plot of the components of the total rotation vector fromI, mea-sured inI, ψI .

1.8.2 Non-Vectorial Parameterizations

1.8.2.1 Euler Parameters or Quaternions Euler parameters or quaternionsare redundant parameters defined as

q0 = cosϕ

2, q = sin

ϕ

2k, (1.155)

whereq0 is the scalar component of the quaternion,whileq is the vectorial component.The vectorial componentq can be regarded as a special case of the generalizedvectorial parameterization discussed in the previous section, with generating functionf = sinϕ/2. The scalar and vector components are related by a constraint:

q20 + q · q = 1. (1.156)

A quaternion that satisfies this constraint is called aunit quaternion and can be usedfor the parameterization of rotations.

The complication of working with four parameters and a constraint equation, in-stead of three free parameters as with the vectorial parameterizationsdiscussed above,can be offset in certain applications by the fact that this parameterization is singularityfree, in the sense that it is well defined for−∞ < ϕ <∞.

It is customary to use a four-dimensionalnotation when working with quaternions,since this allows for a compact expression of most relations. In particular, the follow-ing four-dimensional array is defined by stacking the scalarand vector componentsof the quaternion:

q = (q0, qT )T . (1.157)

Page 33: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

PARAMETERIZATION OF ROTATIONS 33

The unit quaternion condition becomes in this case

qT q = 1. (1.158)

The developments of the generalized vectorial parameterization discussed in theprevious section can be readily used for the case of the Eulerparameters. The coef-ficientsRp

1, Rp2 of the rotation tensor, equation (1.141), are found by simply setting

f = sinϕ/2 into (1.142), obtaining

Rp1 = 2q0, Rp

2 = 2, (1.159)

so that the rotation tensor has the following simple form

R = I + 2qoq× + 2q×q×. (1.160)

The four-dimensional rotation operator associated with the rotation tensor is definedas

R =

[

1 0T

0 R

]

. (1.161)

Notice that here againRq = q, (1.162)

which shows thatq is the (normalized to one) eigenvalue ofR that corresponds to theunitary eigenvalue, in close analogy with the generalized vectorial parameterizations.

Similarly, the coefficientsSpk , k = 0, 1, 2, of the angular velocity tensor, equation

(1.146), are

Sp0

=2

q0, Sp

1= 2, Sp

2=

2

q0, (1.163)

so that the angular velocity can be written as

ω =( 2

q0+ 2q× +

2

q0q×q×

)

q. (1.164)

This expression can be given a more convenient form. To this purpose, note that

q · kk = (I + k×k×)q, (1.165)

and, differentiating the unit quaternion constraint, equation (1.156), that

q · q = −q0q0. (1.166)

Inserting into (1.165), we get

q×q×q = −q0q0q − (1 − q0)q. (1.167)

Substituting into (1.164), we find

ω = 2(

q0q − qq0 + q×q)

. (1.168)

Page 34: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

34 THREE-DIMENSIONAL ROTATIONS

Next, a scalar angular velocity is defined as the time derivative of the unit quaternionconstraint:

ω0 = 2(

q0q0 + q · q)

. (1.169)

This quantity is clearly zero for a unit quaternion. Using even in this case a four-dimensional notation, the scalar and vectorial parts of theangular velocity are stackedin a single array:

ω = (ω0,ωT )T . (1.170)

This way equations (1.168) and (1.169) can be written in compact form as

ω = S ˙q, (1.171)

which closely resembles the analogous expression of the angular velocity found forthe vectorial parameterizations, and where matrixS is defined as

S = 2

[

q0 qT

−q q0I + q×

]

. (1.172)

Note that for a unit quaternion, we have

det(S) = 16, (1.173)

so that the inverse transformation˙q = S−1ω is singularity free. Furthermore, wehave

SST = STS = 4I, (1.174)

and therefore the inverse ofS is readily computed as

S−1 =1

2

[

q0 −qT

q q0I − q×

]

. (1.175)

Noting thatf , R, S andS−1 are well defined for all values ofϕ, we conclude thatthe Euler parameterization is singularity free for−∞ < ϕ < ∞. For this reason, itis termed aglobal parameterization.

The inverse problem for quaternions amounts to computing the quaternionq giventhe rotation vectorR:

q = R−1q (R). (1.176)

The problem can be solved by noticing that

q20 =1

4

(

trace(R) + 1)

, (1.177)

and

q0q =1

2axial(R). (1.178)

Furthermore, we also note that

qqT =1

4

(

(

1 − trace(R))

I +R+RT)

. (1.179)

Page 35: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

PARAMETERIZATION OF ROTATIONS 35

Hence, in order to deriveq fromR, one can first compute the matrix

1

4

[

trace(R) + 1 2 axial(R)T

2 axial(R) (1 − traceR)I +R +RT

]

= qqT , (1.180)

and then extractq from qqT as

q2imax= max(diag(qqT )), imax = 1, 2, 3 or 4, (1.181)

q =1

qimax

colimax

(

qqT)

. (1.182)

1.8.2.2 Euler Angles Finite rotations can be described through a sequence ofthree planar rotations about three different axes. This is yet another consequence ofEuler’s Theorem of Rotations. In this case, the angles of thethree planar rotationswill play the role of the rotation parameters.

To describe the Euler angles, let us start by defining aplanar rotation. Let us con-sider a rotationψ = ϕk, that brings triadI = (i1, i2, i3) into triadJ = (j1, j2, j3),

jk = Rik, k = 1, 2, 3, (1.183)

or, in components expressed inI

jIk = RIiIk , k = 1, 2, 3. (1.184)

If k = il, l = 1, 2 or 3, which means that the rotation vector is parallel to one of theunit base vectors ofI, thanR is a planar rotation with respect toI. The componentsin I of the three possible planar rotations are, as shown in figure1.12,

RI1 =

1 0 00 cosϕ1 − sinϕ1

0 sinϕ1 cosϕ1

, (1.185)

RI2 =

cosϕ2 0 sinϕ2

0 1 0− sinϕ2 0 cosϕ2

, (1.186)

and

RI3 =

cosϕ3 − sinϕ3 0sinϕ3 cosϕ3 0

0 0 1

. (1.187)

Let us now consider three successive planar rotations:

A. RotationRA is characterized by a rotation vectorψA = ϕAiA, A = 1, 2 or3, and brings triadI = (i1, i2, i3) into triadJ = (j1, j2, j3), jk = RAik,k = 1, 2, 3.

B. RotationRB is characterized by a rotation vectorψB = ϕBjB, B = 1, 2or 3, B 6= A, and brings triadJ into triadK = (k1,k2,k3), kk = RBjk,k = 1, 2, 3.

Page 36: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

36 THREE-DIMENSIONAL ROTATIONS

i1i2

i3 i3

i1

i2j3

j1

j2

j3

j1

j2

j1

j2

j3

Figure 1.12 The three possible planar rotations abouti1 (left), i2 (center), andi3 (right).

C. Finally, rotationRC is characterized by a rotation vectorψC = ϕCkC , C =1, 2 or 3, C 6= B, and brings triadK into triadL = (l1, l2, l3), lk = RCkk,k = 1, 2, 3.

In order to avoid ambiguities, the range of the various rotations is customarily limitedbetween−π andπ, and hence−π ≤ ϕA, ϕB , ϕC ≤ π, unless this condition leads tocrossing a singular point in the parameterization. We shallcome back to this problemshortly.

The total rotation fromI to L can be expressed by eliminating the intermediateconfigurations as

lk = RABCik, k = 1, 2, 3, (1.188)

withRABC = RCRBRA. (1.189)

Expressed inI, the components of the total rotation tensor are

RIABC = RI

CRIBR

IA. (1.190)

Recalling the transformation of components of a tensor due to a change of basis,equation (1.100), we have

RIB = RI

ARJBR

ITA , RJ

C = RJBR

KCR

JTB , RI

C = RIAR

JCR

ITA . (1.191)

Inserting in (1.190), we obtain the following composed rotation

RIABC = RI

ARJBR

KC . (1.192)

All three matrices on the right hand side of this expression represent the componentsof a planar rotation. The anglesϕA, ϕB andϕC are called theEuler angles, and thesequenceABC is called theEuler sequence. Since the possible rotations are

A,B,C = 1, 2 or 3, A 6= B, B 6= C, (1.193)

there are twelve possible Euler sequences and twelve associated triples of Euler angles.

Page 37: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

PARAMETERIZATION OF ROTATIONS 37

In order to compute the components of the angular velocity vector in terms of theEuler angles, we differentiate (1.192) with respect to time, to yield

RIABC = RI

ARJBR

KC +RI

ARJBR

KC +RI

ARJBR

KC . (1.194)

Next, using the orthogonality of the rotation tensors, we introduce the angular veloc-ities of the planar rotations:

RIA = ωI

J /I ×RIA, RJ

B = ωJ

K/J ×RJB , RK

C = ωKL/K ×RK

C , (1.195)

where we recall that the notationωP/Q indicates the angular velocity of triadP withrespect to triadQ. Inserting into (1.194) and multiplying from the right byRIT

ABC

we have

RIABCR

ITABC =

(

ωIJ /I

)

×+

(

RIAω

J

K/J

)

×+

(

RIAR

JBω

KL/K

)

×. (1.196)

Introducing the angular velocityωL/I of triadL with respect to triadI,

RABCRTABC =

(

ωL/I

)

×, (1.197)

we can compute its expression as a function of the angular velocities of the singleplanar rotations:

ωIL/I = ωI

J /I +RIAω

J

K/J +RIAR

JBω

KL/K. (1.198)

Notice thatωL/I is an intrinsic property of the motion of triadL with respect totriadI, and hence does not depend on the Euler sequence, and this is reflected in thenotation.

In the mechanics of flight, the most commonly used sequence isABC = 321.The corresponding angles are indicated asϕ3 = ψ, termedheading,ϕ2 = θ, termedpitch, andϕ1 = φ, termedbank. The321 Euler sequence is illustrated in figure 1.13.

Using (1.192), the components of the rotation tensor for this sequence are readilycomputed as

RI321 = RI

3 (ψ)RJ2 (θ)RK

1 (φ),

=

cψ c θ cψ s θ sφ− sψ cφ cψ s θ cφ+ sψ sφsψ c θ sψ s θ sφ+ cψ cφ sψ s θ cφ− cψ sφ− s θ c θ sφ c θ cφ

, (1.199)

where heres(·) = sin(·) andc(·) = cos(·).The components of the angular velocity in theI triad for the321 sequence are,

using (1.198),

ωIL/I = ωI

J/I +RI3 (ψ)ωJ

K/J +RI3 (ψ)RJ

2 (θ)ωKL/K, (1.200)

where

ωIJ /I = (0, 0, ψ)T , ωJ

K/J = (0, θ, 0)T , ωKL/K = (φ, 0, 0)T . (1.201)

Page 38: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

38 THREE-DIMENSIONAL ROTATIONS

i1 i2

j3

j1

j2

k1

k2

k3

i3

k1

k2

k3

l1

l2

l3

i1 i2

i3

j3

j1

j2

f

y

q

R ( )3 y

R ( )2 q

R ( )1 f

Figure 1.13 Euler sequence 321: triadI is rotated byR3(ψ) intoJ ; J is rotated byR2(θ)intoK; finally, K is rotated byR1(φ) intoL.

This gives

ωIL/I = SI

321e321, (1.202)

wheree321 = (φ, θ, ψ)T is a column vector made with the three Euler angles, and

SI321 = I +RI

3 (ψ)(I +RJ2 (θ)),

=

cosψ cos θ − sinψ 0sinψ cos θ cosψ 0− sin θ 0 1

. (1.203)

The components of the angular velocity in theL triad are defined as

ωLL/I = (p, q, r)T , (1.204)

Page 39: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

PARAMETERIZATION OF ROTATIONS 39

and are readily obtained as

ωLL/I = RIT

321ωIL/I = SL

321e321, (1.205)

where

SL321 = RIT

321SI321,

=

1 0 − sin θ0 cosφ cos θ sinφ0 − sinφ cos θ cosφ

. (1.206)

The inverse relationship gives the time rates of the321 Euler sequence angles as afunction of the angular velocity components in the rotated triadL, a problem oftenencountered in the applications, and writes

e321 = SL−1

321 ωLL/I , (1.207)

where

SL−1

321 =

1 tan θ sinφ tan θ cosφ0 cosφ − sinφ0 sec θ sinφ sec θ cosφ

. (1.208)

Notice thatdet(SI

321) = det(SL321) = cos θ. (1.209)

Hence, the Euler sequence321 is singular for

θ =k

2π, k = (1,∞). (1.210)

To avoid crossing a singular point in the parameterization,the pitch angleθ of the321 sequence is customarily limited within the range−π/2 ≤ θ ≤ π/2, whilethe other two angles have the usual ranges−π ≤ φ ≤ π, and−π ≤ ψ ≤ π.Since the pitch angle experienced in the flight envelope of most typical airplanes isusually limited, the sequence 321 is often the most convenient for flight mechanicsapplications. However, it should be stressed that each Euler sequence has its ownrange of validity, and this justifies the fact that differentEuler sequences are used fordifferent applications.

The inverse problem for the Euler sequence 321,

e321 = R−1e (RI

321), (1.211)

is easily solved using equation (1.199). Setting for convenienceRI321 = [Rkl],

k, l = 1, 2, 3, one first computes

θ = asinR31. (1.212)

Then the bank angle is obtained as

φ = asinR32

cos θ, (1.213)

Page 40: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

40 THREE-DIMENSIONAL ROTATIONS

and finally the heading is computed as

ψ = asinR21

cos θ. (1.214)

Example 1.8.2 Solve example 1.8.1 using the Euler angles corresponding tothe321 sequence.

Solution. The problem is solved by integrating the ordinary differential equations

e321 = SI−1

321 ωI ,

starting from the initial conditions att = 0 as given in examples 1.5.1 and 1.6.2:

e3210= (25, 30, 0)T deg.

The time history of the angles are given in figure 1.14. The heading angleψ wasdivided by a factor of 10 in the plot, since it is substantially larger than the other twodue to the predominant spinning motion of the aircraft. The values of the Euler anglesat t = T are

e321T= (29.7012, 30.8612, 876.0238)T deg.

The corresponding rotation tensor components inI are computed using (1.199) as

RII→T =

−0.7843 −0.5852 −0.20580.3488 −0.6904 0.6338

−0.5130 0.4253 0.7456

.

0 2 4 6 8 10 12 14 16 18 200

10

20

30

40

50

60

70

80

90

Time [sec]

Eu

ler

ang

les

321:

φ,θ

,ψ/1

0 [d

eg]

Figure 1.14 Time history plot of the Euler angles corresponding to the sequence321.

Page 41: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

PROBLEMS 41

Alternatively, one could start from null initial conditions at timet = 0,

e3210= (0, 0, 0)T deg,

finding the following values of the Euler angles at timet = T :

e321T= (4.0349, 0.9440, 873.6749)T deg.

Using these values into (1.199) gives the components of the rotation tensor that bringsB0 into the body attached triad in the final configuration,RI

0→T . Combining thisrotation with the one that bringsI intoB0, matrixRI

0 of example 1.6.2, we have

RII→T = RI

0→TRI0 ,

which clearly yields the same values as given above startingfrom non-null initialconditions.

1.9 PROBLEMS

1.1 Consider the composition of rotations expressedbyequations (1.106) and (1.107).Which one of the classical vectorial parameterizations of table 1.1 will lead to thesimplest formula for the composed rotation?

1.2 Find a vectorial parameterization such that tensorS has no term inp×p×, i.e.Sp

2 = 0 in (1.149).

1.3 Consider a launcher whose body attached triad has the unit vectorb1 along themain axis of the vehicle. Since the launcher will operate forvalues of the pitch angleθ in close proximity of the valueπ/2, the Euler sequence 321 is not a convenientchoice in this case. Derive a more convenient Euler sequencefor this problem.

1.4 Compute the singular points for the Euler sequence 323.

1.5 Solve example 1.8.1 using the finite rotation vector. From your results, computethe corresponding Euler angles 321.

1.6 Prove the following property between tensorsR andS expressed in terms ofthe rotation vector (equations (1.33), (1.47), (1.54)):R = SS−T = S−TS.

1.7 With reference to problem 1.6, is there an analogous property between tensorsR andSp expressed in terms of the generalized vectorial parametersp?

REFERENCES

1. MATLAB, Product Documentation, The MathWorks, Inc., 3 Apple Hill Drive,Natick, MA.

Page 42: Three-Dimensional Rotations · Three-Dimensional Rotations A rotation is a transformation that preserves the length, the volume (with sign), and the angle between pairs of vectors

42 THREE-DIMENSIONAL ROTATIONS

2. O.A. Bauchau, C.L. Bottasso, “On the Design of Energy Preserving and DecayingSchemes for Flexible, Nonlinear Multibody Systems,”Computer Methods inApplied Mechanics and Engineering, 169, 61–79 (1999).

3. O.A. Bauchau, L. Trainelli, “The Vectorial Parameterization of Rotation,”Non-linear Dynamics, 32, 71–92 (2003).

4. H. Goldstein,Classical Mechanics, 2nd ed., Addison-Wesley, Reading, MA,1980.

5. J. Stuelpnagel, “On the Parameterization of the Three-Dimensional RotationGroup,”SIAM Review, 6, 422–430 (1964).