Spacecraft Attitude Dynamics and Control

107
Spacecraft Attitude Dynamics and Control Dispense del Corso di Dinamica e Controllo di Assetto di Satelliti Politecnico di Torino Anno Accademico 2008 - 09 Ver. 3.0.0 Giulio Avanzini Dipartimento di Ingegneria Aeronautica e Spaziale e-mail: [email protected]

Transcript of Spacecraft Attitude Dynamics and Control

Page 1: Spacecraft Attitude Dynamics and Control

Spacecraft Attitude Dynamics and Control

Dispense del Corso di

Dinamica e Controllo di Assetto di Satelliti

Politecnico di Torino

Anno Accademico 2008 - 09

Ver. 3.0.0

Giulio AvanziniDipartimento di Ingegneria Aeronautica e Spaziale

e-mail: [email protected]

Page 2: Spacecraft Attitude Dynamics and Control
Page 3: Spacecraft Attitude Dynamics and Control

i

Nota

Le presenti dispense costituiscono parte del materiale didattico di supporto al Corso diDinamica e Controllo di Assetto, da me tenuto presso il Politecnico di Torino a partiredall’Anno Accademico 2007-2008. Le presenti dispense vengono distribuite gratuita-mente, esclusivamente a fini didattici e ne e vietata la riproduzione se non agli scopidi consultazione e studio per i quali sono state redatte, nell’ambito del Corso di Lau-rea in Ingegneria Aerospaziale del Politecnico di Torino. Ne e vietata la vendita inqualunque forma.

Note

The present lecture notes are part of the material for the Attitude Dynamics and Controlcourse, that I have been teaching at Politecnico di Torino since the Academic Year 2007-08. The lecture notes are freely available exclusively to the students of Politecnico diTorino and they can be copied and reproduced only in this framework. The lecturenotes cannot be distributed or copied elsewhere and cannot be sold in anyform.

Giulio AvanziniTorino, 1 Marzo 2009

Page 4: Spacecraft Attitude Dynamics and Control

ii

Page 5: Spacecraft Attitude Dynamics and Control

Contents

1 Rigid Body dynamics 11.1 Frames of reference and transformation matrices . . . . . . . . . . . . . . . 11.2 Euler’s angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Building the coordinate transformation matrix from elementary ro-tations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.2 Angular velocity and the evolution of Euler’s angles . . . . . . . . . 91.2.3 The quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.4 Quaternion multiplication . . . . . . . . . . . . . . . . . . . . . . . 141.2.5 The quaternion error vector . . . . . . . . . . . . . . . . . . . . . . 151.2.6 Evolution of the quaternions . . . . . . . . . . . . . . . . . . . . . . 15

1.3 Quaternions vs Euler angles . . . . . . . . . . . . . . . . . . . . . . . . . . 151.4 Other attitude representations . . . . . . . . . . . . . . . . . . . . . . . . . 161.5 Time derivative of vector quantities . . . . . . . . . . . . . . . . . . . . . . 171.6 Euler’s equations of motion of a rigid body . . . . . . . . . . . . . . . . . . 17

1.6.1 The inertia tensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.6.2 Kinetic energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.6.3 Euler’s equation of motion . . . . . . . . . . . . . . . . . . . . . . . 221.6.4 Conservation of angular momentum . . . . . . . . . . . . . . . . . . 221.6.5 Conservation of kinetic energy . . . . . . . . . . . . . . . . . . . . . 23

1.7 Generalised Euler equation . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.7.1 Derivation of the generalised form of Euler equation . . . . . . . . . 231.7.2 Use of the generalised form of Euler equation . . . . . . . . . . . . 25

2 Passive Stabilisation of Rigid Spacecraft 272.1 Torque–free motion of axi–symmetric satellites . . . . . . . . . . . . . . . . 27

2.1.1 Angular velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.1.2 Attitude (in terms of Euler angles) . . . . . . . . . . . . . . . . . . 31

2.2 Torque–free motion of tri–inertial satellites . . . . . . . . . . . . . . . . . . 322.2.1 Drawing the polhode curves . . . . . . . . . . . . . . . . . . . . . . 332.2.2 Stability of torque–free motion about principal axes . . . . . . . . . 35

2.3 Nutation Damping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.3.1 Effects of energy dissipation . . . . . . . . . . . . . . . . . . . . . . 362.3.2 Equations of motion of a rigid satellite with damper . . . . . . . . . 382.3.3 A practical case: the axial damper . . . . . . . . . . . . . . . . . . 42

2.4 Attitude manoeuvres of a spinning satellite . . . . . . . . . . . . . . . . . . 462.5 Gravity–gradient stabilization . . . . . . . . . . . . . . . . . . . . . . . . . 49

2.5.1 Origin of the gravity–gradient torque . . . . . . . . . . . . . . . . . 502.5.2 Equilibria of a rigid body under GG torque . . . . . . . . . . . . . 522.5.3 Pitch motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

iii

Page 6: Spacecraft Attitude Dynamics and Control

iv

2.6 Dual–spin satellites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.6.1 Mathematical model of a gyrostat . . . . . . . . . . . . . . . . . . . 592.6.2 Simplified models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612.6.3 Stability of axial gyrostat . . . . . . . . . . . . . . . . . . . . . . . 62

3 Active Stabilisation and Control of Spacecraft 653.1 Environmental torques and other disturbances . . . . . . . . . . . . . . . . 66

3.1.1 Environmental torques . . . . . . . . . . . . . . . . . . . . . . . . . 663.1.2 Internal disturbances . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.2 Attitude sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.2.1 Infrared Earth sensors (IRES) . . . . . . . . . . . . . . . . . . . . . 683.2.2 Sun sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.2.3 Star trackers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.2.4 Rate and rate–integrating gyroscopes . . . . . . . . . . . . . . . . . 683.2.5 Magnetometers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

3.3 Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.4 Linear model of rigid satellite attitude motion . . . . . . . . . . . . . . . . 693.5 Linear model of gyrostat attitude motion . . . . . . . . . . . . . . . . . . . 703.6 Use of thrusters for attitude control . . . . . . . . . . . . . . . . . . . . . . 71

3.6.1 Single axis slews (open loop) . . . . . . . . . . . . . . . . . . . . . . 713.6.2 Closed–loop control . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.6.3 Fine pointing control . . . . . . . . . . . . . . . . . . . . . . . . . . 82

3.7 Momentum exchange devices for attitude control . . . . . . . . . . . . . . . 853.7.1 Open–loop control with RWs . . . . . . . . . . . . . . . . . . . . . 863.7.2 Sizing a reaction wheel for single axis slews . . . . . . . . . . . . . . 873.7.3 Closed–loop control with RWs for single axis slews . . . . . . . . . 883.7.4 Bias torque and reaction wheel saturation . . . . . . . . . . . . . . 893.7.5 Roll–yaw axes control in presence of momentum bias using reaction

wheels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903.7.6 Roll–yaw axes control using a double–gimbal momentum wheel . . 91

3.8 Quaternion feedback control . . . . . . . . . . . . . . . . . . . . . . . . . . 933.8.1 Derivation of a globally asymptotically stabilizing controller: Lya-

punov method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943.8.2 Application of Lyapunov method to nonlinear spacecraft attitude

control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943.8.3 Generalization of the Quaternion Feedback Control law . . . . . . . 95

3.9 Control Moment Gyroscopes . . . . . . . . . . . . . . . . . . . . . . . . . . 963.9.1 Dynamic model of a spacecraft controlled by a cluster of CMG’s . . 963.9.2 Gimbal rate command law with Moore–Penrose pseudo–inverse . . 983.9.3 Cluster singular states . . . . . . . . . . . . . . . . . . . . . . . . . 99

4 References 101

Page 7: Spacecraft Attitude Dynamics and Control

Chapter 1

Rigid Body dynamics

In order to describe the attitude of a rigid body and to determine its evolution as afunction of its initial angular velocity and applied torques, Euler’s angles and Euler’sequations of motion need to be introduced. The transformation matrix between differentreference frames will be recalled and the concept of inertia tensor will also be brieflydiscussed.

1.1 Frames of reference and transformation matrices

Assuming that a satellite is a rigid body is a reasonable initial model for attitude dy-namics and control. However, in practice, this assumption can only be used as a firstapproximation. For satellites with large deployable solar arrays the structure can bequite flexible. The elastic modes in the structure can be excited through attitude con-trol thrusters firings. This leads to vibrations which reduce the pointing accuracy of thepayload. In addition, fuel consumption and fuel slosh in propellant tanks can cause theinertia properties of the satellite to be time varying, leading to a more complex controlproblem. But if we assume that our spacecraft is a rigid body, we can attach to it a bodyframe, FB, described by a set of unit vectors (e1, e2, e3). The position of FB with respectto an inertial reference frame FI , identified by the unit vectors (E1, E2, E3), completelydescribes the attitude of our spacecraft.

Assuming that ~v is a vector quantity, it is possible to write it as

~v = xe1 + ye2 + ze3

or, equivalently, ~v = XE1 + Y E2 + ZE3

The column vectors vB = (x, y, z)T and vI = (X, Y, Z)T provide the component repre-sentations of the same vector quantity ~v in the reference frames FB and FI , respectively.

If we now consider the components eiI = (e1,i, e2,i, e3,i)T of the i–th unit vector ei in

FI , that isei = e1,iE1 + e2,iE2 + e3,iE3

we can write

~v = xe1 + ye2 + ze3

= x(e1,1E1 + e2,1E2 + e3,1E3) +

+ y(e1,2E1 + e2,2E2 + e3,2E3) +

+ z(e1,3E1 + e2,3E2 + e3,3E3)

1

Page 8: Spacecraft Attitude Dynamics and Control

2 G. Avanzini Spacecraft Attitude Dynamics and Control

~v = (e1,1x+ e1,2y + e1,3z)E1 +

+ (e2,1x+ e2,2y + e2,3z)E2 +

+ (e3,1x+ e3,2y + e3,3z)E3

This means that the components of ~v in FI can be expressed as a function of those inFB as follows:

X=e1,1x+ e1,2y + e1,3zY=e2,1x+ e2,2y + e2,3zZ=e3,1x+ e3,2y + e3,3z

or, in compact matrix form,

vI = LIBvB

where the transformation matrix LIB is given by

LIB =

e1,1 e1,2 e1,3

e2,1 e2,2 e2,3

e3,1 e3,2 e3,3

=

[

e1I

...e2I

...e3I

]

LIB is made up by the components of the unit vectors ei as expressed in FI . Any matrixmade up by mutually orthogonal row or column unit vectors is an orthogonal matrix andis characterized by several properties, among which we only recall that:

• the inverse of an orthogonal matrix L is given by its transpose: L−1 = LT ;

• the determinant of an orthogonal matrix is det(L) = ±1 (and that of a rotationmatrix is 1);

• if L1 and L2 are orthogonal matrices, their product L1L2 is an orthogonal matrix.

Thanks to the first property, it is possible to write the inverse coordinate transforma-tion as

vB = LBIvI = (LIB)−1vI = (LIB)T vI

which means that it is also

LBI =

eT1I

. . .

eT2I

. . .

eT3I

As an exercise, demonstrate that the dual relations

LBI =

[

E1B

...E2B

...E3B

]

; LIB =

ET

1B

. . .

ET

2B

. . .

ET

3B

also hold.

Page 9: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 3

1.2 Euler’s angles

It is possible to use the coordinate transformation matrix LBI to describe the attitudeof the spacecraft through the unit vectors ei of the body frame attached to it, comingout with a total of 9 parameters. As a matter of fact, these 9 parameters are not free tovary at will, inasmuch as they must satisfy 6 constraints, expressed by the orthonormalitycondition, that is

ei · ej = δi,j =

0 if i 6= j1 if i = j

(1.1)

Roughly speaking, only 9− 6 = 3 parameters should be sufficient to describe the attitudeof FB w.r.t. FI .

One of the set of three parameters most widely used to describe the attitude of a rigidbody (or equivalently the attitude of the body frame attached to it) w.r.t. a fixed frameare the Euler’s angles, a sequence of three rotations that take the fixed frame and makeit coincide with the body frame. The original sequence of rotations proposed by Euler tosuperimpose FI onto FB is the sequences 3-1-3:

1. the first rotation is about the third axis of the initial frame, that is E3, in our case,and takes the first axis E1 to the direction e′

1 perpendicular to the plane determinedby the unit vectors E3 and e3; E2 is rotated onto e′

2; the rotation angle is calledprecession angle Ψ;

2. the second rotation is about the first axis transformed after the first rotation, e′

1,and takes the axis e′

3 into the position of e3; e′

2 is moved onto e′′

2; the rotation angleis called nutation angle Θ;

3. the third and final rotation is about e3 and brings e′′

1 = e′

1 and e′′

2 to their finalpositions, e1 and e2, respectively; the rotation angle is called spin angle Φ.

The three angles, representing the amplitude of the three, successive rotations Ψ,Θ,Φ,respectively about the third, the first, and again the third axis, can be used to representthe attitude of the frame FB: The nutation angle represents the inclination of the thirdbody axis e3 w.r.t. the local vertical E3; The precession angle represents the angle betweenthe first inertial axis E1 and the line of the nodes ξ, i.e. the intersection between theplanes perpendicular to e3 and E3; The spin angle is the rotation about the third bodyaxis.

The transformation matrix LBI can be expressed as a function of these three angles,in terms of three elementary rotation matrices, as will be derived in the sequel.

Other sequences

It must be remembered that the sequence of rotations here described is not the onlypossible choice for rotating FI onto FB. Many other sequences are available and equallyuseful. In atmospheric flight mechanics the most widely used sequence of rotations is the3–2–1, also known as the Bryant’s angles.

In this case the first rotation is about the third axis, E3, and its amplitude is calledyaw angle ψ. The second rotation about the second axis e′

2 is the pitch angle, θ, andtakes the first axis onto its final position. The third rotation about e1 is the roll angle,φ. This set of angles is used also in space flight dynamics, to describe the attitude of aspacecraft with respect to the Local Horizontal – Local Vertical (LHLV) reference frame.

Page 10: Spacecraft Attitude Dynamics and Control

4 G. Avanzini Spacecraft Attitude Dynamics and Control

E1 E2

E3

E1 E2

e′

3 ≡ E3

e′

1

e′

2

Ψ

Ψ

E1 E2

E3

e′

1 ≡ e′′

1

e′

2

Ψ

e′′

3

e′′

2

ΘΘ

E1 E2

E3

e′

1

e′

2

Ψ

e3 ≡ e′′

3

e′′

2

Θ

e1

e2

Φ

Φ

Figure 1.1: Euler’s angles

In many textbooks also this latter set of rotations is often referred to as Euler’s angles,and this fact may lead to some confusion.

As a final observation, the order of the rotation sequence is important: Rotations donot commute! This means that the rotation sequence 1–2–3, performed with the sameangles about the same axis, will take the initial frame to another one. The rotationsequence 1–2–3 is known as Cardan angles.

Singularity

There is another problem with the representation of rotations in a three dimensional space,that is the singularity of all the descriptions in terms of three parameters. This meansthat there will always be positions of the two frames that can be described in differentways, once a particular sequence of rotations is chosen. As an example, if the originalEuler’s angle sequence is employed, the case in which Θ = 0 is singular, inasmuch as theprecession and spin rotations will be about the very same axis, E3 ≡ e3. This meansthat all the triplets (Ψ, 0,Φ) for which Ψ + Φ is constant represent the same change ofreference frame.

Similarly, when the Bryant’s angles are used, the case θ = ±π/2 is singular, as in thiscase all the triplets (ψ,±π/2, φ) for which ψ − φ is constant will provide the same finalattitude for FB.

The problem of coordinate transformation singularity has some unpleasant mathemat-ical consequence that will be underlined in the following paragraphs.

Page 11: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 5

x 1

1y

1x

x

1

y 2

y

2

α

v

Figure 1.2: Planar rotation of amplitude α.

1.2.1 Building the coordinate transformation matrix from ele-

mentary rotations

Planar rotations

Consider the sketch of Fig. 1.2, where two planar reference frames F1 and F2, with thesame origin O are represented. The angle α, assumed positive for counter–clockwiserotations, allows one to identify univocally the position of the axes X2–Y2 of F2 w.r.t. theframe F1 defined by the axes X1 and Y1.

Given the components x1 and y1 of a vector ~v expressed in F1, the components x2 ey2 can be expressed as a function of the angle α. The following relations can be easilyinferred from Fig. 1.2:

x2 = x1 cos(α) + y1 sin(α)

y2 = −x1 sin(α) + y1 cos(α)

or, in matrix form,x2

y2

=

[cos(α) sin(α)− sin(α) cos(α)

]x1

y1

This relation expresses the coordinate transformation that takes the component of avector quantity expressed in F1 into those of a reference frame F2 rotated w.r.t. F1 of anangle α.

In compact notation we can write

v2 = L21v1 = R(α)v1

where the subscript near the vector indicates the frame in which the components of thevector quantity are considered, the matrix L21 is the coordinate transformation matrix

Page 12: Spacecraft Attitude Dynamics and Control

6 G. Avanzini Spacecraft Attitude Dynamics and Control

from F1 to F2 that in the two dimensional case coincides with the elementary rotationmatrix R(α).

The inverse transformation from F2 to F1 is given by

v1 = L12v2 = (R(α))−1v2

Recalling the properties of orthogonal matrices, it is

L12 = (R(α))−1 = (R(α))T = R(−α)

Elementary rotations for the sequence 3–1–3

Each one of the Euler’s rotations can be considered an elementary rotation about a givenaxis, that remains unchanged during the transformation. It is still possible to applythe relations derived for the planar case, adding a further equation that states that thecoordinate relative to the rotation axis does not vary.

The coordinate transformation during the first rotation is given by

x′ = X cos(Ψ) + Y sin(Ψ)

y′ = −X sin(Ψ) + Y cos(Ψ)

z′ = Z

that, in matrix form, can be written as:

x′

y′

z′

=

cos(Ψ) sin(Ψ) 0− sin(Ψ) cos(Ψ) 0

0 0 1

XYZ

In an analogous way it is possible to demonstrate that, during the second rotationabout e′

1, the coordinate transformation is given by

x′′ = x′

y′′ = y′ cos(Θ) + z′ sin(Θ)

z′′ = −y′ sin(Θ) + z′ cos(Θ)

that in matrix form becomes:

x′′

y′′

z′′

=

1 0 00 cos(Θ) sin(Θ)0 − sin(Θ) cos(Θ)

x′

y′

z′

Finally, the third rotation about e′′

3 is represented by the transformation

x = x′′ cos(Φ) + y′′ sin(Φ)

y = −x sin(Φ) + y′′ cos(Φ)

z = z′′

or, in matrix form:

xyz

=

cos(Φ) sin(Φ) 0− sin(Φ) cos(Φ) 0

0 0 1

x′′

y′′

z′′

Page 13: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 7

The three elementary rotation matrices of the Euler’s sequence 3–1–3 can thus bedefined as

R3(Ψ) =

cos(Ψ) sin(Ψ) 0− sin(Ψ) cos(Ψ) 0

0 0 1

; R1(Θ) =

1 0 00 cos(Θ) sin(Θ)0 − sin(Θ) cos(Θ)

;

R3(Φ) =

cos(Φ) sin(Φ) 0− sin(Φ) cos(Φ) 0

0 0 1

where the subscript near the rotation matrix symbol R indicates the axis around whichthe rotation is performed, while the argument indicates the amplitude of the rotation.

Summing up...

When passing from the inertial frame FI to the body frame FB using Euler’s sequence, thecoordinate transformation of vector quantities can be obtained combining in the correctorder the elementary rotation matrices, as follows:

v′ = R3(Ψ)vI

v′′ = R1(Θ)v′

vB = R3(Φ)v′′

that is

vB = R3(Φ)R1(Θ)R3(Ψ)vI

This means that

LBI = R3(Φ)R1(Θ)R3(Ψ)

Performing the row–column products, the following expression for LBI is obtained:

LBI =

cos Φ cos Ψ sin Φ cos Θ cos Ψ sin Φ sin Θ− sin Φ cos Θ sin Ψ + cos Φ sin Ψ

− cos Φ cos Θ sin Ψ cos Φ cos Θ cosΨ cos Φ sin Θ− sin Φ cos Ψ − sin Φ sin Ψ

sin Θ sin Ψ − sin Θ cos Ψ cos Θ

As the product of orthogonal matrices is an orthogonal matrix, the inverse of which isequal to its transpose, the inverse coordinate transformation matrix LIB is simply givenby

LIB = LBI−1 = LBI

T =

cos Φ cos Ψ − cos Φ cos Θ sin Ψ sin Θ sin Ψ− sin Φ cos Θ sin Ψ − sin Φ cos Ψ

sin Φ cos Θ cos Ψ cos Φ cos Θ cosΨ − sin Θ cos Ψ+ cos Φ sin Ψ − sin Φ sin Ψ

cos Φ sin Θ cos Φ sin Θ cos Θ

Page 14: Spacecraft Attitude Dynamics and Control

8 G. Avanzini Spacecraft Attitude Dynamics and Control

Elementary rotations for the sequence 3–2–1

It is left as an exercise to the reader the composition of elementary rotation matrices forthe sequence 3–2–1. Adopting the same notation used above, it is

R3(ψ) =

cos(ψ) sin(ψ) 0− sin(ψ) cos(ψ) 0

0 0 1

; R2(θ) =

cos(θ) 0 − sin(θ)0 1 0

sin(θ) 0 cos(θ)

;

R1(φ) =

1 0 00 cos(φ) sin(φ)0 − sin(φ) cos(φ)

and the final result is given by

LBI =

cos θ cosψ cos θ sinψ − sin θ

sinφ sin θ cosψ sinφ sin θ sinψ sinφ cos θ− cos φ sinψ + cosφ cosψ

cos φ sin θ cosψ cos φ sin θ sinψ cosφ cos θ+ sinφ sinψ − sinφ cosψ

A first consequence of the Euler’s angle singularity

When Θ = 0, the coordinate transformation matrix does not depend on Ψ and Φ sepa-rately, but only on their sum. In such a case, it is

LBI =

cos Φ cos Ψ sin Φ cos Ψ 0− sin Φ sin Ψ + cos Φ sin Ψ

− cos Φ sin Ψ cos Φ cos Ψ 0− sin Φ cos Ψ − sin Φ sin Ψ

0 0 1

=

cos(Φ + Ψ) sin(Φ + Ψ) 0

− sin(Φ + Ψ) cos(Φ + Ψ) 0

0 0 1

As an exercise, demonstrate that LBI depends on ψ− φ only, when Bryant’s rotationsequence is employed and θ = ±π/2.

How to build elementary rotation matrices

There is a simple way to build mnemonically the elementary rotation matrices. Thematrices are 3 by 3. If a rotation of an angle α about the i-th axis is being considered,place 1 in position i, i, and fill the remaining elements of the i–th row and i–th columnwith zeroes. All the other elements of the principal diagonal are cosα and the last twooutside the diagonal are sinα. The sin element above the row with the 1 must have aminus sign. As an example, let us consider a rotation θ about the second axis (like in thesecond rotation of the Bryant’s sequence). We start filling the matrix with 0s along thesecond row and column, with a one in position 2,2:

· 0 ·0 1 0· 0 ·

Page 15: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 9

E1 E2

E3

e′

1

e′

2

e′′

2

e1

e2

e3

Ψ

Θ

Φ

Figure 1.3: Angular velocity as a funciton of Euler’s angle rates.

Then we fill the diagonal with cos θ:

cos θ 0 ·0 1 0· 0 cos θ

and we put sin θ in the remaining places, with a minus sign in the row above the 1:

cos θ 0 − sin θ0 1 0

sin θ 0 cos θ

This is R2(θ). When a rotation about the first axis is considered, the 1 is on the first rowand apparently there is no row above it. But it is sufficient to cycle and start again fromthe bottom: In this case the minus sign is on the sin in the third row.

1.2.2 Angular velocity and the evolution of Euler’s angles

The angular velocity ~ω is given by

~ω = ω1e1 + ω2e2 + ω3e3

but it is also (see Fig. 1.3)~ω = ΨE3 + Θe′

1 + Φe3

The components of the unit vector E3 in FB are given by the third column of thematrix LBI , that is E3B

= (sin Φ sin Θ, cos Φ sin Θ, cos Θ)T , while the components of e′

1

are (cos Φ,− sin Φ, 0)T . Thus

~ω = Ψ(sin Φ sin Θe1 + cos Φ sin Θe2 + cos Θe3) +

+ Θ(cos Φe1 − sin Φe2) +

+ Φe3

= (Ψ sin Φ sin Θ + Θ cos Φ)e1 +

+ (Ψ cos Φ sin Θ − Θ sin Φ)e2

+ (Ψ cos Θ + Φ)e3

Page 16: Spacecraft Attitude Dynamics and Control

10 G. Avanzini Spacecraft Attitude Dynamics and Control

or, in matrix form

ω1

ω2

ω3

=

sin Φ sin Θ cos Φ 0cos Φ sin Θ − sin Φ 0

cos Θ 0 1

Ψ

Θ

Φ

Inverting the 3 × 3 matrix, one obtains the law of evolution of Euler’s angles as afunction of angular velocity components in body axis, that is

Ψ

Θ

Φ

=

sin Φ/ sin Θ cos Φ/ sin Θ 0cos Φ − sin Φ 0

− sin Φ/ tanΘ − cos Φ/ tan Θ 1

ω1

ω2

ω3

or, in explicit form,

Ψ = (ω1 sin Φ + ω2 cos Φ)/ sin Θ

Θ = ω1 cos Φ − ω2 sin Φ

Φ = (−ω1 sin Φ − ω2 cos Φ)/ tanΘ + ω3

These equations can be integrated to obtain the evolution of the Euler angles, if theangular velocity is known. But they also show an unpleasant feature of Euler’s anglesingularity, that is the spin and precession rates go to infinity when Θ approaches 0. Thisfact has some serious consequences on the problem of attitude representation, inasmuchas it is not possible to accept a set of attitude parameters the evolution of which cannotalways be described in an accurate way.

If the Bryant’s angles are used, the reader can demonstrate that

~ω = ψE3 + θe′

2 + φe3

so that

ω1

ω2

ω3

=

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

φ

θ

ψ

and the inverse relation is

φ = ω1 + (ω2 sinφ+ ω2 cosφ) tan θ

θ = ω2 cosφ− ω3 sinφ

ψ = (ω2 sin φ+ ω3 cosφ)/ cos θ

Again, in the neighborhood of the singular condition θ = ±π/2 the rate of change of theroll and yaw angles goes to infinity.

1.2.3 The quaternions

Euler’s eigenaxis rotation theorem states that it is possible to rotate a fixed frame FI

onto any arbitrary frame FB with a simple rotation around an axis a that is fixed in bothframes, called the Euler’s rotation axis or eigenaxis, the direction cosines of which arethe same in the two considered frame.

A very simple algebraic demonstration of Euler’s theorem can be obtained from thefollowing considerations:

Page 17: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 11

• The eigenvalues of any (real) orthogonal matrix L have unit modulus.

Proof: Indicating with H the Hermitian conjugate, which, for a real matrix iscoincident with the transpose, one has

La = λa ⇒ aHLT La = λλaHa ⇒ (1 − λλ)aHa = 0

that for any nontrivial eigenvector a implies that

λλ = 1 ⇒ |λ| = 1

• At least one eigenvalue is λ = 1.

Proof: Any n×n real matrix has at least one real eigenvalue if n is an odd number,which means that a 3 × 3 orthogonal matrix must have at least one eigenvaluewhich is λ1 = ±1. The other couple of eigenvalues will be, in the most generalcase, complex conjugate numbers of unit modulus, which can be cast in the formλ2,3 = exp(±iφ). The determinant is equal to the product of the eigenvalues, whichis one, for an orthogonal matrix, so that

λ1λ2λ3 = 1 ⇒ λ1 = 1

The eigenvector relative to the first eigenvalue satisfies the relation

La = 1 · a

This means that there is a direction a which is not changed under the action of transfor-mation matrix L. If L represents a coordinate change, the vector a will be representedby the same components in both the considered reference frames,

a = a1e1 + a2e2 + a3e3

= a1E1 + a2E2 + a3E3

For this reason, the transformation that takes the initial frame onto the final one can beconsidered as a single rotation α about the Euler axis a.

In order to express the coordinate transformation matrix LBI as a function of α anda it is sufficient to consider the following sequence of rotations:1

1. take the unit vector E1 onto a, so that the new frame F ′ is given by the unit vectorsa, e′

2, e′

3; call this rotation R;

2. rotate both frames FI and F ′ about the eigenaxis of the rotation angle α; becauseof the definition of Euler rotation, FI goes onto FB, while F ′ will rotate into anew frame F ′′ given by the unit vectors a, e′′

2, e′′

3; this rotation is represented by theelementary rotation matrix R1(α);

3. at this point it should be noted that the rotation ¯R that takes F ′′ onto FB has thesame magnitude of R, but it is performed in the opposite direction so that ¯R = R

T.

1This derivation is taken from B. Wie, Space Vehicle Dynamics and Control, AIAA Education Series,Reston (VA), USA, 1998, Chap. 5, pp. 312–315 and 318–320.

Page 18: Spacecraft Attitude Dynamics and Control

12 G. Avanzini Spacecraft Attitude Dynamics and Control

(a)

E1 E2

E3

e1

e2

e3a

α

(b)

E1 E2

E3 e′

3

e′

2

a

(c)

E1 E2

E3

e1

e2

e3

e′

3

e′

2

e′′

3

e′′

2a

α

(d)

e1

e2

e3

e′′

3

e′′

2a

Summing up it is

LBI = RTR1(α)R

where

R =

a1 a2 a3

R21 R22 R23

R31 R32 R33

Carrying out the calculations, one get, for the components Lij of the coordinate transfor-mation matrix LBI the following expressions:

L11 = a21 + (R2

21 +R231) cosα

L12 = a1a2 + (R21R22 +R31R32) cosα + (R21R32 −R31R22) sinα

L13 = a1a3 + (R21R23 +R31R33) cosα + (R21R33 −R31R23) sinα

L21 = a2a1 + (R22R21 +R32R31) cosα + (R22R33 −R32R23) sinα

L22 = a22 + (R2

22 +R232) cosα

Page 19: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 13

L23 = a2a3 + (R22R23 +R32R33) cosα + (R22R33 −R32R23) sinα

L31 = a3a1 + (R23R21 +R33R31) cosα + (R23R31 −R33R21) sinα

L32 = a3a2 + (R23R22 +R33R32) cosα + (R23R32 −R33R22) sinα

L33 = a23 + (R2

23 +R233) cosα

Taking into account the orthogonality conditions for R, one gets

a21 +R2

21 +R231 = 1 ⇒ R2

21 +R231 = 1 − a2

1

a22 +R2

22 +R232 = 1 ⇒ R2

22 +R232 = 1 − a2

2

a23 +R2

23 +R233 = 1 ⇒ R2

23 +R233 = 1 − a2

3

a1a2 +R21R22 +R31R32 = 0 ⇒ R21R22 +R31R32 = −a1a2

a2a3 +R22R23 +R32R33 = 0 ⇒ R22R23 +R32R33 = −a2a3

a3a1 +R21R23 +R31R33 = 0 ⇒ R21R23 +R31R33 = −a1a2

while remembering that the first row of an orthogonal matrix is given by the cross productof the second and the third ones, it is

a1 = R22R33 − R23R32

a2 = R23R31 − R21R33

a3 = R21R32 − R22R31

Substituting these results into the expressions of the coefficients Lij the followingexpression for LBI is obtained:

LBI =

cosα+ a21(1 − cosα) a1a2(1 − cosα) + a3 sinα a1a3(1 − cosα) − a2 sinα

a2a1(1 − cosα) − a3 sinα cosα + a22(1 − cosα) a2a3(1 − cosα) + a1 sinα

a3a1(1 − cosα) + a2 sinα a3a2(1 − cosα) − a1 sinα cosα + a23(1 − cosα)

(1.2)or, in compact matrix form

LBI = cosα1 + (1 − cosα)aaT − sinαA

where 1 is the 3 × 3 identity matrix and A is the cross product equivalent matrix form

A =

0 −a3 a2

a3 0 −a1

−a2 a1 0

such that a × b = Ab.

We now define the Euler parameters or quaternions as

q0 = cos(α/2)

q1 = a1 sin(α/2)

q2 = a2 sin(α/2)

q3 = a3 sin(α/2)

By letting q = a sin(α/2) and rembering that cosα = cos2(α/2)−sin2(α/2) = q20−q·q and

sinα = 2 cos(α/2) sin(α/2) = 2q0 sin(α/2), it is easy to demonstrate that the coordinatetransformation matrix is given by

LBI = (q20 − q · q)1 + 2qqT − 2q0Q

Page 20: Spacecraft Attitude Dynamics and Control

14 G. Avanzini Spacecraft Attitude Dynamics and Control

where the ˜ indicates again the cross product matrix equivalent

Q =

0 −q3 q2q3 0 −q1−q2 q1 0

The quaternion QI = (1, 0, 0, 0)T is referred to as the unity quaternion, and it repre-sents the attitude of the reference fixed frame. The conjugate quaternion Q∗ = (q0,−qT )T ,defined as the quaternion with the same scalar part and a sign change in the vector part,is associated to an eigenaxis rotation of equal amplitude around the same eigenaxis, butin the opposite direction. The inversion of the rotation can be seen in two different ways,either as the rotation about the same axis a by an opposite angle −α, or a rotationaround the opposite axis −a by the same angle α. In both case, the vector part q of thecorresponding quaternion achieves the same value.

On the converse, if the sign of both scalar and vector part is changed, one obtainsa rotation about the opposite axis by an angle 2π − α. The final attitude achievedby means of the eigenaxis rotation (α, a) is exactly the same achieved by means of therotation (−α, 2π − a), the quaternions Q and −Q represent the same attitude. In thislatter respect, note that the reference attitude, represented by the unity quaternion QI ,is also represented by −QI = (−1, 0, 0, 0)T , which describes a 360 deg revolution aboutan arbitrary eigenaxis.

1.2.4 Quaternion multiplication

It is possible to define a geometrically/physically meaningful quaternion multiplicationoperation, which combines two quaternions, namely Q and P , in such a way that theresulting quaternion R = QP represents the final attitude of a frame that undergoes twosuccessive rotations, described by Q and P , respectively. In other words, consider threeframes F1, F2, and F3, and assume that the quaternion Q = (q0, q

T )T ,

q0 = cos(α/2) , q = a sin(α/2)

represents the eigenaxis rotation from F1 to F2, while P = (p0,pT )T ,

p0 = cos(β/2) , p = b sin(β/2)

represents the eigenaxis rotation from F2 to F3, then the quaternion

R = (r0, rT )T = QP

with

r0 = q0p0 − qT p (1.3)

r = q0p + p0q + q × p (1.4)

represents the quaternion for the rotation around the eigenaxis c of an angle γ that takesF1 directly onto F3, with γ = 2 cos−1(r0) = 2 sin−1(rT r) and c = r/||r||.

In general, it is easy to demonstrate that the quaternion multiplication operation is notcommutative (the order in which rotations are perofmed matters!), but it is associative.It is easy to check that the quaternion multiplication operation satisfies the followingproperties:

QQ∗ = QI , QQI = QIQ = Q

Page 21: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 15

1.2.5 The quaternion error vector

Assume that the current attitude of a frame FB associated with a rigid body with respectto a given fixed frame FI is represented by the quaternion Q, while P represent thedesired attitude FD of the body. The magnitude of the angular displacement between FB

and FD, represented by the amplitude ε of the eigenaxis rotation around e that takes FD

onto FB, can be seen as the “error ” in the current attitude with respect to the desiredone. Provided that the rotation that takes FI onto FD can be combined with that thattakes FD onto FB, it is possible to assess by means of the quatenion operation that

PE = Q

where E = (ǫ0, ǫT )T is the quaternion error, that is, the quaternion associated with the

rotation that takes FD onto FB, the amplitude of which thus provides the misalignmenterror of FB with respect to FD. By pre–multiplication of both terms by the conjugatequaternion P ∗ one gets

E = P ∗Q,

that is

ǫ0 = cos(ε/2) = q0p0 + qT p (1.5)

ǫ = e sin(ε/2) = −q0p + p0q − q × p (1.6)

1.2.6 Evolution of the quaternions

The evolution of the quaternions is described by the set of linear differential equations,represented in matrix form as2

q0q1q2q3

=1

2

0 −ω1 −ω2 −ω3

ω1 0 ω3 −ω2

ω2 −ω3 0 ω1

ω3 ω2 −ω1 0

q0q1q2q3

The equivalent matrix form is given by

q0 = −1

2ω · q

q =1

2(q0ω − ω × q)

1.3 Quaternions vs Euler angles

The quaternions allow for representing the attitude of a rigid body with several advantagesover Euler’s angles, above all the absence of inherent geometric singularity. Moreover, thelinear equation to be integrated in time in order to determine their evolution as a functionof angular velocity components is less computationally expensive than that derived forthe Euler’s angles. The price to pay is that 4 parameters are used, instead of only three,that are not independent, inasmuch as they must satisfy the constraint

q20 + q · q = 1

2See above, pp. 326–328

Page 22: Spacecraft Attitude Dynamics and Control

16 G. Avanzini Spacecraft Attitude Dynamics and Control

Truncation and discretization errors, that are randomly added up to the actual valueof the quaternions during numerical integration, may lead to significant violation of theconstraint on the unity value of the quaternion magnitude, which is clearly unacceptablefor the geometrical meaning of the quaternion components. The constraint must thus beenforced during numerical integration. A simple yet effective tecnique is based on addingan auxiliary term to the evolution equation, that is

q0 = −1

2ω · q + k(1 − q2

0 − qT q)q0

q =1

2(q0ω − ω × q) + k(1 − q2

0 − qT q)q

where a violation of the constraint results into a slight variation of quaternion dynamics,in order to keep them exactly on the unity hyper–sphere of the 4–dimensional space(q0, q1, q2, q3)

T .As a further drawback, their geometric interpretation during an evolution is less im-

mediate than that of the Euler’s angles, the geometric meaning of which is intuitive. Forthis reason the attitude of a satellite is often integrated in strapdown attitude determina-tion systems in terms of quaternions but then represented in terms of Euler angles. Atthe same time the quaternion multiplication operation allows for a rigorous definition ofmisalignment errors, that it is not possible to obtain by means of Euler angles. In thislatter respect, Euler angles may be significantly different also for frames that are quiteclose one to the other in absolute terms.

1.4 Other attitude representations

The non–minimality of attitude representation in terms of quaternions can be solved forby use of the Gibbs vector, defined as

g = (g1, g2, g3)T = a tan(α/2)

Gibbs parameters, also known as Rodrigues parameters, are strictly related to quaternions,as it is

(g1, g2, g3)T = (q1/q0, q2/q0, q3/q0)

T

The coordinate transformation matrix can also be represented in terms of Gibbs param-eters:

LBI = (1 − G)(1 + G)−1

Being a minimal parametrization of attitudes, Gibbs parameters must present a singu-larity.3 The singular configuration of the Gibbs vector is for any eigenaxis rotation withα = ±π, in which case their values diverge towards infinity. To solve for this problem, theso called set of Modified Rodrigues parameters (MRP) was recently introduced, defined as

p = (p1, p2, p3)T = a tan(α/4)

The singularity in the attitude representation is still present, and for a spinning bodythe value of the MRPs will “jump” when α crosses the critical threshol placed at half ofa rotation (that is, α = ±π). Nonetheless the advantage of the MRPs is that they donot diverge, but at the same time, no constraint on their value needs to be enforced inorder to save their meaning. These features make the numerical integration of MRPs lesscritical with respect to both the quaternions case and the Gibbs vector.

3Recall that Euler demonstrated that any minimal parametrization of attitudes has at least onesingular configuration

Page 23: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 17

1.5 Time derivative of vector quantities

If we consider a vector quantity in an inertially fixed reference frame FI ,

~v = XE1 + Y E2 + ZE3

its time derivative is given simply by

d~v

dt= XE1 + Y E2 + ZE3

that is [dv

dt

]

I

=

X, Y , ZT

= vI

When the same vector quantity ~v is expressed in terms of components in a moving ref-erence frame FB, rotating with angular velocity ~ωBI = ~ω with respect to FI , the timederivatives of

~v = xe1 + ye2 + ze3

is given by4

d~v

dt= xe1 + ~ω × (xe1) +

+ ye2 + ~ω × (ye2) +

+ ze3 + ~ω × (ze3)

This means that, in terms of vector components in FB, it is

[dv

dt

]

B

= vB + ωB × vB

where

vB = x, y, zT

ωB = ω1, ω2, ω3T

1.6 Euler’s equations of motion of a rigid body

1.6.1 The inertia tensor

The angular momentum δ~h of a mass element δm, moving with velocity ~v is

δ~h = ~r × (δm~v)

where ~r is the position vector of the mass, with respect of the pole used for the evaluationof moments of vector quantities.

For an extended rigid body (Fig. 1.4), the total angular momentum is given by

~h =

B

(~r × ~v)δm

Page 24: Spacecraft Attitude Dynamics and Control

18 G. Avanzini Spacecraft Attitude Dynamics and Control

E1 E2

E3

e1

e2

e3

~r0

~r

~v

~h

dm

CM

Figure 1.4: A rotating rigid body.

If the body is rotating around its center of mass, the velocity of every mass element is

~v = ~ω × ~r

so that~h =

B

[~r × (~ω × ~r)] δm

Expressing the vector quantities in body components as ωB = (ω1, ω2, ω3)T and rB =

(x, y, z)T , the vector product ~ω × ~r is given by

~ω × ~r = (ω2z − ω3y)e1 + (ω3x− ω1z)e2 + (ω1y − ω2x)e3

Carrying on the calculations, the product ~r × (~ω × ~r) is

~r × (~ω × ~r) =[

(y2 + z2)ω1 − (xy)ω2 − (xz)ω3

]e1 +

+[−(xy)ω1 + (x2 + z2)ω2 − (yz)ω3

]e2 +

+[−(xz)ω1 − (yz)ω2 + (x2 + y2)ω2

]e3

The integration over the body B of [~r × (~ω × ~r)] δm is strictly function of the massdistribution only, as angular velocity components are independent of body shape andlocation. This means that, letting

~h = h1e1 + h2e2 + h3e3

it is

h1 = Ixω1 − Ixyω2 − Ixzω3

h2 = −Ixyω1 + Iyω2 − Iyzω3

h3 = −Ixzω1 − Iyzω2 + Izω3

4Remeber the Poisson formula for the time derivative of a unit vector,

dei

dt= ~ω × ei

Page 25: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 19

where the moments of inertia Ix, Iy, Iz, and the products of inertia Ixy, Ixz, Iyz, are

Ix =

B

(y2 + z2

)δm ; Iy =

B

(x2 + z2

)δm ; Iz =

B

(x2 + y2

)δm

Ixy =

B

(xy) δm ; Ixz =

B

(xz) δm ; Iyz =

B

(yz) δm

In matrix form the angular momentum components in body axes are given by

hB = IωB

where the symmetric matrix

I =

Ix −Ixy −Ixz

−Ixy Iy −Iyz

−Ixz −Iyz Iz

is the inertia matrix that represent the inertia tensor in body axes.

The same relations can be derived directly in a more compact vector form rememberingthat, for the double vector product, the following relation holds:

~x × (~y × ~z) = (~x · ~z) ~y − (~x · ~y)~z

so that, in the present case, it is

~r × (~ω × ~r) = (~r · ~r) ~ω − (~r · ~ω)~r

Taking into account the definition of the dyadic tensor

(~x~y)~z = (~y · ~z)~x

and the fact that the angular velocity vector is constant and can be taken out of theintegral, it is

~h =

B

[~r × (~ω × ~r)] δm

=

(∫

B

[(~r · ~r) − (~r~r)] δm

)

= I~ω

where I is the inertia tensor. Expressing ~r in terms of body components and integratingover B the previous expression for the inertia matrix I is obtained.

Page 26: Spacecraft Attitude Dynamics and Control

20 G. Avanzini Spacecraft Attitude Dynamics and Control

Principal axes of inertia

The matrix I is real and symmetric, so its eigenvalues are real5 and its eigenvectors aremutually orthogonal.6 This means that there exists a body reference frame FP such thatthe inertia matrix is diagonal,

I =

Jx 0 00 Jy 00 0 Jz

where the principal moment of inertia Jx, Jy, and Jz are the eigenvalues of I. Theeigenvectors are called principal axes.

Symmetries

If the mass distribution of the body B is characterized by symmetries, this propertyreflects onto the inertia matrix I. As an example, if B has a plane of symmetry, one of theprincipal axis will be perpendicular to the plane and the other two will lie on that plane.If this case, the products of inertia relative to the axis perpendicular to the symmetryplane will be zero. This case is typical of fixed wing aircraft, where the longitudinalplane is approximately a symmetry plane. The y body axis, directed perpendicular to thesymmetry plane, is characterized by zero products of inertia, so that the inertia matrix

5From the definition of eigenvalue and eigenvector of a complex matrix A, it is easy to derive thefollowing equation,

Ax = λx ⇒ λ =xHAx

xHx

If A is Hermitian (i.e. the linear operator represented by A is self–adjoint), it is

yHAx = (Ay)Hx

so that, remembering the properties of the hermitian inner product, such that xHy = (yHx), it is

λ =xHAx

xHx=

(Ax)Hx

xHx=

xHAx

xHx= λ

which means that the eigenvalue λ is equal to its conjugate, i.e. it must be real.6Given two distinct eigenvalues λi 6= λj and their respective eigenvectors xi and xj , the following

relations hold:

Axi = λixi

Axj = λjxj

Multiplying the first equation by xHj and the second one by xH

i , taking the complex conjugate of thesecond and subtracting it from the first, one gets

xHj Axi − (xH

i Axj) = λixTj xi − (λjx

Ti xj)

Remembering that the eigenvalues are real, it is

xHj Axi − (Axj)

Hxi = (λi − λj)xHj xi

Taking into account the definition of Hermitian operator the first term of the last equation is zero and sothe Hermitian product xH

j xi is zero if λi 6= λj . Since both xj and xi are real, their Hermitian productcoincides with the scalar product, so that distinct eigenvectors are real and perpendicular.

Page 27: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 21

of an aircraft is typically equal to

I =

Ix 0 −Ixz

0 Iy 0−Ixz 0 Iz

If the body is axi-symmetric (or simply has a regular polygonal mass distributionw.r.t. an axis σ), the symmetry axis σ is a principal axis of inertia, while any couple ofperpendicular axes on the plane Σ normal to σ will complete the set of principal axes.In this case the principal moments of inertia relative to the axes perpendicular to thesymmetry axis will be equal. Assuming that σ = e3 is a symmetry axis, the inertiatensor becomes

I =

Jt 0 00 Jt 00 0 Js

where the subscripts t and s indicate the transverse and spin (or axial) moments ofinertia, respectively.

1.6.2 Kinetic energy

The rotational kinetic energy of a rigid body is given by

T =1

2

B

(~v · ~v) δm

Remembering that ~v = ~ω × ~r, the argument of the integral becomes (~ω × ~r) · (~ω × ~r).Also, taking into account the permutation property of the scalar triple product

~x · (~y × ~z) = ~y · (~z × ~x) = ~z · (~x × ~y)

one obtains the equivalence

(~ω × ~r) · (~ω × ~r) = ~ω · [~r × (~ω × ~r)]

Substituting this expression into the integral, and taking the (constant) angular velocityout of the integration symbol, one gets

T =1

2~ω ·∫

B

[~r × (~ω × ~r)] δm

that, remembering the definition of the inertia tensor, brings

T =1

2~ω ·(

I~ω)

=1

2ωT

B (IωB)

or, equivalently,

T =1

2~ω · ~h =

1

2ωT

BhB

Page 28: Spacecraft Attitude Dynamics and Control

22 G. Avanzini Spacecraft Attitude Dynamics and Control

1.6.3 Euler’s equation of motion

The second fundamental law of rigid body dynamics states that the time derivative of theangular momentum is equal to the total external torque applied to the body B. In vectorform, it is

d~h

dt= ~M

Expressing the vector quantities in body axis components one gets

hB + ωB × hB = MB

If the inertia matrix I is constant, it is

IωB + ωB × (IωB) = MB

When a set of principal axes is chosen as the body axes, the inertia tensor is diagonaland the Euler’s equation of motion for a rigid body are obtained:

Jxω1 + (Jz − Jy)ω2ω3 = M1

Jyω2 + (Jx − Jz)ω3ω1 = M2

Jzω3 + (Jy − Jx)ω1ω2 = M3

These equations can be integrated as a function of the applied torque to obtain thetime history of the angular velocity components. These, in turn, can be used to determinethe variation with time of the Euler’s angles (or of the quanternions), thus describing theevolution of the rigid body attitude.

1.6.4 Conservation of angular momentum

Writing Euler’s equations in a set of principal axes such that (without loss of generality)Jx > Jy > Jz, torque–free motion is described by the following set of ODEs,

Jxω1 + (Jz − Jy)ω2ω3 = 0

Jyω2 + (Jx − Jz)ω3ω1 = 0

Jzω3 + (Jy − Jx)ω1ω2 = 0

It is easy to demonstrate that the magnitude h of the angular momentum vector

~h = h1e1 + h2e2 + h3e3

= Jxω1e1 + Jyω2e2 + Jzω3e3

is constant when a torque–free motion is considered. A first intuitive derivation of thisproperty is that if the applied torque vanishes the angular momentum vector is constant inFI , and its magnitude is independent of the considered reference system. It is also possibleto demonstrate analytically that h = ||h|| is constant, by taking the time derivatives of

h2 = (Jxω1)2 + (Jyω2)

2 + (Jzω3)2

in the hypothesis of torque–free motion (M1 = M2 = M3 = 0),

dh2

dt= 2

(J2

xω1ω1 + J2yω2ω2 + J2

zω3ω3

)

= 2 [Jxω1(Jy − Jz)ω2ω3 + Jyω2(Jz − Jx)ω1ω3 + Jzω3(Jx − Jy)ω1ω2]

= 2 (JxJy − JxJz + JyJz − JyJx + JzJx − JzJy)ω1ω2ω3 = 0

Page 29: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 23

Geometrically, the angular velocity vector must lie on an ellipsoid (the angular momentumellipsoid) in FB, the equation of which takes the form

ω21

(h/Jx)2+

ω22

(h/Jy)2+

ω23

(h/Jz)2= 1

1.6.5 Conservation of kinetic energy

In a similar way, it is also possible to demonstrate that the kinetic energy of a rigid bodyis constant if no external torque is applied. Again, taking the time derivative of

T =1

2ωB · h =

1

2

(Jxω

21 + Jyω

22 + Jzω

23

)

it is

dTdt

= Jxω1ω1 + Jyω2ω2 + Jzω3ω3

= ω1(Jy − Jz)ω2ω3 + ω2(Jz − Jx)ω1ω3 + ω3(Jx − Jy)ω1ω2

= 2 (Jy − Jz + Jz − Jx + Jx − Jy)ω1ω2ω3 = 0

This means that the angular velocity vector must satisfy also the equation

ω21

(2T /Jx)+

ω22

(2T /Jy)+

ω23

(2T /Jz)= 1

that is, it must point the surface of the kinetic energy (or Poinsot) ellipsoid in FB. Thecombination of these two last results demonstrate that the angular velocity vector describethe curve given by the intersection of the angular momentum ellipsoid and the kineticenergy ellipsoid, which is called the polhode.

1.7 Generalised Euler equation

In their original formulation, Euler equations are written in a body–fixed reference frameFB with the origin in the center of mass O of the body B. On one side, the expressionemployed for the angular momentum h of B requires that B is rigid, and centering B inO greatly simplify the expression. At the same time, linear and angular momentum con-servation laws do apply to any mechanical system (under sufficiently mild assumptions),so that it is possible to obtain a generalised formulation for the equation of motion in aframe which is non centered in O.

1.7.1 Derivation of the generalised form of Euler equation

The classical equations, referred to the center of mass O, are

m~aO = ~F

d~hO

dt= ~MO

where, m is the mass of B and ~F is the external force, producing an acceleration ~aO ofthe center of mass. Considering an arbitrary point A with arbitrary motion with respect

Page 30: Spacecraft Attitude Dynamics and Control

24 G. Avanzini Spacecraft Attitude Dynamics and Control

to the body, such that ~rAO is the position vector of the centre of mass O with respect toA, the torque acting on the body can be referred to A,

~MA = ~MO + ~rAO × ~F

As for the angular momentum relative to A, it is

~hA =

B

[

~rAP × d~rAP

dt

]

δm

where ~rAP is the position vector of the mass element δm with respect to A, while d~rAP/dt

its (relative) velocity. Upon substitution of ~rAP = ~rAO + ~rOP into the expression for ~hA,one obains

~hA =

B

[

(~rAO + ~rOP ) × d

dt(~rAO + ~rOP )

]

δm

=

B

[

~rAO × d~rAO

dt

]

δm+

B

[

~rAO × d~rOP

dt

]

δm+

+

B

[

~rOP × d~rAO

dt

]

δm+

B

[

~rOP × d~rOP

dt

]

δm

The last term is the angular momentum with respect to the centre of mass

~hO =

B

[

~rOP × d~rOP

dt

]

δm

while the second and the third one are both zero, from the definition of centre of mass.7

It is thus possible to write ~hA as

~hA = ~hO +m~rAO × d~rAO

dt

The acceleration of O can be rewritten as a function of the absolute acceleration of A

~aO = ~aA +d2~rAO

dt2

By substituting the above expressions in the angular momentum equation, one gets

d

dt

(

~hA −m~rAO × d~rAO

dt

)

= ~MA − ~rAO ×[

m

(

~aA +d2~rAO

dt2

)]

which can be rewritten asd~hA

dt+ ~SA × ~aA = ~MA

where ~SA = m~rA is the static moment of the body with respect to A.

7If m is the total mass of the body, the absolute position of the centre of mass is defined as

~rO =1

m

B

~rOP δm

so that, letting the position vector of P with respect to O be defined as ~rOP = ~rP − ~rO, it is∫

B

~rOP δm = 0.

Taking into account that integration is a linear operator, that can be commuted with the time derivative,both the second and the third terms vanishes.

Page 31: Spacecraft Attitude Dynamics and Control

1. Rigid Body dynamics 25

1.7.2 Use of the generalised form of Euler equation

The generalised form of classical Euler equation allows for writing dynamic models of sys-tems where the mass distribution is not constant. On one side, the assumption of rigidityoften applies with reasonable accuracy to many spacecraft, at least over a relatively longtime–scale. As an example, the slow consumption of fuel during the whole operationallifetime of the vehicle (years) causes a shift of the centre of mass, but the knowledge ofthe current value is usually sufficient for describing manoeuvers over a faster time–scale(minutes). On the converse, it is sometimes necessary to take into account phenomenawhere variations of the mass distribution affects significantly the vehicle’s attitude dynam-ics. Flexible solar panels or other appendages or fuel sloshing in the tanks, the motionof which can be excited by an attitude or an orbit manoeuvre, may cause as a reactionoscillations of the spacecraft with respect to the desired attitude, which may harm overallpointing accuracy, unless properly damped passively by the inherent vehicle stability oractively by its automatic control system. Sometimes, a satellite may feature a nutationdamper, where a mass moving within a viscous liquid induces dissipation in order toasymptotically stabilise a pure spin condition (see Chapter 3).

If the centre of mass O does not maintain a fixed position with respect to the bodyand one must choose whether (i) keeping the reference frame centred in O or (ii) choosinganother reference point, allowing for displacements of O with respect to the origin of theframe. In the second case, the generalised form of Euler equation can be employed forthe angular momentum balance, the current position of the centre of mass and the inertiatensor being usually available from the knowledge of the (current) mass distribution.The major advantage of the second approach lies in the fact that it is often possible toidentify a frame which is fixed with respect to the rigid structure of the spacecraft, whichallows to describe intuitively the orientation of the spacecraft itself and its equipment(antennae, sensors, and so on). If the first approach is taken, the pseudo–body framemoves with respect to the spacecraft structure because of changes in the mass distribution,so that the knowledge of its attitude does not imply the knowledge of spacecraft andsensor orientation. Moreover, the expressions of the attitude equations are usually rathercomplex.

Page 32: Spacecraft Attitude Dynamics and Control

26 G. Avanzini Spacecraft Attitude Dynamics and Control

Page 33: Spacecraft Attitude Dynamics and Control

Chapter 2

Passive Stabilisation of RigidSpacecraft

Spin stabilisation in a simple, low cost and effective means of attitude stabilisation. Priorto, or just after deployment, the satellite in spun up about its axis of symmetry. Forthis reason, spin stabilised satellites are usually short cylinders. The angular momen-tum accumulated about the spin axis the provides “gyroscopic stability” against externaldisturbance torques.

Although simple and reliable, spin stabilised satellites are inefficient for power gener-ation. Since the satellite is continually spinning, the entire surface of the satellite mustbe covered with solar cells. In addition, payload efficiency is particularly low when onlyone direction is fixed in space and maneuvering of the spin axis complex.

When the requirement on pointing accuracy is weak (of the order of some tenths ofa degree) gravity–gradient torque may be used for stabilizing an Earth pointing satellite,while the use of a dual–spin system allows one to despin a part of the satellite, whileproviding gyroscopic stability to the whole spacecraft.

2.1 Torque–free motion of axi–symmetric satellites

2.1.1 Angular velocity

The principal moments of inertia of an axi–symmetric satellite will be given by

Jt = Jx = Jy

Js = Jz

where the subscripts t and s stand for transverse and spin, respectively, and we assumethat the symmetry axis coincides with the third (e3) axis of the body frame FB.

During the spin–up manoeuver, the satellite will accumulate angular momentum aboutthe spin axis, but because of various perturbations or imperfections, such as thrustermisalignment, the final condition at the end of the spin–up will hardly be a pure spinabout the spin axis e3. The imperfections will cause some (hopefully residual) nutation.

For torque–free motionsM1 = M2 = M3 = 0

of axial symmetric spacecraft, Euler’s equations take the following form:

Jtω1 + (Js − Jt)ω2ω3 = 0

27

Page 34: Spacecraft Attitude Dynamics and Control

28 G. Avanzini Spacecraft Attitude Dynamics and Control

Jtω2 + (Jt − Js)ω1ω3 = 0

Jsω3 = 0

The first two equations are coupled, while the third one is independent of the othertwo. This means that the latter one can be integrated on its own. The resulting (trivial)solution is given by

ω3 = Ω

where Ω is the (constant) spin rate about the spin axis.Letting

λ =Js − Jt

JtΩ

the first two equations can be rewritten as

ω1 + λω2 = 0

ω2 − λω1 = 0

Multiplying the first equation by ω1 and the second by ω2 and summnig up, one gets

ω1ω1 + ω2ω2 = 0

that is

ω21 + ω2

2 = ω212 = constant

This means that the component of the angular velocity vector ~ω that lies in the e1 − e2

plane, namely

~ω12 = ω1e1 + ω2e2

has a constant magnitude. As also ω3 is constant, we get that

||~ω|| = ω21 + ω2

2 + ω23 = ω2

12 + Ω2 = constant

The first two equations of motion,

ω1 + λω2 = 0

ω2 − λω1 = 0

can be easily integrated. In fact, deriving the first one with respect to the time t, one gets

ω1 + λω2 = 0

that, taking into account the second equation, becomes

ω1 + λ2ω1 = 0

which is formally identical to the well known equation of the linear harmonic oscillator.The general solution

ω1(t) = A cos(λt) +B sin(λt)

for initial conditions

ω1(t = 0) = ω1,0 ; ω1(t = 0) = ω1,0

Page 35: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 29

−0.1

−0.05

0

0.05

0.1

ω1 [r

ad s

−1 ]

−0.1

−0.05

0

0.05

0.1

ω2 [r

ad s

−1 ]

0 0.5 10

0.05

0.1

0.15

t [103 s]

ω3 [r

ad s

−1 ]

Figure 2.1: Time–history of angular velocity components for a torque–free spin condition.

becomes

ω1(t) = ω1(0) cos(λt) +ω1(0)

λsin(λt)

= ω12 sin[λ(t− t0)]

Deriving the solution for ω1 w.r.t. t and substituting into the first equation, it is

ω2 = − ω1

λ= ω1(0) sin(λt) − ω1(0)

λcos(λt)

= −ω12 cos[λ(t− t0)]

The evolution of ω1 and ω2 shows that ~ω12 whirls around e3 with angular velocity λ.Writing the angular velocity as

~ω = ~ω12 + Ωe3

during the evolution, ~ω describes a cone around the axis of symmetry e3 of the spinningbody, which is called the body cone.

The angular momentum vector can be written in the form

~h = J1ω1e1 + J2ω2e2 + J3ω3e3

= Jt(ω1e1 + ω2e2) + Jsω3e3

= Jt~ω12 + JsΩe3

It can be observed that ~h and ~ω are both a linear combination of the vectors ~ω12 ande3. Thus, during the motion of the spinning body, the vectors ~h, ~ω and e3 lie in the sameplane Π, that rotates around e3, if we look at the motion from FB.

In the most general case ~h and ~ω are not aligned. They are aligned only if ω12 = 0,that is, if we have a pure spinning motion about the symmetry axis. This is the desiredspin condition, where a sensor placed on the satellite on its symmetry axis points a fixed

Page 36: Spacecraft Attitude Dynamics and Control

30 G. Avanzini Spacecraft Attitude Dynamics and Control

e1 e2

e3

~ω~h

~ω12

~h12

Π

AAA

BB

PPq) γ

PPPPq

θ

Figure 2.2: Torque–free spinning of an axi–symmetric satellite as seen in FB.

direction in space. If ω12 6= 0, the motion of the spinning body is more complex (and thepointing less accurate). A geometric description of this motion will now be derived.

The assumption of torque–free motion, ~M = 0, implies that

d~h

dt= ~M = 0 =⇒ ~h = constant

in the inertial frame, and Π rotates around ~h, if we look at the motion from FI .It is possible to define two angles, θ and γ, that remains constant in time,

tan θ =h12

h3

=Jtω12

Jsω3

tan γ =ω12

ω3

=⇒ tan θ =Jt

Jstan γ

Without loss of generality, it is possible to choose the unit vector E3 of the (inertiallyfixed) reference frame FI parallel to the (inertially constant) direction of the angularmomentum vector. Under this assumption, the nutation angle Θ (that is, the anglebetween E3 and the symmetry axis e3) coincides with the (constant) angle θ definedabove. This means that θ ≡ Θ represents the (constant) nutation angle and it defines theorientation of the symmetry axis e3 in the inertial space. The angle γ is the semi–apertureof the body–cone.

As an immediate consequence, also the angle between ~h and ~ω, equal to |θ − γ|, is

constant, and ~ω describes a cone around ~h, fixed in the inertial frame, the space cone.

Page 37: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 31

E1 E2

E3 ‖ ~h~ω

e3

Figure 2.3: Torque–free spinning of an axi–symmetric satellite as seen in FI .

The body cone is attached to the body axes, but it is not fixed in space. On theconverse, the space cone, attached to the vector ~h, that is constant in the inertial frame,is fixed in FI . The two cones remains tangent along ~ω, that is the axis of instantaneousrotation of the body, and the motion of the satellite can be represented by the body conerolling along the surface of the space cone.

As a final observation, it should be noted that, when Js > Jt (oblate body, that isa disk–shaped body), it is γ > θ, and the space cone is inside the body cone. On theconverse, when Js < Jt (prolate body, that is a rod–shaped body), it is γ < θ, and thespace cone is outside the body cone.

2.1.2 Attitude (in terms of Euler angles)

For what concern the attitude resulting from such a motion, substituting the expressionsfor the angular velocity components determined above in the following equation,

ω1 = Ψ sin Φ sin Θ + Θ cos Φ

ω2 = Ψ cos Φ sin Θ − Θ sin Φ

ω3 = Ψ cos Θ + Φ

From the equivalence derived above, Θ ≡ θ = constant, one gets Θ = 0. This relationcan be substituted in the above equations, together with the solution for the angularvelocity components, so that one gets

Ψ sin Φ sin Θ = ω12 sin[λ(t− t0)]

Ψ cos Φ sin Θ = −ω12 cos[λ(t− t0)]

Ψ cos Θ + Φ = Ω

By squaring and summing the first two equations, it is evident that

Ψ2 sin2 Θ = (ω12)2

Page 38: Spacecraft Attitude Dynamics and Control

32 G. Avanzini Spacecraft Attitude Dynamics and Control

so that Ψ is constant; Ψ is called precession rate or coning speed, and it is the angularvelocity of the line of the nodes on the horizontal plane.

Dividing the first equation by the second, the spin angle Φ is determined,

tan Φ = − tan[λ(t− t0)] ⇒ Φ = −λ(t− t0)

Deriving w.r.t. time, the inertial spin rate is obtained

Φ = −λ

that is also constant. At this point, it is possible to evaluate the precession rate from thethird equation,

Ψ cos Θ + Φ = Ω ⇒ Ψ =Ω − Φ

cos Θ

But from the definition of λ,

λ =Js − Jt

Jt

Ω ⇒ Ω =Jt

Js − Jt

λ =Jt

Jt − Js

Φ

one gets

Ψ =Js

Jt − Js

Φ

cos Θ

If Jt > Js, that is we have a prolate body, Ψ and Φ have the same sign and we havedirect precession, that is the precession rate is in the same direction of the spin rate. Onthe converse, if Js > Jt and an oblate body is dealt with, Ψ and Φ have different signsand we have retrograde precession, the precession rate being in the opposite direction withrespect to the spin rate.

An observation

It is important to note that the derivation presented in this paragraph are valid for anyrigid body which has two equal principal moment of inertia. This is a category much widerthan that of axi–symmetric bodies, including any prism with a basis made of a regularpolygon, but also any other body of irregular shape such that there exists a set of principalaxes of inertia such that Jx = Jy 6= Jz.

2.2 Torque–free motion of tri–inertial satellites

An analytical solution of the motion of tri–inertial rigid body can be derived in terms ofJacobi elliptic functions. Luckily there is also a geometric description of the same motion,due to Poinsot, which is much simpler, nonetheless extremely useful for the descriptionof the dynamics of an arbitrary rigid body.

Remembering that the kinetic energy

T =1

2~ω · ~h = d

and the angular momentum vector h are constant, it is possible to consider the (constant)dot product

~ω ·~h

h=

2Th

(2.1)

Page 39: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 33

~h

O

N

d

σ

Figure 2.4: The invariable plane.

as the length d of a (constant) segment ON along the direction of ~h. The invariable plane

σ, which is the plane perpendicular to the direction of ~h, placed at a distance d from thebody center of mass O, is thus fixed in FI , and it represents the locus of all the possible~ω that satisfy Eq. (2.1). Remembering that the Poinsot ellipsoid is the locus of all thepossible ~ω that satisfy the kinetic energy equation, the intersection between the ellipsoidand the invariable plane must contain the angular velocity vector.

It is easy to demonstrate that such an intersection is a single point P , i.e. the Poinsotellipsoid and the invariable plane are tangent. Since the time derivative of the kineticenergy is zero,

dTdt

=1

2

d~ω

dt· ~h

the increment d~ω and ~h are perpendicular, thus d~ω lie on σ. But since the vector ~ω +d~ωmust be also on the Poinsot ellipsoid, d~ω must be tangent to its surface. These twoconditions can be satisfied only if the Poinsot ellipsoid is always tangent to σ. Moreover,the Poinsot ellipsoid is fixed in the body frame FB, so that d~ω is the same in both FI

and FB. This means that the Poinsot ellipsoid rolls without slipping on σ.

2.2.1 Drawing the polhode curves

The locus of all the possible ~ωs on the Poinsot ellipsoid is given by the polhode curve, whichis the intersection between the Poinsot ellipsoid and the angular momentum ellipsoid.Thus, during the rolling motion, the tangent point moves on the Poinsot ellipsoid alongthe polhode. The trajectory of the tangency point on σ is the herpolhode. When the bodyis axisymmetric, both the polhode and the herpolhode are circles and the situation canbe depicted in terms of space and body cones. In general the herpolhode is not a closedcurve, but the polhode must be a closed curve on the Poinsot ellipsoid, inasmuch as aftera revolution around the spin axis ~ω must attain again the same value, in order to satisfyconservation of both kinetic energy and angular momentum.

In order to draw the shape of the polhodes on the Poinsot ellipsoid, it is sufficient to

Page 40: Spacecraft Attitude Dynamics and Control

34 G. Avanzini Spacecraft Attitude Dynamics and Control

~h

d~ω~ω

O

N

d

σ+

Figure 2.5: The Poinsot ellipsoid rolls on the invariable plane.

recall the equations of the Poinsot ellipsoid and the angular momentum ellipsoid, that are

ω21

(2T /Jx)+

ω22

(2T /Jy)+

ω23

(2T /Jz)= 1

ω21

(h/Jx)2+

ω22

(h/Jy)2+

ω23

(h/Jz)2= 1

Subtracting the first equation from the second and multiplying the result by h2, one getsthe polhode equation:

Jx

(

Jx −h2

2T

)

ω21 + Jy

(

Jy −h2

2T

)

ω22 + Jz

(

Jz −h2

2T

)

ω23 = 0

In order to have real solutions for the above equation, the three coefficients cannothave the same sign. For this reason the parameter J∗ = h2/(2T ) must lie between themaximum and the minimum moment of inertia. Assuming, without loss of generality,that Jx > Jy > Jz, it is

Jz ≤ J∗ ≤ Jx

The easiest way to determine the shape of the polhodes is to consider their projectiononto the planes of the three–dimensional space ω1–ω2–ω3. Eliminating ω3 between theequations of the two ellipsoids brings the equation

Jx(Jx − Jz)ω21 + Jy(Jy − Jz)ω

22 = 2T (J∗ − Jz)

which represents an ellipse, since all the coefficients are positive. Similarly, eliminatingω1 one gets

Jy(Jy − Jx)ω22 + Jz(Jz − Jx)ω

23 = 2T (J∗ − Jx)

which is again the equation of an ellipse, inasmuch as all the coefficients are negative. Onthe converse, eliminating ω2, which is the angular velocity component with respect to theintermediate axis, brings

Jx(Jx − Jy)ω21 + Jz(Jz − Jy)ω

23 = 2T (J∗ − Jy)

Page 41: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 35

−2−1

01

2

−2−1

01

2

−2

−1

0

1

2

ω1

ω2

ω3

Figure 2.6: Polhode curves on the Poinsot Ellipsoid.

which represent a hyperbola, the coefficients of the left–hand side being of different sign.It should be noted that, depending on the sign of J∗ − Jy, which can be either positiveor negative, the axis of the hyperbola will be vertical or horizontal, in the ω1–ω3 plane.When J∗ = Jy, the polhode equation degenerates into the form

Jx (Jx − J∗)ω21 + Jz (Jz − J∗)ω2

3 = 0

which represents the separatrices, the boundaries of motion about the axis of maximumand minimum inertia.

2.2.2 Stability of torque–free motion about principal axes

Spinning about any of the principal axis is an equilibrium condition for a rigid body ofarbitrary inertias. The shape of the polhodes already provide an information about thestability of these equilibria, the axes of maximum and minimum inertia being centressurrounded by finite size orbits, while the intermediate axis is a saddle point, that is asmall perturbation will take the angular velocity vector “far” from the initial point in theneighborhood of the saddle.

These facts can be demonstrated analytically. Let us consider a spinning motion aboutthe z axis of the principal frame, such that ~ω0 = Ωe3. Assuming that ~ω = ~ω0 + ∆~ω,where the body frame components of ∆~ω, given by ∆ωB = ω1, ω2, ω3T , are smallperturbations with respect to Ω, Euler’s equations can be rewritten as follows

Jxω1 + (Jz − Jy)Ωω2 = 0

Jyω2 + (Jx − Jz)Ωω1 = 0

Jzω3 = 0

where second and higher order terms were neglected. The third equation is decoupled,thus stating that a perturbation on the spinning axis does not affect the other two. The

Page 42: Spacecraft Attitude Dynamics and Control

36 G. Avanzini Spacecraft Attitude Dynamics and Control

first two equations can be rewritten in matrix form

ω1

ω2

=

[0 (Jy − Jz)Ω/Jx

(Jz − Jx)Ω/Jy 0

]ω1

ω2

The characteristic equation is thus given by

λ2 + Ω2 (Jy − Jz)(Jx − Jz)

JxJy= 0

If the spin axis is the intermediate one, the product (Jy −Jz)(Jx −Jz) is negative, oneof the two factor being positive and the other one negative. In this case, both roots arereal,

λ = ±Ω

−(Jy − Jz)(Jx − Jz)

JxJy

and one of the two eigenvalues is positive. This means that spinning around the interme-diate axis is an unstable equilibrium for the spinning rigid body.

On the converse, if the spin axis is the axis of maximum moment of inertia, it isJy < Jz and Jx < Jz, while spinning around the axis of minimum inertia makes Jy > Jz

and Jx > Jz. In both these latter two cases, the roots

λ = ±iΩ√

(Jy − Jz)(Jx − Jz)

JxJy

are pure imaginary and the stability analysis based on the linearized model in inconclu-sive, inasmuch as the sufficient condition for stability requires that the real part of theeigenvalues is strictly negative. But because of conservation of energy and angular mo-mentum, the solution is confined in a neighbourhood of the pure spin condition, so thatthe neglected nonlinear terms cannot induce divergence. This means that the pure spincondition about the axes of minimum and maximum inertia is Ljapunov (although notasymptotically) stable.

2.3 Nutation Damping

Nutation damping is a simple yet effective way to restore a state of pure spin, if a nu-tation angle different from zero should be induced by some external cause. We will nowinvestigate how it is possible to exploit the effects of energy dissipation in order to makea pure spin condition asymptotically stable.

2.3.1 Effects of energy dissipation

As a matter of fact, the rigid body is an abstraction. Usually flexible appendages and/orfuel sloshing induce some energy dissipation the effects of which can be easily determinedat least in the case of axi–symmetric satellites by use of the energy sink model.

The kinetic energy of a rotating rigid body is given by

T =1

2

(Jxω

21 + Jyω

22 + Jsω

23

)

Page 43: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 37

The expression for T can be rearranged for the axi–symmetric case in the form

T =1

2Jt(ω

21 + ω2

2)︸ ︷︷ ︸

transverse

+1

2JsΩ

2

︸ ︷︷ ︸

spin

At the same time, the angular momentum is

~h = Jtω1e1 + Jtω2e2 + Jsω3e3 ⇒ h2 = J2t (ω2

1 + ω22) + J2

s Ω2

so that the quantity (2JsT − h2) is

(2JsT − h2) = JsJt(ω21 + ω2

2) + J2s Ω2 − J2

t (ω21 + ω2

2) − J2s Ω2

= Jt(ω21 + ω2

2)(Js − Jt)

By taking the time derivatives of both sides of the equation, and remembering that,for zero external torque the angular momentum vector remains constant, one gets

dTdt

=1

2

Jt

Js(Js − Jt)

d

dt(ω2

1 + ω22)

If there is no dissipation, T = 0 and ω21 + ω2

2 is constant (as already demonstratedin Section 2.1.1). If there is dissipation, T < 0, which means that, assuming an ap-proximately constant mass distribution, so that the moments of inertia are unaffected,ω2

1 +ω22 must either grow or decrease. It should be noted that, if the body is oblate, than

Js − Jt > 0 and d(ω21 + ω2

2)/dt < 0, which meand that the transverse component of theangular velocity vector is decreasing. Dissipation will stop only when it is ω2

1 + ω22 = 0,

that is, when a pure spin condition is reached. In such a case, dissipation turns thepure spin condition into an asymptotically stable equilibrium: a displacement from sucha condition will be damped out at the expenses of a reduction of the system energy.

On the converse, if the body is prolate and Js − Jt < 0, than dissipation induces anincrease of the transverse angular velocity component, as in order to satisfy the equation,d(ω2

1 + ω22)/dt must be positive. This means that the nutation angle is growing, being

proportional to ω12/Ω. In such a case the pure spin condition about the symmetry axis,which was stable in the sense of Lyapunov for the perfect rigid case, becomes unstable.Although divergence is usually slow, the nutation angle will steadily increase with time.

The rate of variation of the nutation angle is slow enough to make its rate negligiblewith respect to Ψ. Under this assumption it is possible to state that

ω21 + ω2

2 ≈ Ψ2 sin2 Θ

and, as a consequence, it is possible to formulate the energy decay rate as

dTdt

=1

2

Jt

Js

(Js − Jt)d

dt(Ψ2 sin2 Θ)

Moreover, for small nutation angles the precession rate can also be considered approx-imately constant, and differentiation with respect to time bring the following expression:

dTdt

=Jt

Js

Ψ2(Js − Jt) sin Θ cos ΘΘ

When energy is dissipated and T < 0, the quantity (Js − Jt) sin(2Θ)Θ must also benegative, and a nutation rate is induced by dissipation. As qualitatively shown previously,

Page 44: Spacecraft Attitude Dynamics and Control

38 G. Avanzini Spacecraft Attitude Dynamics and Control

−0.1

−0.05

0

0.05

0.1

ω1 [r

ad s

−1 ]

−0.1

−0.05

0

0.05

0.1

ω2 [r

ad s

−1 ]

0 0.5 10

0.05

0.1

0.15

t [103 s]

ω3 [r

ad s

−1 ]

Figure 2.7: Time–history of angular velocity components with nutation damping.

if the satellite is an oblate body and Js > Jt, Θ is negative for small nutation angles, andtends to decrease with time because of dissipation. This means that spinning around thesymmetry axis is asymptotically stable, as Θ → 0. For a prolate body, when Js < Jt, theresulting nutation rate is positive and the nutation angle increases with time: the satellitetends towards a flat spin condition, Θ → π/2.

Note that both the pure–spin and flat–spin conditions are always equilibria for thesatellite, regardless of its shape, inasmuch as T = 0 and Θ = 0 if either Θ = 0 or π/2,but the stability of these equilibria is affected by the mass distribution.

Also note that as ω1 and ω2 are damped out in the stable case, ω3 increases becauseof conservation of angular momentum. Letting Ωf be the final spin rate, it is

h2 = J2t (ω2

1 + ω22) + J2

s Ω2 = J2s Ω2

f

Therefore,

Ω2f = Ω2 +

J2t

J2s

(ω21 + ω2

2)

and the final spin rate results higher than the initial one, as expected (Fig. 2.7). In theunstable case, dissipation will make the spin angular velocity component drop towardszero as the angular momentum is transferred by dissipation in the transverse direction.

2.3.2 Equations of motion of a rigid satellite with damper

In a real system there are several causes that induce energy dissipation, such as fuelsloshing. Most satellites use thruster to actively remove nutation and maintain the desiredpure spin condition, when the nutation angles increases beyond a prescribed threshold.For oblate bodies a nutation damper provides a very simple and useful means for passivelystabilizing the pure spin motion. An example of damper is the ball–in–tube: a plastic tubeis filled with viscous fluid and a ball bearing is free to move in the fluid, thus dissipating

Page 45: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 39

A

O~b

(md/m)ξ

md

ξ

~n

e1

e2

e3

+u

Figure 2.8: A satellite equipped with a “ball–in–tube” damper.

energy. The only drawback of this technique is that it may take several minutes (if nothours) to remove nutation.

In order to derive the equations of motion of a satellite equipped with a spring–mass–dashpot damper, it is necessary to consider the generalized form of the Euler equation,

d~hA

dt+ ~SA × ~aA = ~MA

written in a reference frame FA fixed with respect to the satellite platform P, with originin the point A, which is the center of mass of the satellite when the damper mass md isin the undeformed position P (ξ = 0) for the spring. All the “moments” are taken withrespect to A.

Assuming that I0 is the inertia tensor when ξ = 0, the inertia tensor in the generalcase is given by

I = I0 +md

[

(ρ2 − b2)1 − (~ρ~ρ − ~b~b)]

where the position vector ~ρ of the mass is

~ρ = ~b + ξn

n being the orientation of the damper and ~b the position vector of P . The overall angularmomentum is

~h = I~ω +mdξ(~ρ × n)

= I~ω +mdξ(~b × n)

where ~ω is the angular velocity of P. It is then possible to write the time derivative of ~h

Page 46: Spacecraft Attitude Dynamics and Control

40 G. Avanzini Spacecraft Attitude Dynamics and Control

in FA as(

d~h

dt

)

A

= hA + ωA × hA

= IωA + IωA +mdξ(bA × nA) + ωA ×[

IωA +mdξ(bA × nA)]

The time derivative of the inertia matrix I is

I = md

[d(ρ2)

dt1 − (ρAρT

A + ρAρTA)

]

where, being ρ2 = ξ2 + 2ξbTAnA + b2, it is

d(ρ2

d)t = 2ξ(ξ + bT

AnA)

whileρA = ξnA ⇒ ρAρT

A + ρAρTA = ξ(bAnT

A + nAbTA + 2ξnAnT

A)

Summing up, it is

I = mdξ[2(ξ + bT

AnA)1 − bAnTA − nAbT

A − 2ξnAnTA

]

At this point, all the elements required for writing the time derivative of the angularmomentum in FA are explicitly given. In order to express the term ~S × ~aA, it is nownecessary to derive the actual position of the center of mass O, given by

~rAO =md

mξn

where m is the overall satellite mass. The static moment can thus be written as

~SA = m~rAO = mdξn ⇒ SA = mrA = mdξnA

At the same time, assuming that the external force ~F is zero, the absolute accelerationof the center of mass O is also zero. Writing the absolute position of the centre of massas ~rO = ~rA + ~rAO, the resulting (absolute) acceleration of A is

~aA = ~aO − d2~rAO

dt2= −d2~rAO

dt2

By means of a double application of the rule for the time derivative of a vector quantityin the rotating frame fixed to the spacecraft bus, FA, it is

(d2~rAO

dt2

)

A

= rAO + 2ωA × rAO + ωA × rA + ωA × (ωA × rA)

whererAO =

md

mξn ; rAO =

md

mξn

As a consequence, it is

(~S × ~aA)A = −mdξnA ×(md

m

) [

ξnA + 2ξωA × nA + ξωA × nA + ξωA × (ωA × nA)]

= −(m2

d

m

)[

2ξξnA × (ωA × nA) + ξ2nA × (ωA × nA) + ξ2(ωTAnA)(nA × ωA)

]

Page 47: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 41

In order to complete the model, it is necessary to derive the equation of motion forthe damper mass md. The position of md with respect to the (inertially fixed) center ofgravity O is given by

~rm = −~rAO + ~b + ξn

so that Newton’s second law can be written as

d2~rm

dt2=

1

md

~F m

where ~F m is the overall force acting on md. By expressing all the vector quantities in FA

one gets

md

(d2rmA

dt2

)

A

= F mA

Working out the expression of rmA, it is

(d~rm

dt

)

A

= rmA+ ωA × rmA =

= −rAO + ξnA + ωA × (−rA + bA + ξnA)

= (1 −md/m)ξnA + ωA × [(1 −md/m)ξnA + bA](

d2~rm

dt2

)

A

= (1 −md/m)ξnA + ωA × [(1 −md/m)ξnA + bA] +

+ 2(1 −md/m)ξωA × nA + ωA × ωA × [(1 −md/m)ξnA + bA]

Since md has only one degree of freedom along the direction n, it is sufficient to consideronly the component of motion along n itself, which is obtained by taking the scalarproduct of Newton’s law times nA. Since all the terms like nT

A(ωA × nA) are zero,this simplify the expression of the absolute acceleration component of md along n. Theequation of motion of md thus becomes1

−(c/md)ξ − (k/md)ξ = (1 −md/m)ξ + nTA(ωA × bA) +

+ (nTAωA)

ωT

A [(1 −md/m)ξnA + bA]

− ω2[(1 −md/m)ξ + nT

AbA

]

where the only forces acting on md along n are the viscous damping term and the elasticforce of the spring.

Collecting all the terms, it is now possible to write the equation of motion in FA of arigid satellite equipped with a damper placed in an arbitrary position ~b, with arbitraryorientation n:

IωA + IωA +mdξ(bA × nA) + ωA ×[

IωA +mdξ(bA × nA)]

+

−(m2

d

m

)[

2ξξnA × (ωA × nA) + ξ2nA × (ωA × nA) + ξ2(ωTAnA)(nA × ωA)

]

= MA

(1 −md/m)ξ + nTA(ωA × bA) + (nT

AωA)ωT

A [(1 −md/m)ξnA + bA]

+

−ω2[(1 −md/m)ξ + nT

AbA

]+ (c/md)ξ + (k/md)ξ = 0

1To complete the transformaiton, it is necessary to apply the double vector product rule

~x × (~y × ~z) = (~x · ~z)~y − (~x · ~y)~z

to the last term.

Page 48: Spacecraft Attitude Dynamics and Control

42 G. Avanzini Spacecraft Attitude Dynamics and Control

2.3.3 A practical case: the axial damper

The equation of motion for the torque–free motion ( ~MA = 0) of a rigid satellite equippedwith a damper will now be specialized to the case where the damper is mounted parallelto the z–axis, that is n = e3. Also, a set of principal axes of inertia for the configurationwith ξ = z = 0 is chosen as the reference frame FA and it is assumed that ~b = be1. Thismeans that

nA = (0, 0, 1)T ; bA = (b, 0, 0)T ; ρA = (b, 0, z)T

Under these assumptions the inertia matrix is

I =

Jx +mdz2 0 −mdbz

0 Jy +mdz2 0

−mdbz 0 Jz

and its time derivative is

I =

2mdzz 0 −mdbz0 2mdzz 0

−mdbz 0 0

Also,bA × nA = be1A

× e3A= −be2A

= (0,−b, 0)T

The additional term of the generalized Euler equation is given by

(~S × ~aA)A = −(m2

d

m

)

2zzω1 + z2ω1 − z2ω2ω3

2zzω2 + z2ω2 + z2ω1ω3

0

Collecting all the terms, one gets the following system of ordinary differential equations,

Jxω1 + (Jz − Jy)ω2ω3 +md(1 −md/m)z2ω1 −mdbzω3 + 2md(1 −md/m)zzω1 +

−mdbzω1ω2 −md(1 −md/m)z2ω2ω3 = 0

Jyω2 + (Jx − Jz)ω1ω3 +md(1 −md/m)z2ω2 −mdbz + 2md(1 −md/m)zzω2 +

+mdbz(ω21 − ω2

3) +md(1 −md/m)z2ω1ω3 = 0

Jzω3 + (Jy − Jx)ω1ω2 −mdbzω1 − 2mdbzω1 +mdbzω2ω3 = 0

As for the motion of the damper mass, it is

(1 −md/m)z − bω2 + bω1ω3 − (1 −md/m)z(ω21 + ω2

2) + (c/md)z + (k/md)z = 0

Equilibria and stability of a spinning satellite with axial damper

It is easy to show that a condition of spin about the z–axis with the damper mass in its restposition is an equilibrium for a rigid satellite equipped with a damper such that n = e3.In the considered condition, it is ωB = (0, 0,Ω)T and z = z = 0. Upon substitutionof ω1 = ω2 = 0, ω3 = Ω in the equations of motion, it is immediate to see that all theacceleration terms, ω1, ω2, ω3, and z vanish. Please note that this fact is independent ofthe relative size of the principal moment of inertia Jz with respect to the other ones, Jx

and Jy. It is thus possible to state that spinning around any principal axis of inertia forthe satellite with the damper in its rest condition is an equilibrium for the system.

Page 49: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 43

In order to investigate the stability of this equilibria, it is possible to linearize the equa-tions of motion in the neighborhood of such a spin condition. Letting ωB = (ω1, ω2,Ω +ω3)

T and assuming that ω1, ω2, ω3 ≪ Ω, z ≪ b and z are first order perturbations, a setof linear ordinary differential equation that describe the evolution of the perturbation inthe neighborhood of the nominal spin condition is obtained when higher order terms areneglected. The linearized form of the model of a spinning satellite with damper is

Jxω1 + (Jz − Jy)Ωω2 = 0

Jyω2 + (Jx − Jz)Ωω1 −mdbz −mdbΩ2z = 0

Jzω3 = 0

md(1 −md/m)z −mdbω2 +mdbΩω1 + cz + kz = 0

In order to simplify the above expression the following parameters can be defined:

λ1 =Jz − Jy

JxΩ ; λ2 =

Jz − Jx

JyΩ ; µ = md/m ; p2 =

k

md; β =

c

md; ζ =

z

b; δ =

mdb2

Jy

so that the linear system can be rewritten in the form

ω1 + λ1ω2 = 0

ω2 − λ2ω1 − δζ − δΩ2ζ = 0

(1 − µ)ζ − ω2 + Ωω1 + βζ + p2ζ = 0

where the third equation (relative to perturbations of the spin condition) is not included,as it is decoupled from the others.

Taking the Laplace transform L of the time–varying states, such that Lωi(t) = ωi(s)and Lζ(t) = ζ(s), one gets the following transformed system:

sω1 + λ1ω2 = 0

sω2 − λ2ω1 − s2δζ − δΩ2ζ = 0

s2(1 − µ)ζ − sω2 + Ωω1 + sβζ + p2ζ = 0

which becomes, in matrix form

s λ1 0−λ2 s −(s2 + Ω2)δΩ −s s2(1 − µ) + sβ + p2

ω1

ω2

ζ

=

000

The characteristic equation∣∣∣∣∣∣

s λ1 0−λ2 s −(s2 + Ω2)δΩ −s s2(1 − µ) + sβ + p2

∣∣∣∣∣∣

= 0

can be thus written in polynomial form as

(1 − µ− δ)s4 + βs3 + [p2 − δλ1Ω − δΩ2 + λ1λ2(1 − µ)]s2 +

+ λ1λ2βs + (λ1λ2p2 − λ1δΩ

3) = 0

If the real part of all the roots of the characteristic polynomial is strictly negative, thesatellite equipped with an axial damper is stable, when spinning around e3.

Page 50: Spacecraft Attitude Dynamics and Control

44 G. Avanzini Spacecraft Attitude Dynamics and Control

Routh’s criteria

Once the coefficients of the polynomial characteristic equation are known, nowadays classicnumerical root finding techniques can be easily applied, using the particular set of satelliteparameters of interest. The drawback of this approach is that it does not offer any physicalinsight into the influence of each parameter on the global stability properties of the system.

Routh’s criteria for asymptotic stability can be easily applied, and when the systemorder is sufficiently low, it is possible to determine analytically the stability conditionand, as a consequence, stability boundaries in the parameter space. Given the polynomialcharacteristic equation

ansn + an−1s

n−1 + . . .+ a2s2 + a1s + a0 = 0

Routh’s criteria states that a necessary condition for stability is that all the coefficientshave the same sign. Assuming that the coefficient are normalized with respect to an, sothat an = 1, the condition a0 > 0 is the generalized static stability requirement.

In order to evaluate necessary and sufficient condition for asymptotic stability, it isnecessary to build the Routhian matrix, which has the form

an an−2 an−4 . . .an−1 an−3 an−5 . . .b3,1 b3,2 b3,3 . . .b4,1 b4,2 b4,3 . . .

where the first two rows are build using the coefficients of the polynomial, while those ofthe following ones are evaluated as

bi,j =bi−1,jbi−2,j+1 − bi−2,jbi−1,j+1

bi−1,j

The number of non zero elements of each row decreases of one unit as the row index i isincreased by two, until the last two rows are reached such that only one element on eachrow is non-zero. The following row will be made entirely of zeroes.

The Routh’s condition for asymptotic stability guarantees that the real part of all theroots of the characteristic equation are negative if and only if all the elements in the firstcolumn of the Routhian matrix are not null and have the same sign. If the polynomialequation is normalized with respect to an this condition requires that all the terms bi,1are positive, with b1,1 = 1 and b2,1 = an−1.

Routh’s criterion for asymptotic stability fails when there is one zero term in the firstcolumn of the Routhian matrix. In such a case one or more of the roots of the polynomialhas a zero real part and stability analysis with eigenvalues of the characteristic polynomialis inconclusive.

Conclusions of the stability analysis

Application of Routh’s criteria to the present case, i.e. the spinning satellite with axialdamper, brings to the following Routhian matrix:

Page 51: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 45

(1 − µ− δ) [p2 − δλ1Ω − δΩ2 + λ1λ2(1 − µ)] (λ1λ2p2 − λ1δΩ

3) 0

β λ1λ2β 0 0

(p2 − δΩ2 − λ1δΩ + δλ1λ2) (λ1λ2p2 − λ1δΩ

3) 0 0

δβλ1(λ2 − Ω)(λ1λ2 − Ω2)

p2 − δΩ2 − λ1δΩ + δλ1λ2

0 0 0

λ1(λ2p2 − δΩ3) 0 0 0

Since β > 0 for all dissipative dampers, the conditions for asymptotic stability of thespin condition about the z-axis are

1 − µ− δ > 0

p2 − δ(Ω2 + λ1Ω − λ1λ2) > 0

δβλ1(λ2 − Ω)(λ1λ2 − Ω2) > 0

λ1(λ2p2 − δΩ3) > 0

Since usually md ≪ m, so that µ ≪ 1 and δ ≪ 1, we can consider the limiting case µ → 0and δ → 0, so that most of the inequalities become trivial. Taking into account that p2

and β are strictly positive for a real damper, the only conditions left are

λ1(λ2 − Ω)(λ1λ2 − Ω2) > 0

λ1λ2 > 0

Taking into account the definitions of λ1 and λ2, the first inequality can be rewrittenin the form

Ω4Jz

(Jz − Jx − Jy

JxJy

)2

(Jz − Jy) > 0

which is equivalent to the conditionJz > Jy

As a consequence, because of the second condition, it must also be

Jz > Jx

so that only spinning about the axis of maximum inertia is a stable condition for a satelliteequipped with a damper. It should be noted that the presence of the damper makes sucha spin condition asymptotically stable.

A comment

The presence of a damper makes the spin condition around the principal axis of minimuminertia an unstable one, while for a perfectly rigid body it was shown that spinning aroundthe axis on minimum inertia was locally stable, although in a weak form. At the sametime, spinning around the axis of intermediate inertia remains unstable (which is littlesurprise, as far as dissipation was unlikely to affect an exponential instability), whilespinning around the axis of maximum inertia acquires a stronger form of stability, as far

Page 52: Spacecraft Attitude Dynamics and Control

46 G. Avanzini Spacecraft Attitude Dynamics and Control

as dissipation will align in the long run the spin axis with the inertially fixed direction ofthe angular momentum vector.

These results are of general validity, whichever the source of the dissipation, so thatthe structure of the solutions in the ω1 − ω1 − ω3 space thus changes significantly withrespect to the rigid–body case. In particular, the separatrices disappear, while the ellipsessurrounding the pure spin condition around the axes of maximum and minimum inertia aresubstituted by spirals, converging onto the pure spin condition in the first case, divergingfrom it in the latter one.

2.4 Attitude manoeuvres of a spinning satellite

One of the major drawbacks of spin stabilisation, together with the inefficient powergeneration, lies in the complexity of the technique necessary for performing attitude ma-noeuvres, that is, changing the direction of the spin axis of the satellite in a controlledway. In order to rotate the spin axis of a spinning spacecraft, it is possible to exploit theprecession rate induced by a properly sized nutation angle. This requires a variation ofthe angular momentum vector that can be obtained by applying a proper control torqueto the spacecraft.

If we consider a thruster generating a force ~F at position ~r in the body frame centeredin the center of mass O, the resulting moment acting on the satellite is

~M = ~r × ~F

Given a firing time of ∆ton seconds, starting at t0, the overall change of angular momentumis equal to

∆~h =

∫ t0+∆ton

t0

(~r × ~F )dt.

If the firing time is sufficiently small with respect to the period of rotation of the spinningspacecraft Tspin = 2π/Ω, it is possible to approximate ∆~h as

∆~h = (~r × ~F )∆ton

The control torque is usually delivered by use of coupled pairs of thrusters, in such away that a net torque is produced, with no force perturbing the orbit motion of the space-craft. The torque pulse changes almost instantaneously the direction of the spacecraft’sangular momentum vector, thus creating a nutation angle θ. At this point the spacecraftis no longer spinning around its symmetry axis, and a precession rate builds up, equal to

Ψ =Js

Jt − Js

Φ

cos Θ=Js

Jt

Ω

cos Θ

where Θ ≡ θ is assumed.2

2It must be remembered that the direction of the precession motion depends on whether an oblateor a prolate body is considered. In the latter case, the instability of the spin condition around the axisof minimum inertia when dissipation is present must also be taken into account. Only if the dissipationrate is sufficiently small the manoeuvre technique is of practical interest. In this latter case, attitudemanoeuvres are required not only for changing the direction of the spin axis for aligning sensors orantennas with a new target, but also for compensating long term effects of attitude perturbations on thespin condition.

Page 53: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 47

h0

∆h1h1

Or

F

θ+

:

O

h0

∆h1

h1 ∆h2

h2

O r

F

θ+

:θXXz

Figure 2.9: Changing the spin axis direction with nutation angle and precession rate.

Since the precession rate is constant, the precession angle will vary by

∆Ψ =Js

Jt

Ω

cos θ(t− t1)

where t1 is the time of the first thruster impulse that starts the manoeuvre. After aninterval equal to

T = π(Jt) cos θ

JsΩ

the precession angle is varied by π rad, and the direction of the symmetry axis of thespinning satellite has changed of 2θ. If the firing time ∆ton is such that the resultingnutation angle is half of the desired variation of the spin axis direction and the thrusteractivation time t0 is chosen in such a way that the resulting angular momentum incrementlies in the manoeuvre plane (that is, the plane containing both the initial and final positionof the satellite spin axis), then after T seconds the spin axis will be in the desired position,alhough moving at the coning speed Ψ. At this point a second thruster firing is requiredto stop the precession and achieving again a pure spin condition about the new re-orientedaxis.

From simple trigonometric consideration, it is easy to show that

||∆h1|| = ||∆h2|| = h0 tan θ = JsΩ tan θ

where h0 = JsΩ is the magnitude of the initial angular momentum. But being also

||∆h|| = M∆t

the required firing time for each pulse is equal to

∆ton =JsΩ tan θ

M

Page 54: Spacecraft Attitude Dynamics and Control

48 G. Avanzini Spacecraft Attitude Dynamics and Control

If ℓ is the thruster moment arm (i.e. the distance between the thruster axis and thesatellite centre of mass; in Fig. 2.9 this distance is equal to the radius of the spinningbody) and only one thruster is employed, it is M = Fℓ. In general at least two thrustersare activated in order to obtain a balanced control torque, as stated before, in which caseit is M = 2Fℓ

In order to estimate the amount of propellant necessary to perform the reorientation,it must be remembered that the specific impulse of an engine is given by

Isp =F

∆mg/∆ton

that is the thrust delivered divided by the weight of propellant burned in a unit time.The specific impulse is one of the most important characteristics of rocket engines of anysize, and from its value it is possible to determine

∆m =F∆tongIsp

The total propellant mass required to rotate the spin axis of an angle equal to 2θ is

∆mtot = 4JsΩ tan θ

gIspℓ

if two thrusters are employed for delivering the control torque M .For small reorientation angles it is tan θ ≈ θ, and the propellant consumption is

roughly proportional to the reorientation angle itself. But as θ increases, the fuel con-sumption gets larger, so that it is more convenient to perform the overall reorientationin several smaller steps. Moreover, for a given Isp, the pulse duration may become a notnegligible fraction of the spin period, thus reducing the change in angular momentum.The drawback of a large reorientation performed in N steps is that the manoeuvre timeis increased and the overall manoeuvre is usually less accurate.

Figure 2.10 shows the results for reorientation 2θ angles between 0 and 70 deg, for asatellite with Js = 20 kg m2, Jt = 15 kg m2, spinning at Ω = 2 rad s−1, that is controlledby pair of thrusters with a 1 m moment arm, which produce 10 N of thrust each, with aspecific impulse Isp = 120 s.

The minimum pulse duration considered is 10 ms, that puts a limit on the resolutionof the reorientation, the minimum manoeuvre angle being 0.573 deg. On the other side,a thruster firing time longer than one tenth of the spin period cannot be considered a“pulse”. This limits the maximum reorientation angle that can be achieved by a sin-gle nutation manoeuvre, that is 17.9 deg. A stricter requirement on the pulse durationwill reduce the maximum available reorientation angle with a single manoeuvre. Using 2steps, the propellant savings at low angles are negligible (less than 1%), but it is possibleto achieve spin axis reorientation up to 35 deg. With 4 steps the maximum reorienta-tion angle becomes as high as 71 deg. Of course, the manoeuvre duration will increaseaccordingly.

The correct timing of the thruster pulses is of very important in order to obtaine anaccurate reorientation. In this framework it should be noted that, unless a very particularcase is dealt with, where the precession and the spin rate are in a rational ratio, the pair ofthrusters used for starting the manoeuvre will not be in the correct position for deliveringthe required torque in the manoeuvre plane after half of the precession revolution. Thismeans that two pairs of thrusters need to be activated for the second pulse, delivering a

Page 55: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 49

0 20 40 600

0.01

0.02

0.03

0.04

0.05

Pro

pella

nt m

ass

∆ m

[kg]

θ2 [deg]0 20 40 60

0

1

2

3

4

5

Man

oeuv

re ti

me

T [s

]

θ2 [deg]

0 20 40 600

0.5

1

1.5

2

2.5

3

θ2 [deg]

Tot

al fi

ring

time

[s]

0 20 40 600

100

200

300

400

θ2 [deg]si

ngle

pul

se ∆

t [m

s]

Nman

= 1

Nman

= 2

Nman

= 4

∆ m ∝ θ

∆ m ∝ tanθ

Figure 2.10: Spinning satellite manoeuvre: Fuel consumption (a), Total manoeuvre time(b), Total firing time (c), single pulse duration (d).

total net torque equal to the required one. As a consequence, the above description ofthe manoeuvre technique will provide an estimate of fuel consumption slightly optimisticand the overall complexity of the manoeuvre technique is, if possible, even higher in theactual implementation.

2.5 Gravity–gradient stabilization

Spin stabilization allows one to provide the satellite with gyroscopic stability, which canbe made asymptotic, by a proper use of dissipative devices. At the same time, somesignificant disadvantages affects the operational use of spin stabilized satellites, that are

• the presence of only one inertially fixed direction along which to point the payload;

• the inefficient production of electric power, inasmuch as the entire surface of thesatellite must be covered with photovoltaic cells, only half of which faces the sunduring the spinning motion (with less than one fourth at an angle greater than 45deg with respect to the direction of the sun rays);

• the complexity, limited accuracy and cost in terms of fuel of attitude maneuvers forreorientation of the spin axis.

A very interesting possibility for stabilizing an Earth facing satellite in low Earthorbit is to exploit the gravitational torque that acts on any rigid body of finite size.The differential gravitational acceleration across the satellite provides a small, but nonnegligible torque. Simply put, the side of the satellite closest to the Earth experiences aslightly greater gravitational acceleration that the opposite side. The resulting torque willtend to align the satellite with the local vertical direction. For some mission applicationsthe gravity gradient torque provides a disturbance which must be countered. However, for

Page 56: Spacecraft Attitude Dynamics and Control

50 G. Avanzini Spacecraft Attitude Dynamics and Control

dm

CM

~g ~r

~R

o1

o2

o3

e1

e2

e3

E1 E2

E3

Figure 2.11: Gravity on a finite–size rigid body.

an Earth facing satellite, the gravity gradient provides a simple, low cost means of attitudestabilization, albeit rather inaccurate. The great advantage is that no fuel nor energydissipation is required to maintain the desired attitude, if a proper stability condition ismet.

2.5.1 Origin of the gravity–gradient torque

The gravity acceleration acting on a mass element dm is given by

~g = −GM~R + ~r

||~R + ~r||3

where G is the universal gravity constant, M is the mass of the primary body (the Earth,

for an Earth orbiting satellite), while ~R and ~r are the position vectors of the center ofmass of the satellite, CM, w.r.t. the center O of the primary and the position vector ofthe mass element dm w.r.t. CM, respectively. Letting µ = GM , the total moment w.r.t.CM is given by

~G =

B

(~r × ~g) dm

= −µ∫

B

~r ×(

~R + ~r)

||~R + ~r||3

dm

Since ~r × ~r is zero, it is

~G = −µ∫

B

(

~r × ~R

||~R + ~r||3

)

dm

Page 57: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 51

As a first observation, it is possible to note that ~G · ~R = 0, i.e. the gravity torque aroundthe local vertical is always zero. In the above expression, it is possible to write

||~R + ~r||−3 =[(

~R + ~r)

·(

~R + ~r)]−3/2

=[

R2 + 2~r · ~R + r2]−3/2

where r and R are the magnitude of ~r and ~R, respectively. The latter expression can berewritten as

||~R + ~r||−3 = R−3

(

1 +2

R2~r · ~R +

r2

R2

)−3/2

Being r ≪ R, the third term inside the parentheses can be neglected, and the second oneis a first order perturbation compared to 1. Moreover, we can expand a term like (1+ ε)n

in the neighbourhood of ε = 0 as

(1 + ε)n = 1 + nε+ O(ε2)

that in the present case gives

R−3

(

1 +2

R2~r · ~R +

r2

R2

)−3/2

≈ R−3

(

1 − 3~r · ~RR2

)

Using this latter expression in the definition of the gravity torque, one gets

~G = − µ

R3

B

[(

1 − 3~r · ~RR2

)(

~r × ~R)]

dm

= − µ

R3

(∫

B

~rdm

)

× ~R +3µ

R5

[∫

B

(

~r · ~R)

~rdm

]

× ~R

The first term is zero from the definition of center of mass. Remembering the definitionof dyadic,3 the second term can be rewritten as

~G =3µ

R5

[(∫

B

~r~rdm

)

~R

]

× ~R

Remembering that the inertia tensor can be written as

I =

B

(r21 − ~r~r

)dm

and noting that[(∫

B

r21dm

)

~R

]

× ~R = 0

3The dyadic ~x~y is a tensor such that

(~x~y)~z = (~y · ~z)~x

Expressing the vector components in a frame FF , it is

(~x~y)F = xF yTF

Page 58: Spacecraft Attitude Dynamics and Control

52 G. Avanzini Spacecraft Attitude Dynamics and Control

it is possible to write the gravity gradient torque as

~G =3µ

R3o3 × (Io3)

where o3 = −~R/R is the unit vector along the local vertical passing through the satellitecenter of mass. Since the orbit rate is ω0 =

µ/R3, it is possible to rewrite the aboveexpression as

~G = 3ω20o3 × (Io3)

2.5.2 Equilibria of a rigid body under GG torque

The equation of motion of a satellite under the action of the gravity–gradient torque canthus be written as

d~h

dt− 3ω2

0o3 × (Io3) = 0

It can be observed that the gravity gradient torque is zero whenever

o3 × (Io3) = 0

which requires that one of the principal inertia axes is oriented along the local vertical o3.Such a condition can be maintained on a circular orbit if the satellite is purely spinningabout an axis perpendicular to the orbit plane at an angular velocity which is equal tothe orbit rate, so that ~ω = −ω0o3. In such a case a relative equilibrium with respect tothe orbit frame is obtained, with the satellite principal axes aligned with the orbit frame.Expressing the equation in terms of body frame components gives the following equationof motion

IωB + ωB × (IωB) − 3ω20o3B

× (Io3B) = 0

If the attitude of the satellite is expressed in terms of Bryan angles (roll, pitch andyaw) with respect to the orbit frame FO = o1; o2; o3, the body frame components ofo3 are given by the third column of the matrix LBO, i.e.

o3B= (− sin θ, cos θ sinφ, cos θ cosφ)T

which, assuming that all the angles remain “small”, becomes

o3B= (−θ, φ, 1)T

The (absolute) angular velocity components are

ωB = ωrB − ω0o2B

where ωrB = (ω1, ω2, ω3)

T is the angular velocity of the satellite with respect to FO ando2B

is given by

o2B= (ψ, 1,−φ)T

for small perturbation. As a result, angular velocity components in body frame can beexpressed as

ωB = (φ− ω0ψ, ϑ− ω0, ψ − ω0φ)T

Page 59: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 53

Substituting this perturbation expressions for ωB and o3Bin the equation of motion and

neglecting second order terms, one gets

Jxφ− (Jz + Jx − Jy)ω0ψ + 4(Jy − Jz)ω20φ = 0

Jyϑ+ 3(Jx − Jz)ω20ϑ = 0

Jzψ + (Jz + Jx − Jy)ω0φ+ (Jy − Jx)ω20ψ = 0

First of all, it can be noted how the pitch motion is decoupled from the roll–yawmotion. The equation of motion of pitch (harmonic) oscillation can be rewritten in theform

ϑ− aϑ = 0

where the quantity

a = 3Jz − Jx

Jyω2

0

must be negative, in order to have finite size oscillations, the amplitude of which dependson the initial conditions ϑ(t = 0) and ϑ(t = 0). The stability condition for pitch motionsimply requires that

Jz < Jx

If this condition is not met, the coeffient a becomes positive and the characteristic equationλ2 = a has two real solutions, λ = ±√

a, so that the pitch angle will exponentially growafter a perturbation from the equilibrium condition ϑ = ϑ = 0.

As for the roll–yaw equation, taking the Laplace transform, we have, in matrix form,the following equation

[Jxs

2 + 4(Jy − Jz)ω20 −(Jz + Jx − Jy)ω0s

(Jz + Jx − Jy)ω0s Jzs2 + (Jy − Jx)ω

20

]φ(s)ψ(s)

=

00

so that the characteristic polynomial p(s) = det(A) can be written in the form

p(s) = b0s4 + b1s

2 + b2

where

b0 = JxJz

b1 =(J2

y − 3J2z − JxJy + 2JyJz + 2JxJz

)ω2

0

b2 = 4 (Jy − Jz) (Jy − Jx)ω40

Given the structure of the polynomial coefficients, it is not possible to apply Routh’scriteria, as the coefficient of the third order term, which appears in the first column of theRouthian matrix, is zero, thus making the analysis inconclusive. But it is still possible toderive some conclusions. Let

x1,2 =−b1 ±

b21 − 4b0b22b0

denote the roots of the equation b0x2 + b1x+ b2 = 0. If x1,2 is a pair of complex conjugate

roots x = α±iβ, the poles of the system can be written as s1,2 = ±√α− iβ = ±a±ib, and

s3,4 = ±√α + iβ = ±a∓ ib. In both cases, two of the resulting roots of the characteristic

equation have a positive real part. So, the discriminant of the characteristic equation

∆ = b21 − 4b0b2

Page 60: Spacecraft Attitude Dynamics and Control

54 G. Avanzini Spacecraft Attitude Dynamics and Control

must be positive for stability, so that both solutions x1 and x2 are real. Under thiscondition, if one (or both) of the solutions xi is (are) also positive, one (or two) pole(s) ofthe system is (are) real and positive and the equilibrium is unstable. As b0 is the productof two positive quantities, x1,2 are negative only if −b1±

b21 − 4b0b2 < 0. If b1 is negative,this condition cannot be satisfied, and at least one of the solutions xi will be positive.If b1 > 0, both solutions will be negative if and only if b2 is also positive, in which case∆ < b21. Summarizing, the set of stability conditions can be written in the following form:

b1 > 0

b2 > 0

∆ = b21 − 4b0b2 > 0

Letting

k1 =Jy − Jz

Jx

; k3 =Jy − Jx

Jz

it is possible to write the stability condition as a function of the two inertia parametersk1 and k3 only, as

b1 ∝ 1 + 3k1 + k1k3 > 0

b2 ∝ k1k3 > 0

∆ ∝ (1 + 3k1 + k1k3)2 − 16k1k3 > 0

The requirement for pitch stability, Jx > Jz can be rewritten as k1 > k3.If all the four conditions stated above are satisfied, the linearized equation of motion

will have only purely imaginary eigenvalues, which means that the small perturbationswill remain bounded, in the linear model. Exponential divergence is thus ruled out, butthe stability analysis of the system is inconclusive, as far as the original nonlinear systemis concerned. As a matter of fact, the neglected nonlinear terms does not harm stabilityand oscillation in roll, pitch and yaw, although coupled, remain bounded also for thenonlinear system, which is rather reasonable, as far as the gravity field in conservativeand, as such, does not change the total energy of the system during its evolution. Theresulting stability region, where all the four stability conditions are satisfied, is plotted inFig. 2.12.

2.5.3 Pitch motion

If one considers purely pitching motion (ω1 = ω3 = 0, ψ = φ = 0), only the secondcomponent of Euler’s equation is required, with ω2 = θ − ω0. By taking into account theexpressions of o2B

= e2 = (0, 1, 0)T and o3B= (− sin θ, 0, cos θ)T , the sigle–axis equation

of motion achieves the simple form

θ + 3ω20

Jx − Jz

Jycos θ sin θ = 0

There are two equilibrium solutions, for θ = 0 and θ = π/2, the stability of whichis determined by the sign of the term Jx − Jz. It was already stated previously thatequilibrium under the action of the gravity–gradient torque requires that the principalaxes of inertia are aligned with the orbit frame. Clearly, a rotation of 90 deg aroundthe pitch axis changes the alignment, leaving the three principal axes parallel to differentorbit axes.

Page 61: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 55

−1 −0.5 0 0.5 1

−1

−0.5

0

0.5

1

k1

k2

Figure 2.12: Stability region of the Eart–pointing attitude for a rigid satellite undergravity gradient torque.

For small perturbations about the local vertical – local horizontal reference frame itis sin θ ≈ θ and cos θ ≈ 1, and we get the second order linear equation of motion

θ3 +

(

3ω20

Jx − Jz

Jy

)

θ = 0

which, of course, matches exactly the second equatoin in the linearized form.If Jx > Jz the term 3ω2

0(Jx − Jz)/Jy is positive and we can write

λ2 = 3ω20

Jx − Jz

Jy

The equation of motion becomesθ3 + λ2θ = 0

the solution of which is given by

θ(t) = α1 cos(λt) + α2 sin(λt)

where the coefficient α1 and α2 can be determined from the initial conditions. The satelliteis thus stable and oscillates in the neighborhood of the condition θ = 0 with a period equalto

T =2π

λ=

ω0

√3

Jy

Jx − Jz

If on the converse Jx < Jz, it is 3ω20(Jx − Jz)/Jy < 0, and letting

µ2 = 3ω20

Jz − Jx

Jy

Page 62: Spacecraft Attitude Dynamics and Control

56 G. Avanzini Spacecraft Attitude Dynamics and Control

PPPPPPPPPPPPPPPPPPPPPPPP

~O

PPPih

@@@R

@@

@@

@@

@@e1

e3

)h:

CCCCWC

CCCCC

CCCCCC

e3

e1

divergence

oscillations

6

BB

?

Figure 2.13: Stable and unstable equilibria around the pitch axis under the action ofgravity–gradient torque.

the equation of motion can be rewritten as

θ − µ2θ = 0

The evolution of the pitch angle with time is thus expressed by

θ(t) = α1 exp(−µt) + α2 exp(µt)

which is clearly unstable, because of the presence of a divergent exponential term. Becauseof such an instability, the satellite will rotate away from the neighborhood of the initialcondition θ ≈ 0, and will acquire a periodic motion around the other equilibrium solution,for θ = π/2. In this case. It is left to the reader as an exercise to demonstrate that, ifJx < Jz, the equilibrium solution for θ = π/2 is stable.

As an example of the resulting motion, Fig. 2.14 shows the behaviour of the SpaceShuttle (I = diag(1.29, 9.68, 10.01)106 kg m2) on a low orbit with a period of 1 hour and35 minutes. The first simulation is performed starting from an Earth pointing attitude(α = 10 deg), that is the nose of the Shuttle faces the Earth, with a perturbation from thevertical of 10 deg. The resulting motion is confined and the angular velocity is less tham0.015 deg s−1. Internal dissipation (modeled as a term proportional to θ, with a dampingconstant C = 1.5 10−6 s−1) damps very slowly the oscillation in the neighbourhood of thelocal vertical.

If on the converse, the motion is started near the second equilibrium condition, forα = 90 deg (that is the nose of the Shuttle points the direction of the orbital velocity),the resulting motion is unstable and large amplitude oscillation will build up. From thesimulation it can be seen how the vehicle will reverse its attitude, and will oscillate aroundthe equilibrium at α = −90 deg, with the nose pointing towards the external space. Itshould also be noted how the effect of the nonlinear term in sin θ cos θ in the gravity–gradient torque affects the oscillation frequency, when the amplitude is large. In the lasttwo plots, the stable motion of the first case is reported as a comparison.

Page 63: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 57

0 2 4 6

−10

−5

0

5

10

No. of orbits

θ [d

eg]

−10 −5 0 5 10

−0.015

−0.01

−0.005

0

0.005

0.01

0.015

θ [deg]

dθ/d

t [de

g s−

1 ]

0 2 4 6

−250

−200

−150

−100

−50

0

50

100

No. of orbits

θ [d

eg]

−200 −100 0 100

−0.1

−0.05

0

0.05

0.1

θ [deg]

dθ/d

t [de

g s−

1 ]

Figure 2.14: Stable and unstable motion of the Space Shuttle under gravity–gradienttorque.

2.6 Dual–spin satellites

The presence of only one single inertially fixed direction on board of gyroscopically stabi-lized satellites greatly limits their use, as far as it is possible to mount a sensor payload ora communication antenna only along that direction. Moreover, maneuvering the satellitein order to reorient the spin axis is both difficult and expensive in terms of fuel consump-tion, the required propellant being proportional to the amount of angular momentumstored in the spinning satellite.

In order to overcome this negative features, an alternative satellite configuration wasproposed and used in the past, where the payload and the communication hardware ismounted on a platform P which has a relative rotational degree of freedom with respectto the spinning part of the satellite, the rotor R. During orbit injection the two elementsare locked and the satellite behaves like a standard rigid body. After the operationalorbit is reached, the spin–up motor accelerates the rotor, with respect to the platform,in order to transfer on the rotor the entire vehicle angular momentum, thus despinningthe platform. The de–spin maneuver is ended when the platform is fixed in space, whilethe rotor provides gyroscopic stability to the entire vehicle. The main advantage of sucha solution is that, pivoting the payload mounted on the platform allows aiming it in anydirection in space, with great flexibility, without changing the direction of the rotor spinaxis.

From the configuration point of view, the first dual–spin satellites were made of alarge rotor, containing most of the satellite equipment, with solar cells mounted on thesurface of the rotor, the configuration of which resembled that of a standard (for thattime) spinning satellite. A small platform was attached to it, as represented in Fig. 2.15,where only antennas and sensors were located. Later on, the platform became larger, asin the Intelsat IV satellite, depicted in Fig. 2.16. This was the first prolate dual spinsatellite, where the platform represents approximately half of the satellite total mass. In

Page 64: Spacecraft Attitude Dynamics and Control

58 G. Avanzini Spacecraft Attitude Dynamics and Control

Figure 2.15: Dual spin satellite: configuration with large rotor (e.g. GOES-7 satellite).

Figure 2.16: Dual spin satellite: configuration with equivalent rotor and platform (e.g.Intelsat IV satellite).

Page 65: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 59

O

ΩW

Pa

e1

e2

e3

Figure 2.17: Sketch of a satellite equipped with a momentum wheel.

more recent times, the rotor was substituted by a momentum wheel, which is a small (andlight) wheel spinning at a very high speed, placed inside the platform. In this latter case,the satellite is referred to as a momentum–bias satellite.

The mathematical model that will be derived in the next section is not affected bythe relative size of platform and rotor. In this framework, both configurations (the dual–spinner, with a large rotor attached outside of the platform, and the momentum biassatellite, with a small spin–wheel inside the spacecraft bus) can be referred to as gyrostats.The presence of a relative rotational degree of freedom between the platform and the rotor(or spin–wheel) of the gyrostat makes it necessary to derive a new formulation for theangular momentum balance, since the body, featuring a rotating element, is no longerrigid.

2.6.1 Mathematical model of a gyrostat

Figure 2.17 shows the generic arrangement of a momentum wheel W spinning about thespin axis a at an angular rate Ω with respect to the satellite platform P. The mathematicalmodel is derived under the assumption that both the platform and the wheel are perfectlyrigid. Moreover, a perfectly balanced and axi–symmetric wheel is assumed, the centre ofmass of which lies on the spin axis. As a result, the presence of a relative degree offreedom between W and P does not affect the mass distribution of the spacecraft, whichis independent of the angular displacement of W about a. For this reason it is stillpossible to define a body frame FB, fixed with respect to the platform, the inertia tensorI of the gyrostat P + W being constant in FB as for a standard rigid body. This meansthat I represents the total moment of inertia of the gyrostat, including the wheel.

Page 66: Spacecraft Attitude Dynamics and Control

60 G. Avanzini Spacecraft Attitude Dynamics and Control

Angular momentum formulation

If the wheel is locked to the platform, the angular momentum is given (as usual) by~h = I~ω, but if the wheel is spinning, than the overall angular momentum features asecond term,

~h = I~ω + IsΩa

where, letting Is be the moment of inertia of W about a, the quantity hr = IsΩ is therelative angular momentum. The absolute angular momentum stored in the spinningrotor

ha = hr + Isa · ~ωis made up of two contributions: (i) the relative angular momentum due to the spinmotion with respect to P, and (ii) the angular momentum related to the motion of theplatform. Writing the components in body frame, it is

hB = IωB + IsΩaB

ha = Is(Ω + aT

BωB

)

The equation of motion of the gyrostat can be written in terms of evolution of the angularmomentum vector as

hB = −ωB × hB + MB

ha = ga

where MB is the external torque acting on the satellite, while ga is the torque applied bythe de–spin engine to the rotor. It should be noted how ga, which is an internal torque,does not appear in the equation of the time evolution of the overall angular momentum.Nonetheless its effects on the overall dynamics are significant.

Also, the presence of the additional rotational degree of freedom increases the orderof the system of first order nonlinear differential equations with respect to the rigid–bodycase, from 3 to 4 (three components for the total angular momentum plus the absolutewheel angular momentum about the spin axis). In order to integrate this fourth–order sys-tem and to evaluate the Euler angle rates, it is necessary to determine the angular velocityωB. Integrating the Euler angle rate equation (or the quaternion evolution equation), onegets the time evolution of satellite attitude.

The kinematic problem for the attitude of the satellite is solved expressing ωB as afunction of the total and wheel angular momentum, that is

ωB = I−1 (hB − IsΩaB)

The value of ωB thus depends on both hB and Ω. The rotor angular speed can beexpressed as

Ω = ha/Is − aTBωB

where ωB appears, so that the two equations must be solved simultaneously, but this canbe done easily, since the two equations are linear in the angular velocity components. Ifone assumes a set of principal axes of inertia, such that I = diag(Jx, Jy, Jz), the resultinglinear system is given by

Jx 0 0 Isa1

0 Jy 0 Isa2

0 0 Jz Isa3

Isa1 Isa2 Isa3 Is

ω1

ω2

ω3

Ω

=

h1

h2

h3

ha

Note that the 4 × 4 matrix with the moments of inertia must be inverted only once.

Page 67: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 61

Angular velocity formulation

An alternative formulation of the equations of motion is also available, where gyrostatdynamics is expressed directly in terms of the angular velocity components and rotor spinrate. In this case, the angular momentum vector is writte as

hB = IωB +(ha − Isa

TBωB

)aB

=(I − IsaBaT

B

)ωB + haaB

The time derivative of the angular momentum vector components are thus expressed as

hB =(I − IsaBaT

B

)ωB + gaaB

At the same time it is

ha = ga = Is

(

Ω + aTBωB

)

so that, upon substitution of hB and ha into the angular momentum formulation, theequations of motion of the gyrostat become

ωB = I−1

[MB − ωB × (IωB + IsΩaB) − gaaB]

Ω = ga/Is − aTBωB

where I =(I − IsaBaT

B

)is the pseudo–inertia tensor. These equations of motion can

be used for describing the gyrostat spin–up dynamics, during platform de–spin, that is,a spin axis torque ga is applied until the platform angular velocity drops to zero. Theknowledge of ωB allows for a direct evaluation of Euler angle or quaternion rates.

2.6.2 Simplified models

The Kelvin gyrostat

In many application, especially once the de–spin manoeuvre is completed, it is possibleto assume that the rotor relative spin rate remains constant, under the action of a controlsystem that drives the motor torque in order to compensate for possible fluctuationsinduced by perturbations.

If one assumes that the angular speed of the rotor remains exactly constant, thesystem looses one degree of freedom, as Ω(t) = const and the associated dynamics can beneglected. In this case the so–called Kelvin gyrostat is obtained. The variable hr = IsΩbecomes a system parameter and the platform equation of motion decouples from rotorspin dynamics. In such a case, it is

IωB = −ωB × (IωB + hraB) + MB

In order to keep Ω constant (that is, Ω = 0), it is necessary to apply a certain spin torqueto the rotor, which, from the equation of motion of rotor spin dynamics can be evaluatedas

ga = IsaTBωB

In real applications it is not possible to keep the rotor speed exactly constant and asimple feed–back loop is employed for determining the required spin torque. A tachometeris mounted on the wheel shaft, which measure the actual rotor spin rate Ω. The error

Page 68: Spacecraft Attitude Dynamics and Control

62 G. Avanzini Spacecraft Attitude Dynamics and Control

with respect to the nominal (desired) rotor speed Ωdes is the input for the rpm regulator.As an example, the spin torque can be set equal to

ga = K(Ωdes − Ω)

where K is the gain of the rotor control system. In this way the rotor is accelerated(ga > 0) whenever the angular speed is lower than the prescribed one, and deceleratedwhen Ω > Ωdes. Of course, if the spin wheel dynamics is modeled including this simplecontrol scheme, it is no longer possible to treat Ω as a constant in the platform angularvelocity equations, and the full system equations must be accounted for.

The apparent gyrostat

If the rotor spin–up torque is zero (ga = ha = 0), the rotor absolute angular momen-tum becomes constant and the apparent gyrostat model is dealt with. Also in this caseone state variable is lost, since it can be determined from the knowledge of a constantparameter, namely ha. The equation of motion can thus be rewritten as

IωB = −ωB ×(

IωB + haaB

)

+ MB

with the usual meaning for the symbols.Note that, provided that the spacecraft moment of inertia, I, and wheel relative

angular momentum, hr, are replaced by the pseudo–inertia matrix, I, and the absoluteangular momentum, ha, respectively, the two reduced order models for the Kelvin andthe apparent gyrostats share the same expression.

2.6.3 Stability of axial gyrostat

Although of little practical use, the apparent gyrostat model is interesting for the deriva-tion of analytical results on the stability of the de–spun condition. The simple axial caseis discussed in this paragraph.

Assuming that FB is a set of principal axes of inertia and that the spin axis is parallelto e3 (axial rotor), the satellite and rotor absolute angular momentum can be written,respectively, as

hB =

Jxω1

Jyω2

Jzω3 + IsΩ

; ha = Is(Ω + ω3)

The equation of motion of the axial gyrostat can be written as follows:

Jxω1 + (Jz − Jy)ω2ω3 + IsΩω2 = M1

Jyω2 + (Jx − Jz)ω1ω3 − IsΩω1 = M2

Jzω3 + (Jy − Jx)ω1ω2 + IsΩ = M3

Is(Ω + ω3) = ga

When Ω = 0, the dual–spin satellite behaves like a standard rigid body. This situationis called all-spun condition. After platform de–spin, the satellite angular velocity must bezero and all the satellite angular momentum must be stored in the rotor. The stabilityof the equilibrium for the de–spun condition of a Kelvin gyrostat with axial rotor can beanalyzed as usual assuming the components ωB = (ω1, ω2, ω3) as small and neglecting

Page 69: Spacecraft Attitude Dynamics and Control

2. Passive Stabilisation of Rigid Spacecraft 63

second order terms in the equation of motion, which can be written for the torque–freecase as

Jxω1 + IsΩω2 = 0

Jyω2 − IsΩω1 = 0

Jzω3 = 0

The third equation is decoupled from the others, stating that a perturbation about e3

will remain constant. The first and the second equations can be recast in matrix form as

ω1

ω2

=

[0 −(Is/Jx)Ω

(Is/Jy)Ω 0

]ω1

ω2

It is easy to show that the eigenvalues of the state matrix are a pair of conjugateimaginary numbers, provided that Ω 6= 0. No unstable eigenvalues are present for anyvalue of Ω, so that exponential divergence is ruled out. It is possible to show, on angularmomentum conservation grounds, that the variation of ω1 and ω2 remains confined in aneighborhood of the origin, so that the system is stable in the sense of Lyapunov. Thismeans that the rotor provides the required gyroscopic stability to the entire satellite.

Adding damping (e.g. under the action of a nutation damper) it is possible to trans-form the L-stable de–spun condition into an asymptotically stable equilibrium.

Page 70: Spacecraft Attitude Dynamics and Control

64 G. Avanzini Spacecraft Attitude Dynamics and Control

Page 71: Spacecraft Attitude Dynamics and Control

Chapter 3

Active Stabilisation and Control ofSpacecraft

For many applications where accurate payload pointing is required full three-axis controlis used. The satellite does not spin (except for slew manoeuvres) and is stabilised byreaction wheels (gyros) and/or thruster relative to an Earth (or other direction) facingattitude. Since the satellite is not spinning, large Sun facing solar panels can be used forpower generation. The satellite is also capable of fast reorientation manoeuvres (slews) inany arbitrary direction. However, due to the added complexity, 3-axis stabilised satellitesare far more expensive than simple spin–stabilised ones. The application and its accuracyrequirements must justify the increase in costs and the reduced life expectation of thevehicle.

In order to actively stabilize the satellite in the presence of external disturbances andallow for autonomous manoeuvres, the satellite must be equipped with a suitable set ofsensors, which provide the on–board computer with the necessary information on thecurrent attitude. The precision of the control action depends on the accuracy of theattitude measurement.

Moreover, the control law itself depends on the type of actuators available. Duringthe station–keeping phase, a 3–axis stabilised spacecraft featuring only a reaction con-trol system will continuously bounce back–and–forth between the edges of the alloweddead–band, under the alternating action of a (small) disturbance torque and the quickreversal provided by a (large) control pulse at one of the edges of the dead–band. On theconverse, when the spacecraft is either gyroscopically stabilised or it is characterised bya considerable momentum bias the perturbation requires a longer time for producing asizable variation of the spacercaft attitude. In any case, sooner or later, some compen-sation is required. The control action can be continuous, if momentum exchange devicesare employed, altough the amount of angular momentum stored in the wheel is expectedto grow during the station–keeping phase, so that a wheel desaturation manoeuvre isusually necessary, which requires the use of external torques, usually provided by a set ofthrusters.

A brief outline on the more common external disturbances, on attitude sensors forevaluating spacecraft orientation and control actuator for implementing the necessarycontrol action is given in the first part of this chapter, prior to the discussion on activeattitude control.

65

Page 72: Spacecraft Attitude Dynamics and Control

66 G. Avanzini Spacecraft Attitude Dynamics and Control

3.1 Environmental torques and other disturbances

Together with gravity–gradient, the effects of which on an orbiting spacecraft were de-scribed in the previous chapter, there are other environmental disturbance torques. Al-though small in terms of absolute value, disturbance torques act on a spacecraft for a verylong period of time, thus producing in the long run a sizable displacement of the satellitefrom the desired attitude, if no proper compensating action is taken. As shown, gravitygradient has the interesting property of stabilising an Earth pointing attitude, providedthat a certain allignment condition between orbit and principal frame is satisfied, but therestoring moment is of the same order of magnitude of other disturbance torque, so thatgravity gradient is a viable passive stabilization technique only when the requirement onpointing accuracy is weak (of the order of some tenths of a degree).

Disturbances of different nature may affect spacecraft attitude, especially when flyinga Low Earth Orbit. At the same time, internal sources of disturbances are also present,which either affect the dynamic behaviour of the satellite with respect to the ideal one,or directly affect sensor pointing precision because of oscillations induced by flexible ap-pendages or fuel sloshing.

3.1.1 Environmental torques

The major sources of external disturbances that may influence the dynamic behaviour ofa satellite are:

• gravity gradient: the variation of gravity pull acting on different mass elementsof the spacecraft provide a small yet significant torque; in Low Earth Orbit (LEO)this torque can stabilise an Earth pointing attitude, although the resulting motionis not naturally damped;

• atmospheric drag: in Low Earth Orbit (LEO) the air density is small but notnull; the centre of pressure is usually not aligned with the center of mass and thisfact will produce a torque acting on the spacecraft;

• magnetic field: the satellite, with its metallic parts and currents flowing in theelectric system produces a magnetic field that interacts with the magnetic field ofthe Earth, exspecially in LEO; again a torque on the satellite is produced by thisinteraction; this coupling between a magnetic field produced by the satellite andthe environmental magnetic field can be used beneficially to provide a simple andeffective means of attitude control; a magneto–torquer is made of a magnetic coil(or a permanent magnet) the orientation of which inside the satellite bus can bechanged so as to produce a control torque; as an alternative, to coils at an angle canbe activated with different currents so as to provide an arbitrary torque in a plane;no torque can be delivered in the direction of the magnetic field, so that magnetictorques alone are not sufficient for three–axis control;

• solar radiation: the solar radiation produce a light pressure force on the satelliteparts exposed to the flow of nuclear particles emitted by the sun; again the forceoffset will determine a small torque, that is insignificant in LEO, but is the maindisturbance at higher distances from the Earth, such as in GEostationary Orbit(GEO).

Page 73: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 67

A simple mathematical formulation is available only for the gravity gradient torque,that will be discussed later in this chapter. Atmospheric and solar radiation torquesdepend strongly on the shape of the spacecraft, and in particular on how the solar panelsand the spacecraft bus face the flow of the rarified gas moleculae or the stream of highenergy particles from the Sun. The magnetic torque, on the converse, depend on theelectric system architecture. As a consequence no general model is available for thesedisturbances.

3.1.2 Internal disturbances

There are also some sources of internal disturbances, that can be due to the uncertaintyof some parameters or to some simplifying assumptions the effect of which is not null onthe actual spacecraft:

• uncertain center of gravity: there can be an uncertainty on the position of thecenter of gravity up to some centimeters (1 to 3 cm);

• thruster misalgnment: the direction of the thruster can be different from thedesign one up to 1 deg;

• run–run thrust variation: there can be sizable variation (up to 5%) in the thrustproduced by a thruster in different firings;

• fuel slosh: fuel sloshing in the propellant tanks causes both shift in the positionof the centre of mass and in the mass distribution (that is, affects the value of themoments of inertia); moreover, as propellant is burned, a long term variation inmean mass properties is also experienced by the satellite;

• rotating parts: rotating parts inside the satellite (gyroscopes, reaction wheels, butalso tape recorders) produce microvibrations which in turn cause loss in pointingaccuracy;

• elastic modes of flexible appendages: several flexible items, such as antennas,booms and solar arrays can be attached to the spacecraft bus, and their flexibilitycan interact with the rigid body motion of the main platform, resonating at thebending frequencies, if properly excited, with serious consequences for the pointingaccuracy.

3.2 Attitude sensors

In order to implement some feedback control law for actively stabilizing a spacecraft, itis necessary to have an information on the current satellite attitude. This informationis provided by sensors that can be based on significantly different principles, dependingon the satellite application and the related pointing accuracy requirements. Roughlyspeaking, it is possible to group the attitude determination hardware into 5 categories:

• Earth sensors;

• Sun sensors;

• star sensors (and star trackers);

Page 74: Spacecraft Attitude Dynamics and Control

68 G. Avanzini Spacecraft Attitude Dynamics and Control

• gyroscopic sensors;

• magnetometers.

3.2.1 Infrared Earth sensors (IRES)

Earth sensors are capable of determining the attitude of the satellite with respect tothe Earth, by sensing the Earth’s horizon. For this reason they are also referred to as“horizon sensors”. Two techniques can be used: (i) the dynamic crossing of the horizon,with precise determination of the crossing points, and (ii) the static determination of thehorizon inside the field of view of the instrument.

In principle the sensor could be based on any radiation source coming from the Earth,but the radiation in the visual wavelength region depends too strongly on the character-istics of the reflecting surface. Infrared (IR) radiation provides a range of wavelengthsin which the energy is more uniform. Still some problems remains on how to model theEarth’s surface and how to take into account the thickness of the atmosphere, which alsogives a sizable contribution to the IR radiation of the Earth.

Horizon–crossing sensor (IRHCES)

Static Horizon sensor (IRSES)

3.2.2 Sun sensors

Sun sensors detect the line–of–sight of the Sun. Only the attitude around the Sun–direction remains unknown. The major advantage is that the Sun is a bright object easilyidentified, providing at the same time an angular resolution which is sufficient for mostmission operations. The major drawback, especially when flying a LEO, is that the Sunis not visible during passes in the shadow of the Earth, in which case different sensors arerequired for providing the necessary attitude information.

Single–axis analogic sun sensor

Two–axis analogic sun sensor

Digital sun sensor

3.2.3 Star trackers

Star trackers are the most accurate and complex attitude sensors. They are based on asimple principle, that is, the attitude of the spacecraft is determined by comparing theposition of a known set of stars with a catalogue, so that whole information on threeattitude degree of freedom is readily available. The technological problems are that (i)stars provide a very faint reference and (ii) a significant amount of memory (to storethe star catalogue) and processing capabilities (for matching the current view with thecatalogue) are required.

3.2.4 Rate and rate–integrating gyroscopes

A wholly gimballed, friction–less spinning body will maintain its spin direction fixed withrespect to an inertial frame. This well–known physical principle is at the basis of gyro-scopic sensors, which being inertial instrument, do not require optical head and are not

Page 75: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 69

affected by line–of–sight and shadow problems. The sensor is based on the determinationof the gyroscopic torque produced by the spinning wheel on its support. Letting a bethe spin axis, an angular speed component ω around the axis i perpendicular to a willproduce an apparent gyroscopic torque −(ωi)× (IwΩa), where Ω is the wheel spin speed.By measuring the apparent gyroscopic torque around the output axis k = i × a it ispossible to evaluate ω, assuming Iw and Ω known.

By means of three, mutually perpendicular gyroscopes it is thus possible to evaluateall the angular velocity components and, integrating their signal, the current spacecraftattitude, if the initial one is known by means of some other sensor. Updating of theattitude estimate is always necessary as far as real gyroscopes are affected by noise andsignal drift.

3.2.5 Magnetometers

Also the Earth magnetic field can provide a reference for attitude measurements.

3.3 Actuators

Spacecraft control actuators can be based on different physical principles. The choice inthe type of actuator installed on board of the satellite greatly affects its configuration, theresulting pointing accuracy, and even the implementation of the control laws themselves.

A control action can be delivered to the satellite by either a direct torque producedby a (set of) thruster(s), by exchanging angular momentum between parts in relativerotational motion or by application of a magnetic torque, obtained from the interactionof an electric coil and the Earth magnetic field.

• Reaction control system (RCS)

– Cold gas jets

– Chemical propulsion (Mono–propellant or Bi–propellant propulsion system;can be used also for orbit control)

• Momentum exchange devices

– Reaction wheels

– Bias–momentum wheel

– Double–gimbal bias–momentum wheel

– Control Moment Gyroscopes

• Magneto–torquers

3.4 Linear model of rigid satellite attitude motion

For a general three axis motion, Euler’s equation states that

hB + ωB × hB = MB (3.1)

Page 76: Spacecraft Attitude Dynamics and Control

70 G. Avanzini Spacecraft Attitude Dynamics and Control

If there are no internal moving parts (e.g. no spinning rotors) this equation can be writtenin the form

IωB + ωB × (IωB) = MB

Assuming that the rotation is slow, the angular velocity can be considered as a first orderperturbation of the steady state ωB = 0, so that ||ωB|| ≪ 1 and ωB × (IωB) is a secondorder (negligible) term in the equations of motion. Euler’s equation thus becomes

IωB = MB

When dealing with a stabilization problem, that is small perturbations with respect toa prescribed nominal attitude are considered, also the angular displacement is “small”. Insuch a case, it is possible to demonstrate that, letting the variation of the Bryan’s anglesbe equal respectively to

∆ψ = θ3 ; ∆θ = θ2 ; ∆φ = θ1

and defining θ = θ1, θ2, θ3T , it isθ = ωB

Euler’s equation in linear form become simply

Iθ = MB (3.2)

Finally, assuming that a set of principal axes of inertia is chosen as the body frame, theinertia matrix is in diagonal form, I = diag(J1, J2, J3), and three independent secondorder linear ordinary differential equations are obtained, one for each axis,

Jiθi = Mi , i = 1, 2, 3

It should be noted that for single axis rotations, a scalar equation in the same form asEq. (3.2) is obtained, regardless of the angular speed and angular displacement, that is

Jθ = M

This equation will be the starting point for the analysis of attitude slew maneuvers.

3.5 Linear model of gyrostat attitude motion

If the satellite is equipped with a momentum wheel with a moment of inertia Is spinningabout the axis a with a relative spin rate Ω, the total satellite angular momentum is

hB = IωB + hraB

where hr = IsΩ is the relative angular momentum; Ω can be written as

Ω = Ω0 + ∆Ω

being ∆Ω ≪ Ω0, i.e. ∆Ω is a “small perturbation” of the reference wheel spin rate Ω0.Equation (3.1) thus becomes

IωB + Is∆ΩaB + ωB × [IωB + Is (Ω0 + ∆Ω) aB] = MB

Neglecting higher order term one gets

IωB + Is∆ΩaB + IsΩ0ωB × aB = MB

Page 77: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 71

The evolution of the perturbations of Euler’s angles is again

θ = ωB

so that the equations of motion becomes can be expressed in scalar form as follows:

J1θ1 + Is∆Ωa1 + IsΩ0(θ2a3 − θ3a2) = M1

J2θ2 + Is∆Ωa2 + IsΩ0(θ3a1 − θ1a3) = M2

J3θ3 + Is∆Ωa3 + IsΩ0(θ1a2 − θ2a1) = M3

This set of equations is coupled with the dynamics of the spin–wheel, described by the(linear) equation

Ω ≡ ∆Ω =ga

Is− ωT

BaB

When the rotor spin axis is parallel to the i–th principal axis of inertia (a ≡ ei), thei–th equation of motion becomes decoupled from the others, because aj = ak = 0, forj, k 6= i. As an example, let us assume that a ≡ e2, so that a1 = a3 = 0 and a2 = 1. Theequations of motion become

J1θ1 − IsΩ0θ3 = M1

J2θ2 + Is∆Ω = M2

J3θ3 + IsΩ0θ1 = M3

The pitch dynamics is decoupled from the roll and yaw motions, but is coupled with thespin–wheel dynamics

∆Ω =ga

Is− ω2

Summing up, the torque–free pitch dynamics (M2 = 0) is described by the equations

(J2 − Is) θ = −ga

Ω = Ω0 −J2

Isθ

On the converse, roll and yaw motions are coupled by the gyroscopic term. Moreover,if the rotor spin speed is time–varying and ∆Ω is not negligible, the roll and yaw couplingterms depend on the pitch dynamics through Ω.

3.6 Use of thrusters for attitude control

3.6.1 Single axis slews (open loop)

If we consider a constant torque acting around the generis i–th axis, the angular acceler-ation is

αi = θi = Mi/Ji

Integrating from the initial condition θ(t0) = θ0, θ(t0) = θ0 (and dropping the subscripti), one has

θ(t) = θ0 + α(t− t0)

θ(t) = θ0 + θ0(t− t0) +1

2α(t− t0)

2

Page 78: Spacecraft Attitude Dynamics and Control

72 G. Avanzini Spacecraft Attitude Dynamics and Control

The same equation can be integrated in the phase plane θ vs θ. By application of thederivation chain rule it is

θ =dθ

dtso that one gets

α = θdθ

dθIntegrating the previous equation in θ, one gets

∫ θ

θ0

ϑdϑ =

∫ θ

θ0

αdϑ

that, for constant applied torque, becomes

1

2

(

θ2 − θ20

)

= α(θ − θ0)

or,θ2 = θ2

0 + 2α(θ − θ0)

Starting from a rest position in the nominal attitude (θ = 0 and θ = 0), one gets

θ2 = 2αθ =⇒ θ(t) =√

2αθ

A single–axis rotation manoeuvre can thus be performed in three phases: an initialacceleration phase (i) during which the spacecraft achieves the desired slew rate θd for thereorientation; the acceleration is followed by a drifting phase (ii), during which a constantangular velocity remains constant with no action from the thrusters, until, at a propertime instant, the drifting motion is stopped during the deceleration phase (iii) by a secondimpulse from the thrusters. Representing the manoeuvre in the phase plane, the statevariables evolve as reported in Fig. 3.1.

The configuration of the thrusters used for spinning the satellite up to the drift angularvelocity can be different. As reported in Fig. 3.2, a single thruster delivering a force ~Fwith a moment arm ℓ with resepct to the spacecraft centre of mass produces a torque themagnitude of which is Fℓ. Unfortunately, also a net force F is produced which will affectorbit parameters, thus coupling the orbit and the attitude control proboems.

On the converse, if a balanced configuration is employed, the simultaneous firing oftwo thrusters in opposite directions will produce only a torqe M = 2Fℓ, with a zero netforce, so that the orbit motion of the spacecraft is unaffected by attitude control pulses.

An approximate evaluation of the total manoeuvre time and the propellant necessaryfor performing it can be derived by neglecting the duration of the thruster firings foraccelerating and decelerating the angular motion of the vehicle, taking into account onlythe drift phase. Assuming that the drift angular velocity is θd, the time required for amanoeuvre of amplitude equal to θf is simply given by T = θf/θd.

Assuming a sharp thrust profile, it is

θd =2Fℓ

J∆t

and the pulse width (thruster on–time) for the spin–up is given by

∆ton,1 =Jθd

2Fℓ

Page 79: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 73

θ

θ

θ0

θd

θf

acceleration drift deceleration

.

.

Figure 3.1: Evolution of θ and θ for a rest–to–rest manoeuvre.

XX -

j

~F

XX

XX

-

j

~F

~F

Figure 3.2: Unbalanced and balanced thruster configurations.

From the definition of the thruster specific impulse

Isp =F∆ton

g∆mf

(that is the ratio between the momentum gained and the weight of the propellant used)the mass of propellant necessary for the acceleration is

∆m1 = 2F∆ton,1

gIsp=

Jθd

gℓIsp

The drift angular velocity can be determine as a function of the manoeuvre time, thatis, θd = θf/T , so that the propellant mass necessary for the spin–up becomes equal to

∆m1 =Jθf

gℓIspT

At the end of the drift interval, a second pulse of equal duration in the opposite directionwill stop the motion of the satellite and the new attitude will be acquired. The total

Page 80: Spacecraft Attitude Dynamics and Control

74 G. Avanzini Spacecraft Attitude Dynamics and Control

propellant mass is thus equal to

∆mtot = ∆m1 + ∆m2 = 2Jθf

gℓIspT

It can be observed that allowing larger manoeuvre times, the same angle variationcan be achieved with a significantly smaller amount of fuel. Moreover, low energy thrustpulses are less likely to excite vibrations in the structure and/or in flexible appendagesattached to the spacecraft (such as antennas or solar panels). For large values of T , smalleron–time for the thruster are required, and the initial assumption that the acceleration anddeceleration phases have a negligible duration with respect to the overall manoeuvre timeis confirmed.

On the other side, for agile spacecraft that achieve high angular velocities, it is pos-sible to improve the accuracy of the estimate of manoeuvre time taking into account theduration of the initial and terminal phases. The time for accelerating the satellite up toθd is again given by

∆t1 =Jθd

Fℓ=θd

α

which is still equal to the time ∆t2 necessary for bringing it back to rest at the end of themaneuver, with the difference that for fast manoeuvres the total firing time ∆t1 + ∆t2 isa not negligible fraction of the total manoeuvre time T .

During the acceleration, the variation of θ is

θ1 =1

2α∆t21 =

1

2

θ2d

α

and the total variation during the manoeuvre is given by

θf = θdtd + θ1 + θ2

where the angle variation during the acceleration and deceleration phases, θ1 and θ2, areequal. The drift time is td = T − 2∆t1, where T is the total manoeuvre time, so that

θf = θd(T − 2∆t1) + α∆t21

= θd

(

T − 2θd

α

)

+θ2

d

α

The total manoevure time becomes thus

T =θf

θd

+θd

α

In the limit, the minimum–time bang–bang control law brings to zero the drift timetd. The reader can demonstrate that in this limit case it is

T = 2√

θf/α

In both cases, the faster manoeuvres are performed at the expenses of a significantincrease in propellant consumption.

Page 81: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 75

3.6.2 Closed–loop control

The ideal case: thrust modulation

If the satellite is equipped with a set of sensors that provides the necessary informationon the attitude motion, it is possible to implement a control law which provides a torquecommand that drives the satellite towards the prescribed attitude.

If the torque command is simply proportional to the attitude error, e = θdes − θ, theclosed–loop equation of motion becomes

θ = M/JM = K(θdes − θ) = Ke

=⇒ θ =K

J(θdes − θ) =⇒ θ + p2θ = p2θdes

where p2 = K/J . The solution of this second order equation for an initial condition ofrest for θ = 0 is

θ(t) = θdes [1 − cos (pt)]

i.e. an unacceptable undamped oscillation of amplitude θdes about the desired condition.In order to damp the oscillation and asymptotically reach the desired condition, it isnecessary to add a damping term in the control law, proportional to the angular rate θ.The command torque is thus

M = K(θdes − θ) +Kdθ (3.3)

and the closed–loop equation of motion becomes

θ + cθ + p2θ = p2θdes

where the coefficient of the damping term c = 2ζp = −Kd/J is positive (damped oscilla-tions) if the gain associated to the angular rate is negative.

There are two possible resulting closed–loop behaviours. For 0 < ζ < 1, the time–history of the angular motion is

θ(t) = θdes [1 − exp(−ζpt) cos (pdt)]

where pd = p√

1 − ζ2, that is, damped oscillations with an exponentially decaying ampli-tude.

If on the converse ζ > 1, the characteristic equation has two real solutions λ1,2 =

p(−ζ ±√

ζ2 − 1), which are both negative. In this case the evolution of the rotationangle is

θ(t) = θdes

[

1 − λ2

λ2 − λ1

exp(λ1t) +λ1

λ2 − λ1

exp(λ2t)

]

Two important issues need to be considered, at this point. The first one is the choiceof the gains. The case with ζ < 0 is not considered at all, inasmuch as one of the poles ofthe closed loop system would be a positive real number, that is, the closed loop systemwould be unstable. When ζ < 1 (sub–critical damping), the time τ to damp out 99% ofthe initial oscillation amplitude increases as ζ gets smaller according to the equation

exp(−ζpτ) = 0.01 =⇒ τ = − log(0.01)/(ζp)

At the same time, if ζ > 1 (super–critical damping) the time constant of the slowest modebecomes larger, being approximately equal to ζ/p, for large values of ζ . This means thata largely super–critical damping coefficient will cause a slower convergence.

Page 82: Spacecraft Attitude Dynamics and Control

76 G. Avanzini Spacecraft Attitude Dynamics and Control

Figure 3.3: Pulse–Width/Pulse–Frequency (PWPF) modulator.

The best performance in terms of maneuver agility are obtained for the critical damp-ing ζ = 1, which guarantees the fastest convergence time to the desired position. Theover–damped case may be of interest in those cases when fuel consumption is more astringent concern than maneuver time. On the contrary, the under–damped case, whichexhibits some overshoot, is of no practical interest, since it is characterized by a longersettling time and an increased fuel consumption, because of the thrusting system firingalternatively in both directions, during the oscillations.

The second issue concerns the actual implementation of a control law in the form (3.3).Such a control law would be realistic only if the control torque provided by the thrustercould be modulated. Unfortunately direct thrust modulation would require a complexhardware and, at the same time, would be extremely inefficient in large portions of therequired thrust range. For these reason, thruster are always on/off devices. As a conse-quence, some form of pulse modulation is required to provide a feasible implementation ofthe control torque demand. Two techniques will be presented, the Pulse–Width/Pulse–Frequency (PWPF) modulator, which is an analogic device, and the Pulse–Width Mod-ulator (PWM), which lends itself to a discrete time implementation.

Pulse–Width/Pulse–Frequency modulation

Figure 3.3 shows the structure of a Pulse–Width/Pulse–Frequency (PWPF) modulator.The main element of the modulator is the Schmidt trigger, which consist of a double relaywith hysteresis, separated by a dead band. In order to provide a quasi–linear steady–stateresponse, a modulation filter is added, the input of which is the signal e = em − ym, i.e.the difference between the feed–back signal error and the modulator output. The outputof the filter v is the activation signal for the Schmidt trigger.

The modulator filter is represented by a linear first order system, the dynamics ofwhich is

v =1

τ(Kem − v)

The response of the modulator filter to a steady input e is

v(t) = v0 exp (−t/τ) +Kem [1 − exp (−t/τ)]

until y = 0.The output y of the modulator remains zero until the signal v remains below the

activation threshold Uon. This threshold is never crossed if the error variable em remainssmaller than Uon/K, that is, the asymptote of v(t) → Kem lies below Uon.

If on the converse Kem > Uon, there will be a time tom when v reaches Uon and thetrigger output switches from 0 to Um (Fig. 3.4), so that the thruster is activated by the

Page 83: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 77

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.2

0.4

0.6

0.8

1

1.2

Filt

er v

aria

ble

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

2

4

6

8

10

Out

put t

orqu

e

time [sec]

initial condition V = 0

first activation when V = Uon

Uon

Uoff

deactivation when V = Uoff

pulseduration

∆ ton

time betweenpulses ∆ t

off

Figure 3.4: Activation/deactivation sequence of a PWPF modulator.

trigger. At this point, the modulator input changes to e = em −Um. Assuming that em isunaffected by y, integration of the filter linear dynamics starting from the initial conditionv(ton) = Uon for e = em−Um brings to the following expression for the activation function

v(t) = Uon exp

(

−t− tonτ

)

+K(em − Um)

[

1 − exp

(

−t− tonτ

)]

= K(em − Um) + [Uon −K(em − Um)] exp

(

−t− tonτ

)

The thruster is switched off when the activation function becomes equal to Uoff , that iswhen

exp

(

−toff − tonτ

)

=Uoff −K(em − Um)

Uon −K(em − Um)

= 1 − Uon − Uoff

Uon −K(em − Um)(3.4)

It should be noted that, if K(em −Um) > Uoff , i.e. em > Uoff/K+Um, the above equationhas no real solution, that is the input is so great that the modulator calls for a continuousthruster engagement. This level constitutes the saturation level of the modulator. Onthe converse, if em becomes less than Uoff/K + Um, the thrusters are switched off whent = toff . Calling ∆ton = toff − ton the on–time of the thruster, and assuming that it issufficiently small, it is possible to approximate exp (−∆ton/τ) = 1 − ∆ton/τ , so that

∆ton ≈ τUon − Uoff

Uon −K(em − Um)

Page 84: Spacecraft Attitude Dynamics and Control

78 G. Avanzini Spacecraft Attitude Dynamics and Control

After the thruster pulse, the modulator input becomes again e = em and the responseof the filter for an initial condition given by v(toff) = Uoff is

v(t) = Uoff exp

(

−t− toffτ

)

+Kem

[

1 − exp

(

−t− toffτ

)]

The thruster will be activated again when v = Uon, that is when

exp

(

−t− toffτ

)

=Uon −Kem

Uoff −Kem

Assuming again that the off time is also sufficiently small, one gets

∆toff = τUon − Uoff

Kem − Uoff

Figure 3.5 shows the activation sequence of a PWPF modulator for increasingly highervalues of the error signal em. In the first case it is clear how the error signal is so smallthat the thruster are not activated. For an error sligthly above the activation threshold,a sequence of small pulses (25 ms) separated by wide deactivation intervals (∆toff ≈ 0.6s) are present. This correspond to a small average control torque. A higher error signalincrease the duration of the pulses, while decreasing the time between the pulses, so thatthe average torque increases almost linearly until the saturation level is reached. Beyondsaturation (bottom–right corner in Figure 3.5) the deactivation threshold is no longercrossed and the thruster are not switched off.

The average output of the thruster, given by

y = Um∆ton

∆toff + ∆ton

is represented in Fig. 3.6. Its variation is almost linear for Uon/K < em < Uoff/K+Um, itis zero below the activation threshold and equal to the thruster force beyond the saturationvalue. The proper sizing of the trigger and filter characteristics through tuning of filter andtrigger parameters allows for realizing a modulator which takes into account the physicalcharacteristics of the thrusters, such as the minimum pulse time and the minimum timebetween pulses.

Figure 3.7 shows the response of a satellite controlled by a set of thruster driven by aPWPF modulator (continuous blue line). The response is compared with that obtainedby thrust modulation (red dashed line). In the initial part of the reorientation manoeuvre(t < 100 s), the modulator reproduce almost exactly the behaviour of the ideal linear PDcontroller.

In the following part of the simulation, shown in Fig. 3.8, the angular velocity ofthe ideal case goes asymptotically towards 0, while the small residual angular velocity(-0.002 deg/s) visible in the more realistic case, where the modulator is present, causes aslow drift towards the negative side of the dead–band. Since the error signal is within thedead–band no control action is produced, until for t = 273.36 s a pulse is fired which revertthe motion. The minimum pulse provides the required reversal, but the resulting angularvelocity is significantly higher (0.025 deg/s) so that after few seconds, t = 286.43 s, a newpulse in the opposite direction is required to revert again the motion on the positive sideof the dead–band. This bouncing between the edges of the dead–band characterizes thesteady–state condition of a spacecraft controlled with a reaction control system.

Page 85: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 79

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

Filt

er v

aria

ble

0 0.5 1 1.5 20

2

4

6

8

10

Out

put t

orqu

e

time [sec]

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

Filt

er v

aria

ble

0 0.5 1 1.5 20

2

4

6

8

10

Out

put t

orqu

e

time [sec]

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

Filt

er v

aria

ble

0 0.5 1 1.5 20

2

4

6

8

10

Out

put t

orqu

e

time [sec]

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

Filt

er v

aria

ble

0 0.5 1 1.5 20

2

4

6

8

10

Out

put t

orqu

e

time [sec]

Figure 3.5: Activation sequences of a PWPF modulator for different input levels.

DC

0 2 4 6 8 10

0.0

0.5

1.0

e

Figure 3.6: Duty cycle of the PWPF modulator.

Page 86: Spacecraft Attitude Dynamics and Control

80 G. Avanzini Spacecraft Attitude Dynamics and Control

0 20 40 60 80 100−1

0

1T

orqu

e [N

m]

0 20 40 60 80 100

0

0.5

1

Ang

. spe

ed [d

eg/s

]

0 20 40 60 80 1000

10

20

Ang

le [d

eg]

time [sec]

Figure 3.7: Closed–loop behaviour (short term).

100 150 200 250 300 350 400 450 500−1

0

1

Tor

que

[N m

]

100 150 200 250 300 350 400 450 500−0.1

0

0.1

Ang

. spe

ed [d

eg/s

]

100 150 200 250 300 350 400 450 50019

20

21

Ang

le [d

eg]

time [sec]

Figure 3.8: Closed–loop behaviour (long term).

Page 87: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 81

-

6y

Um

0t-

ts -∆ton

-∆toff

-∆tdc

Figure 3.9: Pulse–Width Modulation.

yUm

0 0.2 0.4 0.6 0.8 1 1.20

0.2

0.4

0.6

0.8

1

eesat

Modulator data: ts = 10 ms; Ndc = 20; ∆ton,min = 12 ms ⇒ Non,min = 2;MTBP = 17 ms ⇒ Non,max = 18.

Figure 3.10: Response of a PW Modulator.

Pulse–Width Modulation

The PWPF modulator is a heritage of the analogic era, although it is still widely used. Themain advantage of PWPF modulation remains the possibility of commanding a sequenceof pulses with a quasi–linear response, in terms of averaged output. Nonetheless, manyactuators are now commanded in the framework of a digital implementation of the controllogic. It is well known that a digital controller obtained from the discretization of ananalogic one can attain at most the performance of the original analogic counterpart. If adigital controller is designed directly in the discrete time domain, taking into account thesampling frequency and A/D and D/A conversions, better performance can be obtained.

Pulse–Width modulation provide a means for designing a thruster control law wherethe implementation of the switching logic is inherently digital. As an advantage withrespect to PWPF (analogic) modulation, it is much easier to satisfy restrictions on theon–time ∆ton and the time–between–pulses ∆toff .

Figure 3.9 shows a sequence of pulses. If ts is the sampling period of the digitalcontroller, a pulse can be commanded for each duty cycle, the duration of which is ∆tdc =

Page 88: Spacecraft Attitude Dynamics and Control

82 G. Avanzini Spacecraft Attitude Dynamics and Control

Nts. The minimum impulse bit (MIB) Non,min is chosen so that Non,mints > ∆ton,min.At saturation, the on–time is extended to the entire duty cycle. Below saturation, themaximum pulse must satisfy the constraint on minimum–time–between–pulses (MTBP),that is ∆toff = (N −Non)ts >MTBP.The average output of a thruster controlled in PWM is

y = Um∆ton

∆toff + ∆ton= Um

Non

N

The response of the PWM to a constant input error signal e is depicted in Fig. 3.10,assuming that a quasi–linear average output y = ke is desired between a deadband edb

and the saturation value esat, when the on–time equals the duty cycle and y = Um. Itshould be noted that, by a proper software implementation of the activation signal, it ispossible to obtain arbitrary pulse–width modulation curves.

3.6.3 Fine pointing control

After slew to target, the control system switches to fine pointing control, in order tomaintain the payload aimed at the desired target with a prescribed tolerance, in presenceof external disturbances. This can be done using momentum exchange devices and/or gasjets. A simple way to achieve such a fine pointing is to use cold gas jets, that producethrust in the range between 0.05 and 20 N, with short pulse times (of the order of 10−2 s)for fine control. As far as the satellite will be bouncing back and forth between the edgesof a limit cycle, it is important to estimate the amount of fuel necessary as a function ofthe prescribed pointing accuracy and thruster characteristics.

Torque–free control

Let us consider the torque–free case, that is no external disturbance acts on the spacecraft,where the payload must be pointed in a given direction, within some deadband, which inthe case of astronomy payloads can become as small as 1/10 arcsec = 0.000278 deg!

The satellite is allowed to drift slowly inside the deadband, with drift velocity θd.When it reaches the limit of the deadband, θdb, the thruster is fired so as to revert thedrift rate in the opposite direction. The satellite will drift towards the other side of thedeadband, where the thruster are fired again, thus capturing the satellite into a limit cycleof width approximatley equal to 2θdb. In what follows it will be assumed that the limitcycle is symmetric, that is, the absolute value of the angular velocity during the driftingphases is the same in both directions.1 The thrusters generates a moment

M = 2Fℓ = Jθ

For a thruster pulse width ∆ton, the change of the attitude rate is

∆θ = 2Fℓ

J∆ton = 2θd

1As it was evident from the simulation in the previous paragraph, this is not what happens in reality,since there is no way of enforcing a perfectly symmetric limit cycle with a simple PD controller, unlessmore complex control strategies are implemented. Nonetheless, the following analysis is conservaive,inasmuch as the symmetric limit cycle is the fastes one (its period is the shortest), thus requiring themaximum number of pulses per unit time. This means that the estimate of the fuel consumption in thissituation is a worst–case–scenario.

Page 89: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 83

−0.01

0

0.01

drift

drift

deadband

thru

ster

firin

g thruster firing

θ [10−4 deg]

θ [d

eg s

−1 ]

−3 0 3

.

Figure 3.11: Limit cycle for gas–jet fine pointing control.

for a symmetric limit cycle, in order to exactly revert the satellite motion after the firing.Remembering that

Isp =F∆tong∆mf

one gets, for each thruster firing, a fuel consumption of

∆mf = 2F∆tongIsp

= 2Jθd

gℓIsp

Considering both sides of the deadband, the total fuel consumption per cycle is

∆mf,tot = 4Jθd

gℓIsp

Ignoring the (usually negligible) thruster pulse time, the duration of the limit cycle is

TLC ≈ 4θdb

θd

and the average fuel consumption (that is the fuel burned per unit time) is

¯mf =∆mf,tot

TLC=

Jθ2d

gℓIspθdb

which can be rewritten as

¯mf =(Fℓ∆ton)

2

gℓIspJθdb

This latter equation shows clearly that in order to achieve a great accuracy (small valueof θdb) without paying too a great penalty in terms of fuel consumption, the characteristicsof the thrusters are of paramount importance, inasmuch as ¯mf remains small onfly if highspecific impulse thrusters are employed, capable of delivering the force F for a very shortpulse time ∆ton.

Page 90: Spacecraft Attitude Dynamics and Control

84 G. Avanzini Spacecraft Attitude Dynamics and Control

−0.01

0

0.01

−3 0 3

drift

thruster firing

deadband

θ [10−4 deg]

θ [d

eg s

−1 ]

.

Figure 3.12: Limit cycle for gas–jet fine pointing control with constant disturbance torque.

Bias torque compensation

In most cases, the payload must be aimed at a target (be it on Earth or in the openspace) in presence of external disturbances. If the resulting torque is roughly constant,such as that due to the gravity gradient, it is possible to use this torque for reversing themotion on one side of the deadband. In this case, the environmental torque will bring thespacecraft drifting towards the top of the tolerance interval. At this point the thruster arefired, to reverse the motion, that will be slowed down by the adverse disturbance torque.Rather than allowing the spacecraft to reach the other side of the deadband and fire asecond thruster pulse, one allows the bias torque to slow and reverse the drift inside thedeadband interval. The limit cycle will be made of two parabolic arcs, one relative to thethruster firing phase, similar to that of the previous case, that reverse the satellite motionon one side of the deadband, and the second arc, relative to the slow deceleration andmotion reversal due to the external torque.

If the disturbance torque generates an angular acceleration

θ = αD = MD/J

it is

θ(t) = θ0 + αD∆t

θ(t) = θ0 + θ0∆t+ αD∆t2/2

where the subscript 0 indicates the initial condition at time t0. From the first equation,it is ∆t = (θ(t) − θ0)/αD, that, substituted in the second one, after some simple algebragives

θ2 = θ20 + 2αD(θ(t) − θ0)

If the initial condition is on the deadband limit, it is θ0 = θdb. In order to keep the limitcycle inside the dead band, the turning point at which θ drops to zero and reverts its sign

Page 91: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 85

must be crossed on the other side of the deadband, when θ0 = −θdb. In this case, it is

θ2 = 0 = θ20 + 2αD(−2θdb)

that is

θdb =Jθ2

0

4MD

In order to close the limit cycle, the thruster pulse must be such that the total ∆θ istwice the drift angular velocity θ0 at deadband crossing,

∆θ = 2θ0 = 2Fℓ∆ton/J

Substituting the latter expression in the equation of θdb one gets

θdb =(Fℓ∆ton)

2

4MDJ

and again the requirement on the thruster is to deliver a small duration pulse for keepingthe deadband small enough to satisfy fine pointing requirements.

Exercise

After determining the duration of the limit cycle in presence of a bias torque, where asusual the firing time can be considered negligible, prove that the average fuel consumption¯mf = ∆mf,tot/TLC is independent of the θdb, if the motion reversal under the action ofthe disturbance torque exploits the whole deadband amplitude.

3.7 Momentum exchange devices for attitude control

Gas jets can deliver very high torque to manoeuvre a spacecraft and change its orientation,but they have a limited life, due to the finite propellant mass budget available. For thisreason, it is important to rely on some different kind of actuators for stabilising andcontrolling satellite attitude during normal operations, without using propellant.

Reaction wheels (RWs) and momentum–bias wheels (MBWs) can exchange angularmomentum with the spacecraft bus using only electrical power, that is obtained from thesolar panels for the whole lifetime of the satellite. Each wheel is attached to the satellitestructure trough an electric motor, that can be used to accelerate or decelerate the wheel,relatively to the satellite. If we assume that initially both the satellite and the wheelare still in the inertial frame (zero angular momentum initial condition), spinning up thewheel in one direction will cause the bus to rotate in the opposite direction, because ofconservation of overall angular momentum.

Let us consider a single axis rotation about the principal axis of inertia ei. Thespacecraft has a total principal moment of inertia Ji about ei, including the wheel. Thewheel spins around the axis a = ei, having a spin moment of inertia Is about a andangular velocity Ω, relative to the spacecraft bus. Its rotation does not change the actualmass distribution, so that Ji is independent of the motion of the wheel.

The overall angular momentum about ei is

hi = Jiωi + IsΩ

Page 92: Spacecraft Attitude Dynamics and Control

86 G. Avanzini Spacecraft Attitude Dynamics and Control

where the first term is the angular momentum of the satellite induced by the overallrotation rate ωi, while the second one is the relative angular momentum stored in thewheel.

Note that the absolute angular velocity of the wheel is Ω + ωi with respect to theinertial frame FI . If initially ωi = Ω = 0, so that hi = 0, and taking into account thatthe total angular momentum is conserved, inasmuch as the wheel is spun up or slowedthrough the exchange of internal torques applied by the electric motor, one gets

ωi = −IsJi

Ω (3.5)

Usually it is Is ≪ Ji, so that ωi ≪ Ω, that is the angular velocity achieved by thespacecraft is only a small fraction of the relative spin angular velocity of the wheel.

In order to manoeuvre the spacecraft about 3 axes, it is necessary to equip the satellitewith at least 3 RWs, one for each body axis. The cluster of RWs usually contains afourth spare wheel, the axis of which is oriented in such a way so as to exchange angularmomentum components to or from any of the three axes, if one of the main wheels fails.

One of the wheels can be used to de–spin the satellite after orbit acquisition. In sucha case, this wheel shall be oriented as the spin axis of the satellite and apogee kick rocketmotor stack and it is called a momentum wheel. Its angular momentum is unlikely todrop back to zero and the control torques about its axis will be obtained accelerating anddecelerating the wheel.

The MBW will also provide a certain degree of gyroscopic stability, which is an in-teresting feature. At the same time, the presence of the momentum bias will couple themotion about the other two axis because of the gyroscopic effect observed when derivingthe equations of motion of gyrostats. As a consequence, it is no loger possible to considerseparately the control problem about the principal axis of inertia. In spite of this fact,only single–axis rotations will be considered in what follows, for the sake of simplicity.

3.7.1 Open–loop control with RWs

Assuming for simplicity torque–free motion, we will size a reaction wheel with respect torequirements in single axis slew manoeuvre. Dropping the i subscript, the total angularmomentum about one of the principal axis is

h = hs + hw

where hs = (J − Is)ω is the spacecraft angular momentum (without the wheel), whilehw = Jsw(Ω + ω) is the spin wheel absolute angular momentum. Since there are noexternal toruqes, h = const and

h = hs + hw = 0 =⇒ hs = −hw

where ga = hw is the motor torque applied to the spin wheel.Note that, assuming single axis rotations, it is ω = θ ⇒ ω = θ, and the equation of

motion can thus be written in the form

(J − Is)θ = −ga

which has exactly the same form derived for the RCS case, with the only difference of thesign in the control torque, which, in the case of RWs or MBWs is a reaction torque.

Page 93: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 87

-t

6T

t1θ = 0

t2

t3 t4θ = θf

hs

−hs

Figure 3.13: Torque profile for a single axis slew manoeuvre.

As a consequence, a similar open–loop control technique can be used, where one pulseis used for spinning up the reaction wheel and consequently the vehicle in the oppositedirection, achieving a certain drift angular velocity, according to Eq. (3.5), while a secondpulse will spin down both the spacecraft and the wheel, achieving at the end of themanoeuvre the desired attitude θf .

After the first pulse, the spacecraft gains an angular momentum equal to

hs(t2 − t1) = (J − Is)θ = −hw(t2 − t1) = −ga(t2 − t1)

But it is alsohs = (J − Is)θ = (J − Is)α

where α = θ = −ga/(J − Is) is the angular acceleration of the spacecraft. The evolutionof the angular displacement is thus given, as in the RCS case, by

θ(t2) =1

2α(t2 − t1)

2

= −1

2

ga

J − Is(t2 − t1)

2

Note that simpler expressions can usually be employed for preliminary sizing purposes, byremembering that usually it is J ≫ Is. On the other side, the value of the available torqueis usually much smaller than that obtained from thrusters, so that the pulse duration isnot negligible with respect to manoeuvre time.

As an advantage of reaction and momentum bias wheels, the fact that electrical power(and no fuel) is employed for accelerating and decelerating the wheel make it possibleto perform fast manoeuvers, without paying any penalty in terms of operational lifetimewith respect to slower ones.2

3.7.2 Sizing a reaction wheel for single axis slews

For a minimum–time rotation, a bang–bang control must be used, so that t2 ≡ t3 and thefinal rotation angle is

θf = 2θ(t2) =hs

J − Is(t2 − t1)

2

2On the converse, a faster drifting phase requires more acceleration and deceleration from the reactioncontrol system, which means more fuel is burned for achieving the same final attitude. This means thatthe satellite will run out of fuel sooner, if fast manoeuvres are performed insterad of slow ones.

Page 94: Spacecraft Attitude Dynamics and Control

88 G. Avanzini Spacecraft Attitude Dynamics and Control

But assuming t1 = 0, it is also tf = 2(t2 − t1), for bang–bang control, and one gets

θf =1

4

hs

J − Ist2f

Because of conservation of angular momentum, we recall that hs = −hw, so that themaximum torque that the electric rotor must produce is

ga,max = |hw| = 4(J − Is)θf

t2f

But for t = t2, it is also

hs(t2) = (J − Is)θ(t2) = −hw(t2) = −hw(t2 − t1) = −hwtf/2

when the wheel achieves the maximum angular momentum. This means that the momen-tum capacity of the wheel must be

hmaxw ≥ 2(J − Is)

θ2tf

Numerical example

We require a spacecraft with J = 100 kg m2 to perform a 0.2 rad slew in 10 sec. This meansthat the electric motor must apply torques in both direction equal to (neglecting the unknownvalue of Is)

hw ≈ 4Jθf

t2f

4 × 100 × 0.2

102= 0.8 Nm

The maximum momentum stored in the RW is reached when half of the reorientation is com-pleted, so that the RW capacity must be at least

hmaxw ≈ 2J

θ2

tf=

2 × 100 × 0.2

10= 4 kg m2s−1

Assuming a wheel inertia Jsw = 0.03 kg m2, the maximum wheel angular rate with respect tothe satellite bus is

Ω = − J

Isω = − J

Is

hs

J − Is

≈ hw

Jsw= 133 rad s−1 = 21.2rpm

3.7.3 Closed–loop control with RWs for single axis slews

With the usual meaning of the symbols, the equation of motion for single–axis rotation is

d

dt

(

Jθ + IsΩ)

= Mext

so that it is

Jθ + IsΩ = Mext (3.6)

Page 95: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 89

The reaction wheel dynamics is described by the first order equation

Is

(

Ω + θ)

= ga ⇒ IsΩ = ga − Isθ

Substituting the latter expression in Eq. (3.6) and assuming for simplicity that theexternal torque and the momentum bias are both zero, it is possible to rearrange thedynamics equation as

(J − Is)θ = −ga

By choosing a simple PD control in the form

ga = KP (θdes − θ) +KDθ (3.7)

the closed–loop dynamics is described by the second order differential equation

J∗θ +KDθ −KPθ = −KP θdes

where J∗ = J − Is is the moment of inertia of the platform without the spin–wheel.3

By defining the closed–loop system bandwidth as p2 = −KP/J∗ (with Kp strictly

negative for static stability) and a damping parameter ζ such that 2ζp = KD/J∗ (with

KD strictly positive for asymptotic stability), the equation of motion can be rewritten inthe form

θ + 2ζpθ + p2θ = p2θdes

which can be solved analytically and clearly presents a nice way of choosing the gains KP

and KD.

3.7.4 Bias torque and reaction wheel saturation

Let us assume for simplicity that the satellite is subject to a constant disturbance torqueMD. It is easy to see that the angular displacement θ evolves according to the differentialequation

θ + 2ζpθ + p2θ = p2θdes +MD/J∗

and asymptotically converge to the steady state

θss = θdes +MD/KP 6= θdes

This means that the use of the control law of Eq. (3.7) may not guarantee a sufficientpointing accuracy. The steady state error can be made smaller by increasing the propor-tional gain KP , but it will never vanish. Moreover, increasing the gain will likely degradethe performance of the real system, since the sensor noise will also be multiplied by a highgain.

It is possible to asymptotically cancel the steady state error by adding an integralterm to the control law, i.e.

ga = KP (θdes − θ) +KDθ +KIy (3.8)

where

y = θdes − θ ⇒ y =

(θdes − θ)dt

3Note that the feedback control law duplicates exactly the control law employed for reaction controlsystems, Eq. (3.3), but because ga is a reaction torque, the gains appears with their sign changed in theequation of the closed loop system dynamics. Their values must be chosen accordingly.

Page 96: Spacecraft Attitude Dynamics and Control

90 G. Avanzini Spacecraft Attitude Dynamics and Control

If an integral term is introduced, a steady–state can be achieved only if y = 0, i.e. θ = θdes,with a value of y such that

KIy = MD ⇒ ga,ss = MD

This means that if the spacecraft is subject to a constantly not null external torque, theaverage value of which is not zero (aerodynamic torque, gravity gradient), the platformcan be maintained aimed at a fixed position only if an equivalent motor torque is deliveredto the reaction wheel. As a consequence, the wheel will absorb these disturbances by spin–up and fix the orientation, but its angular velocity will constantly increases. Should thewheel reach the maximum spinning speed, the attitude control system is saturated.

In order to avoid such a problem, before reaching saturation it is necessary to dumpthe angular momentum excess. This can be done simply braking the wheel and firing thethrusters in the opposite direction. In this way the momentum accumulated in the wheelis brought back to zero, because of the external torque produced by the thrusters. Duringwheel desaturation the pointing accuracy of the control system is usually reduced.

The use of thrusters for despinning the wheels shows that also when using RWs forattitude control it is necessary to carefully design the propellant mass budget. Thrusterfirings will be also in this case the main source of fuel consumption during the stationkeeping phase, and will be the main limit to the satellite operative life.

3.7.5 Roll–yaw axes control in presence of momentum bias using

reaction wheels

In order to derive the (linearized) equation of motion of a satellite equipped with a mo-mentum wheel parallel to the pitch axis and two reaction wheels for roll and yaw control,the angular momentum can be expressed as

hB = IωB + HB

whereHB = Ib(Ω0 + ∆Ω)e2B

+ IrΩ1e1B+ IrΩ3e3B

is the angular momentum stored in the spinning wheel, Ib being the moment of inertia ofthe pitch–axis bias–momentum wheel while Ir is the moment of inertia of the two reactionwheels. Writing HB as

HB = H0B+∆HB = (0, h0, 0)T +(∆h1,∆h2,∆h3)

T = (0, IbΩ0, 0)T +(IrΩ1, Ib∆Ω, IrΩ3)T

and assuming that ||IωB||, ||∆HB|| ≪ h0, the equation of motion can be written as

IωB + Ib∆Ωe2B+ IrΩ1e1B

+ IrΩ3e3B+ ωB × IbΩ0 = MB

where higher order terms have been neglected. Each wheel is characterized by a dynamicsin the form

IΩ = ga − Iω

Assuming finally a small angular displacement, so that ωB = θ, the pitch equation isdecoupled from the others and takes the form already discussed in the previous paragraph,while the coupled roll–yaw dynamics is described by the following system of ordinarydifferential equation:

J1θ1 + IrΩ1 − IbΩ0θ3 = M1

J3θ1 + IrΩ3 + IbΩ0θ1 = M3

Page 97: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 91

Coupling these equation with the dynamics of the reaction–wheels

Ω1 = ga1/Ir − θ1

Ω3 = ga3/Ir − θ3

one gets the system of (linear) equations

(J1 − Ir)θ1 − IbΩ0θ3 = −ga1+M1

(J3 − Ir)θ3 + IbΩ0θ1 = −ga3+M3

Choosing for both reaction wheels spin–torque command laws in the form

gai= KPi

θi +KDiθi

and taking the Laplace transform of the system of linear ordinary differential equation,one gets for the torque–free case (M1 = M3 = 0) the following algebraic equation in theLaplace variable s:

[s2 + 2ζ1p1s+ p2

1 −γ1sγ2s s2 + 2ζ2p2s+ p2

2

](θ1(s)θ3(s)

)

=

(00

)

where p2i = KPi

/(Ji − Ir) and 2ζipi = KD/(Ji − Ir), while the gyroscopic coupling term isrepresented by the coefficient γi = IbΩ0/(Ji − Ir). With a proper choice of the gains, it ispossible to have p1 = p2 and ζ1 = ζ2, which means that perturbations about roll and yawaxes are damped with similar time behaviour. Moreover, in such a case the number ofdesign parameter is reduced to two and a simple parametric study is possible. It should benoted that, independently of the choice of the controller parameters, the proposed controllaw requires an explicit estimate of the yaw angle, which may not be a trivial task. Adirect measure of the roll angle is usually available from a Earth horizon sensor, while theyaw angle can be measured directly only with the aid of an expensive star tracker. As analternative, a rate–integrating gyro may be used, where care must be taken on the closedloop dynamics of the effects of gyro drift and integration of the sensor noise over largeperiod of time.

Figure 3.14 shows this study for γ = 1. As it can be observed, for ζ = 0, the closedloop dynamics presents undamped oscillascions for all the values of p, which means that,as usual, a feedback on angular displacement only is not capable of providing asymptoticstability to the origin. For subcritical damping (ζ ≤ 1), the eigenstructure is characterizedby two pairs of complex conjugate eigenvalues, for low values of the proportional gainKP . Beyond a certain critical value (corresponding to pcr = 1.65, for ζ = 0.5), a couple ofcomplex conjugate roots collapses and two real negative eigenvalues are found for highervalues of p. One of them tends towards the origins, as p is increased, so that extremelyhigh proportional gains are not convenient. The critical value at which a pair of complexconjugate roots is replaced by two real eigenvalues decreases as ζ is increased. In thesupercritical range, for ζ > 1, the root locus changes its structure and regions of p can befound where all the eigenvalues are real.

3.7.6 Roll–yaw axes control using a double–gimbal momentum

wheel

An approach very similar to that used for the case of a pitch axis momentum bias wheelplus two reaction wheels can be used of deriving the equation of motion of a satellite

Page 98: Spacecraft Attitude Dynamics and Control

92 G. Avanzini Spacecraft Attitude Dynamics and Control

−15 −10 −5 0−8

−6

−4

−2

0

2

4

6

8

0 1 2 3 4 5−15

−10

−5

0

0 1 2 3 4 5

−5

0

5

−15 −10 −5 0−8

−6

−4

−2

0

2

4

6

8

0 1 2 3 4 5−15

−10

−5

0

0 1 2 3 4 5

−5

0

5

−15 −10 −5 0−8

−6

−4

−2

0

2

4

6

8

0 1 2 3 4 5−15

−10

−5

0

0 1 2 3 4 5

−5

0

5

−15 −10 −5 0−8

−6

−4

−2

0

2

4

6

8

0 1 2 3 4 5−15

−10

−5

0

0 1 2 3 4 5

−5

0

5

ζ = 0Im(λ)

Re(λ)

Re(λ)

Im(λ)

p

p

ζ = 0.5Im(λ)

Re(λ)

Re(λ)

Im(λ)

p

p

ζ = 1Im(λ)

Re(λ)

Re(λ)

Im(λ)

p

p

ζ = 1.5Im(λ)

Re(λ)

Re(λ)

Im(λ)

p

p

Figure 3.14: Root locus as a function of p for different values of ζ .

Page 99: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 93

equipped with a double–gimbal momentum wheel. The angular momentum can be ex-pressed again as

hB = IωB + HB

whereHB = Ib(Ω)aB

is the angular momentum stored in the spinning wheel, Ib being the moment of inertiaof the pitch–axis momentum wheel, while the spin axis can be deflected by the gimbalsfrom its nominal position parallel to the pitch axis, so that

aB = (− cos δ2 sin δ1, cos δ1 cos δ2, sin δ2)T

Assuming that the gimbal rotation angles δ1 and δ2 are small, it is aB ≈ (−δ1, 1, δ2)T . Inthis case HB can be written in the form

HB = H0B+ ∆HB = (0, h0, 0)T + (∆h1,∆h2,∆h3)

T

= (0, IbΩ0, 0)T + (−IbΩ0δ1, Ib∆Ω, IbΩ0δ2)T

Assuming again that ||IωB||, ||∆HB|| ≪ h0, the linearized equation of motion for smallamplitude angular displacement is obtained neglecting higher order terms as

IωB + ∆HB + ωB × IbΩ0 = MB

which becomes, choosing the set of principal axes of inertia as the body frame,

J1θ1 + ∆H1 − h0θ3 = M1

J2θ1 + ∆H2 = M2

J3θ1 + ∆H3 + h0θ1 = M3

As usual, the pitch dynamics is decoupled and is not repeated here, while roll and yawequation of motion are coupled by the gyroscopic term. Letting ur = −∆h1 and uy =−∆h3 be the control variables, the coupled roll–yaw dynamics is described by the followingset of linear second order equations:

J1θ1 − h0θ3 = ur +M1

J3θ3 + h0θ1 = uy +M3

where the gimbal rotation command is

δ1 = ur/h0

δ2 = −uy/h0

It is clear that the same control law derived for the cluster of momentum bias wheel andreaction wheels can be implemented with a double–gimbal hardware, provided that thecontrol power made available by the rotation of the gimbals is sufficient for the prescribedstabilization and control purposes.

3.8 Quaternion feedback control

Many satellites are reoriented performing successive rotation about the control axis, inorder to achieve the desired attitude. Unfortunately, this strategy, although very simple tobe implemented, is not time–optimal nor optimal in terms of fuel or energy consumption.The overall angular path is far in excess the minimum one described by the Euler rotationabout the Euler’s axis. The quaternion feedback control provides a means for obtaininga nearly–optimal reorientation, with a control logic only marginally more complex.

Page 100: Spacecraft Attitude Dynamics and Control

94 G. Avanzini Spacecraft Attitude Dynamics and Control

3.8.1 Derivation of a globally asymptotically stabilizing con-troller: Lyapunov method

The potential function method for nonlinear control stems directly from Lyapunov’s sec-ond method: an extended form of the Lyapunov function, referred to as the potentialfunction, is analytically defined with a global minimum at the target state. Accordingto Lyapunov’s second theorem, the state vector converges to the goal point if the rate ofchange of the potential is negative definite. The mechanism which drives the convergenceis thus based upon the rate of change of the potential function V = V (x): whenever therate of change of V is positive for the unforced system, the state vector will diverge fromthe goal point unless some form of control over the system is available, in which case itis possible to make negative by properly tailoring the control action. In this way, givena dynamical system described by a set of differential equations in the form x = f(x,u),where u indicates a set of available control variables, it is possible to derive a controlmethodology which forces the convergence to the desired goal condition, indicated by thesymbol x.

Convergence to x and global stability can be enforced by building a candidate Lya-punov potential function that has a global minimum in x, that is, such that

1) V (x) = 0

2) V (x) = 0 for x 6= x

3) V (x) → ∞ for ||x|| → ∞

Once a candidate Lyapunov function is available, its rate of change is given by

V (x) =∂V

∂x

dx

dt=∂V

∂xf(x,u)

By choosing a control action u = u(x) such that

4) V (x) < 0 for x 6= x

Lyapunov theorem guarantees that the resulting closed loop system is globally asymp-totically stable in x and thus, once the final target state has been defined, controllable.This method for the generation of closed–loop control functions has the advantage of al-lowing the implementation of non–linear controls for wide amplitude manoeuvres, sincethe method does not hinge on linearization.

3.8.2 Application of Lyapunov method to nonlinear spacecraftattitude control

The rigid body dynamic equations written in vector form are given by

IωB + ωB × (IωB) = MB

while the equation that describe the evolution of the quaternions is

q0 = −1

2qT ωB

q =1

2(q0ωB − ωB × q)

Page 101: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 95

By assuming that the fixed reference frame coincides with the desired attitude, it ispossible to express a good candidate Lyapunov function as

V =1

2ωT

BIωB + kqT q

where k > 0 is an arbitrary positive constant. It is easy to show that V satisfies conditions(1), (2) and (3). By evaluating V from the equations of motion,

V = ωTB(IωB) + 2kqT q

= ωTB[MB − ωB × (IωB)] + kqT (q0ωB − ωB × q)

= ωTB(MB + kq0q)

it is immediate to show that, for any positive definite matrix C, the coice of a controltorque in the form

MB = −CωB − kq0q

makes V = −ωTBCωB strictly negative definite, unless the spacecraft is at rest (ωB = 0)

in the reference attitude (q = (0, 0, 0)T ), that is, also condition (4) is satisfied and MB

provides a globally asymptotically stabilising control law.It should be noted that the extreme flexibility in choosing both the gain matrix C

and the quaternion coefficient k, which are required only to be positive definite, makethe control law stabilising also in the presence of saturation of one or more of the controlchannels.

3.8.3 Generalization of the Quaternion Feedback Control law

Quaternions can be easily computed by modern attitude determination systems and forthis reason their use is nowadays very common. As a consequence, a simple feedbackcontrol law based on the information obtained from the attitude sensors is very easilyimplementable on–board for autonomous manoeuvre management.

It is possible to demonstrate that, by means of the use of the quaternione error vectorqe, a feedback law in the form

MB = −Kqe − CωB

where qe = (q1e, q2e, q3e)T is the attitude error quaternion vector, is globally asymptotically

stabilizing onto any arbitrary desired attitude, (q0,d, qTd )T , for a wide choice of the gain

matrices K and C.When the desired attitude is fixed, it is possible to assume without loss of gener-

ality that the “absolute” reference frame coincides with the desired attitude (and incase switch to another absolute frame if a new attitude needs to be acquired), so that(q0,d, q1,d, q2,d, q3,d)

T = (1, 0, 0, 0)T and qe ≡ q. In this case the control logic can berewritten as

MB = −sign(q0,c)Kq − CωB

where the sign(q0,c) coefficient is introduced in order to accept as possible target attitudesboth (±1, 0, 0, 0)T unit quaternions.4 Note that the interpretation of the gain matricesK and C as artificial stiffness and damping coefficients allows to size the gains usingprocedures similar to those employed for single axis control.

Among the simplest possible globally stabilizing controllers, we have

4Remember that the quaternions (q0, q1, q2, q3)T and (−q0,−q1,−q2,−q3)

T represent the same atti-tude.

Page 102: Spacecraft Attitude Dynamics and Control

96 G. Avanzini Spacecraft Attitude Dynamics and Control

Controller 1: K = k1, C = diag(c1, c2, c3)

Controller 2: K =k

q34

1, C = diag(c1, c2, c3)

Controller 3: K = k sign(q4)1, C = diag(c1, c2, c3)

Controller 4: K = [αI + β1]−1, C = diag(c1, c2, c3)

where k and ci are positive scalar constants, 1 is the 3× 3 identity matrix, sign(q4) is thesign function,5 and α and β are non–negative scalars.

Controller 1 is a special case of controller 4, when α = 0. It is possible to choose β = 0only if α 6= 0. Controllers 2 and 3 approach the origin (1, 0, 0, 0)T taking the shorterangular path, that is, tracking an Euler rotation.

All these control laws can be implemented under the assumption that there is a setof actuators that can deliver the required amount of external torque MB, that is a setof thruster. The problem of the jet selection logic and torque saturation are beyond thescope of the present discussion.

3.9 Control Moment Gyroscopes

When using momentum management devices for attitude stabilisation and control it canbe useful to write the attitude equation of motion in terms of angular momentum, insteadthan working with the angular velocity. Although this is true in general, it becomespractically unavoidable for modeling a satellite equipped with a cluster of Control MomentGyroscopes (CMG).

A CMG is made of a spinning wheel mounted on a pivoting gimbal, the axis of which isperpendicular to the wheel spin axis. Instead than accelerating and decelerating the wheelfor obtaining the proper reaction from the spacecraft platform, the momentum exchangebetween the wheel and the bus is achieved rotating the wheel spin axis about the gimbal.In this way a gyroscopic torque is obtained in a direction perpendicular to both the spinand the gimbal axes. At least three gimballes wheels are necessary for full three–axiscontrol, but a minimum of 4 CMG’s is usually employed. A higher number of wheels canbe considered for increasing system redundancy and overall control power. Figure 3.15shows a cluster of 4 CMG’s in a pyramid mounting, that for a skew angle β ≈ 53 degproduces a quasi–spherical angular momentum envelope, that is, the maximum angularvelocity that can be commanded by the cluster is almost independent of the direction ofthe desired rotation axis.

3.9.1 Model of a spacecraft controlled by a cluster of CMG’s

When the dynamic state of the spacecraft is expressed in terms of the (conserved) angularmomentum vector, the equation of motion is rewritten as

hB + ωB × hB = MB

where hB is the overall angular momentum (expressed in body–frame components). Ifthe spacecraft is a rigid body, it is simply

hB = IωB

5The sign function is 1 when the argument is positive, -1 when it is negative.

Page 103: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 97

Figure 3.15: Pyramid mounting for a cluster of 4 CMG’s.

and the equation can be trivially rewritten in the previous formulation. If on the conversethe spacecraft has n rotating parts, it is

hB = IωB +n∑

i=1

hiB

where hiB is the relative angular momentum vector stored inside the i–th spinning wheel.6

Letting

HB =

n∑

i=1

hi

it ishB = IωB + HB

and the equation of motion becomes

IωB + ωB × (IωB) + hB + ωB × hB = MB

where MB is the external torque acting on the spacecraft. Assuming for the sake ofsimplicity a torque–free environment and a zero initial angular momentum, it is possibleto write the last equation as

IωB + ωB × (IωB) = u

whereu = −HB − ωB × HB

6The inertia tensor I is assumed to take into consideration the contribution of the spin–wheels to themass distribution as if they were still. For this reason only the relative contribution to angular momentumis added.

Page 104: Spacecraft Attitude Dynamics and Control

98 G. Avanzini Spacecraft Attitude Dynamics and Control

is the control torque generated by a proper action on the spinning wheels inside thespacecraft bus. The control torque demand can be determined on the basis of somefeedback control logic, such as the quaternion feebback control presented in the previoussection. Once the control torque demand u is known, the CMG steering logic can bedetermined as

HB = −u − ωB × HB (3.9)

For a cluster of n CMG, the internal angular momentum vector HB is a function ofthe rotation angles δ1, δ2, . . . , δn of each wheel about its gimbal axis, that is

HB = H(δ) (3.10)

Taking the time derivative of this latter equation, one gets

dHB

dt=∂H

∂δ

dt

that can be rewritten in compact form as

HB = A(δ)δ (3.11)

where A is the jacobian matrix

A =∂H

∂δ

The problem is now that of finding a proper inversion of the equation HB = Aδ, thatprovides a gimbal rate command δ capable of delivering the required control torque u forthe current gimbal position δ and angular velocity ωB.

3.9.2 Gimbal rate command with Moore–Penrose pseudo–inverse

The case of a cluster of 4 CMG mounted with the gimbal axis perpendicular to the facesof a pyramid the sides of which are inclined of a skew angle β is the most popular inthe literature. This CMG configuration, where the angular momentum vectors of eachwheel span one of the faces of the pyramid, is particularly popular as it delivers a nearlyspherical momentum envelope, when β = 54.73 deg and each wheel spins at the sameangular velocity relative to the spacecraft bus. Assuming that the x and y body axes areperpendicular to the sides of the base of the pyramid and that the z axis is parallel to thepyramid height, it is

HB = H(δ) =n∑

i=1

hiB

= h

−cβ sin δ1cos δ1sβ sin δ1

+

− cos δ2−cβ sin δ2sβ sin δ2

+

cβ sin δ3− cos δ3sβ sin δ3

+

cos δ4cβ sin δ4sβ sin δ4

where h is the angular momentum stored inside each CMG, while sβ = sin β and cβ =cosβ.

In order to perform the reorientation, it is necessary to drive the gimbal according toEq. (3.11), where, for the case of the pyramid mounting, it is

A =

−cβ cos δ1 sin δ2 cβ cos δ3 − sin δ2− sin δ1 −cβ cos δ2 sin δ3 cβ cos δ4sβ cos δ1 sβ cos δ2 sβ cos δ3 sβ cos δ4

Page 105: Spacecraft Attitude Dynamics and Control

3. Active Stabilisation and Control of Spacecraft 99

and the CMG angular momentum rate is given by Eq. (3.9). A possible inversion of Eq.(3.11) is given by the Moore–Penrose pseudo–inverse matrix

δ = A#HB (3.12)

whereA# = AT (AAT )−1

3.9.3 Cluster singular states

Although most of the CMG steering logic proposed in the literature are variants of thisform, it should be noted that the pseudo–inverse does not exists when the matrix AAT

becomes singular. The singular points where the determinant det(AAT ) = 0 are charac-terized by a gimbal configuration such that the CMG cluster cannot deliver torque in onedirection, called the singular direction. These points are distributed along hypersurfacesin the δ–space that satisfy the singularity condition

det(AAT ) = 0

or, upon transformation according to Eq. (3.10), in the angular momentum space.The presence of singularities in the δ space has to major consequences: (i) When

approaching a singular point the gimbal rate command goes to infinity because of theincreasing norm of the matrix (AAT )−1, and (ii) it is not possible to implement thesteering logic with an arbitrary torque demand u, because of the presence of the singulardirection along which the CMG cluster is not capable of producing a torque component.

Several singularity avoidance strategies have been developed and discussed in theliterature. The most common approach, derived from the solution derived for problemof similar nature in robotic manipulators, is based on the general solution to Eq. (3.11),which can be written in the form

δ = AT (AAT )−1HB + γn

where the null vector n satisfies the relation

An = 0

that is, n spans the null space of the jacobian matrix A. In this way, the steering logic(3.12) is complemented with some null motion, where the parameter γ represents theamount of null motion that must be added in order to “stay away” from the singularities.The null vector can be expressed as

n = [I − AT (AAT )−1A]d

where d is an arbitrary non–zero n–dimensional vector.Although there are several possible approaches for determining a proper value for γ,

depending on the current value of the gimbal angles, in general it is necessary to add nullmotion only when approaching a singularity. In fact, the Moore–Penrose pseudo–inverserepresents the minimum norm solution for Eq. (3.11), and as such it can be considered anoptimal solution, when singularities are not an issue. On the converse, a proper amountof null motion needs to be added when approaching a singular gimbal configuration, inorder to avoid the increase of ||δ||. In this way, on one side the control torque demand is

Page 106: Spacecraft Attitude Dynamics and Control

100 G. Avanzini Spacecraft Attitude Dynamics and Control

always satisfied, and at the same time the control effort is increased, with respect to thepseudo–inverse steering logic, only when this is necessary to avoid a singularity. For thisreason the parameter γ is usually chosen as a function of the singularity measure

m =

det(AAT )

where m quantifies the distance from a singular state. As an example, it is possible to set

γ = m6, for m ≥ 1

γ = m−6, for m < 1

A variety of heuristic approaches have also been proposed, in order to solve the problemof the presence of singular states, while keeping the computational burden of the steeringlogic to a minimum. A heuristic approach is represented by the so–called singularityrobust pseudo–inverse, written in the form

A∗ = AT (AAT + λ1)−1

where 1 is the identity matrix and λ is a positive scalar, that is tuned as a function of mas

λ = 0, for m ≥ m0

λ = λ0 (1 −m/m0)2 , for m < m0

where λ0 and m0 are small positive constants to be properly selected. In this case, thepseudo–inverse steering logic is “altered” when approaching the singular state in such away so as to avoid the singularity of the matrix (AAT )−1 simply by the addition of asmall contribution to its principal diagonal.

Page 107: Spacecraft Attitude Dynamics and Control

Chapter 4

References

1. B. Wie, Space vehicle dynamics and control, AIAA Education Series, Reston, 1998.

2. M.J. Sidi, Spacecraft dynamics and control. A practical engineering approach, Cam-bridge Univ. Press, New York, 1997.

3. M.H. Kaplan, Modern Spacecraft Dynamics and Control, J.Wiley& Sons, New York,1976.

4. G. Mengali, Meccanica del Volo Spaziale, Edizioni Plus, Pisa, 2001.

101