Vous êtes sur la page 1sur 70

S ATELLITE ATTITUDE S TABILIZATION

WITH TWO C ONTROL T ORQUES


- A PRESTUDY -

T ERM P ROJECT
FALL 2003

YVIND H EGRENS

D EPARTMENT OF E NGINEERING C YBERNETICS


N ORWEGIAN U NIVERSITY OF S CIENCE AND T ECHNOLOGY

Preface

The work presented in the following is the result of a term project, carried out in the 9th
semester of the Master of Science program at the Norwegian University of Science and Technology, NTNU, Department of Engineering Cybernetics. Even though the report is self-standing
by itself, it should be considered a prestudy of a potential procedure of achieving complete
three-axis stabilization of an underactuated satellite. At the time of writing the problem is still
unsolved in the literature.
I would like to thank my supervisor Professor Kristin Y. Pettersen and advisor Assistant Professor Jan Tommy Gravdahl for their support,valuable advice and interesting discussions during
this work.

yvind Hegrens
Trondheim 2003-11-28

ii

Abstract

The topic of this report is attitude stabilization of an underactuated rigid satellite. Underactuated mechanical systems are characterized by the fact that there are more degrees of freedom
than actuators. In our case, the satellite has three degrees of freedom, but only two available
actuators. The problem is interesting both from a practical and theoretical point of view and
has received much attention in the last decades.
The spacecraft is modelled as an ideal rigid body and various topics within spacecraft and
astrodynamics are included to provide a thorough insight in how the model is derived. To
represent its attitude, the relatively new (w, z)-parametrization is utilized. By means of its
properties, it is very interesting for the attitude control problem. It is a minimal and compact
parametrization with the singularity moved as far away from the origin as possible, and the
motion of the z-axis is decoupled from the rest of the system.
It is shown that the underactuated satellite model fails to satisfy Brocketts necessary condition, hence it can not be asymptotically stabilized by means of a continuous time-invariant
pure-state feedback. This is also shown to be applicable for the discontinuous case as well.
Solving the complete three-axis stabilization problem for an underactuated rigid spacecraft
is still an open problem in the literature. A novel approach is proposed, but unlike preceding
work, a strategy utilizing theory related to nonlinear systems in cascades is exploited. Together
with well known methods like Lyapunov design and backstepping, the proposed strategy seems
highly potential, and hopefully it will make a contribution in the problem of achieving complete three-axis stabilization in sense of an underactuated satellite. The proposed approach aim
toward the rather ambitious goal of achieving global uniform asymptotic stability (GUAS) for
the closed-loop system.

Keywords: (w, z)-parametrization; spacecraft and astrodynamics; controllability; stabilizability; cascaded systems; attitude control

iv

Contents

Preface

Abstract

iii

Introduction
1.1 A real-life scenario: An example
1.2 Nonholonomic systems . . . . .
1.3 Previous work . . . . . . . . . .
1.4 Outline of the report . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

1
1
2
2
4

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Attitude parameterizations
2.1 The rotation matrix . . . . . . . . . . . . . . . . . . . . .
2.1.1 Kinematic differential equation . . . . . . . . . .
2.1.2 Attitude deviation . . . . . . . . . . . . . . . . . .
2.2 Euler parameters . . . . . . . . . . . . . . . . . . . . . .
2.3 Rodrigues parameters . . . . . . . . . . . . . . . . . . . .
2.3.1 The classical Rodrigues parameters . . . . . . . .
2.3.2 The modified Rodrigues parameters . . . . . . . .
2.4 The (w, z) parametrization . . . . . . . . . . . . . . . . .
2.4.1 Parametrization of the rotation matrix R SO(3)
2.4.2 Kinematic differential equations . . . . . . . . . .
2.4.3 Properties . . . . . . . . . . . . . . . . . . . . . .
2.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

5
. 5
. 6
. 6
. 7
. 7
. 7
. 8
. 9
. 9
. 12
. 14
. 14

.
.
.
.
.

.
.
.
.
.

15
15
15
17
22
25

Model and control properties of an underactuated satellite


4.1 Satellite model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Controllability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Stabilizability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27
27
30
31

Spacecraft and astrodynamics


3.1 Attitude dynamics . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Newton-Euler equations of motion for rigid bodies
3.1.2 Disturbance torques . . . . . . . . . . . . . . . .
3.1.3 Control torques and actuators . . . . . . . . . . .
3.2 Celestial mechanics . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

vi

CONTENTS

4.4
4.5

Investigation of the underactuated dynamics . . . . . . . . . . . . . . . . . . . 32


Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

A cascaded approach to stabilization


33
5.1 Stability in cascaded systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 The underactuated satellite - a cascaded approach . . . . . . . . . . . . . . . . 37
5.3 Control design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Conclusions
43
6.1 Further work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Bibliography
A Theory
A.1 Mathematical preliminaries . . . . . . . . . . . . .
A.2 Lyapunov stability . . . . . . . . . . . . . . . . .
A.3 Strict Lyapunov functions for time-varying systems
A.4 Controllability . . . . . . . . . . . . . . . . . . . .
A.5 Stabilizability . . . . . . . . . . . . . . . . . . . .

45

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

49
49
50
50
51
53

B Newton-Euler equations of motion


55
B.1 Translational motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
B.2 Angular motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
B.3 Model summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
C Mathematica printouts

59

Chapter 1

Introduction

Control of underactuated mechanical systems has attracted many researchers in recent years.
This is due to their broad range of applications and the theoretical problems they have to offer. Many real-life mechanical systems including aircrafts, helicopters, spacecrafts, underwater
vehicles, surface vessels, mobile robots, walking robots, and flexible systems are examples of
underactuated systems. Formally, underactuated mechanical systems are systems that have
fewer actuators than configuration variables (degrees of freedom). The restriction of the control makes the control design of these systems rather complicated.
The topic of this report is to establish and investigate a reasonable model of an underactuated satellite, and then finally propose a control strategy with hopes of obtaining complete
attitude stabilization about the satellites three principal axes. The system to be studied has
three degrees of freedom but only two available actuators, which makes it an underactuated
system. The motivation for studying this problem is both practical and theoretical. Usually an
actuator failure is handled by incorporating redundancy in the design. The disadvantage of this
approach is higher weight and a more complicated mechanical system. Especially for small
spacecrafts these factors may be crucial. An alternative is to use more complicated controllers
that manage to achieve the control objectives with only two actuators. From a theoretical point
of view the stabilization of an underactuated system is a challenging problem. Many interesting
control theoretical questions have to be answered and the problem by itself is highly nonlinear.

1.1

A real-life scenario: An example

At the time of writing a Norwegian micro-satellite named NSAT-1, initiated by the Norwegian
Defence Research Establishment (FFI), is being planned. The satellite is to be used for maritime surveillance, and will give frequent coverage of Norwegian Ocean areas.
During a pass over Norwegian waters a passive receiver antenna onboard the satellite will
detect signals from active X-band radars from the vessels underneath. Based on the Angle of
Arrival (AOA) of the signals and pulse parameters, advanced onboard algorithms are used to
determine geographic position of the radar, and thereby the vessel holding it. This is known as
geolocation (Narheim et al., 2001). The author has been fortunate to have participated in the
study and specification phase for the particular satellite.

Introduction

From the mission described above it is obvious that the required accuracy must be high, and
the satellite platform should be able to obtain any desired attitude and remain in the same configuration. This should also be the case when different torque perturbations or disturbances are
present. Disturbances and perturbations are to be discussed subsequently. Since the receiver
antenna onboard needs to be oriented in a fixed direction, hence being able to detect radar signals in a particular observation area, complete 3-axis stabilization is desired.
To obtain the required performance for the system above, in terms of stability, it would be
desired to find a controller that globally uniformly asymptotically (GUAS) stabilizes the attitude configuration for the satellite. If possible, locally uniformly exponentially stability is
preferred, since this gives better convergence rate. If globally uniformly exponentially stability
was to be obtain, this gives strong robustness properties as well.

1.2

Nonholonomic systems

As mentioned earlier, control of underactuated mechanics systems has been a very active topic
of research during the last decades. The research on underactuated systems is a continuation
on the research on nonholonomic systems, as many underactuated systems are subject to nonholonomic constraints. Nonholonomic constraints can be divided into first-order and secondorder nonholonomic constraints. First-order constraints are non-integrable constrains on the
form (q, q)
= 0, where q and q are generalized coordinates and velocities. Second-order constraints are on the form (q, q,
q) = 0, and constrain the acceleration of the system. A common
property of nonholonomic systems is that they can not be stabilized by a pure time-invariant
state feedback. This will later be shown to be the case for our system as well. An excellent
introduction to nonholonomic systems can be found in Kolmanovsky and McClamroch (1995).
The number of publications on nonholonomic and underactuated systems is extensive. In the
next section some of the most interesting publications concerning underactuated spacecrafts
are presented.

1.3

Previous work

There exist numerous research articles on the problem of attitude stabilization of spacecrafts.
Most of these deals with the case of complete control actuation using either reaction wheels,
thrusters or magnetic actuators. Some contributions from Scandinavian scientist are for instance Egeland and Godhavn (1994), Dalsmo and Egeland (1997), Skullestad and Gilbert
(2000) and Wisniewski and Blanke (1999). The following summary is taken from Fauske
(2002), and gives an overview of some of the most interesting publications concerning underactuated spacecrafts.
The angular velocity control of a rigid body with only one or two controls has been studied
extensively in the literature. The issue of feedback stabilization of the angular velocities has
been solved using various approaches. In Brockett (1985) it was shown by finding a Lyapunov
function, that the null solution of the angular velocity equations is asymptotically stabilizable
by two control torques aligned with two principal axes if the uncontrolled axis is not an axis
of symmetry. The angular velocity of a rigid body can in fact be asymptotically stabilized by
smooth feedback with a single control as long as the control is not aligned with a principal axis

1.3 Previous work

(Aeyels and Szafranski, 1988).


Stabilization of the angular velocities of a symmetric rigid body is addressed in Andriano
(1993) and Outbib (1994). It is shown that that the angular velocities can be globally stabilized
by means of linear feedback when two control torques act on the body. In Reyhanoglu (1996)
it is shown that the angular velocity equation of a rigid body with two control torques cannot
be exponentially stabilized using a C 1 feedback. Discontinuous feedback laws are proposed
that achieve asymptotic stability with exponential convergence rate.
In Mazenc and Astolfi (2000) the problem of semi-global stabilization of the angular velocity
of an underactuated rigid body in the presence of model errors is addressed and solved using
a smooth, time-varying, dynamic, output feedback control law. Robustness is also addressed
in Morin (1996), where homogeneity properties of the system are exploited, and in Astolfi and
Rapaport (1997). For more references on stabilization of the angular velocity of a rigid body
refer to Tsiotras and Doumtchenko (2000) and references therein.
The more difficult problem of feedback stabilization of both the the angular velocities and
attitude equations has also received much attention. One of the earliest investigations of the
attitude control problem was done in Crouch (1984), where necessary and sufficient conditions
for the controllability of a rigid body in the case of one, two and three independent control
torques was provided. In the case of momentum exchange devices it was shown that controllability is impossible with fewer than three devices.
In Byrnes and Isidori (1991) the longstanding problem concerning the existence of a timeinvariant smooth state feedback locally asymptotically stabilizing an underactuated rigid spacecraft was settled in the negative. However stabilization about an attractor is possible, inducing
a closed-loop system with trajectories tending to a revolute motion about a principal axis. A
discontinuous control strategy was suggested in Krishnan et al. (1994). By switching between
various controllers a sequence of maneuvers were performed that stabilized the spacecraft to
any equilibrium attitude in finite time.
An article by Samson (1991) triggered the discovery that many systems that can not be stabilized by continuous state-feedback can in fact be stabilized by smooth time-varying feedback.
A locally stabilizing smooth time-varying feedback was derived in Morin et al. (1995) by using
center manifold theory combined with averaging and Lyapunov techniques. However, due to
the smoothness of the control laws, the rate of convergence is only polynomial in the worst
case. Similar results where derived in Coron and Kera (1996) for the general case of torques
that are not aligned with the principal axes of the satellite.
A stronger result was achieved in Morin and Samson (1997) where the attitude of the underactuated rigid spacecraft was locally, exponential stabilized with respect to a given dilation.
The controller was periodic, time varying and non-differentiable at the origin and the construction relied on the properties of homogeneous systems.
For the axi-symmetric rigid body there exist a wide range of results. However, stabilization
is only possible for the restricted case of zero spin rate about the unactuated axis. Spinstabilization with two control torques is addressed in Tsiotras and Longuski (1994) based on a

Introduction

new formulation for the attitude dynamics. The new attitude formulation, described in Tsiotras
and Longuski (1995), was subsequently used in Tsiotras et al. (1995) and Tsiotras and Luo
(1996) to derive a time-invariant discontinuous control law that achieves arbitrary reorientation
of the spacecraft. Due to the properties of the new parameterization, the control laws derived
were especially simple and elegant. In a more recent paper Tsiotras and Luo (2000), saturated
tracking and stabilization laws were developed for the underacutated axi-symmetric rigid body
under the assumption of zero spin rate. Another time-varying tracking law was developed in
Behal et al. (2002) using a Lyapunov-based approach and by exploiting several characteristics
of the quaternion attitude formulation. The spin rate was not required to be zero, however the
spacecraft could only be driven to an arbitrarily small neighborhood of the origin.
The topic of feasible trajectory generation for the underactuated spacecraft has not received
much attention. An exception is Tsiotras and Luo (2000) where feasible trajectories are generated for the axi-symmetric rigid body using the notion of differential flatness.
For an excellent overview of developments within actuator failures and control of underactuated spacecraft the reader is referred to Tsiotras and Doumtchenko (2000) and references
therein. This papers also addresses problems that are still to be solved.

1.4

Outline of the report

The report is organized as follows:


Chapter 2: Different parameterizations of the attitude and their properties are described,
with an emphasis on the relatively new (w, z) parametrization.
Chapter 3: An introduction to spacecraft dynamics, actuators and astrodynamics is
given. The satellite model to be used later is derived based on the theory in this chapter.
Chapter 4: A complete model of an underactuated satellite is presented and some important control properties are discussed.
Chapter 5: Some theory regarding cascaded nonlinear systems, and how systems can
be transformed into this structure is given. A cascaded version of the satellite model
derived in Chapter 4 is suggested. A promising control strategy for complete attitude
stabilization is proposed, and some properties are discussed in detail.
Chapter 6: Conclusions and recommendations for further work are given.
Appendix A: Some mathematical preliminaries, including some important inequalities,
general nonlinear control theory, construction of strict Lyapunov functions, and controllability and stabilizability of nonlinear systems.
Appendix B: Newton-Euler equation of motion for a rigid body.
Appendix C: Different prints of Mathematica calculations for doing controllability and
stabilizability analysis.

Chapter 2

Attitude parameterizations

Rigid body dynamics is important for a wide range of control applications, and is essential in
robot control, ship control, control of aircraft and satellites, and vehicle control in automotive
systems. In the case of describing the dynamics of a rigid spacecraft, Eulers equations of motion are commonly used to provide a complete and well defined framework. For the kinematics
the situation is different, due to the fact that the rotation matrix, which describes the relative
orientation between two reference frames, can be parameterized in more than one way. Which
parametrization to use is clearly dependent on the problem to be solved. This chapter gives
an overview of different attitude parameterizations and describes in detail the relatively new
(w, z) parametrization. The latter is to be used throughout this report.
A possible choice of attitude parametrization is the classical Euler angles, which are commonly used in naval and aerospace control problems. However, the use of Euler angles in the
equations of motion may introduce complicated nonlinear expression with inherent singularities. They are therefore not considered in this report.

2.1

The rotation matrix

The rotation matrix, also called the direction cosine matrix, has three interpretations:
Describes the mutual orientation between two coordinate frames, where the column vector are cosines of the angles between the two frames.
Transforms vectors represented in one reference frame to another.
Rotates a vector within a reference frame.
The rotation matrix R from frame a to frame b is denoted Rab . A matrix R is a rotation matrix
if and only if it is an element of the set denoted by SO(3), that is,


SO(3) = R R33 : RT R = I and det R = 1 ,

(2.1)

where I is the 3 3 identity matrix.


A useful parametrization of the rotation matrix is the angle-axis parametrization corresponding
to a rotation R about a unit vector k R3 . Rodrigues formula (Murray et al., 1994) gives

Attitude parameterizations

R(k, ) = I + S(k) sin + S2 (k)(1 cos )

(2.2)

S() is a skew-symmetric matrix operator and member of the set denoted by so(3), that is,


so(3) = S R33 : ST = S

(2.3)

In coordinate vector notation we introduce the skew-symmetric form of the vector defined by

0
z y
0
x ,
= S() = z
y x
0

2.1.1


x
= y
z

(2.4)

Kinematic differential equation

From the properties of SO(3), it can be shown that the kinematic differential equation for the
rotation matrix can be given by the two alternative forms (Egeland and Gravdahl, 2002)
a = ( a ) Ra
R
b
ab
b

b
a
a

R
b = Rb (ab )

(2.5a)
(2.5b)

a is the instantaneous angular velocity of frame b relative to frame a as seen from the
where ab
b is the angular velocity of frame a relative to frame b as seen from the b
a frame. Similar, ab
frame. Using (2.4) we can rewrite (2.5) as

a = S( a )Ra = Ra S( b )
R
ab
b
b
ab
b

2.1.2

(2.6)

Attitude deviation

Let the frame a define a reference orientation and let frame b be a body fixed frame. Then the
rotation matrix R , Rab will describe the orientation of the body. Suppose that the desired
orientation of the body is given by a rotation matrix Rd .
In the case of rotation matrices it does not make sense to subtract Rd from R as the result
would not be a valid rotation matrix. Instead the deviation between the desired and the actual
a SO(3) defined by
orientation is described by the rotation matrix R
a , RRT
R
d

(2.7)

It can be shown (Egeland and Gravdahl, 2002), by using composite rotations, that the kinematic differential equations for the attitude deviation can be calculated as
a = a da

d
a
a ) R
Ra = (
dt
a = I.
Clearly, from (2.7) we se that when R Rd R

(2.8a)
(2.8b)

2.2 Euler parameters

2.2

Euler parameters

The Euler parameters, also called unit quaternions, are attractive due to their nonsingular
parametrization and linear kinematic differential equations if the angular velocities are known.
The quaternion representation requires much less computations than for instance the Euler
angles representation, and is therefore useful in applications where computer resources are
limited.
The Euler parameters are defined in terms of the angle-axis parameters and k, briefly discussed in regards to equation (2.2). The mapping is defined as

= cos ,
2

 = k sin

(2.9)

which gives the corresponding rotation matrix


R(, ) = I + 2S() + 2S2 ()

(2.10)

It is found in Egeland and Gravdahl (2002) that the derivatives of the Euler parameters can be
given as functions of the angular velocity, which gives the kinematic differential equations
1
= T
2
1
 =
[I + S()]
2

(2.11a)
(2.11b)

In component form (2.11) can be written as


1
= (1 1 + 2 2 + 3 3 )
2
1
(1 3 2 + 2 3 )
1 =
2
1
2 =
(3 1 + 2 1 3 )
2
1
3 =
(2 1 + 1 2 + 3 )
2

2.3

(2.12a)
(2.12b)
(2.12c)
(2.12d)

Rodrigues parameters

The classical and modified Rodrigues parameters can be interpreted as the coordinates resulting
from a stereographic projection of the four-dimensional Euler parameter hypersphere onto a
three-dimensional hyperplane (Schaub et al., 1995). The difference between them is how the
projection point and mapping hyperplane is chosen.

2.3.1

The classical Rodrigues parameters

The classical Rodrigues parameters can be derived from the Euler parameters with the transformation

q=
(2.13)

Combining (2.13) and (2.9) yields

q = k tan
(2.14)
2

Attitude parameterizations

Clearly, the classical Rodrigues parameters have a singular condition for = , where |q|
. The kinematic differential equation is derived from (2.11)
q =

d 
 

=
2
dt

(2.15)

which gives the quadratic nonlinear differential equation for the kinematics, that is
q =


1
I + S(q) + qqT
2

(2.16)

In component form (2.16) can be written as


q1 =
q2 =
q3 =


1
(1 + q12 )1 + (q1 q2 q3 )2 + (q1 q3 + q2 )3
2

1
(q1 q2 + q3 )1 + (1 + q22 )2 + (q2 q3 q1 )3
2

1
(q3 q1 q2 )1 + (q3 q2 + q1 )2 + (1 + q32 )3
2

(2.17a)
(2.17b)
(2.17c)

Unlike the Euler parameters, the Rodrigues parameters are numerically unique. They uniquely
define a rotation on the open range of (, ). As is evident in equation (2.13), reversing the
sign of the Euler parameters has no effect on the q.

2.3.2

The modified Rodrigues parameters

The modified Rodrigues parameters can be derived from the Euler parameters with the transformation

=
(2.18)
1+
Combining (2.13) and (2.18) yields

= k tan .
4

(2.19)

Clearly the the modified Rodrigues parameters have a singular condition for = 2, which
allow twice the principal rotation angle compared to the classical Rodrigues parameters. From
(2.13) and in (2.11) we get the differential kinematic equations
=


1
(1 T )I + 2S() + 2 T
4

(2.20)

which can be written in component form as


1 =
2 =
3 =

1
1
1
(1 + 12 22 32 )1 + (1 2 3 )2 + (1 3 + 2 )3
4
2
2
1
1
1
(2 1 + 3 )1 + (1 12 + 22 32 )2 + (2 3 1 )3
2
4
2
1
1
1
(3 1 2 )1 + (3 2 + 1 )2 + (1 12 22 + 32 )3
2
2
4

(2.21a)
(2.21b)
(2.21c)

The equations display a similar degree of nonlinearity as do the corresponding equations in


terms of the classical Rodrigues parameters. However, unlike the classical Rodrigues parameters, the modified Rodrigues parameters are not unique. This can be seen in equation (2.18).

2.4 The (w, z) parametrization

(a)

(b)

Figure 2.1: Rotation sequence of the (w, z) parametrization. Left hand side shows the initial
rotation about the body ~i3 -axis. Right hand side shows the resulting coordinate system after
the second rotation.

2.4

The (w, z) parametrization

The three-dimensional (w, z) parametrization is a relatively new formulation for describing


the relative orientation of two reference frames using two perpendicular rotations. Although it
uses three parameters to describe the motion, two of the parameters can be combined to a single
complex variable. The complex variable is used to designate the second of the two rotations
and it is derived using stereographic projection (Conway, 1978). The remaining parameter
represents the initial rotation. As will be shown, the two rotations can be completely decoupled,
which has important implications and advantages. The parametrization is probably unfamiliar
to the reader and is therefore derived in detail. The material in this section is based on the work
by Tsiotras and Longuski (1995, 1996).

2.4.1

Parametrization of the rotation matrix R SO(3)

As mentioned above, we wish to derive a parametrization of the rotation matrix R in section


2.1 using two successive rotations. The resulting rotation matrix can thus be decomposed as
R(w, z) , Rbi (w, z) = Rbo (w)Roi (z)

(2.22)

This can be interpreted as follows. Consider a inertial frame i, defined by three orthogonal unit
vectors ~i1 ,~i2 and ~i3 . Another frame b is fixed to the body and is defined by the three orthogonal
unit vectors ~b1 , ~b2 and ~b3 . The rotation matrix R in (2.22) is then the rotation matrix from the
the body frame to the inertial frame. The intermediate frame o, defined by the three orthogonal
unit vectors ~o1 , ~o2 and ~o3 is the result of the first rotation.
The first rotation is shown in figure 2.1 a) and represents a simple rotation about the inertial
~i3 -axis. This resulting rotation matrix can be written as

cos z sin z 0
Roi (z) = sin z cos z 0 , R1 (z)
0
0
1

(2.23)

10

Attitude parameterizations

The next step is to find an expression for the second rotation matrix Rbo (w) , R2 (w). Recall
that a rotation matrix can be computed using an angle-axis description, which was shown in
section 2.1 by using Rodrigues fomula (2.2). The formula is repeated here for clarity;
R(k, ) = I + S(k) sin + S2 (k)(1 cos )

(2.24)

Assume that ~o3 = a~b1 + b~b2 + c~b3 , which is the ~o3 -axis in the intermediate frame, transformed
to the body frame. In sense of the rotation matrix Rbo (k, ) this can be written as

a
b = Rbo (k, )~o3
(2.25)
c
The resulting vector [a, b, c]T is clearly the third column in the rotation matrix R2 . Also, it can
be shown that (a, b, c) are the directed cosines of the ~b3 -axis in the o frame, that is
~b3 = a~o1 b~o2 + c~o3

(2.26)

The angle between ~b3 and ~o3 is simply found from the vector dot product as
= cos1

~o3 ~b3
= cos1 c
~
|~o3 ||b3 |

(2.27)

The axis of rotation can be found from (note that ~k has the same coordinates in both frames)
~
~k = ~o3 b3
k~o3 ~b3 k

(2.28)

Using ~o3 = [0, 0, 1]T , when refereed to the intermediate reference frame, and (2.26), the axis
of rotation can be calculated as
o a~o2
~k = b~
1
(2.29)
a2 + b2
Now the angle-axis description of the rotation matrix can be used. Insertion of (2.29) and (2.27)
into (2.24) gives the rotation matrix from the intermediate frame to the body frame, that is

b2
ab
c + 1+c
1+c
a

ab
a2
Rob (k, ) = 1+c
(2.30)
c + 1+c
b
a
b
c
By taking the transpose of (2.30) we get the following expression for the rotation matrix R2 (w)

ab
b2
c + 1+c
1+c
a

a2
ab
(2.31)
Rbo (k, ) = 1+c
c + 1+c
b , R2 (w)
a
b
c
Expanding (2.22) with (2.23) and (2.31) gives the complicated matrix

2
2
2
2
R(w, z) =

c cos z+ab sin z+(b +c ) cos z


1+c
c sin z+(c2 +a
2 ) sin z+ab cos

z
1+c

b sin z a cos z

c sin zab cos z+(b +c ) sin z


1+c
c cos z+(c2 +a2 ) cos zab sin z
1+c

b cos z a sin z

b
c

(2.32)

2.4 The (w, z) parametrization

11

Figure 2.2: Stereographic projection of a point (a, b, c) on a unit sphere on to a complex plane.
The foregoing matrix is redundant, in the sense that the elements a,b,c are not independent, but
satisfy the constraint
a2 + b2 + c2 = 1
(2.33)
We can therefor eliminate one of the elements in (2.32) to obtain a simplified form. One way
of doing this is to use a stereographic projection. From
the constraint in (2.33) we introduce
the set S 2 = (x1 , x2 , x3 ) R3 : x21 + x22 + x23 = 1 R3 , which is the unit sphere. For
(a, b, c) S 2 , we get the mapping : S 2 \{(0, 0, 1)} C, (a, b, c) 7 w. The stereographic
projection is shown in Figure 2.2 and is defined as
w , w1 + iw2 =

b ia
1+c

(2.34)

It can be verified that the inverse map 1 : C S 2 \{(0, 0, 1)}, w 7 (a, b, c) is given by
a=

i(w w)

,
1 + |w|2

b=

w+w

,
1 + |w|2

c=

1 |w|2
1 + |w|2

(2.35)

where w
is the complex conjugate of w and |w|2 = ww
= w12 + w22 . The basis of the projection
is the point (0, 0, 1), which is the south pole S of the unit sphere. Note that when c = 1
the projection has a singularity and w . The singularity corresponds to an upside-down
orientation of the body. Using (2.35) we can express R2 (w) in terms of (2.34) as follows

1 + w12 w22
2w1 w2
2w2
1
2w1 w2

1 w12 + w22
2w1
R2 (w) =
(2.36)
1 + w12 + w22
2
2
2w2
2w1
1 w 1 w2
When using complex notation, a more compact matrix can be given as

1 + Re(w2 )
Im(w2 )
2Im(w)
1
Im(w2 )
1 Re(w2 ) 2Re(w)
R2 (w) =
1 + |w|2
2Im(w)
2Re(w)
1 |w|2

(2.37)

The total rotation matrix R(w, z) is then given in terms of w and z as follows

(1 + w12 w22 )cz 2w1 w2 sz (1 + w12 w22 )sz + 2w1 w2 cz


2w2
(2.38)
2w1
2w1 w2 cz (1 w12 + w22 )sz 2w1 w2 sz + (1 w12 + w22 )cz
2
2
2w2 cz + 2w1 sz
2w2 sz 2w1 cz
1 w1 w2

12

Attitude parameterizations

where cz and sz denotes cos(z) and sin(z), respectively, and = 1/(1 + |w|2 ).
The foregoing matrix can be written more compactly as

Re(1 + w2 )eiz
Im(1 + w2 )eiz 2Im(w)
1
Im(1 w
2 )eiz Re(1 w
2 )eiz 2Re(w)
R(w, z) =
1 + |w|2
iz
2Im(we )
2Re(weiz )
1 |w|2

2.4.2

(2.39)

Kinematic differential equations

From (2.6) we can derive the kinematic differential equations for the attitude motion of the rigid
b

= bi
body. The differential equation for (2.22) becomes R(w,
z) = S()R(w,
z), where
is the angular velocity of the inertial frame relative to the body frame, as seen from the body
b = b (Kane et al., 1983). This relation makes
frame. It can be shown however, that bi
ib
b , which is the
it possible to derive the kinematics using the more intuitive angular velocity ib
angular velocity of the body frame relative to the inertial frame, as seen from the body frame.
b , [ , , ]T , and the redefined differential equation for
For the reminder we let = ib
1
2
3

(2.22) becomes R(w,


z) = S()R(w, z), where S() was defined in (2.4).

It can easily be verified that the third column of R(w,


z) must satisfy


a
a
b = S() b
c
c

(2.40)

Recall from (2.34) that w is defined as


b ia
1+c

(2.41)

b ia wc
1+c

(2.42)

w=
Differentiation of (2.41) gives
w =

Using the relations in (2.35) and (2.40) gives the differential equation for w C
w = i3 w +

+ w2
2
2

(2.43)

where
= 1 + i2 ,

= 1 i2 ,

i=

(2.44)

An alternative formulation, which will be used throughout, is given as


1
(1 + w12 w22 )
2
2
= 3 w1 + 1 w1 w2 + (1 + w22 w12 )
2

w 1 = 3 w2 + 2 w1 w2 +

(2.45a)

w 2

(2.45b)

To find the differential equation for z we start with the scalar form of the differential equation
for a rotation matrix,

tr[R(w,
z)] = tr[S()R(w, z)]
(2.46)

2.4 The (w, z) parametrization

13

where tr() denotes the trace of the matrix. Taking the trace of R(w,
z) gives


2 cos z + 2
d
d

1
tr[R(w, z)] =
(tr[R(w, z)]) =
dt
dt 1 + w12 + w22
4(1 + cos z)(w1 w 1 + w2 w 2 )
2z sin z

=
1 + w12 + w22
(1 + w12 + w22 )2

(2.47)

Combining (2.45a) and (2.45b) gives the relation


2

w1 w 1 + w2 w 2
= 1 w1 + 2 w2
(1 + w12 + w22 )2

(2.48)

Substituted (2.48) into (2.47) gives the expression

tr[R(w,
z)] =


2
z sin z + (1 + cos z)(1 w1 + 2 w2 )
2
2
1 + w 1 + w2

(2.49)

Expanding the right hand side of (2.46) we obtain


2
[(1 + cos z)(1 w1 + 2 w2 ) + (3 1 w2 + 2 w1 ) sin z]
1 + w12 + w22
(2.50)
Equating (2.50) with (2.49), we obtain the following differential equation for the angle z

tr[S()R(w, z)] =

z = 3 1 w2 + 2 w1

(2.51)

i
z = 3 + (
w w)

(2.52)

or equivalently,

To summarize the discussion above, the differential kinematic equations for the (w, z) parametrization are
1
w 1 = 3 w2 + 2 w1 w2 + (1 + w12 w22 )
(2.53a)
2
2
w 2 = 3 w1 + 1 w1 w2 + (1 + w22 w12 )
(2.53b)
2
z = 3 1 w2 + 2 w1
(2.53c)
Alternatively they can be written more compactly as
w = i3 w +

+ w2 ,
2
2

i
z = 3 + (
w w)

(2.54a)
(2.54b)

Remark 2.4.1. It is straight forward to verify that the kinematic differential equations for the
(w, z) parametrization can be written as
d
|w|2 = (1 + |w|2 )Re( w)

dt
z = 3 + Im( w)

(2.55a)
(2.55b)

Remark 2.4.2. Equation (2.34) is only one of the possible definitions of the parameter w.
Other combinations will provide different kinematic equations for w and z. This is shown in
Table 2.1.

14

Attitude parameterizations

w
a+ib
1+c

Kinematics
w = i 3 w 2 + 2 w
z = 3 + 12 ( w
+
w)


2

bia
1+c

w = i3 w + 2 + 2 w2
z = 3 + 2i (
w w)

b+ic
1+a

w = i 1 w 2 + 2 w2
+
w)
z = 1 + 12 ( w

cib
1+a

w = i1 w + 2 + 2 w2
z = 1 + 2i (
w w)

c+ia
1+b

w = i 2 w 2 + 2 w2
z = 2 + 12 ( w
+
w)

aic
1+b

w = i2 w + 2 + 2 w2
z = 2 + 2i (
w w)

1 + i2
1 + i2

2 + i3
2 + i3

3 + i1
3 + i1

Table 2.1: Stereographic coordinate w and corresponding kinematics

2.4.3

Properties

The (w, z) parametrization has some unique properties that makes it useful in attitude control
problems.
The kinematic equations are compact and have a clear physical interpretation. It can be
realized using two rotations about perpendicular axes.
The z parameter does not appear in (2.53a) and (2.53b). This means that in some applications the control problem can be decomposed into one of controlling only w and one
of controlling z.
A three dimensional parametrization will always involve singularities. A singularity
appears in the (w, z) parametrization when the body is upside down and consequently
w . The equilibrium (w1 , w2 , z) = (0, 0, 0) is nevertheless as far away from the
singularity as possible.
The (w, z) parametrization can easily be connected to other well known parametrizations
like the Eulerian angles, Euler-Rodrigues parameters and Angle-Axis parametrization.

2.5

Discussion

The previous sections have shown that there are many attitude parameterizations to choose
from. However, the (w, z) parametrization will be used in the rest of this report to describe the
attitude dynamics of an underactuated spacecraft. First of all this parametrization is minimal
and it is easy to avoid the singularity as long as we ensure that |w1 | and |w2 | does not approach
. Secondly, if the actuator failure is about the z-axis, the dynamics of the unactuated axis
can be decoupled from the rest of the system.

Chapter 3

Spacecraft and astrodynamics

The study of the dynamics of objects in interplanetary or interstellar space is called astrodynamics and has two major divisions. Celestial mechanics or orbit dynamics is concerned with
the motion of the center of mass of objects in space, whereas attitude dynamics is concerned
with the motion about the center of mass. Since the attitude dynamics is the main focus of this
report, only a brief review will be given on the celestial mechanics. For the interested reader,
Sellers (2000) is highly recommended as an introduction to astrodynamics. For more in-depth
information see Hughes (1986) and Wertz (1978, 1999). The work in this chapter is based on
these references.

3.1

Attitude dynamics

The first part of this chapter considers Newton-Euler equations of motion for rigid bodies, as
well as giving an overview of disturbance and control torques. Some of the equations found in
this chapter, together with the differential kinematic equations that were found in the foregoing
chapter, make up the system to be investigated in later chapters. Unless otherwise is stated, the
principal axes in the equations will coincide with the body reference system.

3.1.1

Newton-Euler equations of motion for rigid bodies

The angular motion of a spacecraft can be modelled as an ideal rigid body. However, most
spacecrafts have flexible parts like for instance antennas and solar panels. Also, internal effects
like fuel sloshing and thermal deformations are not accounted for using a rigid body model.
Nevertheless, for many problems the rigid body model is a good approximation, especially for
small spacecrafts.
Since only rotational motion will be considered throughout, the translational case will not be
taken into account at this stage. However, a detailed derivation of the equations of motion for
both cases is given in Appendix B. For the rotational case, when referred to the center of mass
and the body reference system, the well known equations for a rigid body can be written as
X
b
b
b
M ib
+ S(ib
)Mib
= =
i
(3.1)
i

where M is the inertia matrix for the rigid body, referred to the center of mass, = [x , y , z ]T
b = [ , , ]T is the angular velocity as exis the total torque acting on the body, and ib
1
2
3

16

Spacecraft and astrodynamics

plained in chapter 2. The torques i , acting on the individual mass elements in the body, are
due to both forces between individual mass elements and externally applied forces. Usually
the internal torques sum to zero and the resultant torque is simply the torques due to external
forces. The external torques e can be divided into two groups, called disturbance torques and
control torques. The first case is caused by environmental effects such as aerodynamic drag
and gravity gradient torque, while the latter is deliberately applied torques from devices such
as thrusters or magnetic coils. Both cases will be discussed in the following.
Assuming a diagonal inertia matrix, M = diag{m11 , m22 , m33 }, the dynamics in equation
(3.1) can easily be found to be given in component form as
m11 1 + (m33 m22 )2 3 = x

(3.2a)

m22 2 + (m11 m33 )3 1 = y

(3.2b)

m33 3 + (m22 m11 )1 2 = z

(3.2c)

b , and assuming only external


Remark 3.1.1. By defining the angular momentum h , Mib
torques, equation (3.1) can be rewritten as

dh
b
= e S(ib
)h
dt

(3.3)

b , is not
From this equation it can easily be seen that the angular momentum h, and hence ib
constant in the body frame, even when the external torque e is equal to zero. The resulting
b k h, that
motion is called nutation. Rotational motion without nutation only occurs when ib
is, only if the rotation is about a principle axis of the rigid body.

Remark 3.1.2. A spacecraft equipped with reaction or momentum wheels is not a rigid body
in the sense that they cause a redistribution of the angular momentum between the wheels and
the spacecraft body. The wheels do not change the total angular momentum of the spacecraft,
hence they can not be external torques.
However, in the case of using reduction or momentum wheels in the spacecraft body, the equations above can still be used with one minor modification. To encounter for the angular momentum of the wheels, we redefine the total angular momentum for the spacecraft, including
wheels, as
b
hb = Mib
+ hw
(3.4)
where the inertia matrix M includes the mass of the wheels and the vector hw = [h1 , h2 , h3 ]T
is the net angular momentum due to the rotation of the wheels relative to the body. Using a
similar procedure as when deriving (3.1) we get the following equation of motion
b
b
b
M ib
+ S(ib
)(Mib
+ hw ) =

dhw
dt

(3.5)

The quantity dhw /dt is the net torque applied to the wheels from the spacecraft body, so by
Newtons 3rd law of motion, -dhw /dt , [wx , wy , wz ]T is the torque applied to the spacecraft
body by the wheels. Writing (3.5) in component form in the body system, referred to the center
of mass, yields
m11 1 + (m33 m22 )2 3 + h3 2 h2 3 = x + wx

(3.6a)

m22 2 + (m11 m33 )3 1 + h1 3 h3 1 = y + wy

(3.6b)

m33 3 + (m22 m11 )1 2 + h2 1 h1 2 = z + wz

(3.6c)

3.1 Attitude dynamics

17

Remark 3.1.3. A rigid body with one or more spinning wheels is commonly called a gyrostat.
An alternative representation of the multi-spin system described in (3.5) is derived in Hughes
(1986), in the case of using only one wheel. In Tsiotras et al. (2001) the representation is
expanded to include any number of wheels, which makes it quite practical to use. The rotational
equations of motion for a N -wheel gyrostat can be written as


h b = J1 (hb Aha ) hb
(3.7a)
(3.7b)
h a = a
or equally
b
b
b
J ib
= Ah a S(ib
)(Jib
+ Aha )
ha = a

(3.8a)
(3.8b)

where ha is the N 1 vector of the axial angular momenta of the wheels, is the 3 1 vector
of the total torque acting on the body, not including wheel torques, a is the N 1 vector of the
internal axial torques applied by the platform to the wheels, and A is the 3 N matrix whose
columns contain the axial unit vectors of the N momentum exchange wheels. The vector hb is
the total angular momentum for the spacecraft in the body frame, given by
b
+ Aha
hb = Jib

(3.9)

J is the inertialike matrix defined as


J , M AMs AT

(3.10)

where M is the moment of inertia matrix for the spacecraft, including wheels, and the matrix
Ms = diag{Ms1 , Ms1 , ..., MsN } contains the axial moments of inertia of the wheels on the
diagonal. The axial angular momenta of the wheels can be written in terms of the body angular
velocity and the wheels axial angular velocities relative to the body, s , as
b
+ Ms s
ha = Ms AT ib

(3.11)

Note that s = [s1 , s2 , ..., sN ]T is a N 1 vector, and that these relative angular velocities are those that would for instance be measured by tachometers fixed to the platform.
We denote the resultant axial angular velocity of the wheels, relative to the inertial frame as
c = [c1 , c2 , ..., cN ]T . Using this notation we can write (3.11) as
ha = Ms c

(3.12)

b . Note that because typically the wheels spin at a much higher speed
where c = s + AT ib
b and we have that .
than the spacecraft itself, s  ib
c
s

3.1.2

Disturbance torques

As mentioned above, the environmental disturbances contribute as torques on the spacecraft


body, making them noneligible when doing attitude prediction in real-life. If they were to be
added to the equations of motion they would have to be modelled as a function of time as well
as the orientation of the spacecraft. Worth noticing is that the external torques will change the
angular momentum of the spacecraft, while the internal torques only will affect the distribution
of momentum between the moving parts. Some disturbance torques are given in Table 3.1,
indicating at what height above the surface they are most likely to dominate. In the following
an overview of the most important disturbance torques is given. This could contribute as a
good starting point, if advanced models or robustness issues are to be considered.

18

Spacecraft and astrodynamics

Table 3.1: Environmental disturbance torques


External torque
source
Aerodynamic
Gravity gradient
Magnetic
Solar pressure
Thrust misalignment

Region of space where


dominant
< 500km
500km to 35000km
500km to 35000km
> 700km
all heights

Internal torque
source
Mechanical and electrical devices
Fuel sloshing
General mass movement
Flexible appendages
The

specific altitude at which the various torques


dominate are highly spacecraft dependent
Value depends upon the level of solar activity
Aerodynamic torque
The interaction of the upper atmosphere with a spacecrafts surface produces a torque about the
center of mass. The effect is clearly dependent on the area and shape of the exposed surface. In
general the impact of the atmospheric molecules can be modelled as an elastic impact without
reflection. For low orbit spacecrafts the air density is high enough to influence the attitude
dynamics of the body. Calculating the aerodynamic torques and forces can be done in several
ways, and more or less all approaches lead to rather complicated expressions. Use of empiric
data is also common.
If the spacecraft surface comprises a collection of small incremental areas dA, each with out , then the force on a surface element is given by
wards unit normal n
1
)
dfaero = v 2 CD (
nv
vdA
(3.13)
2

where v is the translational velocity of the surface element relative to the incident stream, and v
is the unit vector in the same direction. The coefficients and CD are the atmospheric density
and the drag coefficient, respectively. Performing a summation over all such areas gives the
simplified expression for the aerodynamic torque, that is
Z
aero = rs dfaero
(3.14)
where rs is the position vector from the center of mass of the body to the surface element
dA. Usually this integral is not amenable to simple solutions for a surface associated with a
complex structure. A commonly used alternative is to represent the spacecraft as a collection

3.1 Attitude dynamics

19

of simple geometrical elements. The torque about the center of mass of the spacecraft is then
the vector sum of the individual torques for each of these geometrical simplifications, that is
X
aero =
ri Faero,i
(3.15)
i

The vector ri is in this case the vector distance from the center of mass of the spacecraft to
the center of pressure of the the specific geometric shape and Faero,i is the force acting on the
component. Aerodynamic forces for some simple geometric figures are listed in Table 3.2.
Faero,i

Geometric figures

12 v 2 CD R2 v

Sphere of radius R
Plane with surface area A and

normal unit vector n

)
12 v 2 CD A(
nv
v

Table 3.2: Aerodynamic force for some simple geometric figures


v
> 0,
Remark 3.1.4. The integral in (3.14) is taken over the spacecraft surface for which n
that is, the surface exposed to the incoming flow of atmospheric particles.
Gravity gradient torque
As a result of the nonuniform gravitational field surrounding the earth, any nonsymmetrical
object in orbit is subject to a gravitational torque. It is important to emphasize that this can
only occur as long as there are variations in the specific gravitational force over the spacecraft.
By first defining an orbiting frame o as in Figure 3.1, the expression for the gravity gradi 3 that appear in the equation is called the
ent torque in (3.16) can be derived. The unit vector o
local vertical and by definition it is always pointing toward nadir (center of the earth).
g =

3
[
o3 (M
o3 )]
Rc3

(3.16)

The parameters in (3.16) are summarized in the following table


Symbol

Explanation

Rc
M
3
o

Gravitational coefficient, = 3.986 1014 Nm2/kg


Distance to center of the earth (m)
Spacecraft inertia matrix
Unit vector toward nadir

Remark 3.1.5. The expression in (3.16) is rather simplified due to the four assumptions
a) Only one celestial primary is considered. In most cases the primary will be the earth.
b) The primary possesses a spherically symmetrical mass distribution.
c) The spacecraft is small compared to its distance from the mass center of the primary.
d) The spacecraft consists of a single body.
In most spacecraft situations these are realistic assumptions.

20

Spacecraft and astrodynamics

Figure 3.1: Orbit frame

Remark 3.1.6. There is no gravitational torque about the local vertical, that is
3 = 0
g o
As can be seen from (3.16), the vector equation is given in the local orbiting frame o. However,
in most cases it would be useful to represent the torque in the body fixed reference frame. By
letting the rotation matrix Rbo represent the rotation matrix from the body frame to the orbit
frame, we get the following expression for the gravitational torque, as referred to the body
frame

i
3 h
gb = 3 rb3 Mrb3
(3.17)
Rc
where rb3 = [r13 , r23 , r33 ]T is the third column in the rotation matrix Rbo . Independent of the
attitude parametrization we use to represent the rotation matrix, and assuming a diagonal inertia
matrix M = diag{m11 , m22 , m33 }, the gravitational torque in (3.17) simplifies to

(m33 m22 )r23 r33


3
gb = 3 (m11 m33 )r33 r13
Rc
(m22 m11 )r13 r23

(3.18)

Solar pressure torque


Solar radiation pressure produces a force on a surface, which depends upon its distance to the
sun. Since light carries momentum, it represents an exchange of momentum with the surface
when it is reflected. For most applications, the forces may be modelled adequately by assuming that the incident radiation is either absorbed, reflected specularly, reflected diffusely, or in
some combination of these.
If the spacecraft surface comprises a collection of small incremental areas dA, each with out , and s is the unit vector from the spacecraft to the sun, then the force on a
wards unit normal n
surface element due to solar radiation is given by
dfsolar



1
= P cos (1 fs )s + 2(fs cos + fd )
n dA
3

(3.19)

where P is the mean momentum flux ( 4.67 106 N m2 at the earth), and fs and fd are the
coefficients of specular and diffuse reflection, respectively. The angle of incidence radiation is

3.1 Attitude dynamics

21

). Performing a summation over all such areas gives the expression


given as = cos1 (s n
for the solar pressure torque, that is
Z
solar = rs dfsolar
(3.20)
where rs is the position vector from the center of mass of the body to the surface element
dA. This integration is in general difficult to solve for a surface associated with a complex
structure. However, as for the aerodynamic torque, a commonly used alternative is to represent
the spacecraft as a collection of simple geometrical elements. The total torque about the center
of mass of the spacecraft is then the vector sum of the individual torques for each of these
geometrical simplifications.
X
solar =
ri Fsolar,i
(3.21)
i

The vector ri is in this case the vector distance from the center of mass of the spacecraft to
the center of pressure of the the specific geometric shape and Fsolar,i is the force acting on the
component. Solar radiation forces for some simple geometric figures are listed in Table 3.3.
Geometric figures
Sphere of radius R
Plane with surface area A
:
and normal unit vector n
)
= cos1 (s n

Fsolar,i

P (4R2 ) 14 +

fd
9

h

P A cos (1 fs )s + 2 fs cos +

fd
3

 i

Table 3.3: Solar radiation force for some simple geometric figures
> 0,
Remark 3.1.7. The integral in (3.20) is taken over the spacecraft surface for which s n
that is, the surface exposed to the incoming radiation.
Magnetic torque
The residual magnetic field generated by a spacecraft interacts with the local field from the
earth and thereby exerts a couple on the body. The effect of the magnetic torque is altitude
dependent and strongest at low altitudes. The instantaneous magnetic disturbance torque mag
due to the spacecraft effective magnetic moment m is given by
mag = m B

(3.22)

where B is the geocentric magnetic flux density and m is the sum of the individual magnetic
moments caused by permanent and induced magnetism and spacecraft generated current loops.
Internal torques
Internal torques are defined as torques exerted on the spacecraft body by such internal moving
parts as reaction and momentum wheels, fuels or liquids inside partially filled containers or
flexible constructions. The reaction and momentum wheels are usually not to be considered

22

Spacecraft and astrodynamics

as disturbances, but are included here for definition. In a highly hypothetical scenario, the internal torques would also exist if the spacecraft was to be removed entirely from all external
influences in space.
As mentioned earlier the external torques will change the angular momentum of the spacecraft, while the internal torques only will affect the distribution of momentum between the
moving parts. However, even though the angular momentum remains constant in the absence
of external torques, the kinetic energy for the body could change and in most cases would the
redistribution of the angular momentum between the moving parts lead to a change in the dynamic characteristics.
In general the internal disturbance torques are undesired, hence must be encountered for using
external torques. Also, when designing a spacecraft the effects of internal disturbances could
be tried encountered for in the sense of placing the different devices in a clever manner.

3.1.3

Control torques and actuators

Deliberately applied torques can be generated using various approaches, and commonly as a
combination of several different actuators. The types of actuators that can be used to control
the orientation of a spacecraft can usually be divided into three categories. These are thrusters,
momentum exchange devices and magnetic actuators. The actuator can also be categorized to
be either active or passive. Some control torques, and their properties, are given in Table 3.4.
A short explanation of some of the different designs is also given subsequently.
An important part of the design of a spacecraft is to decide the size and properties of the actuators since it is crucial to have enough control to overcome the disturbances discussed above,
as well as getting the spacecraft into its desired configuration. However, this topic will not be
discussed any further in this report, and the reader is referred to Wertz (1999) for details.
In later chapters the system will only have two available torques, hence making the system
underactuated. More details about this matter will be given shortly.
Gravity gradient
As mentioned earlier any nonsymmetrical object in orbit is subject to a gravitational torque.
Although this effect often is considered as a disturbance, it can also be utilized as a passive
control torque. This is commonly done using a gravitational boom. However, in the sense of
stabilizing a spacecraft, the body will only be in a stable equilibrium if its axes of minimum
inertia is aligned with the local vertical. Due to low accuracy and the need for damping makes
the use of other control torques necessary as well. In the Danish satellite rsted (Wisniewski
and Blanke, 1999) the gravity gradient was utilized together with magnetic actuators to archive
complete three-axis stabilization.
Solar radiation
In the previous section on disturbance torques, it was explained how the solar radiation causes
a passive torque on an exposed spacecraft. This can be utilized with controllable panels or solar
sails. The torques achieved are nevertheless low.

3.1 Attitude dynamics

Type

23

Advantages

Disadvantages

External torque

Control momentum build-up

Thrusters

Insensitive to altitude
Suit any orbit
Create torque about any axis

Gravity
gradient

No fuel or energy needed

Magnetic

No fuel required
Control torque magnitude

Solar radiation

No fuel required

Internal torque

No fuel required
Can store momentum
Control torque magnitude

Uncontrollable momentum build-up

Reaction wheels

Continuous
Fine-pointing capability
Provide momentum bias
Suitable for three-axis control
Provide momentum bias

Nonlinearity at zero speed

Momentum wheels
Control moment
gyroscope

Requires fuel
On-Off operation only
Minimum impulse
Exhaust plume contaminants
No torque about the local vertical
Low accuracy
Low torque, altitude sensitive
Libration mode needs damping
No torque about local field direction
Altitude and latitude sensitive
Can cause magnetic interference
Needs controllable panels
Very low torque

Complicated
Potential reliability problems

Table 3.4: Control torques


Thrusters
Thrusters or gas jets produce torque by expelling mass, and are potentially the largest source of
force and torque on a spacecraft. They are highly active sources, and being external they will
affect the total momentum. They can be used both for attitude and position control. In fact,
they are the only actuators that can increase the altitude of a spacecraft in orbit. When used
for attitude control a pair of thrusters on opposite sides of the spacecraft is activated to create
a couple. The main advantage of using thrusters is that they can produce an accurate and well
defined torque on demand, as well as being independent of altitude. The main disadvantage is
that a spacecraft can only carry a limited amount of propellant.
Reaction wheels
Torquers associated with momentum storage such as reaction wheels are essentially active
internal torquers, suitable for attitude control but not for controlling the angular momentum.
By definition, a reaction wheel is a flying wheel with a body fixed axis designed to operate at
zero bias. A flying wheel is any rotation wheel or disk used to store or transfer momentum.

24

Spacecraft and astrodynamics

When the spacecraft is exposed to a perturbation or it is accelerated, so are the wheels mounted
inside, and the result is generated torques from the wheels in the opposite direction, that is
b
Mrw rw = M ib

(3.23)

As seen from (3.23) the wheels have to be accelerated in order to create a torque. Neglecting
friction effects, the torque applied to a set of reaction wheels can be written as (Kaplan, 1976)
bw =

dh
b
+ ib
h
dt

(3.24)

where h = Mrw rw , [h1 , h2 , h3 ]T is the total angular momentum of the wheels, and bw
denote the torque applied to the wheels by the spacecraft body. By Newtons 3rd law, the
torque employed to the spacecraft body from the wheels is therefor given by wb = bw . By
defining -dh/dt , [wx , wy , wz ]T we get the following equation
wb

wx h3 2 + h2 3
= wy h1 3 + h3 1
wz h2 1 + h1 2

(3.25)

This is consistent with the results derived earlier, as equation (3.6) can be obtained by substituting the torque in (3.25), in addition to some external torque, for the torque in (3.1).
Remark 3.1.8. When the wheels reach their maximum speed, the storage of momentum will
be at its maximum as well. Therefor, it will be necessary to restore the nominal values, using
external torques. This process is known as momentum dumping.
Momentum wheels
Momentum wheels are very similar to reaction wheels, but in contrast to the reaction wheels
they are designed to operate at biased, or nonzero, momentum. As for the reaction wheels they
need to be used in conjunction with other external actuators.
Magnetic actuators
An active magnetic actuator takes advantage of the natural torque caused by the magnetic field
surrounding the earth. The magnetic disturbance that was described earlier is exploited by installing magnetic coils or torquers inside the spacecraft. The principle can best be explained
with the well known compass needle that attempts to align itself with the local field.
Magnetic actuators offer a cheap, reliable and robust way to control a spacecrafts attitude.
Unfortunately they are only effective for low earth orbit (LEO) spacecrafts and requires a complex model of the geomagnetic field surrounding the earth.
Electromagnets may be used to provide an external torque, which can be modelled as
mag = m B = niA (
c B)

(3.26)

where m is the magnetic dipole moment generated by the coils in the magnet. The other
parameters are listed in the following table.

3.2 Celestial mechanics

3.2

25

Symbol

Explanation

c
i
n
A

Local geomagnetic field vector


Unit vector in the direction of the coils axis
Control current in the coil
Number of coil windings
Cross-sectional area of the coil

Celestial mechanics

As mentioned at the very beginning of this chapter, the study of astrodynamics can be divided
into celestial mechanics and attitude dynamics. Sofar we have only considered the latter, in
the sense of giving an overview of different topics considering the motion about the center of
mass. Only a brief discussion on celestial mechanics will be given at this point. Even though
the effects of the celestial mechanics are assumed negligible throughout this report, the motion
of the center of mass of objects in space is highly relevant, and for a real-life system to be
revealing, these effects should be taken into account when designing the control systems.
In general, the theory of celestial mechanics underlies all the dynamical aspects of the orbital
motion of a spacecraft. Different approaches exist to provide the necessary equations needed
to calculate orbital elements from position and velocity, and to predict the future position and
velocity of the spacecraft. In the case of circular orbits and spherical earth it is relatively easy
to determine these relations by the use of gradients, combined with rotation matrices. In a
more general case the use of classical orbit elements, Keplerian orbit elements, is adequate.
Combined with perturbation theory this provides an excellent reference. Since the equations
concerning perturbations are rather extensive, they are not considered here. For further details
about this subject, the reader should refer to any textbook about spacecraft geodesy.

26

Spacecraft and astrodynamics

Chapter 4

Model and control properties of an


underactuated satellite

Sofar the main focus has been on different approaches to model the kinematic and dynamic
differential equations for describing the configuration of a rigid body. The purpose of this
chapter is to choose an adequate model based on these equations, and describe some of its most
important properties. In our special case, the model is considered to be a satellite. Furthermore,
the satellite is assumed to be underactuated, which can be immediately design related or due
to for instance actuator failures. Throughout the rest of this report, the third principal axis in
the satellite body system contributes as the underactuated part in the sense that no torques can
be applied directly about this axis. As will be shown, many challenging control problems arise
when doing attitude stabilization due to this property.

4.1

Satellite model

To simplify the analysis it is important to choose a reasonable model that is not too complicated.
Therefor, because of its useful properties, the (w, z) parametrization presented in chapter 2 is
chosen to characterize the kinematics, while the dynamic equations are based on the NewtonEuler representation in chapter 3. In the following the model to be used is derived.
A preliminary and rather complex model can be written as1
= J1 J1 Ah a J1 S()(J + Aha )
h a = a
z = 3 1 w2 + 2 w1
w 1
w 2

1
= 3 w2 + 2 w1 w2 + (1 + w12 w22 )
2
2
= 3 w1 + 1 w1 w2 + (1 + w22 w12 )
2

(4.1a)
(4.1b)
(4.1c)
(4.1d)
(4.1e)

Let Q be an m n matrix of rank k. If k = m = n, then Q is nonsingular and has a unique inverse, Q1 .


The inverse is both left and right inverse, that is
1

QQ1 = Q1 Q = I

28

Model and control properties of an underactuated satellite

P
P
b = [ , , ]T is written as for simplicity, and =
where ib
control + disturbance .
1
2
3
The model arises immediately from (3.8) and (2.53), and both control and disturbance torques
were discussed in chapter 3. As mentioned earlier, it is important to emphasize that torques
related to the wheels should not be included in since these are already accounted for.
An interesting model to control and simulate would be a satellite with wheels and thrusters,
and also including the gravity gradient as a disturbance. The thrusters could then be used to
implement the torques for large and fast (slew) maneuvers during attitude initialization and target acquisition phases, while providing momentum management when necessary. The wheels
could be used to supply reference torques in the sense of overcoming the disturbances, and also
for storing and releasing kinetic energy. A potential model could have been obtained for this
scenario from (4.1), and then assuming no torques except from those mentioned above.
However, even though this model is somewhat simplified compared to a real-life scenario,
it is still considered too rigorous for our purpose. For that reason, different assumptions will
be regarded subsequently to obtain even further simplifications. We also want the model to be
associated with an underactuated satellite as mentioned in the introduction. Taking the complexity of the present model in (4.1) into account, a simplified model can be derived as
1 =
2 =
3 =
w 1 =
w 2 =
z =

(m22 m33 )2 3
x
+
m11
m11
y
(m33 m11 )3 1
+
m22
m22
(m11 m22 )1 2
z
+
m33
m33
1
3 w2 + 2 w1 w2 + (1 + w12 w22 )
2
2
3 w1 + 1 w1 w2 + (1 + w22 w12 )
2
3 1 w2 + 2 w1

(4.2a)
(4.2b)
(4.2c)
(4.2d)
(4.2e)
(4.2f)

Consider now the case when there are no available torques about the third principal axis in
the body system, or equally, the 3 state in the model can not be altered directly through the
control input. A trivial redefinition of the control inputs finally yields the model

1 = 1
2 = 2
3 = 1 2

1
(1 + w12 w22 )
2
2
w 2 = 3 w1 + 1 w1 w2 + (1 + w22 w12 )
2
z = 3 1 w2 + 2 w1

w 1 = 3 w2 + 2 w1 w2 +

Table 4.1: Simplified model of an underactuated satellite

4.1 Satellite model

29

The assumptions needed for deriving this simplified model from (4.1) are stated as follows

a) All values associated with reaction or momentum wheels are set equal to zero,
hence (4.1a) and (4.1b) are reduced to (3.1).
b) The inertia matrix for the satellite is diagonal, M = diag{m11 , m22 , m33 }.
c) There are no torques about the third principal axis in the body system.
d) The available control torques are provided by pairs of thrusters, and they can
implement angular velocity about the actuated axes directly.
e) The control torques 1 and 2 in the model arise from the transformation
1 =
2 =

m22 m33
2 3 +
m11
m33 m11
1 3 +
m22

1
x
m11
1
y
m22

f) The satellite is nonsymmetric about its underactuated axis, =

m11 m22
m33

6= 0.

Definition 4.1 (Axi-symmetric rigid body). When = 0 3 = 0, and the rigid body is
axi-symmetric.
Remark 4.1.1. The variable gives a measure of the body asymmetry about the underactuated
axis. In case the spacecraft is nearly symmetric about this axis, ||  1. Without additional
assumptions, the model is uncontrollable at the origin when = 0. In fact, it is not even
accessible in this case. However, a real spacecraft can never be completely axi-symmetric,
implying that even if is very small there will be a slow rotation about the symmetric axis.
Several underactuated vehicles can be described by the general model (Pettersen, 1996)
 

M + C() + D() + g() =


0
= J()

(4.5a)
(4.5b)

where Rn1 , Rn2 , n1 n2 , Rm , m < n2 . The matrix M is nonsingular


= 0 in the body reference system. The matrix J has full rank, i.e. det(J) 6= 0. The
and M
vector denotes linear and angular velocities, and denotes the position and orientation of
the vehicle. Gravitational and buoyant forces and torques are denoted by g(), M is the inertia
matrix, C() is the Coriolis and centripetal matrix and D() is the damping matrix. Some
examples of vehicles described by (4.5) are underactuated surface vessels, underwater vehicles
and spacecrafts.

30

Model and control properties of an underactuated satellite

The spacecraft model in Table 4.1 can be written in the form (4.5) by using
1

2
2
w1 w 2
w2
2 (1 + w1 w2 )
T
1
2
2

w1 w2
J() =
2 (1 + w2 w1 ) w1 , = [w1 , w2 , z]
w2
w1
1
C() = S()M, D() = 0, g() = 0, = = [1 , 2 , 3 ]T , = [1 , 2 ]T

(4.6)

(4.7)

Remark 4.1.2. The fundamental difference between the underactuated spacecraft model and
the general model (4.5), is the lack of a damping term, i.e D() = 0.
Remark 4.1.3. A spacecraft with a gravity gradient will experience gravitational torques,
hence g() 6= 0.

4.2

Controllability

Assuming that we have a smooth nonlinear system x = f (x, u), it can generally be converted
into an affine system quite easily, that is, into a system of the form
x = f (x) +

m
X

qi (x)ui

(4.8)

i=1

From (4.6)-(4.7), and by letting




M1 C()
f (, ) =
J()

(4.9)

q1 = [1, 0, 0, 0, 0, 0]T , q2 = [0, 1, 0, 0, 0, 0]T

(4.10)

the system in (4.5), or equally, the system in Table 4.1, may be written as
 

= f (, ) + q1 1 + q2 2

(4.11)

Sussmann and Jurdjevic (1972) demonstrated that a necessary and sufficient condition for accessibility of these systems is that the Lie algebra generated by the system have full rank, the
so-called Lie algebra rank condition (LARC).
Lemma 4.1. The nonsymmetric underactuated satellite model (4.11) is locally strongly accessible from every (, ) R6 when  6= 0.
Proof. The accessibility distribution C , {q1 , q2 , [f, q1 ], [f, q2 ], [q2 , [f, q1 ]], [f, [[q1 , f ], q2 ]]}
R66 spans a six-dimensional space for every (, ) R6 , since the determinant of C can be
found to be 41 (1+w12 +w22 )2 2 6= 0, and consequently rank C = 6 for every (, ) R6 .
Remark 4.2.1. For a general nonlinear system, if in addition to LARC, f in (4.8) is identically
zero, there is a theorem saying that the system is controllable.
It should also be noted that if a linearized system is controllable nonlinear system is accessible. However, if a linearized system is uncontrollable ; nonlinear system is unaccessible.
Proposition 4.1. The nonsymmetric underactuated satellite model (4.11) is small time locally
controllable (STLC) from any equilibrium.

4.3 Stabilizability

31

Proof. From the proof of Lemma 4.1 it is seen that the system satisfies the LARC conditions,
and that any brackets with degree greater than 4 can be expressed as a linear combination of
lower order brackets. We further more note from the definitions in Appendix A.4 that the
degree of bad brackets must be odd. The bad bracket of degree 1 is f , which vanishes at
any equilibrium. The bad brackets of degree 3 are [g1 , [f, g1 ]] and [g2 , [f, g2 ]] which are
identically zero vector fields. Consequently, the nonsymmetric underactuated satellite model
(4.11) satisfies the Sussmann sufficient condition for STLC (Theorem A.3) with = 1, at every
equilibrium.

4.3

Stabilizability

In the following some control properties for the underactuated satellite model are discussed.
Proposition 4.2. There exists no continuous nor discontinuous time-invariant pure-state feedback that renders the underactuated satellite system in Table 4.1 asymptotically stable about
the origin.
Proof. (Based on Proposition 2.3 in Pettersen (1996)) Consider the mapping f (, , ) : R3
R3 R2 R6 defined by
 

1
1
M C() + M
0
(4.12)
f (, , ) =
J()
It can easily be verified that this mapping is equivalent to (4.11). To prove Proposition 4.2 we
must show that f (, , ) is not locally surjective. Consider a point in R6 of the form

1
M1 2

=
(4.13)


031
where (1 , 2 , ) R, arbitrary and non-zero. Points on the form exist in any neighborhood
of 0 in R6 . For f (, , ) to be surjective then for any R6 there exists an R6 R2 for
which f () = . As J() has full rank, the equation f (, , ) = implies that = = 0.
Thus it implies

a
1
b = 2
(4.14)
0

Clearly, (4.14) has no solution since 6= 0. From Theorem A.4 it then follows that there exists
no continuous pure-state feedback that renders the origin asymptotically stable.
By Theorem A.5, and the fact that the satellite model (4.11) cannot be asymptotically stabilized by a pure-state continuous feedback law, it can neither be asymptotically stabilized by
means of a discontinuous pure-state feedback law.
Remark 4.3.1. In Pettersen (1996) a more general result was derived. It was in fact shown that
there exists no continuous nor discontinuous pure-state feedback law that makes the origin of
(4.5) asymptotically stable if gu () has a zero element. The vector gu () is the elements of
g() corresponding to the underactuated dynamics.

32

Model and control properties of an underactuated satellite

Proposition 4.3. The nonsymmetric underactuated satellite model (4.11) is locally asymptotically stabilizable in small time by means of an almost smooth periodic time-varying feedback
law.
Proof. By Corollary A.2, as dim [(, )] > 4 and the vector fields f, q1 , q2 in (4.11) are analytic, this follows from the proof of Proposition 4.1.

4.4

Investigation of the underactuated dynamics

Some important insight can be gained about the system in Table 4.1 by considering the case
when (w1 , w2 ) (0, 0), that is, the system simplifies to
1 = a

(4.15a)

2 = b

(4.15b)

3 = 1 2
1
w 1 =
1
2
1
w 2 =
2
2
z = 3

(4.15c)
(4.15d)
(4.15e)
(4.15f)

First of all we see from (4.15f) and (4.15c) that we have no direct control of z and 3 . However, z can be manipulated indirectly through the term 1 2 in (4.15c). If the spacecraft is
axi-symmetric, i.e. = 0, we have no control at all.
Assume that it is possible to manipulate the angular velocities directly. Consider the time
varying, periodic controllers
1 = 3 sin t,

2 = sin t

(4.16)

Insertion of the controllers into (4.15c) gives


3 = 3 sin2 t

(4.17)

which has the average value

3 =

1
T

Z
0

1
3 sin2 tdt = 3
2

(4.18)

with T = . This means that it in average is possible to control 3 by using time-varying periodic controllers. This is the basic and intuitive idea behind many controllers for underactuated
and nonholonomic systems. Several other control strategies exist, but in order to circumvent
Brocketts necessary condition (Brockett, 1985) they must be time-varying or discontinuous.
See for instance Kolmanovsky and McClamroch (1995) for a comparison of different control
strategies for nonholonomic systems.

4.5

Summary

In this chapter the nonsymmetric underactuated satellite model in Table 4.1 was derived. Several properties of the system were then established, hereby the fact that any three-axis stabilizing controller for the system has to be time-varying (periodic). This fact will be utilized in
later chapters when proposing and discussing a potential control strategy.

Chapter 5

A cascaded approach to stabilization

As mentioned in the introduction, the topic of this report is to choose a practical model, investigate some of its properties, and then suggest a control strategy to obtain attitude stabilization
about the satellites three principal axes. The system to be studied has three degrees of freedom
but only two available actuators, which makes it an underactuated system. From a theoretical
point of view the stabilization of an underactuated system is a challenging problem. Many interesting control theoretical questions have to be answered and the problem is highly nonlinear.
The angular velocity stabilization problem for the case of one or two actuator failures is well
understood and can be considered solved, although some work still remains for momentum
exchange actuators. On the other hand, despite extensive attempts, the complete attitude stabilization problem is not completely understood in the underactuated case. Consequently, no
globally stabilizing control law has so far been reported in the literature, as far as the author
knows.
In the following a novel strategy will be proposed, the final goal being complete three-axis
stabilization. Unlike most previous work however, a cascaded approach will be exploited.
The first part of this chapter considers some theory of stability for cascaded systems. Then,
in the following section, the theory is utilized when discussing the potential control scheme. A
globally uniformly asymptotically stabilized (GUAS) closed-loop system is desired.

5.1

Stability in cascaded systems

Consider the nonlinear time-varying system


x 1 = f1 (t, x1 , x2 )

(5.1a)

x 2 = f2 (t, x2 , u)

(5.1b)

where x1 Rn , x2 Rm and u Rl . The function f1 (t, x1 , x2 ) is both measurable and


continuously uniformly differentiable in (x1 , x2 ) in t. The structure of the system is given in
Figure 5.1. As mentioned the goal is to get a completely stabilized system, hence we need to
find a control input u = u(t, x1 , x2 ) or u = u(t, x2 ) such that the cascade interconnection
becomes globally uniformly asymptotically stable (GUAS). Several structural properties of the
system have to be satisfied however, in order to obtain this objective. In the following, sufficient

34

A cascaded approach to stabilization

Figure 5.1: A cascaded system


conditions to guarantee that a GUAS nonlinear time-varying system
01 :

x 1 = f1 (t, x1 , 0)

(5.2)

remains GUAS when it is perturbed by the output of another GUAS system of the form (5.1b),
that is, sufficient conditions to ensure GUAS for the system (5.1).
Consider now the nonlinear time-varying system in similar form as (5.1)
1 :

x 1 = f1 (t, x1 ) + g(t, x1 , x2 )x2

(5.3)

2 :

x 2 = f2 (t, x2 )

(5.4)

where the second term in (5.3) can be interpreted as a disturbance which must be driven to zero
without destabilizing the x1 -subsystem. The following theory is taken from Panteley and Loria
(2001)
Lemma 5.1. If the systems 01 and 2 are GUAS and the solutions of 1 and 2 are globally
uniformly bounded then the complete system 1 2 is GUAS.
The question that remains is whether or not the solutions of 1 and 2 are globally uniformly bounded. Depending on different cases according to the growth rates of f1 (t, x1 ) and
g(t, x1 , x2 ) this will be established subsequently.
Consider the following assumptions
(A1) The subsystem 2 is GUAS.
(A2) The subsystem 01 is GUAS and there exists a known C 1 Lyapunov function V(5.2) (t, x1 ) ,
V (t, x1 ), 1 , 2 K , a continuous nondecreasing function 4 , and a positive semidefinite function W (x1 ) such that
1 (kx1 k) V (t, x1 ) 2 (kx1 k)
V (t, x1 ) W (x1 )


V


x1 4 (kx1 k)
(A3) For each fixed x2 and t there exists a continuous function : R+ 7 R+ with lim s =
0 such that g(t, x1 , x2 ) in (5.3) satisfies


V



x1 g(t, x1 , x2 ) (kx1 k)kW (x1 )k

5.1 Stability in cascaded systems

35

(A4) There exist continuous functions 1 , 5 : R+ 7 R+ satisfying


kg(t, x1 , x2 )k 1 (kx2 k)5 (kx1 k)
and a continuous nondecreasing function 6 : R+ 7 R+ and a constant a 0 such that
6 (a) > 0 and


6 (s) 4 11 (s) 5 11 (s)
and

Z
a

ds
=
6 (s)

with 1 , 4 as in (A2).
(A5) For each r > 0 there exist constants , > 0 such that for all t 0 and all kx2 k < r


V



x1 g(t, x1 , x2 ) W (x1 ) kx1 k
where W (x1 ) and V (t, x1 ) are defined as in (A2).
(A6) There exists a function K such that for all t0 0 the solutions x2 (t) of 2 satisfies
Z
kx2 (t, t0 , x2 (t0 ))k dt (kx2 (t0 )k)
t0

Based on the assumptions above, some growth theorems can be stated. For proofs, the reader
should refer to Panteley and Loria (2001).
Theorem 5.1. If (A1), (A2) and (A3) hold, then the cascade 1 2 is GUAS.
Theorem 5.2. If (A1), (A2), (A4) and (A5) hold, then the cascade 1 2 is GUAS.
Theorem 5.3. If (A1), (A2), (A4) and (A6) hold, then the cascade 1 2 is GUAS.
Remark 5.1.1. The growth theorems can often be useful under certain circumstances. For each
fixed x2 , uniformly in t, these are proposed in Panteley and Loria (2001) to be
Theorem 5.1 : The function f1 (t, x1 ) grows faster than g(t, x1 , x2 ) as kx1 k
Theorem 5.2 : The function f1 (t, x1 ) majorizes g(t, x1 , x2 ) as kx1 k
Theorem 5.3 : The function f1 (t, x1 ) grows slower than g(t, x1 , x2 ) as functions of x1
Corollary 5.1. (See Lefeber (2000)) If (A2) is satisfied with
1 (kx1 k) = c1 kx1 k2
4 (kx1 k) = c4 kx1 k
and continuous functions k1 , k2 : R+ 7 R exist such that
kg(t, x1 , x2 )k k1 (kx2 k) + k2 (kx2 k)kx1 k
and (A1), (A6) is satisfied, the the cascaded system 1 2 is GUAS.

(5.5)

36

A cascaded approach to stabilization

In addition to the growth theorems there exists an integrability criterion (Loria, 2001) stated as
Theorem 5.4. Assume that 01 i GUAS and suppose that the trajectories of 2 are uniformly
globally bounded. If moreover, (A6) holds, and (A7), (A8) below are satisfied, then the solutions
of the system 1 , 2 are uniformly globally bounded. If furthermore, the system 2 is GUAS,
then so is the origin of the cascade 1 2 .
(A7) There exist constants c1 , c2 , > 0 and a Lyapunov function function V (t, x1 ) for 01
such that V : R+ Rn
7 R+ is positive definite and radially unbounded, which satisfies


V


x1 kx1 k c1 V (t, x1 ) kx1 k


V


x1 c2 kx1 k
(A8) There exist two continuous functions 1 , 2 : R+ 7 R+ such that g(t, x1 , x2 ) satisfies
kg(t, x1 , x2 )k 1 (kx2 k) + 2 (kx2 k)kx1 k
For clarity of exposition, sofar it has been assumed that the interconnection term in (5.1b) can
be factorized as g(t, x1 , x2 )x2 ; in some cases, this may be unnecessarily restrictive. With an
abuse of notation, let us redefine g(t, x1 , x2 )x2 , g(t, x1 , x2 ), i.e. consider a cascaded system
of the form
1 :

x 1 = f1 (t, x1 ) + g(t, x1 , x2 )

(5.6a)

2 :

x 2 = f2 (t, x2 )

(5.6b)

where g(t, x1 , x2 ) satisfies


kg(t, x1 , x2 )k 50 (kx1 k) 0 (kx2 k) + 500 (kx1 k) 00 (kx2 k)

(5.7)

where 50 , 500 , 0 and 00 are nondecreasing functions such that 00 (s) 0 as s 0 and
500 (kx1 k) c1 50 (kx1 k) for all kx1 k c.
Let then V2 (t, x2 ) be a Lyapunov function for 2 , and consider the following corollary, which
under the assumptions of Theorems 5.2 and 5.3, establish GUAS of the cascade 1 , 2 .
Corollary 5.2. Consider the cascaded system 1 , 2 satisfying
 (5.7) and suppose that (A2),
1
1
0
(A1) and (A4) hold with 6 (V1 ) = 4 1 (V1 ) 5 1 (V1 ) , where we in (A2) use a Lyapunov function V1 (t, x1 , x2 ) , V1 . Assume further that 500 (kx1 k) is majorised by the function
W (x1 )
0
4 (kx1 k) and the function (kx2 k) satisfies either of the following
0 (kx2 k) %(V2 (t, x2 ))U (x2 )

(5.8)

where V 2 (t, x2 ) U (x2 ) with % : R+ 7 R+ continuous; or there exists K such that


Z
0 (kx2 (t)k)dt (kx2 (t0 )k)
(5.9)
t0

Under these conditions the cascade 1 2 is GUAS.

5.2 The underactuated satellite - a cascaded approach

37

Figure 5.2: A desired cascade structure

5.2

The underactuated satellite - a cascaded approach

Based on the theory concerning stability in cascades, and well known methods using Lyapunov
design and backstepping, a novel idea of a control strategy will in the following be discussed
with the goal of achieving GUAS for the underactuated satellite system. The satellite model is
repeated here for clarity, that is
1 = 1

(5.10a)

2 = 2

(5.10b)

3 = 1 2

(5.10c)

1
w 1 = 3 w2 + 2 w1 w2 + (1 + w12 w22 )
2
2
w 2 = 3 w1 + 1 w1 w2 + (1 + w22 w12 )
2
z = 3 1 w2 + 2 w1

(5.10d)
(5.10e)
(5.10f)

A desired structure, at least in the general case, is shown in Figure 5.2. Usually a model is
not given in this form, hence various synthetic inputs and coordinate transformations have to
be utilized. This often contributes as a challenging task, and in many cases this is the most
durable effort when dealing with systems of this nature. Nevertheless, if we are able to transform the system into such form, the theory from the previous section can be applied. This can
in many cases my easier than constructing Lyapunov functions for the complete system, which
in turn can be extremely difficult. In some sense, we can think of working with this structure
as a kind a separation principle. This will be explained shortly.
From the general block diagram in Figure 5.2 it is evident that the 2 subsystem cannot be
k be a function of the states in the
k1 .
a function of the states in the 1 subsystem, nor can
This is inherent from the nature of cascaded systems. On the other hand, the output from the
2 block works as a virtual input or disturbance to the 1 block. Furthermore, the 2 system
2 , which clearly makes up an internal cascade by itself. The
consists of the subsystems 3
k . If we
same observation can be done recursively, until we end up with the first single block,
are able to split the system into such blocks, we can study each block separately, which gives
rise to the separation principle as introduced above. Even though this is not completely true,
in the sense that a subsystem is coupled to the preceding subsystems through the connection
term, it is still a very powerful tool.
An informal outline of the procedure we are suggesting is given as follows;

38

A cascaded approach to stabilization

i) Based on the original model in (5.10) we will try to transform it into a similar structure
as in Figure 5.2, where we want as many subsystems as possible.
ii) After doing necessary changes in coordinates and/or transformations we want z to be
controlled by 3 . We then use a kind of backstepping approach where we define 3d .
iii) We want w1 , w2 and 3 to be controlled through 1 and 2 . Clearly, z will be controlled
indirectly by these states as well. We will, as in the case of 3 , use a kind of backstepping
approach where we define 1d and 2d . From Proposition 4.2 we recall that a pure-state
feedback is not sufficient in obtaining asymptotic stability for the underactuated satellite.
We will therefor include some time-varying functions in 1d and 2d .
iv) Based on the theory on stability in cascades and Lyapunov functions, we will check
wether the closed-loop system is GUAS or not with our choice of synthetic inputs, and
consequently the final controller.
The rest of this chapter will consider each step as we try to characterize the promising approach
in achieving an asymptotically stabilizing controller, which works globally, uniformly in time.
Based on the discussion above, the initial step would be to split our system into as many
subsystems as possible. By looking at (5.10), it can easily be seen that the system is already
in a cascaded form, where (5.10a)-(5.10b) contribute as 2 and (5.10c)-(5.10f) make up the
subsystem 1 . Nevertheless, it would be highly desired to obtain further separations, in sense
of Figure 5.2. Numerous attempts, and many hours work, was done in trying to achieve this
goal, which unfortunately turned out to be a very difficult task, and most likely it is not even
possible. The reasons for this have to do with the nature of the highly coupled and nonlinear
differential equations, as well as our overall design strategy. This will be clearer after reading
the next paragraphs.
We again turn our attention to (5.10). As stated above, we want z to be controlled through
3 . This can be done by introducing the following change of coordinates

3 = 3 3d

(5.11)

where 3d is the desired value of 3 . At this stage however, we only define the function
3d , (z), and consequently we get a new system equation, in place of (5.10c), that is
3 =  1 2
3 =  1 2 0 (z)z

(5.12)

0
where we used the notation (z)
z , (z). Similar notation will be used throughout. Clearly,
by introducing
3 we also get (z) in both (5.10d) and (5.10e). Actually, (z) is included in
every system equation except for (5.10a) and (5.10b). As mentioned earlier a subsystem can
not be a function of any states in any preceding subsystems. We were not able to obtain this
property for more than two subsystems, and consequently we were unfortunately not able to

5.2 The underactuated satellite - a cascaded approach

39

split up the system any further. Accepting this fact, we now rewrite the system in (5.10) as
1 = 1

(5.13a)

2 = 2

3 =  1 2 0 ( +
3 1 w2 + 2 w1 )
1
w 1 = ( +
3 ) w2 + 2 w1 w2 + (1 + w12 w22 )
2
2
w 2 = ( +
3 ) w1 + 1 w1 w2 + (1 + w22 w12 )
2
z = +
3 1 w2 + 2 w1

(5.13b)
(5.13c)
(5.13d)
(5.13e)
(5.13f)

where we used (5.12) and we dropped the argument in for simplicity. This gives us the two
(temporary) subsystems
e1

e2

: z 1 = f1 (t, z1 ) + g(t, z1 , z2 )z2

(5.14)

: z 2 = f2 (t, z2 , u)

(5.15)

where we have used z2 = [1 , 2 ]T , z1 = [


3 , w1 , w2 , z]T , u = [1 , 2 ]T and we have that

( +
3) 0
( +
3 ) w2
,
f1 (t, z1 ) =
( +
3 ) w1
+
3

1
2
g(t, z1 , z2 ) =

+ 0 w2

1 + w12 w22
w1 w 2
w2

 

f2 (t, z2 , u) = 1
2

(5.16)

0 w1

w1 w2

2
2
1 + w 2 w1
w1

(5.17)

1
2  1

1
2  2

1
2

e 1 and
e 2 GUAS, while
The direct approach would here be to find a control u that renders
still satisfying the conditions discussed earlier. However, we first introduce some synthetic
e 1 alone, when neglecting the connection term,
inputs such that we can conclude GUAS for
i.e. z2 0. The synthetic inputs, together with (z), are to be discussed subsequently, so at
this point we only define the coordinate changes and desired values as

1 = 1 1d ,

1d , 1 (t,
3 , w1 , w2 )

(5.18)

2 = 2 2d ,

2d , 2 (t,
3 , w1 , w 2 )

(5.19)

e 1 and
e 2 we get the final cascaded system
After doing necessary manipulations on
1

: x 1 = f1 (t, x1 ) + g(t, x1 , x2 )x2

(5.20)

: x 2 = f2 (t, x2 , u)

(5.21)

where we have used x2 = [


1 ,
2 ]T , x1 = [
3 , w1 , w2 , z]T , u = [1 , 2 ]T and we have

40

A cascaded approach to stabilization

 1 2 0 ( +
3 1 w2 + 2 w1 )

( +
3 ) w2 + 2 w1 w2 + 21 1 + w12 w22


f1 (t, x1 ) =
,
2
2
2
( +
3 ) w1 + 1 w1 w2 + 2 1 + w2 w1
+
3 1 w2 + 2 w1

"

1
f2 (t, x2 , u) =
2

d1
dt
d2
dt

(5.22)
2 + 0 w2 +  2
2

1
2
2

2 1 + w 1 w2
1
g(t, x1 , x2 ) =

w1 w 2
w2

0 w1 +  1

w1 w2

2
2
1 + w 2 w1
w1

1
1
2
1
2

(5.23)

where we dropped the arguments of , 1 and 2 for simplicity. Also note that
i
i
di
i
i

3 +
w 1 +
w 2 ,
=
+
dt
t

3
w1
w2

i = 1, 2

(5.24)

Finding the synthetic inputs (z), 1 (t,


3 , w1 , w2 ) and 2 (t,
3 , w1 , w2 ) such that 1 is rendered GUAS, when neglecting the connection term between 1 and 2 , makes up the next
natural step in the procedure. Note that neglecting the connection term can be interpreted as if
2 is already rendered GUAS by the real inputs, hence x2 0.
The final, and in some sense the more direct outline of the strategy, is described in the next
section. It briefly considers how to find the synthetic inputs, the real control, and also how a
potential Lyapunov proof for showing GUAS for the closed loop system is likely to occur.

5.3

Control design

As stated above, in this section we will try do give an outline of how to find the synthetic inputs,
and consequently the final control, such that the underactuated satellite system in (5.20)-(5.21)
is rendered GUAS.
We first start by looking at 2 . Obviously the final control will be of the form
1 =
2 =

d1
+ 1 (
1 )
dt
d2
+ 2 (
2 )
dt

(5.25)
(5.26)

i
where we defined d
dt in (5.24). The first term in both (5.25) and (5.26) cancels out the dynamics of 1 and 2 in 2 . This has to be done in order for the system to be a valid cascade,
as in (5.20)-(5.21). Accepting this fact, it is trivial to show that by making good choices for
1 (
1 ) and 2 (
2 ) the solutions of 2 will converge to zero in exponential time, that is, 2
will be rendered GES, and hence also GUAS. This can for instance be the case if we choose
i (
i ) = ki
i , i = 1, 2, and use a quadratic Lyapunov function to prove stability. Without
any additional assumptions we already can conclude that the subsystem 2 will not cause us
any trouble in the further design.

The rest of the design can be split into to parts. We first start by looking at 1 , when neglecting the connection term. We can do this based on the assumption that 2 is already rendered

5.3 Control design

41

GUAS, which was in fact shown above to be the case. For clarity, we define 01 , 1 : x2 0,
that is

 1 2 0 ( +
3 1 w2 + 2 w1 )

( +
3 ) w2 + 2 w1 w2 + 21 1 + w12 w22

0

(5.27)
1 : x 1 =

( +
3 ) w1 + 1 w1 w2 + 22 1 + w22 w12
+
3 1 w2 + 2 w1
where we used (5.22). We now need to find , 1 and 2 such that 01 is rendered GUAS.
Obviously, this is nontrivial, and in fact it is considered to be a rather difficult task. Some
guidelines are nevertheless given in the following.
At the time of writing the work of completing the above mentioned task is not yet solved.
Some progress has been made however, and a promising Lyapunov candidate along the trajectories of w1 and w2 in 01 is defined as V1 , V1 (w1 , w2 ), where
V1 (w1 , w2 ) = ln(1 + w12 + w22 )

(5.28)

which is positive definite and V1 (0, 0) = 0, clearly. The derivative can easily be found to be
V 1 = 1 w1 + 2 w2

(5.29)

The latter is in some sense a strong result, and in fact it resembles a quadratic Lyapunov funcTP x
, where x
= [w1 , w2 ]T , x
= [1 , 2 ]T and P > 0. It can easily be seen that we
tion Ve = x
can choose 1 and 2 to make V 1 negative definite. However, even though we would like the
solution to be this simple, we have to remember that 01 consists of two more states, in which
both 1 and 2 are included. The strong coupling is in fact what makes the stabilization of the
01 system as hard as it is. In this report we choose to end the discussion of stabilizing this
subsystem by outlining what is left to do in the approach. A summary is given as
i) Construct one or more Lyapunov candidates along all trajectories in the 01 subsystem.
As mentioned above, V1 is a potential candidate along w1 and w2 . We also need to
include
3 and z in some additional Lyapunov functions.
ii) After finding potential Lyapunov candidates, we must determine (z), 1 (t,
3 , w1 , w2 )
0
and 2 (t,
3 , w1 , w2 ) such that we can conclude GUAS for 1 , according to Theorem
A.1 and Corollary A.1. The functions 1 and 2 are chosen to be time-varying, as a
result of Proposition 4.2. Typically they will including a periodic Sine function.
iii) When checking wether or not Theorem A.1 and Corollary A.1 are satisfied we can in
many cases use mathematical manipulation, accompanied by different inequalities as
described in Appendix A.1.
iv) If the derivative of the Lyapunov functions turn out to be negative semi-definite due to
for instance sin2 (t) terms, Strict Lyapunov functions will be tried constructed, according
to Appendix A.3.
Finally, when starting on the last part we now that 2 , and hopefully also 01 , is rendered
GUAS. To finalize the conclusion on wether or not the complete system 1 2 obtains
the same property as well, we need to utilize the theory about stability in cascaded systems,
which was discussed in the beginning of this chapter. In short, we need to check wether or not
our assumptions in neglecting the connection term in 1 was correct, hence verifying if the
connection term satisfies some necessary conditions or not.

42

A cascaded approach to stabilization

Chapter 6

Conclusions

A detailed and general model for an underactuated satellite has been derived, including topics
related to disturbances and different actuators. In sense of representing the kinematics, the
relatively new (w, z)-parametrization was chosen due to its interesting and favorable properties compared with other minimal attitude representations. As for the dynamics, these were
described by the well known Newton-Euler equations of motion.
After taking numerous simplifications into account, several properties of the underactuated
satellite have been presented. Among others, the most important being the fact that the model
does not satisfy Brocketts necessary condition, hence making attitude stabilization impossible
in sense of using a continuous time-invariant pure-state feedback. This was also shown to be
applicable for the discontinuous case as well.
Based on the different model properties that were revealed, and the fact that complete threeaxis stabilization still is an open problem in the literature, in sense of an underactuated rigid
spacecraft, a novel approach has been proposed. Unlike previously work however, a strategy
utilizing theory related to nonlinear systems in cascades has been exploited.
At the time of writing, the work of achieving a globally uniformly asymptotically stabilizing controller in sense of the proposed strategy has not yet been completed. Nevertheless, the
problem has been reduced from stabilizing the entire system to finding some functions which
makes a subsystem globally uniformly asymptotically stable instead. From the theory of cascaded systems it was also shown that some additional growth conditions must be satisfied.
By combining well known methods like Lyapunov design, backstepping and theory related
to cascaded systems, the proposed strategy seems highly potential, and hopefully it will make
a contribution in the problem of achieving complete three-axis stabilization in sense of an underactuated satellite.

6.1

Further work

Even though the report is by itself self-standing, it should be considered a prestudy of a potential procedure of achieving complete three-axis stabilization. After finishing this report there is
definitely more to do on the subject. The first natural steps would be as follows;

44

Conclusions

Complete the work of finding Lyapunov candidates, and necessary functions to conclude
GUAS for the subsystem denoted by 01 in Section 5.3.
Verify that the the complete system, consisting of the two cascades 1 and 2 satisfies
the conditions related to stability in cascaded systems.
If both tasks above are satisfied, conclude GUAS for the complete system.
Implement the closed-loop system in for instance MATLAB, and execute necessary simulations to verify the theory.
If one are able to complete these tasks, it will be possible to go even further in the sense of;
Perform extensive simulations, using a benchmark model and the proposed time-varying
control laws.
Include disturbance torques like gravity gradient and aerodynamic drag in the model.
Reaction wheels have not been considered in this work. Results in Crouch (1984) states
that attitude stabilization is not possible with momentum exchange devices. What is the
best that can be achieved with such devices?
Tracking and robust attitude control of underactuated spacecrafts are still open problems.

Bibliography

Aeyels, D. and Szafranski, M. (1988). Comments on the stabilizability of the angular velocity
of a rigid body. Systems and Control Letters, 10(1):pp. 3539.
Andriano, V. (1993). Global feedback stabilization of the angular velocity of a symmetric rigid
body. Systems and Control Letters, 20:pp. 361364.
Aneke, N. P. I. (2003). Control of underactuated mechanical Systems. Ph.D. thesis, Technische
Universiteit Eindhoven.
Astolfi, A. and Rapaport, A. (1997). Robust stabilization of the angular velocity of a rigid body.
In Proceedings of the 36th IEEE Conference on Decision and Control, pp. 2864 2869.
Behal, A., Dawson, D., Zergerogly, E. and Fang, Y. (2002). Nonlinear tracking control of an
underactuated spacecraft. In Proceedings of the 2002 American Control Conference, pp.
4684 4689 vol.6.
Brockett, R. W. (1983). Asymptotic stability and feedback stabilization. In Brockett, R.,
Millman, R. and Sussmann, H. (eds.), Differential Geometric Control Theory. Birkhauser,
Boston.
Brockett, R. W. (1985). Asymptotic stability and feedback stabilization. Differential Geometric
Control Theory, 6(1):pp. 5963.
Byrnes, C. I. and Isidori, A. (1991). On the attitude stabilization of rigid spacecraft. Automatica, 27(1):pp. 8795.
Conway, J. B. (1978). Functions of One Complex Variable. Springer Verlag, New York.
Coron, J.-M. (1992). Links between local controllability and local continuous stabilization.
Proc. 1992 Nonlinear Control Syst. Design Symp., pp. 165171.
Coron, J.-M. (1995). On the stabilization in finite time of locally controllable systems by
means of continuous time-varying feedback law. SIAM Journal of Control and Optimization,
33(3):pp. 804833.
Coron, J.-M. and Kera, E.-Y. (1996). Explicit feedbacks stabilizing the attitude of a rigid
spacecraft with two control torques. Automatica, 32(5):pp. 669677.

46

BIBLIOGRAPHY

Coron, J.-M. and Rosier, L. (1994). A relation between continuous time-varying and discontinuous feedback stabilization. Journal of Math. Syst. Estimation, and Control, 4(1):pp. 6784.
Crouch, P. E. (1984). Spacecraft attitude control and stabilization: Applications of geometric
control theory to rigid body. IEEE Transactions on Automatic Control, 29(4):pp. 321331.
Dalsmo, M. and Egeland, O. (1997). State feedback H suboptimal control of a rigid spacecraft. IEEE Transactions on Automatic Control, 42(8):pp. 11861189.
Egeland, O. and Godhavn, J. M. (1994). Passivity-based adaptive attitude control of rigid
spacecraft. IEEE Transactions on Automatic Control, 39(4):pp. 842845.
Egeland, O. and Gravdahl, J. T. (2002). Modeling and Simulation for Automatic Control.
Marine Cybernetics, Trondheim, Norway.
Fauske, K. M. (2002). NCUBE Attitude control. Project report. Department of Engineering
Cybernetics, NTNU.
Fossen, T. I. (2002). Marine Control Systems. Guidance, Navigation, and Control of Ships,
Rigs and Underwater Vehicles. Marine Cybernetics, Trondheim, Norway.
Godhavn, J.-M. and Egeland, O. (1995). Attitude control of an underactuated satellite. In
Proceedings of the 34th IEEE Conference on Decision and Control.
Hughes, P. C. (1986). Spacecraft attitude dynamics. John Wiley & Sons, New York.
Kane, T. R., Linkins, P. W. and Levinson, D. A. (1983). Spacecraft Dynamics. McGraw-Hill,
Inc.
Kaplan, M. H. (1976). Modern spacecraft dynamics and control. John Wiley & Sons, New
York.
Khalil, H. K. (1996). Nonlinear systems. Prentice-Hall, Upper Saddle River, New Jersey,
second ed.
Kolmanovsky, I. and McClamroch, N. (1995). Developments in nonholonomic control problems. IEEE Control Systems Magazine, 15(6):pp. 2036.
Krishnan, H., Reyhanoglu, M. and McClamroch, H. (1994). Attitude stabilization of a rigid
spacecraft using two control torques: A nonlinear control approach based on the spacecraft
attitude dynamics. Automatica, 30(6):pp. 10231027.
Lefeber, E. (2000). Tracking Control of Nonlinear Mechanical Systems. Ph.D. thesis, Eindhoven University of Technology.
Loria, A. (2001). Cascaded nonlinear time-varying systems: analysis and design. Minicourse
at the Congreso Internaicional de Computacion Cd. Mexico.
Mazenc, F. (2003). Strict Lyapunov functions for time-varying systems. Automatica, 39(2):pp.
349353.
Mazenc, F. and Astolfi, A. (2000). Robust output feedback stabilization of the angular velocity
of a rigid body. Systems and Control Letters, 39:pp. 203210.

BIBLIOGRAPHY

47

Mazenc, F., Pettersen, K. and Nijmeijer, H. (2002). Global uniform asymptotic stabilization
of an underactuated surface vessel. IEEE Transactions on Automatic Control, 47(10):pp.
17591762.
Morin, P. (1996). Robust stabilization of the angular velocity of a rigid body with two controls.
European Journal of Control, 1:pp. 5156.
Morin, P. and Samson, C. (1997). Time-varying exponential stabilization of a rigid spacecraft
with two control torques. IEEE Transactions on Automatic Control, 42(4):pp. 528534.
Morin, P., Samson, C., Pomet, J. B. and Jiang, Z. P. (1995). Time-varying feedback stabilization
of the attitude of a rigid spacecraft with two controls. Systems and Control Letters, 25:pp.
375385.
Murray, R., Li, Z. and Sastry, S. (1994). A Mathematical Introduction to Robotic Manipulation.
CRC Press.
Narheim, B. T., Eriksen, T., Hye, G. K. and Wahl, T. (2001). A novel concept for monitoring
of maritime traffic by micro-satellites. In Fifteenth annual AIAA/USU conference on small
satellites.
Outbib, R. (1994). On global feedback stabilization of the angular velocity of a rigid body. In
Proceedings of the 33rd Conference on Decision and Control. Lake Buena Vista, Florida.
Panteley, E. and Loria, A. (2001). Growth rate conditions for uniform asymptotic stability of
cascaded time-varying systems. Automatica, 37:pp. 453460.
Pettersen, K. Y. (1996). Exponential stabilization of underactuated vehicles. Ph.D. thesis,
Norwegian University of Science and Technology, Department of Engineering Cybernetics.
Prussing, J. E. and Conway, B. A. (1993). Orbital mechanics. Oxford University Press, New
York.
Reyhanoglu, M. (1996). Discontinous Feedback Stabilization of the Angular Velocity of a
Rigid Body with Two Control Torques. In Proceeding of the 35th Conference on Decision
and Control. Kobe, Japan.
Samson, C. (1991). Velocity and torque feedback control of a nonholonomic cart. In AdvancedRobot-Control. Proceedings of the International Workshop on Nonlinear and Adaptive Control: Issues in Robotics, pp. 125151. Springer Verlag.
Schaub, H., Tsiotras, P. and Junkins, J. L. (1995). Principal rotation representations of proper
N N orthogonal matrices. International Journal of Engineering Science, 33(15):pp. 2277
2295.
Sellers, J. J. (2000). Understanding space. An introduction to astronautics. McGraw-Hill,
second ed.
Sepulchre, R., Jankovic, M. and Kokotovic, P. (1997).
Springer-Verlag, Berlin.

Constructive Nonlinear Control.

Skullestad, A. and Gilbert, J. M. (2000). H control of gravity gradient stabilized satellite.


Control Engineering Practice, 8:pp. 975983.

48

BIBLIOGRAPHY

Sordalen, O., Egeland, O. and de Wit, C. C. (1992). Attitude stabilization with a nonholonomic
constraint. In Proceedings of the 31st IEEE Conference on Decision and Control, pp. 1610
1611.
Sussmann, H. (1987). A general theorem of local controllability. SIAM Journal of Control and
Optimization, 25:pp. 158194.
Sussmann, H. and Jurdjevic, V. (1972). Controllability of nonlinear systems. Journal of Differential Equations, 12:pp. 95116.
Tsiotras, P., Chen, H. and Hall, C. (2001). Satellite Attitude Control and Power Tracking with
Energy/Momentum Wheels. Journal of Guidance, Control, and Dynamics, 24(1).
Tsiotras, P., Corless, M. and Longuski, J. M. (1995). A Novel Approach to the Attitude Control
of Axi-Symmetric Spacecraft. Automatica, 31(8):pp. 10991112.
Tsiotras, P. and Doumtchenko, V. (2000). Control of Spacecraft Subject to Actuator Failures:
State-of-the-Art and Open Problems. Journal of the Astronautical Sciences, 48(2):pp. 337
358.
Tsiotras, P. and Longuski, J. (1995). A New Parameterization of the Attitude Kinematics.
Journal of the Astronautical Sciences, 43(3):pp. 243262.
Tsiotras, P. and Longuski, J. M. (1994). Spin-axis stabilization of symmetric spacecraft with
two control torques. Systems and Control Letters, 23:pp. 395402.
Tsiotras, P. and Longuski, J. M. (1996). Comments on a new parametrization of the attitude
kinematics. In Astrodynamics Specialists Conference.
Tsiotras, P. and Luo, J. (1996). A reduced-effort control law for underactuated rigid bodies. In
Proceedings of the 35th IEEE Decision and Control, pp. 495496.
Tsiotras, P. and Luo, J. (2000). Control of underactuated spacecraft with bounded inputs.
Automatica, 36:pp. 11531169.
Walsh, G. C., Montgomery, R. and Sastry, S. S. (1994). Orientation control of the dynamic
satellite. In Proceedings of 1994 American Control Conference, pp. 138142.
Wertz, J. R. (ed.) (1978). Spacecraft Attitude Determination and Control. Kluwer Academic
Publishers, London, third ed.
Wertz, J. R. (ed.) (1999). Space mission analysis and design. Kluwer Academic Publishers,
London, first ed.
Wisniewski, R. and Blanke, M. (1999). Fully magnetic attitude control for spacecraft subject
to gravity gradient. Automatica, 35:pp. 12011214.
Zabczyk, J. (1989). Some comments on stabilizability. Applied Mathematics and Optimization,
19:pp. 19.

Appendix A

Theory

A.1

Mathematical preliminaries

Definition A.1. A continuous function : [0, a) 7 [0, ) is said to belong to class K if is it


strictly increasing and (0) = 0. It is said to belong to class K if a = and (r) as
r .
Definition A.2. The norm kxk of a vector x is a real-valued function with the properties
kxk 0 for all x Rn , with kxk = 0 if and only if x = 0.
kx + yk kxk + kyk, for all x, y Rn .
kxk = ||kxk, for all R and x Rn .
The second property is the triangle inequality. Also worth mentioning is that all these properties
are valid for all p-norms given as
kxkp = (|x1 |p + + |xn |p )1/p ,

1p<

(A.1)

In the following some other important inequalities are defined. Together with the triangle inequality these can be very useful when developing Lyapunov proofs.
An important result concerning p-norms is the Holder inequality
!1/p n
!1/q
n
n
X
X
X
1 1
|ak bk |
|ak |p
|bk |q
,
+ =1
p q
k=1

k=1

If we let p = q = 2 in (A.2) we get the Cauchy-Schwartz inequality, that is


! n
!
!2
n
n
X
X
X
2
2
ak bk

ak
bk
k=1

(A.2)

k=1

k=1

(A.3)

k=1

Another important relation is the Minkowski inequality, which for a general p norm in fact
can be shown to be the triangle inequality, written as
!1/p
!1/p
!1/p
n
n
n
X
X
X
p
p
p
|ak + bk |

|ak |
+
|bk |
(A.4)
k=1

k=1

k=1

50

Theory

Finally we include Youngs inequality, which is deduced from Youngs integral. This inequality
plays an important role in the theory of inequalities. In its most general form it is given as
ab

ap bq
+ ,
p
q

where

a, b 0, p > 1,

1 1
+ =1
p q

(A.5)

For arbitrary real numbers a and b when then have


ab
from which we can deduce
ab = a

a2 b2
+
2
2

b
2 2
1

a + 2 b2

2
2

(A.6)

(A.7)

where 6= 0 is an arbitrary real number. By defining , 22 we get the useful form of


Youngs inequality
1 2
ab a2 +
b
(A.8)
4

A.2

Lyapunov stability

Consider the non-autonomous system


x = f (x, t)

(A.9)

where f : [0, ) D Rn .
Theorem A.1. (Khalil (1996), Theorem 3.8) Let x = 0 be an equilibrium for (A.9) and D
Rn be a domain containing x = 0. Let V : [0, ) D R be a continuously differentiable
function such that
W1 (x) V (x, t) W2 (x)
V (x, t) V (x, t)
+
f (x, t) W3 (x)
t
x

(A.10a)
(A.10b)

t t0 , x D where W1 (x), W2 (x) are continuous positive definite functions and W3 (x)
is a continuous positive semidefinite function on D. Then, x = 0 is locally uniformly asymptotically stable.
Corollary A.1. Suppose that all the assumption of Theorem A.1 are satisfied globally (for all
x Rn ) and W1 (x) is radially unbounded. Then, x = 0 is globally uniformly asymptotically
stable.
Definition A.3. A Lyapunov function satisfying (A.10) is called a strict Lyapunov function

A.3

Strict Lyapunov functions for time-varying systems

Consider the time varying system


x = f (x, t)
with x Rn and f (x, t) is a nonlinear function periodic in time of period T > 0.

(A.11)

A.4 Controllability

51

Assumption A.1. A Lyapunov function V (x, t), periodic in time and of period T > 0, a
positive definite function W (x) and a nonnegative function p(t), periodic and of period T ,
such that
V
V
(x, t) +
(x, t)f (x, t) p(t)W (x)
(A.12)
t
x
and two functions i (), i = 1, 2 of class K such that
1 (|x|) V (x, t) 2 (|x|)

(A.13)

are known.
Assumption A.2. The constant

RT
0

p(s)ds is strictly positive.

Theorem A.2. (Mazenc, 2003) If Assumptions A.1 and A.2 are satisfied by the system (A.11),
one can determine the explicit expressions of a continuously differentiable function () of
class K and of a positive definite function () continuously differentiable, with a positive
first derivate, such that the function


U (x, t) = V (x, t) + P (t) V (x, t)
(A.14)
with
Z
P (t) = t

Z
p(s) ds + T

p(s) ds

(A.15)

is a strict Lyapunov function for system (A.11).

A.4

Controllability

The following presentation is based on Sussmann (1987).


Consider the nonlinear affine system
x = f (x) +

m
X

gi (x)ui

u = (u1 , . . . , um ) Rm

(A.16)

i=1

where x = (x1 , . . . , xn ) are local coordinates for a C manifold M , and f, g1 , . . . , gm are C


vector fields on M . Assume that f (0) = 0.
Before presenting the Sussmann sufficient condition for small-time local controllability, some
definitions are needed;
If q M is of the form x(T ) for some trajectory such that x(0) = p, then q is said to be
reachable from p in time T . The set of all q that are reachable from p in time T for the system
is the time T reachable set from p and will be denoted by Reach(, T, p). Furthermore
[
Reach(, T, p) =
Reach(, t, p)
(A.17)
0tT

for T 0, The system is small-time locally controllable (STLC) from p if p is an interior


point of Reach(, T, p) for all T > 0.

52

Theory

If F is a family of C vector fields on a manifold M , then L(F) denotes the Lie algebra
of vector fields generated by the elements of F. The family F is said to satisfy the Lie algebra
rank condition (LARC) at p if L(F)(p) is the whole tangent space of M at p. If satisfies
LARC, the system is locally accessible.
Let Y = (Y0 , . . . , Ym ) be a finite sequence of indeterminates. We let A(Y) denote the free
associative algebra over R generated by Yj , and L(Y) denote the Lie subalgebra of A(Y)
generated by Y0 , . . . , Ym . We define Br(Y) to be the smallest subset of L(Y) that contains
Y0 , . . . , Ym and is closed under bracketing. Let f be denoted by g0 . We are given a C manifold M and (m + 1)-tuple g = (g0 , g1 , . . . , gm ) of C vector fields on M . Each gj is therefor
a member of D(M ), the algebra of all partial differential operators P : C (M ) C (M ),
where C (M ) denotes the space of C real-valued functions on M . There are therefor a well
defined evaluation map Ev(g) : A(Y) D(M ) obtained by substituting the gj for the Yj ,
so that
!
X
X
aI gI
(A.18)
Ev(g)
aI YI =
I

where, if I = (i1 , . . . , ik ) then gI = gi1 gi2 . . . gik . Evp denotes the evaluation map at p.
Define the degree of the bracket B Br(Y) to be the sum
m

X
1
(B) = 0 (B) +
i (B)

(A.19)

i=1

where i (B) is the number of times that Yi occurs in B. We say that a bracket B Br(Y) is
bad if 0 (B) is odd and 1 (B), . . . , m (B) are even.
P
Let (B) be the symmetrization operator given by (B) =
(B) where Sm ,
Sm
and Sm is the group of permutations of {1, . . . , m}. For Sm ,
is the automorphism of
L(Y) which maps Y0 to Y0 and Yi to Y(i) .
Theorem A.3. (Sussmann 1987) Consider a system
x = f (x) +

m
X

gi (x)ui

xM

|u| 1

(A.20)

i=1

and a point p M such that f (p) = 0. Assume that g = (f, g1 , . . . , gm ) satisfies the LARC at
p. Assume that there is a [1, ] such that whenever B Br(Y) is a bad bracket, then
there are brackets C1 , . . . , Ck in Br(Y) such that

Evp (g)((B)) =

k
X

i Evp (g)(Ci )

(A.21)

i=1

for some 1 , . . . , k R, and (Ci ) < (B) for i = 1, . . . , m. Then (A.20) is STLC in p.

A.5 Stabilizability

A.5

53

Stabilizability

Consider the nonlinear control system


x = f (x, u) Rn

u Rm

(A.22)

The condition given in the next theorem is often referred to as Brocketts necessary condition
or Brocketts theorem. It is a necessary condition for stabilizability by continuous pure-state
feedback was presented. It was originally presented by Brockett (1985) for C 1 pure-state feedback, and shown by Zabczyk (1989) to also hold for continuous pure-state feedback. It can be
formulated as follows (Aneke, 2003)
Theorem A.4. Assume that there exists a continuous pure-state feedback law u : Rn Rm ,
that renders the origin of asymptotically stable. Then the function f : Rn Rm Rn is
locally surjective, i.e., the function f maps an arbitrary neighborhood of (0, 0) Rn Rm
onto a neighborhood of 0 in Rn .
Remark A.5.1. If Brocketts necessary condition is not satisfied for a system, the system cannot be asymptotically stabilized by continuous dynamic feedback either, in the sense that any
extended system
x = f (x, z) Rn z = v Rm
(A.23)
where v is a new control, and z is a new state variable, will still not satisfy the necessary
condition.
The following theorem shows a relation between stabilizability by means of discontinuous
pure-state feedback laws and stabilizability by means of the continuous time-varying and continuous pure-state feedback laws.
Theorem A.5. (Coron and Rosier (1994)) Assume that can be locally (resp. globally)
asymptotically stabilized by means of a discontinuous feedback law. Then for ant T > 0,
can be locally (resp. globally) stabilized by means of a continuous time-varying feedback law
of period T; If, moreover is an affine system, as in (4.8), then can be locally (resp. globally)
asymptotically stabilized by means of a continuous feedbacl law (independent of t; u = u(x)).
It is proven in Coron (1992) that the Sussmann sufficient condition for STLC at p = 0 implies
that the origin of is locally continuously reachable in small time. The following corollary
is then easily deduced from Coron (1995), theorem 1.4.
Corollary A.2. Assume that f in (A.22) is analytic and that n 4. If the system satisfies
Sussmann sufficient condition for STLC at the origin, then is locally stabilizable in small
time by means of almost smooth periodic time-varying feedback laws.

54

Theory

Appendix B

Newton-Euler equations of motion

Equations of motion for a rigid body can be derived by summing up the equations of motion
for individual mass elements dm with velocity ~vp . A rigid body B with a mass element dm is
shown in Figure B.1. The point c is the center of mass, while o is the point where we want to
express the equations of motion about. Later it will be assumed that the two points coincide.
The material in this chapter is based on Egeland and Gravdahl (2002).

dm

rm

r
o

rg

ro
rc
Inertial frame

Figure B.1: Rigid body with mass element dm.

B.1

Translational motion

The translational equation of motion with reference to a point o can be written as


f~o = m~ac .

(B.1)

From Figure B.1 we have that ~rc = ~ro + ~rg , hence


~vc = ~vo +
~ ib ~rg ,
~ac = ~ao +
~ ib ~rg +
~ ib (~
ib ~rg ),
where we have used that ~rg is a constant in b.

(B.2)
(B.3)

56

Newton-Euler equations of motion

Combining (B.1) and (B.3) gives the force equation with reference to the point o:


f~o = m ~ao +
~ ib ~rg +
~ ib (~
ib ~rg ) .

(B.4)

The translational motion of a spacecraft can be controlled using thrusters. For a spacecraft in
orbit the motion is governed by the laws of orbital mechanics. Such a law is the restricted
two-body equation of motion:
~r
~a = 3
(B.5)
|r|
where ~r is the spacecrafts position and is the gravitational parameter for Earth. For more
details see a textbook in orbital mechanics, for instance Prussing and Conway (1993).

B.2

Angular motion

The Newton-Euler equations are derived from Eulers First and Second Axioms:
f~c = m~ac

~c = ~hc
~o

= ~c + ~rg f~c

where the angular momentum about c and o are defined as


Z
~hc =
(~r ~vp )dm,
ZB
~ho =
(r~d ~vp )dm.

(B.6)
(B.7)
(B.8)

(B.9)
(B.10)

By using that ~vp = ~vo +


~ ib ~rd and ~rd = ~r + ~rg , (B.10) can be written as
Z
~ho = m~rg ~vo +
~rd (ib ~rd )dm.

(B.11)

To simplify (B.11) the inertia dyadic


Z
Io =

S 2 (~rd )dm

(B.12)

is introduced. The angular momentum about o can then be written as


~ho = m~rg ~vo + Io
~ ib .

(B.13)

An alternative expression can be found by writing ~ho as


Z
~ho =
(~r + ~rg ) ~vp dm
B Z
= ~hc + (~rg ~vp )dm
B

= ~hc + ~rg m~rc ,

(B.14)

B.3 Model summary

57

where we have used that ~vc

1
m

vp dm.
B~

Time differentiation of ~ho with respect to the inertial frame yields 1


~h o = ~vc m~vo + ~rg m~v o + M
~ o
~ o
~ ib +
~ ib (M
~ ib ).

(B.15)

Equation (B.14) implies that


~h o = ~h c + ~rg m~v c ~vo m~vc ,

(B.16)

which combined with (B.15) gives


~h c = ~c = ~rg m(~v o ~v c ) + M
~ o
~ o
~ ib +
~ ib (M
~ ib ).

(B.17)

Insertion of (B.17) in (B.8) and using (B.7) gives the angular equation of motion
~ o
~ o
~o = ~rg m~ao + M
~ ib +
~ ib (M
~ ib ).

B.3

(B.18)

Model summary

The equations (B.4) and (B.18) can be simplified by letting o coincide with the center of mass
~o = M
~ c . The simplified equations are
c, meaning r~g = ~0 and M
f~ = m~a,
~
~
~ = M
~ ib +
~ ib (M
~ ib ),

(B.19a)
(B.19b)

where the subscript c has been dropped for convenience.


Writing the equations of motion in coordinate form in the b frame yields
mv b = f b ,

(B.20)

b
b
b
= b.
M ib
+ S(ib
)Mib

(B.21)

At a first glance the translational and angular motion seems decoupled. A closer inspection
reveals that this is not the case. The reason is that disturbance torques, ~d , and forces, f~d acting
on a spacecraft are usually dependent of the spacecrafts position and attitude. However, for
our purposes the translational and angular motion can be assumed decoupled.

For more details about the derivation refer to Egeland and Gravdahl (2002)

58

Newton-Euler equations of motion

Appendix C

Mathematica printouts

Mathematica printouts of the calculations for checking wether or not the satellite model satisfies the LARC conditions and if it is STLC are given on the following pages.

60

Mathematica printouts
H* Checking to see if accessiable, C = 8g1,g2,@f,g1D,@f,g2D,@f,@f,g1DD,@f,@f,g2DD< *L
X = MatrixForm@88w1<, 8w2<, 8w3<, 8w1<, 8w2<, 8z<<D

H * X = @w1 w2 w3 w1 w2 zD ^ T, Xdot = f + g1u1 + g2u2 * L


f = 880<, 80<, 8e * w1 * w2<, 8w3 * w2 + w2 * w1 * w2 + w1 2 * H1 + w1 ^ 2 - w2 ^ 2L<,
8-w3 * w1 + w1 * w1 * w2 + w2 2 * H1 - w1 ^ 2 + w2 ^ 2L<, 8w3 - w1 * w2 + w2 * w1<<
1
980<, 80<, 8e w1 w2<, 9 H1 + w12 - w22 L w1 + w1 w2 w2 + w2 w3=,
2
1
9w1 w2 w1 + H1 - w12 + w22 L w2 - w1 w3=, 8-w2 w1 + w1 w2 + w3<=
2
MatrixForm@fD

0
y
i
z
j
z
j
z
j
0
z
j
z
j
z
j
z
j
z
j
e w1 w2
z
j
z
j
z
j
2
2
z
j
1
z
j

H1
+
w1
w2
L
w1
+
w1
w2
w2
+
w2
w3
z
j
2
z
j
z
j
z
j
2
2
1
z
j
w1
w2
w1
+

H1
w1
+
w2
L
w2
w1
w3
z
j
z
j
2
z
j
-w2 w1 + w1 w2 + w3
{
k
g1 = 881<, 80<, 80<, 80<, 80<, 80<<
881<, 80<, 80<, 80<, 80<, 80<<

g2 = 880<, 81<, 80<, 80<, 80<, 80<<


880<, 81<, 80<, 80<, 80<, 80<<

<< LinearAlgebra`MatrixManipulation`
H * ------- X f -- -- -- - * L
Df = AppendRows@w1 f, w2 f, w3 f, w1 f, w2 f, z fD

980, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 8e w2, e w1, 0, 0, 0, 0<,


1
9 H1 + w12 - w22 L, w1 w2, w2, w1 w1 + w2 w2, -w2 w1 + w1 w2 + w3, 0=,
2
1
9w1 w2, H1 - w12 + w22 L, -w1, w2 w1 - w1 w2 - w3, w1 w1 + w2 w2, 0=, 8-w2, w1, 1, w2, -w1, 0<=
2
H * ------- X g1 -- ----- * L
Dg1 = AppendRows@w1 g1, w2 g1, w3 g1, w1 g1, w2 g1, z g1D

880, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<,


80, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<<
H * ------- X g2 -- ----- * L
Dg2 = AppendRows@w1 g2, w2 g2, w3 g2, w1 g2, w2 g2, z g2D

880, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<,


80, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<<
H * ------- @f, g1D -- ----- * L
ad1fg1 = Dg1.f - Df.g1

1
980<, 80<, 8-e w2<, 9 H-1 - w12 + w22 L=, 8-w1 w2<, 8w2<=
2

61

Dad1fg1 = AppendRows@w1 ad1fg1, w2 ad1fg1, w3 ad1fg1, w1 ad1fg1, w2 ad1fg1, z ad1fg1D


880, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 80, -e, 0, 0, 0, 0<,
80, 0, 0, -w1, w2, 0<, 80, 0, 0, -w2, -w1, 0<, 80, 0, 0, 0, 1, 0<<
H * ------- @f, g2D -- ----- * L
ad1fg2 = Dg2.f - Df.g2

1
980<, 80<, 8-e w1<, 8-w1 w2<, 9 H-1 + w12 - w22 L=, 8-w1<=
2
Dad1fg2 = AppendRows@w1 ad1fg2, w2 ad1fg2, w3 ad1fg2, w1 ad1fg2, w2 ad1fg2, z ad1fg2D
880, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 8-e, 0, 0, 0, 0, 0<,
80, 0, 0, -w2, -w1, 0<, 80, 0, 0, w1, -w2, 0<, 80, 0, 0, -1, 0, 0<<
H * ------- @g1, fD -- ----- * L
ad1g1f = Df.g1 - Dg1.f

1
980<, 80<, 8e w2<, 9 H1 + w12 - w22 L=, 8w1 w2<, 8-w2<=
2
Dad1g1f = AppendRows@w1 ad1g1f, w2 ad1g1f, w3 ad1g1f, w1 ad1g1f, w2 ad1g1f, z ad1g1fD
880, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 80, e, 0, 0, 0, 0<,
80, 0, 0, w1, -w2, 0<, 80, 0, 0, w2, w1, 0<, 80, 0, 0, 0, -1, 0<<
H * ------- @g2, @f, g1DD -- ----- * L
ad1g2ad1fg1 = Dad1fg1.g2 - Dg2.ad1fg1
880<, 80<, 8-e<, 80<, 80<, 80<<

H * ------- @@g1, fD, g2D -- ----- * L


ad1g1ad1fg2 = Dg2.ad1g1f - Dad1g1f.g2

880<, 80<, 8-e<, 80<, 80<, 80<<

Dad1g1ad1fg2 = AppendRows@w1 ad1g1ad1fg2, w2 ad1g1ad1fg2,


w3 ad1g1ad1fg2, w1 ad1g1ad1fg2, w2 ad1g1ad1fg2, z ad1g1ad1fg2D
880, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<,
80, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<, 80, 0, 0, 0, 0, 0<<
H * ------- @f, @@g1, fD, g2DD -- ----- * L
ad1fad1g1ad1fg2 = Dad1g1ad1fg2.f - Df.ad1g1ad1fg2
880<, 80<, 80<, 8w2 e<, 8-w1 e<, 8e<<

H * C = 8g1, g2, @f, g1D, @f, g2D, @f, @f, g1DD, @f, @f, g2 DD< * L
ControllabilityMatrix = AppendRows@g1, g2, ad1fg1, ad1fg2, ad1g2ad1fg1, ad1fad1g1ad1fg2D
981, 0, 0, 0, 0, 0<, 80, 1, 0, 0, 0, 0<,
1
80, 0, -e w2, -e w1, -e, 0<, 90, 0, H-1 - w12 + w22 L, -w1 w2, 0, w2 e=,
2
1
2
2
90, 0, -w1 w2, H-1 + w1 - w2 L, 0, -w1 e=, 80, 0, w2, -w1, 0, e<=
2

62

Mathematica printouts

MatrixForm@ControllabilityMatrixD

1
i
j
j
j
0
j
j
j
j
0
j
j
j
j
j
j
0
j
j
j
j
j
0
j
j
j
k0

0
1
0
0
0
0

0
0
-e w2

0
0
-e w1

1 H-1 - w12 + w22 L

-w1 w2
w2

0
0
-e

-w1 w2

H-1 + w1 - w2 L
-w1
2

0
0
0

y
z
z
z
z
z
z
z
z
z
z
z
z
w2 e z
z
z
z
z
-w1 e z
z
z
z
e {
0
0
0

DeterminantC = Simplify@Det@ControllabilityMatrixDD
2
1
- H1 + w12 + w22 L e2
4

H * ------- Check "bad" brackets to conclude STLC -- -- -- - * L


H * ------- @g2, @f, g2DD -- ----- * L
ad1g2ad1fg1 = Dad1fg2.g2 - Dg2.ad1fg2
880<, 80<, 80<, 80<, 80<, 80<<

H * ------- @g1, @f, g1DD -- ----- * L


ad1g2ad1fg1 = Dad1fg1.g1 - Dg1.ad1fg1
880<, 80<, 80<, 80<, 80<, 80<<
MatrixForm@fD

0
y
i
z
j
z
j
z
j
0
z
j
z
j
z
j
z
j
z
e w1 w2
j
z
j
z
j
z
j
2
2
z
j
1
z
j

H1
+
w1
w2
L
w1
+
w1
w2
w2
+
w2
w3
z
j
2
z
j
z
j
z
j
2
2
1
z
j
w1
w2
w1
+

H1
w1
+
w2
L
w2
w1
w3
z
j
z
j
2
z
j
-w2 w1 + w1 w2 + w3
{
k

Vous aimerez peut-être aussi