Attitude Dynamics Fundamentals
Hanspeter Schaub
Simulated Reprint from Encyclopedia of Aerospace Engineering Chichester, UK, 2010, pp. 3181–3198 Article Number: eae295
Section 5.5.1 Attitude Dynamics Fundamentals
Hanspeter Schaub Aerospace Engineering Science Department, 431 UCB, University of Colorado, Boulder, CO 80309-0431, USA Phone: (303) 492-2767 Fax: (303) 492-2825 Email: [email protected]
File Name: attitude-fundamental.tex Software: LATEX Edited on: February 9, 2010
The rotational motion of a rigid body or system of rigid bod- ies is a fundamental field for the study of spacecraft pointing problems. This Chapter presents the fundamental aspects of de- 1 Rigid Body Kinematics 1 1.1 Rotating Coordinate Frames ...... 1 scribing the orientation, angular momentum, energy and differ- 1.2 Attitude Parameters ...... 2 ential equations of motion of a rigid body. After discussing the 1.2.1 Direction Cosine Matrix ...... 2 rigid body kinematics, the inertia properties of a body about ar- 1.2.2 Euler Angles ...... 3 bitrary reference points are developed. The angular momentum 1.2.3 Principal Rotation Parameters .... 4 and energy of a rigid body are critical to discussing the equa- 1.2.4 Quaternions or Euler Parameters ... 4 1.2.5 Other Attitude Parameters ...... 5 tions of motion, as well as investigating the stability of torque- free spin solutions. Next, passive methods of attitude stabiliza- 2 Rigid Body Inertia 5 tion are discussed. Here the spacecraft angular momentum, or 2.1 Inertia Matrix Definition ...... 6 external torques such as the gravity gradient torque, are used 2.2 Principal Coordinate System ...... 6 to stabilize the orientation. These fundamental kinematics and 2.3 Parallel Axis Theorem ...... 6 kinetics properties form the foundation for follow-on Chapters 3 Angular Momentum 7 discussing more complex pointing scenarios including systems with multiple rigid bodies (reaction wheels, etc.), attitude esti- 4 Kinetic Energy 7 mation, as well active attitude pointing problems.
5 Rotational Equations of Motion 8 Keywords: Rigid body pointing, angular momentum, rotational 5.1 Euler’s Rotational Equations ...... 8 equations of motion, dual-spin spacecraft, gravity gradient torques 5.2 Principal Axis Spin Stability ...... 8 5.3 Numerical Simulation of Rigid Body Motion 8
6 Torque-Free Response 9 1 RIGID BODY KINEMATICS 6.1 Angular Velocity Solutions ...... 9 6.1.1 Axisymmetric Inertia Case ...... 9 This Chapter first discusses the angular rotation and ori- 6.1.2 General Inertia Case ...... 9 entation coordinates used to describe the motion of a rigid 6.2 Coning Motion ...... 9 body. By fixing a coordinate frame to a rigid body, under- 6.3 Polhodes ...... 10 standing how the coordinate frame orientation evolves over 7 Dual-Spin Stabilization 11 time is equivalent to understanding how the rigid body atti- 7.1 Equations of Motion ...... 11 tude behaves. 7.2 Linear Equilibrium Stability ...... 11 1.1 Rotating Coordinate Frames ˆ ˆ ˆ 8 External Torques for Passive Control 12 The coordinate frame : , b1, b2, b3 illustrated in B {O } 8.1 Gravity Gradient Torques ...... 12 Figure 1 is defined through its origin and the three mutu- O 8.2 Atmospheric Torques ...... 14 ally orthogonal unit direction vectors bˆ , bˆ , bˆ . A right- 8.3 Magnetic Torques ...... 14 { 1 2 3} handed coordinate frame satisfies bˆ b = bˆ . If this co- 1 ⇥ 2 3 ordinate frame is attached to a rigid body, then describ- 9 Conclusion 14 B ing the orientation of the rigid body is equivalent to studying References 15 the orientation of . For the study of attitude dynamics, the B translation of the rigid body is not of interest. As a result
1 Shuttle cockpit to tail, then this vector appears stationary as bˆ 2 seen by a Shuttle fixed observer. However, this same r is ro- bˆ 3 !2 tating as seen by an earth-fixed observer. A left super-script label is used on the time differential operator to denote the nˆ !3 3 B observer frame. The transport theorem is used to map a time N bˆ derivative seen by a frame into the equivalent derivative nˆ 2 1 B OB !1 seen by another frame [Likins, 1973, Schaub and Junkins, ON N nˆ 1 2010]:
Nd Bd (r)= (r)+! / r (4) dt dt B N ⇥ Figure 1: Coordinate Frame Illustration The vector r and frames and are only placeholders in B N Eq. (4). The transport theorem applies equally if any other coordinate frames are thus often defined through their unit vector or frames are substituted into this expression. direction vectors only. If no frame label is provided, then the time derivative is As with positions, orientations can only be described rel- assumed to be taken with respect to an inertial frame. ative to a reference orientation. Let be an inertial (non- N accelerating) coordinate frame. By defining the bˆi direction Nd vectors with respect to , we are able to describe the orien- x˙ (x) (5) N ⌘ dt tation of the body with respect to . B N The angular motion of relative to is described through This is by far the most common time derivative of a vector as B N the angular velocity vector ! / Newton’s and Euler’s laws require inertial derivatives to be B N taken. Further, let x be expressed in frame components as ˆ ˆ ˆ T B ! / = !1b1 + !2b2 + !3b3 (1) Bx =(x1,x2,x3) Notice that B N This vector is the instantaneous angular rotation vector of B x˙ 1 body relative to , and is typically expressed in body Bd B N x˙ 2 (x) x˙ (6) frame vector components. If only the and frames are 0 1 ) dt 6) B N x˙ 3 considered, the ! vector is often written simply as !. / @ A While we will seeB N that attitude coordinates sets are not vec- The time derivative of the angular velocity vector ! / tors, and do not abide by vector addition laws, amazingly has a special property worth noting: B N the angular velocity vector is truly a vector. Thus, if three frames , and are present, their angular velocities re- Bd Bd A B N !˙ / = ! / + ! / ! / = ! / (7) late through B N dt B N B N ⇥ B N dt B N ! / = ! / + ! / (2) In other words, if ! is the angular velocity vector between A N A B B N two particular frames, then the time derivative of ! as seen If we wish to express a vector ! as a 3 1 matrix, we ⇥ by either of these frames is the same. must specify with respect to which frame the vector com- ponents have been taken. If frame components are used as B 1.2 Attitude Parameters in Eq. (1), then the left super-script notation is used in this Having shown how a rigid body rotation can be described Chapter: through !, these next sections focus on how the rigid body orientation is described. To describe the three-dimensional B ! 1 orientation of rigid body a minimum of three coordinates B! = ! (3) 2 or attitude parameters are required. However, any minimal 0! 1 3 three-parameter set will encounter singularities that must be @ A These frame declarations can become cumbersome after a considered, while redundant sets of more than three parame- while if only 2 frames are present. If no label is made on a ters can avoid singularity issues at the cost of additional pa- matrix representation of a vector, then body frame compo- rameter constraints. nents are implied. 1.2.1 Direction Cosine Matrix Having defined a rotating frame , let us briefly discuss The 3 3 rotation matrix [BN] is a fundamental way to B ⇥ how to differentiate a vector r expressed in vector compo- express the orientation of with respect to . Besides this B B N nents. To discuss the time evolution of r, an observer frame 2-letter notation, T N is also used to represent the same ma- must be specified. For example, if r points from the Space trix, or [C] is oftenB used if only a single body frame is con-
2 sidered. The rotation matrix is determined through To map Br into equivalent vector components, the [NB] N rotation matrix is used: bˆ1 nˆ 1 bˆ1 nˆ 2 bˆ1 nˆ 3 · · · Nr =[NB] Br (16) [BN]= bˆ2 nˆ 1 bˆ2 nˆ 2 bˆ2 nˆ 3 (8) 2ˆ · ˆ · ˆ · 3 b3 nˆ 1 b3 nˆ 2 b3 nˆ 3 The inverse coordinate transformation is 4 · · · 5 1 T Let ↵ be the angle between bˆ and nˆ , then bˆ nˆ = Br =[NB] Nr =[NB] Nr =[BN] Nr (17) ij i j i · j cos ↵ij. The rotation matrix elements BNij are thus the cosines of the relative unit direction angles. As a result the 1.2.2 Euler Angles rotation matrix is also referred to as the Direction Cosine Ma- Euler angles are a minimal set of three attitude coordi- trix (DCM). nates. All minimal orientation description contain attitudes If the unit direction vectors bˆ are given in frame com- i N where the description or the associated differential kinematic ponents, or the unit direction vectors nˆ are expressed in i B equations become singular. The Euler angles describe the frame components, then the DCM is found through orientation of relative to through 3 sequential one-axis B N T rotations. There are 12 different sets of Euler angles which (Nbˆ1) T differ through the sequence of one-axis rotations. The popu- [BN]= ( bˆ ) = Bnˆ Bnˆ Bnˆ (9) 2 N 2 3 1 2 3 lar yaw , pitch ✓ and roll angles are a (3 2 1) Euler ( bˆ )T N 3 ⇥ ⇤ angle sequence as illustrated in Figure 2. The primed axis 4 5 The proper DCM (frame satisfy the right-hand rule) is or- labels denote the intermediate axes of the rotation sequence. Starting with frame orientation, the yaw axis is defined as thogonal and has a determinant of +1. The inverse is simply N positive rotation about the current 3-axis (nˆ 3 or bˆ3), the pitch given by the transpose operator: ˆ ˆ is a rotation about the current 2-axis (b20 or b200), and the roll 1 T ˆ ˆ [BN] =[BN] =[NB] (10) is a rotation about the final 1-axis (b100 or b1).
The time evolution of the DCM orientation measure is cap- ˆ ˆ b100 tured through the differential kinematic equation nˆ 1 ✓ b100 ˆ bˆ1 b20 ˆ ˆ b20 ˆ ˙ nˆ b10 ˆ b10 ˆ [BN]= [!˜ / ][BN] (11) 2 b200 b200 B N bˆ bˆ3 ˆ 2 ˆ bˆ bˆ b300 b300 where the tilde matrix notation is nˆ 3 30 30 0 ! ! 3 2 Figure 2: (3-2-1) Euler Angle Sequence [!˜ / ]= !3 0 !1 (12) B N 2 3 ! ! 0 th 2 1 The one-dimensional rotations about the i body axis can 4 5 be describe using rotation matrices [M (✓)] as: and represents a matrix representation of the vector cross i product through [!˜]a ! a. 10 0 ⌘ ⇥ Assume that the DCMs [AB] and [BN] are given. To add [M1(✓)] = 0 cos ✓ sin ✓ (18a) these 2 orientations (sequentially rotate first from to , 20 sin ✓ cos ✓3 N B and then rotate from to ), and obtain the attitude of rel- B A A 4cos ✓ 0 sin ✓5 ative to , we simply multiply these DCM with each other: N [M2(✓)] = 01 0 (18b) 2 3 [AN]=[AB][BN] (13) sin ✓ 0 cos ✓ 4 cos ✓ sin ✓ 05 This simple DCM attitude addition property is a very fun- [M3(✓)] = sin ✓ cos ✓ 0 (18c) damental method to add successive orientations. To subtract 2 0013 [BN] from [AN], and get the relative attitude of relative A 4 5 to , we use Using the DCM addition property in Eq. (13), the (3-2-1) B yaw, pitch and roll rotations lead to 1 T [AB]=[AN][BN] =[AN][BN] =[AN][NB] (14) [BN]=[M1( )][M2(✓)][M3( )] (19) A common use of the DCM is to perform three- or dimensional coordinate transformations. Assume a vector r c✓c c✓s s✓ is given in terms of frame coordinates as B [BN]= s s✓c c s s s✓s + c c s c✓ (20) 2 3 r = r bˆ + r bˆ + r bˆ (15) c s✓c + s s c s✓s s c c c✓ 1 1 2 2 3 3 4 5
3 The inverse transformations from the direction cosine matrix 1.2.3 Principal Rotation Parameters [BN] to the ( ,✓, ) angles are While the Euler angles utilize three sequencial rotations to map from to , it is possible to rotate between two arbi- BN N B = arctan 12 (21a) trary frame using a single rotation about the principal axis eˆ BN ✓ 11 ◆ by the principal angle . This property is called Euler’s Prin- ✓ = arcsin (BN ) (21b) ciple Rotation theorem.[Whittaker, 1965 reprint] The princi- 13 BN pal rotation axis eˆ has the special property that = arctan 23 (21c) BN ✓ 33 ◆ Beˆ =[BN] Neˆ (25) A good description of alternate sets of Euler angles can be Thus eˆ is the eigenvector of [BN] corresponding to the +1 found in Junkins and Turner [1986]. eigenvalue. To add or subtract two orientations given in terms of Eu- The principal rotation parameters eˆ and are not unique. ler angles, these angles are mapped to the equivalent DCM An orientation can be represented through (using Eq. (19) for the (3-2-1) Euler angles) and then using (eˆ, )( eˆ, )(eˆ, 0)(eˆ, 0) (26) the simple DCM attitude addition and subtraction properties in Eqs. (13) and (14). Having obtained the desired DCM, the where 0 =2⇡ . While one principal angle describes equivalent (3 2 1) Euler angles can be extracted using the short rotation, say 30 degrees, the alternate principal an- Eq. 21. gle 0 describes the long rotation representation, say 330 de- The differential kinematic equations relate the (3-2-1) grees. Euler angle rates to the body angular velocity vector ! The DCM in terms of (eˆ, ) is given by[Shuster, 1993] through[Shuster, 1993] T [BN] = cos [I3 3]+(1 cos ) eˆeˆ sin [e˜] (27) ⇥ ˙ sin cos B ! 0 cos ✓ cos ✓ 1 The inverse transformation from the rotation matrix [BN] to ✓˙ = 0 cos sin !2 (22) 0 1 2 3 0 1 the principal rotation parameters is ˙ 1sin tan ✓ cos tan ✓ !3 1 @ A 4 5 @ A = arccos (trace([BN]) 1) (28a) [B( ,✓, )] ± 2 ✓ ◆ | {z } Note that the ! vector components here must be taken with BN23 BN32 1 respect to the frame because the Euler angles define the eˆ = BN31 BN13 (28b) B 2sin 0 1 attitude of . Further, these kinematic differential equations BN12 BN21 B are singular if the 2nd rotation angle ✓ is 90 degrees. This @ A ± The four different principal rotation parameter sets are ob- singular behavior is true for all Euler angle sequences which tained by using either sign in Eq. (28a) and noting the alter- do not repeat a rotation axis (asymmetric Euler angles). If a nate 0 =2⇡ solution to the arccos function. rotation axis is repeated such as a (3-1-3) sequence, then the attitude coordinates are called symmetric Euler angles. In 1.2.4 Quaternions or Euler Parameters this case it is also the 2nd rotation angle ✓ which determines 2 The quaternions, also called the Euler Parameters (EPs), a singular orientation, but it must be ✓ = 0 or 180 degrees. 2 are a popular redundant attitude coordinate set which is sin- Besides the (3-2-1) yaw, pitch and roll Euler angles, the (3- gularity free in its attitude representation. The Euler param- 1-3) Euler angles are also popular to describe spacecraft or eter set =( , , , ) is defined in terms of the prin- orbit plane orientations. The DCM in terms of (3-1-3) Euler 0 1 2 3 cipal rotation parameters as angles (⌦,i,!) is 0 = cos ( /2) (29a) c!c⌦ s!cis⌦ s!cic⌦+c!s⌦ s!si 1 = e1 sin ( /2) (29b) [BN]= s!c⌦ c!cis⌦ c!cic⌦ s!s⌦ c!si (23) 2 sis ⌦ sic ⌦ ci 3 2 = e2 sin ( /2) (29c) 4 5 3 = e3 sin ( /2) (29d) while the differential kinematic equation is Note that 0 only depends on the principal rotation angle, ˙ sin ! cos ! B and is not influenced by the principal rotation axis, and is ⌦ sin i sin i 0 !1 thus called the scalar EP component. The remaining EP 1, i˙ = cos ! sin ! 0 !2 (24) 0 1 2 3 0 1 2 and 3 are referred to as the vector EP components. Alter- !˙ sin ! cot i cos ! cot i 1 !3 nate variable notations such as (q ,q ,q ,q ) are also popu- @ A 4 5 @ A 1 2 3 4 [B(⌦,i,!)] lar. Care should be taken how the scalar EP or quaternion | {z } component is labeled (q4 = 0 in this case).
4 Being a redundant 4-parameter set, the EPs must satisfy makes it straight-forward to subtract two orientations and the holonomic constraint solve for the relative orientation 0 given and 00 using Eq. (33). 2 2 2 2 0 + 1 + 2 + 3 =1 (30) The EP rates relate to the body angular velocity vector ! through If numerically integrating the EPs, this constraint must be ˙ enforced at each time step. As we had 4 sets of possible 0 0 !1 !2 !3 0 principal rotation parameters to represent an orientation, this ˙ 1 ! 0 ! ! 1 = 1 3 2 1 (35) results in 2 sets of feasible EPs and 0 = . If of 0 ˙ 1 2 3 0 1 0 2 2 !2 !3 0 !1 2 an EP set is greater than zero, then the EPs are describing a B ˙3C 6!3 !2 !1 0 7 B 3C short rotation from to with <180 degrees. If < 0 B C 6 7 B C N B 0 @ A 4 5 @ A then a long rotation is described. This duality is important or by transmutation when choosing which set of EPs is used in a feedback attitude ˙ control problem. 0 0 1 2 3 0 ˙ 1 ! The DCM is written in terms of the EPs as 0 11 = 2 1 0 3 23 0 11 (36) ˙2 2 2 3 0 1 !2 2+ 2 2 2 2( + ) 2( ) 0 1 2 3 1 2 0 3 1 3 0 2 B ˙3C 6 3 2 1 07 B!3C 2 2 2 2 B C 6 7 B C [BN]= 2( 1 2 0 3) 0 1+ 2 3 2( 2 3 + 0 1) @ A 4 5 @ A 22( + ) 2( ) 2 2 2+ 2 3 The 4 4 matrix in Eq. (36) is again orthogonal and enjoys 1 3 0 2 2 3 0 1 0 1 2 3 ⇥ 4 (31)5 a simple inverse formulation. while the inverse mapping is 1.2.5 Other Attitude Parameters There are several other sets of attitude parameters such as 1 0 = trace([BN]) + 1 (32a) the (w, z) coordinates introduced by Tsiotras and Longuski ±2 [1996], or the Calyey-Klein parameters discussed by Whit- BNp23 BN32 1 = (32b) taker [1965 reprint]. A good survey of attitude coordinates 4 0 is published by Shuster [1993]. Besides using the quater- BN31 BN13 nions as a singularity free attitude measure, the Modified Ro- 2 = (32c) 4 0 drigues Parameters (MRPs) have become popular.[Wiener, BN12 BN21 1962] At the cost of a discontinuous attitude description, the 3 = (32d) 4 0 MRPs can represent any orientation without singularity using only 3 parameters.[Schaub and Junkins, 1996] As expected, this mapping yields 2 possible EP sets. Note that this algorithm in singular if 0 =0( = 180 degrees). A lengthier, but singularity free, mapping from DCM into bˆ equivalent EPs is given by Sheppard [1978]. 3 To add or subtract EP sets it is not necessary to map the ! EPs to and from DCMs. Instead the EP have a direct bi- r linear transformation. Let 0 and 00 represent to orientations bˆ2 which are to be added to yield the overall rotation as the EP dm set . Rc OB 00 00 00 00 0 0 0 1 2 3 0 B 1 00 00 00 00 0 N bˆ 0 1 = 2 1 0 3 2 3 0 11 (33) 1 00 00 00 00 0 2 2 3 0 1 2 B C 6 00 00 00 007 B 0 C B 3C 6 3 2 1 0 7 B 3C O @ A 4 5 @ A By transmutation of Eq. (33) an alternate expression is found Figure 3: Discretized Continuous Body