Textbook PDF
Textbook PDF
Textbook PDF
In order to describe the attitude of a rigid body and to determine its evolution as a
function of its initial angular velocity and applied torques, Euler’s angles and Euler’s
equations of motion need to be introduced. The transformation matrix between different
reference frames will be recalled and the concept of inertia tensor will also be briefly
discussed.
The column vectors v B = (x, y, z)T and v I = (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 êiI = (e1,i , e2,i , e3,i )T of the i–th unit vector êi in
FI , that is
êi = e1,i Ê 1 + e2,i Ê 2 + e3,i Ê 3
we can write
1
2 CHAPTER 1. RIGID BODY DYNAMICS
LIB is made up by the components of the unit vectors êi as expressed in FI . Any matrix
made up by mutually orthogonal row or column unit vectors is an orthogonal matrix and
is characterized by several properties, among which we only recall that:
Thanks to the first property, it is possible to write the inverse coordinate transforma-
tion as
v B = LBI v I = (LIB )−1 v I = (LIB )T v I
which means that it is also
êT1I
...
LBI =
êT2I
...
êT3I
As an exercise, demonstrate that the dual relations
T
Ê 1B
· ¸ ...
. .
T
LBI = Ê 1B ..Ê 2B ..Ê 3B ; LIB = Ê 2B
...
T
Ê 3B
also hold.
1.2. EULER’S ANGLES 3
1. the first rotation is about the third axis of the initial frame, that is Ê3 , in our case,
and takes the first axis Ê 1 to the direction ê01 perpendicular to the plane determined
by the unit vectors Ê 3 and ê3 ; Ê 2 is rotated onto ê02 ; the rotation angle is called
precession angle Ψ;
2. the second rotation is about the first axis transformed after the first rotation, ê01 ,
and takes the axis ê03 into the position of ê3 ; ê02 is moved onto ê002 ; the rotation angle
is called nutation angle Θ;
3. the third and final rotation is about ê3 and brings ê001 = ê01 and ê002 to their final
positions, ê1 and ê2 , 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 represent
the attitude of the frame FB : The nutation angle represents the inclination of the third
body axis ê3 w.r.t. the local vertical Ê 3 ; The precession angle represents the angle between
the first inertial axis Ê 1 and the line of the nodes ξ, i.e. the intersection between the
planes perpendicular to ê3 and Ê 3 ; The spin angle is the rotation about the third body
axis.
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 only
possible choice for rotating FI onto FB . Many other sequences are available and equally
useful. In atmospheric flight mechanics the most widely used sequence of rotations is the
3–2–1, also known as the Bryant’s angles.
In this case the first rotation is about the third axis, Ê 3 , and its amplitude is called
yaw angle ψ. The second rotation about the second axis ê02 is the pitch angle, θ, and
takes the first axis onto its final position. The third rotation about ê1 is the roll angle,
φ. This set of angles is used also in space flight dynamics, to describe the attitude of a
spacecraft with respect to the Local Horizontal – Local Vertical (LHLV) reference frame.
4 CHAPTER 1. RIGID BODY DYNAMICS
Ê 3 ê03 ≡ Ê 3
ê02
Ψ
Ψ
Ê 1 Ê 2 Ê 1 Ê 2
ê01
ê2
Ê 3 ê002 Ê 3 ê002
ê003 ê3 ≡ ê003
Θ Θ Φ
Θ ê02 ê02
Φ ê1
Ψ Ψ
Ê 1 Ê 2 Ê 1 Ê 2
ê01 ≡ ê001 ê01
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 do
not commute! This means that the rotation sequence 1–2–3, performed with the same
angles about the same axis, will take the initial frame to another one. The rotation
sequence 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 means
that there will always be positions of the two frames that can be described in different
ways, once a particular sequence of rotations is chosen. As an example, if the original
Euler’s angle sequence is employed, the case in which Θ = 0 is singular, inasmuch as the
precession and spin rotations will be about the very same axis, Ê 3 ≡ ê3 . This means
that all the triplets (Ψ, 0, Φ) for which Ψ + Φ is constant represent the same change of
reference frame.
Similarly, when the Bryant’s angles are used, the case θ = ±π/2 is singular, as in this
case all the triplets (ψ, ±π/2, φ) for which ψ − φ is constant will provide the same final
attitude for FB .
The problem of coordinate transformation singularity has some unpleasant mathemat-
ical consequence that will be underlined in the following paragraphs.
1.2. EULER’S ANGLES 5
y 1
y 2
y1
v
x 2
x1 x 1
x2 = x1 cos(α) + y1 sin(α)
y2 = −x1 sin(α) + y1 cos(α)
This relation expresses the coordinate transformation that takes the component of a
vector quantity expressed in F1 into those of a reference frame F2 rotated w.r.t. F1 of an
angle α.
In compact notation we can write
v 2 = L21 v 1 = R(α)v 1
where the subscript near the vector indicates the frame in which the components of the
vector quantity are considered, the matrix L21 is the coordinate transformation matrix
6 CHAPTER 1. RIGID BODY DYNAMICS
from F1 to F2 that in the two dimensional case coincides with the elementary rotation
matrix R(α).
The inverse transformation from F2 to F1 is given by
v 1 = L12 v 2 = (R(α))−1 v 2
x0 = X cos(Ψ) + Y sin(Ψ)
y 0 = −X sin(Ψ) + Y cos(Ψ)
z0 = Z
x00 = x0
y 00 = y 0 cos(Θ) + z 0 sin(Θ)
z 00 = −y 0 sin(Θ) + z 0 cos(Θ)
The three elementary rotation matrices of the Euler’s sequence 3–1–3 can thus be
defined as
cos(Ψ) sin(Ψ) 0 1 0 0
R3 (Ψ) = − sin(Ψ) cos(Ψ) 0
; R1 (Θ) = 0 cos(Θ) sin(Θ) ;
0 0 1 0 − sin(Θ) cos(Θ)
cos(Φ) sin(Φ) 0
R3 (Φ) = − sin(Φ) cos(Φ) 0
0 0 1
where the subscript near the rotation matrix symbol R indicates the axis around which
the 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, the
coordinate transformation of vector quantities can be obtained combining in the correct
order the elementary rotation matrices, as follows:
v 0 = R3 (Ψ)v I
v 00 = R1 (Θ)v 0
v B = R3 (Φ)v 00
that is
v B = R3 (Φ)R1 (Θ)R3 (Ψ)v I
This means that
Performing the row–column products, the following expression for LBI is obtained:
cos Φ cos Ψ sin Φ cos Θ cos Ψ sin Φ sin Θ
− sin Φ cos Θ sin Ψ + cos Φ sin Ψ
LBI =
− cos Φ cos Θ sin Ψ cos Φ cos Θ cos Ψ cos Φ sin Θ
− sin Φ cos Ψ − sin Φ sin Ψ
sin Θ sin Ψ − sin Θ cos Ψ cos Θ
ê2
Ê 3
ê002
Ψ̇
ê3 Φ̇
ê02
ê1
Ê 1 Ê 2
Θ̇
ê01
Inverting the 3 × 3 matrix, one obtains the law of evolution of Euler’s angles as a
function of angular velocity components in body axis, that is
Ψ̇ sin Φ/ sin Θ cos Φ/ sin Θ 0 ω1
Θ̇ = cos Φ − sin Φ 0 ω2
Φ̇ − sin Φ/ tan Θ − cos Φ/ tan Θ 1 ω3
These equations can be integrated to obtain the evolution of the Euler angles, if the
angular velocity is known. But they also show an unpleasant feature of Euler’s angle
singularity, that is the spin and precession rates go to infinity when Θ approaches 0. This
fact has some serious consequences on the problem of attitude representation, inasmuch
as it is not possible to accept a set of attitude parameters the evolution of which cannot
always be described in an accurate way.
If the Bryant’s angles are used, the reader can demonstrate that
ω1 0 − sin φ cos θ cos φ ψ̇
ω2 = 0 cos φ cos θ sin φ θ̇
ω3 1 0 − sin θ φ̇
Again, in the neighborhood of the singular condition θ = ±π/2 the rate of change of the
roll and yaw angles goes to infinity.
• the eigenvalues of any (real) orthogonal matrix L have unit modulus; indicating
with H the Hermitian conjugate, which, for a real matrix is coincident with the
transpose, one has
La = λa ⇒ aH LT La = λ̄λaH a ⇒ (1 − λ̄λ)aH a = 0
λ̄λ = 1 ⇒ |λ| = 1
• (at least) one eigenvalue is λ = 1; 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 eigenvalue which is λ1 = ±1. The other couple of eigenvalues will
be, in the most general case, 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, which is one, for an orthogonal matrix, so that
λ1 λ2 λ3 = 1 ⇒ λ1 = 1
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 represented
by the same components in both the considered reference frames,
For this reason, the transformation that takes the initial frame onto the final one can be
considered as a single rotation α about the Euler axis â.
In order to express the coordinate transformation matrix LBI as a function of α and
â it is sufficient to consider the following sequence of rotations:1
1. take the unit vector Ê 1 onto â, so that the new frame F 0 is given by the unit vectors
â, ê02 , ê03 ; call this rotation R̄;
2. rotate both frames FI and F 0 about the eigenaxis of the rotation angle α; because
of the definition of Euler rotation, FI goes onto FB , while F 0 will rotate into a
new frame F 00 given by the unit vectors â, ê002 , ê003 ; this rotation is represented by the
elementary rotation matrix R1 (α);
¯ that takes F 00 onto F has the
3. at this point it should be noted that the rotation R̄ B
¯ = R̄T .
same magnitude of R̄, but it is performed in the opposite direction so that R̄
Summing up it is
T
LBI = R̄ R1 (α)R̄
1
This 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.
12 CHAPTER 1. RIGID BODY DYNAMICS
Ê 3 Ê 3 ê03
ê02
Ê 1 α Ê 2 Ê 1 Ê 2
ê1
ê02
Ê 1 α Ê 2
ê1 ê1
where
a1 a2 a3
R̄ = 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:
L21 = a2 a1 + (R22 R21 + R32 R31 ) cos α + (R22 R33 − R32 R23 ) sin α
L22 = a22 + (R22
2 2
+ R32 ) cos α
L23 = a2 a3 + (R22 R23 + R32 R33 ) cos α + (R22 R33 − R32 R23 ) sin α
L31 = a3 a1 + (R23 R21 + R33 R31 ) cos α + (R23 R31 − R33 R21 ) sin α
1.2. EULER’S ANGLES 13
L32 = a3 a2 + (R23 R22 + R33 R32 ) cos α + (R23 R32 − R33 R22 ) sin α
2
L33 = a23 + (R23 2
+ R33 ) cos α
Taking into account the orthogonality conditions for R̂, one gets
a21 + R21
2 2
+ R31 =1 ⇒ 2
R21 2
+ R31 = 1 − a21
2 2 2
a2 + R22 + R32 = 1 ⇒ 2 2
R22 + R32 = 1 − a22
a23 + R23
2 2
+ R33 =1 ⇒ 2
R23 2
+ R33 = 1 − a23
a1 a2 + R21 R22 + R31 R32 = 0 ⇒ R21 R22 + R31 R32 = −a1 a2
a2 a3 + R22 R23 + R32 R33 = 0 ⇒ R22 R23 + R32 R33 = −a2 a3
a3 a1 + R21 R23 + R31 R33 = 0 ⇒ R21 R23 + R31 R33 = −a1 a2
while remembering that the first row of an orthogonal matrix is given by the cross product
of the second and the third ones, it is
a1 = R22 R33 − R23 R32
a2 = R23 R31 − R21 R33
a3 = R21 R32 − R22 R31
Substituting these results into the expressions of the coefficients Lij the following
expression for LBI is obtained:
cos α + a21 (1 − cos α) a1 a2 (1 − cos α) + a3 sin α a1 a3 (1 − cos α) − a2 sin α
LBI = a2 a1 (1 − cos α) − a3 sin α cos α + a22 (1 − cos α) a2 a3 (1 − cos α) + a1 sin α
a3 a1 (1 − cos α) + a2 sin α a3 a2 (1 − cos α) − a1 sin α cos α + a23 (1 − cos α)
(1.2)
or, in compact matrix form
LBI = cos α1 + (1 − cos α)aaT − sin αÃ
where 1 is the 3 × 3 identity matrix and à is the cross product equivalent matrix form
0 −a3 a2
à = a3 0 −a1
−a2 a1 0
such that a × b = Ãb.
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 = â sin(α/2) and rembering that cos α = cos2 (α/2)−sin2 (α/2) = q02 −q·q and
sin α = 2 cos(α/2) sin(α/2) = 2q0 sin(α/2), it is easy to demonstrate that the coordinate
transformation matrix is given by
LBI = (q02 − q · q)1 + 2qq T − 2q0 Q̃
where the ˜ indicates again the cross product matrix equivalent
0 −q3 q2
Q̃ = q3 0 −q1
−q2 q1 0
14 CHAPTER 1. RIGID BODY DYNAMICS
q02 + q · q = 1
Moreover, their geometric interpretation during an evolution is less immediate than that
of the Euler’s angles, the geometric meaning of which is intuitive. For this reason the
attitude of a satellite is often integrated in strapdown attitude determination systems in
terms of quaternions but then represented in terms of Euler angles.
~v = X Ê 1 + Y Ê 2 + Z Ê 3
is given by3
d~v
~ × (xê1 ) +
= ẋê1 + ω
dt
~ × (yê2 ) +
+ ẏê2 + ω
~ × (zê3 )
+ żê3 + ω
This means that, in terms of vector components in FB , it is
· ¸
dv
= v̇ B + ω B × v B
dt B
where
v̇ B = {ẋ, ẏ, ż}T
ω B = {ω1 , ω2 , ω3 }T
If the body is rotating around its center of mass, the velocity of every mass element is
~v = ω
~ × ~r
so that Z
~ =
h ω × ~r )] δm
[~r × (~
B
Expressing the vector quantities in body components as ω B = (ω1 , ω2 , ω3 )T and r B =
(x, y, z)T , the vector product ω
~ × ~r is given by
~ × ~r = (ω2 z − ω3 y)ê1 + (ω3 x − ω1 z)ê2 + (ω1 y − ω2 x)ê3
ω
Carrying on the calculations, the product ~r × (~ ω × ~r ) is
£ ¤
~r × (~
ω × ~r ) = (y 2 + z 2 )ω1 − (xy)ω2 − (xz)ω3 ê1 +
£ ¤
+ −(xy)ω1 + (x2 + z 2 )ω2 − (yz)ω3 ê2 +
£ ¤
+ −(xz)ω1 − (yz)ω2 + (x2 + y 2 )ω2 ê3
3
Remeber the Poisson formula for the time derivative of a unit vector,
dêi
~ × êi
=ω
dt
16 CHAPTER 1. RIGID BODY DYNAMICS
Ê 3
ê3
~v
dm ê2
~r
~r 0 CM
~
h
Ê 1 Ê 2
ê1 ~
ω
it is
h1 = Ix ω1 − Ixy ω2 − Ixz ω3
h2 = −Ixy ω1 + Iy ω2 − Iyz ω3
h3 = −Ixz ω1 − Iyz ω2 + Iz ω3
where the moments of inertia Ix , Iy , Iz , and the products of inertia Ixy , Ixz , Iyz , are
Z Z Z
¡ 2 2
¢ ¡ 2 2
¢ ¡ 2 ¢
Ix = y + z δm ; Iy = x + z δm ; Iz = x + y 2 δm
B B
Z Z ZB
Ixy = (xy) δm ; Ixz = (xz) δm ; Iyz = (yz) δm
B B B
In matrix form the angular momentum components in body axes are given by
hB = Iω B
is the inertia matrix that represent the inertia tensor in body axes.
1.4. EULER’S EQUATIONS OF MOTION OF A RIGID BODY 17
The same relations can be derived directly in a more compact vector form remembering
that, for the double vector product, the following relation holds:
~r × (~
ω × ~r ) = (~r · ~r ) ω
~ − (~r · ω
~ ) ~r
and the fact that the angular velocity vector is constant and can be taken out of the
integral, it is
Z
~ =
h [~r × (~ ω × ~r )] δm
B
µZ ¶
= [(~r · ~r ) − (~r~r )] δm ω~
B
~
= Ĩ ω
where Ĩ is the inertia tensor. Expressing ~r in terms of body components and integrating
over B the previous expression for the inertia matrix I is obtained.
y H Ax = (Ay)H x
so that, remembering the properties of the hermitian inner product, such that xH y = (y H x), it is
xH Ax (Ax)H x xH Ax
λ̄ = = = =λ
xH x xH x xH x
which means that the eigenvalue λ is equal to its conjugate, i.e. it must be real.
5
Given two distinct eigenvalues λi 6= λj and their respective eigenvectors xi and xj , the following
relations hold:
Axi = λi xi
Axj = λj xj
xH H T T
j Axi − (xi Axj ) = λi xj xi − (λj xi xj )
xH H H
j Axi − (Axj ) xi = (λi − λj )xj xi
18 CHAPTER 1. RIGID BODY DYNAMICS
where the principal moment of inertia Jx , Jy , and Jz are the eigenvalues of I. The
eigenvectors are called principal axes.
Symmetries
If the mass distribution of the body B is characterized by symmetries, this property
reflects onto the inertia matrix I. As an example, if B has a plane of symmetry, one of the
principal 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 symmetry
plane will be zero. This case is typical of fixed wing aircraft, where the longitudinal
plane is approximately a symmetry plane. The y body axis, directed perpendicular to the
symmetry plane, is characterized by zero products of inertia, so that the inertia matrix
of an aircraft is typically equal to
Ix 0 −Ixz
I= 0 Iy 0
−Ixz 0 Iz
If the body is axi-symmetric (or simply has a regular polygonal mass distribution
w.r.t. an axis σ), the symmetry axis σ is a principal axis of inertia, while any couple of
perpendicular 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 the
symmetry axis will be equal. Assuming that σ = ê3 is a symmetry axis, the inertia
tensor becomes
Jt 0 0
I = 0 Jt 0
0 0 Js
where the subscripts t and s indicate the transverse and spin (or axial) moments of
inertia, respectively.
~ · (~y × ~z ) = ~y · (~z × x
x ~ ) = ~z · (~x × ~y )
Taking into account the definition of Hermitian operator the first term of the last equation is zero and so
the Hermitian product xH j xi is zero if λi 6= λj . Since both xj and xi are real, their Hermitian product
coincides with the scalar product, so that distinct eigenvectors are real and perpendicular.
1.4. EULER’S EQUATIONS OF MOTION OF A RIGID BODY 19
ω × ~r ) · (~
(~ ω × ~r ) = ω
~ · [~r × (~
ω × ~r )]
Substituting this expression into the integral, and taking the (constant) angular velocity
out of the integration symbol, one gets
Z
1
T = ω ~ · [~r × (~ ω × ~r )] δm
2 B
ḣB + ω B × hB = M B
I ω̇ B + ω B × (Iω B ) = M B
When a set of principal axes is chosen as the body axes, the inertia tensor is diagonal
and the Euler’s equation of motion for a rigid body are obtained:
These equations can be integrated as a function of the applied torque to obtain the
time history of the angular velocity components. These, in turn, can be used to determine
the variation with time of the Euler’s angles (or of the quanternions), thus describing the
evolution of the rigid body attitude.
dh2 ¡ ¢
= 2 Jx2 ω1 ω̇1 + Jy2 ω2 ω̇2 + Jz2 ω3 ω̇3
dt
= 2 [Jx ω1 (Jy − Jz )ω2 ω3 + Jy ω2 (Jz − Jx )ω1 ω3 + Jz ω3 (Jx − Jy )ω1 ω2 ]
= 2 (Jx Jy − Jx Jz + Jy Jz − Jy Jx + Jz Jx − Jz Jy ) ω1 ω2 ω3 = 0
Geometrically, the angular velocity vector must lie on an ellipsoid (the angular momentum
ellipsoid ) in FB , the equation of which takes the form
1 1¡ ¢
T = ωB · h = Jx ω12 + Jy ω22 + Jz ω32
2 2
it is
dT
= Jx ω1 ω̇1 + Jy ω2 ω̇2 + Jz ω3 ω̇3
dt
= ω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
that is, it must point the surface of the kinetic energy (or Poinsot) ellipsoid in FB . The
combination of these two last results demonstrate that the angular velocity vector describe
the curve given by the intersection of the angular momentum ellipsoid and the kinetic
energy ellipsoid, which is called the polhode.
1.5. GENERALIZED EULER EQUATIONS 21
m~aO = F~
~O
dh
= M~O
dt
where, m is the mass of B and F~ is the external force, producing an acceleration ~aO of
the center of mass. Considering an arbitrary point A with arbitrary motion, where ~r A is
the position vector of O with respect to A, momentum and torque can be referred to A,
~ O + m~r A × d~r A
~A = h
h
dt
~ ~ ~
M A = M O + ~r A × F
Spin stabilisation in a simple, low cost and effective means of attitude stabilisation. Prior
to, or just after deployment, the satellite in spun up about its axis of symmetry. For
this reason, spin stabilised satellites are usually short cylinders. The angular momen-
tum accumulated about the spin axis the provides “gyroscopic stability” against external
disturbance 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 must
be covered with solar cells. In addition, payload efficiency is particularly low when only
one 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 of
a 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, while
providing gyroscopic stability to the whole spacecraft.
23
24 CHAPTER 2. PASSIVE STABILISATION OF RIGID SPACECRAFT
The first two equations are coupled, while the third one is independent of the other
two. 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
ω12 + ω22 = ω12
2
= constant
~ that lies in the ê1 − ê2
This means that the component of the angular velocity vector ω
plane, namely
ω~ 12 = ω1 ê1 + ω2 ê2
has a constant magnitude. As also ω3 is constant, we get that
ω̇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
ω̈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
becomes
ω̇1 (0)
ω1 (t) = ω1 (0) cos(λt) + sin(λt)
λ
= ω12 sin[λ(t − t0 )]
2.1. TORQUE–FREE MOTION OF AXI–SYMMETRIC SATELLITES 25
0.1
ω1 [rad s−1]
0.05
0
−0.05
−0.1
0.1
ω2 [rad s−1]
0.05
0
−0.05
−0.1
0.15
ω3 [rad s−1]
0.1
0.05
0
0 0.5 1
t [103 s]
Figure 2.1: Time–history of angular velocity components for a free spin condition.
Deriving the solution for ω1 w.r.t. t and substituting into the first equation, it is
The evolution of ω1 and ω2 shows that ω~12 whirls around ê3 with angular velocity λ.
Writing the angular velocity as
~ =ω
ω ~ 12 + Ωê3
~ describes a cone around the axis of symmetry eˆ3 of the spinning
during the evolution, ω
body, which is called the body cone.
The angular momentum vector can be written in the form
~ = J1 ω1 ê1 + J2 ω2 ê2 + J3 ω3 ê3
h
= Jt (ω1 ê1 + ω2 ê2 ) + Js ω3 ê3
~ 12 + Js Ωê3
= Jt ω
~ and ω
It can be observed that h ~ are both a linear combination of the vectors ω~ 12 and
~ ~ and ê3 lie in the same
ê3 . Thus, during the motion of the spinning body, the vectors h, ω
plane Π, that rotates around ê3 , 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 desired
spin condition, where a sensor placed on the satellite on its symmetry axis points a fixed
direction in space. If ω12 6= 0, the motion of the spinning body is more complex (and the
pointing less accurate). A geometric description of this motion will now be derived.
The assumption of torque–free motion, M ~ = 0, implies that
~
dh ~ = constant
~ = 0 =⇒ h
=M
dt
26 CHAPTER 2. PASSIVE STABILISATION OF RIGID SPACECRAFT
θ PP
P
P
q
¡
¡
ª¡ )³
³
γ PP
q
AA B
~ A
h ~B
ω
ê3
~ 12
h
~ 12
ω
ê1 ê2
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,
h12 Jt ω12
tan θ = =
h3 Js ω 3 Jt
=⇒ tan θ = tan γ
ω12
Js
tan γ =
ω3
~
Ê 3 k h
~
ω
ê3
Ê 1 Ê 2
sions for the angular velocity components determined above in the following equation,
so that Ψ̇ is constant; Ψ̇ is called precession rate or coning speed, and it is the angular
velocity of the line of the nodes on the horizontal plane.
Dividing the first equation by the second, the spin angle Φ is determined,
Φ̇ = −λ
that is also constant. At this point, it is possible to evaluate the precession rate from the
third equation,
Ω − Φ̇
Ψ̇ cos Θ + Φ̇ = Ω ⇒ Ψ̇ =
cos Θ
28 CHAPTER 2. PASSIVE STABILISATION OF RIGID SPACECRAFT
An observation
It is important to note that the derivation presented in this paragraph are valid for any
rigid body which has two equal principal moment of inertia. This is a category much wider
than that of axi–symmetric bodies, including any prism with a basis made of a regular
polygon, but also any other body of irregular shape such that there exists a set of principal
axes of inertia such that Jx = Jy 6= Jz .
~
h
σ N
~
ω
~
h
σ N
ω +́´
d~
~
ω
conditions 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 σ.
Jz ≤ J ∗ ≤ Jx
The easiest way to determine the shape of the polhodes is to consider their projection
onto the planes of the three–dimensional space ω1 –ω2 –ω3 . Eliminating ω3 between the
equations of the two ellipsoids brings the equation
which represents an ellipse, since all the coefficients are positive. Similarly, eliminating
ω1 one gets
Jy (Jy − Jx )ω22 + Jz (Jz − Jx )ω32 = 2T (J ∗ − Jx )
which is again the equation of an ellipse, inasmuch as all the coefficients are negative. On
the converse, eliminating ω2 , which is the angular velocity component with respect to the
intermediate axis, brings
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 positive
2.2. TORQUE–FREE MOTION OF TRI–INERTIAL SATELLITES 31
ω3
−1
−2
2
1 2
0 1
ω2 0
−1
−1 ω1
−2 −2
or 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 ∗ ) ω12 + Jz (Jz − J ∗ ) ω32 = 0
which represents the separatrices, the boundaries of motion about the axis of maximum
and minimum inertia.
if either Jy < Jz and Jx < Jz , or Jy > Jz and Jx > Jz , that is if the spin axis is either
the axis of maximum or minimum moment of inertia. In such a case, the solution of
the equation is confined in the neighborhood of the spin condition which is Ljapunov
(although not asymptotically) stable. On the converse, if the spin axis is the intermediate
one, the product (Jy − Jz )(Jx − Jz ) is negative, inasmuch as one of the two factor is
positive and the other is negative. In this case, the roots are both real,
s
(Jy − Jz )(Jx − Jz )
λ = ±Ω −
Jx Jy
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.
0.1
ω1 [rad s−1]
0.05
0
−0.05
−0.1
0.1
ω2 [rad s−1]
0.05
0
−0.05
−0.1
0.15
ω3 [rad s−1]
0.1
0.05
0
0 0.5 1
t [103 s]
As a consequence
2Js T = h2 + Jt Ψ̇2 sin2 Θ(Js − Jt )
If we differentiate with respect to time the term 2Js T , taking into account that h and
Ψ̇ are constant, we get
In a real system there are several causes that induce energy dissipation, such as fuel
sloshing. In such a case, it is Ṫ < 0. So, when energy is dissipated, the quantity
(Js − Jt ) sin(2Θ)Θ̇ is also negative, and a nutation rate is induced by the dissipation.
For a prolate body, when Js < Jt , the resulting nutation rate, for small nutation angles
Θ, is positive. This means that the nutation angle increases with time and the satellite
tends towards a flat spin condition, with Θ = π/2. On the converse, if the satellite is an
oblate body and Js > Jt , Θ̇ is negative, for small nutation angles, and tends to decrease
with time, because of dissipation. This means that the spin around the symmetry axis is
stable, as Θ → 0.
Most satellites use thruster to remove nutation and maintain the desired pure spin
condition. But for oblate bodies a nutation damper provides a very simple and useful
means for passively stabilizing the pure spin motion. An example of damper is the ball–
in–tube: a plastic tube is filled with viscous fluid and a ball bearing is free to move in the
fluid, thus dissipating energy. The only drawback of this technique is that it may take
several minutes (if not hours) to remove nutation.
As ω1 and ω2 are damped out, ω3 increases because of conservation of angular mo-
mentum. Letting Ωf be the final spin rate, it is
ê3
ê2
A
(md /m)ξ
´
u+́
O
~b
ê1
md
ξ
~
n
Therefore,
Jt2 2
Ω2f = Ω2 + 2
(ω1 + ω22 )
Js
and the final spin rate results higher than the initial one, as expected.
˙ ~b × n̂)
~ + md ξ(
= Iω
~
~ is the angular velocity of P. It is then possible to write the time derivative of h
where ω
in FA as
à !
~
dh
= ḣA + ω A × hA
dt
A
h i
¨ A × nA ) + ω A × Iω A + md ξ(b
= İω A + I ω̇ A + md ξ(b ˙ A × nA )
dρ2 ˙ + bT n A )
= 2ξ(ξ A
dt
while
˙ A ⇒ ρA ρ̇T + ρ̇A ρT = ξ(b
ρ̇A = ξn ˙ A nT + nA bT + 2ξnA nT )
A A A A A
Summing up, it is
£ ¤
İ = md ξ˙ 2(ξ + bTA nA )1 − bA nTA − nA bTA − 2ξnA nTA
At this point, all the elements required for writing the time derivative of the angular
momentum in FA are explicitly given. In order to express the term S ~ × ~aA , it is now
necessary to derive the actual position of the center of mass O, given by
md
~r A = ξ n̂
m
where m is the overall satellite mass. The static moment can thus be written as
~ = m~r A = md ξ n̂ ⇒ S A = mr A = md ξnA
S
while assuming that the external force F ~ is zero, so that the absolute acceleration of the
center of mass O is zero, the resulting (absolute) acceleration of A is
d2~r A
~aA = −
dt2
By applying two times the rule for the time derivative of a vector quantity in FA , it is
µ 2 ¶
d ~r A
= r̈ A + 2ω A × ṙ A + ω̇ A × r A + ω A × (ω A × r A )
dt2 A
where
md ˙ md ¨
ṙ A = ξ n̂ ; r̈ A = ξ n̂
m m
As a consequence, it is
³m ´ h i
~
(S × ~aA )A = −md ξnA ×
d ¨ ˙
ξnA + 2ξω A × nA + ξ ω̇ A × nA + ξω A × (ω A × nA )
µ 2¶h m
md i
= − ˙ A × (ω A × nA ) + ξ 2 nA × (ω̇ A × nA ) + ξ 2 (ω T nA )(nA × ω A )
2ξ ξn A
m
36 CHAPTER 2. PASSIVE STABILISATION OF RIGID SPACECRAFT
In order to complete the model, it is necessary to derive the equation of motion for
the damper mass md . The position of md with respect to the (inertially fixed) center of
gravity O is given by
~r m = −~r A + ~b + ξ n̂
so that the Newton’s second law
d2~r m ~m
md =F
dt2
~ m is the overall force acting on md , can be written in FA as
where F
µ 2 ¶
d r mA ~m
md =F
dt2 A
A
Since md has only one degree of freedom along the direction n̂, it is sufficient to consider
only the component of motion along n̂ itself, which is obtained by taking the scalar
product of Newton’s law times nA . Since all the terms like nTA (ω A × nA ) are zero,
this simplify the expression of the absolute acceleration component of md along n̂. The
equation of motion of md thus becomes1
³
−cξ − kξ = md (1 − md /m)ξ¨ + nTA (ω̇ A × bA ) +
˙
© ª £ ¤¢
+ (nTA ω A ) ω TA [(1 − md /m)ξnA + bA ] − ω 2 (1 − md /m)ξ + nTA bA
where the only forces acting on md along n̂ are the viscous damping term and the elastic
force of the spring.
Collecting all the terms, it is now possible to write the equation of motion in FA of a
rigid satellite equipped with a damper placed in an arbitrary position ~b, with arbitrary
orientation n̂:
h i
¨ A × nA ) + ω A × Iω A + md ξ(b
İω A + I ω̇ A + md ξ(b ˙ A × nA ) +
µ 2¶h i
md ˙ 2 2 T
− 2ξ ξnA × (ω A × nA ) + ξ nA × (ω̇ A × nA ) + ξ (ω A nA )(nA × ω A ) = M A
m
³ © ª
md (1 − md /m)ξ¨ + nTA (ω̇ A × bA ) + (nTA ω A ) ω TA [(1 − md /m)ξnA + bA ] +
£ ¤¢
−ω 2 (1 − md /m)ξ + nTA bA + cξ˙ + kξ = 0
1
To complete the transformaiton, it is necessary to apply the double vector product rule
~ × (~y × ~z ) = (~
x x · ~z )~y − (~
x · ~y )~z
Also,
bA × nA = biA × kA = −bj A = (0, −b, 0)T
The additional term of the generalized Euler equation is given by
µ 2 ¶ 2z żω1 + z 2 ω̇1 − z 2 ω2 ω3
~ × ~aA )A = − md
(S 2z żω2 + z 2 ω̇2 + z 2 ω1 ω3
m
0
Collecting all the terms, one gets the following system of ordinary differential equations,
of the nominal spin condition is obtained when higher order terms are neglected. The
linearized form of the model of a spinning satellite with damper is
In order to simplify the above expression the following parameters can be defined:
Jz − Jy Jz − Jx k c z md b2
λ1 = ωS ; λ2 = ωS ; µ = md /m ; p2 = ; β= ; ζ= ; δ=
Jx Jy md md b Jy
so that the linear system can be rewritten in the form
ω̇1 + λ1 ω2 = 0
ω̇2 − λ2 ω1 − δ ζ̈ − δωS2 ζ = 0
(1 − µ)ζ̈ − ω̇2 + ωS ω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 δ ζ̄ − δωS2 ζ̄ = 0
s2 (1 − µ)ζ̄ − sω̄2 + ωS ω̄1 + sβ ζ̄ + p2 ζ̄ = 0
Routh’s criteria for asymptotic stability can be easily applied, and when the system
order is sufficiently low, it is possible to determine analytically the stability condition
and, as a consequence, stability boundaries in the parameter space. Given the polynomial
characteristic equation
an sn + an−1 sn−1 + . . . + a2 s2 + a1 s + a0 = 0
Routh’s criteria states that a necessary condition for stability is that all the coefficients
have the same sign. Assuming that the coefficient are normalized with respect to an , so
that an = 1, the condition a0 > 0 is the generalized static stability requirement.
In order to evaluate necessary and sufficient condition for asymptotic stability, it is
necessary 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 of
the following ones are evaluated as
bi−1,j bi−2,j+1 − bi−2,j bi−1,j+1
bi,j =
bi−1,j
The number of non zero elements of each row decreases of one unit as the row index i is
increased by two, until the last two rows are reached such that only one element on each
row is non-zero. The following row will be mare entirely of zeroes.
The Routh’s condition for asymptotic stability guarantees that the real part of all the
roots of the characteristic equation are negative if and only if all the elements in the first
column of the Routhian matrix are not null and have the same sign. If the polynomial
equation is normalized with respect to an this condition requires that all the terms bi,1
are positive, with b1,1 = 1 and b2,1 = an−1 .
Application of Routh’s criteria to the present case, i.e. the spinning satellite with
axial damper, brings to the following Routhian matrix:
(1 − µ − δ) [p2 − δλ1 ωS − δωS2 + λ1 λ2 (1 − µ)] (λ1 λ2 p2 − λ1 δωS3 ) 0
β λ1 λ2 β 0 0
Taking into account the definitions of λ1 and λ2 , the first inequality can be rewritten
in the form µ ¶2
4 Jz − Jx − Jy
ωS (Jz − Jx ) > 0
Jx Jy
which is equivalent to the condition
Jz > Jx
As a consequence, because of the second condition, it must also be
Jz > J y
so that only spinning about the axis of maximum inertia is a stable condition for a satellite
equipped with a damper. It should be noted that the presence of the damper makes such
a spin condition asymptotically stable.
but if the firing time is sufficiently small with respect to the period of rotation of the
spinning spacecraft, we can approximate ∆h as
∆h = (r × F )∆t
This thrust pulse changes the direction of the spacecraft’s angular momentum vector,
thus creating a nutation angle θ. At this point the spacecraft is no longer spinning around
its symmetry axis, and a precession rate builds up, equal to
Js Φ̇
Ψ̇ =
Jt − Js cos Θ
It must be remembered the the direction of the precession motion depends on whether
an oblate or a prolate body is considered, but in the latter case the instability of the
spin condition around the axis of minimum inertia prevents the use of this technique for
changing the spin axis direction.
2.4. ATTITUDE MANEUVERS OF A SPINNING SATELLITE 41
h1 h1 ∆h
∆h1 2
∆h1 h2
h0 h0 θ»» θ
θ»» : ¾X z
X
: ´
+́
´
+́
F F
CM r CM r
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 Φ̇
∆Ψ = ∆t
Jt − Js cos Θ
After a time interval equal to
(Jt − Js ) cos Θ
T =π
Js Φ̇
the precession angle is varied by π rad, and the direction of the symmetry axis of the
spinning satellite has changed of 2θ, so that T is the duration of the manoeuvre. At this
point a second thruster firing is required to stop the precession and achieving again a pure
spin condition about the new re-oriented axis.
From simple trigonometric consideration, it is
||∆h1 || = ||∆h2 || = h0 tan θ = Js Ω tan θ
where h0 is the magnitude of the initial angular momentum.
But is is also
||∆h|| = F `∆t
where ` is the distance between the thruster axis and the symmetry axis of the satellite
(in the figure above this distance is equal to the radius of the spinning body). The total
required firing time for the manoeuver is thus equal to
Js Ω tan θ
τ = 2∆t = 2
F`
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
F
Isp =
∆mg/τ
42 CHAPTER 2. PASSIVE STABILISATION OF RIGID SPACECRAFT
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 any
size, and from its value it is possible to determine
Fτ
∆m =
gIsp
The total propellant mass required to rotate the spin axis of an angle equal to 2θ is
Js Ω tan θ
∆m = 2
gIsp `
Propellant mass ∆ m [kg]
0.05 5
0.03 ∆m∝θ 3
0.02 2 Nman = 2
0.01 1 Nman = 1
0 0
0 20 40 60 0 20 40 60
2 θ [deg] 2 θ [deg]
3 400
single pulse ∆ t [ms]
Total firing time [s]
2.5
300
2
1.5 200
1
100
0.5
0 0
0 20 40 60 0 20 40 60
2 θ [deg] 2 θ [deg]
Figure 2.10: Spinning satellite manoeuvre: Fuel consumption (a), Total manoeuvre time
(b), Total firing time (c), single pulse duration (d).
angles are negligible (less than 1%), but it is possible to achieve spin axis reorientation
up to 35 deg. With 4 manoeuvres the maximum reorientation angle becomes as high as
71 deg.
• 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 the
satellite must be covered with photovoltaic cells, only half of which faces the sun
during the spinning motion (with less than one fourth at an angle greater than 45
deg with respect to the direction of the sun rays);
• the complexity, limited accuracy and cost in terms of fuel of attitude maneuvers for
reorientation of the spin axis.
A very interesting possibility for stabilizing an Earth facing satellite in low Earth
orbit 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 non
negligible torque. Simply put, the side of the satellite closest to the Earth experiences a
slightly greater gravitational acceleration that the opposite side. The resulting torque will
tend to align the satellite with the local vertical direction. For some mission applications
the gravity gradient torque provides a disturbance which must be countered. However, for
an Earth facing satellite, the gravity gradient provides a simple, low cost means of attitude
stabilization, albeit rather inaccurate. The great advantage is that no fuel nor energy
dissipation is required to maintain the desired attitude, if a proper stability condition is
met.
~ + ~r
R
~g = −GM
~ + ~r ||3
||R
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 of
mass of the satellite, CM, w.r.t. the center O of the primary and the position vector of
the mass element dm w.r.t. CM, respectively. Letting µ = GM , the total moment w.r.t.
CM is given by
Z
~
G = (~r × ~g ) dm
B
³ ´
Z ~r × R ~ + ~r
= −µ dm
B ~ + ~r ||3
||R
44 CHAPTER 2. PASSIVE STABILISATION OF RIGID SPACECRAFT
ô2
ê3
ô1
dm
Ê 3 ê2
~g ~r
ô3
CM
~
R
Ê 1 Ê 2
ê1
Figure 2.11: Gravity on a finite–size rigid body.
Since ~r × ~r is zero, it is
Z Ã ~
!
~ = −µ ~r × R
G dm
B ~ + ~r ||3
||R
~ ·R
As a first observation, it is possible to note that G ~ = 0, i.e. the gravity torque around
the local vertical is always zero. In the above expression, it is possible to write
h³ ´ ³ ´i−3/2 h i−3/2
~ −3 ~
||R + ~r || = R + ~r · R + ~r ~ 2 ~
= R + 2~r · R + r 2
where r and R are the magnitude of ~r and R, ~ respectively. The latter expression can be
rewritten as µ ¶−3/2
~ −3 −3 2 ~ r2
||R + ~r || = R 1 + 2 ~r · R + 2
R R
Being r ¿ R, the third term inside the parentheses can be neglected, and the second one
is 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
µ ¶−3/2 Ã !
2 r 2
~
r · ~
R
~ +
R−3 1 + 2 ~r · R ≈ R−3 1 − 3 2
R R2 R
Using this latter expression in the definition of the gravity torque, one gets
Z "Ã !
~ ³ ´
#
~ = − µ ~
r · R ~
G 1−3 2 ~r × R dm
R3 B R
µZ ¶ ·Z ³ ´ ¸
µ ~ 3µ ~ ~
= − 3 ~r dm × R + 5 ~r · R ~r dm × R
R B R B
2.5. GRAVITY–GRADIENT STABILIZATION 45
The first term is zero from the definition of center of mass. Remembering the definition
of dyadic,2 the second term can be rewritten as
·µZ ¶ ¸
~ = 3µ ~ ×R ~
G ~r~r dm R
R5 B
~ = 3µ ô3 × (I ô3 )
G
R3
~
where ô3 = −R/R is the unit vector along theplocal vertical passing through the satellite
center of mass. Since the orbit rate is ω0 = µ/R3 , it is possible to rewrite the above
expression as
G~ = 3ω 2 ô3 × (I ô3 )
0
ô3 × (I ô3 ) = 0
which requires that one of the principal inertia axes is oriented along the local vertical ô3 .
Such a condition can be maintained on a circular orbit if the satellite is purely spinning
about an axis perpendicular to the orbit plane at an angular velocity which is equal to
~ = −ω0 ô3 . In such a case a relative equilibrium with respect to
the orbit rate, so that ω
the 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 equation
of motion
I ω̇ B + ω B × (Iω B ) − 3ω02 o3B × (Io3B ) = 0
2 ~ ~y is a tensor such that
The dyadic x
x~y )F = xF y TF
(~
46 CHAPTER 2. PASSIVE STABILISATION OF RIGID SPACECRAFT
If the attitude of the satellite is expressed in terms of Bryan angles (roll, pitch and
yaw) with respect to the orbit frame FO = {ô1 ; ô2 ; ô3 }, the body frame components of
ô3 are given by the third column of the matrix LBO , i.e.
ω B = ω rB − ω0 o2B
where ω rB = (ω1 , ω2 , ω3 )T is the angular velocity of the satellite with respect to FO and
o2B is given by
o2B = (ψ, 1, −φ)T
for small perturbation. As a result, angular velocity components in body frame can be
expressed as
ω B = (φ̇ − ω0 ψ, ϑ̇ − ω0 , ψ̇ − ω0 φ)T
Substituting this perturbation expressions for ω B and o3B in the equation of motion and
neglecting second order terms, one gets
First of all, it can be noted how the pitch motion is decoupled from the roll–yaw
motion. The equation of motion of pitch (harmonic) oscillation can be rewritten in the
form
ϑ̈ − aϑ = 0
where the quantity
Jz − Jx 2
a=3 ω0
Jy
must be negative, in order to have finite size oscillations, the amplitude of which depends
on the initial conditions ϑ(t = 0) and ϑ̇(t = 0). The stability condition for pitch motion
simply 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 grow
after 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
· ¸½ ¾ ½ ¾
Jx s2 + 4(Jy − Jz )ω02 −(Jz + Jx − Jy )ω0 s φ̄(s) 0
=
(Jz + Jx − Jy )ω0 s Jz s2 + (Jy − Jx )ω02 ψ̄(s) 0
so that the characteristic polynomial p(s) = det(A) can be writtein in the form
p(s) = b0 s4 + b1 s2 + b2
2.6. DUAL–SPIN SATELLITES 47
where
b 0 = Jx Jz
¡ ¢
b1 = Jy2 − 3Jz2 − Jx Jy + 2Jy Jz + 2Jx Jz ω02
¡ ¢
b2 = 4 Jy2 − Jx Jy − Jy Jz + Jx Jz ω04
Let p
−b1 ± b21 − 4b0 b2
x1,2 =
2b0
denote the roots of the equation b0 x2 + b1 x + 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β, and s3,4 =
α + iβ. 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 − 4b0 b2
must be positive for stability. Moreover, if one (or both) of the solutions xi is (are) real
and positive, this means that one (or two) pole(s) of the system is (are) real and positive
and the equilibrium is unstable.
p As b0 is the product of two positive quantities, x1,2
2
are negative only if −b1 ± b1 − 4b0 b2 < 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 − 4b0 b2 < 0
Letting
Jy − Jz Jy − Jx
k1 = ; k2 =
Jx Jz
it is possible to write the stability condition as a function of the two inertia parameters
k1 and k2 only, as
1 + 3k1 + k1 k3 > 0
k1 k3 > 0
2
(1 + 3k1 + k1 k3 ) − 16k1 k3 > 0
The requirement for pitch stability, Jx > Jz can be rewritten as k1 > k2 , and the resulting
stability region is plotted in Fig. 2.12
0.5
k2
0
−0.5
−1
−1 −0.5 0 0.5 1
k1
Figure 2.12: Stability region of the Eart–pointing attitude for a rigid satellite under
gravity gradient torque.
From the configuration point of view, the first dual–spin satellites where made of a
large rotor, containing most of the satellite equipment, with solar cells mounted on the
surface of the rotor, like in any other spinning satellite. A small platform was attached
to it, as represented in Fig. 2.13. Later, the platform became larger (about one half of
the satellite). The Intelsat IV was the first prolate dual spin satellite (2.14). Finally, the
rotor was substituted by a momentum wheel, which is a small (and light) wheel spinning
at a very high speed, placed inside the platform. In this latter case, the satellite is called
a momentum–bias satellite. Both configurations (the dual–spin and the momentum bias
satellite) can be referred to as gyrostat.
2.6. DUAL–SPIN SATELLITES 49
Figure 2.13: Dual spin satellite: configuration with large rotor (e.g. GOES-7 satellite).
Figure 2.14: Dual spin satellite: configuration with equivalent rotor and platform (e.g.
Intelsat IV satellite).
50 CHAPTER 2. PASSIVE STABILISATION OF RIGID SPACECRAFT
ê3
ê2
Ω ê1
W
â P
ḣa = g
where MB is the external torque acting on the satellite, while ga is the torque applied by
the 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.
The kinematic problem for the attitude of the satellite will be solved expressing ω B
as a function of the total and wheel angular momentum, that is
ω B = I −1 (hB − Is ΩaB )
Integrating the Euler angle rate equation (or the quaternion evolution equation), as usual,
one gets the time evolution of satellite attitude. At the same time, the rotor angular speed
can be expressed as
Ω = ha /Is − aTB ω B
It is also possible to express the gyrostat dynamics directly in terms of the angu-
lar velocity vector and rotor spin rate. In this case, it is possible to write the angular
momentum vector as
¡ ¢
hB = Iω B + ha − Is aTB ω B aB
¡ ¢
= I − Is aB aTB ω B + ha aB
The time derivative of the angular momentum vector components are thus expressed as
¡ ¢
h˙B = I − Is aB aTB ω̇ B + ga aB
It is easy to show that the eigenvalues of the state matrix are a pair of conjugate imag-
inary numbers, so that the variation of ω1 and ω2 remains confined in the neighborhood
of the origin, provided that Ω 6= 0. The rotor provides the required gyroscopic stability
to the entire satellite.
54 CHAPTER 2. PASSIVE STABILISATION OF RIGID SPACECRAFT
Chapter 3
For many applications where accurate payload pointing is required full three-axis control
is used. The satellite does not spin (except for slew manoeuvres) and is stabilised by
reaction wheels (gyros) and/or thruster relative to an Earth (or other direction) facing
attitude. Since the satellite is not spinning, large Sun facing solar panels can be used for
power generation. The satellite is also capable of fast reorientation manoeuvres (slews) in
any arbitrary direction. However, due to the added complexity, 3-axis stabilised satellites
are far more expensive than simple spin–stabilised ones. The application and its accuracy
requirements must justify the increase in costs and the reduced life expectation of the
vehicle.
In order to actively stabilize the satellite and allow for autonomous maneuvering, the
satellite must be equipped with a suitable set of sensors, which provide the on–board
computer with the necessary information on the current attitude. The precision of the
control action depends on the accuracy of the attitude measurement. Moreover, the
control law itself depends on the type of actuators available. As a consequence, a brief
outline on the more common attitude sensors and control actuator is given, prior to the
discussion of attitude active control.
• Earth sensors;
• Sun sensors;
• gyroscopic sensors;
• magnetometers.
55
56 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
Earth sensors are capable of determining the attitude of the satellite with respect to
the 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 the
horizon inside the filed 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 wavelengths
in which the energy is more uniform. Still some problems remains on how to model the
Earth’s surface and how to take into account the thickness of the atmosphere, which also
gives a sizable contribution to the IR radiation of the Earth.
3.1.5 Magnetometers
3.2 Actuators
Chemical propulsion
Electric propulsion
ḣB + ω B × hB = M B (3.1)
If there are no internal moving parts (e.g. no spinning rotors) this equation can be written
in the form
I ω̇ B + ω B × (Iω B ) = M B
Assuming that the rotation is slow, the angular velocity can be considered as a first order
perturbation of the steady state ω B = 0, so that ||ω B || ¿ 1 and ω B × (Iω B ) is a second
order (negligible) term in the equations of motion. Euler’s equation thus becomes
I ω̇ B = M B
When dealing with a stabilization problem, that is small perturbations with respect to
a prescribed nominal attitude are considered, also the angular displacement is “small”. In
such a case, it is possible to demonstrate that, letting the variation of the Euler’s angles
be equal respectively to
∆Ψ = θ3 ; ∆Θ = θ2 ; ∆Φ = θ1
I θ̈ = M B (3.2)
Finally, assuming that a set of principal axes of inertia is chosen as the body frame, the
inertia matrix is in diagonal form, I = diag(J1 , J2 , J3 ), and three independent second
order 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 as
Eq. (3.2) is obtained, regardless of the angular speed and angular displacement, that is
J θ̈ = M
58 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
This equation will be the starting point for the analysis of attitude slew maneuvers.
If the satellite is equipped with a momentum wheel with a moment of inertia Is
spinning about the axis â with a relative spin rate Ω, the total satellite angular momentum
is
hB = Iω B + hr aB
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 ] = M B
Neglecting higher order term one gets
I ω̇ B + Is ∆Ω̇aB + Is Ω0 ω B × aB = M B
The evolution of the perturnations 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 (θ̇2 a3 − θ̇3 a2 ) = M1
J2 θ̈2 + Is ∆Ω̇a2 + Is Ω0 (θ̇3 a1 − θ̇1 a3 ) = M2
J3 θ̈3 + Is ∆Ω̇a3 + Is Ω0 (θ̇1 a2 − θ̇2 a1 ) = M3
This set of equations is coupled with the dynamics of the spin–wheel, described by the
(linear) equation
ga
Ω̇ ≡ ∆Ω̇ = − ω̇ TB aB
Is
When the rotor spin axis is parallel to the i–th principal axis of inertia (â ≡ êi ), the
i–th equation of motion becomes decoupled from the others, because aj = ak = 0, for
j, k 6= i. As an example, let us assume that â ≡ ê2 , so that a1 = a3 = 0 and a2 = 1. The
equations 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 the
spin–wheel dynamics
ga
∆Ω̇ = − ω̇2
Is
Summing up, the torque–free pitch dynamics (M2 = 0) is described by the equations
(J2 − Is ) θ̈ = −ga
J2
Ω = Ω0 − θ̇
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 coupling
terms depend on the pitch dynamics through Ω.
3.4. USE OF THRUSTERS FOR ATTITUDE CONTROL 59
Representing the manoeuvre in the phase plane θ − θ̇, the state variables evolve as
reported in Fig. 3.1: There is an initial acceleration phase and the spacecraft achieves
the desired slew rate θ̇d for the reorientation, until, at a proper time instant, it is stopped
by a second impulse from the thrusters.
For an approximate evaluation of the total time of the manoeuvre and the propellant
necessary for performing it, it is sufficient to neglect the duration of the thruster firings
for accelerating and decelerating the angular motion of the vehicle, taking into account
only the drift phase. Assuming that the drift angular velocity is θ̇d , the time required for
a manoeuvre of amplitude equal to θf is simply given by T = θf /θ̇d .
The configuration of the thrusters used for spinning the satellite up to the drift angular
velocity can be different. As reported in Fig. 3.2, a single, unbalanced thruster can be
used, firing which a force F ~ and a torque of magnitude F ` will act on the satellite. If
a balanced configuration is employed, the simultaneous firing of the two thrusters will
produce only a torqe F `, with a null net force, so that the orbit motion of the spacecraft
is not perturbed.
60 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
.
θ
acceleration drift deceleration
.
θd
θ0 θ θf
I θ̇d
∆t1 =
F`
Again, from the definition of the thruster specific impulse
F ∆t
Isp =
∆mg
(that is the ratio between the momentum gained and the weight of the propellant used)
one gets
F ∆t1 I θ̇d
∆m1 = =
gIsp g`Isp
But, from the evaluation of the manoeuvre time, it is also θ̇d = θf /T , so that the
propellant mass necessary for the spin–up becomes equal to
Iθf
∆m1 =
g`Isp T
At the end of the drift interval, a second pulse of equal duration in the opposite direction
will stop the motion of the satellite and the new attitude will be acquired. The total
propellant mass is thus equal to
Iθf
∆mtot = ∆m1 + ∆m2 = 2
g`Isp T
3.4. USE OF THRUSTERS FOR ATTITUDE CONTROL 61
²¯ ²¯
X
X
»
~
-F X
X
» - F~/2
» ±° » ±°
` `
j j
`
²¯
»
»
F~/2 ¾ X
X
±°
Figure 3.2: Unbalanced and balanced thruster configurations.
It can be observed that allowing larger manoeuvre times, the same angle variation
can be achieved with a significantly smaller amount of fuel. Moreover, low energy thrust
pulses are less likely to excite vibrations in the structure and/or in flexible appendages
attached to the spacecraft (such as antennas or solar panels). For large values of T , smaller
on–time for the thruster are required, and the initial assumption that the acceleration and
deceleration phases have a negligible duration with respect to the overall manoeuvre time
is 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 the
duration of the initial and terminal phases. The time for accelerating the satellite up to
θ̇d is, again
I θ̇d
∆t1 =
F`
but this time ∆t1 is not negligible with respect to the total manoeuvre time T .
and it is equal to the time ∆tdec necessary for bringing it back to rest at the end of the
maneuver. During the acceleration, the variation of θ is
1 1 θ̇d2
θ1 = α∆t21 =
2 2α
and the total variation during the manoeuvre is given by
θf = θ̇d td + θ1 + θ2
where the angle variation during the acceleration and deceleration phases, θ1 and θ2 , are
equal. The drift time is td = T − 2∆t1 , where T is the total manoeuvre time, so that
θf = θ̇d (T − 2∆t1 ) + α∆t21
à !
θ̇d θ̇2
= θ̇d T − 2 + d
α α
The total manoevure time becomes thus
θf θ̇d
T = +
θ̇d α
In the limit, the minimum–time bang–bang control law brings to zero the drift time
td . The reader can demonstrate that in this limit case it is
q
T = 2 θf /α
In both cases, the faster manoeuvres are performed at the expenses of a significant
increase in propellant consumption.
62 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
where p2 = K/J. The solution of this second order equation for an initial condition of
rest 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 is
necessary 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)
θ̈ + 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. In this case the time–history
of the angular motion is
Two important issues need to be considered, at this point. The first one is the choice
of the gains. The case with ζ < 0 is not considered at all, inasmuch as one of the poles of
the closed loop system would be a positive real number, that is, the closed loop system
would be unstable. When ζ < 1 (sub–critical damping), the time τ to damp out 99% of
the initial oscillation amplitude increases as ζ gets smaller according to the equation
At the same time, if ζ > 1 (super-critical damping) the time constant of the slowest
mode becomes larger, being approximately equal to ζ/p, for large values of ζ. The best
performance in terms of maneuver agility are obtained for the critical damping ζ = 1,
which guarantees the fastest convergence time to the desired position. The over–damped
3.4. USE OF THRUSTERS FOR ATTITUDE CONTROL 63
2
1 1
.5s+1
Input Output
Modulator
filter
Schmidt trigger
case may be of interest in those cases when fuel consumption is more a stringent concern
than maneuver time. On the contrary, the under–damped case, which exhibits some
overshoot, is of no practical interest, since it is characterized by a longer settling time
and an increased fuel consumption, because of the thrusting system firing alternatively in
both directions.
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 thruster
could be modulated. Unfortunately direct thrust modulation would require a complex
hardware and, at the same time, would be extremely inefficient in large portions of the
required 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 of
the 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.4 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 relay
with hysteresis, separated by a dead band. In order to provide a quasi–linear steady–state
response, a modulation filter is added, the input of which is the signal em = ẽ − ym , i.e.
the difference between the feed–back signal error and the modulator output. The output
of the filter v is the activation signal for the Schmidt trigger.
The output y of the modulator remains zero until the activation signal v remains below
the threshold Uon , that is until ẽ = em < Uon /K. The dynamics of the modulator filter is
1
v̇ = (Kem − v)
τ
The response of the modulator for a steady input ẽ is
until y = 0. When v reaches Uon the filter output switches from 0 to Um and the thruster
is activated by the trigger, while the modulator input changes to ẽ − Um .
Calling ton the time in which the thruster is switched on and assuming that ẽ is
unaffected by y, integration of the filter linear dynamics starting from the initial condition
64 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
v(ton ) = Uon brings to the following expression for the activation function
µ ¶ · µ ¶¸
t − ton t − ton
v(t) = Uon exp − + K(em − Um ) 1 − exp −
τ τ
µ ¶
t − ton
= K(em − Um ) + [Uon − K(em − Um )] exp −
τ
The thruster is switched off when the activation function becomes equal to Uoff , that is
when
µ ¶
toff − ton Uoff − K(em − Um )
exp − =
τ Uon − K(em − Um )
Uon − Uoff
= 1− (3.4)
Uon − K(em − Um )
It should be noted that, if K(em − Um ) > Uoff , i.e. em > Uoff /K + Um , the above equation
has no real solution, that is the input is so great that the modulator calls for a continuous
thruster engagement. This level constitutes the saturation level of the modulator. On
the converse, if em > Uoff /K + Um , the thruster are switched off when t = toff . Calling
∆ton = toff − ton the on–time of the thruster, and assuming that it is sufficiently small, it
is possible to approximate exp (−∆ton /τ ) = 1 − ∆ton /τ , so that
Uon − Uoff
∆ton ≈ τ
Uon − K(em − Um )
After the thruster pulse, the modulator input becomes again em = ẽ and the response
of the filter for an initial condition given by v(to f f ) = Uoff is
µ ¶ · µ ¶¸
t − toff t − toff
v(t) = Uoff exp − + Kem 1 − exp −
τ τ
Assuming again that the off time is also sufficiently small, one gets
Uon − Uoff
∆toff = τ
Kem − Uoff
The average output of the thruster is thus given by
∆ton
ȳ = Um
∆toff + ∆ton
for Uon /K < em < Uoff /K + Um . It is zero below the activation threshold, equal to the
thruster force beyond the saturation value. The proper sizing of the trigger and filter
characteristics allows for realizing a modulator which takes into account the physical
characteristics of the thrusters, such as the minimum pulse time and the minimum time
between pulses. Figure ?? shows the response of a satellite controlled by a set of thruster
driven by a PWPF modulator (continuous line). The response is compared with that
obtained by thrust modulation (dashed line).
3.4. USE OF THRUSTERS FOR ATTITUDE CONTROL 65
DC
1.0
0.5
0.0
0 2 4 6 8 10
ẽ
0 ¾
- ¾ -¾ -
-
ts ∆ton ∆toff t
¾ ∆tdc -
Pulse–Width Modulation
The PWPF modulator is a heritage of the analogic era, although it is still widely used. The
main advantage of PWPF modulation remains the possibility of commanding a sequence
of pulses with a quasi–linear response, in terms of averaged output. Nonetheless, many
actuators are now commanded in the framework of a digital implementation of the control
logic. It is well known that a digital controller obtained from the discretization of an
analogic one can attain at most the performance of the original analogic counterpart. If a
digital controller is designed directly in the discrete time domain, taking into account the
sampling 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 where
the implementation of the switching logic is inherently digital. As an advantage with
respect to PWPF (analogic) modulation, it is much easier to satisfy restrictions on the
on–time ∆ton and the time–between–pulses ∆toff .
Figure 3.5 shows a sequence of pulses. If ts is the sampling period of the digital
controller, a pulse can be commanded for each duty cycle, the duration of which is ∆tdc =
N ts . The minimum impulse bit (MIB) Non,min is chosen so that Non,min ts > ∆ton,min .
At saturation, the on–time is extended to the entire duty cycle. Below saturation, the
66 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
ȳ
Um
1
0.8
0.6
0.4
0.2
0
0 0.2 0.4 0.6 0.8 1 1.2 e
esat
Modulator data: ts = 10 ms; Ndc = 20; ∆ton,min = 12 ms ⇒ Non,min = 2;
MTBP = 17 ms ⇒ Non,max = 18.
Figure 3.6: Response of a PW Modulator.
Torque–free control
Let us consider the toruqe–free case, that is no external disturbances act on the spacecraft,
where the payload must be pointed in a given direction, within some deadband, which in
3.4. USE OF THRUSTERS FOR ATTITUDE CONTROL 67
0.01
drift
θ [deg s ]
−1
.
thruster firing
thruster firing
0
drift
deadband
−0.01
−3 0 θ [10−4 deg] 3
the 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 θ̇0 .
When it reaches the limit of the deadband, θdb , the thruster is fired so as to revert the
drift rate in the opposite direction. The satellite will drift towards the other side of the
deadband, where the thruster are fired again, thus capturing the satellite into a limit cycle
of width approximatley equal to 2θdb .
The thruster generates a moment
M = F ` = J θ̈
For a thruster pulse width ∆t, the change of the attitude rate is
F`
∆θ̇ = ∆t
J
and, in order to revert the satellite motion after the firing, it must be ∆θ̇ = 2θ̇0 . Remem-
bering that
F ∆t
Isp =
∆mg
one gets, for each thruster firing, a fuel consumption of
F ∆t1 J∆θ̇
∆m1 = =
gIsp g`Isp
Considering both sides of the deadband, the total fuel consumption for each cycle is
J∆θ̇
∆m = 2
g`Isp
Ignoring the (usually negligible) thruster pulse time, the duration of the limit cycle is
θdb θdb
τ =4 =8
θ̇0 ∆θ̇
68 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
and the mean fuel consumption (that is the fuel burned per unit time) is
∆m J∆θ̇2
ṁ = =
τ 4`gIsp θdb
θ̈ = α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 algebra
gives
θ̇2 = θ̇02 + 2αD (θ(t) − θ0 )
If the initial condition is on the deadband limit, it is θ0 = θdb . In order to keep the limit
cycle inside the dead band, the turning point at which θ̇ drops to zero and reverts its sign
must be crossed on the other side of the deadband, when θ0 = −θdb . In this case, it is
that is
J θ̇0
θdb =
4MD
3.5. MOMENTUM EXCHANGE DEVICES FOR ATTITUDE CONTROL 69
0.01
drift
θ [deg s−1]
.
thruster firing
0
deadband
−0.01
−3 3
0 θ [10−4 deg]
Figure 3.8: Limit cycle for gas–jet fine pointing control with constant disturbance torque.
In order to close the limit cycle, the thruster pulse must be such that the total ∆θ̇ is
twice the drift angular velocity θ̇0 at deadband crossing,
∆θ̇ = 2θ̇0 = F `∆t/J
Substituting the latter expression in the equation of θdb one gets
(F `∆t)2
θdb =
16MD J
and again the requirement on the thruster is to deliver a small duration pulse for keeping
the deadband small enough to satisfy fine pointing requirements.
the axis â = êi , having a spin moment of inertia Jsw about â and angular velocity Ω,
relative to the spacecraft bus.
The overall angular momentum about êi is
hi = Ji ωi + Jsw (Ω − ωi )
where the first term is the angular momentum of the satellite bus and the second one is
the angular momentum stored in the wheel spinning at an absolute angular velocity Ω−ωi
with respect to FI . If initially ωi = Ω = 0, so that hi = 0, and taking into account that
the total angular momentum is conserved, inasmuch as the wheel is spun up or slowed
through the exchange of internal torques applied by the electric motor, one gets
Jsw
ωi = − Ω (3.5)
Ji + Jsw
Usually it is Jsw ¿ Ji , so that ωi ¿ Ω, that is the angular velocity achieved by the
spacecraft 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 satellite
with at least 3 RWs, one for each body axis. The cluster of RWs usually contains a
fourth spare wheel, the axis of which is oriented in such a way so as to exchange angular
momentum 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 such
a case, this wheel shall be oriented as the spin axis of the satellite and apogee kick rocket
motor stack and it is called a momentum wheel. Its angular momentum is unlikely to
drop back to zero and the control torques about its axis will be obtained accelerating and
decelerating the wheel.
6T
ḣs
θ = θf
t3 t4 -
t1 t2 t
θ=0
−ḣs
Figure 3.9: Torque profile for a single axis slew manoeuvre.
1 ḣs 2
θf = t
4J f
Because of conservation of angular momentum, we recall that ḣs = −ḣw , so that the
maximum torque that the electric rotor must produce is
Jθf
ḣw = 4
t2f
when the wheel achieves the maximum angular momentum. This means that the momen-
tum capacity of the wheel must be
θ2
hmax
w ≥ 2J
tf
Example
We require a spacecraft with J = 100 kg m2 to perform a 0.2 rad slew in 10 sec. This means
that the electric motor must apply torques in both direction equal to
θ2 2 × 100 × 0.2
hmax
w = 2J = = 4 kg m2 s−1
tf 10
72 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
Assuming a wheel inertia Jsw = 0.03 kg m2 , the maximum wheel angular rate with respect to
the satellite bus is
J + Jsw J + Jsw hs
Ω = − ω=−
Jsw Jsw J
J + Jsw hw
= hw ≈ = 133 rad s−1 = 21.2rpm
JJsw Jsw
Substituting the latter expression in Eq. (3.6) and assuming for simplicity that the external
torque and the momentum bias are both zero, it is possible to rearrange the dynamics
equation as
(J − Is )θ̈ = −ga
By choosing
ga = KP (θ − θdes ) + KD θ̇ (3.7)
the closed–loop dynamics is described by the second order differential equation
J ∗ θ̈ + KD θ̇ + KP (θ − θdes )
θ̈ + 2ζpθ̇ + p2 θ = p2 θdes
which can be solved analytically and clearly presents a nice way of choosing the gains KP
and KD .
This means that the use of the control law of Eq. (3.7) may not guarantee a sufficient
pointing 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 degrade
the performance of the real system, since the sensor noise will also be multiplied by a high
gain. It is possible to asymptotically track the prescribed position by adding an integral
term to the control law, i.e.
ga = KP (θ − θdes ) + KD θ̇ + KI y (3.8)
where Z
ẏ = θ − θdes ⇒ y = (θ − θdes )dt
It should be noted that a steady–state can be achieved only for ẏ = 0, i.e. θ = θdes ,
with a value of y such that
KI y = MD ⇒ ga,ss = MD
This means that if the spacecraft is subject to a constantly not null external torque, the
average value of which is not zero (aerodynamic torque, gravity gradient), the platform
can be maintained aimed at a fixed position only if an equivalent motor torque is delivered
to 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 the
wheel 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 dump
the angular momentum excess. This can be done simply braking the wheel and firing the
thrusters in the opposite direction. In this way the momentum accumulated in the wheel
is brought back to zero, because of the external torque produced by the thrusters. During
wheel 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 for
attitude control it is necessary to carefully design the propellant mass budget. Thruster
firings will be also in this case the main source of fuel consumption during the station
keeping phase, and will be the main limit to the satellite operative life.
hB = Iω B + H B
where
H B = Ib (Ω0 + ∆Ω)e2B + Ir Ω1 e1B + Ir Ω3 e3B
is the angular momentum stored in the spinning wheel, Ib being the moment of inertia of
the pitch–axis bias–momentum wheel while Ir is the moment of inertia of the two reaction
wheels. Writing H B as
H B = H 0B +∆H B = (0, h0 , 0)T +(∆h1 , ∆h2 , ∆h3 )T = (0, Ib Ω0 , 0)T +(Ir Ω1 , Ib ∆Ω, Ir Ω3 )T
74 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
and assuming that ||Iω B ||, ||∆H B || ¿ h0 , the equation of motion can be written as
where higher order terms have been neglected. Each wheel is characterized by a dynamics
in the form
I Ω̇ = ga − I ω̇
Assuming finally a small angular displacement, so that ω̇ B = θ̈, the pitch equation is
decoupled 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 ordinary
differential equation:
Choosing for both reaction wheels spin–torque command laws in the form
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 the
Laplace variable s:
· 2 ¸µ ¶ µ ¶
s + 2ζ1 p1 s + p21 −γ1 s θ̄1 (s) 0
2 2 =
γ2 s s + 2ζ2 p2 s + p2 θ̄3 (s) 0
where p2i = KPi /(Ji − Ir ) and 2ζi pi = KD /(Ji − Ir ), while the gyroscopic coupling term is
represented by the coefficient γi = Ib Ω0 /(Ji − Ir ). With a proper choice of the gains, it is
possible to have p1 = p2 and ζ1 = ζ2 , which means that perturbations about roll and yaw
axes are damped with similar time behaviour. Moreover, in such a case the number of
design parameter is reduced to two and a simple parametric study is possible. It should be
noted that, independently of the choice of the controller parameters, the proposed control
law requires an explicit estimate of the yaw angle, which may not be a trivial task. A
direct measure of the roll angle is usually available from a Earth horizon sensor, while the
yaw angle can be measured directly only with the aid of an expensive star tracker. As an
alternative, a rate–integrating gyro may be used, where care must be taken on the closed
loop dynamics of the effects of gyro drift and integration of the sensor noise over large
period of time.
Figure 3.10 shows this study for γ = 1. As it can be observed, for ζ = 0, the closed
loop 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 asymptotic
3.5. MOMENTUM EXCHANGE DEVICES FOR ATTITUDE CONTROL 75
8
Re(λ) 0
6
Im(λ) ζ=0 −5
4
−10
2
−15
0
0 1 2 3 4 5 p
−2
−4 Im(λ) 5
−6 0
−8 −5
−15 −10 −5 0
Re(λ) 0 1 2 3 4 5 p
8
Re(λ) 0
−5
6
Im(λ) ζ = 0.5
4 −10
2 −15
0 1 2 3 4 5 p
0
−2 Im(λ) 5
−4 0
−6
−5
−8
−15 −10 −5 0 0 1 2 3 4 5 p
Re(λ)
8
Re(λ) 0
6
Im(λ) ζ=1 −5
4
−10
2
−15
0
0 1 2 3 4 5 p
−2
−4 Im(λ) 5
−6 0
−8 −5
−15 −10 −5 0
Re(λ) 0 1 2 3 4 5 p
8
Re(λ) 0
−5
6
Im(λ) ζ = 1.5
4 −10
2 −15
0 1 2 3 4 5 p
0
−2 Im(λ) 5
−4 0
−6
−5
−8
−15 −10 −5 0 0 1 2 3 4 5 p
Re(λ)
Figure 3.10: Root locus as a function of p for different values of ζ.
76 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
stability to the origin. For subcritical damping (ζ ≤ 1), the eigenstructure is characterized
by two pairs of complex conjugate eigenvalues, for low values of the proportional gain
KP . Beyond a certain critical value (corresponding to pcr = 1.65, for ζ = 0.5), a couple of
complex conjugate roots collapses and two real negative eigenvalues are found for higher
values of p. One of them tends towards the origins, as p is increased, so that extremely
high proportional gains are not convenient. The critical value at which a pair of complex
conjugate roots is replaced by two real eigenvalues decreases as ζ is increased. In the
supercritical range, for ζ > 1, the root locus changes its structure and regions of p can be
found where all the eigenvalues are real.
Assuming that the gimbal rotation angles δ1 and δ2 are small, it is aB ≈ (−δ1 , 1, δ2 )T . In
this case H B can be written in the form
Assuming again that ||Iω B ||, ||∆H B || ¿ h0 , the linearized equation of motion for small
amplitude angular displacement is obtained neglecting higher order terms as
I ω̇ B + ∆ḢB + ω B × Ib Ω0 = M B
which becomes, choosing the set of principal axes of inertia as the body frame,
As usual, the pitch dynamics is decoupled and is not repeated here, while roll and yaw
equation of motion are coupled by the gyroscopic term. Letting ur = −∆ḣ1 and uy =
−∆ḣ3 be the control variables, the coupled roll–yaw dynamics is described by the following
set of linear second order equations:
J1 θ̈1 − h0 θ̇3 = ur + M1
J3 θ̈3 + h0 θ̇1 = uy + M3
3.6. QUATERNION FEEDBACK CONTROL 77
δ̇1 = ur /h0
δ̇2 = −uy /h0
It is clear that the same control law derived for the cluster of momentum bias wheel and
reaction wheels can be implemented with a double–gimbal hardware, provided that the
control power made available by the rotation of the gimbals is sufficient for the prescribed
stabilization and control purposes.
I ω̇ B + ω B × (Iω B ) = M B
Quaternions can be easily computed by modern attitude determination systems and for
this reason their use is nowadays very common. As a consequence, a simple feedback
control law based on the information obtained from the attitude sensors would be very
easily implementable on–board for autonomous manoeuvre management.
It is possible to demonstrate that a feedback law in the form
M B = −Kq e − Cω B
where q e = (q1e , q2e , q3e )T is the attitude error quaternion vector, is globally asymptotically
stabilizing for a wide choice of the gain matrices K and C.
In general, the error quaternion vector is given by
q 0e
q 0c q 1c −q2c −q 3c
q 0
−q1c q1
q1e q 0c −q3c q 2c
=
q2e q2c q3c q0c q1c q2
q3e q3c −q2c −q1c q0c q3
where (q0c , q1c , q2c , q3c )T represents the commanded (desired) value of the quaternions and
(q0 , q1 , q2 , q3 )T their current value. Without loss of generality, it is possible to assume as
the “absolute” reference frame the desired attitude (and in case switch to another absolute
78 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
frame if a new attitude needs to be acquired), so that (q0c , q1c , q2c , q3c )T = (1, 0, 0, 0)T and
q e ≡ q. In this case the control logic can be rewritten as
M B = −Kq − Cω B
It should be noted that, if the desired attitude is assumed to be (q0c , q1c , q2c , q3c )T =
(−1, 0, 0, 0)T (which is the same attitude, but represented by the complementary quater-
nion vector1 ), the quaternion feedback control laws needs to be rewritten as
M B = +Kq − Cω B
where k and ci are positive scalar constants, 1 is the 3 × 3 identity matrix, sign(q4 ) is the
sign function,2 and α and β are non–negative scalars.
Controller 1 is a special case of controller 4, when α = 0. It is possible to choose β = 0
only if α 6= 0. Controllers 2 and 3 approach the origin (1, 0, 0, 0)T taking the shorter
angular path, that is, tracking an Euler rotation.
All these control laws can be implemented under the assumption that there is a set
of actuators that can deliver the required amount of external torque M B , that is a set
of thruster. The problem of the jet selection logic and torque saturation are beyond the
scope of the present discussion.
When the dynamic state of the spacecraft is expressed in terms of the (conserved)
angular momentum vector, the equation of motion is rewritten as
ḣB + ω B × hB = M B
hB = Iω B
and the equation can be trivially rewritten in the previous formulation. If on the converse
the spacecraft has n rotating parts, it is
n
X
hB = Iω B + hiB
i=1
where hiB is the relative angular momentum vector stored inside the i–th spinning wheel.3
Letting
X n
HB = hi
i=1
it is
hB = Iω B + H B
and the equation of motion becomes
I ω̇ B + ω B × (Iω B ) + ḣB + ω B × hB = M B
where M B is the external torque acting on the spacecraft. Assuming for the sake of
simplicity a torque–free environment and a zero initial angular momentum, it is possible
to write the last equation as
I ω̇ B + ω B × (Iω B ) = u
where
u = −Ḣ B − ω B × H B
is the control torque generated by a proper action on the spinning wheels inside the
spacecraft bus. The control torque demand can be determined on the basis of some
feedback control logic, such as the quaternion feebback control presented in the previous
section. Once the control torque demand u is known, the CMG steering logic can be
determined as
Ḣ B = −u − ω B × H B (3.9)
For a cluster of n CMG, the internal angular momentum vector H B is a function of
the rotation angles δ1 , δ2 , . . . , δn of each wheel about its gimbal axis, that is
H B = H(δ) (3.10)
3
The inertia tensor I is assumed to take into consideration the contribution of the spin–wheels to the
mass distribution as if they were still. For this reason only the relative contribution to angular momentum
is added.
80 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
Ḣ B = A(δ)δ̇ (3.11)
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 to
Eq. (3.11), where, for the case of the pyramid mounting, it is
−cβ cos δ1 sin δ2 cβ cos δ3 − sin δ2
A = − sin δ1 −cβ cos δ2 sin δ3 cβ cos δ4
sβ cos δ1 sβ cos δ2 sβ cos δ3 sβ cos δ4
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# Ḣ B (3.12)
where
A# = AT (AAT )−1
Although most of the CMG steering logic proposed in the literature are variants of this
form, 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 one
3.7. CONTROL MOMENT GYROSCOPES 81
direction, called the singular direction. These points are distributed along hypersurfaces
in 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 the
increasing norm of the matrix (AAT )−1 , and (ii) it is not possible to implement the
steering logic with an arbitrary torque demand u, because of the presence of the singular
direction along which the CMG cluster is not capable of producing a torque component.
Several singularity avoidance strategies have been developed and discussed in the
literature. The most common approach, derived from the solution derived for problem
of similar nature in robotic manipulators, is based on the general solution to Eq. (3.11),
which can be written in the form
δ̇ = AT (AAT )−1 Ḣ B + γn
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 the
amount of null motion that must be added in order to “stay away” from the singularities.
The null vector can be expressed as
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 problem
of the presence of singular states, while keeping the computational burden of the steering
82 CHAPTER 3. ACTIVE STABILISATION AND CONTROL OF SPACECRAFT
A∗ = AT (AAT + λ1)−1
where 1 is the identity matrix and λ is a positive scalar, that is tuned as a function of m
as
λ = 0, for m ≥ m0
2
λ = λ0 (1 − m/m0 ) , for m < m0
where λ0 and m0 are small positive constants to be properly selected. In this case, the
pseudo–inverse steering logic is “altered” when approaching the singular state in such a
way so as to avoid the singularity of the matrix (AAT )−1 simply by the addition of a
small contribution to its principal diagonal.