Download - ADCS Notes Part1
-
8/9/2019 ADCS Notes Part1
1/82
Course Notes
Spacecraft Attitude Dynamics and Control
Politecnico di Milano
Prof. Franco Bernelli Zazzera
Part 1:Attitude dynamics and kinematics
-
8/9/2019 ADCS Notes Part1
2/82
Spacecraft Attitude Dynamics and Control Course notes
1
Note for the reader
These short notes are in support of the course Attitude dynamics and control, they are not
intended to replace any textbook. Interested readers are encouraged to consult also printed
textbooks and archival papers.
Acknowledgments
I must really thank Ivan Ferrario and Mauro Massari, former students in my class, whose patient
work gave the first impulse to the preparation of the current notes.
-
8/9/2019 ADCS Notes Part1
3/82
-
8/9/2019 ADCS Notes Part1
4/82
Spacecraft Attitude Dynamics and Control Course notes
3
Fundamental quantities
Angular momentum of a rigid body
Let us start by defining the physical quantities that are fundamental and recurrent in the rotationalmotion of rigid spacecraft. These quantities are the angular momentum and the kinetic energy. The
angular momentum of a rigid body B is defined referring to a reference frame attached to the
rigid body and moving with it, with origin O:
Considering an infinitesimal point mass, it is defined as:
dmvrhd o =
Therefore, for the whole rigid body B:
dmvrhBo =
The velocity is expressed as:
iBo vrvv ++=
where vo is the velocity of the origin of the reference system attached to the rigid body, is theangular velocity of the rigid body and v iBis the relative velocity between any point of the body and
the origin of the reference system. For a rigid body, this relative velocity is always zero.Evaluating the integral yields:
( ) ( ) +=+= BBoB oo dmrrdmrvdmrvrh
We must now evaluate the vector cross products:
z
v
B r
O
y
x
-
8/9/2019 ADCS Notes Part1
5/82
Spacecraft Attitude Dynamics and Control Course notes
4
( )
( )
+
+
+
=
=
=
=
yzyxzx
xyxyzz
xzzxyy
rr
xy
zx
yz
r
z
y
x
r
y
2
zx
2
z
x
2
yz
2
y
z
2
xy
2
x
yx
xz
zy
z
y
x
The first term of the integral can be expressed as a function of the first moment of mass, that is a
measure of the distance between the origin of the reference system and the center of mass, while
integrating the terms of the second vector term, since angular velocity is constant at any point of the
rigid body, we can form the so called inertia matrix and write the angular momentum as:
+= ISvh ooo
where Sois the first moment of mass and I is the inertia matrix that is expressed as:
( )( )
( )
+===
=+==
==+=
=
=
B
22zzBzyBzx
ByzB
22yyByx
BxzBxyB
22xx
Bo
dmyxIdmzyIdmzxI
dmyzIdmzxIdmyxI
dmxzIdmxyIdmzyI
I
dmrS
Inertia matrix
The inertia matrix is symmetric and the terms along the diagonal are called inertia moments, while
the off-diagonal terms are called inertia products. Inertia moments are always positive, while there
is no general rule for the inertia products. The inertia matrix, by its definition, must respect precise
constraints among its elements. It is possible to define 6 triangular inequalities that relate the inertia
moments, which represent constraints on the admissible values of inertia moments. These
constraints are on the sum of two inertia moments and on the difference between two inertia
moments, for example:
( ) ( )
( ) ( ) zz2222
yyxx
zz22222
yyxx
IdmyxdmxyII
Idmyxdmz2yxII
=+=
=+++=+
The remaining inequalities are obtained by simple rotation of the labels x, y and z.
There exist also 3 inequalities that relate the inertia products:
-
8/9/2019 ADCS Notes Part1
6/82
Spacecraft Attitude Dynamics and Control Course notes
5
( ) ( )
zyxx
xx
zy
222
xx
I2I
0I0A
I2Admzy2dmzydmzyI
+=+=+=
Again, remaining inequalities are obtained by simple rotation of the labels x, y and z. Overall, 9
constraints relate the elements of the inertia matrix.
Rotation kinetic energy of a rigid body
Kinetic energy is defined as:
( ) ( ) ( ) ( ) ( )( ) ++=++== B oooB ooB dmrrrv2vvdmrvrvdmvvT2
The first term represents the kinetic energy due to the linear motion of the rigid body, not of interest
in this case since we study only rotational motion. Therefore, the kinetic energy due to the angular
motion is expressed as:
( ) ( ) ( )( ) ( ) ( ) +=+= BooB orot dmrrSv2dmrrrv2T2
Expanding the term to be integrated we have:
( ) ( ) xy2xz2yz2xyzxyzrr xyxzzy22
y
22
x
22
x
22
z
22
z
22
y +++++=
That, once integrated, leads to:
( ) ( ) xyxyxzxzzyyz2
zzz
2
yyy
2
xxxB I2I2I2IIIdmrr +++++=
We can then write the kinetic energy using matrix notation, as:
+= ISv2T2 oo
By choosing the origin O coincident with the center of mass of the system, Sovanishes and the
angular momentum and kinetic energy become:
=
=
IT2
Ih
Principal axes and principal inertia moments
We can now try to find a further simplification of the expressions of the angular momentum and
kinetic energy, trying to simplify the inertia matrix. In order to do so, we must change the reference
system, keeping the origin coincident with the center of mass but such that the kinetic energy is a
-
8/9/2019 ADCS Notes Part1
7/82
Spacecraft Attitude Dynamics and Control Course notes
6
purely quadratic expression in the components of , thus reducing the inertia matrix to diagonalform.
Any vector can be transformed from one reference system to another by multiplication by the
direction cosine matrix. This matrix contains the projections on the second reference frame of the
axis defining the first reference frame.
= a'
a represents the direction cosines matrix, that is orthogonal (aT=a
-1). Applying the multiplication
rule to the expression of the kinetic energy leads to:
( ) ( )'aI'aT2 TT =
and, in matrix notation1:
''I''aIa'T2TTT ==
where I is the inertia matrix in the new reference frame (a I aT).
Coming back to the problem of finding a rotation capable of transforming the inertia matrix intodiagonal form, we can write this problem as:
''',, zyx
T IIIdiagaIa =
This is the standard eigenvalue problem for matrix I. Once the eigenvalue problem is solved, the
rotation matrix a is composed by the eigenvectors associated to the eigenvalues of I, that are Ix, Iy
and Iz. Each row of rotation matrix a is one eigenvector. Eigenvectors correspond to the direction
cosines of the new reference frame, called principal inertia frame, with respect to the starting
reference frame. The principal inertia frame is therefore reference frame with origin in the center of
mass of the rigid body and such that all inertia products are equal to zero. Calling Ix, Iy, Iz, the
principal inertia moments, the angular momentum and kinetic energy become:
2
zz
2
yy
2
xx
zzyyxx
IIIIT2
IIIIh
++==
++==
1Matrix notation for vector dot product (inner product or scalar product) consists in the following:
2
T
121 vvvv =
z
z
y
y
x
x
-
8/9/2019 ADCS Notes Part1
8/82
Spacecraft Attitude Dynamics and Control Course notes
7
It is pointed out that a plane of symmetry (in terms of mass distribution) includes 2 principal inertia
axes, and then the third is uniquely defined as the axis orthogonal to the plane and passing through
the center of mass. It is also pointed out that, normally, it is easy to evaluate the inertia matrix in a
geometrically meaningful reference. Should this not be a principal axis frame, it can be calculated
by solving the eigenvalue problem as described.
The principal inertia matrix includes always the maximum possible and the least possible inertiamoment, no other reference can show along the diagonal greater or smaller inertia moments.
Inertia ellipsoid, kinetic energy ellipsoid, angular momentum ellipsoid
Assuming that the angular velocity has a constant direction, we can write:
=
where is the unit vector defining the direction of . The kinetic energy can be written in the form:
( ) 2zxxzzyyzyxxy2
zzz
2
yyy
2
xxx IIII2IIIIT2 =+++++==
The expression of Ican now be evaluated as:
+
+
+
+
+
=
zxxz
zy
yz
yxxy
2
zzz
2
y
yy
2
xxx III2IIII
with:
zz
y
y
x
x
lk
lj
l
i
=
=
=
=
=
=
defined as the direction cosines of unit vector . In a principal inertia reference system we canwrite:
2
zz
2
yy
2
xx lIlIlII ++=
that can be transformed into:
1I1
Il
I1
Il
I1
Il
z
2
z
y
2
y
x
2
x=++
This is an ellipsoid, called inertia ellipsoid, in which the coordinates of each point represent the
components of the generic direction divided by the square root of the inertia moment associated
-
8/9/2019 ADCS Notes Part1
9/82
Spacecraft Attitude Dynamics and Control Course notes
8
to that direction, while the semi-axes are inversely proportional to the square root of each principal
inertia moment.
Semi-axes: zyx I/1,I/1,I/1
Point coordinates Il,Il,Il zyx
Representing this ellipsoid in a Cartesian space, in a principal inertia frame, it is possible to
calculate the inertia moment associated to any direction. Tracing any direction, the intersection with
the ellipsoid occurs at a distance from the origin equal to I1 , where is the unit vector of the
given direction. In the same way, the intersection of the ellipsoid with the coordinate axes allows to
calculate the principal inertia moments.
Now we can write the expression of the kinetic energy as a function of the generic inertia moment
in the direction :
2
zz
2
yy
2
xx
2IIIIT2 ++==
This can be written also as:
1IT2IT2IT2 z
2
z
y
2
y
x
2
x =
+
+
that represents another ellipsoid, called kinetic energy ellipsoid, in a space defined by angular
velocities. This ellipsoid represents all possible angular velocities compatible with the given kinetic
energy T. The intersection of the ellipsoid with any direction is at distance IT2 from the origin.
A similar representation holds for the angular momentum:
2
z
2
z
2
y
2
y
2
x
2
x
2IIIhhh ++==
-
8/9/2019 ADCS Notes Part1
10/82
Spacecraft Attitude Dynamics and Control Course notes
9
that can be written as:
1IhIhIh
2
z
2
2
z
2
y
2
2
y
2
x
2
2
x =
+
+
Finally, we have a third ellipsoid, called angular momentum ellipsoid, which represents the
compatibility of the angular velocity with the given level of angular momentum.
-
8/9/2019 ADCS Notes Part1
11/82
Spacecraft Attitude Dynamics and Control Course notes
10
Geometrical/graphical description of torque-free motion
Polhode and herpolhode
The inertia ellipsoid has no intersection with the kinetic energy ellipsoid, unless the two arecoincident, while the angular momentum ellipsoid must intersect the kinetic energy ellipsoid at least
in one point in order to represent a real motion. In fact, if no energy dissipation exists and no torque
is applied, both kinetic energy and angular momentum must be constant. So, given T and h, angular
motion must evolve in such a way that angular velocity vector identifies the intersection of the
kinetic energy ellipsoid with the angular momentum ellipsoid. In fact, angular velocity must be
compatible with the energy level and with the angular momentum defined by the initial conditions
of motion. The intersection of the kinetic energy ellipsoid with the angular momentum ellipsoid
generates two lines, called polhodes.
So far we have looked at the problem in a body frame, not fixed in inertial space. In an inertial
frame, we will observe vector h as a fixed vector, if no torque is applied. Then, if no dissipation is
present, we have:
tcosh
tcoshT
=
==
We can observe that the projection of over h is constant:
tcoshT
hh
h ===
Now, considering a plane orthogonal to h, at a distance h from the center of mass, the terminalpoint of vector lies always on this plane due to the conservation of the projection of over h.This plane is called invariant plane. All this is a consequence of conservation of kinetic energy T
with time:
-2
-1
0
1
2
-2
-1
0
1
2-1.5
-1
-0.5
0
0.5
1
1.5
x
Poloide
y
z
-
8/9/2019 ADCS Notes Part1
12/82
Spacecraft Attitude Dynamics and Control Course notes
11
( ) ( )
hd0hd
0hd
0hdhddt
1h
dt
d
=
=
=+=
The line traced by the angular velocity on the invariant plane is in general not closed, it is calledherpolhode. The herpolhode is in any case a curve limited in space. In the body axes reference
frame the derivative of the angular velocity vector is always tangent to the kinetic energy ellipsoid,
while in the inertial space the kinetic energy ellipsoid rolls on the invariant plane as the angular
velocity draws the herpolhode.
From the mathematical point of view, the intersection of the two ellipsoids is evaluated as:
1
IhIhIh
1
IT2
IT2
IT2
2
z
2
2
z
2
y
2
2
y
2
x
2
2
x
z
2
z
y
2
y
x
2
x
=
+
+
=
+
+
Equating the two left hand terms, equal to 1, we find the polhode:
0T2
1
h
II
T2
1
h
II
T2
1
h
II
2
zz
2
z2
y
y
2
y2
xx
2
x =
+
+
In order to obtain a real solution, the three terms into brackets must show differences in sign.
Multiplying each term by h2we have three terms like:
T2
hI
2
Assuming Ix> Iy> Izwe obtain the conditions for a sign change:
T2
hI
2
x> andT2
hI
2
z<
It is not necessary to impose conditions on Iysince the change in sign is already guaranteed by the
previous conditions. The final constraint is then:
z
2
x IT2
hI >>
that guarantees the possibility of having a real rotational motion.
Given the result so far obtained, it is difficult to make any consideration on the polhode as a line in
space, while it is interesting to analyze its projections onto the three coordinate planes. We have:
-
8/9/2019 ADCS Notes Part1
13/82
Spacecraft Attitude Dynamics and Control Course notes
12
T2III
1T2
I
T2
I
T2
I
2
zz
2
yy
2
xx
2
zz
2
yy2
xx
=++
=
+
+
Looking at the projection onto the plane (x-y), we reduce to two dimensions by eliminating the
coordinate z:
2
yy
2
xx
2
zz IIT2I =
Substitution into the polhode equation gives:
( ) ( )
( ) ( )1
TI2h
III
TI2h
III
0h
hTI2
h
III
h
III
01h
IT2
h
I
h
II
h
I
h
II
0T2
1
h
IT2
h
I
h
II
h
I
T2
1
T2
1
h
II
z
2
zyy2
y
z
2
zxx2
x
2
2
z
2
zyy2
y2
zxx2
x
2
z
2
z
2
y2
yy2
z
2
x2
xx
2
z
2
z
2
y2
yy2
z
2
x2
xx
=
+
=
+
+
=+
+
=
+
+
+
that represents a planar conic curve. Operating in the same way, we have the projections onto the
(y-z) plane:
( ) ( )1
TI2h
III
TI2h
III
x
2
xzz2
z
x
2
xyy2
y =
+
and onto the (x-z) plane:
( ) ( )1
TI2h
III
TI2h
III
y
2
yzz2
z
y
2
yxx2
x =
+
Analyzing the planar conic curves and the signs of all coefficients, we have that:
?TI2h
0TI2h
0TI2h
y
2x
2
z
2
-
8/9/2019 ADCS Notes Part1
14/82
Spacecraft Attitude Dynamics and Control Course notes
13
Therefore we know that the projections on planes (x-y) and (y-z) are ellipses, since coefficients are
of the same sign, while projection on plane (x-z) is a hyperbola since the signs of the coefficients
are different.
The fact that, looking at the polhode in the (x-z) plane, i.e. looking at it from the y axis, we see a
hyperbola can be considered as a sort of instability. In fact, if the angular velocity is slightly shifted
from the x-axis or from the z-axis it will remain confined in a region close to the axis, while a slight
shift from the y-axis would cause a dramatic departure from the original condition. All this can be
seen by looking at the kinetic energy ellipsoid and at the trajectories that are drawn on it by the
angular velocity vector. It is possible to divide the ellipsoid into areas corresponding to different
initial conditions:
The inequalities hold for a given ellipsoid where the energy level has been fixed.
z h2
= 2TIz
2TIx< h2
-
8/9/2019 ADCS Notes Part1
15/82
Spacecraft Attitude Dynamics and Control Course notes
14
Attitude parameters
It is always necessary to be able to switch from a reference frame to another reference frame, such
as the case of representing the principal inertia frame (body frame) as seen by an inertial frame or
by an Earth-centered reference frame or even by a local-vertical-local-horizontal frame.
To define the orientation of one frame with respect to another, three parameters are the minimal setrequired. Often redundant parameters are used, i.e. more than three, either in order to improve the
physical insight into the transformation or to simplify some numerical analysis.
Direction cosines
Each axis of the reference frame that we target is defined in the current reference frame by the three
components of its unit direction vector. Assembling the components of the three axes we obtain the
direction cosines matrix:
=
321
321
321
www
vvv
uuu
A
in which each row represents one axis. This matrix allows switching from the representation of a
vector in one reference to another reference. As example, let consider a planar rotation:
3 3
Y X
Satellite
3 Z
Earth
Sun 2 2
Earth
2 1
11
Y y
X
X is the satellite local vertical direction x
Y is the satellite velocity direction z Satellite
Z is the third direction, orthogonal to X and Y
Z
x,y,z are the satellites principal inertia axes
-
8/9/2019 ADCS Notes Part1
16/82
-
8/9/2019 ADCS Notes Part1
17/82
Spacecraft Attitude Dynamics and Control Course notes
16
We can now see how to treat a sequence of two rotations:
The generic rotation of vector a from the reference 123 into reference uvw is expressed as:
123uvw aAa =
In the same way, the second rotation from reference uvw to reference uvw is expressed as:
uvw'w'v'u a'Aa =
Then, the overall rotation from reference 123 to reference uvw becomes:
123uvw123'w'v'u aA'Aa'Aa"Aa ===
Concluding, in order to compose a sequence of two rotations it is sufficient to build the overall
direction cosine matrix as the product of the two individual rotations (direction cosine matrix),
taken in the reversed order compared to the sequence of rotations.
A'A"A =
Euler axis and angle
From matrix algebra it is known that real, orthogonal matrices have one unit eigenvalue, to whichwe associate the eigenvector e:
eeA = (the eigenvalue is 1)
Therefore, vector e does not change due to the rotation represented by matrix A. This is possible
only if the rotation occurs around axis e. This axis is called Euler axis, and the rotation amplitude
around this axis is called Euler angle. We can now try to relate the direction cosines matrix A with
3 w
v
w u
v
u
2
123 Inertial (Sun)
uvw Geocentric
uvw Principal inertia
1
-
8/9/2019 ADCS Notes Part1
18/82
Spacecraft Attitude Dynamics and Control Course notes
17
vector e. If we consider elementary rotations around each coordinate axis 1, 2 and 3, we can notice
that:
( )
( )
( )
=
=
=
=
=
=
0
0
1
e
cossin0
sincos0
001
A
0
1
0
e
cos0sin
010
sin-0cos
A
1
0
0
e
100
0cossin
0sincos
A
1
2
3
In each case, the trace of matrix A is the same and equals:
( ) += cos21Atr
Then it is possible to infer the relation between Euler angle and rotation matrix A:
( )( )1Atr2
1cos =
Given matrix A it is possible to evaluate e and with simple operations.
Matrix A has the following form in relation to components of the Euler axis e and angle :
( ) ( ) ( )( ) ( ) ( )
( ) ( ) ( )
++
++
++
=
cos1ecossinecos1eesinecos1ee
sinecos1eecos1ecossinecos1ee
sinecos1eesinecos1eecos1ecos
A2
3132231
132
2
2321
23132121
or:
( ) [ ]+= esineecos1cosIA T where:
[ ]
=
0ee
e0e
ee0
e
12
13
23
represents cross product matrix operator.
If we know the attitude parameters expressed as Euler axis and angle, it is therefore straightforward
to evaluate the direction cosine matrix A. The inverse operation is also possible, given the rotation
matrix A evaluate Euler axis and angle, in fact:
-
8/9/2019 ADCS Notes Part1
19/82
Spacecraft Attitude Dynamics and Control Course notes
18
( )( )
( )
( )
( )
=
=
=
=
sin2
AAe
sin2
AA
e
sin2
AAe
1Atr2
1cos
21123
1331
2
32231
1
It is remarked that the direct transformation, from Euler axis/angle to rotation matrix A, is always
possible, while the inverse transformation, from rotation matrix A to Euler axis/angle, is not always
defined. In fact, when sinbecomes zero the Euler axis is undetermined. This occurs when = n ,that physically means that the axis is not uniquely determined, i.e., it is possible to reach the final
configuration through at least two rotations of same amplitude but different axis. When the inverse
transformation is not determined, the condition is known as a singularity in the attitude
parameterization.
It is also remarked that the inverse trigonometric function arcos returns two possible values of the
Euler angle ( ) that in turn provide two different axes ( e ). This is actually different from the
singularity condition, since we are always looking at the same axis, once from the positive and once
from the negative direction, and to each condition we associate the same rotation angle with
opposite sign. This is physically the same condition.
Euler axis/angle parameters are useful since they are only 4 parameters (the constraint condition is
associated to the fact that e is a unit vector), but unfortunately it is not possible to infer a relation for
sequence of rotations.
Quaternion
A quaternion is a vector of four parameters, linked to the Euler axis/angle parameters through the
relation:
=
=
=
=
2cosq
2sineq
2sineq
2sineq
4
33
22
11
It can be noticed that the quaternion is normalized:
1qqqq2
4
2
3
2
2
2
1 =+++
-
8/9/2019 ADCS Notes Part1
20/82
Spacecraft Attitude Dynamics and Control Course notes
19
In some cases it is convenient to divide the quaternion into a vector part q and a scalar part q4:
4
3
2
1
q,
q
q
q
q
=
The direct transformation, given the quaternion evaluate the direction cosine matrix A, leads to:
( ) ( )
( ) ( )
( ) ( )
+++
+++
++
=2
4
2
3
2
2
2
141324231
4132
2
4
2
3
2
2
2
14321
42314321
2
4
2
3
2
2
2
1
qqqqqqqq2qqqq2
qqqq2qqqqqqqq2
qqqq2qqqq2qqqq
A
or:
[ ]+= q2qqq2IqqqA 4TT2
4
where:
[ ]
=
0qq
q0q
qq0
q
12
13
23
The inverse transformation, from matrix A to quaternion, is represented as:
( )
( )
( )
( )
+++=
=
=
=
2
1
3322114
2112
4
3
1331
4
2
3223
4
1
AAA12
1q
AAq4
1q
AAq4
1q
AAq4
1q
The sign ambiguity has the same explanation given for the Euler axis/angle case. We are always
looking at the same axis, once from the positive and once from the negative direction, and to each
condition we associate the same rotation angle with opposite sign. This is physically the same
condition. Quaternions have no singular condition even in the inverse transformation. In fact,
should q4 become zero it is always possible to evaluate one of the other components of the
quaternion, which will be surely different from zero due to the normalization constraint, and then
evaluate the remaining three components. The inverse transformation has then the following three
further sets of alternative equations:
-
8/9/2019 ADCS Notes Part1
21/82
Spacecraft Attitude Dynamics and Control Course notes
20
( )
( )
( )322321
24
31132
1
23
211221
22
33221121
AA4q
1q
AA
4q
1q
AA4q
1q
AAA1q
=
+=
+=
+=
( )
( )
( )133132
34
32233
2
33
211232
31
33221132
AA4q
1q
AA
4q
1q
AA4q
1q
AAA1q
=
+=
+=
+=
( )
( )
( )211243
44
32234
3
42
311343
41
33221143
AA4q
1q
AA
4q
1q
AA4q
1q
AAA1q
=
+=
+=
+=
It is even possible to select the set of equations to adopt on the basis of the maximization of the
square root term, for a reduced truncation error in the following operations. Unfortunately,
quaternions have no physical meaning and therefore their use is not intuitive.
Adopting quaternions, it is possible to express a sequence of two consecutive rotations, combining
quaternion components in the reversed order of rotations. Given a first rotation represented by
quaternion q, a second rotation represented by quaternion q, the overall rotation is represented by
quaternion q given by:
q
qqqq
qqqq
qqqq
qqqq
"q
4321
3412
2143
1234
=
Gibbs vector
Gibbs vector is a minimal attitude parameterization, since it includes only three parameters. It can
also be seen as a non-normalized quaternion, and can be inferred from Euler axis/angle:
==
==
==
2tane
q
qg
2tane
q
qg
2tane
q
qg
3
4
33
2
4
22
1
4
11
Also in this case it is possible to represent the direct transformation from Gibbs vector to rotation
matrix A:
( ) ( )
( ) ( )
( ) ( )
++
++
++
+++=
2
3
2
2
2
1132231
132
2
3
2
2
2
1321
231321
2
3
2
2
2
1
2
3
2
2
2
1ggg1ggg2ggg2
ggg2ggg1ggg2
ggg2ggg2ggg1
ggg1
1A
or:
-
8/9/2019 ADCS Notes Part1
22/82
Spacecraft Attitude Dynamics and Control Course notes
21
) [ ]( )2
T2
g1
g2gg2Ig1A
+
+=
where:
[ ]
=
0gg
g0g
gg0
g
12
13
23
The inverse transformation is given by:
+++
=
+++
=
+++
=
332211
21123
332211
13312
332211
32231
AAA1
AAg
AAA1
AAg
AAA1
AAg
The inverse transformation becomes singular when = (2n + 1) .
Two consecutive rotations (first rotation expressed by vector g, second rotation represented by
vector g) can be merged into a single Gibbs vector g with the following rule:
'gg1
g'g'gg"g
+=
Also this parameterization has a poor physical meaning and furthermore it has singularity
configuration in the inverse transformation, therefore part of the advantages of having only threeparameters are lost.
Euler angles
The attitude can be represented by means of three Euler angles, which are a minimal representation
and have a clear physical interpretation. The concept is based on the fact that it is always possible to
make two orthogonal frames overlap by appropriate rotation of one of them three times around its
reference axes.
Let us make an example to overlap systems 1,2,3 and u,v,w.
We start by rotating by angle around axis 3, that brings the triad in the new configuration 1,2,3.Now rotate by angle around axis 1, that brings the triad in the configuration 1,2,3.Finally, rotate by angle around axis 3 to superimpose the triad to the reference u,v,w.
-
8/9/2019 ADCS Notes Part1
23/82
Spacecraft Attitude Dynamics and Control Course notes
22
3=3
2
2
1 1
3 3
2
2
1=1
3=w v
2
1 u
The direction cosine matrix can be written by adopting the rule of consecutive rotations. In fact, it is
possible to combine the elementary rotation matrices since each rotation is around one of the
coordinate axes:
( ) ( ) ( ) ( )= 313313 AAA,,A
where:
( )
( )
( )
=
=
=
100
0cossin
0sincos
A
cossin0
sincos0
001
A
100
0cossin
0sincos
A
3
1
3
The labels 1,2,3 of the rotation matrices do not indicate in this case the axis of rotation, but ratherthe rotation type, i.e., the family of axes around which the triad is rotating. The overall rotation
matrix is labeled according to the rotation sequence and the rotation angles associated to each
individual rotation:
( ) ,,A313
In this case it is fundamental to remind that matrix products must be made in the reversed order as
compared to the rotations. It is also possible to superimpose the two triads by a different set of
rotation axes, and in this case the values of the rotation angles will also change radically.
This is true even if only the last rotation is changed, all angles will change their magnitude. Matrix
A313is then written as:
+
+
=
cossincossinsin
sincoscoscoscossinsincossincoscossin
sinsincoscossinsincoscossinsincoscos
A313
It can be noticed that the inverse transform, from matrix A to Euler angles, in this case takes the
form:
-
8/9/2019 ADCS Notes Part1
24/82
Spacecraft Attitude Dynamics and Control Course notes
23
( )
=
=
=
23
131
32
311
33
1
A
Atan
A
Atan
Acos
In this case we notice a singularity when sin tends to zero. This means that the first and lastrotations are actually around the same physical direction in space, therefore it is not possible to
distinguish them individually, but rather only the sum or difference of the two.
With Euler angles we have a different rotation matrix A for each combination of rotation axes. Two
consecutive rotations cannot be around the same axis, they would become one single rotation,
therefore the possible sequences are 12, out of which 6 have all indexes different and 6 are
characterized by the same first and third index:
312,213,123,321,231,132 all different indexes
313,323,212,232,131,121 first and third index equal
The different sets of Euler angles are singular for different values of the second rotation angle ,depending on the fact that the indexes are all different or the first and third index coincide. When all
indexes are different, the singularity condition is = (2n+1)/2,while for equal first and third indexthe singularity occurs when = n.Here follow the symbolic expressions of the direction cosine matrix for the 12 possible sequences,
assuming that the first rotation is always represented by angle , the second by angle and the thirdby angle .
++
++
=
coscossincossin
sincoscossinsincoscossinsinsincossin
sinsincossincos-cossinsinsincoscoscos
A123
+
+
=
coscossinsinsinsincoscossinsincossin
sincoscoscossin
cossinsinsincossinsincossincoscoscos
A132
++
++=
coscossinsinsin-cossinsincoscossinsin
cossinsinsincoscoscossinsincossincos
sincos-sincoscos
A231
++
++
=
coscossin-cossin
sincoscossinsincoscossinsincoscossin
sincossinsincos-cossinsinsinsincoscos
A213
-
8/9/2019 ADCS Notes Part1
25/82
Spacecraft Attitude Dynamics and Control Course notes
24
+
+
=
coscossincoscossinsinsinsincoscossin
sincoscoscossin-
cossin-sincossinsincossinsinsincoscos
A312
++
++=
coscossinsincoscossinsincoscossinsin
cossinsinsinsincoscossincossinsincos
sin-sincoscoscos
A321
+
+
=
coscoscossinsincossincoscossinsincos
coscossinsincoscossinsincoscossinsin
sincossinsincos
A121
++=
cossinsincoscoscoscossinsincos-sinsin
cossincoscossincoscoscossinsinsincos-
sinsinsincoscos
A131
++
=
coscoscossinsinsincos-cossincoscossinsincoscossinsin
coscossinsincos-sinsincossinsincoscos
A212
+
+
=
cossinsincoscossinsincoscossinsincos
sinsincossincos
cossincoscossinsincoscoscoscossinsin
A232
+
+
=
cossincossinsin
sincoscoscoscossinsincossincoscossin
sinsincoscossinsincoscossinsincoscos
A313
++
=
cossinsinsincos
sinsincossinsincoscoscoscossinsincos-
sincoscossincoscossincoscoscossinsin
A323
If angles are small, i.e., up to 10- 15, we can assume cos x =1, sin x = x, x*x =0 (with x in
radians), therefore the dependence on the order of rotations is lost and we can write:
( ) ( ) ( ) ....,,A,,A
1
1
1
,,A 213321312 ===
=
It is reminded that in any case the correspondence between axis and angle must be kept. Matrix Acan also be written as:
[ ]= anglesIA
If the first and last indexes are coincident, due to loss of importance of the order of rotations, we are
always in the condition that the first and last rotations are almost around the same physical direction
in space, so it is like having only two rotations:
-
8/9/2019 ADCS Notes Part1
26/82
Spacecraft Attitude Dynamics and Control Course notes
25
( )
+
=
10
1
01
,,A313
For small angles, quaternion can be simplified and directly connected to Euler angles when the
three indexes are different. For the sequence 312 we can write:
=
=
=
=
1q
2
1q
2
1q
2
1q
4
3
2
1
Attitude parameterization adopting Euler angles has a clear physical meaning but is numericallytime consuming. Moreover, the rule of consecutive rotations, although existing, is really hard to
implement due to its complexity, therefore it will not be illustrated.
-
8/9/2019 ADCS Notes Part1
27/82
-
8/9/2019 ADCS Notes Part1
28/82
Spacecraft Attitude Dynamics and Control Course notes
27
Then, knowing we can integrate dA/dt in order to update matrix A. Since integration is donenumerically, after some steps matrix A will no longer be orthogonal. It is therefore necessary to
orthogonalize matrix A after a certain number of integration steps.
This operation is long and complex, if done exactly, so that approximate solutions to the
orthogonalization are normally used. In this way, approximate solutions can be evaluated with a
higher frequency (at every integration step) since the numerical process is fast enough. It can bedemonstrated that, starting from an initial guess A0(t) of the direction cosines matrix, not orthogonal
due to numerical errors, the recursive formula
Ak+1(t)= Ak(t)*3/2- Ak(t)*AkT(t)*Ak(t)/2
converges rapidly, with increasing k, to the exact value of A. In a first order approximation it is
possible to adopt a single step iteration
A(t)= A0(t)*3/2- A0(t)*A0T(t)*A0(t)/2
Quaternions
The procedure adopted to derive the kinematic relation for direction cosines can now be repeated to
analyze the quaternion kinematics. We can assume that quaternion at time t + t is given by thecomposition of quaternion at time t and a quaternion representing the rotation in the interval t:
( ) ( )
=
=
=
=
=+
2cosq
2sineq
2sineq
2sineq
withtq
qqqq
qqqq
qqqq
qqqq
ttq
4
w3
v2
u1
4321
3412
2143
1234
Then:
( ) ( )tq2
sin
0eee
e0ee
ee0e
eee0
2cosIttq
wvu
wuv
vuw
uvw
+
=+
For short intervals t we can approximate:
2
t
22sin1
2cost
=
=
=
=
and evaluate eu, ev, ew, as a function of = e and therefore write:
-
8/9/2019 ADCS Notes Part1
29/82
Spacecraft Attitude Dynamics and Control Course notes
28
( ) ( )
=
+=+
0
0
0
0
:where
tqt2
1Ittq
wvu
wuv
vuw
uvw
Taking the limit for t0:
( ) ( )( )tq
2
1
t
tqttqlim
dt
dq
0t=
+=
Therefore, also in this case, knowing the angular velocity we can integrate the derivative of thequaternion to propagate attitude. As for the direction cosines, there is a problem of normalization,
but since q is a vector its normalization is trivial.
Gibbs vector
It is not possible to evaluate the derivative of the Euler axis/angle parameterization, due to the lack
of rule for consecutive rotations. For the Gibbs vector this can instead be evaluated, with the usual
procedure already adopted for quaternion and direction cosines:
( ) ( ) ( )( ) 'gtg1tg'g'gtgttg
+=+
where:
t2
1
2tane'g
tsmall= ==
The derivative is then:
( ) ( )( ) ( )[ ]tgtgtg2
1
dt
dg+=
Euler angles
Euler angles have no convenient rule for combining two consecutive rotations, however it is
possible to calculate the derivatives of the angles for each sequence of rotations. Let consider the
sequence 313 (,,):
-
8/9/2019 ADCS Notes Part1
30/82
Spacecraft Attitude Dynamics and Control Course notes
29
If we have variation of angle alone, then rotation will be about axis 3, so that we can write:
3= &
If we have variation of alone, then rotation will be about axis 1, so that:
'1= &
Again, if we have variation of angle alone, rotation will be about axis w, so that:
w= &
The three contributions are independent one from the other, therefore by simple combination of the
three contributions we obtain:
w'13 &&& ++=
3=3
w=3 v
2
2
2
& & &
1 1 u
Taking the projections of on axes u,v,w :
++==
+=++==
+=++==
www'1w3w
v'1v3vwv'1v3v
u'1u3uwu'1u3u
w
v
u
&&&
&&&&&
&&&&&
Inner products 3 u, 3 v, 3 w represent the third column of matrix A313, while inner products 1u, 1v,
1w represent the first column of matrix A313if we consider = 0, in fact the first column representaxis 1, that is coincident with axis 1 in case = 0. Finally, w w = 1 since w is a unit vector.
We then have:
+=
=
+=
&&
&&
&&
cos
sincossin
cossinsin
w
v
u
from which the kinematic relations are obtained as:
-
8/9/2019 ADCS Notes Part1
31/82
-
8/9/2019 ADCS Notes Part1
32/82
Spacecraft Attitude Dynamics and Control Course notes
31
( )
( )
++=
=
+=
cos
sinsincos
sincos
cos
sincos
321sequence
vwu
wv
vw
&
&
&
( )
( )
+=
=
+=
sin
coscossin
sincos
sin
cossin
121sequence
wvu
wv
wv
&
&
&
( )
( )
+=
+=
=
sin
cossincos
sincos
sin
sincos
131sequence
wvu
vw
wv
&
&
&
( )
( )
+=
+=
=
sin
cossincos
sincos
sin
sincos
212sequence
uwv
wu
uw
&
&
&
( )
( )
+=
=
+=
sin
cos
cossin
sincos
sin
cossin
232sequence
uwv
uw
uw
&
&
&
( )
( )
+=
=
+=
sin
coscossin
sincos
sin
cossin
313sequence
vuw
vu
vu
&
&
&
( )
( )
+=
+=
=
sincossincos
sincos
sin
sincos
323sequence
vuw
uv
vu
&
&
&
Euler angles are integrable, this meaning that:
-
8/9/2019 ADCS Notes Part1
33/82
Spacecraft Attitude Dynamics and Control Course notes
32
+=
+=
+=
t
00
t
00
t
00
dt
dt
dt
&
&
&
This is not true for angular velocities, that when integrated do not provide angles, since angular
velocity is not a fixed vector. To verify this statement, we recall the integrability condition:
x
B
y
ABdyAdxdz
=
+=
+=+=+= dBdAdcosdsinsindtcossinsin uu&&
=
=
0B
cossinA
not integrable
The same integrability condition verified for Euler angles:
dtBdtAdtsin
cosdt
sin
sind
sin
cos
sin
sinvuvuvu +=
+
=
+
=&
( ) ( ) ( ) ( )
( )
( )
( ) ( )
sincoscossin
sin
1
dt
A
:therefore
sindt
sin
coscos
dt
dtsininsin
dt
cos
sin
1
dt
sin
sin
dt
A
222
v
vv
vv
vv
2
vv
=
=
=
=
=
=
=
&
&
In similar way we can evaluate( )dt
B
u
and check that it has the same expression, this
demonstrates integrability of Euler angles.
-
8/9/2019 ADCS Notes Part1
34/82
Spacecraft Attitude Dynamics and Control Course notes
33
Euler equations
Euler equations are the analytic form adopted to describe the attitude motion of a rigid body. We
start by writing the fundamental equation:
Mdthd =
In body axes the angular momentum vector is:
++
++
++
=
zzzyzyxzx
zyzyyyxyx
zxzyxyxxx
III
III
III
h
Writing the fundamental equation in body axes we have:
Mhh =+&
and expanding the expression of the angular momentum we obtain a system of first order
differential equations, nonlinear and strongly coupled:
=+++++
=+++++
=+++++
z2xxyxzyzyxyy
2yxyzyxzyxxxzzzyzyxzx
y2zxzyzxyzxxx
2xxzzxzzyxyzzyzyyyxyx
x2yyzyzzzyxxz
2zyzzyyyzxxyzxzyxyxxx
MIIIIIIIII
MIIIIIIIII
MIIIIIIIII
&&&
&&&
&&&
If we refer the dynamics to the principal inertia axes, we can simplify the system dynamics sinceinertia products will vanish:
( )( )
( )
=+
=+
=+
zxyxyzz
yzxzxyy
xyzyzxx
MIII
MIII
MIII
&
&
&
In these equations, if the coupling term vanishes then the rotation around one axis will be driven
only by the torque around the same axis.
Rotational dynamics of a satellite is then described by joining Euler equations and an attitudeparameterization.
M Euler Attitude ,,
? equations Parameters
0 0,0,0
-
8/9/2019 ADCS Notes Part1
35/82
Spacecraft Attitude Dynamics and Control Course notes
34
On a satellite we have torques influencing directly the dynamics (Euler equations) and induce
changes in the components of angular velocity. Adopting one attitude parameterization we can,
knowing the angular velocity, calculate the attitude parameters that indicate the orientation of the
satellite in space and that allow to evaluate the position-dependent torques. In Euler equations it is
therefore required to assign initial conditions for angular velocity, while in attitude parameterization
we must assign the initial satellite attitude.
If the reference system is not centered in the system center of mass, in deriving the rotationaldynamics equations we must also consider the linear motion of the origin of the reference frame.
With reference to the following figure, assuming O is the center of mass and A the origin of the
reference system, assuming that we define with Mo and Fo the torque and force referred to the
system center of mass, we have
OOOO
amF;Mdt
hd==
AAOA rrmhh &+= ; OAOA FrMM += ; AOA raa &&=
that is
AAAO rrmhh &= ; OAAO FrMM = ; AAO raa &&+=
Substituting these expressions in the equation of the angular momentum derivative, we have
( )AAAdtd
OAAO
O rrmhFrMdt
hdM &==
and, since OO amF =
( ) ( )AAAdtd
AAAA rrmhramrM &&& =+
For a rigid body we have 0rA=& , 0rA=&& , therefore AO hh = , AO aa = and
AAO
AAA
A aSdt
hdamr
dt
hdM +=+=
where AS stands for the static moment of the rigid body with respect to point A. If the reference
axes are parallel to the principal inertia axes, then we can write
x
y
z
AO
RA
RO
MO
rA
FO
-
8/9/2019 ADCS Notes Part1
36/82
Spacecraft Attitude Dynamics and Control Course notes
35
( ) ( )( ) ( )
( ) ( )
=++
=++
=++
zxyyxxyxyzz
yzxxzzxzxyy
xyzzyyzyzxx
MaSaSIII
MaSaSIII
MaSaSIII
&
&
&
It is pointed out that the same result would have been obtained by considering the equation of the
derivative of the angular momentum vector, expressed in the general form += ISvh ooo ,
with no additional assumptions on the reference frame (fixed or with origin in the system center of
mass).
Even in the simplest case, assuming as reference system the principal inertia system, Euler
equations are difficult to integrate and therefore numerical integrations is adopted. In some
simplified cases we can obtain an analytical solution of the equations, to be used to verify the
numerical integration results.
Torque-free motion of a simple spin satellite
Assume the satellite is axial-symmetric. Having two equal principal inertia moments, one equation
is decoupled from the other two.
Assume that Ix= Iy:
( )
( )
=
=+
=+
zzz
yxzzxyy
xyzyzxx
MI
MIII
MIII
&
&
&
Assume that no external torque is applied, then we can study the torque-free motion knowing the
initial conditions:
( )
( )
=
=+
=+
0I
0III
0III
zz
xzzxyy
yzyzxx
&
&
&
The last equation leads immediately to:
z0z const ==
Furthermore, since no torque is applied, angular momentum and kinetic energy are constant.
Combining the first two equations, the first multiplied by xand the second multiplied by y, weobtain:
( )
( ) const
0dt
d
0
0II
2y
2x
2y
2x
yyxx
yyxxxx
=+
=+
=+
=+
&&
&&
-
8/9/2019 ADCS Notes Part1
37/82
Spacecraft Attitude Dynamics and Control Course notes
36
The magnitude of is then constant. The same result would have been obtained by considering theconstant kinetic energy. To have the magnitude constant, both the x and y components of the
angular velocity must be constant or the projection of the angular velocity on the x-y plane is on a
circle. In fact we know that the angular momentum is constant, therefore:
( ) zxyzzyxx hhkIjiIhconsth
+=++=
=
hz is constant, while hxy is parallel to xy (component on x-y plane) but not constant. Thereforevectors h and describe cones with axis coincident with axis z if we look at the motion from abody axes reference. If we look at the motion from an inertial reference, h will be fixed and andthe unit vector z describe cones with axes coincident with vector h. Furthermore, and h areconstantly on a plane intersecting axis z. In case the only non-zero component of the angular
velocity is the z component, then motion is referred to as simple spin satellite motion.
We can now solve the first two equations. Define:
( )
x
zxz
I
II =
as a characteristic constant of the rigid body, the equations become:
=
=+
0
0
xy
yx
&
&
Deriving the first and substituting the value of y& from the second equation, we have:
0x2
x =+&&
z
hz
z h
y
xy
hxy
x
-
8/9/2019 ADCS Notes Part1
38/82
Spacecraft Attitude Dynamics and Control Course notes
37
This is the typical equation of an harmonic system that has the following solution:
( ) ( )tsinbtcosax += ( ) ( )tcosbtsinax +=&
with initial conditions:
( )( )
( )
( ) y0y
y0y
x0x
x0x
0
0
0
0
&&
&&
=
=
=
=
We then have:
( ) ( )tsin
tcos x0x0x
&+=
From the second equation we obtain:
x
y
&
= so that:
( ) ( )
( ) ( )tcostsin
tsintcos
y0x0y
y0x0x
+=
=
In order to demonstrate that xydescribes a circle, we can write it as a complex number:
( ) ( )[ ] ( ) ( )[ ]tcositsintsinitcosi y0x0yxxy +=+=
or:
( ) ( )[ ] ( ) ( )[ ]
( ) ( ) ( )[ ]tsinitcosi
tsinitcositsinitcos
0y0xxy
0y0xxy
++=
+++=
that is a harmonic motion on a plane, with magnitude given by the initial values of and constantangular velocity equal to .
At this point we must analyze the case in which Izis the maximum inertia moment and the case in
which Izis the minimum inertia moment:
Now we can look at the angles that h and form with the z axis:
Izmaximum > 0 Izminimum < 0
-
8/9/2019 ADCS Notes Part1
39/82
Spacecraft Attitude Dynamics and Control Course notes
38
=
==
=
tanI
I
I
I
h
htan
tan
z
x
zz
xyx
z
xy
z
xy
If Iz is the maximum inertia moment, then > 0 and < , while if Iz is the minimum inertiamoment, < 0and > .
So far we have seen the motion in the body axes frame, and analyzed the motion of the angular
momentum vector around the z body axis.
In reality vector h is fixed in an inertial frame, so if we allow one of the inertial frame axis to be
coincident with h we will see the body axis rotating around it, along with the angular velocity
vector.
The z axis draws a cone with axis coincident with h, with aperture , while the angular velocity
draws a cone with axis coincident with z, with aperture . Moreover we recall that draws also acone with axis coincident with h. We then have two cones, one fixed (around h) called spacecone, and one that revolves on it (around z), called body cone. The two cones revolve one
outside the other if is negative, while they revolve one inside the other if is positive.
We can now apply one attitude representation to the axial symmetric satellite:
3 h 3 h
z z
2 2
< 0 > 0
1 1
z
hz
z h
y
xyhxy
x
-
8/9/2019 ADCS Notes Part1
40/82
Spacecraft Attitude Dynamics and Control Course notes
39
( )
x
zxz
I
II =
Adopting the Euler angles with sequence 313, we can represent the inertial reference with the third
axis coincident with h.
+=
=
=
&&
&
&
cos
cossin
sinsin
z
y
x
We notice that is constant due to the satellite symmetry, and axis z draws a cone of amplitude around axis h.
Taking time derivatives, we have:
+=
=
+=
&&&&&
&&&&&
&&&&&
cos
sinsincossin
sincossinsin
z
y
x
Replacing in the Euler equations we represent the dynamics as a function of ,,and recallingthat:
0
0
yyxx
z
=+
=
&&
&
from the second equation we obtain:
( ) 0sincossinsincossinsincossincossinsinsinsin
2222
22222222
==+
=++
&&&&&&
&&&&&&&&&&
Since must be constant the following must hold:tcos0 == &&&&
From the first equation we now have:
tcos0 == &&&
h = 3z
y
2
1 xx
-
8/9/2019 ADCS Notes Part1
41/82
Spacecraft Attitude Dynamics and Control Course notes
40
We now have the following expressions:
=
+=
+=
0
00
00
t
t
&
&
We must now calculate the initial values of the derivatives of e , and to do so we make use ofthe first two Euler equations:
0sinsinsinsincossin
0cossinsincossinsin
=
=++
&&&&&
&&&&&
Since the second time derivative of is zero we have:
+=
=
cos
z&
&
=
=
cosI
II
II
z
x
z
z
x
zx
&
&
In our case Iz< Ixand therefore the time derivative of is positive.
Solution of Euler equations in the phase plane ( ),&
Reconsider the Euler equations:
( )( )
( )
=+
=+
=+
0III
0III
0III
xyxyzz
zxzxyy
yzyzxx
&
&
&
If we assume that the external torques are zero, then angular momentum and kinetic energy will be
constant:
consth
const2T
2 =
=
We now look for a method to decouple and solve the three equations, making use of the
conservation laws just mentioned. Starting from the first equation, taking its time derivative, we
have:
0IIIII yzyzyzyzxx =++ &&&&
From the second and third equations we can compute the time derivative of the angular velocity
components, and substitute it in the above equation:
-
8/9/2019 ADCS Notes Part1
42/82
Spacecraft Attitude Dynamics and Control Course notes
41
( ) ( ) 0I
IIII
I
IIIII x
2
z
y
xzyzx
2
y
z
yx
yzxx =
+
+&&
Now we evaluate:
2
yzy
2
xzx
2
y
2
y
2
x
2
xz
2
IIIIIITI2h += so that:
( ) ( )
( ) ( )
y
xzx
2
xz
2
zy
2
y
xzx
2
xz
2
yzy
2
y
I
IIITI2hII
IIITI2hIII
=
=
Substituting in the previous equation, we get to:
( ) ( )( ) ( ) 0I
IIII
I
II
I
II
I
hTI2
I
III x
2
z
y
xzyz
3
x
y
zx
z
yx
x
y
2
z
z
yx
xx =
+
+
+&&
Now evaluate:2
xyx
2
zzy
2
x
2
x
2
z
2
zy
2IIIIIITI2h +=
so that:
( ) ( )
( ) ( )
z
xxy
2
xy
2
yz
2
z
xxy
2
xy
2
zyz
2
z
I
IIITI2hII
IIITI2hIII
+=
+=
Substituting in the previous equation, we get to:
( ) ( )( ) ( ) ( )( )0
I
II
I
II
I
TI2h
I
II
I
II
I
II
I
hTI2
I
III
3
x
z
xy
y
xzx
z
y
2
y
xz3
x
y
zx
z
yx
x
y
2
z
z
yx
xx =
+
+
+
+&&
or:
( )( ) ( )( ) ( )( )0
III
IIIII2
III
TI2hIITI2hII3
x
zyx
xxyxz
x
zyx
y
2
xzz
2
xy
x =
+
++&&
The other two equations are obtained by following the same procedure, simply with a permutation
of all the operation indexes:
( )( ) ( )( ) ( )( )
( )( ) ( )( ) ( )( )0
III
IIIII2
III
TI2hIITI2hII
0III
IIIII2
III
TI2hIITI2hII
3
z
zyx
zzyzx
z
zyx
x
2
zyy
2
zx
z
3
y
zyx
yyxyz
y
zyx
z
2
yxx
2
yz
y
=
+
++
=
+
++
&&
&&
-
8/9/2019 ADCS Notes Part1
43/82
Spacecraft Attitude Dynamics and Control Course notes
42
The three equations all have the same structure:
0QP3 =++&&
Integrating the equation we obtain:
KQ2
1P
422 =++&
that, for the x equation, becomes:
x
2
xxx
2
x
2
x
x
4
xx
2
xx
2
x
KQ2
1P
KQ2
1P
=
++
=++
&
&
The last expression can be considered as a conic section in the phase plane ( ),& . We can evaluatethe sign of each coefficient.
Assuming that Iz> Iy> Ix, we have:
z
2
x IT2
hI 0 Pz ?
Qx> 0 Qy< 0 Qz> 0
Due to the structure of the coefficients, if the angular velocity component is large enough the Q
term will predominate over the P term, while if the angular velocity component is small enough the
P term will predominate over the Q term. Then, in the y phase plane if the angular velocity is large
the conic section will be a hyperbola, if the angular velocity is small the conic section will be an
ellipse. In the x and z phase planes the conic sections are ellipses for large velocities, for smallvelocities the type of conic section is undefined. This is not really important, since in any case, even
for divergent phase plane trace (hyperbola) it is clear that as the angular velocity grows the trace
will change into an ellipse. Notice that in the y phase plane (intermediate inertia phase plane),
should the velocity grow, we would have a diverging motion. This is not possible due to the
conservation of kinetic energy, therefore the conclusion is that in the y phase plane the solution
must be such that the angular velocity is small enough to prevent the trace from being a hyperbola.
x xPx> 0 Px< 0
Qx> 0 Qx> 0
x x
y
y
-
8/9/2019 ADCS Notes Part1
44/82
Spacecraft Attitude Dynamics and Control Course notes
43
Attitude stability
At this stage we can discuss attitude stability with time, starting by the analysis of Euler equations
in case of torque-free motion:
( )( )
( )
=+
=+
=+
0III
0III
0III
xyxyzz
zxzxyy
yzyzxx
&
&
&
There is a distinction between torque-free stability and forced-motion stability. The latter depends
on the type of torque applied, rarely known in a suitable analytical form, therefore we will mostly
concentrate on torque-free stability. To analyze stability the first step consists in evaluating an
equilibrium configuration. This is obtained by imposing zero time derivatives of the system states
and then solving the corresponding system of equations:
( )( )
( )
=
=
=
0II
0II
0II
xyxy
zxzx
yzyz
The solution is found for one single angular velocity component different from zero. This condition
is known as simple spin satellite. Assume, without loss of generality, that the non-zero component
is the z component:
0
0
yx
z
==
Attitude stability of simple spin satellites
To analyze the stability of this condition, we must first write the linearized equations of motion,
considering small perturbations around the equilibrium position:
( )( )( ) yyyy
xxxx
zzz
=+=
=+=
+=
Angular velocity components are now expressed as the sum of the nominal value plus the small
perturbation. In the rest of the analysis, should the assumption of small perturbations hold this will
mean that the condition is stable. Rewriting the equations, the product of two perturbations become
negligible, so that the linearized equations are:
-
8/9/2019 ADCS Notes Part1
45/82
Spacecraft Attitude Dynamics and Control Course notes
44
( )
( )
=
=+
=+
0I
0III
0III
zz
zxzxyy
yzyzxx
&
&
&
The derivative are taken only for the perturbation component of the angular velocity, since thenominal components are constant by definition. The system can now be integrated:
constz=
The perturbation of the z component is therefore constant. For the two remaining equations we can
write:
( )( ) 2z
yx
xzyz2
x
2
x
II
IIII
0
=
=+&&
The solution is then of the general form:ti
x ea =
The condition that guarantees a stable motion, harmonic, is 2> 0, while for 2< 0 the solution isexponentially diverging, so unstable.
The condition for stability is verified when:
xzyzxzyz2
IIandIIorIIandII0 >
that means that Izmust be either the maximum or the minimum inertia moment.
Stability of simple spin satellites with energy dissipation
Now we look at how the two previous stability conditions are changed due to presence of energy
dissipation, that is:
tcosh
0T
=
-
8/9/2019 ADCS Notes Part1
46/82
Spacecraft Attitude Dynamics and Control Course notes
45
maxzminz IITT >
Therefore, in case of energy loss, the satellite will tend to the motion condition that has the
minimum energy, rotating around the maximum inertia axis.
The only stable condition, with the usual assumptions on the inertia moments, is then:
xyz III >>
We can now analyze how the satellite reorients itself from a generic motion condition to the stable
one. For simplicity we take the case of axial symmetric satellite.
h
Izz
Inn
We take as reference a rotating system, whose plane n-z includes the three vectors ,z and h. Thisreference is also principal inertia, and vector h has only 2 components, along the two axes n and z:
2
nn
2
zz
2
n
2
n
2
z
2
z
2
IIT2
IIh
+=
+=
The energy loss can be represented as:
0I2I2T2 nnnzzz
-
8/9/2019 ADCS Notes Part1
47/82
Spacecraft Attitude Dynamics and Control Course notes
46
00
00
0
zz
zz
zz
>
-
8/9/2019 ADCS Notes Part1
48/82
-
8/9/2019 ADCS Notes Part1
49/82
Spacecraft Attitude Dynamics and Control Course notes
48
( )
( )
=++
=++
0KnK1n
0Kn1Kn
yy
2
xyy
xx
2
yxx
&&&
&&&
where the coefficients Kxand Kyare non-dimensional and always in the range between 1 and +1:
y
xz
y
x
yz
x
I
IIK
I
IIK
=
=
To evaluate the stability we can take the Laplace transform of the system, and analyze the
characteristic polynomial:
( ) ( )( ) ( )
( )
( )
=
+
+
0
0
s
s
nKsK1sn
1KsnnKs
y
x
2
y
2
y
x
2
x
2
The roots of the characteristic polynomial must have non positive real part in order to have a stable
system:
( )[ ]
( )( ) ( )( )
( )( )( )
( )
( ) 0KKnKK1sns
0KKnKKKK1KKsns
0KKnK1K1nKnKnss
01KK1nsKnsKns
0sAdet
yx
4
yx
224
yx
4
yxyxyx
224
yx
4
xy
2
y
2
x
224
xy
22
y
22
x
22
=+++
=+++++
=++++
=++
=
For stability, s2cannot be real or complex, since in this case its square root will correspond to two
complex numbers with phase difference equal to , so one will have positive real part. The onlystable condition will then be s
2
=>
Since n2 is positive, it is possible to solve the characteristic equation for the variable n
2s
2, so the
stability conditions are written as:
( ) ( )
( ) ( ) 0KKKK1KK1
0KK10KK4KK1
yx
2
yxyx
2
yxyx
2
yx
>>+
>>+
The first condition is trivial, so the second is the real stability condition, that is transformed into:
yz
xz
II
II
>
> or
yz
xz
II
II
>
we have two inequalities whose solution depends on Irand r :
( )
( )
>+
>+
0III
0III
rrzxz
rrzyz
For given rrz I,, we can evaluate the conditions on Ix, Iy, Iz that guarantee stability. This is
normally not the best way to look at the problem, since in general we want to analyze stability for
-
8/9/2019 ADCS Notes Part1
52/82
Spacecraft Attitude Dynamics and Control Course notes
51
given z , Ix, Iy, Iz, evaluating the conditions on Ir and r . So, normally we evaluate the
characteristics of the rotor that guarantee the stability of the overall system. If 0z = then the
system is stable for any r , while if 0r = we have the same result of the simple spin satellite.
The most interesting case is the general case, for which stability holds if:
( )
( )
-
8/9/2019 ADCS Notes Part1
53/82
Spacecraft Attitude Dynamics and Control Course notes
52
rsnnnrrrzzz
nnnrrrzzz
2
nn
2
rr
2
zz
TTIIIT
I2I2I2T2
IIIT2
&&&&&&
&&&&
+=++=
++=
++=
We can evaluate an equivalent angular velocity as:
( )
( )
( ) ( )errrezzzrs
rrzzennn
n
rrzze
IITT
0h2hsinceIII
I
II
+=+
=+=
+=
&&&&
&&&&
It is an arbitrary distribution of the energy loss, with the first term relative to the satellite and the
second relative to the rotor:
zzzs IT = && misalignment of h
rrrr IT = && viscous energy loss due to the relative velocitywith:
( )
( )err
ezz
=
=
We therefore have:
+
=
r
r
z
s
ennn
TTI
&&
&
Now, evaluate angle :
h
hsin n=
Taking the time derivative:
+=
+=
=
+
=
+
=
=
+
=
+
=
=
+
===
=
r
r
z
s
r
r
z
s2
en
2r
r
z
sen
r
r
z
sen
n
r
r
z
sen
nn
r
r
z
sen
n
r
r
z
se
n
nnnnn
nn
T
TA
T
T
2sinh
2I
2sinh
T
T2I
hsincosh
T
TI
hcosh
T
TI
Icosh
T
TI
cosh
T
T
cosh
I
cosh
I
h
Icos
&&&&
&&&&
&&&&
&&
&&&
&&
since:
20
-
8/9/2019 ADCS Notes Part1
54/82
Spacecraft Attitude Dynamics and Control Course notes
53
therefore ( ) 0sin > and where A > 0.
For stability we should have 0
+
&&
Assuming the contribution of the nominal value of h is given mostly by the presence of the rotor,
that is:
zzrr II >>
we then have:
n
rrrr
n
rr
n
rrzz
n
rre
II
I
I
I
I
I
I
=
=
=
In the case Ir>> In(case only theoretical, since this would imply a rotor bigger than the satellite):
>
&&
In general, the rotor energy loss can be tuned with some viscous damping mechanism. Notice that
now we have a condition that is no longer purely geometrical. In fact, in the case 0r=& , then the
rotor will show no energy loss and rT& would be zero, so that even with energy loss in the satellite
the system would be unstable. Therefore the rotor should generate some energy loss to ensurestability.
Stability diagrams
We can now take a look at a few diagrams, known as canonical representations, used to evaluate
attitude stability of satellites.
-
8/9/2019 ADCS Notes Part1
55/82
Spacecraft Attitude Dynamics and Control Course notes
54
Let consider a plane including the three points on the axes at unit distance from the origin,
represented by the equation:
1CBA =++
or, defining:
zyx
z
zyx
y
zyx
x
III
IC;
III
IB;
III
IA
++=
++=
++=
1I
I
I
I
I
I zyx =++
Connecting the three mid points on the sides of the triangle, we form a second triangle (a,b,c) that
includes all the possible combinations of inertia moments.
In fact, the following holds:
- In point a: Ix = 0 and Iy= Iz- In point b: Iy = 0 and Ix= Iz- In point c: Iz = 0 and Iy= Ix
Along the bisectors two inertia moments are equal:
- Along the bisector from a: Iz= Iy- Along the bisector from b: Iz= Ix- Along the bisector from c: Ix= Iy
At the intersection of the three bisectors the three inertia moments are all equal.
C
1 b a
b a
1 B
1 c c
A
-
8/9/2019 ADCS Notes Part1
56/82
Spacecraft Attitude Dynamics and Control Course notes
55
Iy= 0 Ix= 0
Iz>Ix>Iy Iz>Iy>Ix
Stability area of simple
spin satellites with energy loss
Ix>Iz>Iy Iy>Iz>Ix
+ Stability area of simple spin
satellites with no energy loss Ix>Iy>Iz Iy>Ix>Iz
Iz= 0
Alternatively, through a simple change of variables, it is possible to represent in the same way the
plane as a function of Kx, Ky, Kz, in fact:
z
xy
z
y
xzy
x
yzx
I
IIK
I
IIK
IIIK
=
=
=
It is then possible to reduce the representation to the Kx Ky plane. In this case, typically the
coefficients are renamed as Kp, Kr, and Ky, where the correspondence with the previously defined
Kx, Ky, and Kzcoefficients is:
Kx= Ky Yaw
Ky= Kr Roll
Kz= Kp Pitch
Ky1 Kp= 0
Kp0
-1 Izmax 1
Kr
Izmin
-1
-
8/9/2019 ADCS Notes Part1
57/82
Spacecraft Attitude Dynamics and Control Course notes
56
It is possible to see that:
xryyyx
xryzxzry
yyxzyzyx
IKIIKI
IKIIIIKI
IKIIIIKI
+=+
+==
+==
Therefore:
( ) ( )1KI
I1K r
x
y
y =
If Iy > Ixwe then have Kp> 0, (Kr - 1) < 0, (Ky - 1) < 0, so that ( ) yrry KK1K1K >+=
>+=
z
r
y
rr
z
r
x
ry
I
IK
I
IK
>
>
If the satellite angular velocity and the rotor angular velocity have the same sign, the stability region
is increased as shown in the figure.
-
8/9/2019 ADCS Notes Part1
58/82
Spacecraft Attitude Dynamics and Control Course notes
57
Simple spin
Dual spin
If the angular velocity of satellite and rotor have opposite signs, then the stability region is reduced.
-
8/9/2019 ADCS Notes Part1
59/82
Spacecraft Attitude Dynamics and Control Course notes
58
Disturbing torques
Now we can analyze the disturbing torques that act on the satellite:
M Dynamics Kinematics
Start with the torque due to gravity gradient:
Gravity gradient torque
The gravity field is not uniform, therefore there could be a torque acting on the satellite. This is
mainly true for large satellites, and even if the resulting torque is small the effect can be
considerable due to the long time of action.
Z=PitchY=Roll X=Yaw
r
dm
f
R
We can evaluate the torque generated by the elementary force f, due to the gravity acting on the
elementary mass dm:
( )
( ) ++
=
++
=
B
3
t
3
t
dmrRrR
GmrM
rRrR
dmGmrdM
r is much smaller than R, therefore it can be considered as a perturbation:
-
8/9/2019 ADCS Notes Part1
60/82
Spacecraft Attitude Dynamics and Control Course notes
59
( )
( )
=
=
+
++=++=+
2
3
22
53
2
3
23
2
3
22
232
3223
R
rR31Rr
R
rR21
2
31R0ratexpansionseriesthetaking
R
rR21R
R
rR2
R
r1RrR2rRrR
Then:
( ) +
=
B
23
t dmrRR
rR31r
R
mGM
If the reference system has origin in the center of mass:
( ) ( ) ( ) 0SRdmRrrrdmRrr 0==+=+ so that:
( ) ( )( ) +=+
=
B
5
t
B
23
t dmrR3rRrRmGdmrR
RrR3r
RmGM
Finally, we get to:
( )( ) =B
5
t dmRrRrR
mG3M
Taking as reference system the LVLH frame (x-yaw, y-roll, z-pitch), we have:
iRR
kzjyixr
=
++=
So that:
( ) ( ) ( ) ( )kIjIR
mG3dmkxyjxz
R
mG3dmkyjzx
R
mG3RdmkyjzRx
R
mG3M xyxz3
t
B
3
t
B
3
t
B
5
t +====
We therefore have a torque with components in roll and pitch, and in case one principal axis is
aligned with the yaw axis then the torque will vanish, since in this case Ixz e Ixy are zero.
Furthermore the torque is inversely proportional to the third power of the distance from the
attracting body (Earth).
In order to evaluate the effect of the torque on the satellite dynamics, this has to be evaluated in the
principal axis frame and inserted in the Euler equations.Taking as reference the principal inertia axes, the expression of r does not change but:
)kcjcicRR 321 ++=
where c1, c2, c3are the direction cosines of the radial direction in the principal axes. Then:
-
8/9/2019 ADCS Notes Part1
61/82
Spacecraft Attitude Dynamics and Control Course notes
60
( )
++=B
12
31
23
3213
t dm
ycxc
xczc
zcyc
zcycxcR
mG3M
Evaluating all the terms under the integral sign, considering that the reference is principal inertia,
we have:
( )( )( )
( )( )
( )
=
= 21xy
31zx
32yz
3
t
B
21
22
31
22
32
22
3
t
ccII
ccII
ccII
R
mG3dm
ccyx
ccxz
cczy
R
mG3M
Therefore if one of the principal axes is aligned with the radial direction the torque is zero because
only one of the direction cosines is non-zero.
Stability of simple spin satellites subject to gravity gradient torque
In this case the Euler equations become:
( ) ( )
( ) ( )
( ) ( )
=+
=+
=+
12xy3
txyxyzz
31zx3
tzxzxyy
23yz3
tyzyzxx
ccIIR
Gm3III
ccIIR
Gm3III
ccIIR
Gm3III
&
&
&
This torque is generated by the same force field that causes the orbital motion, so it is actingcontinuously, and it depends on the attitude of the satellite (the orientation of the radial direction in
the principal inertia frame). We can introduce a set of three small Euler angles to define the relative
orientation of the principal axes and the LVLH frame:
=
+
=
0
0
1
1
1
1
c
c
c
n1
1
1
xy
xz
yz
3
2
1
z
y
x
xy
xz
yz
z
y
x
&
&
&
In this way we can write the system dynamics as a function of the Euler angles and their
derivatives, including the gravity gradient torque that now becomes an integral part of the system
dynamics. Assuming that n is equal to one rotation per orbit, then:
-
8/9/2019 ADCS Notes Part1
62/82
Spacecraft Attitude Dynamics and Control Course notes
61
3
t
3
2
22
22
R
Gm
R
K
R
K
R
1
R
Vn ==
==
Therefore, in case of circular orbit, the attitude dynamics including gravity gradient becomes:
( ) ( )( ) ( )
( ) ( )
=+
=+
=+
12xy
2
xyxyzz
31zx
2
zxzxyy
23yz2
yzyzxx
ccIIn3III
ccIIn3III
ccIIn3III
&
&
&
where n is the nominal angular velocity along the orbit.
In this set of equations we have a twofold coupling between angular velocities and angles. Attitude
is represented by the direction cosines c1, c2, c3.
Assuming the principal inertia axes are sufficiently close to the corresponding axes of the LVLH
frame, we can write:
Y
Z X
=
+
=
0
0
1
1
1
1
c
c
c
n11
1
xy
xz
yz
3
2
1
z
y
x
xy
xz
yz
z
y
x
&
&
&
We can now substitute angular velocities and direction cosines with the corresponding terms
depending on angles and their derivatives. Neglecting the terms that include two angles or
derivatives (small terms) we get to the linearized form:
( ) ( )( ) ( ) ( )
( )
=
=+++
=++
zxy
2
zz
yzx
2
y
2
xzxzyxyy
x2
yzyxyzxx
IIn3I
IIn3nIInIIII
0nIInIIII
&&
&&&
&&&
That can be simplified into:
-
8/9/2019 ADCS Notes Part1
63/82
Spacecraft Attitude Dynamics and Control Course notes
62
( ) ( )
( ) ( )
( )
=+
=+++
=++
0IIn3I
0IIn4nIIII
0nIInIIII
zxy
2
zz
yxz
2
xzyxyy
x
2
yzyxyzxx
&&
&&&
&&&
The third equation is decoupled from the first two. We can now look at the stability of the system.
Starting from the z axis, the stability condition is:
Iy> Ix therefore Kp> 0 => Kr> Ky
KyPitch instability
Kr
Consider now the first two equations. Divide the first by Ixand the second by Iy:
( )
( )
=++
=++
0nK4nK1
0nKn1K
y
2
rxry
x
2
yyyx
&&&
&&&
The characteristic equation is:
( )( ) ( ) ( )[ ]( )
( ) 0KKn4KKK31sns
0KKn4KKKK1K4Ksns0K1ns1KnsKn4sKns
yr
2
yrr
224
yr
2
yryrry
224
ryr
22
y
22
=++++
=+++++=++
The conditions for stability are:
( )0KK
K16KKK3K1
04cb
02
4cbb
0c
0cbxx
yr
yr2
yrr
2
2
2
>
>++
>
=++
That is:
-
8/9/2019 ADCS Notes Part1
64/82
Spacecraft Attitude Dynamics and Control Course notes
63
>
>++
0KK
KK4KKK31
yr
yryrr
The presence of gravity gradient therefore reduces the stability region. In detail, the first condition
can be analyzed by evaluating a few solutions for particular values of coefficient Ky:
K4KK31KK
K4K211K
3
1K0K
2
ry
rry
ry
=++=
=+=
==
1 Ky
7 8
1
-1 6 6 1 Kr5 2
4 3
-1
The unmarked regions represent the stable regions. In fact, in region (1) we have:
Iz> Iy> Ix Ip> Ir> Iy always
In region (2) we have:
Iy> Ix> Iz Ir> Iy> Ip limited by the additional curve
In the remaining regions we have some kind of instability. In regions (3) and (4) we have yaw and
roll instability, in regions (5) and (7) yaw, roll and pitch instability while in regions (6) and (8) only
pitch instability. Furthermore in region (8) we have Ip> Iy> Irwhile in region (7) Iy> Ir> Ip.
Now assume we have an orbiting satellite with three different inertia moments as in the following
figure:
-
8/9/2019 ADCS Notes Part1
65/82
Spacecraft Attitude Dynamics and Control Course notes
64
Im IM
II
Im= I minimumIM= I maximum
II= I intermediate
To have stability identified by the region (1), the satellite must be oriented in orbit as follows:
IM II Im
To have stability identified by the region (2) instead orientation must be:
Im
IM
II
In order to stabilize a generic configuration, we can have one mass positioned at an appropriate
distance from the main body