123

ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Attitude and Orbit Control for Small

Satellites

Examensarbete utf�ort i Reglerteknikvid Tekniska H�ogskolan i Link�oping

av

Jonas Elfving

Reg nr: LiTH-ISY-EX-3295-2003Link�oping 2002

Page 2: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in
Page 3: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Attitude and Orbit Control for Small

Satellites

Examensarbete utf�ort i Reglerteknikvid Tekniska H�ogskolan i Link�oping

av

Jonas Elfving

Reg nr: LiTH-ISY-EX-3295-2003

Supervisors: Albert ThuswaldnerJonas Elbornsson

Examiner: Anders Helmersson

Link�oping 28th October 2002.

Page 4: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in
Page 5: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Avdelning, InstitutionDivision, Department

Institutionen för Systemteknik581 83 LINKÖPING

DatumDate2002-11-14

SpråkLanguage

RapporttypReport category

ISBN

Svenska/SwedishX Engelska/English

LicentiatavhandlingX Examensarbete

ISRN LITH-ISY-EX-3295-2003

C-uppsatsD-uppsats

Serietitel och serienummerTitle of series, numbering

ISSN

Övrig rapport____

URL för elektronisk versionhttp://www.ep.liu.se/exjobb/isy/2003/3295/

TitelTitle

Attityd och banstyrning för små satelliter

Attitude and Orbit Control for Small Satellites

Författare Author

Jonas Elfving

SammanfattningAbstractA satellite in orbit about a planet needs some means of attitude control in order to, for instance, getas much sun into its solar-panels as possible. It is easy to understand that, for example, a spysatellite has to point at a certain direction without the slightest trembling to get a photo of a certainpoint on the earth. This type of mission must not exceed an error in attitude of more then about1/3600 degrees. But, since high accuracy equals high cost, it is also easy to understand why aresearch satellite measuring solar particles (or radiation) in space does not need high accuracy atall. A research vessel of this sort can probably do with less accuracy then 1 degree.

The first part of this report tries to explain some major aspects of satellite space-flight. It continuesto focus on the market for small satellites, i.e. satellites weighing less than 500 kg.

The second part of this final thesis work deals with the development of a program that simulatesthe movement of a satellite about a large celestial body. The program, called AOSP, consists ofuser-definable packages. Sensors and estimation filters are used to predict the satellites currentposition, velocity, attitude and angular velocity. The purpose of the program, which is written inMATLAB, is to easily determine the pointing accuracy of a satellite when using different sensorsand actuators.

NyckelordKeywordsatellites, attitude, orbit, control, Kalman estimation filters, quaternions, stabilization, pointingaccuracy

Page 6: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in
Page 7: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Abstract

A satellite in orbit about a planet needs some means of attitude control in orderto, for instance, get as much sun into its solar-panels as possible. The mission ofthe satellite may be another reason for both attitude and orbit control. It is easyto understand that, for example, a spy satellite has to point at a certain directionwithout the slightest trembling to get a photo of a certain point on the earth. Thistype of mission must not exceed an error in attitude of more then � 1

3600

Æ. But,

since high accuracy equals high cost, it is also easy to understand why a researchsatellite measuring solar particles (or radiation) in space does not need high ac-curacy at all. A research vessel of this sort can probably do with less accuracythen 1Æ.The �rst part of this report tries to explain some major aspects of satellite space- ight. It continues to focus on the market for satellites, weighing less than 500 kg.The second part of this �nal thesis work deals with the development of a programthat simulates the movement of a satellite about a large celestial body. The pro-gram, called AOSP, consists of user-de�nable packages. The user can de�ne data,such as satellite constants and attitude preferences, to simulate the attitude in or-bit. Sensors and estimation �lters are used to predict the satellites current position,velocity, attitude and angular velocity. The purpose of the program, which is writ-ten in MATLAB, is to easily determine the pointing accuracy of a satellite whenusing di�erent sensors and actuators so that a craft does not get too expensive nortoo less accurate.MATLAB 6 Release 13 issues are also brie y discussed at the end of this document.

Keywords: satellite, attitude, orbit, control, Kalman estimation �lters, quater-nions, stabilization, pointing accuracy, MATLAB

i

Page 8: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

ii

Page 9: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Acknowledgment

I would start to direct a warm thank you to the persons below, since this �nalthesis work could not have been completed without their help and aid.P�ar Degerman { who helped me with the layout of the report as well as assistedme with the syntax LATEX, in which this �nal thesis work is written.Anders Helmersson { apart from being the examiner of this work, Anders hasalso aided me in several other ways, including the quaternion representation andpure technical support on emacs and LATEXhandling. I have seen him as a lastresort when in need of help.Albert Thuswaldner { for his assiduously read-through of my report, makingsure that everything in it is well written. Also, he has been, in opposite to Andersabove, my �rst resort, when in need of help. Many of the things would not havebeen inside this report without Albert pointing out for me that it should.Jonas Elbornsson { my supervisor at Link�oping Institute of Technology hashelped me with both the report and the program. Mostly, he helped with myEnglish language, but he has also put some perspective to the actual work andassisted me with some control issues.

Apart from the mentioned people above, all of whom I owe large gratitude to,the whole sta� at Saab Ericsson Space in Link�oping, and especially my boss Jan-Olof Hj�artstr�om, have my sincerest thanks for taking care of we the last 7 months.Lastly, I must thank my girl-friend Anna Lennarthsson for her mental support.

Once again. Thank you all!

iii

Page 10: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

iv

Page 11: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Notation

There are substantial di�erences between notations in di�erent textbooks. Theones chosen in this text are stated below. Observe that a few de�nitions alsocan be found in the appendices, such as the de�nition of the Vernal Equinox inAppendix C, for instance.

Vectors and Matrices

x;X Boldface letters are used for vectors and matrices.q The boldfaced letter q are specially reserved for Quaternions.N Number of samples used for parameter estimation.� Parameter vector.y(tj�) Predictor.1 Identity matrix.I Moment of inertia tensor.

Standard symbols

The letter \t" in all forms are used for time or time intervals, except for thesuperscript T , that is used to indicate the transpose matrix.

v

Page 12: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Orbital elements:

a Semi major axis.e Eccentricity.i Inclination.! Argument of perigee. Right ascension for the ascending node.P Orbit period.

Vectors:

L Angular momentum.F Torque.A Attitude vector.x m-dimensional state vector.y n-dimensional observation vector.

Astronomical Symbols:LEarth.JSun.

� Vernal Equinox.

Constants

� Planetary gravitational constant (also known as GM).G Universal Gravity constant (Given by Newton).

Standard notations

rf(x) The nabla operator describing the function

0BBBB@@f@x1@f@x2...@f@xn

1CCCCA� Subset.O(n) Function with the property that O(n)=n is bounded as n!1.E[nnT ] the expectation value where n is any vector or matrix.� Quaternion multiplication.R Denotes the radius of a body.r Denotes the distance from one frame to another.

vi

Page 13: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Abbreviations

AOCS Attitude and Orbit Control System.AOSP Attitude and Orbit Simulation Package.ASAP Ariane Structure for Auxiliary Payloads.CDH Command and Data Handling.CHAMP Challenging Mini-Satellite Payload.COTS Commercial Of The Shelf (Products).EELV Evolved Expandable Launch Vehicles.EO Earth Observation (mission).ESPA EELV Secondary Payload.

F3A Fast, Frequent, Flexible and A�ordable.FH Figure Handle (in MATLAB).GALILEO A European GPS.GEO Geostationary Orbit.GLONASS A Russian GPS.GTO Geo Transfer Orbit.GPS Global Positioning System.HEO Highly Elliptical Orbit.ICO Intermediate Circular Orbit.I-Cone Intelligent (adapter-) Cone.IR Infra Red.IT Information Technology.JIT MATLAB acceleration engine.LEO Low Earth Orbit.LQ Linear Quadratic.MEO Medium Earth Orbit.MEX MATLAB Eternal code (interface between MATLAB and other program languages).NAVSTAR The US GPS.PID Proportional,Inductive and Derivate.S/C Spacecraft.S/S Sub System (in spacecraft).QR Orthogonal-triangular decomposition.

vii

Page 14: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

viii

Page 15: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Contents

1 Introduction 11.1 Problem formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Satellites in general 32.1 Modules in a regular satellite . . . . . . . . . . . . . . . . . . . . . . 3

2.1.1 The bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.2 The payload . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Movement laws of satellites . . . . . . . . . . . . . . . . . . . . . . . 62.2.1 Orbit laws of motion . . . . . . . . . . . . . . . . . . . . . . . 62.2.2 Attitude laws of motion . . . . . . . . . . . . . . . . . . . . . 82.2.3 Orbit time and velocity . . . . . . . . . . . . . . . . . . . . . 9

2.3 Disturbances in orbit and attitude . . . . . . . . . . . . . . . . . . . 102.3.1 Solar radiation pressure . . . . . . . . . . . . . . . . . . . . . 102.3.2 Aerodynamic drag . . . . . . . . . . . . . . . . . . . . . . . . 112.3.3 Magnetic disturbance torques . . . . . . . . . . . . . . . . . . 122.3.4 Gravity gradient torque . . . . . . . . . . . . . . . . . . . . . 132.3.5 Micrometeorites . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.6 Oblateness of the Earth . . . . . . . . . . . . . . . . . . . . . 142.3.7 Discussion on the magnitude of disturbances . . . . . . . . . 14

3 Orbits and missions 173.1 From launch to orbit . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1.1 Orbits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2 Missions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4 A study of small satellites 274.1 Previously launched satellites . . . . . . . . . . . . . . . . . . . . . . 274.2 Tendency in launches today . . . . . . . . . . . . . . . . . . . . . . . 294.3 Customers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.4 Potential use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.4.1 Dispenser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.4.2 Main vehicle . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.5 Ways to launch small satellites . . . . . . . . . . . . . . . . . . . . . 32

ix

Page 16: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

x Contents

4.5.1 ASAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.5.2 ESPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.5.3 Munin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.5.4 I-Cone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.6 The need for small satellites . . . . . . . . . . . . . . . . . . . . . . . 36

5 Orbit and attitude stabilization 375.1 Redundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.2 Sensors and actuators . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.2.1 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.2.2 Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.3 Stabilization methods . . . . . . . . . . . . . . . . . . . . . . . . . . 445.3.1 Why do we need stabilization? . . . . . . . . . . . . . . . . . 455.3.2 Passive stabilization . . . . . . . . . . . . . . . . . . . . . . . 455.3.3 Active stabilization . . . . . . . . . . . . . . . . . . . . . . . . 47

6 The Attitude and Orbit Simulation Package (AOSP) 516.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.2 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.2.1 Development environment . . . . . . . . . . . . . . . . . . . . 526.2.2 Coordinate frames . . . . . . . . . . . . . . . . . . . . . . . . 546.2.3 Model representation . . . . . . . . . . . . . . . . . . . . . . . 546.2.4 Di�erential equation solvers . . . . . . . . . . . . . . . . . . . 576.2.5 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . 596.2.6 Measurement determination . . . . . . . . . . . . . . . . . . . 636.2.7 Stabilization strategy . . . . . . . . . . . . . . . . . . . . . . 646.2.8 Needed data . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.3 MATLAB issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.4 Behavior of the AOSP . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6.4.1 Example run . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.4.2 Program ow . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7 Conclusion and suggestions to further work 757.1 Small satellites study . . . . . . . . . . . . . . . . . . . . . . . . . . . 757.2 The AOSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Bibliography 79

Appendix 81

A AOSP - users manual 81A.1 How to get started . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

A.1.1 What data can be found . . . . . . . . . . . . . . . . . . . . . 81A.2 Input needed to the program . . . . . . . . . . . . . . . . . . . . . . 85

A.2.1 Replaceable modules . . . . . . . . . . . . . . . . . . . . . . . 85A.3 How to work with the user interface . . . . . . . . . . . . . . . . . . 85

Page 17: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Contents xi

A.3.1 Load and Save data . . . . . . . . . . . . . . . . . . . . . . . 86A.3.2 Print results from simulation . . . . . . . . . . . . . . . . . . 87A.3.3 Change parameters . . . . . . . . . . . . . . . . . . . . . . . . 87

A.4 What is saved in the output �le . . . . . . . . . . . . . . . . . . . . . 87A.5 Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

B Orbit movements 89B.1 Keplerian Orbital Elements . . . . . . . . . . . . . . . . . . . . . . . 89B.2 Elliptical Orbits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

B.2.1 Orbit period . . . . . . . . . . . . . . . . . . . . . . . . . . . 90B.2.2 Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

C Coordinate systems 97C.1 The Geocentric Equatorial coordinate system . . . . . . . . . . . . . 97C.2 Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98C.3 Other coordinate systems . . . . . . . . . . . . . . . . . . . . . . . . 99

D The History of Space ight 101

Page 18: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

xii Contents

Page 19: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Chapter 1

Introduction

To explore space is still many peoples dream. But before mankind can enter spacethemselves, investigating probes have to be sent out in advance. Their missionsare many, such as communication, global surveillance or planetary research. Witha combined name, these probes are often called arti�cial satellites.The satellite industry possesses huge possibilities, although the market to date isa bit slow. Of course, these crafts have to be automatic in the sense that if theground control loses communication with the satellite for a couple of hours, it stillshould be operational when the communication link is reestablished. Furthermore,the demand for accuracy and performance might be, depending on the mission,exceptional. The cost for satellites tend to increase exponentially with the perfor-mance; thus it is really tricky to design a craft with high pointing accuracy withoutgetting a too expensive one. To keep the cost down, expensive measurement andpropulsion instruments must be as simple as possible; while to keep precision up,they must be as advanced as possible.But components are not the most expensive part in a satellite. The design, test,veri�cation and launch procedures are far more expensive, since the �rst three takemany man-hours and the last one demands an expensive launch-vehicle. An exam-ple of a launch-vehicle that is in use today on the Ocean's is called the Sea-launch,and can be found in Figure 1.1.This �nal thesis begins with describing the essentials of space ight (especially forsmall satellites) in Chapter 2. It continues to describe the market, and trends ofsmall satellites in Chapter 4. The development of a simulation program to deter-mine the attitude variation when using di�erent sensors and actuators in orbit is�nally described in Chapter 6.

1.1 Problem formulation

This �nal thesis work is actually two aimed. The �rst aim is to �nd out wherethe market is heading. What demands will there be for small satellites in the

1

Page 20: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

2 Introduction

Figure 1.1. The Odyssey launch platform with the rocket \Sea-launch" | a wayof transporting rockets out on the ocean for launch as near the equator as possiblefor countries that do not own land in that region (for instance Russia and Norwayare participants in this project) [25].

future, and what demands are there today? The second aim is to �nd out howgood pointing precision can be expected with a certain set of sensors and actuatorswhen the satellite has a certain mission? These questions will be further explainedand dealt with, but not completely answered. The reason for this is that no onecan accurately predict the future and that there was a time limit to the �nalthesis work. There are, however, some suggestions on further development of thesimulation software discussed at the end of this report.

Page 21: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Chapter 2

Satellites in general

A satellite is an object that moves by itself in orbit about a larger celestial body,according to [21]. In this de�nition one can easily understand that moons alsoare satellites, in fact; even the Earth itself is one of the Sun's satellites and theSun is a satellite in our galaxy, the Milky way. In general though, when talkingabout satellites, we refer to arti�cial, i.e. man-made, satellites moving in orbitaround the Earth or any other planet in our solar system. In orbit means thatthe satellite has high enough altitude and/or speed to hold it within the celestialbodies' gravitational �eld without falling down onto it. This may seem harder thanit really is. A presentation of the movement laws will be presented in Section 2.2which will explain this. But before that, a short introduction to satellites shouldbe in order.

2.1 Modules in a regular satellite

Satellites of today can look virtually every way you could possibly imagine. Thesatellite CHAMP, for instance, which was launched in 15th of July 2000 fromPlesetsk in Russia looks like a regular electric guitar (see Figure 2.1 or [9, 20]). Asseen there are no rules at all on how they appear on the outside. The interior of asatellite, however, has a few similar parts, or at least parts that can be identi�ed.These parts are called the bus and the payload according to [18].The payload is the module that completes the mission speci�c tasks, such as takingphotographs, measuring radiation, relaying TV etc. The bus, on the other hand,consists of subsystems that work together to help the payload to complete itsmission. This will be further explained in the next two chapters.

2.1.1 The bus

The bus in a satellite is an infrastructural aid for the payload, and is highly missionspeci�c. Missions are described later in Section 3.2. The aid for the payload consistsin, for instance, keeping the payload at an acceptable temperature, providing the

3

Page 22: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

4 Satellites in general

Figure 2.1. The satellite CHAMP (Challenging Mini-Satellite Payload). Anexample of an odd shaped spacecraft [20].

payload with power and helping it to navigate and point at speci�c locations.Often, the bus is divided into subsystems, or S/S. In the chart below, the mostcommon classi�cations (according to [18]) of S/S are shown.

Structure: Usually the whole structure is considered to be a S/S of its own. Theactual structure includes the hull and load-bearing walls in the satellites.Since the structure will be exposed to di�erent pressures, solar radiation andsmall meteorites, this structure has to be completely thought through so thatit can handle this harsh space environment.

Thermal: In the design of spacecrafts, thermal control is needed in order to main-tain structure and equipment integrity over long periods of time, accordingto [18]. It has been recognized since the conception and design of the �rstspace vehicles that a prime engineering requirement is a system for tempera-ture control that permits optimum performance of many components. In fact,if it was possible to operate equipment at any temperature, there would beno need for thermal control. Normal operation temperatures must be within� �20 ÆC to � +50 ÆC inside the spacecraft in order for the components tosurvive.

Page 23: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

2.1 Modules in a regular satellite 5

CDH: (Command and Data Handling) This is the brain of the satellite. Here,all calculations and control of other S/S are done. CDH also works as acommunication handler between di�erent S/S. In computer terms this wouldbe called a master unit, and the other structures for slave units.

AOCS: (Attitude and Orbit Control System) This S/S could be compared withthe human inner ear, i.e. from sensors this S/S determines where the satelliteis and how it is oriented. With this information the AOCS determines howto navigate (in case its position or attitude is wrong). To summarize, theAOCS consists of three parts; one that operates sensors, another one thatcalculates what to do and a third one that operates actuators with what hasbeen calculated.

Propulsion: Every satellite needs some means of transportation and some meansof attitude adjustment. These means are called the propulsion S/S. It main-tains the fuel consumption and control the output given by, for instance, theAOCS above.

Electrical Power: This substructure manages the power supply in the satellite.It provides all the other S/S with electrical power, and recharges the backupbatteries, when the satellite is not within an eclipse. Otherwise, this S/Smakes sure that the satellite stops operating and moves into a \wait" modeto preserve power. This power-saving mode operates on the backup batteriesuntil the satellite has come out of the eclipse again.

Communication: It would be rather pointless to send something into space thatcannot communicate. All satellites should have this S/S, although theremight be special cases when this subsystem is not needed. One of the earliestsatellites, for instance, was made of a re ective material. Instead of activelyreceiving and relaying a signal, as todays communications satellites work, itre ected signals back down again to the Earth, thus not needing any sort ofcommunication device.

2.1.2 The payload

Apart from the subsystems in the previous section that constitutes the bus, apayload is also needed. The payload is where the mission speci�c tools are located.There could be cameras that take satellite photos of the Earth, or communicationequipment which enable us to see satellite TV and so on. These di�erent �elds ofapplication for payloads are called di�erent missions, and will be discussed later inSection 3.2.When constructing the payload, the manufacturer has to consider many things,such as keeping power consumption and weight down. The reason for this is that ahigher demand on the bus makes the whole satellite larger and heavier. The morepower and weight the payload has the more power and propulsion e�ect the bushas to give, thus increasing the cost of the bus exponentially.

Page 24: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6 Satellites in general

2.2 Movement laws of satellites

A man-made satellite has to be stabilized due to many disturbance forces. Forinstance the pressure from the Sun's photons, the solar wind, other celestial bodies,space dust and other factors may play a major part in how the satellite actuallymoves in space. In addition, the owner of the satellite may want to adjust theorientation, or attitude, to a certain mission speci�c task (take photographs of, orbroadcast TV to, the correct location). To be able to meet these requirements thesatellite control systems must consist of at least two separate parts. One controlsystem that keeps the satellite in a correct orbit, since the disturbances describedin this chapter will tend to degenerate the satellites orbit (i.e. decrease its speed).The other control system keeps the attitude correct. The control needed for thelatter task does not have to be active control | passive stabilization techniquesmight be just as useful. The actual control system is discussed in Chapter 5.To be able to control the satellite, we have to know its movement laws. Thefollowing sections will deal with orbit and attitude movement laws, as well asdi�erent disturbances.The orbit and the attitude movement are however not uncorrelated, as impliedearlier. This is due to the fact that disturbance torques depends on where we are.For example, we only get a disturbance from the Sun if the satellite is not in aneclipse. This will be further discussed in Section 2.3.

2.2.1 Orbit laws of motion

According to [19, 21], there are mainly six laws governing the motion of a satellite.Three are from Kepler and the rest from Newton. These two wel known physiciststheorem's are described below.

Theorem 2.1 (Kepler's Laws)

I: The orbit of each planet is an ellipse, with the Sun as focus.

II: The line joining the planet to the Sun sweeps out equal areas in equal times.

III: The square of the period of a planet is proportional to the cube of its meandistance from the Sun.

Theorem 2.2 (Newton's Laws)

I: Every body continues in its state of rest or of uniform motion in a straight lineunless it is compelled to change that state by forces impressed upon it.

II: The rate of change of momentum is proportional to the force impressed and isin the same direction as that force.

III: To every action there is always opposed an equal reaction.

Furthermore, Newton also introduced another equation in his book Principia wherehe �rst stated his Theorem's 2.2. This equation is known as the law of gravity, and

Page 25: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

2.2 Movement laws of satellites 7

constitutes a way to calculate the force acting between two bodies due to gravity1:

F g = �Gm1m2

r2r

r(2.1)

The Equation (2.1) states that the force attracting two bodies to each other isproportional to their masses (m1 and m2) and inverse proportional to the squareof the distance between them (r). G is the universal gravity constant derived fromthe term �, often refered to as GM , where M the mass of the planet2. The term

� = GM is called the planetary gravitational constant (with unit m3

s2 ), where G is

the universal gravity constant, with the value G � 6:67 � 10�11 Nm2

kg2.

In Equation (2.2), the Newton force described in Equation (2.1) is generalized toan equation of n bodies:

F g = �Gmi

nXj=1;j 6=i

mj

r3ji(rji) (2.2)

This force alone constitutes the greatest force acting on a satellite in orbit at a lowto medium height above the Earth's surface. But there are other forces as well,such as the solar pressure, the non spherical symmetry of the Earth, aerodynamicdrag due to the Earth's atmosphere and, of course, induced forces like thrusterburns etc. To summarize, we have:

F TOTAL = F g + FDRAG + F THRUST + F SOLARPRESSURE +

+ FOBLATEEARTH + : : : (2.3)

If we di�erentiate Newton's second law (Theorem 2.2) and �nd the distance ri weget:

d

dt(mivi) = F TOTAL (2.4)

Keeping in mind that we might use thrusters that expel matter (which makes thesatellite's mass time dependent), Equation (2.4) evaluates to:

�ri =F TOTAL

mi� _ri

_mi

mi(2.5)

These equations combined (Equation (2.3) and Equation (2.5)) can be solved to�nd any satellite's movement in time.

1Observe that the inner nature of gravity, i.e. what gravity really is and how it actually works,still is a puzzle for todays scientists.

2Since G is derived from � for all planets, it is both more common and accurate to use theterm � for the planetary gravitational constant instead of multiplying G with the planet's mass,M .

Page 26: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

8 Satellites in general

2.2.2 Attitude laws of motion

Depending on the coordinate frame used to represent the attitude, the movementequations describing the attitude will look di�erent. For explanations of di�erentcoordinate systems, study Appendix C. The movement equations for the di�erentcoordinate frames have one thing in common though. They are all derived fromthe equation of angular momentum (from [27, 4]):

_hA = rP=A �ma+ _rP=A �mv (2.6)

where a = _v is the acceleration, rP=A is the vector from point A to point P andhA is as in De�nition 2.1.When utilizing Newton's second law (F = ma, where F is the resulting force) onthe second term, we get:

rP=A �ma = rP=A � F =MA (2.7)

Where the last step is the de�nition of the moment of a force F about point A,denoted MA, as in [4].When we apply this, Equation (2.6) evaluates to:

MA = _hA � _rP=A �mv (2.8)

According to [12] the angular acceleration of a satellite can be derived from Equa-tion (2.8) and from the fact that:

De�nition 2.1 (Angular momentum)

hA � I � ! (2.9)

Where I is the moment of inertia tensor and ! is the angular velocity. The �nalangular acceleration becomes:

_! = I�1 � (M � _h)� I�1 � (I � ! + h) (2.10)

Where M is the applied torque, and h is the internal angular momentum vectorfrom, for instance, the di�erent reaction wheels. h is in other words not the angularmomentum from the satellite itself, as in Equation (2.8) (i.e. hA = I �!+hOthers).Equation (2.10) is however not a universal one, since it takes for granted that theprincipal and the inertial axes are the same, i.e. it is a symmetric body withregard to the mass and the shape. Because this evidently seldom is the case, amore general equation that works with any kind of inertia matrix is (also derivedin [12]):

_!x = Jx � Tx + Pxy � Ty + Pxz � Tz_!y = Pyx � Tx + Jy � Ty + Pyz � Tz_!z = Pzx � Tx + Pzy � Ty + Jz � Tz (2.11)

Page 27: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

2.2 Movement laws of satellites 9

where

Tx =h(Mx � _hx)� !z!y(Iz � Iy)� (!yhz � !zhy)�DX

iTy =

h(My � _hy)� !x!z(Ix � Iz)� (!zhx � !xhz)�DY

iTz =

h(Mz � _hz)� !y!x(Iy � Ix)� (!xhy � !yhx)�DZ

i(2.12)

where

DX = Dzy!2y �Dyz!

2z + !x(Dzx!y �Dyx!z)

DY = Dxz!2z �Dzx!

2x + !y(Dxy!z �Dzy!x)

DZ = Dyx!2x �Dxy!

2y + !z(Dyz!x �Dxz!y) (2.13)

The general inertia matrix is described by:

I =

0@ Ix Dxy Dxz

Dyx Iy Dyz

Dzx Dzy Iz

1A (2.14)

and the inverse by:

I�1 =

0@ Jx Pxy PxzPyx Jy PyzPzx Pzy Jz

1A = J (2.15)

Again, h is the total angular momentum due to reaction wheels etc. within thesatellite.

2.2.3 Orbit time and velocity

From Kepler's Theorems (2.1) and Newton's Theorems (2.2) the orbit period, P ,and the velocity, v, at perigee3 can be calculated. Since the velocity changesduring one lap, a satellite has its maximum speed at perigee and its minimumspeed at apogee, only the velocity in perigee or apogee is really simple to calculatein advance.These equations are as follows:

P =2�p�a�

3

2 (2.16)

v =

s�

�2

r� 1

a

�(2.17)

Where a is the semi-major axis as in Appendix B, and the velocity expression isgiven for perigee.

3For de�nitions of perigee and apogee, please see Appendix B.

Page 28: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

10 Satellites in general

2.3 Disturbances in orbit and attitude

Disturbances in space could be a rather extensive chapter, since virtually everyexisting object will act upon the satellite with gravitational forces and moments.To keep this chapter to a reasonable level, some smaller disturbances will thereforebe neglected.How much torques actually will act upon the satellite's attitude depends on thesize-to-mass ratio. If, for instance, the satellite looks like a perfect sphere, therewill probably be only small (not signi�cant) disturbances to the satellite in attitudefrom outer e�ects. But on the other hand, if the satellite looks like a long at rodwe will get e�ects to the attitude from disturbance torques.The main cause to these disturbances might be the Sun, the Earth's atmosphere orthe gravitational �elds of di�erent celestial bodies, but they have a similar impacton a non-symmetric spacecraft.

Example 1If we use the Sun as an example, we can see that the solar wind from the Sun willput an evenly distributed pressure on the satellite. This pressure will be uniformon each part that is exposed to the Sun. You could therefore replace all thesesmall forces with the sum of those on the geometrical middle point exposed to theSun, called the center-of-pressure. If this center-of-pressure is not on the samespot as the center-of-mass, there will be an additional moment. The size of thismoment, or torque, is the force times the distance between the center-of-mass andthe center-of-pressure. In other words, it is not the symmetry of the shape alone,rather the displacement relative to the mass distribution symmetry, that will causethis disturbance.

Similar things as in Example 1 happens when dealing with aerodynamic drag.Gravity gradient, however, is a di�erent story. This is a force that will try to alignthe satellite with the Earth's magnetic �eld. If this seem interesting, the readershould study [27].All of these disturbances can be modeled, and a brief explanation on how is givenin the next few sections. For a more investigative examination of these disturbancemodels, [19] would be to prefer.The reader should note that the oblateness of the Earth is no real disturbancetorque since it can be modeled with a good accuracy. Instead of regarding thisanomaly as a disturbance, it should be considered to be an update to the movementequation, i.e. Equation (2.1).

2.3.1 Solar radiation pressure

The solar radiation pressure is due to photons from the Sun constituting a pressureon the satellite (where the satellite is not eclipsed). To model this disturbance thecolor of the satellite plays a big part since black color, for instance, absorb much

Page 29: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

2.3 Disturbances in orbit and attitude 11

more energy then the color silver (which re ects most energy).If we use the geocentric equatorial coordinates (which are explained in Appendix C),radiation pressure can be modeled. This is done in [19], but there they have takenfor granted that it is a black body4 that travels in space. While this is not com-pletely true, a good approximation of the torque due to solar radiation is:

�x = f cosA�

�y = f cos i� sinA�

�z = f cos i� sinA� (2.18)

Where

f = �4:5 � 10�10 Am [ms2 ]:A = Cross section of vehicle exposed to the Sun [m]:m = Mass of vehicle [kg]:A� = Mean right ascension of the Sun during computation.i� = Inclination of equator to ecliptic (= 23:4349):

Observe that the � and the � signs are common symbols used for the Sun and theEarth respectively.The solar radiation e�ects both the attitude and the orbit of the space craft, sincethe result of a pressure at a point apart from the center-of-mass will constitute atorque. The e�ect on orbit is normally negligible (if the satellite has not got anextremely high altitude) since it is rather small compared to other forces.On the other hand, this is the dominant disturbance force on very high altitudes.Additionally this force is independent of the distance from the Earth (although itobviously is dependent on the distance from the Sun).

2.3.2 Aerodynamic drag

Aerodynamic drag is a disturbance that arises when the satellite move throughthe Earth's atmosphere, which (although it is not dense) is enough for a torque toappear.Accelerations caused by aerodynamic drag can be described as follows:

�r = �1

2CD

A

m�Va _ra (2.19)

4Absorbs all light.

Page 30: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

12 Satellites in general

where

CD = Dimensionless drag coeÆcient associated with A.A = Cross sectional area of vehicle perpendicular

to the direction of motion [m]:m = Mass of vehicle [kg]:

� = Atmospheric density at the vehicle's altitude [ kgm3 ]:Va = j _raj = Speed of vehicle relative to the rotating

atmosphere [ms ]:

_ra =

0@ _x + _�y

_y � _�x_z

1A_r =

0@ _x_y_z

1A = The inertial velocity.

_� = Rate of the Earth's rotation [ rads ]:

To simplify the equations, you could use the ballistic coeÆcient for the vehicle, �,which is de�ned by:

� =CDA

mg

Obviously g is altitude dependent.This force both slows the craft down as well as it starts to spin the craft if thecenter-of-pressure is apart from the center-of-mass.The aerodynamic disturbance is the dominant disturbance beneath � 500 km alti-tude from the Earth, and it depends on the distance from the Earth as e��r, where� is a constant.

2.3.3 Magnetic disturbance torques

The magnetic disturbance torque is a result from the interaction between the space-craft residual magnetic �eld and the geomagnetic �eld. There are three mainsources in the satellite for disturbance torques of this sort, and they are:

1: Spacecraft magnetic momentums

2: Eddy currents (due to spinning motion of craft)

3: Hysteresis (due to spinning motion of craft)

Depending on the material, construction technique and mission, the two lattersources for disturbance can be made negligible. This leaves the spacecraft magneticmomentum as the largest source of disturbance, and the instantaneous magneticdisturbance, Nmag, due to the spacecraft e�ective magnetic momentum, m, isgiven by:

Nmag =m�B (2.20)

Page 31: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

2.3 Disturbances in orbit and attitude 13

where B is the geocentric magnetic ux.This disturbance is dominant in the region between � 500 km to about � 35000 km,and it depends on the distance form the Earth as r�3. To get a complete discussionon how this disturbance torque can be modeled, please refer to [27].

2.3.4 Gravity gradient torque

The gravity gradient torque is a torque that wants to align the craft with theEarth's gravitational force �eld. Since the force�eld will not be constant over allnon-symmetrical objects in orbit, di�erent forces will act on di�erent parts of thesatellite. If the gravitational force-�eld would be uniform, this disturbance wouldvanish.A conceptual expression of the gravity gradient torque can be expressed as:

Ngg =

Zri � dF i =

Z(�+ r0i)�

��Ri

R3i

dmi (2.21)

In Figure 2.2, the de�nitions of the coordinate frame can be found.

r

RS

Ri

r i

Centerof mass

r i'

dm i

Geometriccenter Body

referenceframe

Figure 2.2. Coordinate System for the Calculation of Gravity Gradient Torquede�ned in Equation (2.21)

This torque is, like the magnetic disturbance torque, dominant between � 500 kmand � 35000 km. It depends on the distance from the Earth as r�3.Again, a more thorough investigation on this disturbance torque can be foundin [27].

Page 32: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

14 Satellites in general

2.3.5 Micrometeorites

Disturbance torque from small fragments in space are rare, and often not takeninto account at all. This text will not be bothered with such random events.

2.3.6 Oblateness of the Earth

Accelerations caused by the asymmetry of the Earth, i.e. the fact that the Earthis slightly attened by its poles, is rather diÆcult to model. The force in Equa-tion (2.1) will actually not be directed at the center of the Earth as stated beforewhen assuming Earth to be a perfect sphere, rather slightly more against the equa-tor since the Earth has more mass in that region.Therefore this anomaly is regarded as an update to Equation (2.1) rather then aperturbation of its own.The main resulting update acceleration, still according to [19], to Equation (2.1)becomes:

a = r� (2.22)

� =�

r

"1�

1Xn=2

Jn

�r�r

�nPn sinL

#(2.23)

where

� = GM (The planetary gravitational constant).Jn = CoeÆcients to be determined by experimental observation.r� = Equatorial radius of the Earth.Pn = Legendre polynomials.L = Geocentric latitude.sinL = z

r:

For n = 2 to n = 4 the terms of Jn are experimentally determined to:

J2 = (1082:64� 0:03) � 10�6J3 = (�2:5� 0:1) � 10�6J4 = (�1:6� 0:5) � 10�6

It is fairly easy to see that these equations, printed in their respective direction,will be rather large. Therefore they will not be printed here. To see the completeexpressions, consult [19], where one also can �nd three more terms of Jn.The disturbance due to the oblateness of the Earth is a disturbance that can becompletely modeled, and is not one completely consisting of white noise. Thereforeit seldom is regarded as a disturbance at all, but rather as a modeling error.

2.3.7 Discussion on the magnitude of disturbances

According to [27] disturbance forces vary with the altitude. In the lower regions(near the Earth) the aerodynamic drag constitutes the largest force. But on higher

Page 33: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

2.3 Disturbances in orbit and attitude 15

Disturbance Region of dominance Distance dependenceAerodynamic . 500 km e��r from the EarthGravity Gradient � 500 km to � 35000 km r�3 from the EarthMagnetic torques � 500 km to � 35000 km r�3 from the EarthMicrometeorites Normally negligibleSolar radiation & 20000 km r�3 from the SunOblate Earth Considered a model error

Table 2.1. An estimate of disturbances in space

altitudes, where the Earth's atmosphere is less dens, the force and torque caused bysolar pressure dominates. Even the moons gravitational force vary in time. Whenthe satellite is near the moon, it will obviously be subject to a larger magnitude offorce from the moon compared to when the satellite is on the opposite side of theEarth.Every other force, such as gravitational forces from the other planets and there ected solar pressure from the Earth and the moon, acting on a satellite aresmall enough to be completely discarded. The reason for this is that they willvanish in the systems noise.To sum this chapter up, a simple table where magnitude of disturbances can befound is given in Table 2.1. Observe that these �gures are representative and notnecessarily completely correct. For further reading, the reader should look into [27].

Page 34: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

16 Satellites in general

Page 35: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Chapter 3

Orbits and missions

Before conducting a more thorough investigation on how to stabilize a spacecraftwhen it is operational in orbit, something should be said about how a satellite isput into orbit and what kind of orbits there are. This is what this chapter containsalong with di�erent mission de�nitions.

3.1 From launch to orbit

There are but one way to get a satellite into the correct orbit that we know oftoday. And that is by launching it with a rocket, which is separated at a givenaltitude. After that, a series of thruster burns has to be made to reach the desiredorbit.For large satellites this is pretty much what happens. An adapter cone is bolted tothe carrier rocket and the satellite is mounted on top of it. The reason for using anadapter cone is both the need for a separation system between the rocket and thesatellite and the fact that carrier rockets are manufactured in particular diameters,and the satellite often has other dimensions. The adapter cone supplies both ofthese functionalities.For small satellites, however, other launch possibilities may be used. If it is re-ally small, it can use a big satellite as a transport, i.e. a large craft has manysmall satellites inside, and deploy them at their destined position. Another meanto travel into space is by hitchhiking with a larger satellite. This is similar withthe previous transport method, except that it does not use the main satellite atall. Instead it is attached to the rocket, in one way or another, and separates afterthe main satellite has separated. This is a good solution to keep cost down, sincecarrier rockets often has a capacity to take more weight then it often does. A shortpresentation of these di�erent methods will be presented in Chapter 4.Often launches happen near the equator, this is due to the Earth's oblateness. Itis simply not as much gravity near the equator compared to the poles, thus not asmuch fuel or as big carrier rockets are needed. The Russians, however, has a launch

17

Page 36: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

18 Orbits and missions

site called Plesetsk in northern Russia, for instance. There, the carrier rockets lookvery di�erent. Instead of only one main rocket, they have attached several boosterrockets to the side of the main one to be able to put the satellite into the wantedorbit, thus making these launch vehicles one of the most powerful in the world.There are other ways to launch small satellites into space than the previous men-tioned. There are, for instance, old intercontinental rockets that has been rebuildto take small crafts into space instead of dumping destructive power. These othermethods will not be mentioned any more in this document.

3.1.1 Orbits

When the satellite is positioned into space by its rocket, it sometimes is parkedin the correct orbit directly. But since this seldom is the case, the satellite oftenhas to make a series of thruster burns to get into the right position. When thisis the case, the satellite is parked into another orbit called a GTO (Geo TransferOrbit). This is an orbit that will intersect with either the correct orbit or anotherGTO, although the latter is seldom the case. The reason for this is that these kindof maneuvers are fairly expensive to do, therefore is it pro�table to separate thesatellite in as good position as possible.When making a transfer between two di�erent orbits a Hohmann transfer is often

If you get your velocityboost here, you'll go from

a circular orbit to anelliptical orbit

If you give your velocity aboost here, you can

change your orbit from anellipse to a larger circle

Assume that webegin with acircular orbit

Figure 3.1. A Hohmann transfer from one circular orbit to another in the sameorbit plane using minimum amount of energy.

Page 37: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

3.1 From launch to orbit 19

used. A Hohmann transfer uses the minimum energy path between the orbits inthe same orbit plane, and is done in two stages. First a thruster burn changes thecurrent orbit into a GTO, whose apogee (the orbits maximum distance from theorbited object) is exactly in the wanted orbits path. Then, when the satellite hasreached the orbits apogee, another thrust is made, and the new orbit is attained(see Figure 3.1).To do a transfer between orbits in di�erent planes, a Hohmann transfer may notbe the optimal one, but it will still work.There are four di�erent kinds of orbits that are often referred to according to [3],GEO (Geostationary Orbit), LEO (Low Earth Orbit),MEO (Medium Earth Orbit)and HEO (Highly Elliptical Orbit). The following sections will describe these typesof orbits in more detail.

Figure 3.2. Geostationary orbit as well as two Low Earth Orbits; A Polar Orbitand an ordinary LEO [3].

GEO

Geostationary orbits are circular orbits that are oriented in the plane of the Earth'sequator. In this orbit, the satellite appears stationary, i.e. in a �xed position, toan observer on the Earth. More technically speaking, a geostationary orbit is acircular prograde1 orbit in the equatorial plane with an orbit period equal to thatof the Earth; this is achieved with an orbit radius of 6:6107 (equatorial) Earth radii,or an orbit height of 35786 km. A satellite in a geostationary orbit will appear �xedabove the surface of the Earth, i.e. at a �xed latitude and longitude.The footprint2, of a geostationary satellite covers almost 1/3 of the Earth's surface.This means that near global coverage can be achieved with a minimum of three

1With the same rotational direction as the Earth.2The area covered.

Page 38: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

20 Orbits and missions

satellites in orbit.This orbit should not be mistaken for the geosynchronous orbit. The de�nition forthis kind of orbit is:

De�nition 3.1 (Geosynchronous orbit) A geosynchronous orbit means that asatellite makes one orbit every 24 h so that it is \synchronized" with the rotationperiod of the Earth.

This will happen at an altitude of approximately 36000 km above the Earth's sur-face.This de�nition does not say anything about the orbits position, thus geostationaryorbit is a synchronous orbit, but not necessarily the other way around. The reasonfor this is that the geostationary must be in orbit in the Earth's equatorial plane,thus being a small subset of the geosynchronous ones.The orbit location of geostationary satellites is called the Clarke Belt in honor ofArthur C Clarke who �rst published the theory of locating geosynchronous satel-lites in the Earth's equatorial plane for use in �xed communications purposes [6].See also Figure 3.2 or Figure 3.3.

LEO

LEOs (Low Earth Orbits) are either elliptical or (more usual) circular orbits ata height of less than 2000 km above the surface of the Earth. The orbit periodat these altitudes varies between 90min and 2 h. The radius of the footprint of acommunications satellite in LEO varies from 3000 km to 4000 km. The maximumtime during which a satellite in LEO orbit is above the local horizon for an observeron the Earth is up to 20min.In this category, which is the most common orbit type, there are several subtypesof orbits. For instance there is a Polar orbit where the orbit almost has a 90Æ

inclination3, and a Sun synchronous orbit where the satellite never is shaded fromthe Sun by the Earth.Most small LEO systems employ polar, or near polar, orbits. A complete globalcoverage system using LEO orbits requires a large number of satellites, in multipleorbit planes, in varied inclined orbits. See example below.

Example 1The currently in operation Iridium (Motorola) system, utilizes 66 satellites (plussix in orbit spares) in six orbit planes inclined at 86:4Æ at an orbit height of 780 kmwith an orbit period P = 100min; 28 sec. Global coverage with this single systemis an astounding 5:9 � 106miles2 per satellite.

See also Figure 3.2 or Figure 3.3, where di�erent examples of LEOs are given.

3Inclination is part of the Keplerian Orbital Elements, which is a way to describe orbit planesof a satellite. In Appendix C, a description of these coordinates are given

Page 39: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

3.1 From launch to orbit 21

Figure 3.3. Usual orbit de�nitions from the Earth's center and out; Low EarthOrbit, Medium Earth Orbit, Geostationary Orbit and Highly Elliptical Orbit.Also two examples of Russian HEO is given (the communication satellite systemsMolnya and Tundra) [3].

MEO

MEOs (Medium Earth Orbits), also known as ICOs (Intermediate Circular Orbits),are circular orbits at an altitude of around 10000 km. Their orbit period measuresabout 6 h. The maximum time during which a satellite in MEO orbit is abovethe local horizon for an observer on the Earth is in the order of a few hours. Aglobal communications system using this type of orbit, requires a modest numberof satellites in 2 to 3 orbit planes to achieve global coverage. See also Figure 3.3.

Example 2The US Navstar Global Positioning System (GPS) is a prime example of a MEOsystem (see Figure 3.4).

Page 40: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

22 Orbits and missions

Figure 3.4. The US Navstar Global Positioning Systems nominal constellation.Using 24 satellites in 6 orbit planes with 4 satellites in each plane. The altitudebeing 20200 km and the inclination 55Æ, thus laying in a MEO orbit [3].

HEO

HEOs (Highly Elliptical Orbits) for Earth applications were initially exploited bythe Russians to provide communications to their northern regions not covered bytheir GEO satellite networks. HEOs typically have a perigee at about 500 km abovethe surface of the Earth and an apogee as high as 50000 km. The orbits are inclined

Page 41: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

3.2 Missions 23

at 63:4Æ in order to provide communications services to locations at high northernlatitudes.The particular inclination value is selected in order to avoid rotation of the apses,i.e. the intersection of a line from the Earth center to apogee, and the Earth surfacewill always occur at a latitude of 63:4Æ North. Orbit period varies from eight to24 h.Owing to the high eccentricity of the orbit, a satellite will spend about two thirdsof the orbit period near apogee, and during that time it appears to be almoststationary for an observer on the the Earth (this is referred to as apogee dwell).A well designed HEO system places each apogee to correspond to a service areaof interest, i.e. which would cover a major population center, for example in theRussian Molnya satellite system designed to cover Siberia, see Example 3.After the apogee period of orbit, a switch-over needs to occur to another satellite inthe same orbit in order to avoid loss of communications to the user. Free space lossand propagation delay for this type of orbit is comparable to that of geostationarysatellites. However, due to the relatively large movement of a satellite in HEO withrespect to an observer on the Earth, satellite systems using this type of orbit needto be able to cope with large doppler shifts.

Example 3One HEO systems is the Russian Molnya system, which employs 3 satellites inthree 12 h orbits separated by 120Æ around the Earth, with apogee distance at39354 km and perigee at 1000 km. With these three satellites, the Russians havecomplete coverage with communications over the whole arctic area, including theirown country.Another example is the Russian Tundra system, which employs 2 satellites in two24 h orbits separated by 180Æ around the Earth, with apogee distance at 53622 kmand perigee at 17951 km.

In Figure 3.3 two HEOs are shown.

3.2 Missions

There are a variety of missions possible for satellites. A few of them have alreadybeen mentioned, but will be discussed a little more in detail in this chapter. Ob-serve that all of the below mission classi�cations are strictly subjective to my ownopinion, and are drawn from observation of previously launched satellites missionspresented in [14]. Other books may therefore have other classi�cations, but in thistext these ones are used:

Communication: If a commercial companiy own a satellite, it probably belongto this category. TV broadcasting, some of the Internet traÆc, radio and afew telephone networks are a few examples of communication satellites.

Page 42: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

24 Orbits and missions

1.7 %Education

11.0 %Tech Demo

2.3 %Military

69.2 %Commercial

14.4 %Science

1.4 %EO

Figure 3.5. Di�erent market shares of missions calculated to the year 2000.(Source is [14]).

Earth Observation: In this category you can �nd weather monitoring satellitesas well as environment monitoring satellites. Commercially some companiessell photographs of the Earth taken from satellites. Also, maps are nowadaysdrawn from satellite photos, and lastly tracking airplanes and certain boatsis also a �eld of use belonging in this category.

Military: These satellites are for defense and o�ense use. For instance there arespy satellites, taking high resolution pictures of the Earth. A few satellitesbelonging in this mission pro�le could also be Earth surveillance satellites,such as weather satellites, or global positioning satellites. Yet another mayalso be some sort of communication satellites. The common ground, howeveris that all are used in military purposes.

Education: Some universities have courses that build satellites to send into space.These satellites are usually small. Links to many of these universities andcourses can be found at [14].

Page 43: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

3.2 Missions 25

Tech demo: Companies that want to try their components, and show the con-sumers that they actually work, send these kinds of satellites into space. Theysometimes also have secondary missions.

Science: This is by far the widest and the most diverse category. These satel-lites do everything from observing (such as the Hubble Space Telescope) viaresearch on solar phenomena to research on other planets (such as the Mars-lander).

Global Positioning: This is, in contrast to the previous item, the most narrowcategory. All of the satellites with these missions actually has the same kindof orbit, a MEO orbit.The NAVSTAR GPS is a US variant of this system. A European one, calledGALILEO, is on the way, but will probably take at least a few years beforeoperational (See [8]). There also exist a Russian variant of global positioning,called GLONASS (Global'naya Navigationnaya Sputnikovaya Sistema GlobalNavigation Satellite System), which is the most accurate global positioningsystem on the market today. See [22] for further information.

0

10

20

30

40

50

60

70

80

1980

1982

1984

1986

1988

1990

1992

1994

1996

1998

EO Education Science Tech Demo Military Communications

Figure 3.6. Di�erent missions market share divided per year since 1980 to theyear 2000. Source is [14].

Global positioning does not really make up a category by itself, rather it is acombination between Earth observation and military. But for simplicity they gettheir own �eld.In Figure 3.5 one can clearly see what the most common missions for satellites are,

Page 44: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

26 Orbits and missions

and in Figure 3.6 a historical aspect of di�erent missions are given (observe thatEO stands for Earth Observation). These charts are derived from [14].It would be an easy guess that there are mostly communication satellites in space,but tech demo has a surprisingly large share. The probable cause of this could bethat the space industry is extremely conservative, and no one will spend any moneyon a satellite that has not been tested in reality at least a few times (except maybegovernments or the military). This has lead to a most peculiar phenomena; oldproven technology is preferred over new and advanced (i.e. a 386 computer wouldbe preferred over an Intel Pentium 5 computer, for instance).

Page 45: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Chapter 4

A study of small satellites

Nowadays there are several satellites in orbit. Most common are communicationand Earth surveillance satellites, but these are fairly big satellites. Smaller ones,i.e. with a weight . 500 kg are called small satellites. These are historically few,but they are growing in numbers as we will see in this chapter.

4.1 Previously launched satellites

Figure 4.1. Small satellites (i.e. mass . 500 kg plotted per month since 1980. Asteadily growing market. (The data resolved from [14]).

27

Page 46: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

28 A study of small satellites

The history of actual space ight is, as almost every one of you probably alreadyknow, extremely short. But, on the contrary, the long road from discovering blackpowder to the actual �rst launch is a bit more extensive, and is brie y describedin Appendix D.If we just look at small satellites, the main missions usually are global positioning,weather surveillance and of science nature. If we divide small satellites even more,into mini (< 500 kg), micro (< 100 kg) and nano (< 10 kg) satellites, we can com-pare the number of launches that have been historically (that we know of) withthe weight of the launched satellite. This comparison has been done in [14], andthe result is shown in Figure 4.1.From �gures 4.1 and 4.2, one can see that between 1997-1999, when the informationtechnology had its peak, the increase of launched small satellites was substantial.

0

10

20

30

40

50

60

70

80

1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

Mini Micro Nano

Figure 4.2. Mass distribution of launched small satellites divided per year. Fig-ure obtained from [14].

Page 47: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

4.2 Tendency in launches today 29

4.2 Tendency in launches today

To guess the future in this area is rather diÆcult. There is not much happeningright now, but in the future there will probably be a new \boom". The reason forthis is the lifetime of satellites. Most satellites have some kind of solar panels, whichmeans that they can restore its power resources. There is one problem though. Tochange orbit, or just adjust it, the satellite needs to use thrusters of some kind,and they all uses resources that are not renewable. Therefore, the satellite will runout of fuel at a certain age (which ranges from anything between a couple of yearsto a couple of decades depending on the propelling system, size and mission etc).When it runs out of fuel, it will use its last propellant to do a graveyard burn1,and burn up.This problem with fuel running out can be solved in a few ways. Either, the ownercould just replace the satellite with a new one, or they can send a refuel and repairteam to it. There are a lot of communication, weather and positioning satellitesin space now, that are growing very old, therefore there will probably be severallaunches in the future, with the aim on renewing the population.Since the actual launch is among the most expensive parts of a satellite, there willprobably be a lot of companies/scientists that will try to take advantage of othersthat want to renew their satellites in space. Because with smaller crafts there is apossibility to \hitchhike" into space, thus reducing cost tremendously.

4.3 Customers

The market for satellites can be devided into �ve main categories (according to [14]):

� Military (example type: spy or weather satellite)

� Amateur (example type: radio relay satellite)

� University (example type: student research projects)

� Commercial (example type: TV broadcast or GPS)

� Government (example type: research or weather satellites)

Historically the government has been the customers that has been the longest timein the business (for small satellites), see Figure 4.3. But historically, the commercialgroup have increased their market share considerably, as we can see in Figure 4.4.

1A way to prevent the space to be �lled with trash. The procedure is simply to �re a seriesof thruster burns that will cause the satellite to fall down to the Earth in such an angle that itburns up.

Page 48: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

30 A study of small satellites

5.1 %Amateur

35.1 %Military

5.4 %University

37.1 %Commercial

17.3 %Government

Figure 4.3. Di�erent customers market share for historically launched smallsatellites. (Source [14].)

4.4 Potential use

This section will discuss how and to what small satellites could be, and are, used.There are probably more ways to use them than these, and the interested readercould look into [14, 27].

4.4.1 Dispenser

One way to use these small satellites is as transportation and deployment of evensmaller ones, for instance nano satellites. This kind of satellite is usually called adispenser, since it dispense smaller crafts in space. The advantage with doing thisis that many small satellites can share one launch. Since, as stated several timesin this text, the launch is the far most expensive part of a satellites total cost, thiswould lower the cost per satellite tremendously.The use of many small satellites can be motivated by the obvious reason of re-dundancy. If one large satellite malfunctions, you are smoked, but if a small onemalfunctions, there are others that still work.Dispensers are increasing in number especially in space research missions, sincemany research projects can share the space, and cost, of the launcher and thusbecome less expensive.

Page 49: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

4.4 Potential use 31

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1979

1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

Government Commercial University

Amateur Military

Figure 4.4. Market share between di�erent customers for small satellites dividedper year. Notice the trend that military is decreasing and commercial is increasingtheir market share. (Data derived from [14].)

4.4.2 Main vehicle

As a main vehicle there are some limitations when speaking of small satellites.Since they are just that, much of the interior will be aimed at controlling thevehicle, which leaves a \not so big" space left for the payload. The budgets2 forthe payload are also much smaller.

2There are two types of budgets usually referred to, power and weight budget. Since the craftis not allowed to run out of either of them, these will be fairly small on a small craft.

Page 50: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

32 A study of small satellites

4.5 Ways to launch small satellites

As said before, the main advantage of sending a small satellite into space is that itcan \share" the launch vehicle with other satellites, thus reducing the launch costfor each satellite. There are but a few ways to hitchhike into space on the markettoday, and these ways are brie y discussed in the next couple of sections.

4.5.1 ASAP

The ASAP, Ariane Structure for Auxiliary Payloads, is a way to launch severalsmall satellites at the time, by mounting them on a \rig". The rig is mounted onthe adapter cone, and in space the main satellite separates before the hitchhikingsatellites does. See Figure 4.5. ASAP is meant to be sent by the carrier rocketAriane.ASAP is a fully working system in use. The main drawback is the additional workbefore launch that must be done. Test and rocket parameters has to be changedfor this to work.Further information can be found at [14, 23]

4.5.2 ESPA

Lockheed Martin, Boeing and Alliant Techsystems, three manufacturers of thelaunch vehicles called Atlas, Delta and Titan respectively, have developed a stan-dard together for the US government, called EELV (Evolved Expandable LaunchVehicles) according to [7]. This standard implies that a satellite that can bemounted on top of one of these carrier rocket also can be mounted on the otherones. Together they have also developed the Secondary Payload Adapter for EELV,called ESPA. Here, the small satellites are mounted as in Figure 4.6.The main drawback with this kind of satellite transport is the placement. Mostof the forces acting on the launcher are in the verical plane, which coincides withthe separation plane for all of these small satellites. This is not good, since theseparation systems is the weakest point and should not be exposed to any stress.For further information about ESPA, consult [9].

4.5.3 Munin

Munin is an example on how to have but one other satellite hitchhiking. In thisconcept, a small satellite resides on top of the main satellite. These two satellitesare separated with a small separation system. For further information about theMunin project, consult [2].

4.5.4 I-Cone

I-Cone stands for intelligent cone, and is a concept to use the actual adapter-coneas a separate small satellite (or as a dispenser). Since the main structure of anadapter-cone must look a certain way to be able to hold the main satellite in place

Page 51: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

4.5 Ways to launch small satellites 33

Secondarysmall

satellites

The rigAdapter-cone

Primarysatellite

Figure 4.5. How small satellites are mounted on a carrier rocket with the ASAPsystem. A ring is bolted to the adapter-cone beneath the payload. On this ring,one can see �ve small satellites residing. Figure obtained from [14].

Page 52: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

34 A study of small satellites

EELVStandardInterface

PlaneESPA

SmallSecondarySpace-craft

LargeSecondarySpace-craft

Separation plane ofSecondary Spacecraft

Small SecondarySpace-craft

PrimarySpace-craft

EELVupperstage

Figure 4.6. Schematic of ESPA mounted to EELV upper stage with one primarypayload and six small satellites. (Reference is [1].)

at take o�, the structure of the cone must be very stern. Thus resulting in aheavy construction, which actually is the main limitation to the I-Cone concept.In Figure 4.7, a suggestion of how an I-Cone satellite could look like is shown.F3A is a SE Space used \slogan" for I-Cone. It stands for four di�erent positivecharacteristics of the satellite:

Fast: The time to develop an I-Cone from the concept to the complete productis short.

Frequent: Since a I-Cone can be launched with any kind of launch vehicle, thesatellite can gain a frequent access into space.

Flexible: The I-Cone is built in such a way that it �ts many di�erent missions,such as Tech Demo, Commercial or Military for instance. Furthermore is theI-Cone independent of the main satellite.

A�ordable: The most expensive part of a satellite is the launch cost, as saidbefore. This concept could however dramatically decrease this cost. Byutilizing the launch vehicles over capacity, I-Cone is a�ordable, compared toother small satellite launch devices.

Page 53: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

4.5 Ways to launch small satellites 35

Figure 4.7. Suggestion how an I-Cone could look like as a small satellite con�gu-ration. Notice the non-symmetric mass distribution over the area of the satellite.By courtesy of Saab Ericsson Space [24].

There are several potential missions for I-Cone. But in general, certain orbits areto prefer. It all comes down to the weight of I-Cone. Since it is heavy, relative toits size, it is diÆcult to move the satellite around to much, thus excluding GEOorbits which needs a lot of thruster burns to reach. But on the other hand, dueto the weight it also becomes more stable which makes it an excellent choice forLEO-missions and MEO-missions with high accuracy preferences.

Communication satellite

This could be a �eld of interes for the I-Cone unless the orbit is a GEO. The reasonfor this is its weight. To get into a GEO, a series of thruster burns has to be donein order to get the right altitude and speed in the circular orbit, and when a craft isas heavy as I-Cone, it will consume too much energy to make it a sound alternative.

Positioning systems

This could also be interesting for the I-Cone, since geopositioning systems demandaccurate position, high stability and a lot of satellites. Further more, since the

Page 54: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

36 A study of small satellites

position and attitude is important for the satellites, much fuel is consumed. Thisway, if an I-cone was to be used, all four of the F3A atributes are utilized in full.

Main vehicle

The prospect of making I-Cone into a satellite of its own seems to be the mostprobable. Then the bus inside I-Cone would take 3

4 of the space, leaving the restfor the payload.

Dispenser

This is a highly interesting area for the I-Cone concept, since no other companyas yet has come forth with a good solution how to attach small satellites onto arocket in a good manner. I-Cone could be the �rst real good solution, since themain structure is not a�ected by them at all.

4.6 The need for small satellites

Small satellites is a growing market. But this market could grow even more if asolution to how they could be launched into space in an easier and cheaper way wassolved. There are four possible ways to hitchhike into space present at the markettoday, but all of them have some drawbacks. Since no good solution has beenfound, companies launching large satellites (communication satellites for instance)are not happy to have hitchhikers. SE Space solution, however, might change this,since the actual small satellites are almost invisible to the main satellite. Thisconcept, called I-Cone, could therefore have a promising future.If we look historically on the small satellites development, one can clearly see thatmore small satellites are being sent up every year. But when looking at the missionsand costumers, there have been big changes from year to year. At the end of theperiod researched in this article, the most usual satellites launched into space werecommercial communication satellites, compared to just a few years earlier whenresearch and government was in top of the list \most launched". Since the ITbusiness is bad right now, this has probably changed back to the previous scenariowith science as prime focus of space missions.In the future however this will probably change again. The reason why this mightbe is the expected life-time of satellites. Since they eventually will run out of fueland head towards the Earth and burn up, they must be replaced. This means thatsatellite launches of communication satellites probably will increase again in a nottoo distant future.What this means for the small satellite industry is diÆcult to predict, but sincelaunches will increase, so will the possibility to hitchhike with the larger satellites.

Page 55: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Chapter 5

Orbit and attitudestabilization

In order to interact with other bodies in space in one way or another, the satellitemust have knowledge of a few things. It must know how it is, and how it should beoriented. This chapter deals with aspects of this matter, and especially it focuseson the AOCS used to control a spacecraft. It starts by describing ways to determineif the attitude is correct in Section 5.2.1, and continues with discussing the meansto make changes to a satellite's orientation in Section 5.2.2.Actual stabilization methods are described in Section 5.3, but �rst a short note onredundancy measures would be in order.

5.1 Redundancy

Since it is expensive to launch a satellite, ss stated above in Chapter 3, it would becatastrophic if something in the satellite, such as sensors or actuators for instance,malfunctions. Two things are done to ensure that this never happens. First, all ofthe equipment endures heavy tests, and second, many of the sensors and actuatorshave a \spare", i.e. if for instance three sensors of one sort is needed, four are usedinstead so that if one breaks, the other ones will still be able to complete the task.For larger networks of satellites, such as GPS for instance, spare satellites are alsoorbiting the planet. This kind of redundancy is needed incase one or more of thesatellites malfunctions in one way or another. Then the spare satellite could fastand easy replace the ase one.

5.2 Sensors and actuators

To control a spacecraft, we need to know three fundamental things; where we are,where we should be and by what means we can take us there. The �rst question

37

Page 56: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

38 Orbit and attitude stabilization

has to be solved with some sort of sensors. The second has to be given in advance(the user has to know where the satellite should point, which orbit the satelliteshould have and what the maximum allowed error is). The means by which thesatellite will be controlled are called actuators. All of these three things will bedealt with in this chapter, starting with sensors and actuators.The sensors and actuators are very expensive parts on satellites, since the precision,as well as the durability, of these instruments might be very high (depending onthe mission). Since they have to be able to withstand the climate in space eventhe cheapest sensors and actuators must have a certain standard. To keep costdown, companies that manufactures satellites tries to use COTS1 in as far extentas possible. Speci�cations, and a short description, for a few of these COTS can befound for sensors in Table 5.1 and for actuators in Table 5.2. Most of these sensorscan be modeled, and although that will not be done in this text, a more thoroughexplanation will be given in the next few chapters. If the reader is interested inhow to model them, [27, 18] is preferable.

5.2.1 Sensors

A sensor is a device that by some mean can determine something about the sur-rounding environment. It could be a thermometer measuring the temperature, aGeiger-meter that measures the activity on isotopes or a hydrometer measuringthe dampness in the air etc. In the satellite's bus, actuators are used to direct thespacecraft if the attitude is erroneous. Hence it needs sensors that can determinethe current attitude. There are many ways to do this, the next few sections con-stitutes a list of a few of these sensors, and a summary of these can be found inTable 5.1.

Earth sensors

An Earth sensor measures where the edge of the Earth's atmosphere is. Thereforethis kind of sensors sometimes also are called horizon sensors. Since the atmo-sphere is warmer then the surrounding space, an IR-sensor2 �nds where this edgeis.By itself this does not give much information, since this kind of sensor only knows ifit points toward the Earth or not. But with additional sensors it might be possibleto determine more about the attitude for the spacecraft. Especially when usingspinning stabilization3 with the spacecraft, this sensor is suitable according to [18].An Earth sensor is relatively cheap, and has increasing precision the further awayfrom the Earth it is. Therefore this sensor often is used as a complement to othersensors, for instance a sun sensor. With a sun sensor and two Earth sensors, thecomplete attitude can be determined.The Earth sensors can also be used as \moon sensors", but this is seldom the case

1Commercial O� The Shelf products, i.e. cheap standard products2A sensor measuring heat radiation, i.e. temperature3Di�erent stabilization techniques are discussed in Section 5.3.

Page 57: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

5.2 Sensors and actuators 39

SensorsEarth sensor Measures the edge of the Earth's atmosphere (by IR),

to determine the attitude. The output is only adirection (i.e. only one axis can be establishedwith these kind of sensors.

GPS Lets the satellite know its position based onother satellites position (the geopositioningsystem). Dependent on other satellites. Returnsthe spacecraft position (the onlysensor that actually determines the satellitestrue position). Could also be used to get theattitude.

Gyros Notices changes in attitude in one direction per gyro.Fast sampling, but high drift rate, i.e. needs to becalibrated often. Not disturbed by other objects.

Magnetometer Determines the crafts attitude by measurement ofthe Earth's magnetic �eld.

Startracker Identi�es the crafts orientation by movement ofthe stars relative the craft.Very expensive and extremely accurate. Returnsattitude in all three directions as well as therates. Sampling is slow, and it is useless if anycelestial object such as the Earth, the moon or theSun gets in the way.

Sun sensor Measures the angle in which the light of the Sunfalls on the satellite. Attitude by this canonly be measured in maximum two axes.

Table 5.1. Sensors used for attitude and, in one case, position determination.

since it is pretty diÆcult to keep track of the Moons position.

GPS

By using the GPS, it is possible for the satellite to determine its exact positionall the time. This is the only sensor that has the ability to determine not just theattitude, but also the position of the vessel. Actually, the only thing that can bedetermined is the position, but by using two GPS sensors apart from one another,the correct attitude could also be found.The drawback of this system is, for instance, that it is expensive. Furthermore,it is only possible to determine the satellites position if its orbit is beneath MEO.Additionally, the navigation equipment would be dependent on other satellites.The last point is actually worse than it seems, since its expensive to send somethinginto orbit, it would be quite disturbing to �nd that it crashes due to a glitch in

Page 58: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

40 Orbit and attitude stabilization

another satellite.If the orbit is a LEO, and the mission of the satellite has high demands on theposition, a GPS should be an interesting alternative. But it is far more commonto use ground observations for orbit determination, and sending control signalsdirectly to the satellite.

Gyros

There are several types of gyros on the market. In this text, two of them will bediscussed and if further information is needed or wanted, consult [18].First there is the ordinary gyro, also known as a rate gyro, which can determine asatellites angular acceleration in one axis by using the gyroscopic e�ect. Second,there is a gyro called a laser gyro which actually are not a gyro at all. Insteadof using the gyroscopic e�ect, as \real" gyros, a laser gyro determines the angularrate by sending two laser pulses in separate directions in a circle. After manylaps in this circle, an angular acceleration would have created a phase shift in thewavelength. This can be measured, and hence can the angular rate be measuredtoo.An advantage of these gyros is that they are not dependent on exterior movements,such as where other celestial object are, at all. Another advantage is that they canbe relatively cheap, depending on how accurate you want them to be.One drawback with ordinary gyros is that they have a \drift rate". This meansthat they have an error, and that this error is additive. Therefore these gyros haveto be calibrated once in a while. Another drawback is that they only can measureaccelerations in one direction.Gyros are often used in satellites, and in each satellite there usually are four gyros.The reason for this is that if one stops working, there are still enough of them leftfor all three axis to be determined, i.e. redundancy.

Magnetometers

Earth's magnetic �eld varies over the globe. This fact was considered when con-structing the sensor called magnetometer. This sensor determines a satellites at-titude by measuring the direction and possibly the strength of the local magnetic�eld. It has a limitation of 0:5Æ in accuracy. Sensing the direction of the Earth'smagnetic �eld, however, only gives information of the attitude in two axes.This kind of sensor does not need exterior sensing. Rather it could be enclosedinto a black box as in Figure 5.1.

Startrackers

A startracker is the most expensive sensor on the market. It is also the one deliv-ering the best approximation of the satellites attitude. There are some drawbackswith these kind of sensors, though. They are extremely sensitive to light, they donot work if they are shadowed by another object, and their sample rate is slow(� 1Hz).

Page 59: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

5.2 Sensors and actuators 41

Startrackers are commonly used for three-axis stabilization (see Section 5.3.3),where they often are used in pairs placed orthogonally to the solar panels andpointing in separate directions. This way, they will hopefully never get sun lightdirectly into the sensor opening, and if one is covered, the other one probably isnot.The advantages with startrackers are that they return data which do not have tobe processed afterwards. Furthermore, one single startracker can give the correctattitude, angular velocity and rate acceleration with a very high precision. Usingone of these as attitude determination often gives pointing accuracies in the regionof arc seconds.A typical way that a startracker looks like is presented in Figure 5.1.

Sun sensors

This sensor type, sun sensors, is actually a device measuring the angle in whichthe sun beams fall on the satellite. This way, the direction to the Sun can bedetermined. The rotation however can not be determined, since another sensormeasurement is needed for this. A sun sensor placed on the solar panels willalways head in the Sun's direction, but need an additional sensor measuring theangle on the solar panels relative the craft.Often when using sun sensors, the whole craft has a hemispherical coverage withthem. The reason for this is that many of the components or S/S are dependenton, or destroyed by the sun. Therefore the sun always needs to be tracked, so thatthe solar panels gets sunlight while the startrackers do not, for instance.

5.2.2 Actuators

Actuators are the combined word for the means of attitude adjustment and travelin space. This means that they actively add a torque or a force to the craft. Theeasiest of these two operations is adding a torque. To change the orbit or attitudewith a force, one has to do it by using resources that are not renewable, i.e. withsome sort of fuel. Torque, on the other hand can be added with reaction wheels,described later in this chapter, which uses renewable electricity as energy source.The following sections describe di�erent often used actuators, which are all outlinedin Table 5.2.

Magnetorquers

Magnetorquers use the Earth's magnetic �eld to generate a momentum by addingan electric �eld. It is often used to unload reaction wheels in a LEO orbit, forinstance.Since the only thing the craft has to do is to generate an electric �eld, the energysource is completely renewable.One example on how these magnetorquers could look like can be found in Figure 5.1.

Page 60: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

42 Orbit and attitude stabilization

Figure 5.1. Two examples of how di�erent sensors and actuators could look like.The upper one is a sensor, a startracker, and the other sensor is the black box atthe bottom, a magnetometer. The two actuators are located at the sides, wherethe ones on the right are reactionwheels and the left ones are magnetorquers (ortorquer rods).

Momentum wheels

Momentum wheels is another way of passive stabilization described in Section 5.3.It is one or more wheels, which often are a bit larger then reaction wheels, thatspins. When spinning, small disturbance torques are swallowed by the moment ofinertia, thus resulting in that they vanish.The main di�erence between reaction wheels and momentum wheels are that thelatter has a momentum bias, i.e. speed from the beginning, while the reactionwheels have not4.

4You could of course say that reaction wheels have a momentum bias that is zero.

Page 61: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

5.2 Sensors and actuators 43

ActuatorsMagnetorquers Uses the Earth's magnetic �eld to generate a force

in the direction we want to. Uses renewablepower, which makes it long lasting.

Momentum wheels A large spinning wheel that makes the satellitework like a spinning craft (passivestabilization)

Reaction wheels Disturbances is compensated by anotherdisturbance in the opposite direction. Usesrenewable power, but needs to be unloaded incase the wheels start to move to quickly. Wealso get an internal momentum of inertia.

Thrusters Disturbances are thrust compensated. Notrenewable.

Table 5.2. Actuators used for space attitude and orbit determination.

Reaction wheels

These actuators accumulate disturbing torques by adding an opposite torque. Thisis done with small wheels inside the craft. If the disturbance is in the same directionall the time, the wheels keeps spinning faster and faster. At a certain level, anunload procedure has to be performed. This procedure simply gives the satellite atorque in a direction which leads the reaction wheels to reduce their speed.In Figure 5.1 some reactionwheels can be found. Observe that a reaction wheelcould be regarded as a momentum wheel with zero momentum bias, and vice versa.

Propulsion system

Thrusters are, measured in torque, somewhat the last actuator to use if no thoertechnique works. It is most commonly used for big changes in attitude, as a backupto the magnetorquers or as unloading system for reaction wheels (when using 3-axisstabilization). There have also been attempts to use these to the actual stabiliza-tion. But this is not recommendable, since fuel is the main limitation for theexpected lifetime in space, and to adjust the attitude with thrusters would be fuelconsuming. By combining di�erent stabilization methods, on the other hand, thisfuel consumption could be lowered.The above is of course only true for attitude manouvers. For orbit manouvers,thrusters are pretty much the only actuator able to use. There are other ways tochange orbit to, such as solar sails, but these are as yet untested.There are a few di�erent sorts of propulsion systems used, and in the followingchart a brief discussion on advantages and disadvantages for the most commongrouping of these propulsion systems are given:

Solid: Solid fuel could be black powder, for instance. The main advantages is thatthe system is simple, and that it survives long storage times. Unfortunately,

Page 62: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

44 Orbit and attitude stabilization

Propulsion Multiple Typical Speci�csystem �rings force [N ] impulse [Nskg ]

Solid no 103 � 105 2400� 2700Hydrazine yes 0:2� 200 1800� 2200Bipropellant yes 2� 400 2800� 3000Cold gas yes 0:005� 0:02 500� 900Electrical (ion) yes 0:005� 0:01 20000� 30000

Table 5.3. A table of attributes for di�erent propulsion systems. Speci�c impulse mea-sures the impulse applied to a craft divided by the mass of the propellant.

this kind of propulsion system can only be �red once.

Hydrazine: This propulsion system is mono-propellant. The only substanceused is the liquid hydrazine, which is an advantage. On the other hand, thissubstance is extremely toxic, which makes it diÆcult to handle.

Bipropellant: Bipropellants su�er from very complex systems and expensivehandling. A reason for this is the explosion hazard which, for this system, isrelatively high. An advantage is the high speci�c impulse recieved from thesekind of systems.

Cold gas: The construction of these propulsion systems is very simple, as withthe solids. A advantage with cold gas as propellant is that it does not in-terfere, or worse destroy, heat sensitive components. The gas, nitrogen forexample, is often compressed. The main disadvatage is the small exchangeof matter in the speci�c impulse.

Electrical: Although somewhat untested, this kind of propulsion systems has apromising future. The reason for this is that it is cost e�ective and partiallyrenewable in the sense that most of the energy used is electric energy, and lessenergy is lost when converting the matter into a force. The main drawback isthe that the force given by these propulsion systems are really small. Aboutone tenth of a Newton, which is the typichal force given, is as much as aA4-paper laying in the palm of your hand.

To summarize these di�erent propulsion systems, and give a vague description onsome attributes for them, see Table 5.3. Further explanations can be found in [27].

5.3 Stabilization methods

There are two distinct separate ways to stabilize a craft. Either by using physicallaws, such as the gravitational �eld or moment of inertia, or by using sensors andactively controlling the attitude. These two ways of stabilization are refered to aspassive and active respectively.

Page 63: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

5.3 Stabilization methods 45

It is pointless to discuss what stabilization technique is most common, or which ofthem that is the best, since it depends on the mission, as said before. Furthermore,satellites can mix the di�erent methods in order to get a better pointing accuracyat a lower cost. This is a good thing to keep in mind, when reading the next twosections, which will describe these two stabilization methods in more detail. But�st some motivation for stabilization is given.

5.3.1 Why do we need stabilization?

It is not hard to motivate the use of stabilization techniques. First, is the missionsand the orbits. Missions are almost always of types that relay information (com-munication satellites), that do research or that observes the Earth's environment.For this the spacecraft needs at least power, which it gets from solar arrays, orsolar panels. To get this power, they will better be pointing towards the Sun, andthat is one reason for using stabilization. To be able to guide the solar panels.But the satellite could, for instance, look like a sphere covered with solar arraysso that always at least one third of the satellite is radiated from the Sun. Still, tocomplete a certain mission, the craft usually has to interact with something else inspace. And if it must, it has to be stabilized in one way or the other.To motivate the di�erent stabilization techniques, i.e. why we for instance shouldnot use the best way to stabilize all the time, consider at these to examples.

Example 1Consider the GPS from Example 2 in Chapter 3. The pointing accuracy for thissystem should be pretty high for each satellite to give as perfect geographicalposition as possible. In other words, we need a 3-axis type of stabilization and thusalso a control system.

Example 2Consider a research satellite that is residing in a polar LEO. The actual mission be-ing to measure the eruptions of the Sun causing northern light phenomena. Wouldsuch a satellite really need a good pointing accuracy? Why should there be apointing accuracy at all?Clearly there are possibilities to reduce the cost and development time of such avessel.

5.3.2 Passive stabilization

This method of stabilization is very simple and does not use any control laws tomaintain attitude, although control still might be used to complete other tasks.Instead, they rely on physical quantities. There are several di�erent subgroups to

Page 64: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

46 Orbit and attitude stabilization

passive stabilization which di�ers from one another.

Gravity gradient: Satellites stabilized with this method aligns themselves to theEarth's gravitational �eld. This is easiest done by extending a long rod. (Forfurther information, consult [27]).

Spin stabilized: This method works almost like a gyro. By spinning the space-craft about its' own axis, the movement will \swallow" disturbances (see [27]for more information). The main drawback with this method is the largee�ort of switching attitude, where the user has to either stop the satellitesrotation before changing point direction or put a lot of energy into the ma-neuver. Another drawback is the non exibility when using solar panels.Since it can not point at a single direction, it has to have the solar panelsrotating too, which means that the energy received is only maximum halfof the total capacity. An advantage with spinning satellites is that a singleinstrument on the spinning craft can \sweep" a larger area. For instance ifwe use an Earth sensor, more could be said about the attitude of the craftthen with a stabilization method that is not rotating.

Dual spin: In order to cope with some of the drawbacks when using a spin stabi-lized spacecraft is to use a dual-spin instead. These crafts have one spinningpart, and one that is not spinning. This way, one can make better use of thesolar panels, but it is still diÆcult to make maneuvers and some additionalcontrol loops are necessary. Another disadvantage is the wear and tear fromfriction between the two satellite parts.

Momentum bias: A, perhaps, more innovative way to manufacture a satellite by

Nutation dampersPassive dampers

Damper Energy dissipation mechanismPendulum Fluid frictionEddy current Eddy currentBall-in-tube Rolling and viscous frictionViscous ring Fluid friction

Active dampersMagnetic Magnetism in spinning vesselGas Jets propulsion

Libration dampersSpring damper Spring force in the Earth gravitational �eldMagnetic/Eddy current Magnetically anchored Eddy currentEddy current rods The Earth's magnetic �eld creating Eddy currents

in ferromagnetic rods

Table 5.4. Di�erent Representative Dampers

Page 65: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

5.3 Stabilization methods 47

using spin technique called momentum bias. Instead of spinning the wholecraft, momentum bias only spins a single wheel inside the craft. This willobviously have the same result as spinning the whole craft, but the problemwith maneuverability still remains.

All of these stabilization methods by themselves gives a pointing accuracy in theorder of degrees. If you, for instance only use gravity gradient the pointing accu-racy error will be in the region of several degrees.On the other hand, these stabilization methods are relatively cheap both to de-velop (both in money and time) and to use (low fuel consumption). Although nocontrol system is required, this kind of systems (especially gravity gradient) oftenhas some kind of damper. This is used to minimize the oscillation arising fromsuch stabilization techniques. For a spin-stabilized craft, the periodic motion isrotational and known as nutation, whereas for gravity gradient stabilized crafts, itis oscillatory and known as libration. In Table 5.4, a list of some passive and ac-tive dampening techniques are shown for both libration and nutation. For furtherknowledge, consult [27].

5.3.3 Active stabilization

The main di�erence between passive and active control is that in active control,we use sensor data to determine small disturbance torques and actively control theoutput from these sensor readings. In passive control, on the other hand, smalltorques are taken care of by, for instance, the rotation of the satellite.In active control it is most common to speak of 3-axis stabilization, which meansusing both sensors, to determine where we are, and actuators to get us where weshould be. Obviously this is the most diÆcult and energy consuming strategy, butthe big advantage is the pointing accuracy achieved. In Table 5.5 approximate val-ues of the pointing accuracy for the di�erent stabilization methods, both passiveand active, are given.The three-axis stabilization technique works as follows;

Method Cost Point AccuracyGravity-gradient Cheap � 5 degSpin Cheap � 1 deg3-axis Expensive � 1 arcsec

Table 5.5. Cost compared to accuracy for di�erent control methods.

1 Determine where we are.

2 Compare this with where we should be.

3 If the value was correct, return to (1), else

Page 66: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

48 Orbit and attitude stabilization

4 Apply some sort of control law.

5 Send the resulting steering signal to the actuators.

6 return to 1.

These points are explained below.

Determination

To determine where we are might be done in several di�erent ways, depending onwhich sensors the satellite is provided with, but one way is this one. Calculatethe predicted position and attitude, by integrating the movement equations, seeSection 2.2, and update this state with the new sensor data, if there are any newdata from the sensors available.

Comparison

Second, we have to compare the sensed data with some reference value. To do this,the satellite obviously needs to know the reference position and attitude. This canbe done either in advance when creating the ight plan or \in ight" from groundcontrol.

Apply control law

This part of the program can be everything from a simple PID controller to amuch more sophisticated optimal control using di�erent control blocks for di�erentcontrol modes. The latter is to be preferred since often the satellites using 3-axisstabilizations are the ones with extremely high demands in pointing accuracy, anda well written control law is cheap in comparison with the launch and sensor cost.Another advantage by using optimal control, is that you can add conditions tothese kind of control loops, such as moving from one state to another by minimiz-ing the power output used while not exceeding a certain value on the power outlet.If a LQ control, or optimal control, is used a linearization has to be performed tocalculate the optimal feedback ampli�cation through a Kalman �lter. The reasonfor this is the nonlinear feature of the system.

Steering

The steering is actually connected to the \apply control law" section, since theoutcome from the control law is the input to the steering. But due to the fact thatactuators have limitations, glitches and restrictions (wheels can not have in�nitespeed, nor can thrusters give in�nite thrust), they should also be modeled andincluded to the function. This might not be necessary when using a PID controller

Page 67: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

5.3 Stabilization methods 49

(although this could lead to resonance oscillation due to the glitches), but it is verynecessary when using other types of control, since the actuators e�ect the wholesystem.

Page 68: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

50 Orbit and attitude stabilization

Page 69: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Chapter 6

The Attitude and OrbitSimulation Package (AOSP)

The main e�ort on this thesis work has been to make a simulation package forattitude stability. This chapter will describe how such a program can be built.The �rst section, Section 6.1, will discuss the goals with this program. Section 6.2will try to motivate and explain the tools needed to complete such a program. Oneof the last section in this chapter handles some issues due to the chosen way toimplement the program in Section 6.3, and the complete chapter is then summedup in Section 6.4.

6.1 Requirements

The goal with the AOSP is simply to give the user an idea what the pointingaccuracy could be, while using a certain set of sensors and actuators for a certainsatellite. Further more, there were some additional requests given by the companycommissioning this �nal thesis work, Saab Ericsson Space AB [24].Below is a short list of the main speci�cations:

Pointing Accuracy How the the pointing accuracy essentially di�ers when usingdi�erent sensors and actuators.

Evaluation Time This program should not take too long to simulate. How long\too long" is, was left for the programmer to evaluate. But a general objectiveshould be faster than real time.

Module Structure The program should be built on exchangeable modules, suchas:

� Satellite module (to change satellite attributes)

� Di�erential equation solver module

51

Page 70: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

52 The Attitude and Orbit Simulation Package (AOSP)

� Input data module, de�ning orbit (to change orbit)

� Reference motion module (to change reference attitude)

The reason for doing this is to make the program as general as possible. Theuser should be able to change the simulation parameters in an easy way.

Commented Code The code of the program should be well commented. If morework on the program should be done, it must be easy to understand the codealready written.

Output Validation Some validation of the output should be done. As exampleof validations is to compare results of pointing accuracy with known data.

User Friendliness The software should be reasonably easy to use.

6.2 Prerequisites

There are a number of prerequisites needed to create this kind of a program. InTable 6.1, a list of these things, along with a short explanation, can be found.In the following sections each of the points in this list will be taken care of. All ofthe issues describe one important aspect of the creation of the simulation model,and hence an important decision by the programmer.As the issues are written, they belong to each other; to be able to write the program,the �rst point is needed; to represent the movement, some coordinate frame mustbe used; to be able to solve the movement equations, we have to determine a modeland so forth.

6.2.1 Development environment

The language in which this program should be implemented was not, as seen,determined in the speci�cations. The practical options for the programmer couldbe for instance C++, since it is fast and fairly simple. But also ADA could bea good suggestion because then, you could get some real-time aspects into thesimulation and it is also fast. MATLAB could also be used, the reason being itssimplicity while working with control and matrices.When looking at Table 6.2, where a few di�erent languages are listed with theirattributes, the choice does not get any easier. The main problem being to get a fastexecution time while keeping development time down (since this work is maximum20 weeks long).Although MATLAB is chosen in the AOSP, because it has a faster developmenttime, C/C++ or ADA might be a suggestion if the time for the development ofthe software in these languages exists. If one of these languages are chosen, thereare some packages to these languages that manages matrices that would ease theprogramming. When using any of these two languages, the computation time coulddecrease as much as 200 times.The reason for the slowness of MATLAB might on the other hand vanish, if the

Page 71: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.2 Prerequisites 53

Entity ExplanationDevelopment environment There should be some considerations on what

program language to choose to implement theprogram code in.

Coordinate frames A description on how to representdata should be investigated.

Model representation Handles which states to use in the chosencoordinate frame to describe the movement.

Di�erential equations solver Some e�ort on how to solve the di�erentialequations that arise from the modelrepresentation should be handled.

Linearization Due to the fact that the di�erentialequations are nonlinear, there is aproblem when using linear control-strategy's on the model (such as Kalman�lters for instance). This must be handledby a linearization.

Measurement determination Since measurement updates are discrete, andthere are many sensors, a strategy on howto weigh these measurements together mustexist.

Stabilization strategy How the simulation model of the craft shouldbe stabilized is an issue that has to bedealt with, since some of the techniques doesnot need additional control.

Needed data There are data that is essential for thesimulation model to function. These shouldinvestigated further.

Table 6.1. Di�erent aspects of creating a satellite simulation program.

developers, MathWorks [26], continues to accelerate their code in future versionof this program. The newest version, Version 6 Release 13, is already somewhataccelerated. For further information about MATLAB issues, see Section 6.3.Another thing to keep in mind is the work put into separating di�erent tasks withinthe code. The reason for doing this is that MATLAB can run software written inthe language C via a interface called MEX, and thus (by implementing the vitalloops in C instead of in MATLAB) increasing performance. As is pointed out inAppendix A, the actual simulation does not start until the user tells us to. Whenthis happens, the control is given to the program and calculations alone, and onlysmall amounts of data is directed to the graphical interface. This means that no,or little, communication between the C-code and the MATLAB code via the MEXinterface has to be performed if the user chooses to reimplement the code in Cinstead of in MATLAB (where it is implemented right now).

Page 72: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

54 The Attitude and Orbit Simulation Package (AOSP)

Programming Pros Conslanguage properties propertiesC/C++ Fast execution. Slow development.ADA Fast execution. Slow development.

Real-time DiÆcult to use withpossibilities. matrices.

MATLAB Fast development. Slow execution.Easy to use with

matrices.

Table 6.2. A list of di�erent programming languages along with their attributes whencreating a pointing accuracy simulation program for satellites.

6.2.2 Coordinate frames

There are several di�erent ways to represent a satellite system. One way which iseasy to comprehend is to use the Geocentrical Equatorial Coordinate Frame. Thisframe is explained in detail in Appendix C.1, but a short explanation would be:a system with the middle point in the Earth's center, with the axes not rotatingwith it.But in this coordinate frame, we can only represent the position of an object,and not the attitude. To represent a rotation demands a somewhat more diÆcultcoordinate frame. Often when speaking of rotating systems, Euler Angles arementioned. These represent a rotation with three di�erent rotations about eachprimary axis in the reference frame.But there are some drawbacks with this system, and therefore another system isoften used, called quaternions or Euler symmetric parameters. They describe therotation of one system relative the other with four components instead of three asit was with Euler Angles. Three of the component describe the axis of rotation,and the fourth describe the actual rotation. Quaternions will be further describedin Appendix C.2.

6.2.3 Model representation

How the pointing accuracy should be modeled is not an easy task since even thesmallest torque changes a satellites attitude. It is not possible to just guess the sizeof disturbances, and apply this to a satellite model as white noise. The reason forthis is that the magnitude of di�erent disturbance torques are dependent on boththe physical properties of the spacecraft and where in orbit the spacecraft is.The only option left is to simulate the whole movement of the craft using the dif-ferential equations of motion (derived in Section 2.2). These are also fundamental,and will work with any craft independent on movement and physical properties.This is a good thing, because it makes it easier to keep the speci�cations.The models of di�erent disturbances are already discussed in Section 2.3, and willnot be discussed here. However, the state representation of the model chosen for

Page 73: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.2 Prerequisites 55

this program is explained below. The coordinate frames are the ones discussed inthe previous section.

States

To describe the movement of the satellite, we have to represent the orbit and atti-tude somehow. A position, and velocity, for both the satellite's true movement andthe estimated movement would suÆce to simulate the actual orbit. But some wayto describe the attitude is also needed. One way to do this is by using Euler angleswhich represent di�erent rotations in space, but a more sound (and somputationalfast) way is to use the transformation called quaternions previously discussed.A very common coordinate frame to relate the position and the attitude for a satel-lite to is the Geocentrical Equatorial Coordinate Frame given in Appendix C. Byusing this frame, and quaternions the whole crafts movement can be calculated.Therefore the following states are used in the AOSP software:Three states describing the current o�set in the position of the satellite, usingthe Geocentrical Equatorial coordinate frame described in Appendix C.1:

x x-positiony y-positionz z-position

Three states representing the o�set velocity for the satellite:

Vx Velocity in x-directionVy Velocity in y-directionVz Velocity in z-direction

Four states which represent the transfer function described in quaternions from the inertialframe (the Geocentrical) to the body frame, see Appendix C.2

q =

0BB@q0q1q2q3

1CCA Transfer function

Three states representing the angular velocity of the spacecraft, expressed in theGeocentrical coordinate frame, see Appendix C.1

!x Angular x-velocity!y Angular y-velocity!z Angular z-velocity

Page 74: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

56 The Attitude and Orbit Simulation Package (AOSP)

To sum it up; the state vector, xbody � �, becomes:

xbody =

0BBBBBBBBBBBBBBBBBBBB@

xyzVxVyVzq0q1q2q3!x!y!z

1CCCCCCCCCCCCCCCCCCCCA

(6.1)

In order to be able to control the attitude of the satellite, a reference vector, xref ,that describes the reference movement in attitude must also be present in theprogram. Furthermore, since we only know the attitude of the craft from sensorreadings, we have to estimate the attitude. Therefore a vector, xest, that containsthe estimated values should also be included in the state-vector. The xest vectorshould contain the four quaternions and the angular velocities. But there might besome cases when some (but not all) of the quaternions or angular velocities is notcontrolled while the others are. This functionality is not yet implemented in thisprogram, although it should not be too diÆcult to do this.The only vector left is the reference values to the position. But since orbit move-ments are expensive due to fuel consumption, the error in position is often allowedto be ��x, where �x is dependent on the mission but could be some 100meters.It is only beyond this point that the control law starts to adjust the orbit, andwhen it does it often uses the Bang-Bang1 control law. To implement orbit controlis left out in the AOSP since the error from a single lap is in the order of meters.The reference vector has to be given by the user in advance, and is completelyindependent of the di�erential equations solved in the program. The completemovement vector on the other hand consists of two movements. One that de-scribes the true movement, and one that is used as the estimated value of theprevious one. The �nal state vector becomes:

� =

�xbodyxest

�(6.2)

and has 26 states.

Di�erential equations

The system, with the states described in Equation (6.1) and the general movementEquation (2.5) and (2.11), is described by Equation (6.3) and by Equation (6.4)

1see [10] for further information about Bang-Bang control.

Page 75: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.2 Prerequisites 57

for orbit and attitude respectively.The position is determined in Geocentrical Equatorial coordinates. Any other coor-dinate frame would suÆce, but someone must be used, and this frame is often usedin other books. Therefore a X;Y; Z Cartesian system is used, with correspondingvelocities Vx; Vy ; Vz. The movement equations are given in Equation 6.3.

_x1 = x4 ( _X = VX )

_x2 = x5 ( _Y = VY )

_x3 = x6 ( _Z = VZ)

_x4 = ��Xr

( _VX )

_x5 = ��Yr

( _VY )

_x6 = ��Zr

( _VZ)

(6.3)

Here, r =

0@ XYZ

1A.The movement equations for the attitude are given in Equation 6.4.

_x1_x2_x3_x4

= 12

26640 �x5 �x6 �x7x5 0 x7 �x6x6 �x7 0 x5x7 x6 �x5 0

37750BB@

x1x2x3x4

1CCA_! = I�1

0@ TXTYTZ

1A(6.4)

where the Tn-elements can be found in Equation (2.12) and

x1 = q0x2 = q1x3 = q2x4 = q3

9>>=>>; = q

x5 = !Xx6 = !Yx7 = !Z

9=; = !

All of these equations are derived from [12, 27], and they are implemented in the�le AxisStab in the catalog /SatSim/Prog/.Since there might be disturbance torques, the forces acting on a satellite are addedto the acceleration for the position, and the angular acceleration are added tothe attitude movement equations. The latter one is fetched from a user de�nedposition.

6.2.4 Di�erential equation solvers

Since we now have a couple of nonlinear �rst order di�erential equations to solve,a solver might be in order. MATLAB provides several solvers, but these solvers

Page 76: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

58 The Attitude and Orbit Simulation Package (AOSP)

are all non-sti�, i.e. the step-size of the solvers are variable. Observe that you can\set" the step-size in, for example, the ode45 solver in MATLAB. But this will notmake the solver sti�. Instead, an extrapolation is done after the solution is found.To realize the problems that could arise with non-sti� solvers, a deeper understand-ing on how di�erential equations are solved numerically is needed.A di�erential equation is on the form _x(t) = f(x; t). The value of x at time t couldbe found by integrating the right hand part of the equation, i.e. x(t) =

Rf(x; t)dt.

This can not be done directly numerically. An approximation has to be performedby substituting the

Rsign with a

Pinstead. This means that we, instead of

calculating an integral as before, has to calculate the sum, i.e.

x(t) = �tXt

f(t) (6.5)

This is what is done in a computer when calculating a di�erential equation. Butto do this, the size of �t, or the step length, has to be determined. When thisstep length is �x, it is called a sti� solver. Certain computations, especially fordi�erential equations that changes very little between every step, uses variable steplength instead. When doing this, the program starts at a small step length, andincreases it for every time the sum is calculated until the error reaches a certainprede�ned value. These kinds of solvers are called non-sti�.When the orbit is evaluated with a non-sti� solver, some problems may arise, sincethese solvers take larger and larger steps until a certain error is exceeded. In orbit,this will be a problem, since the satellite sometimes need a large step-size (at theside of the orbit ellipse) and sometimes need small step-sizes (especially at perigee).The problem is that non-sti� solvers eventually take one step to far, thus creatingan error, and this continuous, so when a whole complete lap is �nished, the solvercould be several hundreds of meters o�. Therefore, this program needs a sti� solver.Another reason for using sti� solvers is that sensor readings only arrive at certaintime intervals, thus needing the step-size to be exactly a multiple of these intervals.Otherwise will the sensor readings arrive at the wrong instant, which is not good(just imagine what would happen if the step-size is 10 seconds, and a large errorwould have been detected only after half of that time!).Since this program needs a sti� solver (i.e., the loop is in the main program andnot in the di�erential equations �le), I've implemented the easiest sti� solver thereis; a Runge-Kutta solver. How this solver works is explained in the next section.

Sti� systems

The simulation environment has to be able to simulate both the orbit and theattitude. These two systems vary di�erently from each other, i.e. the attitude varyas little as a few arc seconds for every second, while the position vary with a fewhundred meters at the same time interval. This is called a sti� system. A sti�system is hard to solve, since the step-length of the \slow" part(i.e. the attitude)should be short, while the step-length for the \long" part (i.e. the position) shouldbe long in order to get accurate results.

Page 77: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.2 Prerequisites 59

Due to the above, the simulations of the attitude and the orbit should be possibleto separate. This way, the orbit could use a bigger step-size while the attitudecould keep its small ones.There is however one problem with separating the simulation of orbit and attitudethat are already mentioned. The disturbances in attitude is dependent on thecraft's position. This is solved by the programmer by assuming that the orbit isnot dependent on the attitude (which is obviously not correct since orbit maneuversdemand knowledge of which way the actuators can actuate). Furthermore, to beable to simulate just the attitude, a simulation of the orbit must have been donein advance so that the attitude could make use of this data to determine di�erentdisturbances.

Runge-Kutta di�erential equations solver

According to [13] the sti� Runge-Kutta method is an iterative method solving theproblem:

y0 = f(t;x)X(t0) = x0

(6.6)

with the following iteration sequence:

tn+1 = tn +�txn+1 = xn +

16 (k1 + 2k2 + 2k3 + k4)

k1 = �tf(tn;xn)

k2 = �tf(tn +�t2 ;xn +

k12 )

k3 = �tf(tn +�t2 ;xn +

k22 )

k4 = �tf(tn +�t;xn + k3)

(6.7)

Where f(t;x) is the di�erential equations to be solved. The truncation error (i.e.the error in the answer caused by truncations) will be O(�t4). �t is the wantedstep size, given by the user before the simulation begins.

6.2.5 Linearization

From Section 2.2 we can clearly see that the movement di�erential equations arenot linear. The nonlinearity consists of terms like 1

r3 and _� = f(�; u), where u isthe control signal. These nonlinearities can be a problem when constructing a con-trol to the problem since control laws are not applicable for nonlinear functions.To be able to use linear control theory to the steering problem, we have to lin-earize the nonlinear movement and attitude equations. Since we actually have thedi�erential equations, the easiest way to do this is by using a �rst order Taylorseries expansion. This will be approximately correct in a vicinity of an equilib-rium state. Therefore we have to �nd such a state. A simple way is to use thedi�erence between the estimated state and the body state as a new state vector,since this di�erence should be zero all the time. This way the state vector, insteadof describing the position and velocity of the body frame, describes this di�erence

Page 78: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

60 The Attitude and Orbit Simulation Package (AOSP)

movement. There are, however, some things to watch out for when doing theseoperations.Quaternions, as described in Appendix C.2, describes a transformation. This meansthat ordinary rules of mathematics does not apply to the quaternion vector. Onevector minus another vector is not de�ned as the di�erence between them. Thecorrect di�erence is instead described by quaternion multiplications. This will beexplained in Example 1.

Example 1Assume that we have two bodies, A and B. They each have a rotation describedby a quaternion, qA and qB , from a reference frame, O. If we let:

qA =

0BB@1000

1CCA (6.8)

which de�nes no rotation between system O and A at all, then one could easily seethat if also qB has no rotation, i.e. qB = qA, that

qA � qB =

0BB@0000

1CCA (6.9)

which obviously is not de�ned, since the square sum of a quaternion always has tobe equal to 1.The correct way to calculate the di�erence would be as in Equation (6.10).

qdiff(B�A) = q�1A � qB =

0BB@1000

1CCA (6.10)

This result is, of course, expected since the di�erence between two non rotationsin rotation is a non rotation.

To further simplify this, look at Figure 6.1, where the inverse of a quaternion isde�ned as in Appendix C.2.Now we have the fundamentals to know the linearization. Before the actual �nalexpressions given later in this section, a short description of the general Taylorseries expansion might be relevant (see also [13]).

De�nition 6.1 (Multi variable Taylor series expansion) Let f(x) and its n+ 1�rst derivatives be continuous in an interval about x = a. Then in this interval:

f(x) = f(a) +@f(a)

@x1(x1 � a1) +

@f(a)

@x2(x2 � a2) + � � �+ @f(a)

@xm(xm � am) +O(x2)

(6.11)

Page 79: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.2 Prerequisites 61

Main frame

Frame B

Frame A

q A

-1q A

q B

-1q B

diff =q -1q B-1 q A diff =q -1q A q B

Figure 6.1. Transformation between di�erent coordinate systems using quater-nion transfer functions. Let for instance the main frame be the Geocentrical framedescribed in Section C.1, frame A be the estimated movement and frame B be thetrue movement of the satellite. Then this system would describe the used systemvery well.

When using a linearization, we get the two A-matrices, one for the attitude andone for the orbit movement, in a vicinity of the true movement. This implies twothings; �rst, large errors will cause a false model, thus some control is needed tokeep the orbit and attitude correct; second, since we get the movement equationin the vicinity we can not calculate _x directly, rather we get � _x = A�x instead.This means that to actually approximate the state derivate of the orbit movement,for instance, we �rst have to calculate the di�erence between the estimated systemand the true system, multiply this with the linearized A-matrix. Then we get the

Page 80: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

62 The Attitude and Orbit Simulation Package (AOSP)

di�erence between the derivatives. The last step would be to use the estimatedsignal to know the true motions state derivate.The following subsections describe how to get the A-matrix from the movementequations and states.

Orbit linearized movement

The linearized orbit movement equations, with the state vector and movementequations stated in Section 6.2.3 and Section 14, are described in Equation (6.12).Observe that xOrb � � describing position and lateral velocity, and that r =pX2 + Y 2 + Z2.

_xOrb =

26666666664

0 0 0 1 0 00 0 0 0 1 00 0 0 0 0 1

��(�2X2+Y 2+Z2)

r

5

2

��3XY

r

5

2

��3XZ

r

5

2

0 0 0

��3XY

r

5

2

��(�2Y 2+X2+Z2)

r

5

2

��3Y Z

r

5

2

0 0 0

��3XZ

r

5

2

��3Y Z

r

5

2

��(�2X2+Y 2+Z2)

r

5

2

0 0 0

37777777775xOrb

(6.12)where

X = The true movements current X-positionY = The true movements current Y-positionZ = The true movements current Z-position

Attitude linearized movement

The attitude linearized movement is rather diÆcult to calculate, since every valuedepends on all other values. The �nal equations are rather long, and looks likeEquation (6.13):

_xAtt =

2666666664

0 !X !Y !Z q1 q2 q3�!x 0 �!Z !Y �q0 q3 �q2�!Y !Z 0 �!X �q3 �q0 q1�!Z �!Y !X 0 q2 �q1 �q00 0 0 0 k11 k12 k130 0 0 0 k21 k22 k230 0 0 0 k31 k32 k33

3777777775xAtt (6.13)

where

k =

0@ k11 k12 k13k21 k22 k23k31 k32 k33

1A = I�1 � T

T =

0@ TXX TXY TXZ

TY X TY Y TY ZTZX TZY TZZ

1A

Page 81: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.2 Prerequisites 63

andTXX = I21!Z � I31!YTXY = (I22 � I33)!Z � 2I32!Y � I31!XTXZ = (I22 � I33)!Y + 2I23!Z + I21!XTY X = (I33 � I11)!Z � 2I31!X � I32!YTY Y = I32!X � I12!ZTY Z = (I33 � I11)!X � 2I13!Z � I12!YTZX = (I11 � I22)!Y � 2I21!X � I23!ZTZY = (I11 � I22)!X � 2I12!Y � I13!ZTZZ = I13!Y � I23!X

and

xAtt =

0BBBBBBBB@

q0q1q2q3!X!Y!Z

1CCCCCCCCA� �

6.2.6 Measurement determination

When using sensors as an estimate of position one has to take into account thatsensors gives no continuous values at a certain update interval. For this reason,we have to weigh sensor values and predictor values together. Especially Kalman�lters deals with this problem in a sound way. This text is derived from [11].

Kalman �lters

Kalman �lters are linear �lters that estimates the state of a linear system based onmeasurements, thus the linearization section above. It is optimal if the system tobe estimated is linear, and if disturbances are Gaussian2. The Kalman �lter usedin this program is based on a linear state space model:

xt+1 = �txt +wt (6.14)

wherext = the state vector at time t�t = the time descrete state transfer matrixwt = the process noise, or disturbance vector with

covariance Qt = E[wtwTt ]

Each measurement, yn are made by:

yn = Cnxn + en (6.15)

2White noise

Page 82: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

64 The Attitude and Orbit Simulation Package (AOSP)

where Cn is the measurement matrix and en is the measurement noise or distur-bance vector with covariance Rn = E[ene

Tn ].

The Kalman �lter equations contains the state vector estimate, x, and the covari-ance matrix P = E[(x� x)(x� x)T ].The actual �lter works in two steps. First the state estimation vector, x, and thecovariance, P is calculated. Then, these estimates are updated with the sensorreadings. Thus if there are no readings at all, the state vector is still de�ned.These equations constitutes the �rst step:

x(t+ 1j�) = �tx(tj�)P t+1 = �tP t�

Tt +Qt

(6.16)

Whenever a new measurement becomes available, the following measurement up-date equations are used:

K = P�CTn (CnP�C

Tn +Rn)

�1

x+ = x� +K(y �Cnx�)P+ = P� �KCnP�

(6.17)

where K is the Kalman �lter gain.A numerically more reliable method to calculate the covariance is to replace it withits square root, SST = P . This improves the condition number. The reformulatedupdate equations for the square root �lter becomes:

x(t+ 1j�) = �tx(tj�)�St+1 0

�=

h�tSt Q

1

2

t

iT

(6.18)

Where T is a orthonormal matrix (TT T = 1) and Q1

2

t is any square root of Q at

time t such that Q1

2

t QT

2

t = Qt. T can be found by QR-factorization3 and Given'srotations. The measurement updates become:

x+ = x� +fK(CnP�CTn +R)�

1

2 (y �Cnx�)"(CnP�C

Tn +R)

1

2 0fK S+

#=

�R

1

2 CnS�0 S�

�T

(6.19)

6.2.7 Stabilization strategy

According to Chapter 5, there are several ways to stabilize a spacecraft. Whichof these stabilization techniques should be used in this program? If we keep thedi�erent techniques apart (it might be useful to mix them too), there are �ve tochoose from:

� Gravity gradient

3By the command QR in MATLAB

Page 83: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.2 Prerequisites 65

� Spin

� Dual spin

� Momentum bias

� 3-axis stabilized

A fully functional simulation program would, of course, be able to simulate all ofthese stabilization techniques. The AOSP can be expanded to handle all of them,but there was only time to implement one of them.If the gravity gradient was to be used, a very simple simulation software could havebeen developed. The reason is that gravity gradient stabilization by itself does notneed any sensor readings or actuators to function. To implement this one would,therefore, not be a good alternative since it would not work to simulate every casethere is.To have a spin, momentum bias or dual spin stabilized craft would also have somerestrictions on how good they are, and what sensors/actuators they use. To im-plement these would also be quite simple, but not as simple as gravity gradient(especially dual spin crafts are hard to model [27]).The only stabilization method left is the 3-axis one. Therefore this is the oneused in the program as a \sample" stabilization technique. There have been somee�orts, though, to simplify extension to the program with the other stabilizationmethods (and mixtures of them both).

Control feedback loop

System

Sensorsand

Kalmann

u

y

outputRefSignal

Control-block

EstimatedStateVector

Figure 6.2. A schematic over the control program ow. Observe that the refer-ence signal only is a vector containing the attitude state-vector.

The control loop is an ordinary loop (see Figure 6.2), with the di�erence that thesystem is non linear (it contains mixed quantities and exponential quantities). Fur-ther more, the sensors are discrete which also is a nonlinear feature.

Page 84: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

66 The Attitude and Orbit Simulation Package (AOSP)

Prior to running the program, the user has to have set a reference attitude move-ment. The reason for this is to have something to guide to. Of course this couldbe left out, leading to the satellite twisting and turning randomly, but that optionwill probably only be used in demonstration purposes.Which control method to use have been quite a struggle since the program is non-linear. If the system could be steered with some sort of a PID controller, the controlblock would be quite easy, but would this kind of control suÆce? To be completelysure, two di�erent control types are implemented in this system; a PID control anda LQ control.With these two control types, a comparison can be made in order to evaluate thebehavior of the program.

6.2.8 Needed data

There are some essential data the simulation needs in order to be able to run.First, for the attitude movement to function, it must know a few thing aboutthe satellite. The moment of inertia, mass and shape must be known in order tofunction correctly.In this simulation program, though, the shape has not been taken into account.The reason for this is purely time based, but should be easy to implement, and isneeded primary for the disturbance torques and the gravity gradient e�ects to becorrectly modeled.Second, a reference movement in attitude must exist in order to determine thepointing accuracy of the satellite. This is due to the fact that di�erent missionsdemands di�erent movement in attitude.Third, and lastly, some information about start conditions must be applied. Wherethe satellite starts, what velocity, what rotation and angular velocity the satellitehas play a major roll in how the orbit looks like and how initial rotational momentshas to be implied.

6.3 MATLAB issues

MATLAB has its good parts and its bad parts. For a long time, loops has been ahuge problem for MATLAB users, since loops usually are 200� 300 times slowerthen if implemented in, for instance C. This has been a big issue for MATLABdevelopers during the last year, and in the current version (Release 13), a solutionis presented. In this version, they have a brand new engine, called JIT, which canaccelerate code. But since it still is in the development, not all types in MATLABcan be accelerated. To see which types that can be accelerated, and how to increaseperformance, please refer to MATLAB help documents or [15].Another problem with MATLAB is that is only runs in a single thread. This

makes it very hard to manually stop processing once it has started. The problemis solved in the program in a fairly simple way. Every 5th ight second, a pausecommand for 0:01 seconds are launched. In this time, MATLAB can check wither

Page 85: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.4 Behavior of the AOSP 67

something else has happened. If the user has pushed the escape-button since thelast small pause, a ag will be set in the interface. After the program has paused,it checks whether this ag is set. If it is, the execution is aborted.

6.4 Behavior of the AOSP

The AOSP has been developed in a way that is easy to change, repair, debug anduse. Further more it has been kept well commented and extremely general. Acertain amount of adjustments had to be done in order to make it simple. Theactual program works well, but far from perfect.There are a few aws that should be looked upon before someone starts to use thisprogram. For instance should some validation be made to the program. Further-more should actuator models be implemented (this is planned in the program inadvance, i.e. only the actual actuator implementation is left to model). Anotherthing that should be done is to implement the movements of the celestial objects.As it is now, the planets gets a �xed position and stays there for the whole simu-lation.When constructing the program these parts not yet implemented have had a prettylow priority. The reason for this is, for instance, that the movement of the planetsare small compared to the simulation time of the satellite, hence the need to modelthe planets is not totally essential to the behavior of the craft. The moon is anexception, since it moves pretty fast around the Earth.Actuators have been neglected both due to the problem of adding their transferfunctions to the open system (both of them are nonlinear, and since the programshould be able to use any actuator given by the user) and due to the reason thatthe steering signals are kept low and the assumption that these actuators are com-pletely linear.Another problem with the AOSP is that the time to simulate is fairly high. Ac-tually it is too high to be really good. There are several reasons why this maybe so, for instance the well known problem of using MATLAB loops and the �xedstep-length used with the original Runge-Kutta solver of the di�erential equations.A suggestion to further development is to wait for MATLAB to release a newversion with their whole code accelerated to the MATLAB loop problem. To thedi�erential equations solver, a variable length solver should be implemented andsince there is problems using ode45, a solver must probably be implemented fromscratch. This solver should each step calculate the next position, and then whichthe next step-size suitable would be.But if we see to the whole picture, the program works �ne even with these \ aws"to the program since they are smaller then the white noise added to the program.

6.4.1 Example run

A test-run of the program, when using no steering at all compared to when usinga LQ controller has bin performed in order to motivate some means of correctness

Page 86: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

68 The Attitude and Orbit Simulation Package (AOSP)

of the program. The simulations parameters and results are shown in Example 2.

Example 2The start-conditions for the movement both controlled and not controlled

Entity Size UnitPerigee at 6.878 � 106 metersApogee at 8.378 � 106 metersPhi angle 0.0 radiansTheta angle 1.0 radiansPsi angle 0.1 radiansVelocity 7.978 � 103 meters/secondStepsize 1.0 secondsSimulation time 6.630 � 103 secondsPenalty matrix, Q 1.�10�5 to xTQx

Table 6.3. Initial parameters of the example run of the program.

is given in Table 6.3, and furthermore were there no rotation nor angular velocityat startup. The reference attitude consisted of several large quaternion steps, andthey can be found in the output �gures, Figure 6.5 or Figure 6.7.Since the orbit is not controlled at all in this version of the program (but is, onceagain, simple to implement), only one of these �gures will be printed (one 3D plotand one that shows the states). This is done in Figure 6.4 for the 3D plot, and inFigure 6.3 for the plots containing the change in states.The attitude on the other hand has to be printed both for the controlled and the notcontrolled case. This is done in Figure 6.5 and in Figure 6.7 respectively for statex1. Observe that the output data contains a lot more information, than stated inthese few �gures, and the best thing for the reader would be to print them himself.All data is relative to the Geocentric Equatorial System, and it is possible to drawat least some conclusions from the �gures.One obvious conclusion is that the sensor estimates works pretty well and that thereference signal is followed with control and not followed at all without control.Furthermore should only small torques be used, since it is diÆcult to stop highangular velocities. This leads to the fact that large changes in attitude takes a longtime to perform in space if no, or small, over-shoots is wanted.

6.4.2 Program ow

The �rst thing the program does is to put all the subdirectories into the MATLABpath if they are not already there. Then, without loading any variables into mem-ory, the control is given back to the user via a graphical interface. This is done tosimplify and understand how to use the program.

Page 87: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.4 Behavior of the AOSP 69

0 5000 10000−1

−0.5

0

0.5

1x 10

7

Time

x [m

]

0 5000 10000−4

−2

0

2

4

∆ x

[m],

3 σ = 2

.296

2

Time

0 5000 10000−1

−0.5

0

0.5

1x 10

7

Time

y [m

]

0 5000 10000−4

−2

0

2

4∆

y [m

], 3 σ =

2.2

962

Time

0 5000 10000−5

0

5x 10

6

Time

z [m

]

0 5000 10000−4

−2

0

2

4

∆ z

[m],

3 σ = 2

.296

2

Time

0 5000 10000−1

−0.5

0

0.5

1x 10

4

Time

Vx [m

/s]

0 5000 10000−0.4

−0.2

0

0.2

0.4

∆ V

x [m/s

], 3 σ =

0.9

3339

Time

0 5000 10000−1

−0.5

0

0.5

1x 10

4

TimeV

y [m/s

]

0 5000 10000−0.4

−0.2

0

0.2

0.4

∆ V

y [m/s

], 3 σ =

0.9

3339

Time

0 5000 10000−5000

0

5000

Time

Vz [m

/s]

0 5000 10000−0.4

−0.2

0

0.2

0.4

∆ V

z [m/s

], 3 σ =

0.9

3338

Time

Figure 6.3. Simulation results from an one lap orbit without using any sort ofcontrol law. Each row of the plots represent one of the axes movement. First theposition, then the error between the reference and the true position, followed bythe velocity and the error between reference and true velocity.

From this graphical interface, the user will be able to manipulate data, such asloading package �les, changing start parameters etc. The user could also choose torun a simulation if there is a package �le loaded into memory or print a previoussimulation. None of these commands run a substantial amount of code. It onlychanges start values in the start vector which is returned from the graphical inter-face when the user issues a \run" command (see Figure 6.8).The start vector returned from the interface at the startup of the actual simulationcontains all information needed to evaluate a result of the simulation. Furthermore,from this point on, no actual contact with the interface is needed. However thereare two exceptions with communication between these two parts. The progress isprinted for every lap in the main loop in the software, and every �fth lap is paused,so that the user can get some response of the program.The �rst exception (the progress report) is needed for the user to know what theprogram is doing. Another good thing with the progress report is that a goodestimation on how long the simulation aught to take can be estimated by the usersince the \real-time" also is printed.

Page 88: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

70 The Attitude and Orbit Simulation Package (AOSP)

Figure 6.4. A lap of the simulated satellite about the earth looks like this.Obviously it is a LEO.

The second exception has to be done due to a MATLAB issue also discussed inSection 6.3. MATLAB only runs in one thread. This means that MATLAB kindof works like women believe men does; only with one focus at the time. In otherwords MATLAB can not do two things at the same time4. What happens is thatwhen MATLAB starts to evaluate code, the whole computer is \locked" until thesimulation is complete. This could lead to some problems, such as the user realizingthat he or she forgot to change a particular start-value when just beginning to runthe simulation must wait four hours for the simulation to �nish before being ableto change the false parameter. The solution to this problem can be to pause theprogram for a few milliseconds every �fth lap in the loop or so, and thus be able tocheck if the user has pushed the escape button since the last time this check wasdone. This is in other words some kind of \panic" button.The main loop then works as the lower row in Figure 6.8. Sensors are used to pre-dict the satellites current attitude and, in some case, position. A control systemgiven by the user is applied. The state vector (given in Section 6.2.3) is advancedone step in time. This is looped several times until the time reached equals the

4No program can do two things at the time, but it is emulated in most single processormachines by using \threads", which contain all computing information for the program assignedto this thread. Threads are then scheduled at certain intervals to emulate this multi processoperation.

Page 89: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.4 Behavior of the AOSP 71

0 2000 4000 6000 80000.65

0.7

0.75

0.8

0.85

0.9

0.95

1

0 2000 4000 6000 80000.65

0.7

0.75

0.8

0.85

0.9

0.95

1

0 2000 4000 6000 80000.7

0.75

0.8

0.85

0.9

0.95

1

0 2000 4000 6000 8000−0.03

−0.02

−0.01

0

0.01

0.02

0.03

Figure 6.5. A sample of output attitude data for the state x1 (= q0) when using aLQ controller. The left upper graph is the true satellite movement, the upper rightis the estimated movement, the lower left is the reference movement and, �nally,the lower right is the di�erence between the estimated and the true movement.

end-time of the simulation given by the user, or the escape-button has been pressed.When either of this happens, the resulting state vectors for all time intervals aresaved into the output �le, and the control is returned to the user graphical interface.

Page 90: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

72 The Attitude and Orbit Simulation Package (AOSP)

0 2000 4000 6000 8000−0.15

−0.1

−0.05

0

0.05

0 2000 4000 6000 8000−0.15

−0.1

−0.05

0

0.05

0.1

0 2000 4000 6000 8000−1

−0.5

0

0.5

1

0 2000 4000 6000 8000−0.04

−0.02

0

0.02

0.04

Figure 6.6. A sample of output attitude data for the state x3 (= q2) when usinga LQ controller. Output from same test-run as in Figure 6.5.

Page 91: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

6.4 Behavior of the AOSP 73

0 2000 4000 6000 80000.6

0.7

0.8

0.9

1

0 2000 4000 6000 80000.5

0.6

0.7

0.8

0.9

1

0 2000 4000 6000 80000.7

0.75

0.8

0.85

0.9

0.95

1

0 2000 4000 6000 8000−0.03

−0.02

−0.01

0

0.01

0.02

0.03

Figure 6.7. A sample of output attitude data from the state x1 (= q0) whenusing no control method at all. Shown is the true, estimated, reference movements(upper left, upper right and lower left). Also the di�erence between the estimatedand the true movements are shown.

Page 92: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

74 The Attitude and Orbit Simulation Package (AOSP)

Satsim

SSInterface

Init

Sensors

PackagesandFiles

Actuatorsand

Control

Clean up

DifferentialEquations

Disturbance

Done

QuitPrint

ResultNo Yes

No

Yes

Run

Print

Figure 6.8. Flowchart of program evaluation. When the program starts, theprogram will move to the SSInterface and wait there for user interactions. Onlyafter a user has loaded a package will he be able to run the program, whichmoves by itself until �nished. The program will not be plotted by itself after asimulation, rather it must be chosen by the user from the SSInterface.

Page 93: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Chapter 7

Conclusion and suggestionsto further work

7.1 Small satellites study

Small satellites has been a growing market since the \birth" of satellites until atleast the year 2000. Although the market today may seem a little slow, the marketwill continue to grow in the future. But for small satellites to really make theirbreakthrough, a smart solution on how to send them into space cheap is a must.There are only a few ways to do this as it is today, and of these ways, the I-Coneproject seems to be one of the most promising (although it is not in use yet).One of the most important tasks is \the window of opportunity" for small satellitelaunchers. The �rst launcher that actually works several tests will probably havean immediate breakthrough.Over history, the mission most used for small satellites are commercial missions,such as satellite TV or photography taking satellites, for instance. The secondmost used one are science missions.If we look at the customers, the military had the largest market-share until theIT age (the 90's). After the year 1995, commercial companies has taken over themarket.Since this examination only extends to the year 2000, it would be a great ideato extend these to see some tendencies in small satellite launches of today andtomorrow.

7.2 The AOSP

The attitude and orbit simulation package has been diÆcult, but far from impos-sible to implement. Although all is not done, a fully working simulation modelhas been implemented. There are a few things, though, that aught to implementbefore the program functions perfectly.

75

Page 94: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

76 Conclusion and suggestions to further work

Coordinates: When a user has loaded the a package, the orbit description will bein spherical coordinates (as in [13]). This is however not the standard way todescribe an orbit. It is more usually done in Keplerian Orbital Elements. Tothis point, the program cannot transform between the quantities completely| this must be implemented!

Analysis: Some analysis of the program on how it works should be looked upon.

Planetary: As it is right now, no one of the planets, nor the Sun actually moves.A movement addition to the program should be implemented in the SatSim.m�le.

Modes: No consideration at all has been taken to ensure that all states are ob-servable or that all states are controllable. This might happen when sensorscan not determine all rotational axes, etc. A �x for this should be imple-mented. MATLAB has special commands to �nd both non observable andnon controllable modes. These commands should be used in order to removethe states that cannot be used.

Satellite description: The satellite should be described completely in the satel-lite description �le. As it is now, no information about the structure of thesatellite is taken into account. But this is needed in the solar disturbancetorque, for instance, since this torque is dependent on the area of the satellitethat are actually hit by the sun.

Internal angular momentum: No internal momentum e�ects at all are takeninto account in the AOSP as it is right now. This must be changed, sincethey might cause disturbances that are substantial if, for instance, we areusing reaction wheels.

Actuator: The actuators are only prepared to be modeled. Any attempt to modelthem is pointless since all of the actuator models are disregarded in thissimulation program as it is right now. Some work has to be done to modelthem and use the models inside the simulation loop.

These are the largest problems and malfunctions to the simulation.The positive aspects of the AOSP, on the other hand, include many functionalities.Not only is it easy to expand the simulation model with di�erent models of thesurrounding environment, but also the following points works on behalf of theprogram:

Exchangeable modules: All of the code that directly e�ects the behavior of thesatellites movement are exchangeable, making the program a exible tool forsatellite movement analysis.

Torque and Force: Torques and forces added to the satellites movement arestored for the user to analyze after the simulation has �nished.

Page 95: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

7.2 The AOSP 77

Reference signal: The reference signal can point at a single object while movingaround, or sweep over a given point in space, thus making every mission forpointing accuracy possible. Furthermore is the reference signal recorded forafter mission analyze.

Attitude: The attitude is stored both for the true movement and for the estimatedmovement based on sensor readings. This way both the Kalman estimation�lter and the pointing accuracy can be evaluated.

Orbit: The position in orbit enables di�erent disturbances to act the true way onthe satellite. Also the estimated position is stored for future possibilities todevelop some sort of orbit control to the system.

Combination of sensor readings: Sensor readings are combined in a Kalmanestimation �lter in order to get as much out of small data streams as possible.Both the covariance matrices and the Kalman ampli�er are stored for lateranalysis.

All of the above functionalities makes sure that the program can simulate thepointing accuracy of a satellite faster than 1 hour, built on a module structuredwell commented code for users to easily implement changes to the code.

Page 96: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

78 Conclusion and suggestions to further work

Page 97: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Bibliography

[1] ESPA: EELV Secondary Payload Adapter with Whole-SpacecraftIsolation for Primary and Secondary Payloads. In Smart Struc-tures and Materials: Passive Damping and Isolation, page 11,Newport Beach, CA, US, March 2000. CSA Engineering.www.csaengineering.com/techpapers/technicalpaperpdfs/CSA2000_ESPA.pdf.

[2] Munin. munin.irf.se, Februari 2001. Home page.

[3] Ricardo's geo-orbit. geo-orbit.org, March 2001. Home page.

[4] J. Kiusalaas A. Pytel. Engineering Mechanics: Statics & Dynamics. Harper-Collins Publishers, Inc, NY, US, SI-edition edition, 1996.

[5] AAO. The Anglo-Australian Observatory. www.aao.gov.au/images.html,2002. Home page.

[6] Arthur. C. Clark. Extra Terrestrial Relays. Wireless World, 1945.

[7] US Air Force Space Command. Evolved Expendable Launch Vehicle.www.spacecom.af.mil/hqafspc/Library/FactSheets/FactsSheets.asp,2001. Home Page.

[8] The European Commission. GALILEO, european satellite navigation system.europa.eu.int/comm/dgs/energy_transport/galileo/, 2002. Home page.

[9] CSA Engineering. ESPA: EELV secondary payload adapter withwhole-spacecraft isolation for primary and secondary payloads.www.csaengineering.com, March 2000. PDF report.

[10] T. Glad and L. Ljung. Reglerteori. Flervariabla och olinj�ara metoder. Stu-dentlitteratur, Lund, Sweden, 1997. In Swedish.

[11] Anders Helmersson. ODIN: Attitude Estimation Filters.

[12] Jan-Olof Hjertstr�om. ODIN: Analysis of the Safe Mode Control Law. SaabEricsson Space AB, Link�oping, Sweden, 1995.

[13] B. Westergren L. R�ade. Mathematics Handbook. Studentlitteratur, Lund,Sweden, 4th edition, 1998.

79

Page 98: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

80 Bibliography

[14] Surrey Satellite Technology Ltd. SSH, Small Satellites Homepage.www.smallsatellites.com, 2002. Home page.

[15] MathWorks. MATLAB Release Notes for Release 13. MathWorks, Inc, Natick,MA, US, 2002.

[16] NASA. Great Images of NASA. grin.hq.nasa.gov, 2002. Home page.

[17] NASA. Mars global surveyor. mars.jpl.nasa.gov/mgs/status/nav/orbparam.html,2002. Home page.

[18] J. Stark P. Fortescue, editor. Spacecraft Systems Engineering. John Wi-ley & Sons ltd, West Sussex, England, 2nd edition, 1998.

[19] J. E. White R. R. Bate, D. D. Mueller. Fundamentals of Astrodynamics. DoverPublications Inc, N.J. USA, 1971.

[20] Die DLR-Hauptabteilung Raum ugbetrieb. Dlr. www.weblab.dlr.de/rbweb,2002. Home page.

[21] Michael. A. Seeds. Foundations of Astronomy. Thomson Learning,Brooks/Cole, Brooks/Cole, CA, US, 6:th edition, 2001.

[22] Andrews Space and Technology. GLONASS,global navigation satellite system { summery.www.spaceandtech.com/spacedata/constellations/glonass_consum.shtml,2002. Home Page.

[23] Ariane Space. Ariane 5 payloads: The Ariane Structure for Auxiliary Payloads(ASAP). www.arianespace.com/us/family/a5sap.htm, 2002. Home page.

[24] Saab Ericsson Space. Saab ericsson space. www.space.se, 2002. Home page.

[25] CalSpace Director's Team. California space institute. calspace.ucsd.edu,2002. Home page.

[26] Inc The MathWorks. The mathworks. www.mathworks.com, 2002. Home page.

[27] James R. Wertz, editor. Spacecraft Attitude Determination and Control.D. Reidel Publishing Company, Dordrecht, Holland, 1985.

Page 99: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Appendix A

AOSP - users manual

This is the users manual for a simulation program called AOSP, Attitude and OrbitSimulation Program. The program is located inside the �le called \AOSP.tar.gz"and must be unzipped and untared to fully function. You can do this by using thefree program winzip (Windows). When the program is unpacked, it will create adirectory structure for the program shown in Figure A.1. This is a structure thathas to be maintained.

A.1 How to get started

It is an easy task to get started. Simply open MATLAB, and type \SatSim" atthe command prompt, when standing in the SatSim library. This will open an userfriendly interface which looks like Figure A.2 with the background image enlargedin Figure A.3. Observe that it is not necessary to add the whole substructure tothe MATLAB path before running the program, this is dealt with within it.The program will now load an empty user interface. The user now has to open apackage in order to get data within the program. Two example data sets can befound, a LQ example and a PID example. These will load data into memory whichis prede�ned in those �les.Running the test program will transfer the data from the interface to the mainprogram.

A.1.1 What data can be found

In the main program, there are �ve main structures containing the information inthis program.

� ENVIRONMENT which contain environmental data about planets.

� CONTROL where all the control parameters are.

� FILES is where the user de�ned �les exist.

81

Page 100: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

82 AOSP - users manual

Control

SatSim

FlData Packages

OldData

Planets

Prog RefAtt

SatelliteActuators

Sensors

Disturb Graph Output Quat

Figure A.1. The directory structure of the AOSP

� DATA which contain all ight data.

� FH is a Figure Handle to the graphical interface.

Environment structure

The environmental structure is easy to use. Every planet that is de�ned in theplanet folder is named \output.planet.variables". This means that if, for example,we want to get the sun's radius we simply call environment.sun.R (which standsfor the Radius).There are a few things when de�ning a planet that MUST exist. A radius of theplanet, R, a distance from earth to the planet,r , the planets gravitational constant,GM , the angular velocity,W , start velocity, V , and a variable stating if it is a blackbody, i.e. if it is a star. The last variable should be 1 for di�erent suns and 0 forother planets.Additional parameters can be set, observe the way to implement them (see forinstance the code in Earth.m).

Control structure

The control structure contains any data written in the package �le named \output.Control".These variables are for use in the control law.

Files structure

All �les used in the program coincides in this structure as a list, named:

Page 101: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

A.1 How to get started 83

Figure A.2. How the user interface looks at startup. From here, the letter \o"should be pushed. Other alternatives could be choosing open from the menu \File"or printing old data samples. The background picture is resized and explained inFigure A.3.

- FILES.Sensors (substructures within)

- FILES.Actuators (substructures within)

- FILES.Di�Eq

- FILES.Solver

- FILES.FlData

- FILES.Satellite

- FILES.Control

- FILES.Output�le

All of these �les are of course replaceable; i.e. user de�ned. The alert user probablyrecognize the names from the directories.

Page 102: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

84 AOSP - users manual

Figure A.3. This is one of the �rst glimpse of the heavens following the servicingmission by NASA's Hubble Space Telescope. It is called the Eskimo Nebula.Courtesy of NASA [16].

Data structure

The actual ight data is stored in this structure. It contains all of the state variablesfor orbit (in DATA.Orbit) and attitude (in DATA.Attitude). The structure alsocontains the force and moment applied from the control law at the time intervals.Further is the time vector also stored. (which actually is unnecessary, it wouldsuÆce to know the start time, the stop time and the step size).

Figure handle structure

This variable is not an actual structure, but it contains the handle to the interface.To get the interface for communication, write:

Page 103: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

A.2 Input needed to the program 85

Handles = guihandles(FH);

This will return handles to all the objects in the �gure. To get or set a certainproperty, use the get and set commands on the handles. If the user by any chancemakes any changes to the �gure, it should be save by the command:

guidata(FH,Handles);

which will save the data. One tip when dealing with �gure handles is to alwaysget a new copy of them before manipulating them. It is easy to \forget" to storeor load a new copy, which will generate a false behavior of the program.

A.2 Input needed to the program

The �le loaded into memory must look a certain way to work. If the user wants towrite the package �le himself, make sure to look at a previous copy and try to doa similar one.When loading a package into memory, it will just be the names of used �les thatare loaded, and not the actual values within these �les. The values in the other�les are loaded when the user has issued a start command. There is however oneexception; the ight data �le is also loaded when the package is loaded.

A.2.1 Replaceable modules

There are some replaceable modules, that de�nes the movement. These are givenin Table A.1. All of these can be found in their own directory under /SatSim/except the disturbances and the solver with can be found in /SatSim/Prog/ folder.The easiest way to switch between di�erent modules is from within the program.These are then easily saved to a package �le when the changes are made. It isrecommended if you change a model, be sure that you save it as a new �le, andthus not contaminate the sample �les (since these give a good example on how towrite such �les).

A.3 How to work with the user interface

The interface works in two di�erent ways. Either by using the mouse and/or byusing the keyboard. Keyboard commands are given in Section A.5.The escape key has two di�erent functions. The �rst function is to escape, quit orclose a window, and the second is to disrupt the simulation if it is running. Thelatter may take a few seconds to react since it checks if the button has been pressedevery 5 ight time seconds, so please be patient!The background to the user interface is really simple to change. It could for instancelook like Figure A.4! To learn how to change this image, see the \read me" �le inthe simulation package directory /SatSim/Prog/Graph/.

Page 104: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

86 AOSP - users manual

Module Module descriptionActuators Models of actuators (Not implemented in this version).Control Di�erent control models.Disturbances Disturbance torques acting on the satellite.Flight Data Where the reference orbit is de�ned.Packages Where the modules that are listed.Planets Models of planets and suns.Ref Attitude Where the reference attitude is de�ned.Satellite Satellite properties are de�ned here.Sensors Sensor models.Solver The di�erential equations solver.

Table A.1. Di�erent modules in the program

Figure A.4. The Horse Nebula. A possible background for the simulation inter-face. c Anglo-Australian Observatory. Photograph by David Malin [5].

A.3.1 Load and Save data

To load or save a package �le, just press o, to load, or s, to save the data. Alter-natively, use the File menu.

Page 105: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

A.4 What is saved in the output �le 87

A.3.2 Print results from simulation

To print a simulation, just choose \Print simulation" from the menu's, or press P .

A.3.3 Change parameters

To change any parameter values inside the program, just left click on the �eld youwant to change, and write the new value. Values can be written as real numbers,functions (pi for example) or just as regular fraction, i.e. a

b .The included �les can be changed to other �les by choosing \Change �les" fromthe drop-down menu.When a certain con�guration is as wanted, a good thing would be to save theprogram.

A.4 What is saved in the output �le

These things are saved in the output �le.

� The attitude calculations�

� The orbit calculations�

� The applied moment�

� The applied force�

� The time vector

The items with a \�" are included in a structure named DATA.

A.5 Shortcuts

Instead of using the mouse and walk through menus, the user can use the keyboardto do the vital tasks for the program. Therefore a description with the implementedkeys are given (with a short explanation) in Table A.2.

Page 106: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

88 AOSP - users manual

Key DescriptionEsc Quit program or processing.a Attitude simulation.b Orbit simulation.c Switch between spherical and Kepl Orb Elem

(not a �nished function).e Switch between Euler angles and Quaternionsf Change user �les.k same as c.o Open packagep Print simulation data.q Same as e.r Run simulation.s Save data into new package �le.1-5 Switches between di�erent disturbance

modes.left arrow Decrease step size.right arrow Increase step size.return Choose OK.

Table A.2. Keyboard commands for the AOSP

Page 107: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Appendix B

Orbit movements

B.1 Keplerian Orbital Elements

Keplerian orbital elements is a common way to describe an orbit. These parame-ters are given in Table B.1.The inclination, is the angle between the orbit plane and a reference plane. Themost commonly used reference planes are the equatorial plane (which is used inthis document) and the plane of the Earth's orbit about the Sun, called the ecliptic(see also Figure B.1).The intersection between the orbit plane and the reference plane through the cen-ter of the planet is called the line of nodes. There are two points where thesemeet, and they are called ascending node, where the orbit is going from south tonorth, and descending node, where the orbit travels from the north to the south.Thus is the right ascension of the ascending node the angle in the equatorial planemeasured eastward from the vernal equinox (which is de�ned in De�nition C.1). InFigure B.2, the ascending node is shown (the line in the back being the referenceequinox direction).The rotation of the orbit within the orbit plane is de�ned by the argument ofperigee, or the angle measured in the orbit plane in the direction or the satellite'smotion from the ascending node to perigee. This is shown in Figure B.3.Finally, to determine where the satellite is in its orbit, the true anomaly is used.It is the angle between the perigee point and the satellite.Observe that in these �gures above it is important to keep the orbit and the refer-ence orbit planes separated.

B.2 Elliptical Orbits

For elliptical orbits, the period time, P , and the velocity at perigee, v, can bedetermined. These orbits has a few standard notation, which can be found inFigure B.4.

89

Page 108: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

90 Orbit movements

i = Inclination = Right ascension of the ascending node! = Argument of perigee� = True anomaly

Table B.1. Orbit de�nition in Keplerian orbital elements.

Figure B.1. The inclination of a spacecraft as de�ned in Keplerian orbital ele-ments in [27], �gure derived from [17].

B.2.1 Orbit period

If we �rst rewrite Equation (2.1), we get:

�r = � �

r3r

Page 109: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

B.2 Elliptical Orbits 91

Figure B.2. The ascending node, where the equinox direction is shown in theback by the equator. Notice that the ascending node is where the satellite is goingfrom the south to the north [17].

As stated in Kepler's Theorem 2.2:II, the angular momentum has to be constant.This becomes clear if we cross multiply the whole expression with r:

r � �r + r � �

r3r = 0

and realizes that a vector a� a = 0, thus make the second term vanish:

r � �r =d

dt(r � v) = 0

Since the de�nition for the angular momentum is h = r � v, one can see that theangular momentum is preserved ( _h = 0).But by looking at Figure B.5, we can derive another expression for h:

Page 110: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

92 Orbit movements

Vernal equinoxdirection

Figure B.3. Argument of perigee as seen from above the orbit plane. Observethat there is a di�erence between orbit plane and reference plane. Apoapsis andPeriapsis is other words for Apogee and Perigee. [17]

h = rv cos� (B.1)

From Figure B.6 and from Equation (B.1) we now can express the speci�c angularmomentum of a satellite as

h =r2d�

dt

Finally, if we �nd the expression for the di�erential element of an area in Figure B.7,we get:

dt =2

hdA

which integrated over one full lap becomes:

P =2�ab

h

Page 111: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

B.2 Elliptical Orbits 93

r a r p

a

b

Direction of satellites motion

R Å

a = semimajor axis b = semiminor axis

e = eccentricity = (r - r )/(r + r ) r = Apofocal distance = a(1+e) r = Perifocal distance = b(1-e)

Apogee height = r - R Perigee height = r - R

Perifocus (Perigee if earth orbit)

Apofocus (Apogee if earth orbit)

Å

a ab b

a

b

Å

Figure B.4. De�nitions of di�erent parameters in an ordinary elliptical orbit.These de�nitions are the most established, and can be found for instance in [27,19, 18]. Figure obtained from [17].

or, since h =p�p and b =

pap (see the next section for de�nitions of these

quantities):

P =2�p�a�

3

2 (B.2)

B.2.2 Velocity

The velocity for a satellite can be derived from the conservation of mechanicalenergy stated in Newton's Theorem 2.2:I. If we once again take Equation (2.1), butthis time dot multiply the equation by _r, we get:

_r � �r + _r � �r3r = 0

Which leads us to:

v _v +�

r3r _r = 0

Page 112: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

94 Orbit movements

gf

v

r

local horizon

local

verti

cal

Figure B.5. Flight path angle, where f denotes � and g denotes . Sinceh = r�v, h can be described as h = rv sin . But since and � are complementaryangles, h = rv cos �.

Which equals:

d

dt

�v2

2+ c� �

r

�= 0

This last term has a name; speci�c mechanical energy, denoted E. The constantc is where we put our zero potential, and it is arbitrary. Let us therefore set this

Page 113: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

B.2 Elliptical Orbits 95

v

f

rn

Figure B.6. The speci�c angular momentum, where f denotes � and n denotes�. The horizontal component of V becomes V cos � = r _�.

constant to zero, thus setting our zero reference for potential energy at in�nity.If we look at the perigee, a value for the velocity can be evaluated, since (fromgeometry) E also equals �

2a . The velocity then becomes:

v =

r2

r� 1

a(B.3)

Page 114: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

96 Orbit movements

��r

dn

dA = r d12

2 n

Figure B.7. De�nition of a di�erential element of an area.

Page 115: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Appendix C

Coordinate systems

One way to describe a satellite's movement is to describe it's translational move-ment in ordinary coordinates as in the geocentric equatorial coordinate systembelow, and describe the rotation in Euler angles. The last method describes theorientation of the craft with three di�erent angles, one for each principal axis (oftencalled roll, pitch and yaw angles). But by using these angels, we are confrontedwith a few problems. For instance, this method demand a lot of computationalresources since it has to calculate a lot of sine and cosine functions. Furthermore,there will probably be some problems with the transformation matrix, since it willget at least one sin or cosine in the denominator of each dimension, i.e. there willbe a few singularities! A much more reliable method to determine the attitude isby using Euler symmetric parameters. Especially one kind, which is built up byfour of these parameters, called quaternions is useful. This is a four dimensionalvector where three of them describes the angle of direction and the fourth describethe rotation. The advantages with quaternions are no computation with sines andcosines, no singularities and only addition and multiplication calculations.

C.1 The Geocentric Equatorial coordinate system

The geocentric equatorial system has its origin at the Earth's center. The funda-mental plane is the equator and the positive X-axis points in the vernal equinoxdirection, according to the following de�nition below.

De�nition C.1 The vernal equinox direction, �, is the direction from the centerof the Sun towards the center of the Earth on the �rst day of autumn at dawn.

The Z-axis points in the direction of the north pole. There are a few things tonotice about this coordinate system. The XY Z-system is not �xed to the Earthand turning with it, nor does the X-axis point towards the Sun all the time; rather,the geocentric equatorial frame is non rotating with aspect to the stars.

97

Page 116: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

98 Coordinate systems

C.2 Quaternions

Quaternions, which are Euler symmetric parameters, constitutes an easy way todescribe the attitude of a satellite. The only computations needed are additionsand multiplications. Since these parameters are not introduced in many moderntextbooks [27], this text will.

De�nition C.2

q0 � cos�

2(C.1)

q1 � e1 sin�

2(C.2)

q2 � e2 sin�

2(C.3)

q3 � e3 sin�

2(C.4)

These equations are not independent, but satisfy the constraint equation:

q20 + q21 + q22 + q23 = 1 (C.5)

These four parameters can be regarded as the components of a quaternion, de�nedas:

De�nition C.3q � q0 + iq1 + jq2 + kq3 (C.6)

where i, j and k are the hyper imaginary numbers satisfying the conditions:

i2 = j2 = k2 = �1ij = �ji = kjk = �kj = iki = �ik = j

It is often useful, when computing, to write the quaternions in vector form:

q =

2664q0q1q2q3

3775 � � qq4

�(C.7)

This is analogous to expressing the complex number c = a+ ib in the form of thetwo-vector:

c =

�ab

�The direction cosine matrix, i.e. the matrix used to transform a direction in onecoordinate frame to another, which has the transfer quaternion q, is described by:

Page 117: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

C.3 Other coordinate systems 99

A(q) =

24 q20 � q21 � q22 + q23 2(q1q3 + q0q2) 2(q2q3 � q0q1)2(q1q3 � q0q2) q20 + q21 � q22 � q23 2(q1q2 + q0q3)2(q2q3 + q0q1) 2(q1q2 � q0q3) q20 � q21 + q22 � q23

35 (C.8)

For further reading, consult [27].

C.3 Other coordinate systems

There are some other coordinate system worth mentioning. In orbit descriptionthere are three. One which is craft oriented, called spacecraft centered, a secondwhich is orbit �xed and a third which is sun oriented. These may very well beused, since they are probably as good as the Earth bound one. The only bad thingmay be more computations, since most mechanics and forces act on the satellite,but are caused by celestial object (such as the Earth and the Sun).It has already been mentioned a few other ways to determine a space crafts attitudethen by using a quaternion, such as Euler angels. A few negatives has also beensaid about those, but more negatives can be added such as the way of computation(which has to be told separate from the angels itself). This has to be done sincethere is a big di�erence between a roll-yaw movement compared to a yaw-rollmovement. (A more thorough explanation is left out in order for the reader toinvestigate it himself)1. Another way to describe the attitude by Euler symmetricparameters are by using a Gibbs Vector, de�ned by [27]:

g1 � q1q0

= e1 tan�2

g2 � q2q0

= e2 tan�2

g3 � q3q0

= e3 tan�2

(C.9)

This vector has the advantage that it is not any sign ambiguity in the de�nition,and that the parameters are independent. Despite of this, the Gibbs Vector isalmost never used, because it becomes in�nite when the rotation angle is an oddmultiple of 180 degrees.In the following sections we will look a little closer on the AOCS S/S and, if thereader are interested, the other S/S's can be found in [27, 18, 19] for instance.

1Hint: Try it with a book

Page 118: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

100 Coordinate systems

Page 119: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Appendix D

The History of Space ight

A short version of the history of space ight can be found in Table D.1.A short r�esum�e to the history of space ight. For a more detailed investigation,a history book will be more useful, cause although this text doesn't directly lie,there might be some margin of error!

101

Page 120: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

102 The History of Space ight

Space ight history300 BC Antonius Diogenes writes a fantasy about a trip

to the Moon.1212 AD Rockets used by Chinese to set �re to Mongol

encampments; soon after used also in Europe(where gunpowder was used to invent guns).

18th Century Artillery rockets used against British in Indiain the battle of Seringapatam.

1805 Further developed by the British, rockets usedagainst Napoleon . . .

1814 . . . and against the US1903 C. Tsiolkovski publishes `Exploration of the

Universe with Rocket Propelled Vehicles", the�rst serious investigation into methods ofleaving the Earth.

1926 Liquid-propelled rockets invented by Robert Goddard.1920s and 30s Rocketry developed further by Germans and Soviets.1943 First ballistic missile, the V-2, comes too late

to save Hitler.1945 German rocket scientists such as von Braun captured

by US and former USSR forces.1957 Soviets launch Sputnik I, the �rst arti�cial

satellite, and Sputnik II, carrying the dogLaika into orbit. The space race begins.

1958 Creation of NASA.1961 Yuri Gagarin becomes the �rst man to orbit Earth.1961 Mercury program. US President Kennedy sets goal of

landing a man on the Moon and returning himsafely to Earth by the end of the decade.

1962 John Glenn, �rst American to orbit Earth.1965-66 Gemini. First space walk.July 20, 1969 Apollo 11. Neil Armstrong �rst man to walk on moon.1970 Near disaster aboard Apollo 13.1972 6th and last Moon landing.1973-74 Skylab.1984 President Reagan calls for a permanent manned space

station.1986 Challenger disaster.1986-2001 Mir space station.1998 First components of International Space Station

launched.

Table D.1. Short history of space ight

Page 121: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

Index

Active stabilization, 47Actuators, 41

Magnetorquers, 41Momentum wheels, 42Propulsion system, 43Reaction wheels, 43Table of, 43

Adapter cone, 17Angular momentum, 8AOSP

Attitude Linearized movement, 62Control loop, 65Di�erential Equation Solvers, 59Di�erential Equations, 57Kalman �lters, 63Language, 52Obit Linearized movement, 62Software Flow, 68Software Flowchart of, 74Speci�cations, 51Square Root Filtering, 64Stabilization method, 65States in software, 55Table of Languages, 54

ASAP, 32Attitude laws of motion

General, 8Special, 8

Center of Mass, 10Center of Pressure, 10

Di�erential Equation Solvers, 58Disturbance

Aerodynamic drag, 11Gravity Gradient Torque, 13

Magnetic disturbance torque, 12Magnitude of, 15Micro Meteorites, 14Oblateness of the Earth, 14Solar radiation pressure, 10

ESPA, 32

Hohmann transfer, 18

I-Cone, 32Possible missions, 35

Kalman �lters, 63Kepler Laws of Motion, 6

Launch possibilities for small satel-lites, 17

MATLAB issues, 66Mission

Geo Positioning System, exam-ple, 21

Missions, 23Earth Observation, 24Global Positioning systems, 25Shares of market, 24

Munin, 32

Newton Laws of Motion, 6Nutation Dampers, 46

Orbit law of motion, 7Orbit time, 9Orbit velocity, 9Orbits, 18

Geo Stationary Orbit, 19

103

Page 122: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

104 Index

Geo Synchronous Orbit, 20Geo Transfer Orbit, 18Highly Elliptical Orbit, 22Intermediate Circular Orbit, 21Low Earth Orbit, 20Maneuvers in, 18Medium Earth Orbit, 21Polar Orbit, 20Sun Synchronous Orbit, 20The Molnya Orbit, 23

Passive stabilization, 45Planetary Gravitational Constant, 7

Satellite, 3Bus, 3Forces acting on, 7Law of gravity, 6Laws of motion, 6Payload, 3, 5Subsystems in bus, 4

Sensors, 38Earth sensors, 38GPS, 39Gyros, 40Magnetometers, 40Startrackers, 40Sun sensors, 41Table of, 39

Small SatellitesDe�nition, 27

Small satellitesLaunch possibility, 17

Small SatellitesCustomers, 29Weight of previously launched, 28

Square Root Filtering, 64Stabilization

Comparison of, 47Step-size, 58

Universal Gravity Constant, 7

Page 123: ttitude - Automatic Control · 2012-10-22 · resort when in need of help. Alb ert Th usw aldner {for his assiduously read-through of m y rep ort, making sure that ev erything in

På svenska

Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare –under en längre tid från publiceringsdatum under förutsättning att inga extra-ordinära omständigheter uppstår.

Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner,skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ick-ekommersiell forskning och för undervisning. Överföring av upphovsrätten viden senare tidpunkt kan inte upphäva detta tillstånd. All annan användning avdokumentet kräver upphovsmannens medgivande. För att garantera äktheten,säkerheten och tillgängligheten finns det lösningar av teknisk och administrativart.Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i denomfattning som god sed kräver vid användning av dokumentet på ovan beskrivnasätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller isådant sammanhang som är kränkande för upphovsmannens litterära eller konst-närliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press se för-lagets hemsidahttp://www.ep.liu.se/

In English

The publishers will keep this document online on the Internet - or its possiblereplacement - for a considerable time from the date of publication barring excep-tional circumstances.

The online availability of the document implies a permanent permission foranyone to read, to download, to print out single copies for your own use and touse it unchanged for any non-commercial research and educational purpose. Sub-sequent transfers of copyright cannot revoke this permission. All other uses ofthe document are conditional on the consent of the copyright owner. The pub-lisher has taken technical and administrative measures to assure authenticity,security and accessibility.

According to intellectual property law the author has the right to be men-tioned when his/her work is accessed as described above and to be protectedagainst infringement.

For additional information about the Linköping University Electronic Pressand its procedures for publication and for assurance of document integrity, pleaserefer to its WWW home page:http://www.ep.liu.se/

© Jonas Elfving