Attitude and Orbit Control for Small Satellites Examensarbete utfort i Reglerteknik vid Tekniska Hogskolan i Linkoping av Jonas Elfving Reg nr: LiTH-ISY-EX-3295-2003 Linkoping 2002 Attitude and Orbit Control for Small Satellites Examensarbete utfort i Reglerteknik vid Tekniska Hogskolan i Linkoping av Jonas Elfving Reg nr: LiTH-ISY-EX-3295-2003 Supervisors: Albert Thuswaldner Jonas Elbornsson Examiner: Anders Helmersson Linkoping 28th October 2002. Avdelning, Institution Division, Department Datum Date 2002-11-14 Institutionen för Systemteknik 581 83 LINKÖPING Språk Language Svenska/Swedish X Engelska/English Rapporttyp Report category Licentiatavhandling X Examensarbete C-uppsats D-uppsats ISBN ISRN LITH-ISY-EX-3295-2003 Serietitel och serienummer Title of series, numbering ISSN Övrig rapport ____ URL för elektronisk version http://www.ep.liu.se/exjobb/isy/2003/3295/ Titel Title Attityd och banstyrning för små satelliter Attitude and Orbit Control for Small Satellites Författare Author Jonas Elfving Sammanfattning Abstract A satellite in orbit about a planet needs some means of attitude control in order to, for instance, get as much sun into its solar-panels as possible. It is easy to understand that, for example, a spy satellite has to point at a certain direction without the slightest trembling to get a photo of a certain point on the earth. This type of mission must not exceed an error in attitude of more then about 1/3600 degrees. But, since high accuracy equals high cost, it is also easy to understand why a research satellite measuring solar particles (or radiation) in space does not need high accuracy at all. 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 continues to 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 simulates the movement of a satellite about a large celestial body. The program, called AOSP, consists of user-definable packages. Sensors and estimation filters are used to predict the satellites current position, velocity, attitude and angular velocity. The purpose of the program, which is written in MATLAB, is to easily determine the pointing accuracy of a satellite when using different sensors and actuators. Nyckelord Keyword satellites, attitude, orbit, control, Kalman estimation filters, quaternions, stabilization, pointing accuracy Abstract A satellite in orbit about a planet needs some means of attitude control in order to, for instance, get as much sun into its solar-panels as possible. The mission of the satellite may be another reason for both attitude and orbit control. It is easy to understand that, for example, a spy satellite has to point at a certain direction without the slightest trembling to get a photo of a certain point on the earth. This 1 Æ . But, type of mission must not exceed an error in attitude of more then 3600 since high accuracy equals high cost, it is also easy to understand why a research satellite measuring solar particles (or radiation) in space does not need high accuracy at all. A research vessel of this sort can probably do with less accuracy then 1Æ. The rst part of this report tries to explain some major aspects of satellite spaceight. 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 program that simulates the movement of a satellite about a large celestial body. The program, called AOSP, consists of user-denable packages. The user can dene data, such as satellite constants and attitude preferences, to simulate the attitude in orbit. Sensors and estimation lters are used to predict the satellites current position, velocity, attitude and angular velocity. The purpose of the program, which is written in MATLAB, is to easily determine the pointing accuracy of a satellite when using dierent sensors and actuators so that a craft does not get too expensive nor too less accurate. MATLAB 6 Release 13 issues are also briey discussed at the end of this document. Keywords: satellite, attitude, orbit, control, Kalman estimation lters, quaternions, stabilization, pointing accuracy, MATLAB i ii Acknowledgment I would start to direct a warm thank you to the persons below, since this nal thesis work could not have been completed without their help and aid. Par Degerman { who helped me with the layout of the report as well as assisted me with the syntax LATEX, in which this nal thesis work is written. Anders Helmersson { apart from being the examiner of this work, Anders has also aided me in several other ways, including the quaternion representation and pure technical support on emacs and LATEXhandling. I have seen him as a last resort when in need of help. Albert Thuswaldner { for his assiduously read-through of my report, making sure that everything in it is well written. Also, he has been, in opposite to Anders above, my rst resort, when in need of help. Many of the things would not have been inside this report without Albert pointing out for me that it should. Jonas Elbornsson { my supervisor at Linkoping Institute of Technology has helped me with both the report and the program. Mostly, he helped with my English language, but he has also put some perspective to the actual work and assisted 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 Linkoping, and especially my boss JanOlof Hjartstrom, 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 iv Notation There are substantial dierences between notations in dierent textbooks. The ones chosen in this text are stated below. Observe that a few denitions also can be found in the appendices, such as the denition of the Vernal Equinox in Appendix C, for instance. Vectors and Matrices Boldface letters are used for vectors and matrices. 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. x; X q Standard symbols The letter \t " in all forms are used for time or time intervals, except for the superscript T , that is used to indicate the transpose matrix. v Orbital elements: Semi major axis. Eccentricity. Inclination. Argument of perigee. Right ascension for the ascending node. P Orbit period. a e i ! Vectors: L Angular momentum. F Torque. A Attitude vector. x m -dimensional state vector. y n -dimensional observation vector. Astronomical Symbols: Earth. Sun. Vernal Equinox. L J Constants G Planetary gravitational constant (also known as GM). Universal Gravity constant (Given by Newton). Standard notations 0 rf (x) @f @x B @f1 B @x2 B The nabla operator describing the function B .. @ . @f @xn 1 C C C C A Subset. 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 O(n) Abbreviations AOCS AOSP ASAP CDH CHAMP COTS EELV EO ESPA F3A FH GALILEO GEO GLONASS GTO GPS HEO ICO I-Cone IR IT JIT LEO LQ MEO MEX NAVSTAR PID S/C S/S QR Attitude and Orbit Control System. Attitude and Orbit Simulation Package. Ariane Structure for Auxiliary Payloads. Command and Data Handling. Challenging Mini-Satellite Payload. Commercial Of The Shelf (Products). Evolved Expandable Launch Vehicles. Earth Observation (mission). EELV Secondary Payload. Fast, Frequent, Flexible and Aordable. Figure Handle (in MATLAB). A European GPS. Geostationary Orbit. A Russian GPS. Geo Transfer Orbit. Global Positioning System. Highly Elliptical Orbit. Intermediate Circular Orbit. Intelligent (adapter-) Cone. Infra Red. Information Technology. MATLAB acceleration engine. Low Earth Orbit. Linear Quadratic. Medium Earth Orbit. MATLAB Eternal code (interface between MATLAB and other program languages). The US GPS. Proportional,Inductive and Derivate. Spacecraft. Sub System (in spacecraft). Orthogonal-triangular decomposition. vii viii Contents 1 Introduction 1 1.1 Problem formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Satellites in general 2.1 Modules in a regular satellite . . . . . . . . . . . . . 2.1.1 The bus . . . . . . . . . . . . . . . . . . . . . 2.1.2 The payload . . . . . . . . . . . . . . . . . . 2.2 Movement laws of satellites . . . . . . . . . . . . . . 2.2.1 Orbit laws of motion . . . . . . . . . . . . . . 2.2.2 Attitude laws of motion . . . . . . . . . . . . 2.2.3 Orbit time and velocity . . . . . . . . . . . . 2.3 Disturbances in orbit and attitude . . . . . . . . . . 2.3.1 Solar radiation pressure . . . . . . . . . . . . 2.3.2 Aerodynamic drag . . . . . . . . . . . . . . . 2.3.3 Magnetic disturbance torques . . . . . . . . . 2.3.4 Gravity gradient torque . . . . . . . . . . . . 2.3.5 Micrometeorites . . . . . . . . . . . . . . . . 2.3.6 Oblateness of the Earth . . . . . . . . . . . . 2.3.7 Discussion on the magnitude of disturbances 3 Orbits and missions .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 3 3 3 5 6 6 8 9 10 10 11 12 13 14 14 14 17 3.1 From launch to orbit . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1 Orbits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 Missions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4 A study of small satellites 4.1 4.2 4.3 4.4 Previously launched satellites . Tendency in launches today . . Customers . . . . . . . . . . . . Potential use . . . . . . . . . . 4.4.1 Dispenser . . . . . . . . 4.4.2 Main vehicle . . . . . . 4.5 Ways to launch small satellites . . . . . . . ix .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 27 27 29 29 30 30 31 32 x Contents 4.5.1 ASAP . . . . . . . . . . 4.5.2 ESPA . . . . . . . . . . 4.5.3 Munin . . . . . . . . . . 4.5.4 I-Cone . . . . . . . . . . 4.6 The need for small satellites . . .. .. .. .. .. .. .. .. .. .. . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 5.1 Redundancy . . . . . . . . . . . . . . . . 5.2 Sensors and actuators . . . . . . . . . . 5.2.1 Sensors . . . . . . . . . . . . . . 5.2.2 Actuators . . . . . . . . . . . . . 5.3 Stabilization methods . . . . . . . . . . 5.3.1 Why do we need stabilization? . 5.3.2 Passive stabilization . . . . . . . 5.3.3 Active stabilization . . . . . . . . .. .. .. .. .. .. .. .. . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 6.1 Requirements . . . . . . . . . . . . . 6.2 Prerequisites . . . . . . . . . . . . . 6.2.1 Development environment . . 6.2.2 Coordinate frames . . . . . . 6.2.3 Model representation . . . . . 6.2.4 Dierential equation solvers . 6.2.5 Linearization . . . . . . . . . 6.2.6 Measurement determination . 6.2.7 Stabilization strategy . . . . 6.2.8 Needed data . . . . . . . . . 6.3 MATLAB issues . . . . . . . . . . . 6.4 Behavior of the AOSP . . . . . . . . 6.4.1 Example run . . . . . . . . . 6.4.2 Program ow . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 5 Orbit and attitude stabilization . . . . . .. .. .. .. .. 6 The Attitude and Orbit Simulation Package (AOSP) .. .. .. .. .. .. .. .. .. .. .. .. .. .. 7 Conclusion and suggestions to further work 32 32 32 32 36 37 37 37 38 41 44 45 45 47 51 51 52 52 54 54 57 59 63 64 66 66 67 67 68 75 7.1 Small satellites study . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.2 The AOSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Bibliography Appendix A AOSP - users manual A.1 A.2 A.3 How to get started . . . . . . . . . . A.1.1 What data can be found . . . Input needed to the program . . . . A.2.1 Replaceable modules . . . . . How to work with the user interface .. .. .. .. .. .. .. .. .. .. . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 79 81 81 81 81 85 85 85 Contents xi A.3.1 Load and Save data . . . . . A.3.2 Print results from simulation A.3.3 Change parameters . . . . . . A.4 What is saved in the output le . . . A.5 Shortcuts . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. B.1 Keplerian Orbital Elements B.2 Elliptical Orbits . . . . . . . B.2.1 Orbit period . . . . B.2.2 Velocity . . . . . . . .. .. .. .. .. .. .. .. . . . . .. .. .. .. .. .. .. .. .. .. .. .. . . . . .. .. .. .. .. .. .. .. .. .. .. .. B Orbit movements C Coordinate systems .. .. .. .. . . . . .. .. .. .. 86 87 87 87 87 89 89 89 90 93 97 C.1 The Geocentric Equatorial coordinate system . . . . . . . . . . . . . 97 C.2 Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 C.3 Other coordinate systems . . . . . . . . . . . . . . . . . . . . . . . . 99 D The History of Space ight 101 xii Contents Chapter 1 Introduction To explore space is still many peoples dream. But before mankind can enter space themselves, investigating probes have to be sent out in advance. Their missions are many, such as communication, global surveillance or planetary research. With a combined name, these probes are often called articial satellites. The satellite industry possesses huge possibilities, although the market to date is a bit slow. Of course, these crafts have to be automatic in the sense that if the ground control loses communication with the satellite for a couple of hours, it still should 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 performance; thus it is really tricky to design a craft with high pointing accuracy without getting a too expensive one. To keep the cost down, expensive measurement and propulsion 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, verication and launch procedures are far more expensive, since the rst three take many man-hours and the last one demands an expensive launch-vehicle. An example 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 for small satellites) in Chapter 2. It continues to describe the market, and trends of small satellites in Chapter 4. The development of a simulation program to determine the attitude variation when using dierent 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 where the market is heading. What demands will there be for small satellites in the 1 2 Introduction The Odyssey launch platform with the rocket \Sea-launch" | a way of transporting rockets out on the ocean for launch as near the equator as possible for countries that do not own land in that region (for instance Russia and Norway are participants in this project) [25]. Figure 1.1. future, and what demands are there today? The second aim is to nd out how good pointing precision can be expected with a certain set of sensors and actuators when the satellite has a certain mission? These questions will be further explained and dealt with, but not completely answered. The reason for this is that no one can accurately predict the future and that there was a time limit to the nal thesis work. There are, however, some suggestions on further development of the simulation software discussed at the end of this report. 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 denition one can easily understand that moons also are satellites, in fact; even the Earth itself is one of the Sun's satellites and the Sun is a satellite in our galaxy, the Milky way. In general though, when talking about satellites, we refer to articial, i.e. man-made, satellites moving in orbit around the Earth or any other planet in our solar system. In orbit means that the satellite has high enough altitude and/or speed to hold it within the celestial bodies' gravitational eld without falling down onto it. This may seem harder than it really is. A presentation of the movement laws will be presented in Section 2.2 which will explain this. But before that, a short introduction to satellites should be in order. 2.1 Modules in a regular satellite Satellites of today can look virtually every way you could possibly imagine. The satellite CHAMP, for instance, which was launched in 15th of July 2000 from Plesetsk in Russia looks like a regular electric guitar (see Figure 2.1 or [9, 20]). As seen there are no rules at all on how they appear on the outside. The interior of a satellite, however, has a few similar parts, or at least parts that can be identied. These parts are called the bus and the payload according to [18]. The payload is the module that completes the mission specic tasks, such as taking photographs, measuring radiation, relaying TV etc. The bus, on the other hand, consists of subsystems that work together to help the payload to complete its mission. 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 mission specic. Missions are described later in Section 3.2. The aid for the payload consists in, for instance, keeping the payload at an acceptable temperature, providing the 3 4 Satellites in general Figure 2.1. The satellite CHAMP (Challenging Mini-Satellite Payload). An example of an odd shaped spacecraft [20]. payload with power and helping it to navigate and point at specic locations. Often, the bus is divided into subsystems, or S/S. In the chart below, the most common classications (according to [18]) of S/S are shown. Structure: Usually the whole structure is considered to be a S/S of its own. The actual structure includes the hull and load-bearing walls in the satellites. Since the structure will be exposed to dierent pressures, solar radiation and small meteorites, this structure has to be completely thought through so that it can handle this harsh space environment. Thermal: In the design of spacecrafts, thermal control is needed in order to maintain structure and equipment integrity over long periods of time, according to [18]. It has been recognized since the conception and design of the rst space vehicles that a prime engineering requirement is a system for temperature control that permits optimum performance of many components. In fact, if it was possible to operate equipment at any temperature, there would be no need for thermal control. Normal operation temperatures must be within 20 ÆC to +50 ÆC inside the spacecraft in order for the components to survive. 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 a communication handler between dierent S/S. In computer terms this would be called a master unit, and the other structures for slave units. AOCS: (Attitude and Orbit Control System) This S/S could be compared with the human inner ear, i.e. from sensors this S/S determines where the satellite is and how it is oriented. With this information the AOCS determines how to navigate (in case its position or attitude is wrong). To summarize, the AOCS consists of three parts; one that operates sensors, another one that calculates what to do and a third one that operates actuators with what has been calculated. Propulsion: Every satellite needs some means of transportation and some means of attitude adjustment. These means are called the propulsion S/S. It maintains the fuel consumption and control the output given by, for instance, the AOCS 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 backup batteries, when the satellite is not within an eclipse. Otherwise, this S/S makes sure that the satellite stops operating and moves into a \wait" mode to preserve power. This power-saving mode operates on the backup batteries until the satellite has come out of the eclipse again. Communication: It would be rather pointless to send something into space that cannot communicate. All satellites should have this S/S, although there might be special cases when this subsystem is not needed. One of the earliest satellites, for instance, was made of a reective material. Instead of actively receiving and relaying a signal, as todays communications satellites work, it reected signals back down again to the Earth, thus not needing any sort of communication device. 2.1.2 The payload Apart from the subsystems in the previous section that constitutes the bus, a is also needed. The payload is where the mission specic tools are located. There could be cameras that take satellite photos of the Earth, or communication equipment which enable us to see satellite TV and so on. These dierent elds of application for payloads are called dierent missions, and will be discussed later in Section 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 a higher demand on the bus makes the whole satellite larger and heavier. The more power and weight the payload has the more power and propulsion eect the bus has to give, thus increasing the cost of the bus exponentially. payload 6 Satellites in general 2.2 Movement laws of satellites A man-made satellite has to be stabilized due to many disturbance forces. For instance 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 actually moves in space. In addition, the owner of the satellite may want to adjust the orientation, or attitude, to a certain mission specic task (take photographs of, or broadcast TV to, the correct location). To be able to meet these requirements the satellite control systems must consist of at least two separate parts. One control system that keeps the satellite in a correct orbit, since the disturbances described in 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 the latter task does not have to be active control | passive stabilization techniques might 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. The following sections will deal with orbit and attitude movement laws, as well as dierent disturbances. The orbit and the attitude movement are however not uncorrelated, as implied earlier. 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 an eclipse. 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 physicists theorem'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 mean distance 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 line unless 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 is in 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 where he rst stated his Theorem's 2.2. This equation is known as the law of gravity, and 2.2 Movement laws of satellites 7 constitutes a way to calculate the force acting between two bodies due to gravity1: Fg Gm1 m2 r r2 r = (2.1) The Equation (2.1) states that the force attracting two bodies to each other is proportional to their masses (m1 and m2 ) and inverse proportional to the square of the distance between them (r). G is the universal gravity constant derived from the term , often refered to as GM , where M the mass of the planet3 2 . The term = GM is called the planetary gravitational constant (with unit ms2 ), where G is 2 the universal gravity constant, with the value G 6:67 10 11 Nm kg2 . In Equation (2.2), the Newton force described in Equation (2.1) is generalized to an equation of n bodies: Fg = Gmi n X mj 3 (rji ) j =1;j 6=i rji (2.2) This force alone constitutes the greatest force acting on a satellite in orbit at a low to 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, aerodynamic drag due to the Earth's atmosphere and, of course, induced forces like thruster burns etc. To summarize, we have: F T OT AL = F g + F DRAG + F T HRUST + F SOLARP RESSURE + + F OBLAT EEART H + : : : (2.3) If we dierentiate Newton's second law (Theorem 2.2) and nd the distance ri we get: d (m v ) = F T OT AL (2.4) dt i i Keeping in mind that we might use thrusters that expel matter (which makes the satellite's mass time dependent), Equation (2.4) evaluates to: F m_ ri = T OT AL r_ i i (2.5) mi mi These equations combined (Equation (2.3) and Equation (2.5)) can be solved to nd any satellite's movement in time. 1 Observe that the inner nature of gravity, i.e. what gravity really is and how it actually works, still is a puzzle for todays scientists. 2 Since G is derived from for all planets, it is both more common and accurate to use the term for the planetary gravitational constant instead of multiplying G with the planet's mass, M. 8 Satellites in general 2.2.2 Attitude laws of motion Depending on the coordinate frame used to represent the attitude, the movement equations describing the attitude will look dierent. For explanations of dierent coordinate systems, study Appendix C. The movement equations for the dierent coordinate frames have one thing in common though. They are all derived from the equation of angular momentum (from [27, 4]): h_ A = r P=A ma + r_ P=A mv (2.6) where a = v_ is the acceleration, rP=A is the vector from point A to point P and hA is as in Denition 2.1. When utilizing Newton's second law (F = ma, where F is the resulting force) on the second term, we get: r P=A ma = rP=A F = M A (2.7) Where the last step is the denition of the moment of a force F about point A, denoted M A, as in [4]. When we apply this, Equation (2.6) evaluates to: M A = h_ A r_ P=A mv (2.8) According to [12] the angular acceleration of a satellite can be derived from Equation (2.8) and from the fact that: Denition 2.1 (Angular momentum) (2.9) Where I is the moment of inertia tensor and ! is the angular velocity. The nal angular 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 vector from, for instance, the dierent reaction wheels. h is in other words not the angular momentum 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 the principal and the inertial axes are the same, i.e. it is a symmetric body with regard to the mass and the shape. Because this evidently seldom is the case, a more general equation that works with any kind of inertia matrix is (also derived in [12]): !_ x = Jx Tx + Pxy Ty + Pxz Tz !_ y = Pyx Tx + Jy Ty + Pyz Tz !_ z = Pzx Tx + Pzy Ty + Jz Tz (2.11) hA I ! 2.2 Movement laws of satellites where Tx Ty Tz h = (Mx h_ x) h = (My h_ y ) h = (Mz h_ z ) 9 !z !y (Iz !x !z (Ix !y !x (Iy Iy ) (!y hz Iz ) (!z hx Ix ) (!x hy where = Dzy !y2 Dyz !z2 + !x(Dzx!y = Dxz !z2 Dzx!x2 + !y (Dxy !z = Dyx!x2 Dxy !y2 + !z (Dyz !x The general inertia matrix is described by: DX DY DZ 0 I and the inverse by: [email protected] 0 I [email protected] Ix Dxy Dxz Dyx Iy Dyz Dzx Dzy Iz Jx Pxy Pxz Pyx Jy Pyz Pzx Pzy Jz !z hy ) DX !x hz ) DY !y hx) DZ Dyx!z ) Dzy!x ) Dxz!y ) i i i (2.12) (2.13) 1 A (2.14) 1 A =J Again, h is the total angular momentum due to reaction wheels etc. satellite. (2.15) within the 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 changes during one lap, a satellite has its maximum speed at perigee and its minimum speed at apogee, only the velocity in perigee or apogee is really simple to calculate in advance. These equations are as follows: 2 3 P = p a 2 (2.16) v = s 2 1 r a (2.17) Where a is the semi-major axis as in Appendix B, and the velocity expression is given for perigee. 3 For denitions of perigee and apogee, please see Appendix B. 10 Satellites in general 2.3 Disturbances in orbit and attitude Disturbances in space could be a rather extensive chapter, since virtually every existing object will act upon the satellite with gravitational forces and moments. To keep this chapter to a reasonable level, some smaller disturbances will therefore be neglected. How much torques actually will act upon the satellite's attitude depends on the size-to-mass ratio. If, for instance, the satellite looks like a perfect sphere, there will probably be only small (not signicant) disturbances to the satellite in attitude from outer eects. But on the other hand, if the satellite looks like a long at rod we will get eects to the attitude from disturbance torques. The main cause to these disturbances might be the Sun, the Earth's atmosphere or the gravitational elds of dierent celestial bodies, but they have a similar impact on a non-symmetric spacecraft. Example 1 If we use the Sun as an example, we can see that the solar wind from the Sun will put an evenly distributed pressure on the satellite. This pressure will be uniform on each part that is exposed to the Sun. You could therefore replace all these small forces with the sum of those on the geometrical middle point exposed to the Sun, called the center-of-pressure. If this center-of-pressure is not on the same spot as the center-of-mass, there will be an additional moment. The size of this moment, or torque, is the force times the distance between the center-of-mass and the 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 cause this disturbance. Similar things as in Example 1 happens when dealing with aerodynamic drag. Gravity gradient, however, is a dierent story. This is a force that will try to align the satellite with the Earth's magnetic eld. If this seem interesting, the reader should study [27]. All of these disturbances can be modeled, and a brief explanation on how is given in the next few sections. For a more investigative examination of these disturbance models, [19] would be to prefer. The reader should note that the oblateness of the Earth is no real disturbance torque since it can be modeled with a good accuracy. Instead of regarding this anomaly as a disturbance, it should be considered to be an update to the movement equation, i.e. Equation (2.1). 2.3.1 Solar radiation pressure The solar radiation pressure is due to photons from the Sun constituting a pressure on the satellite (where the satellite is not eclipsed). To model this disturbance the color of the satellite plays a big part since black color, for instance, absorb much 2.3 Disturbances in orbit and attitude 11 more energy then the color silver (which reects most energy). If we use the geocentric equatorial coordinates (which are explained in Appendix C), radiation pressure can be modeled.4This is done in [19], but there they have taken for granted that it is a black body that travels in space. While this is not completely true, a good approximation of the torque due to solar radiation is: x y z = = = f cos A f cos i sin A f cos i sin A (2.18) Where f A m A i = = = = = 4:5 10 10 mA [ sm2 ]: Cross section of vehicle exposed to the Sun [m]: Mass of vehicle [kg]: Mean right ascension of the Sun during computation. Inclination of equator to ecliptic (= 23:4349): Observe that the and the signs are common symbols used for the Sun and the Earth respectively. The solar radiation eects both the attitude and the orbit of the space craft, since the result of a pressure at a point apart from the center-of-mass will constitute a torque. The eect on orbit is normally negligible (if the satellite has not got an extremely 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 it obviously is dependent on the distance from the Sun ). 2.3.2 Aerodynamic drag Aerodynamic drag is a disturbance that arises when the satellite move through the Earth's atmosphere, which (although it is not dense) is enough for a torque to appear. Accelerations caused by aerodynamic drag can be described as follows: r 4 Absorbs all light. = 1 CD A Var_ a 2 m (2.19) 12 Satellites in general where Dimensionless drag coeÆcient associated with 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 [ mkg3 ]: Va jr_ a j = Speed of vehicle relative to the rotating atmosphere [ ms1]: 0 _ x_ + y _x A r_ a = @ y_ 0 1z_ x_ r_ = @ y_ A = The inertial velocity. z_ _ = Rate of the Earth's rotation [ rads ]: To simplify the equations, you could use the ballistic coeÆcient for the vehicle, , which is dened by: C A = D mg Obviously g is altitude dependent. This force both slows the craft down as well as it starts to spin the craft if the center-of-pressure is apart from the center-of-mass. The aerodynamic disturbance is the dominant disturbance beneath 500rkm altitude from the Earth, and it depends on the distance from the Earth as e , where is a constant. CD A = = = = = 2.3.3 Magnetic disturbance torques The magnetic disturbance torque is a result from the interaction between the spacecraft residual magnetic eld and the geomagnetic eld. There are three main sources 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 latter sources for disturbance can be made negligible. This leaves the spacecraft magnetic momentum as the largest source of disturbance, and the instantaneous magnetic disturbance, N mag , due to the spacecraft eective magnetic momentum, m, is given by: N mag = m B (2.20) 2.3 Disturbances in orbit and attitude 13 where B is the geocentric magnetic ux. This disturbance is dominant in the region between 3 500 km to about 35000 km, and it depends on the distance form the Earth as r . To get a complete discussion on 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 the Earth's gravitational force eld. Since the forceeld will not be constant over all non-symmetrical objects in orbit, dierent forces will act on dierent parts of the satellite. If the gravitational force-eld would be uniform, this disturbance would vanish. A conceptual expression of the gravity gradient torque can be expressed as: N gg = Z ri dF i = Z Ri dmi Ri3 ( + r0i) (2.21) In Figure 2.2, the denitions of the coordinate frame can be found. Center of mass Geometric center r RS Body reference frame r i' ri R dm i i Coordinate System for the Calculation of Gravity Gradient Torque dened in Equation (2.21) Figure 2.2. This torque is, like the magnetic disturbance torque, dominant between 500 km and 35000 km. It depends on the distance from the Earth as r 3 . Again, a more thorough investigation on this disturbance torque can be found in [27]. 14 Satellites in general 2.3.5 Micrometeorites Disturbance torque from small fragments in space are rare, and often not taken into 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 Earth is slightly attened by its poles, is rather diÆcult to model. The force in Equation (2.1) will actually not be directed at the center of the Earth as stated before when assuming Earth to be a perfect sphere, rather slightly more against the equator since the Earth has more mass in that region. Therefore this anomaly is regarded as an update to Equation (2.1) rather then a perturbation of its own. The main resulting update acceleration, still according to [19], to Equation (2.1) becomes: a = r (2.22) " # 1 X r n = 1 Jn Pn sin L (2.23) r r n=2 where Jn r Pn L = = = = = = (The planetary gravitational constant). CoeÆcients to be determined by experimental observation. Equatorial radius of the Earth. Legendre polynomials. Geocentric latitude. z GM sin L r: For n = 2 to n = 4 the terms of Jn are experimentally determined to: J2 = (1082:64 0:03) 10 6 J3 = ( 2:5 0:1) 10 6 J4 = ( 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 complete expressions, 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 be completely modeled, and is not one completely consisting of white noise. Therefore it 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 2.3 Disturbances in orbit and attitude Disturbance Aerodynamic Gravity Gradient Magnetic torques Micrometeorites Solar radiation Oblate Earth 15 Region of dominance Distance dependence . 500 km e r from the Earth 500 km to 35000 km r 3 from the Earth 500 km to 35000 km r 3 from the Earth Normally negligible & 20000 km r 3 from the Sun 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 by solar pressure dominates. Even the moons gravitational force vary in time. When the satellite is near the moon, it will obviously be subject to a larger magnitude of force from the moon compared to when the satellite is on the opposite side of the Earth. Every other force, such as gravitational forces from the other planets and the reected solar pressure from the Earth and the moon, acting on a satellite are small enough to be completely discarded. The reason for this is that they will vanish in the systems noise. To sum this chapter up, a simple table where magnitude of disturbances can be found is given in Table 2.1. Observe that these gures are representative and not necessarily completely correct. For further reading, the reader should look into [27]. 16 Satellites in general Chapter 3 Orbits and missions Before conducting a more thorough investigation on how to stabilize a spacecraft when it is operational in orbit, something should be said about how a satellite is put into orbit and what kind of orbits there are. This is what this chapter contains along with dierent mission denitions. 3.1 From launch to orbit There are but one way to get a satellite into the correct orbit that we know of today. And that is by launching it with a rocket, which is separated at a given altitude. After that, a series of thruster burns has to be made to reach the desired orbit. For large satellites this is pretty much what happens. An adapter cone is bolted to the carrier rocket and the satellite is mounted on top of it. The reason for using an adapter cone is both the need for a separation system between the rocket and the satellite and the fact that carrier rockets are manufactured in particular diameters, and the satellite often has other dimensions. The adapter cone supplies both of these functionalities. For small satellites, however, other launch possibilities may be used. If it is really small, it can use a big satellite as a transport, i.e. a large craft has many small satellites inside, and deploy them at their destined position. Another mean to travel into space is by hitchhiking with a larger satellite. This is similar with the previous transport method, except that it does not use the main satellite at all. Instead it is attached to the rocket, in one way or another, and separates after the main satellite has separated. This is a good solution to keep cost down, since carrier rockets often has a capacity to take more weight then it often does. A short presentation of these dierent methods will be presented in Chapter 4. Often launches happen near the equator, this is due to the Earth's oblateness. It is simply not as much gravity near the equator compared to the poles, thus not as much fuel or as big carrier rockets are needed. The Russians, however, has a launch 17 18 Orbits and missions site called Plesetsk in northern Russia, for instance. There, the carrier rockets look very dierent. Instead of only one main rocket, they have attached several booster rockets to the side of the main one to be able to put the satellite into the wanted orbit, 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 mentioned. There are, for instance, old intercontinental rockets that has been rebuild to take small crafts into space instead of dumping destructive power. These other methods 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 parked in the correct orbit directly. But since this seldom is the case, the satellite often has to make a series of thruster burns to get into the right position. When this is the case, the satellite is parked into another orbit called a GTO (Geo Transfer Orbit). This is an orbit that will intersect with either the correct orbit or another GTO, although the latter is seldom the case. The reason for this is that these kind of maneuvers are fairly expensive to do, therefore is it protable to separate the satellite in as good position as possible. When making a transfer between two dierent orbits a Hohmann transfer is often Assume that we begin with a circular orbit If you get your velocity boost here, you'll go from a circular orbit to an elliptical orbit If you give your velocity a boost here, you can change your orbit from an ellipse to a larger circle A Hohmann transfer from one circular orbit to another in the same orbit plane using minimum amount of energy. Figure 3.1. 3.1 From launch to orbit 19 used. A Hohmann transfer uses the minimum energy path between the orbits in the same orbit plane, and is done in two stages. First a thruster burn changes the current orbit into a GTO, whose apogee (the orbits maximum distance from the orbited object) is exactly in the wanted orbits path. Then, when the satellite has reached the orbits apogee, another thrust is made, and the new orbit is attained (see Figure 3.1). To do a transfer between orbits in dierent planes, a Hohmann transfer may not be the optimal one, but it will still work. There are four dierent 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 types of orbits in more detail. Geostationary orbit as well as two Low Earth Orbits; A Polar Orbit and an ordinary LEO [3]. Figure 3.2. GEO Geostationary orbits are circular orbits that are oriented in the plane of the Earth's equator. In this orbit, the satellite appears stationary, i.e. in a xed position, to an observer on the Earth. More technically speaking, a geostationary orbit is a circular prograde1 orbit in the equatorial plane with an orbit period equal to that of 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 xed above 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 1 With the 2 The area same rotational direction as the Earth. covered. 20 Orbits and missions satellites in orbit. This orbit should not be mistaken for the geosynchronous orbit. The denition for this kind of orbit is: Denition 3.1 (Geosynchronous orbit) A geosynchronous orbit means that a satellite makes one orbit every period of the Earth. 24 h so that it is \synchronized" with the rotation This will happen at an altitude of approximately 36000 km above the Earth's surface. This denition does not say anything about the orbits position, thus geostationary orbit is a synchronous orbit, but not necessarily the other way around. The reason for 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 of Arthur C Clarke who rst published the theory of locating geosynchronous satellites 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 at a height of less than 2000 km above the surface of the Earth. The orbit period at these altitudes varies between 90 min and 2 h. The radius of the footprint of a communications satellite in LEO varies from 3000 km to 4000 km. The maximum time during which a satellite in LEO orbit is above the local horizon for an observer on the Earth is up to 20 min. In this category, which is the most common orbit type, there are several subtypes of orbits. 3For instance there is a Polar orbit where the orbit almost has a 90Æ inclination , and a Sun synchronous orbit where the satellite never is shaded from the Sun by the Earth. Most small LEO systems employ polar, or near polar, orbits. A complete global coverage system using LEO orbits requires a large number of satellites, in multiple orbit planes, in varied inclined orbits. See example below. Example 1 The currently in operation Iridium (Motorola) system, utilizes 66 satellites (plus six in orbit spares) in six orbit planes inclined at 86:4Æ at an orbit height of 780 km with an orbit period P = 100 min ; 28 sec. Global coverage with this single system is an astounding 5:9 106 miles2 per satellite. See also Figure 3.2 or Figure 3.3, where dierent examples of LEOs are given. 3 Inclination is part of the Keplerian Orbital Elements, which is a way to describe orbit planes of a satellite. In Appendix C, a description of these coordinates are given 3.1 From launch to orbit 21 Usual orbit denitions from the Earth's center and out; Low Earth Orbit, Medium Earth Orbit, Geostationary Orbit and Highly Elliptical Orbit. Also two examples of Russian HEO is given (the communication satellite systems Molnya and Tundra ) [3]. Figure 3.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 measures about 6 h. The maximum time during which a satellite in MEO orbit is above the local horizon for an observer on the Earth is in the order of a few hours. A global communications system using this type of orbit, requires a modest number of satellites in 2 to 3 orbit planes to achieve global coverage. See also Figure 3.3. Example 2 The US Navstar Global Positioning System (GPS) is a prime example of a MEO system (see Figure 3.4). 22 Orbits and missions The US Navstar Global Positioning Systems nominal constellation. Using 24 satellites in 6 orbit planes with 4 satellites in each plane. The altitude being 20200 km and the inclination 55Æ , thus laying in a MEO orbit [3]. Figure 3.4. HEO HEOs (Highly Elliptical Orbits) for Earth applications were initially exploited by the Russians to provide communications to their northern regions not covered by their GEO satellite networks. HEOs typically have a perigee at about 500 km above the surface of the Earth and an apogee as high as 50000 km. The orbits are inclined 3.2 Missions 23 at 63:4Æ in order to provide communications services to locations at high northern latitudes. 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 surface will always occur at a latitude of 63:4Æ North. Orbit period varies from eight to 24 h. Owing to the high eccentricity of the orbit, a satellite will spend about two thirds of the orbit period near apogee, and during that time it appears to be almost stationary 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 area of interest, i.e. which would cover a major population center, for example in the Russian 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 in the same orbit in order to avoid loss of communications to the user. Free space loss and propagation delay for this type of orbit is comparable to that of geostationary satellites. However, due to the relatively large movement of a satellite in HEO with respect to an observer on the Earth, satellite systems using this type of orbit need to be able to cope with large doppler shifts. Example 3 One HEO systems is the Russian Molnya system, which employs 3 satellites in three 12 h orbits separated by 120Æ around the Earth, with apogee distance at 39354 km and perigee at 1000 km. With these three satellites, the Russians have complete coverage with communications over the whole arctic area, including their own country. Another example is the Russian Tundra system, which employs 2 satellites in two 24 h orbits separated by 180Æ around the Earth, with apogee distance at 53622 km and 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 already been mentioned, but will be discussed a little more in detail in this chapter. Observe that all of the below mission classications are strictly subjective to my own opinion, and are drawn from observation of previously launched satellites missions presented in [14]. Other books may therefore have other classications, but in this text these ones are used: Communication: If a commercial companiy own a satellite, it probably belong to this category. TV broadcasting, some of the Internet traÆc, radio and a few telephone networks are a few examples of communication satellites. 24 Orbits and missions 69.2 % Commercial 1.4 % EO 14.4 % Science 11.0 % Tech Demo 2.3 % Military 1.7 % Education Dierent market shares of missions calculated to the year 2000. (Source is [14]). Figure 3.5. Earth Observation: In this category you can nd weather monitoring satellites as well as environment monitoring satellites. Commercially some companies sell photographs of the Earth taken from satellites. Also, maps are nowadays drawn from satellite photos, and lastly tracking airplanes and certain boats is also a eld of use belonging in this category. Military: These satellites are for defense and oense use. For instance there are spy satellites, taking high resolution pictures of the Earth. A few satellites belonging in this mission prole could also be Earth surveillance satellites, such as weather satellites, or global positioning satellites. Yet another may also be some sort of communication satellites. The common ground, however is 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 and courses can be found at [14]. 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. They sometimes also have secondary missions. Science: This is by far the widest and the most diverse category. These satellites do everything from observing (such as the Hubble Space Telescope) via research on solar phenomena to research on other planets (such as the Marslander). Global Positioning: This is, in contrast to the previous item, the most narrow category. All of the satellites with these missions actually has the same kind of orbit, a MEO orbit. The NAVSTAR GPS is a US variant of this system. A European one, called GALILEO, is on the way, but will probably take at least a few years before operational (See [8]). There also exist a Russian variant of global positioning, called GLONASS (Global'naya Navigationnaya Sputnikovaya Sistema Global Navigation Satellite System), which is the most accurate global positioning system on the market today. See [22] for further information. 80 70 60 50 40 30 20 10 0 80 19 82 19 EO 84 19 Education 86 19 Science 88 19 90 19 Tech Demo 92 19 94 19 Military 96 19 98 19 Communications Dierent missions market share divided per year since 1980 to the year 2000. Source is [14]. Figure 3.6. Global positioning does not really make up a category by itself, rather it is a combination between Earth observation and military. But for simplicity they get their own eld. In Figure 3.5 one can clearly see what the most common missions for satellites are, 26 Orbits and missions and in Figure 3.6 a historical aspect of dierent missions are given (observe that EO 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 be that the space industry is extremely conservative, and no one will spend any money on a satellite that has not been tested in reality at least a few times (except maybe governments or the military). This has lead to a most peculiar phenomena; old proven technology is preferred over new and advanced (i.e. a 386 computer would be preferred over an Intel Pentium 5 computer, for instance). Chapter 4 A study of small satellites Nowadays there are several satellites in orbit. Most common are communication and 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 Small satellites (i.e. mass . 500 kg plotted per month since 1980. A steadily growing market. (The data resolved from [14]). Figure 4.1. 27 28 A study of small satellites The history of actual space ight is, as almost every one of you probably already know, extremely short. But, on the contrary, the long road from discovering black powder to the actual rst launch is a bit more extensive, and is briey described in 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 compare the number of launches that have been historically (that we know of) with the weight of the launched satellite. This comparison has been done in [14], and the result is shown in Figure 4.1. From gures 4.1 and 4.2, one can see that between 1997-1999, when the information technology had its peak, the increase of launched small satellites was substantial. 80 70 60 50 40 30 20 10 0 81 19 83 19 85 19 87 19 89 19 Mini 91 19 Micro 93 19 95 19 97 19 99 19 Nano Mass distribution of launched small satellites divided per year. Figure obtained from [14]. Figure 4.2. 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 happening right now, but in the future there will probably be a new \boom". The reason for this is the lifetime of satellites. Most satellites have some kind of solar panels, which means that they can restore its power resources. There is one problem though. To change 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 run out of fuel at a certain age (which ranges from anything between a couple of years to a couple of decades depending on the propelling system, size and mission etc).1 When it runs out of fuel, it will use its last propellant to do a graveyard burn , and burn up. This problem with fuel running out can be solved in a few ways. Either, the owner could just replace the satellite with a new one, or they can send a refuel and repair team to it. There are a lot of communication, weather and positioning satellites in space now, that are growing very old, therefore there will probably be several launches in the future, with the aim on renewing the population. Since the actual launch is among the most expensive parts of a satellite, there will probably be a lot of companies/scientists that will try to take advantage of others that want to renew their satellites in space. Because with smaller crafts there is a possibility 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 time in the business (for small satellites), see Figure 4.3. But historically, the commercial group have increased their market share considerably, as we can see in Figure 4.4. 1 A way to prevent the space to be lled with trash. The procedure is simply to re a series of thruster burns that will cause the satellite to fall down to the Earth in such an angle that it burns up. 30 A study of small satellites 5.4 % University 35.1 % Military 37.1 % Commercial 17.3 % Government 5.1 % Amateur Dierent customers market share for historically launched small satellites. (Source [14].) Figure 4.3. 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 reader could look into [14, 27]. 4.4.1 Dispenser One way to use these small satellites is as transportation and deployment of even smaller ones, for instance nano satellites. This kind of satellite is usually called a dispenser, since it dispense smaller crafts in space. The advantage with doing this is that many small satellites can share one launch. Since, as stated several times in this text, the launch is the far most expensive part of a satellites total cost, this would lower the cost per satellite tremendously. The use of many small satellites can be motivated by the obvious reason of redundancy. If one large satellite malfunctions, you are smoked, but if a small one malfunctions, there are others that still work. Dispensers are increasing in number especially in space research missions, since many research projects can share the space, and cost, of the launcher and thus become less expensive. 4.4 Potential use 31 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 79 981 983 985 987 989 991 993 995 997 999 9 1 1 1 1 1 1 1 1 1 1 1 Government Commercial Amateur Military University Market share between dierent customers for small satellites divided per year. Notice the trend that military is decreasing and commercial is increasing their market share. (Data derived from [14].) Figure 4.4. 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 the vehicle, which leaves a \not so big" space left for the payload. The budgets2 for the payload are also much smaller. 2 There are two types of budgets usually referred to, power and weight budget. Since the craft is not allowed to run out of either of them, these will be fairly small on a small craft. 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 it can \share" the launch vehicle with other satellites, thus reducing the launch cost for each satellite. There are but a few ways to hitchhike into space on the market today, and these ways are briey discussed in the next couple of sections. 4.5.1 ASAP The ASAP, Ariane Structure for Auxiliary Payloads, is a way to launch several small satellites at the time, by mounting them on a \rig". The rig is mounted on the adapter cone, and in space the main satellite separates before the hitchhiking satellites does. See Figure 4.5. ASAP is meant to be sent by the carrier rocket Ariane. ASAP is a fully working system in use. The main drawback is the additional work before launch that must be done. Test and rocket parameters has to be changed for this to work. Further information can be found at [14, 23] 4.5.2 ESPA Lockheed Martin, Boeing and Alliant Techsystems, three manufacturers of the launch vehicles called Atlas, Delta and Titan respectively, have developed a standard together for the US government, called EELV (Evolved Expandable Launch Vehicles) according to [7]. This standard implies that a satellite that can be mounted on top of one of these carrier rocket also can be mounted on the other ones. 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. Most of the forces acting on the launcher are in the verical plane, which coincides with the separation plane for all of these small satellites. This is not good, since the separation 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 this concept, a small satellite resides on top of the main satellite. These two satellites are separated with a small separation system. For further information about the Munin project, consult [2]. 4.5.4 I-Cone I-Cone stands for intelligent cone, and is a concept to use the actual adapter-cone as a separate small satellite (or as a dispenser). Since the main structure of an adapter-cone must look a certain way to be able to hold the main satellite in place 4.5 Ways to launch small satellites 33 Primary satellite Secondary small satellites The rig Adapter-cone How small satellites are mounted on a carrier rocket with the ASAP system. 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]. Figure 4.5. 34 A study of small satellites Small Secondary Space-craft Separation plane of Secondary Spacecraft Large Secondary Space-craft Primary Space-craft EELV upper stage EELV Standard Interface Plane Small Secondary Space-craft ESPA Schematic of ESPA mounted to EELV upper stage with one primary payload and six small satellites. (Reference is [1].) Figure 4.6. at take o, the structure of the cone must be very stern. Thus resulting in a heavy 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. F3 A is a SE Space used \slogan" for I-Cone. It stands for four dierent positive characteristics of the satellite: Fast: The time to develop an I-Cone from the concept to the complete product is short. Frequent: Since a I-Cone can be launched with any kind of launch vehicle, the satellite can gain a frequent access into space. Flexible: The I-Cone is built in such a way that it ts many dierent missions, such as Tech Demo, Commercial or Military for instance. Furthermore is the I-Cone independent of the main satellite. Aordable: The most expensive part of a satellite is the launch cost, as said before. This concept could however dramatically decrease this cost. By utilizing the launch vehicles over capacity, I-Cone is aordable, compared to other small satellite launch devices. 4.5 Ways to launch small satellites 35 Suggestion how an I-Cone could look like as a small satellite conguration. Notice the non-symmetric mass distribution over the area of the satellite. By courtesy of Saab Ericsson Space [24]. Figure 4.7. There are several potential missions for I-Cone. But in general, certain orbits are to prefer. It all comes down to the weight of I-Cone. Since it is heavy, relative to its size, it is diÆcult to move the satellite around to much, thus excluding GEO orbits which needs a lot of thruster burns to reach. But on the other hand, due to the weight it also becomes more stable which makes it an excellent choice for LEO-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 reason for this is its weight. To get into a GEO, a series of thruster burns has to be done in order to get the right altitude and speed in the circular orbit, and when a craft is as 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 demand accurate position, high stability and a lot of satellites. Further more, since the 36 A study of small satellites position and attitude is important for the satellites, much fuel is consumed. This way, 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 most probable. Then the bus inside I-Cone would take 34 of the space, leaving the rest for the payload. Dispenser This is a highly interesting area for the I-Cone concept, since no other company as yet has come forth with a good solution how to attach small satellites onto a rocket in a good manner. I-Cone could be the rst real good solution, since the main structure is not aected 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 a solution to how they could be launched into space in an easier and cheaper way was solved. There are four possible ways to hitchhike into space present at the market today, but all of them have some drawbacks. Since no good solution has been found, 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. This concept, called I-Cone, could therefore have a promising future. If we look historically on the small satellites development, one can clearly see that more small satellites are being sent up every year. But when looking at the missions and costumers, there have been big changes from year to year. At the end of the period researched in this article, the most usual satellites launched into space were commercial communication satellites, compared to just a few years earlier when research and government was in top of the list \most launched". Since the IT business is bad right now, this has probably changed back to the previous scenario with science as prime focus of space missions. In the future however this will probably change again. The reason why this might be is the expected life-time of satellites. Since they eventually will run out of fuel and head towards the Earth and burn up, they must be replaced. This means that satellite launches of communication satellites probably will increase again in a not too distant future. What this means for the small satellite industry is diÆcult to predict, but since launches will increase, so will the possibility to hitchhike with the larger satellites. Chapter 5 Orbit and attitude stabilization In order to interact with other bodies in space in one way or another, the satellite must have knowledge of a few things. It must know how it is, and how it should be oriented. This chapter deals with aspects of this matter, and especially it focuses on the AOCS used to control a spacecraft. It starts by describing ways to determine if the attitude is correct in Section 5.2.1, and continues with discussing the means to 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 on redundancy measures would be in order. 5.1 Redundancy Since it is expensive to launch a satellite, ss stated above in Chapter 3, it would be catastrophic 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 of the equipment endures heavy tests, and second, many of the sensors and actuators have a \spare", i.e. if for instance three sensors of one sort is needed, four are used instead 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 also orbiting the planet. This kind of redundancy is needed incase one or more of the satellites malfunctions in one way or another. Then the spare satellite could fast and 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 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 satellite should have and what the maximum allowed error is). The means by which the satellite will be controlled are called actuators. All of these three things will be dealt 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 on the mission). Since they have to be able to withstand the climate in space even the cheapest sensors and actuators must have a certain standard. To keep cost down, companies that manufactures satellites tries to use COTS1 in as far extent as possible. Specications, and a short description, for a few of these COTS can be found for sensors in Table 5.1 and for actuators in Table 5.2. Most of these sensors can be modeled, and although that will not be done in this text, a more thorough explanation will be given in the next few chapters. If the reader is interested in how 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 surrounding environment. It could be a thermometer measuring the temperature, a Geiger-meter that measures the activity on isotopes or a hydrometer measuring the dampness in the air etc. In the satellite's bus, actuators are used to direct the spacecraft if the attitude is erroneous. Hence it needs sensors that can determine the current attitude. There are many ways to do this, the next few sections constitutes a list of a few of these sensors, and a summary of these can be found in Table 5.1. Earth sensors An Earth sensor measures where the edge of the Earth's atmosphere is. Therefore this kind of sensors sometimes also are called horizon sensors. Since the atmosphere is warmer then the surrounding space, an IR-sensor2 nds where this edge is. By itself this does not give much information, since this kind of sensor only knows if it points toward the Earth or not. But with additional sensors it might be possible to determine more about the attitude for the spacecraft. Especially when using spinning stabilization3 with the spacecraft, this sensor is suitable according to [18]. An Earth sensor is relatively cheap, and has increasing precision the further away from the Earth it is. Therefore this sensor often is used as a complement to other sensors, for instance a sun sensor. With a sun sensor and two Earth sensors, the complete attitude can be determined. The Earth sensors can also be used as \moon sensors", but this is seldom the case 1 Commercial O The Shelf products, i.e. cheap standard products 2 A sensor measuring heat radiation, i.e. temperature 3 Dierent stabilization techniques are discussed in Section 5.3. 5.2 Sensors and actuators Earth sensor 39 Sensors Measures the edge of the Earth's atmosphere (by IR), to determine the attitude. The output is only a direction (i.e. only one axis can be established with these kind of sensors. GPS Lets the satellite know its position based on other satellites position (the geopositioning system). Dependent on other satellites. Returns the spacecraft position (the only sensor that actually determines the satellites true position). Could also be used to get the attitude. Gyros Notices changes in attitude in one direction per gyro. Fast sampling, but high drift rate, i.e. needs to be calibrated often. Not disturbed by other objects. Magnetometer Determines the crafts attitude by measurement of the Earth's magnetic eld. Startracker Identies the crafts orientation by movement of the stars relative the craft. Very expensive and extremely accurate. Returns attitude in all three directions as well as the rates. Sampling is slow, and it is useless if any celestial object such as the Earth, the moon or the Sun gets in the way. Sun sensor Measures the angle in which the light of the Sun falls on the satellite. Attitude by this can only 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 position all the time. This is the only sensor that has the ability to determine not just the attitude, but also the position of the vessel. Actually, the only thing that can be determined 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 something into orbit, it would be quite disturbing to nd that it crashes due to a glitch in 40 Orbit and attitude stabilization another satellite. If the orbit is a LEO, and the mission of the satellite has high demands on the position, a GPS should be an interesting alternative. But it is far more common to use ground observations for orbit determination, and sending control signals directly to the satellite. Gyros There are several types of gyros on the market. In this text, two of them will be discussed 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 a satellites angular acceleration in one axis by using the gyroscopic eect. Second, there is a gyro called a laser gyro which actually are not a gyro at all. Instead of using the gyroscopic eect, as \real" gyros, a laser gyro determines the angular rate by sending two laser pulses in separate directions in a circle. After many laps in this circle, an angular acceleration would have created a phase shift in the wavelength. This can be measured, and hence can the angular rate be measured too. 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 can be relatively cheap, depending on how accurate you want them to be. One drawback with ordinary gyros is that they have a \drift rate". This means that they have an error, and that this error is additive. Therefore these gyros have to be calibrated once in a while. Another drawback is that they only can measure accelerations 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 left for all three axis to be determined, i.e. redundancy. Magnetometers Earth's magnetic eld varies over the globe. This fact was considered when constructing the sensor called magnetometer. This sensor determines a satellites attitude 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's magnetic eld, however, only gives information of the attitude in two axes. This kind of sensor does not need exterior sensing. Rather it could be enclosed into a black box as in Figure 5.1. Startrackers A startracker is the most expensive sensor on the market. It is also the one delivering the best approximation of the satellites attitude. There are some drawbacks with these kind of sensors, though. They are extremely sensitive to light, they do not work if they are shadowed by another object, and their sample rate is slow ( 1 Hz). 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 and pointing in separate directions. This way, they will hopefully never get sun light directly into the sensor opening, and if one is covered, the other one probably is not. The advantages with startrackers are that they return data which do not have to be processed afterwards. Furthermore, one single startracker can give the correct attitude, angular velocity and rate acceleration with a very high precision. Using one of these as attitude determination often gives pointing accuracies in the region of 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 which the sun beams fall on the satellite. This way, the direction to the Sun can be determined. The rotation however can not be determined, since another sensor measurement is needed for this. A sun sensor placed on the solar panels will always head in the Sun's direction, but need an additional sensor measuring the angle on the solar panels relative the craft. Often when using sun sensors, the whole craft has a hemispherical coverage with them. The reason for this is that many of the components or S/S are dependent on, or destroyed by the sun. Therefore the sun always needs to be tracked, so that the 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 travel in space. This means that they actively add a torque or a force to the craft. The easiest of these two operations is adding a torque. To change the orbit or attitude with a force, one has to do it by using resources that are not renewable, i.e. with some 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 dierent often used actuators, which are all outlined in Table 5.2. Magnetorquers Magnetorquers use the Earth's magnetic eld to generate a momentum by adding an electric eld. It is often used to unload reaction wheels in a LEO orbit, for instance. Since the only thing the craft has to do is to generate an electric eld, the energy source is completely renewable. One example on how these magnetorquers could look like can be found in Figure 5.1. 42 Orbit and attitude stabilization Two examples of how dierent sensors and actuators could look like. The upper one is a sensor, a startracker, and the other sensor is the black box at the bottom, a magnetometer. The two actuators are located at the sides, where the ones on the right are reactionwheels and the left ones are magnetorquers (or torquer rods). Figure 5.1. 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, that spins. When spinning, small disturbance torques are swallowed by the moment of inertia, thus resulting in that they vanish. The main dierence between reaction wheels and momentum wheels are that the latter has a momentum bias, i.e. speed from the beginning, while the reaction wheels have not4. 4 You could of course say that reaction wheels have a momentum bias that is zero. 5.2 Sensors and actuators Magnetorquers 43 Actuators Uses the Earth's magnetic eld to generate a force in the direction we want to. Uses renewable power, which makes it long lasting. Momentum wheels A large spinning wheel that makes the satellite work like a spinning craft (passive stabilization) Reaction wheels Disturbances is compensated by another disturbance in the opposite direction. Uses renewable power, but needs to be unloaded in case the wheels start to move to quickly. We also get an internal momentum of inertia. Thrusters Disturbances are thrust compensated. Not renewable. Table 5.2. Actuators used for space attitude and orbit determination. Reaction wheels These actuators accumulate disturbing torques by adding an opposite torque. This is done with small wheels inside the craft. If the disturbance is in the same direction all the time, the wheels keeps spinning faster and faster. At a certain level, an unload procedure has to be performed. This procedure simply gives the satellite a torque 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 wheel could 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 thoer technique works. It is most commonly used for big changes in attitude, as a backup to the magnetorquers or as unloading system for reaction wheels (when using 3-axis stabilization). There have also been attempts to use these to the actual stabilization. But this is not recommendable, since fuel is the main limitation for the expected lifetime in space, and to adjust the attitude with thrusters would be fuel consuming. By combining dierent stabilization methods, on the other hand, this fuel 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 to change orbit to, such as solar sails, but these are as yet untested. There are a few dierent sorts of propulsion systems used, and in the following chart a brief discussion on advantages and disadvantages for the most common grouping of these propulsion systems are given: Solid: Solid fuel could be black powder, for instance. The main advantages is that the system is simple, and that it survives long storage times. Unfortunately, 44 Orbit and attitude stabilization Propulsion Multiple Typical Specic system rings force [N ] impulse [ Ns kg ] Solid no 103 105 2400 2700 Hydrazine yes 0:2 200 1800 2200 Bipropellant yes 2 400 2800 3000 Cold gas yes 0:005 0:02 500 900 Electrical (ion) yes 0:005 0:01 20000 30000 Table 5.3. A table of attributes for dierent propulsion systems. Specic impulse measures 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 substance used is the liquid hydrazine, which is an advantage. On the other hand, this substance is extremely toxic, which makes it diÆcult to handle. Bipropellant: Bipropellants suer from very complex systems and expensive handling. A reason for this is the explosion hazard which, for this system, is relatively high. An advantage is the high specic impulse recieved from these kind of systems. Cold gas: The construction of these propulsion systems is very simple, as with the solids. A advantage with cold gas as propellant is that it does not interfere, or worse destroy, heat sensitive components. The gas, nitrogen for example, is often compressed. The main disadvatage is the small exchange of matter in the specic impulse. Electrical: Although somewhat untested, this kind of propulsion systems has a promising future. The reason for this is that it is cost eective and partially renewable in the sense that most of the energy used is electric energy, and less energy is lost when converting the matter into a force. The main drawback is the that the force given by these propulsion systems are really small. About one tenth of a Newton, which is the typichal force given, is as much as a A4-paper laying in the palm of your hand. To summarize these dierent propulsion systems, and give a vague description on some 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 physical laws, such as the gravitational eld or moment of inertia, or by using sensors and actively controlling the attitude. These two ways of stabilization are refered to as passive and active respectively. 5.3 Stabilization methods 45 It is pointless to discuss what stabilization technique is most common, or which of them that is the best, since it depends on the mission, as said before. Furthermore, satellites can mix the dierent methods in order to get a better pointing accuracy at a lower cost. This is a good thing to keep in mind, when reading the next two sections, 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 missions and the orbits. Missions are almost always of types that relay information (communication 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, or solar panels. To get this power, they will better be pointing towards the Sun, and that 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 arrays so that always at least one third of the satellite is radiated from the Sun. Still, to complete a certain mission, the craft usually has to interact with something else in space. And if it must, it has to be stabilized in one way or the other. To motivate the dierent stabilization techniques, i.e. why we for instance should not use the best way to stabilize all the time, consider at these to examples. Example 1 Consider the GPS from Example 2 in Chapter 3. The pointing accuracy for this system should be pretty high for each satellite to give as perfect geographical position as possible. In other words, we need a 3-axis type of stabilization and thus also a control system. Example 2 Consider a research satellite that is residing in a polar LEO. The actual mission being to measure the eruptions of the Sun causing northern light phenomena. Would such a satellite really need a good pointing accuracy? Why should there be a pointing accuracy at all? Clearly there are possibilities to reduce the cost and development time of such a vessel. 5.3.2 Passive stabilization This method of stabilization is very simple and does not use any control laws to maintain attitude, although control still might be used to complete other tasks. Instead, they rely on physical quantities. There are several dierent subgroups to 46 Orbit and attitude stabilization passive stabilization which diers from one another. Gravity gradient: Satellites stabilized with this method aligns themselves to the Earth's gravitational eld. This is easiest done by extending a long rod. (For further information, consult [27]). Spin stabilized: This method works almost like a gyro. By spinning the spacecraft about its' own axis, the movement will \swallow" disturbances (see [27] for more information). The main drawback with this method is the large eort of switching attitude, where the user has to either stop the satellites rotation before changing point direction or put a lot of energy into the maneuver. 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 panels rotating too, which means that the energy received is only maximum half of the total capacity. An advantage with spinning satellites is that a single instrument on the spinning craft can \sweep" a larger area. For instance if we use an Earth sensor, more could be said about the attitude of the craft then with a stabilization method that is not rotating. Dual spin: In order to cope with some of the drawbacks when using a spin stabilized spacecraft is to use a dual-spin instead. These crafts have one spinning part, and one that is not spinning. This way, one can make better use of the solar panels, but it is still diÆcult to make maneuvers and some additional control loops are necessary. Another disadvantage is the wear and tear from friction between the two satellite parts. Momentum bias: A, perhaps, more innovative way to manufacture a satellite by Nutation dampers Damper Pendulum Eddy current Ball-in-tube Viscous ring Magnetic Gas Jets Passive dampers Energy dissipation mechanism Fluid friction Eddy current Rolling and viscous friction Fluid friction Active dampers Magnetism in spinning vessel propulsion Libration dampers Spring damper Spring force in the Earth gravitational eld Magnetic/Eddy current Magnetically anchored Eddy current Eddy current rods The Earth's magnetic eld creating Eddy currents in ferromagnetic rods Table 5.4. Dierent Representative Dampers 5.3 Stabilization methods 47 using spin technique called momentum bias. Instead of spinning the whole craft, momentum bias only spins a single wheel inside the craft. This will obviously have the same result as spinning the whole craft, but the problem with maneuverability still remains. All of these stabilization methods by themselves gives a pointing accuracy in the order of degrees. If you, for instance only use gravity gradient the pointing accuracy error will be in the region of several degrees. On the other hand, these stabilization methods are relatively cheap both to develop (both in money and time) and to use (low fuel consumption). Although no control system is required, this kind of systems (especially gravity gradient) often has some kind of damper. This is used to minimize the oscillation arising from such stabilization techniques. For a spin-stabilized craft, the periodic motion is rotational and known as nutation, whereas for gravity gradient stabilized crafts, it is oscillatory and known as libration. In Table 5.4, a list of some passive and active dampening techniques are shown for both libration and nutation. For further knowledge, consult [27]. 5.3.3 Active stabilization The main dierence between passive and active control is that in active control, we use sensor data to determine small disturbance torques and actively control the output from these sensor readings. In passive control, on the other hand, small torques 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 means using both sensors, to determine where we are, and actuators to get us where we should be. Obviously this is the most diÆcult and energy consuming strategy, but the big advantage is the pointing accuracy achieved. In Table 5.5 approximate values of the pointing accuracy for the dierent stabilization methods, both passive and active, are given. The three-axis stabilization technique works as follows; Method Cost Point Accuracy Gravity-gradient Cheap 5 deg Spin Cheap 1 deg 3-axis Expensive 1 arcsec Table 5.5. Cost compared to accuracy for dierent 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 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 dierent ways, depending on which sensors the satellite is provided with, but one way is this one. Calculate the predicted position and attitude, by integrating the movement equations, see Section 2.2, and update this state with the new sensor data, if there are any new data 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 can be done either in advance when creating the ight plan or \in ight" from ground control. Apply control law This part of the program can be everything from a simple PID controller to a much more sophisticated optimal control using dierent control blocks for dierent control modes. The latter is to be preferred since often the satellites using 3-axis stabilizations are the ones with extremely high demands in pointing accuracy, and a 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 to these kind of control loops, such as moving from one state to another by minimizing 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 to calculate the optimal feedback amplication through a Kalman lter. The reason for this is the nonlinear feature of the system. Steering The steering is actually connected to the \apply control law" section, since the outcome from the control law is the input to the steering. But due to the fact that actuators have limitations, glitches and restrictions (wheels can not have innite speed, nor can thrusters give innite thrust), they should also be modeled and included to the function. This might not be necessary when using a PID controller 5.3 Stabilization methods 49 (although this could lead to resonance oscillation due to the glitches), but it is very necessary when using other types of control, since the actuators eect the whole system. 50 Orbit and attitude stabilization Chapter 6 The Attitude and Orbit Simulation Package (AOSP) The main eort on this thesis work has been to make a simulation package for attitude 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.2 will try to motivate and explain the tools needed to complete such a program. One of the last section in this chapter handles some issues due to the chosen way to implement the program in Section 6.3, and the complete chapter is then summed up in Section 6.4. 6.1 Requirements The goal with the AOSP is simply to give the user an idea what the pointing accuracy could be, while using a certain set of sensors and actuators for a certain satellite. Further more, there were some additional requests given by the company commissioning this nal thesis work, Saab Ericsson Space AB [24]. Below is a short list of the main specications: Pointing Accuracy How the the pointing accuracy essentially diers when using dierent 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 objective should be faster than real time. Module Structure The program should be built on exchangeable modules, such as: Satellite module (to change satellite attributes) Dierential equation solver module 51 52 The Attitude and Orbit Simulation Package (AOSP) Input data module, dening 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. The user should be able to change the simulation parameters in an easy way. Commented Code The code of the program should be well commented. If more work on the program should be done, it must be easy to understand the code already written. Output Validation Some validation of the output should be done. As example of 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. In Table 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 of the 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 must be used; to be able to solve the movement equations, we have to determine a model and so forth. 6.2.1 Development environment The language in which this program should be implemented was not, as seen, determined in the specications. The practical options for the programmer could be for instance C++, since it is fast and fairly simple. But also ADA could be a good suggestion because then, you could get some real-time aspects into the simulation and it is also fast. MATLAB could also be used, the reason being its simplicity while working with control and matrices. When looking at Table 6.2, where a few dierent languages are listed with their attributes, the choice does not get any easier. The main problem being to get a fast execution time while keeping development time down (since this work is maximum 20 weeks long). Although MATLAB is chosen in the AOSP, because it has a faster development time, C/C++ or ADA might be a suggestion if the time for the development of the software in these languages exists. If one of these languages are chosen, there are some packages to these languages that manages matrices that would ease the programming. When using any of these two languages, the computation time could decrease as much as 200 times. The reason for the slowness of MATLAB might on the other hand vanish, if the 6.2 Prerequisites Entity Development environment 53 Explanation There should be some considerations on what program language to choose to implement the program code in. Coordinate frames A description on how to represent data should be investigated. Model representation Handles which states to use in the chosen coordinate frame to describe the movement. Dierential equations solver Some eort on how to solve the dierential equations that arise from the model representation should be handled. Linearization Due to the fact that the dierential equations are nonlinear, there is a problem when using linear controlstrategy's on the model (such as Kalman lters for instance). This must be handled by a linearization. Measurement determination Since measurement updates are discrete, and there are many sensors, a strategy on how to weigh these measurements together must exist. Stabilization strategy How the simulation model of the craft should be stabilized is an issue that has to be dealt with, since some of the techniques does not need additional control. Needed data There are data that is essential for the simulation model to function. These should investigated further. Table 6.1. Dierent aspects of creating a satellite simulation program. developers, MathWorks [26], continues to accelerate their code in future version of this program. The newest version, Version 6 Release 13, is already somewhat accelerated. For further information about MATLAB issues, see Section 6.3. Another thing to keep in mind is the work put into separating dierent tasks within the code. The reason for doing this is that MATLAB can run software written in the language C via a interface called MEX, and thus (by implementing the vital loops in C instead of in MATLAB) increasing performance. As is pointed out in Appendix A, the actual simulation does not start until the user tells us to. When this happens, the control is given to the program and calculations alone, and only small 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 MEX interface has to be performed if the user chooses to reimplement the code in C instead of in MATLAB (where it is implemented right now). 54 The Attitude and Orbit Simulation Package (AOSP) Programming language C/C++ ADA MATLAB Pros properties Cons properties Fast execution. Slow development. Fast execution. Slow development. Real-time DiÆcult to use with possibilities. matrices. Fast development. Slow execution. Easy to use with matrices. A list of dierent programming languages along with their attributes when creating a pointing accuracy simulation program for satellites. Table 6.2. 6.2.2 Coordinate frames There are several dierent ways to represent a satellite system. One way which is easy to comprehend is to use the Geocentrical Equatorial Coordinate Frame. This frame 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 rotating with 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Æcult coordinate frame. Often when speaking of rotating systems, Euler Angles are mentioned. These represent a rotation with three dierent rotations about each primary axis in the reference frame. But there are some drawbacks with this system, and therefore another system is often used, called quaternions or Euler symmetric parameters. They describe the rotation of one system relative the other with four components instead of three as it was with Euler Angles. Three of the component describe the axis of rotation, and the fourth describe the actual rotation. Quaternions will be further described in Appendix C.2. 6.2.3 Model representation How the pointing accuracy should be modeled is not an easy task since even the smallest torque changes a satellites attitude. It is not possible to just guess the size of disturbances, and apply this to a satellite model as white noise. The reason for this is that the magnitude of dierent disturbance torques are dependent on both the 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 differential 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 specications. The models of dierent disturbances are already discussed in Section 2.3, and will not be discussed here. However, the state representation of the model chosen for 6.2 Prerequisites 55 this program is explained below. The coordinate frames are the ones discussed in the previous section. States To describe the movement of the satellite, we have to represent the orbit and attitude somehow. A position, and velocity, for both the satellite's true movement and the estimated movement would suÆce to simulate the actual orbit. But some way to describe the attitude is also needed. One way to do this is by using Euler angles which represent dierent rotations in space, but a more sound (and somputational fast) way is to use the transformation called quaternions previously discussed. A very common coordinate frame to relate the position and the attitude for a satellite to is the Geocentrical Equatorial Coordinate Frame given in Appendix C. By using 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 oset in the position of the satellite, using the Geocentrical Equatorial coordinate frame described in Appendix C.1: x-position y-position z-position x y z Three states representing the oset velocity for the satellite: Velocity in x-direction Velocity in y-direction Velocity in z-direction Vx Vy Vz Four states which represent the transfer function described in quaternions from the inertial frame (the Geocentrical) to the body frame, see Appendix C.2 0 B q=B @ q0 q1 q2 q3 1 C C A Transfer function Three states representing the angular velocity of the spacecraft, expressed in the Geocentrical coordinate frame, see Appendix C.1 !x !y !z Angular x-velocity Angular y-velocity Angular z-velocity 56 The Attitude and Orbit Simulation Package (AOSP) To sum it up; the state vector, xbody , becomes: 0 xbody = B B B B B B B B B B B B B B B B B B B B @ x y z Vx Vy Vz q0 q1 q2 q3 !x !y !z 1 C C C C C C C C C C C C C C C C C C C C A (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 the program. Furthermore, since we only know the attitude of the craft from sensor readings, we have to estimate the attitude. Therefore a vector, xest , that contains the estimated values should also be included in the state-vector. The xest vector should contain the four quaternions and the angular velocities. But there might be some cases when some (but not all) of the quaternions or angular velocities is not controlled while the others are. This functionality is not yet implemented in this program, 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 movements are expensive due to fuel consumption, the error in position is often allowed to be x, where x is dependent on the mission but could be some 100 meters. It is only beyond this point that the control law starts to adjust the orbit, and when it does it often uses the Bang-Bang 1 control law. To implement orbit control is 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 completely independent of the dierential equations solved in the program. The complete movement vector on the other hand consists of two movements. One that describes the true movement, and one that is used as the estimated value of the previous one. The nal state vector becomes: xbody = (6.2) xest and has 26 states. Dierential equations The system, with the states described in Equation (6.1) and the general movement Equation (2.5) and (2.11), is described by Equation (6.3) and by Equation (6.4) 1 see [10] for further information about Bang-Bang control. 6.2 Prerequisites 57 for orbit and attitude respectively. The position is determined in Geocentrical Equatorial coordinates. Any other coordinate frame would suÆce, but someone must be used, and this frame is often used in other books. Therefore a X; Y; Z Cartesian system is used, with corresponding velocities Vx; Vy ; Vz . The movement equations are given in Equation 6.3. x_1 = x4 (X_ = VX ) x_2 = x5 (Y_ = VY ) x_3 = x6 (Z_ = VZ ) (6.3) x_4 = X (V_X ) r (V_Y ) x_5 = Y r Z x_6 = r (V_Z ) 0 X Y Z 1 Here, r = @ A. The movement equations for the attitude are given in Equation 6.4. 2 x_1 0 x5 x6 x7 3 0 x1 1 B C x_2 = 1 6 x5 0 x7 x6 7 7 B x2 C 2 64 x6 x7 0 x_3 x5 5 @ x3 A x7 x61 x5 0 x4 x_4 0 TX !_ = I 1 @ TY A (6.4) TZ where the Tn-elements can be found in Equation (2.12) and 9 x1 = q0 > > x2 = q1 = = q x3 = q2 > > x4 = q3 ; 9 x5 = !X = x6 = !Y =! x7 = !Z ; 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 added to the acceleration for the position, and the angular acceleration are added to the attitude movement equations. The latter one is fetched from a user dened position. 6.2.4 Dierential equation solvers Since we now have a couple of nonlinear rst order dierential equations to solve, a solver might be in order. MATLAB provides several solvers, but these solvers 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 not make 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 understanding on how dierential equations are solved numerically is needed. A dierential equation is on the form x_ (t) = f (x; t). The value of x at time t could be found by integrating the right hand part of the equation, i.e. x(t) = R f (x; t)dt. This can not be doneRdirectly numerically. An approximation has to be performed by substituting the sign with a P instead. This means that we, instead of calculating an integral as before, has to calculate the sum, i.e. X x(t) = t f (t) (6.5) t This is what is done in a computer when calculating a dierential equation. But to do this, the size of t, or the step length, has to be determined. When this step length is x, it is called a sti solver. Certain computations, especially for dierential equations that changes very little between every step, uses variable step length instead. When doing this, the program starts at a small step length, and increases it for every time the sum is calculated until the error reaches a certain predened value. These kinds of solvers are called non-sti. When the orbit is evaluated with a non-sti solver, some problems may arise, since these 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 the side 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 creating an error, and this continuous, so when a whole complete lap is nished, the solver could 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 certain time 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 error would 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 and not in the dierential equations le), I've implemented the easiest sti solver there is; 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 the attitude. These two systems vary dierently from each other, i.e. the attitude vary as little as a few arc seconds for every second, while the position vary with a few hundred 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) should be long in order to get accurate results. 6.2 Prerequisites 59 Due to the above, the simulations of the attitude and the orbit should be possible to separate. This way, the orbit could use a bigger step-size while the attitude could keep its small ones. There is however one problem with separating the simulation of orbit and attitude that are already mentioned. The disturbances in attitude is dependent on the craft's position. This is solved by the programmer by assuming that the orbit is not dependent on the attitude (which is obviously not correct since orbit maneuvers demand knowledge of which way the actuators can actuate). Furthermore, to be able to simulate just the attitude, a simulation of the orbit must have been done in advance so that the attitude could make use of this data to determine dierent disturbances. Runge-Kutta dierential equations solver According to [13] the sti Runge-Kutta method is an iterative method solving the problem: y 0 = f (t; x) (6.6) X (t0 ) = x0 with the following iteration sequence: tn+1 = tn + t xn+1 = xn + 16 (k1 + 2k2 + 2k3 + k4 ) k1 = tf (tn ; xn) (6.7) k2 = tf (tn + 2t ; xn + k21 ) k3 = tf (tn + 2t ; xn + k22 ) k4 = tf (tn + t; xn + k3) Where f (t; x) is the dierential equations to be solved. The truncation error (i.e. the error in the answer caused by truncations) will be O(t4 ). t is the wanted step size, given by the user before the simulation begins. 6.2.5 Linearization From Section 2.2 we can clearly see that the movement dierential equations are linear. The nonlinearity consists of terms like r13 and _ = f (; u), where u is the control signal. These nonlinearities can be a problem when constructing a control 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 linearize the nonlinear movement and attitude equations. Since we actually have the dierential equations, the easiest way to do this is by using a rst order Taylor series expansion. This will be approximately correct in a vicinity of an equilibrium state. Therefore we have to nd such a state. A simple way is to use the dierence between the estimated state and the body state as a new state vector, since this dierence should be zero all the time. This way the state vector, instead of describing the position and velocity of the body frame, describes this dierence not 60 The Attitude and Orbit Simulation Package (AOSP) movement. There are, however, some things to watch out for when doing these operations. Quaternions, as described in Appendix C.2, describes a transformation. This means that ordinary rules of mathematics does not apply to the quaternion vector. One vector minus another vector is not dened as the dierence between them. The correct dierence is instead described by quaternion multiplications. This will be explained in Example 1. Example 1 Assume that we have two bodies, A and B. They each have a rotation described by a quaternion, qA and qB , from a reference frame, O. If we let: 0 11 B 0 C C qA = B (6.8) @ 0 A 0 which denes no rotation between system O and A at all, then one could easily see that if also qB has no rotation, i.e. qB = qA, that 0 01 B 0 C C qA qB = B (6.9) @ 0 A 0 which obviously is not dened, since the square sum of a quaternion always has to be equal to 1. The correct way to calculate the dierence would be as in Equation (6.10). 0 11 B 0 C C q diff (B A) = q A1 q B = B (6.10) @ 0 A 0 This result is, of course, expected since the dierence between two non rotations in rotation is a non rotation. To further simplify this, look at Figure 6.1, where the inverse of a quaternion is dened as in Appendix C.2. Now we have the fundamentals to know the linearization. Before the actual nal expressions given later in this section, a short description of the general Taylor series expansion might be relevant (see also [13]). Denition 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 (a) @f (a) @f (a) ( x1 a1 ) + ( x2 a2 ) + + (x a ) + O(x2) f (x) = f (a) + @x1 @x2 @xm m m (6.11) 6.2 Prerequisites 61 Frame A qA q -1 A Main frame qdiff = q -1 qB A -1 = q -1 q qdiff A B q -1 B qB Frame B Transformation between dierent coordinate systems using quaternion transfer functions. Let for instance the main frame be the Geocentrical frame described in Section C.1, frame A be the estimated movement and frame B be the true movement of the satellite. Then this system would describe the used system very well. Figure 6.1. When using a linearization, we get the two A-matrices, one for the attitude and one for the orbit movement, in a vicinity of the true movement. This implies two things; rst, large errors will cause a false model, thus some control is needed to keep the orbit and attitude correct; second, since we get the movement equation in the vicinity we can not calculate x_ directly, rather we get x_ = Ax instead. This means that to actually approximate the state derivate of the orbit movement, for instance, we rst have to calculate the dierence between the estimated system and the true system, multiply this with the linearized A-matrix. Then we get the 62 The Attitude and Orbit Simulation Package (AOSP) dierence between the derivatives. The last step would be to use the estimated signal to know the true motions state derivate. The following subsections describe how to get the A-matrix from the movement equations and states. Orbit linearized movement The linearized orbit movement equations, with the state vector and movement equations 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 = p X 2 + Y 2 + Z 2. 2 3 0 0 0 1 0 0 6 0 0 0 0 1 0 77 6 6 0 0 0 0 0 1 77 6 6 ( 2X 2 +Y 2 +Z 2 ) 3 XY 3 XZ x_ Orb = 6 0 0 0 777 xOrb 5 5 5 2 6 r2 r2 2 2 r 6 ( 2Y +X +Z 2 ) 3Y Z 3XY 0 0 0 775 6 5 5 5 2 r r2 r2 2 2 2 4 ( 2X +Y +Z ) 0 0 0 3XZ 3Y Z 5 5 5 r2 r2 r2 (6.12) where X = The true movements current X-position Y = The true movements current Y-position Z = The true movements current Z-position Attitude linearized movement The attitude linearized movement is rather diÆcult to calculate, since every value depends on all other values. The nal equations are rather long, and looks like Equation (6.13): 2 0 !X !Y !Z q1 q2 q3 3 6 !x 0 !Z !Y q0 q3 q2 7 6 7 6 !Y !Z 0 !X q3 q0 q1 7 6 7 !Z !Y !X 0 q2 q1 q0 77 xAtt x_ Att = 6 (6.13) 6 6 0 0 0 0 k11 k12 k13 77 6 4 0 0 0 0 k21 k22 k23 5 0 0 0 0 k31 k32 k33 where 0 1 k11 k12 k13 k = @ k21 k22 k23 A = I 1T 0 T = @ k31 TXX TY X TZX k32 k33 TXY TXZ TY Y TY Z TZY TZZ 1 A 6.2 Prerequisites and TXX TXY TXZ TY X TY Y TY Z TZX TZY TZZ and 63 = = = = = = = = = I21 !Z I31 !Y (I22 I33 )!Z 2I32!Y I31 !X (I22 I33 )!Y + 2I23!Z + I21 !X (I33 I11 )!Z 2I31!X I32 !Y I32 !X I12 !Z (I33 I11 )!X 2I13 !Z I12 !Y (I11 I22 )!Y 2I21!X I23 !Z (I11 I22 )!X 2I12 !Y I13 !Z I13 !Y I23 !X 0 xAtt = B B B B B B B B @ q0 q1 q2 q3 !X !Y !Z 1 C C C C C C C C A 6.2.6 Measurement determination When using sensors as an estimate of position one has to take into account that sensors 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 on measurements, thus the linearization section above. It is optimal if the system to be estimated is linear, and if disturbances are Gaussian2. The Kalman lter used in this program is based on a linear state space model: xt+1 = t xt + w t (6.14) where xt = the state vector at time t t = the time descrete state transfer matrix wt = the process noise, or disturbance vector with covariance Qt = E [wtwTt ] Each measurement, yn are made by: y n = C n xn + en (6.15) 2 White noise 64 The Attitude and Orbit Simulation Package (AOSP) where C n is the measurement matrix and en is the measurement noise or disturbance vector with covariance Rn = E [eneTn ]. The Kalman lter equations containsT the state vector estimate, x^ , and the covariance matrix P = E [(x x^ )(x x^ ) ]. The actual lter works in two steps. First the state estimation vector, x^ , and the covariance, P is calculated. Then, these estimates are updated with the sensor readings. Thus if there are no readings at all, the state vector is still dened. These equations constitutes the rst step: ^ (t + 1j) = t x^ (tj) x (6.16) P t+1 = t P t Tt + Qt Whenever a new measurement becomes available, the following measurement update equations are used: K = P C Tn (C n P C Tn + Rn ) 1 (6.17) ^ + = x^ + K (y C nx^ ) x P+ = P KC n P where K is the Kalman lter gain. A numerically more reliable method to calculate the covariance is to replace it with its square root, SST = P . This improves the condition number. The reformulated update equations for the square root lter becomes: ^ (t + 1j) = h t x^ (tj) 1 i x (6.18) S t+1 0 = tSt Qt2 T Where T is a orthonormal matrix (T T T = 1) and Qt2 is any square root of Q at T 1 time t such that Qt2 Qt2 = Qt. T can be found by QR-factorization 3 and Given's rotations. The measurement updates become: f(C n P C T + R) 21 (y C n x ^ +# = x^ + K x ^) n " 1 1 T 2 (C n P C n + R ) 0 = R 2 C n S T f 0 S K S+ (6.19) 1 6.2.7 Stabilization strategy According to Chapter 5, there are several ways to stabilize a spacecraft. Which of these stabilization techniques should be used in this program? If we keep the dierent techniques apart (it might be useful to mix them too), there are ve to choose from: Gravity gradient 3 By the command QR in MATLAB 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 of these 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 have been developed. The reason is that gravity gradient stabilization by itself does not need 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 case there is. To have a spin, momentum bias or dual spin stabilized craft would also have some restrictions on how good they are, and what sensors/actuators they use. To implement 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 one used in the program as a \sample" stabilization technique. There have been some eorts, though, to simplify extension to the program with the other stabilization methods (and mixtures of them both). Control feedback loop Ref Signal Controlblock u System output y Estimated State Vector Sensors and Kalmann A schematic over the control program ow. Observe that the reference signal only is a vector containing the attitude state-vector. Figure 6.2. The control loop is an ordinary loop (see Figure 6.2), with the dierence that the system is non linear (it contains mixed quantities and exponential quantities). Further more, the sensors are discrete which also is a nonlinear feature. 66 The Attitude and Orbit Simulation Package (AOSP) Prior to running the program, the user has to have set a reference attitude movement. The reason for this is to have something to guide to. Of course this could be left out, leading to the satellite twisting and turning randomly, but that option will probably only be used in demonstration purposes. Which control method to use have been quite a struggle since the program is nonlinear. If the system could be steered with some sort of a PID controller, the control block would be quite easy, but would this kind of control suÆce? To be completely sure, two dierent control types are implemented in this system; a PID control and a LQ control. With these two control types, a comparison can be made in order to evaluate the behavior 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 about the satellite. The moment of inertia, mass and shape must be known in order to function 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 is needed primary for the disturbance torques and the gravity gradient eects to be correctly modeled. Second, a reference movement in attitude must exist in order to determine the pointing accuracy of the satellite. This is due to the fact that dierent missions demands dierent movement in attitude. Third, and lastly, some information about start conditions must be applied. Where the satellite starts, what velocity, what rotation and angular velocity the satellite has play a major roll in how the orbit looks like and how initial rotational moments has to be implied. 6.3 MATLAB issues MATLAB has its good parts and its bad parts. For a long time, loops has been a huge problem for MATLAB users, since loops usually are 200 300 times slower then if implemented in, for instance C. This has been a big issue for MATLAB developers during the last year, and in the current version (Release 13), a solution is presented. In this version, they have a brand new engine, called JIT, which can accelerate code. But since it still is in the development, not all types in MATLAB can be accelerated. To see which types that can be accelerated, and how to increase performance, 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 problem is solved in the program in a fairly simple way. Every 5th ight second, a pause command for 0:01 seconds are launched. In this time, MATLAB can check wither 6.4 Behavior of the AOSP 67 something else has happened. If the user has pushed the escape -button since the last 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 and use. Further more it has been kept well commented and extremely general. A certain amount of adjustments had to be done in order to make it simple. The actual program works well, but far from perfect. There are a few aws that should be looked upon before someone starts to use this program. For instance should some validation be made to the program. Furthermore should actuator models be implemented (this is planned in the program in advance, i.e. only the actual actuator implementation is left to model). Another thing 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 simulation. When constructing the program these parts not yet implemented have had a pretty low priority. The reason for this is, for instance, that the movement of the planets are small compared to the simulation time of the satellite, hence the need to model the planets is not totally essential to the behavior of the craft. The moon is an exception, since it moves pretty fast around the Earth. Actuators have been neglected both due to the problem of adding their transfer functions to the open system (both of them are nonlinear, and since the program should be able to use any actuator given by the user) and due to the reason that the steering signals are kept low and the assumption that these actuators are completely linear. Another problem with the AOSP is that the time to simulate is fairly high. Actually it is too high to be really good. There are several reasons why this may be so, for instance the well known problem of using MATLAB loops and the xed step-length used with the original Runge-Kutta solver of the dierential equations. A suggestion to further development is to wait for MATLAB to release a new version with their whole code accelerated to the MATLAB loop problem. To the dierential equations solver, a variable length solver should be implemented and since there is problems using ode45, a solver must probably be implemented from scratch. This solver should each step calculate the next position, and then which the 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 using a LQ controller has bin performed in order to motivate some means of correctness 68 The Attitude and Orbit Simulation Package (AOSP) of the program. The simulations parameters and results are shown in Example 2. Example 2 The start-conditions for the movement both controlled and not controlled Entity Size Unit Perigee at 6.878 1066 meters Apogee at 8.378 10 meters Phi angle 0.0 radians Theta angle 1.0 radians Psi angle 0.1 radians Velocity 7.978 103 meters/second Stepsize 1.0 seconds Simulation time 6.630 103 seconds Penalty matrix, Q 1.10 5 to xT Qx 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 velocity at startup. The reference attitude consisted of several large quaternion steps, and they 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, once again, simple to implement), only one of these gures will be printed (one 3D plot and one that shows the states). This is done in Figure 6.4 for the 3D plot, and in Figure 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 not controlled case. This is done in Figure 6.5 and in Figure 6.7 respectively for state x1 . Observe that the output data contains a lot more information, than stated in these 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 draw at least some conclusions from the gures. One obvious conclusion is that the sensor estimates works pretty well and that the reference 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 high angular velocities. This leads to the fact that large changes in attitude takes a long time 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 MATLAB path if they are not already there. Then, without loading any variables into memory, the control is given back to the user via a graphical interface. This is done to simplify and understand how to use the program. 6.4 Behavior of the AOSP 69 4 5000 Time σ 0 −5 10000 ∆ z [m], 3 = 2.2962 z [m] 5 0 6 x 10 0 5000 Time 10000 σ Vx [m/s] 0.2 0 x −0.2 5000 Time 10000 −1 4 1 2 0.5 0 −2 0 4 x 10 5000 Time −0.4 10000 0 σ 0 0 −0.5 5000 Time 10000 5000 Time 10000 5000 Time 10000 0.4 0.2 0 −0.2 y −0.5 −4 ∆ V [m/s], 3 = 0.93339 σ 0 0 −0.5 −4 0 5000 Time 10000 4 −1 0 5000 Time 5000 2 0 −0.4 10000 0 σ y [m] 0.5 −1 10000 0 −2 0.4 0 −2 0.4 0.2 0 −0.2 z 5000 Time 0.5 x 10 ∆ V [m/s], 3 = 0.93338 1 0 7 x 10 ∆ y [m], 3 = 2.2962 −1 2 Vy [m/s] σ 0 −0.5 1 z x [m] 0.5 4 V [m/s] ∆ x [m], 3 = 2.2962 x 10 ∆ V [m/s], 3 = 0.93339 7 1 −4 0 5000 Time −5000 10000 0 5000 Time −0.4 10000 0 Simulation results from an one lap orbit without using any sort of control law. Each row of the plots represent one of the axes movement. First the position, then the error between the reference and the true position, followed by the velocity and the error between reference and true velocity. Figure 6.3. From this graphical interface, the user will be able to manipulate data, such as loading package les, changing start parameters etc. The user could also choose to run a simulation if there is a package le loaded into memory or print a previous simulation. None of these commands run a substantial amount of code. It only changes start values in the start vector which is returned from the graphical interface when the user issues a \run" command (see Figure 6.8). The start vector returned from the interface at the startup of the actual simulation contains all information needed to evaluate a result of the simulation. Furthermore, from this point on, no actual contact with the interface is needed. However there are two exceptions with communication between these two parts. The progress is printed 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 the program is doing. Another good thing with the progress report is that a good estimation on how long the simulation aught to take can be estimated by the user since the \real-time" also is printed. 70 The Attitude and Orbit Simulation Package (AOSP) A lap of the simulated satellite about the earth looks like this. Obviously it is a LEO. Figure 6.4. The second exception has to be done due to a MATLAB issue also discussed in Section 6.3. MATLAB only runs in one thread. This means that MATLAB kind of works like women believe men does; only with one focus at the time. In other words MATLAB can not do two things at the same time4 . What happens is that when MATLAB starts to evaluate code, the whole computer is \locked" until the simulation is complete. This could lead to some problems, such as the user realizing that he or she forgot to change a particular start-value when just beginning to run the simulation must wait four hours for the simulation to nish before being able to change the false parameter. The solution to this problem can be to pause the program for a few milliseconds every fth lap in the loop or so, and thus be able to check if the user has pushed the escape button since the last time this check was done. 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 predict the satellites current attitude and, in some case, position. A control system given by the user is applied. The state vector (given in Section 6.2.3) is advanced one step in time. This is looped several times until the time reached equals the 4 No program can do two things at the time, but it is emulated in most single processor machines by using \threads", which contain all computing information for the program assigned to this thread. Threads are then scheduled at certain intervals to emulate this multi process operation. 6.4 Behavior of the AOSP 71 1 1 0.95 0.95 0.9 0.9 0.85 0.85 0.8 0.8 0.75 0.75 0.7 0.7 0.65 0 2000 4000 6000 8000 0.65 1 0.03 0.95 0.02 0.9 0.01 0.85 0 0.8 −0.01 0.75 −0.02 0.7 0 2000 4000 6000 8000 −0.03 0 2000 4000 6000 8000 0 2000 4000 6000 8000 A sample of output attitude data for the state x1 (= q0 ) when using a LQ controller. The left upper graph is the true satellite movement, the upper right is the estimated movement, the lower left is the reference movement and, nally, the lower right is the dierence between the estimated and the true movement. Figure 6.5. 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 are saved into the output le, and the control is returned to the user graphical interface. 72 The Attitude and Orbit Simulation Package (AOSP) 0.05 0.1 0.05 0 0 −0.05 −0.05 −0.1 −0.15 −0.1 0 2000 4000 6000 8000 −0.15 1 0.04 0.5 0.02 0 0 −0.5 −0.02 −1 0 2000 4000 6000 8000 −0.04 0 2000 4000 6000 8000 0 2000 4000 6000 8000 A sample of output attitude data for the state x3 (= q2 ) when using a LQ controller. Output from same test-run as in Figure 6.5. Figure 6.6. 6.4 Behavior of the AOSP 73 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0 2000 4000 6000 8000 0.5 1 0.03 0.95 0.02 0.9 0.01 0.85 0 0.8 −0.01 0.75 −0.02 0.7 0 2000 4000 6000 8000 −0.03 0 2000 4000 6000 8000 0 2000 4000 6000 8000 A sample of output attitude data from the state x1 (= q0 ) when using no control method at all. Shown is the true, estimated, reference movements (upper left, upper right and lower left). Also the dierence between the estimated and the true movements are shown. Figure 6.7. 74 The Attitude and Orbit Simulation Package (AOSP) Satsim Packages and Files Print SSInterface Run Init No Quit Yes Clean up Print Result Yes Sensors Actuators and Control Differential Equations Done No Disturbance Flowchart of program evaluation. When the program starts, the program will move to the SSInterface and wait there for user interactions. Only after a user has loaded a package will he be able to run the program, which moves by itself until nished. The program will not be plotted by itself after a simulation, rather it must be chosen by the user from the SSInterface. Figure 6.8. Chapter 7 Conclusion and suggestions to further work 7.1 Small satellites study Small satellites has been a growing market since the \birth" of satellites until at least the year 2000. Although the market today may seem a little slow, the market will continue to grow in the future. But for small satellites to really make their breakthrough, 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-Cone project 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 satellite launchers. The rst launcher that actually works several tests will probably have an 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 second most used one are science missions. If we look at the customers, the military had the largest market-share until the IT age (the 90's). After the year 1995, commercial companies has taken over the market. Since this examination only extends to the year 2000, it would be a great idea to extend these to see some tendencies in small satellite launches of today and tomorrow. 7.2 The AOSP The attitude and orbit simulation package has been diÆcult, but far from impossible to implement. Although all is not done, a fully working simulation model has been implemented. There are a few things, though, that aught to implement before the program functions perfectly. 75 76 Conclusion and suggestions to further work Coordinates: When a user has loaded the a package, the orbit description will be in spherical coordinates (as in [13]). This is however not the standard way to describe an orbit. It is more usually done in Keplerian Orbital Elements. To this 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 observable or that all states are controllable. This might happen when sensors can not determine all rotational axes, etc. A x for this should be implemented. MATLAB has special commands to nd both non observable and non controllable modes. These commands should be used in order to remove the states that cannot be used. Satellite description: The satellite should be described completely in the satellite description le. As it is now, no information about the structure of the satellite is taken into account. But this is needed in the solar disturbance torque, for instance, since this torque is dependent on the area of the satellite that are actually hit by the sun. Internal angular momentum: No internal momentum eects at all are taken into account in the AOSP as it is right now. This must be changed, since they might cause disturbances that are substantial if, for instance, we are using reaction wheels. Actuator: The actuators are only prepared to be modeled. Any attempt to model them is pointless since all of the actuator models are disregarded in this simulation program as it is right now. Some work has to be done to model them 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 dierent models of the surrounding environment, but also the following points works on behalf of the program: Exchangeable modules: All of the code that directly eects the behavior of the satellites movement are exchangeable, making the program a exible tool for satellite movement analysis. Torque and Force: Torques and forces added to the satellites movement are stored for the user to analyze after the simulation has nished. 7.2 The AOSP 77 Reference signal: The reference signal can point at a single object while moving around, or sweep over a given point in space, thus making every mission for pointing accuracy possible. Furthermore is the reference signal recorded for after mission analyze. Attitude: The attitude is stored both for the true movement and for the estimated movement based on sensor readings. This way both the Kalman estimation lter and the pointing accuracy can be evaluated. Orbit: The position in orbit enables dierent disturbances to act the true way on the satellite. Also the estimated position is stored for future possibilities to develop some sort of orbit control to the system. Combination of sensor readings: Sensor readings are combined in a Kalman estimation lter in order to get as much out of small data streams as possible. Both the covariance matrices and the Kalman amplier are stored for later analysis. All of the above functionalities makes sure that the program can simulate the pointing accuracy of a satellite faster than 1 hour, built on a module structured well commented code for users to easily implement changes to the code. 78 Conclusion and suggestions to further work Bibliography [1] ESPA: EELV Secondary Payload Adapter with Whole-Spacecraft Isolation for Primary and Secondary Payloads. In Smart Structures 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. HarperCollins 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 with whole-spacecraft isolation for primary and secondary payloads. www.csaengineering.com, March 2000. PDF report. [10] T. Glad and L. Ljung. Reglerteori. Flervariabla och olinjara metoder. Studentlitteratur, Lund, Sweden, 1997. In Swedish. [11] Anders Helmersson. ODIN: Attitude Estimation Filters. [12] Jan-Olof Hjertstrom. ODIN: Analysis of the Safe Mode Control Law. Saab Ericsson Space AB, Linkoping, Sweden, 1995. [13] B. Westergren L. Rade. Mathematics Handbook. Studentlitteratur, Lund, Sweden, 4th edition, 1998. 79 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 Wiley & Sons ltd, West Sussex, England, 2nd edition, 1998. [19] J. E. White R. R. Bate, D. D. Mueller. Fundamentals of Astrodynamics. Dover Publications Inc, N.J. USA, 1971. [20] Die DLR-Hauptabteilung Raumugbetrieb. 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. Appendix A AOSP - users manual This is the users manual for a simulation program called AOSP, Attitude and Orbit Simulation 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 the free program winzip (Windows). When the program is unpacked, it will create a directory structure for the program shown in Figure A.1. This is a structure that has to be maintained. A.1 How to get started It is an easy task to get started. Simply open MATLAB, and type \SatSim" at the command prompt, when standing in the SatSim library. This will open an user friendly interface which looks like Figure A.2 with the background image enlarged in Figure A.3. Observe that it is not necessary to add the whole substructure to the 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 a package in order to get data within the program. Two example data sets can be found, a LQ example and a PID example. These will load data into memory which is predened in those les. Running the test program will transfer the data from the interface to the main program. A.1.1 What data can be found In the main program, there are ve main structures containing the information in this program. ENVIRONMENT which contain environmental data about planets. CONTROL where all the control parameters are. FILES is where the user dened les exist. 81 82 AOSP - users manual SatSim Actuators FlData Control Packages Planets Satellite OldData Prog RefAtt 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 dened in the planet 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 stands for the Radius). There are a few things when dening a planet that MUST exist. A radius of the planet, 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 black body, i.e. if it is a star. The last variable should be 1 for dierent suns and 0 for other planets. Additional parameters can be set, observe the way to implement them (see for instance 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: A.1 How to get started 83 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 in Figure A.3. Figure A.2. - FILES.Sensors (substructures within) - FILES.Actuators (substructures within) - FILES.DiEq - FILES.Solver - FILES.FlData - FILES.Satellite - FILES.Control - FILES.Outputle All of these les are of course replaceable; i.e. user dened. The alert user probably recognize the names from the directories. 84 AOSP - users manual This is one of the rst glimpse of the heavens following the servicing mission by NASA's Hubble Space Telescope. It is called the Eskimo Nebula. Courtesy of NASA [16]. Figure A.3. Data structure The actual ight data is stored in this structure. It contains all of the state variables for orbit (in DATA.Orbit) and attitude (in DATA.Attitude). The structure also contains 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 would suÆ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: 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 certain property, use the get and set commands on the handles. If the user by any chance makes 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 always get a new copy of them before manipulating them. It is easy to \forget" to store or 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 to write the package le himself, make sure to look at a previous copy and try to do a similar one. When loading a package into memory, it will just be the names of used les that are 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 one exception; the ight data le is also loaded when the package is loaded. A.2.1 Replaceable modules There are some replaceable modules, that denes the movement. These are given in 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 dierent modules is from within the program. These are then easily saved to a package le when the changes are made. It is recommended if you change a model, be sure that you save it as a new le, and thus not contaminate the sample les (since these give a good example on how to write such les). A.3 How to work with the user interface The interface works in two dierent ways. Either by using the mouse and/or by using the keyboard. Keyboard commands are given in Section A.5. The escape key has two dierent functions. The rst function is to escape, quit or close a window, and the second is to disrupt the simulation if it is running. The latter may take a few seconds to react since it checks if the button has been pressed every 5 ight time seconds, so please be patient! The background to the user interface is really simple to change. It could for instance look like Figure A.4! To learn how to change this image, see the \read me" le in the simulation package directory /SatSim/Prog/Graph/. 86 AOSP - users manual Module Actuators Control Disturbances Flight Data Packages Planets Ref Attitude Satellite Sensors Solver Module description Models of actuators (Not implemented in this version). Dierent control models. Disturbance torques acting on the satellite. Where the reference orbit is dened. Where the modules that are listed. Models of planets and suns. Where the reference attitude is dened. Satellite properties are dened here. Sensor models. The dierential equations solver. Table A.1. Dierent modules in the program The Horse Nebula. A possible background for the simulation interc Anglo-Australian Observatory. Photograph by David Malin [5]. face. Figure A.4. 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. Alternatively, use the File menu. 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 you want 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. ab . The included les can be changed to other les by choosing \Change les" from the drop-down menu. When a certain conguration is as wanted, a good thing would be to save the program. 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 keyboard to do the vital tasks for the program. Therefore a description with the implemented keys are given (with a short explanation) in Table A.2. 88 AOSP - users manual Key Esc a b c e f k o p q r s 1-5 left arrow right arrow return Description Quit program or processing. Attitude simulation. Orbit simulation. Switch between spherical and Kepl Orb Elem (not a nished function). Switch between Euler angles and Quaternions Change user les. same as c. Open package Print simulation data. Same as e. Run simulation. Save data into new package le. Switches between dierent disturbance modes. Decrease step size. Increase step size. Choose OK. Table A.2. Keyboard commands for the AOSP Appendix B Orbit movements B.1 Keplerian Orbital Elements Keplerian orbital elements is a common way to describe an orbit. These parameters are given in Table B.1. The inclination, is the angle between the orbit plane and a reference plane. The most commonly used reference planes are the equatorial plane (which is used in this 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 center of the planet is called the line of nodes. There are two points where these meet, and they are called ascending node, where the orbit is going from south to north, 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 plane measured eastward from the vernal equinox (which is dened in Denition C.1). In Figure B.2, the ascending node is shown (the line in the back being the reference equinox direction). The rotation of the orbit within the orbit plane is dened by the argument of perigee, or the angle measured in the orbit plane in the direction or the satellite's motion 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 reference orbit planes separated. B.2 Elliptical Orbits For elliptical orbits, the period time, P , and the velocity at perigee, v, can be determined. These orbits has a few standard notation, which can be found in Figure B.4. 89 90 Orbit movements = = ! = = i Table B.1. Inclination Right ascension of the ascending node Argument of perigee True anomaly Orbit denition in Keplerian orbital elements. The inclination of a spacecraft as dened in Keplerian orbital elements in [27], gure derived from [17]. Figure B.1. B.2.1 Orbit period If we rst rewrite Equation (2.1), we get: r = r r3 B.2 Elliptical Orbits 91 The ascending node, where the equinox direction is shown in the back by the equator. Notice that the ascending node is where the satellite is going from the south to the north [17]. Figure B.2. 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 3 r = 0 r and realizes that a vector a a = 0, thus make the second term vanish: d r r = (r v ) = 0 dt Since the denition for the angular momentum is h = r v, one can see that the angular momentum is preserved (h_ = 0). But by looking at Figure B.5, we can derive another expression for h: 92 Orbit movements Vernal equinox direction Argument of perigee as seen from above the orbit plane. Observe that there is a dierence between orbit plane and reference plane. Apoapsis and Periapsis is other words for Apogee and Perigee. [17] Figure B.3. h = rv cos (B.1) From Figure B.6 and from Equation (B.1) we now can express the specic angular momentum of a satellite as r2 d h= dt Finally, if we nd the expression for the dierential element of an area in Figure B.7, we get: 2 dt = dA h which integrated over one full lap becomes: 2ab P= h B.2 Elliptical Orbits 93 a Direction of satellites motion b Apofocus (Apogee if earth orbit) R Å ra rp Perifocus (Perigee if earth orbit) a = semimajor axis b = semiminor axis e = eccentricity = (r a - rb)/(r a+ rb) r = Apofocal distance = a(1+e) r = Perifocal distance = b(1-e) Apogee height = ra - R Å Perigee height = rb - R Å Denitions of dierent parameters in an ordinary elliptical orbit. These denitions are the most established, and can be found for instance in [27, 19, 18]. Figure obtained from [17]. Figure B.4. or, since h = pp and b = pap (see the next section for denitions of these quantities): 2 3 P=p a 2 (B.2) B.2.2 Velocity The velocity for a satellite can be derived from the conservation of mechanical energy stated in Newton's Theorem 2.2:I. If we once again take Equation (2.1), but this time dot multiply the equation by r_ , we get: Which leads us to: r_ r + r_ 3 r = 0 r vv_ + 3 rr_ = 0 r 94 Orbit movements v g f l a tic r a c lo lo l ca on riz ho r e lv Figure B.5. Flight path angle, where f denotes and g denotes . Since h = rv, h can be described as h = rv sin . But since and are complementary angles, h = rv cos . Which equals: d v2 dt 2 +c r =0 This last term has a name; specic mechanical energy, denoted E. The constant c is where we put our zero potential, and it is arbitrary. Let us therefore set this B.2 Elliptical Orbits 95 v f r Figure B.6. n The specic 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 innity. If we look at the perigee, a value for the velocity can be evaluated, since (from geometry) E also equals 2a . The velocity then becomes: r 2 1 v= (B.3) r a 96 Orbit movements ;; r dA = 1 2 r dn 2 dn Figure B.7. Denition of a dierential element of an area. Appendix C Coordinate systems One way to describe a satellite's movement is to describe it's translational movement in ordinary coordinates as in the geocentric equatorial coordinate system below, and describe the rotation in Euler angles. The last method describes the orientation of the craft with three dierent angles, one for each principal axis (often called roll, pitch and yaw angles). But by using these angels, we are confronted with a few problems. For instance, this method demand a lot of computational resources 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 will get at least one sin or cosine in the denominator of each dimension, i.e. there will be a few singularities! A much more reliable method to determine the attitude is by using Euler symmetric parameters. Especially one kind, which is built up by four of these parameters, called quaternions is useful. This is a four dimensional vector where three of them describes the angle of direction and the fourth describe the rotation. The advantages with quaternions are no computation with sines and cosines, 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 fundamental plane is the equator and the positive X -axis points in the vernal equinox direction, according to the following denition below. Denition C.1 The vernal equinox direction, , is the direction from the center of 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 to notice about this coordinate system. The XY Z -system is not xed to the Earth and 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 98 Coordinate systems C.2 Quaternions Quaternions, which are Euler symmetric parameters, constitutes an easy way to describe the attitude of a satellite. The only computations needed are additions and multiplications. Since these parameters are not introduced in many modern textbooks [27], this text will. Denition C.2 cos 2 q1 e1 sin 2 (C.1) (C.2) (C.3) (C.4) q0 q2 q3 e2 sin 2 e3 sin 2 These equations are not independent, but satisfy the constraint equation: q02 + q12 + q22 + q32 = 1 (C.5) These four parameters can be regarded as the components of a quaternion, dened as: Denition C.3 q q0 + iq1 + jq2 + kq3 where i, j and k are the hyper imaginary numbers satisfying the conditions: i2 = j 2 = k2 = 1 ij = ji = k jk = kj = i ki = ik = j It is often useful, when computing, to write the quaternions in vector form: 2 q= 6 6 4 q0 q1 q2 q3 (C.6) 3 7 7 5 qq4 (C.7) This is analogous to expressing the complex number c = a + ib in the form of the two-vector: a c= b The direction cosine matrix, i.e. the matrix used to transform a direction in one coordinate frame to another, which has the transfer quaternion q, is described by: C.3 Other coordinate systems 2 A(q) = 4 q02 q12 q22 + q32 2(q1 q3 + q0 q2 ) 2(q2q3 q0q1) 2(q1q3 q0 q2) q02 + q12 q22 q32 22(q1q22 + q20q3) 2 2(q2q3 + q0 q1) 2(q1q2 q0q3 ) q0 q1 + q2 q3 99 3 5 (C.8) For further reading, consult [27]. C.3 Other coordinate systems There are some other coordinate system worth mentioning. In orbit description there are three. One which is craft oriented, called spacecraft centered, a second which is orbit xed and a third which is sun oriented. These may very well be used, since they are probably as good as the Earth bound one. The only bad thing may 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 attitude then by using a quaternion, such as Euler angels. A few negatives has also been said 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 since there is a big dierence between a roll-yaw movement compared to a yaw-roll movement. (A more thorough explanation is left out in order for the reader to investigate it himself)1 . Another way to describe the attitude by Euler symmetric parameters are by using a Gibbs Vector, dened by [27]: g1 qq10 = e1 tan 2 g2 qq20 = e2 tan 2 (C.9) g3 qq30 = e3 tan 2 This vector has the advantage that it is not any sign ambiguity in the denition, and that the parameters are independent. Despite of this, the Gibbs Vector is almost never used, because it becomes innite when the rotation angle is an odd multiple of 180 degrees. In the following sections we will look a little closer on the AOCS S/S and, if the reader are interested, the other S/S's can be found in [27, 18, 19] for instance. 1 Hint: Try it with a book 100 Coordinate systems 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 resume 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 102 The History of Space ight 300 BC 1212 AD Space ight history Antonius Diogenes writes a fantasy about a trip to the Moon. 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 India in the battle of Seringapatam. 1805 Further developed by the British, rockets used against Napoleon . . . 1814 . . . and against the US 1903 C. Tsiolkovski publishes `Exploration of the Universe with Rocket Propelled Vehicles", the rst serious investigation into methods of leaving 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 articial satellite, and Sputnik II, carrying the dog Laika 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 him safely 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 Index Active stabilization, 47 Actuators, 41 Magnetorquers, 41 Momentum wheels, 42 Propulsion system, 43 Reaction wheels, 43 Table of, 43 Adapter cone, 17 Angular momentum, 8 AOSP Attitude Linearized movement, 62 Control loop, 65 Dierential Equation Solvers, 59 Dierential Equations, 57 Kalman lters, 63 Language, 52 Obit Linearized movement, 62 Software Flow, 68 Software Flowchart of, 74 Specications, 51 Square Root Filtering, 64 Stabilization method, 65 States in software, 55 Table of Languages, 54 ASAP, 32 Attitude laws of motion General, 8 Special, 8 Center of Mass, 10 Center of Pressure, 10 Dierential Equation Solvers, 58 Disturbance Aerodynamic drag, 11 Gravity Gradient Torque, 13 Magnetic disturbance torque, 12 Magnitude of, 15 Micro Meteorites, 14 Oblateness of the Earth, 14 Solar radiation pressure, 10 ESPA, 32 Hohmann transfer, 18 I-Cone, 32 Possible missions, 35 Kalman lters, 63 Kepler Laws of Motion, 6 Launch possibilities for small satellites, 17 MATLAB issues, 66 Mission Geo Positioning System, example, 21 Missions, 23 Earth Observation, 24 Global Positioning systems, 25 Shares of market, 24 Munin, 32 Newton Laws of Motion, 6 Nutation Dampers, 46 Orbit law of motion, 7 Orbit time, 9 Orbit velocity, 9 Orbits, 18 Geo Stationary Orbit, 19 103 104 Geo Synchronous Orbit, 20 Geo Transfer Orbit, 18 Highly Elliptical Orbit, 22 Intermediate Circular Orbit, 21 Low Earth Orbit, 20 Maneuvers in, 18 Medium Earth Orbit, 21 Polar Orbit, 20 Sun Synchronous Orbit, 20 The Molnya Orbit, 23 Passive stabilization, 45 Planetary Gravitational Constant, 7 Satellite, 3 Bus, 3 Forces acting on, 7 Law of gravity, 6 Laws of motion, 6 Payload, 3, 5 Subsystems in bus, 4 Sensors, 38 Earth sensors, 38 GPS, 39 Gyros, 40 Magnetometers, 40 Startrackers, 40 Sun sensors, 41 Table of, 39 Small Satellites Denition, 27 Small satellites Launch possibility, 17 Small Satellites Customers, 29 Weight of previously launched, 28 Square Root Filtering, 64 Stabilization Comparison of, 47 Step-size, 58 Universal Gravity Constant, 7 Index 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 extraordinä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 ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ In English The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/ © Jonas Elfving

Download PDF

advertisement