Spacecraft Attitude Determination with Earth Albedo Corrected Sun Sensor Measurements

Dan D. V. Bhanderi

Ph.D. Thesis

Department of Control Engineering Aalborg University Fredrik Bajers Vej 7, DK-9220 Aalborg Ø, Denmark. ii

Spacecraft Attitude Determination with Earth Albedo Corrected Sun Sensor Measurements

Ph.D. Thesis

Second Edition August, 2005

ISBN 87-90664-26-4

All Rights Reserved Copyright c 2005 by Dan D. V. Bhanderi

Printed in Denmark Preface

This thesis is submitted in partial fulfillment of the requirements for the Doctor of Phi- losophy at the Department of Control Engineering, Faculty of Engineering and Science, Aalborg University, Denmark. The work has been carried out from August 2001 to July 2005, under the supervision of Assoc. Prof. Thomas Bak. I would like to acknowledgeThomas Bak for his supervisionand recommendation of the undersigned for the Ph.D. position. I would also like to thank Prof. Dr. Klaus Briess, Prof. Robert Twiggs, and Assoc. Prof. Rafal Wisniewski for their assessment of the Ph. D. Thesis. A special thanks to Prof. Robert Twiggs for welcoming the undersigned to the Department of Aeronautics and Astronautics, Stanford University, U.S. in 2003 as a visiting researcher, as partial fulfillment of the Ph.D requirements. I would like to acknowledge Dr. Jay Herman at NASA’s Goddard Space Flight Center for his assistance with the Earth Probe satellite data product. I would also like to thank Lars Tøffner-Clausen, previously at the Danish Meteorological Institute, since moved to the Danish National Space Center, for his assistance in acquiring and post- processing the Ørsted Telemetry Data. Finally I would like to thank Inga Steen-Jensen, my mother, for proofreading the thesis.

Aalborg, Denmark, July 2005 Dan D. V. Bhanderi iv Preface Abstract

This thesis focuses on Earth albedo modeling when applying Sun sensors in spacecraft attitude determination. Since the recent development of the CubeSat pico-satellite con- cept, numerous universities have initiated student satellite projects. The minimal size of the limits the hardware configuration, which, for an attitude determination point-of-view, only allows simple attitude sensors with limited accuracy. This motivates the development of advanced algorithms capable of improving the estimation results through enhanced models of the space environment. The main contribution of this thesis is the development of an Earth albedo model, based on measurements of the Earth reflectivity by the Total Ozone Mapping Spectrom- eter instruments on board NASA’s Earth Probe satellite. The Earth albedo model may be used to calculate the amount of Earth albedo on a satellite given a Sun, Earth, and spacecraft constellation. The model results are verified using telemetry data from the Danish Ørsted satellite. The secondary contribution of the thesis is an investigation in attitude determina- tion algorithms, where the Earth albedo model is applied. A single-point Q-Method algorithm, which uses and Sun sensor data, is derived. The Sun sen- sor data is Earth albedo corrected using the Earth albedo model. In order to improve the performance of the attitude determination, an Extended Kalman Filter is developed. The Extended Kalman Filter includes knowledge of the spacecraft dynamics by apply- ing non-linear models of the attitude propagation. The Extended Kalman Filter also enables attitude determination during eclipse, during which Sun sensor measurements are invalid. Due to the highly non-linear behavior of the Sun sensor measurements, an Unscented Kalman Filter is developed, and the results are compared to those of the Extended Kalman Filter. Additionally, the possibility of non-linear measurement de- scription in the Unscented Kalman Filter enables three-axis attitude determination from Sun sensors only. The Earth albedo modeling software is distributed as a SIMULINK toolbox for the MATLAB software from Mathworks. In addition to improving attitude determination vi Abstract accuracy and spacecraft environment simulation, the Earth albedo model is also useful for investigating the total amount of power generated by the solar panels. Accurate knowledge of the excess power from Earth albedo irradiance extends the usability of the pico-satellites. Synopsis - Danish Abstract

Titel: Retningsbestemmelse af rumfartøjer med jordalbedokorrigerede solsensor- målinger

Denne ph.d.-afhandling har fokus på modellering af Jordens albedo, når solsensorer anvendesi retningsbestemmelseaf rumfartøjer. Efter den nye udviklingaf CubeSat pico- satellitkonceptet har flere universiteter iværksat studentersatellitprojekter. Den mini- male størrelse af CubeSats begrænser hardwarekonfigurationen,som, set fra et retnings- bestemmelsessynspunkt, kun tillader brugen af simple retningssensorer med begrænset præcision. Dette motiverer udviklingen af avancerede algoritmer, som er i stand til at forbedre estimeringens resultater gennem bedre modeller af omgivelserne i rummet. Hovedbidraget af denne ph.d.-afhandling er udviklingen af en jordalbedomodel, baseret på målinger af jordens reflektivitet foretaget af Total Ozon Kortlægningsspek- trometerets instrumenter ombord på NASA’s Earth Probe satellit. Jordalbedomodellen kan bruges til at beregne størrelsen af jordalbedo på en satellit ud fra en given Sol-Jord- rumfartøj konstellation. Modellens resultater verificeres ved brug af telemetridata fra den danske Ørsted-satellit. Ph.d.-afhandlingens sekundære bidrag er en undersøgelse af retningsbestem- melsesalgoritmer, hvor jordalbedomodellen anvendes. En enkeltpunkts-Q-Metode- algoritme, som gør brug af magnetometer- og solsensordata, udvikles. Disse solsensor- data korrigeres for jordalbedo ved brug af jordalbedomodellen. For at forbedre ydelsen af retningsbestemmelsen udvikles et Udvidet Kalman Filter. Det Udvidede Kalman Filter inkluderer kendskab til rumfartøjets dynamik ved brug af ulineære modeller af retningsfremskrivningen. Det Udvidede Kalman Filter muliggør også retningsbestem- melse under solformørkelser, hvor solsensormålinger er uanvendelige. På grund af de højt ulineære egenskaber af solsensormålingerne udvikles et Uparfumeret Kalman Fil- ter, og resultaterne sammenlignes med det Udvidede Kalman Filter. Derudover gør den ulineær målingsbeskrivelse i det Uparfumerede Kalman Filter det muligt at foretage tre- viii Synopsis - Danish Abstract akses-retningsbestemmelse udelukkende fra solsensorer. Jordalbedomodelsoftwaren distribueres som en SIMULINK toolbox til MATLAB softwaren fra Mathworks. Udover at forbedre nøjagtigheden af retningsbestemmelsen og simuleringen af rumfartøjsomgivelserne, kan jordalbedomodellen også bruges til at undersøge den totale strøm der genereres af solpanelerne. Præcis information om over- skudsstrøm fra jordalbedoirradiansen udvider anvendeligheden af pico-satellitter. Nominclature

The following definitions are used in the report:

Parentheses ( ) are used to enclose function parameters or dependancies as f (x,t). Vectors are denoted· with lower case bold v. The i’th element of vector v is denoted as vi. The line-of-sight of vector v is represented by the parallel unit vector denoted as vˆ. vˆ1. The two-norm of vector v is denoted as v . || || The estimate of vector v is denoted as The value of an estimate xˆ at time tk+1, based on measurements up to time tk, is denoted as xˆ (tk+1 tk). The nominal value of vector v is denoted as v¯. | The small signal value of vector v is denoted as v˜. The set point of vector v is denoted as v¯. The small signal of vector v is denoted as v˜. Vector in frame is denoted as b. v b v s The time derivative of a vector v in frame b, given in frame s, is denoted as v˙ b . Functions resulting in a vector are denoted with lower case bold acos (v).   Matrices are denoted with uppercase bold M. The i’th column of matrix M is denoted as M . { }i The element of the i’th column and j’th row of matrix M is denoted as Mi,j . The transposed of a matrix M is denoted with a superscript T M T. The i by i identity matrix is denoted as 1i×i. The i by j zero matrix is denoted as 0i×j . Cross product matrices are denoted as S (v).

1The ˆ operator is used for both unit vector and estimates to maintain notational agreement. The function of the operator should be clear by the context. x Nominclature

B The rotation from frame I to frame B is represented by a rotation matrix as AI . The scalar part of a quaternion q is denoted as q. The vector/complex part of a quaternion q is denoted as p. The complex conjugated of q is denoted with an asterisk q∗. Functions returning a matrix values are denoted in upper case bold S (v). The attitude matrix representing the rotation q is denoted as A (q). The time at the discrete sample number k is denoted as tk. The trace function of matrix M is denoted as tr (M). The expected value function of a random variable w is denoted as E (w). Dirac’s delta function is dentoted as δ ( ). Kronecker’s delta function is dentoed as· ∆ ( ). · List of Symbols

The following symbols are used in the report:

0 Zero matrix. 1 Identity matrix. A Frame and area. A Attitude matrix (or direct cosine). Ac Cell area. a Limit. a Acceleration vector. αc Incident angle of irradiance on a cell. αirad Angle of incident irradiance onto a Sun sensor. αsat Angle of a satellite line-of-sight. αSun Angle of a Sun line-of-sight vector. B Frame and body fixed frame. B Matrix of weighed reference and body fixed vectors. b Limit. bEarth Earth magnetic field vector. C Frame. C Matrix of weighed reference and body fixed vectors. c Velocity of light in vacuum. χ Set of sigma points. D Set of grid points coordinates. ∆φ Angle of rotation. xii List of Symbols

∆φg Angular resolution of grid point latitude coordinates. ∆qsat Satellite attitude quaternion between time steps. ∆θg Angular resolution of grid point longitude coordinates. d Distance. dS->E Sun-Earth distance. E Irradiance. Ea Total Earth albedo irradiance. EAM0 Solar irradiance at 1A.U.. Ebb Black body irradiance. Ec Cell irradiance. Ecal Irradiance used for calibrating Sun sensors. Edd Direct and diffuse irradiance reaching a reflecting surface. Edd0 Atmospheric scattered irradiance reaching a satellite. Eirad Incident irradiance onto a Sun sensor. Emeas Measured irradiance. Er Irradiance reflected by reflecting surface. EE Black body irradiance of the Earth. ESun Black body irradiance of the Sun. Esat Albedo irradiance at satellite from a cell. e Base of the natural logarithm. eˆ Vector of rotation. ǫ Small error. F Linear system matrix. F red Linear system matrix of reduced system state. f Fraction of reflected irradiance reaching a satellite. G Linear control matrix. H Linear output matrix. h Planck’s constant and altitude. I Reference frame. i Multi-purpose index variable and imaginary constant. imax Maximum current output of a Sun sensor when illuminated with constant irra- diance. j Multi-purpose index variable and imaginary constant. J Inertia tensor. K Kalman gain matrix. k Imaginary constant, constant terms,discrete sample number, and Boltzmann’s constant. κ Tuning parameter for the Unscented Kalman Filter. List of Symbols xiii

l Angular momentum. lE Earth irradiance vector. lg Grid point irradiance vector. lSun Sun irradiance vector. λ Wavelength. n Number of vector observations, discrete sample number, number of states, and multi-purpose index variable. nctrl Control torque. nd Disturbance torques. next External torques. M Matrix. m Mass. nˆ c Cell normal. nˆ SSi Sun sensor SSi normal. Ω Angular velocity quaternion product matrix. ωsat Satellite angular velocity. P Point. Pc Incident radiant flux onto a cell. P cross Cross correlation matrix. P est State estimate error covariance. P meas Measurement error covariance. Pr Reflected radiant flux. π Half the ratio between the unit circle circumference and area. Φ Set of latitude grid points and discrete linear system matrix. Φred Discrete linear system matrix of reduced state. p Quaternion vector part. psat Satellite attitude quaternion vector part. φ Elevation and polar angle. φg Latitude coordinate of grid point. Q Process noise covariance matrix. q Quaternion scalar part. qsat Satellite attitude quaternion scalar part. q Quaternion. qω Quaternion formed from angular velocity with zero scalar part. qsat Satellite attitude quaternion. R Measurement noise. R Euclidean space. r Radius. xiv List of Symbols

r Position vector.. rE Earth mean radius. rSun Sun mean radius. rˆg Grid point line-of-sight vector. rˆs Source line-of-sight vector. rsat Position vector of a satellite. rSun Position vector of the Sun. rˆSunEst Estimated Sun line-of-sight vector. ρ Reflectivity of reflecting surface and angular distance. S Stokes reflectivity. S Matrix of weighed reference vectors. s Weighed reference vector. T Temperature. TE Earth surface mean temperature. TSun Sun surface temperature. T Matrix of weighed body fixed vectors. Θ Set of longitude grid point coordinates. t Time. t Weighed body fixed vector. θ Azimuth. θg Longitude coordinate of grid point. U Matrix of weighed reference and body fixed vectors. u Control signal. V sat Set of grid points visible from a satellite. V Sun Set of visible grid points from the Sun. v Vector and vector of random variables representing measurement noise and velocity vector. w Weight factor. w Vector of random variables representing process noise. x Variable. x System state. xred Reduced system state where the quaternion scalar is omitted. xˆ Unit vector defining frame and state estimate. xECEF Axis defining the Earth centered Earth fixed frame. xECI Axis defining the Earth centered inertial frame. xSCB Axis defining the spacecraft body frame. xSCN Axis defining the spacecraft nominal body frame. xSIM Axis defining the star imager fixed frame. List of Symbols xv

ξ Lagrange multiplier. y Variable. yˆ Unit vector defining frame. yECEF Axis defining the Earth centered Earth fixed frame. yECI Axis defining the Earth centered inertial frame. ySCB Axis defining the spacecraft body frame. ySCN Axis defining the spacecraft nominal body frame. ySIM Axis defining the star imager fixed frame. z Measurement vector. zˆ Unit vector defining frame and estimated measurement. zECEF Axis defining the Earth centered Earth fixed frame. zECI Axis defining the Earth centered inertial frame. zSCB Axis defining the spacecraft body frame. zSCN Axis defining the spacecraft nominal body frame. zSIM Axis defining the star imager fixed frame. ζ Set of sigma point observations. xvi List of Symbols List of Acronyms

The following acronyms are used in the report:

ACS Attitude Control System

ADC Attitude Determination and Control

ADCS Attitude Determination and Control System

ADS Attitude Determination System

BOL Beginning-of-Life

CoM Center of Mass

CSC Compact Spherical Coil

ECEF Earth Centered Earth Fixed

ECI Earth Centered Inertial

EKF Extended Kalman Filter

EPS Electrical Power System

FIR Finite Impulse Response

FOAM Fast Optimal Attitude Matrix

FOV Field of View

IGRF International Geomagnetic Reference Field

IEKF Iterated Extended Kalman Filter xviii List of Acronyms

LEO LOS Line-of-Sight NASA National Aeronautics and Space Administration NL Non-Linear PF Particle Filters QUEST Quaternion Estimator REQUEST Recursive Quaternion Estimator RMS Root-Mean-Square SCB Spacecraft Body SCN Spacecraft Body Nominal SGP4 Special General Perturbation Model of Fourth Order SIM Star Imager SSE Summarized Sun and Earth SVD Singular Value Decomposition TOMS Total Ozone Mapping Spectrometer UKF Unscented Kalman Filter

UT Unscented Transformation List of Figures

1.1 The flight model of the AAU CubeSat...... 4 1.2 Artist’s impression of the AAUSAT-II satellite. The algorithms devel- oped in this thesis are being implemented for use for AAUSAT-II, and the satellite is planned for launch in the first half of 2006...... 5

2.1 Reflectivity model used for estimating the surface reflectivity in the TOMS data product...... 17 2.2 Plot of TOMS reflectivity data recorded on December 31, 2001. .... 18 2.3 Plot of mean TOMS reflectivity data recorded from January 1 to De- cember 31, 2001...... 18 2.4 Plot of standard deviation of the TOMS reflectivity data recorded from January 1 to December 31, 2001...... 19 2.5 Earth albedo modeling principle. The incoming solar AM0 irradiance is reflected by a cell...... 20

3.1 Definition of the angle of incidence αirad,i, illustrated by Sun sensor SS1 on the Ørsted satellite...... 24 3.2 Albedo contributions in the Earth albedo model output. Each value in the albedo array is a irradiance contribution from a cell on the Earth surface...... 25

4.1 Projections of the Sun LOS vector measured by Sun sensors mounted in opposite looking directions along three orthogonal axes...... 28 4.2 Projections of the SSE vector measured by Sun sensors mounted in opposite looking directions along three orthogonal axes...... 31

5.1 Rotation of an object with body fixed frame, relative to a reference frame. 35

5.2 The zˆB projected onto the xˆA, yˆA, and zˆA vectors...... 36 xx List of Figures

5.3 Definition of the quaternion attitude parameter as a rotation ∆φ around the unit vector eˆ...... 39

7.1 Illustration of the UT. The transformed distribution is based on the non-linear transformation of selected sigma points, marked as circled points in the figure...... 50

8.1 Structure of the Kalman filter algorithm state update with state reduc- tion and expansion...... 64

9.1 Illustration of the Ørsted satellite...... 68 9.2 Placement of the Ørsted Sun sensors in the spacecraft reference frame. The boom extends in the positive zSCB direction...... 70 9.3 Currents on all eight solar cells on Ørsted. The estimated values do not include the Earth albedo model. The Sun currents are used to calibrate the degraded efficiencies of the solar cells in the Sun sensors. The current measurements are from telemetry data package 5200...... 72 9.4 Measured and estimated currents on all six solar cells, after calibra- tion of the solar cell efficiencies. The current measurements are from telemetry data package 5200...... 73 9.5 Placement of the Ørsted star imager and star imager housing, known as the gondola...... 74 9.6 Time-stamps of the star imager data in telemetry data package 5200. The data is available at 1Hz with fallouts for a duration of up to 1100s. 75 9.7 Sun LOS vector comparison for boom rotation error estimation. The rotation error between the estimated Sun vector and the reference Sun vector, from the ephemeris model, is used to estimate the rotation error of the boom. Disregarding periods in eclipse, the data suggests a boom rotation error of 8.5 deg, mainly around the boom axis...... 77 9.8 Sun LOS vector comparison when applying boom rotation error cali- bration...... 78 9.9 Magnetic field amplitude comparisons for temporal calibration. The IGRF reference model is shifted approximately 66 seconds forward in time...... 79 9.10 Magnetic field amplitude comparisons for temporal calibration. The IGRF reference model has been calibrated by 66 seconds...... 79 9.11 Structure of the data flow in the validation calculations. The white boxes are models used to estimate the Sun sensor currents. The greyed boxes are satellite data. The reflectivity data is telemetry data from the TOMS Earth Probe satellite, and the star imager and the Sun sensor data are Ørsted telemetry...... 80 List of Figures xxi

9.12 Plot of the telemetry data of all Sun sensors in data package number 5200 together with the simulated current using the albedo model and daily reflectivity data...... 81 9.13 Plot of the telemetry data of Sun sensor SS3 in data package number 5200 together with the simulated current using the albedo model and daily reflectivity data...... 82 9.14 Error of the estimated currents on the Sun sensors, with and without Earth albedo compensation...... 83

10.1 Parameters to the albedo calculation. a) shows the satellite FOV, V sat, b) shows the Sun’s FOV, V Sun, and c) shows the intersection of the two, V sat V Sun. It is seen that the satellite is over North America at dawn. 86 ∩ 10.2 Result of the Earth albedo calculation given the conditions in Figure 10.1...... 87 10.3 Solar FOV of total albedo calculation at all satellite positions. .... 88 10.4 Total albedo at all satellite positions at an altitude of 800km, given a solar FOV shown in Figure 10.3...... 88 10.5 Total Earth albedo at constant sub-solar satellite position at altitudes from 200km to 2000km at Greenwich Meridian and 23 deg North. ... 90 10.6 Reflectivity data used for the Ørsted albedo simulation...... 91 10.7 Ørsted orbit telemetry sample points. The rotation of the Earth is indi- cated by a moving shadow on the reflectivity data...... 91 10.8 Simulated Earth albedo at the Ørsted satellite in orbit...... 92 10.9 Simulation time of the Earth albedo model as a function of the reduc- tion factor for 379 samples...... 93 10.10 RMS error of the Sun sensor SS3 current as a function of the reduction factor...... 94 10.11 Plot of TOMS mean reflectivity data recorded from January 1 to De- cember 31, 2001. The reflectivity data has been reduced by a factor of four along both latitude and longitude...... 95

11.1 Simulated attitude, qsat (t), of the Ørsted satellite...... 98 11.2 Simulated angular velocity, ωsat (t), of the Ørsted satellite...... 99 11.3 Simulated angular error of the simulated reference and measured Earth magnetic field vectors...... 100 11.4 Simulated Sun sensor currents with measurement noise...... 101 11.5 Angular error of the simulated reference and measured Sun sensor vec- tor pairs. Periods of eclipse are omitted...... 102 11.6 Attitude error quaternions of the Q-Method algorithm, using the Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair...... 103 xxii List of Figures

11.7 Angular error of the Q-Method algorithm using the Max Currents al- gorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair...... 104 11.8 Attitude estimation error quaternions of the EKF algorithm using the Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair...... 106 11.9 Angular velocity estimation error of the EKF algorithm using the Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair...... 107 11.10 Angular estimation error of the EKF algorithm using the Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair...... 108 11.11 Angular estimation error of the UKF algorithm using the Standard and Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair...... 109 11.12 Angular estimation error of the UKF using the NL algorithm with mag- netometer measurements and Sun sensor currents...... 110 11.13 Attitude estimation error quaternion of the NL algorithm without mag- netometer measurements...... 111 11.14 Angular velocity estimation error of the NL algorithm without magne- tometer measurements...... 112 11.15 Angular estimation error of the UKF using the NL algorithm with Sun sensor currents only...... 113

12.1 Magnetic LOS vector error between the IGRF reference model and cal- ibrated on-board measurements...... 116 12.2 Angular separation between magnetic LOS vector error from IGRF ref- erence model and calibrated on-board measurements...... 117 12.3 LOS vector errors between the ephemeris reference model and cal- ibrated on-board measurements. The Sun sensor currents are pre- processed to form two different vector pairs: 1) a Sun LOS vector using the Max Currents algorithm 2) the summarized Sun and Earth irradiance vector using the SSE algorithm. Periods of eclipse and star imager fallouts have been removed from the plots...... 118 12.4 Angularseparation between the Sun sensor LOS vector pairs compared with the Sun LOS vector observation without albedo compensation. The top plot shows the Max Currents algorithm and the bottom plot shows the SSE algorithm...... 119 12.5 Direction of incident irradiances during a pass over the sunlit part of Earth...... 120 12.6 Quaternion error of the Q-Method algorithm applied to Ørsted teleme- try data, using the Max Currents algorithm for Sun LOS vector estima- tion and the Earth albedo model for the SSE vector pair...... 122 List of Figures xxiii

12.7 Angular error of the Q-Method algorithm applied to Ørsted telemetry data, using the Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair...... 123

A.1 Definition of the ECI frame...... 133 A.2 Definition of the ECEF frame...... 134

B.1 Black body spectrum for a surface temperature of 5777K at 1 A.U., equivalent to the solar spectrum at Earth...... 139 B.2 Black body spectrum for a surface temperature of 288K at a distance of 800km from the surface, equivalent to the Earth spectrum at an orbit altitude of 800km...... 140

C.1 Definitionofthesphericalrectangle...... 142 C.2 Thecurve x = f(y) defining the span φ as a limit [a,b] on the y axis. . 143

D.1 Illustration of observer at altitude h, observing a celestial body with FOV 2ρ...... 146 D.2 Illustration of the radial distance ρ between two points P 1,P 2. ... . 147 xxiv List of Figures List of Tables

9.1 Current generated by the Sun sensor, when illuminted by 1353W/m2 and resulting calibrated effeciencies...... 71 9.2 RMS errors of the Sun sensor current estimation, with and without using the Earth albedo model...... 84

10.1 Impact of the reduction factor on the simulation time and current simu- lation accuracy...... 93

11.1 Initial conditions of the simulated satellite state...... 98 11.2 Simulated accuracy of the Sun sensor vector pairs using the Standard, Max Currents, and SSE algorithms...... 100 11.3 Simulation performance of the Q-Method attitude determination algo- rithm. The algorithm uses Sun sensor vector pairs formed by the Stan- dard, Max Currents, and SSE algorithms...... 104 11.4 Initial conditions of the EKF...... 105 11.5 Simulation performance of the EKF attitude determination algorithm. The algorithm uses Sun sensor vector pairs formed by the Standard, Max Currents, and SSE algorithms...... 107 11.6 Simulation performance of the UKF attitude determination algorithm. The algorithm uses Sun sensor vector pairs formed by the Standard, Max Currents, and SSE algorithms...... 109 11.7 Simulation performance of the UKF using the NL algorithm. The UKF is implemented with and without magnetometer measurements...... 113

12.1 Statistics of the Sun sensor vector pairs, using the Max Currents algo- rithm and the SSE algorithm. The LOS vectors are formed using on- board calibrated measurements and are compared to the ephemeris ref- erence LOS vectors...... 119 xxvi List of Tables

12.2 Performance of the Q-Method algorithm applied to Ørsted telemetry data. The algorithm uses Sun sensor vector pairs formed by the Stan- dard, Max Currents, and SSE algorithms...... 121 Table of Contents

Preface iii

Abstract v

Synopsis - Danish Abstract vii

Nominclature ix

List of Symbols xi

List of Acronyms xvii

List of Figures xix

List of Tables xxv

Table of Contents xxvii

1 Introduction 1 1.1 BackgroundandMotivation ...... 2 1.1.1 TheCubeSatConcept ...... 3 1.2 OverviewofPreviousandRelatedWork ...... 5 1.2.1 EarthAlbedo ...... 5 1.2.2 Single-PointAlgorithms ...... 6 1.2.3 FilteringAlgorithms ...... 7 1.3 Contributions ...... 9 1.4 ThesisOutline...... 10 xxviii Table of Contents

I Earth Albedo and Sun Sensors 13

2 Earth Albedo Modeling 15 2.1 SatelliteData ...... 15 2.2 DataStatistics...... 17 2.3 Modeling ...... 19 2.3.1 ReflectionofIncidentIrradiance ...... 20 2.3.2 EarthAlbedoatSatellite ...... 21

3 Sun Sensor Current Modeling 23 3.1 IncorporatingtheEarthAlbedoModel ...... 25

4 Sun Sensor Vector Observations 27 4.1 StandardAlgorithm...... 28 4.2 MaxCurrentsAlgorithm ...... 29 4.3 SummarizedSunandEarthAlgorithm ...... 30

II Attitude Estimation 33

5 Attitude Parameters 35 5.1 AttitudeMatrices ...... 36 5.2 AttitudeQuaternions ...... 37

6 Single-Point Algorithms 41 6.1 TheQ-Method ...... 42

7 Kalman Filters 45 7.1 ExtendedKalmanFilter...... 45 7.2 UnscentedKalmanFilter ...... 49

8 Estimator Designs 53 8.1 SystemModel...... 53 8.1.1 KinematicEquation ...... 53 8.1.2 DynamicEquation ...... 55 8.1.3 Non-LinearSystemModel ...... 57 8.2 LinearizationofSystemModel ...... 57 8.2.1 LinearKinematicEquation...... 58 8.2.2 LinearDynamicEquation ...... 60 8.2.3 LinearSystemModel...... 61 8.3 MeasurementModel ...... 61 8.4 QuaternionAlgebraModifications ...... 62 8.4.1 CovarianceSingularity ...... 63 8.4.2 PreservingQuaternionUnityNorm ...... 63 Table of Contents xxix

8.5 CovarianceEquations...... 64

III SimulationandValidation 65

9 Validation of the Earth Albedo Model 67 9.1 TheØrstedSatellite...... 68 9.2 TelemetryDataPackages ...... 69 9.2.1 SunSensors...... 70 9.2.2 SunSensorCalibration ...... 70 9.2.3 StarImager...... 71 9.3 BoomDeploymentCalibration ...... 75 9.4 TemporalCalibration ...... 76 9.5 EarthAlbedoModelValidation...... 80

10 Earth Albedo Model Results 85 10.1EarthAlbedo ...... 85 10.2 LongitudeDependency ...... 89 10.3 AltitudeDependency ...... 89 10.4ØrstedOrbit...... 90 10.5 ResolutionoftheEarthAlbedoModel ...... 92

11 Simulated Attitude Determination Results 97 11.1 SimulationConditions ...... 97 11.2 SunSensorVectorObservations ...... 100 11.3 Q-MethodAlgorithm ...... 102 11.4 ExtendedKalmanFilter...... 104 11.5 UnscentedKalmanFilter ...... 108 11.6 Discussion...... 113

12 ApplicationoftheEarthAlbedoModelonØrstedData 115 12.1 ErrorsinØrstedVectorObservations ...... 115 12.1.1 MagneticVectorObservation ...... 115 12.1.2 SunVectorObservation ...... 117 12.2 Q-MethodAlgorithm ...... 121

IV Closure 125

13 Conclusion 127 13.1FutureWork...... 129 xxx Table of Contents

V Appendices 131

A Frames 133 A.1 EarthCenteredInertialFrame ...... 133 A.2 EarthCenteredEarthFixedFrame ...... 134 A.3 SpacecraftBodyFrame ...... 135

B Sun and Earth Black Body Spectra 137 B.1 SunSpectrum...... 137 B.2 EarthSpectrum ...... 138

C Area of Spherical Rectangle 141

D Field of View on a Celestial Body 145

VI Bibliography 149

Bibliography 151 Chapter 1 Introduction

The work in this thesis is in the field of satellite Attitude Determination and Control System (ADCS). A field which has been thoroughly researched since the dawn of the space age. However, the literature is limited in the analysis of the sunlight reflected by the Earth’s surface and atmosphere, known as the Earth albedo. The Earth albedo is relevant for practically all Earth orbiting satellites. The amount of solar radiation re- flected by the Earth towards a satellite, influences the power generated by solar panels, generates radiation torques, affects the thermal design, and is measured by horizon sen- sors to estimate satellite attitude, [Harris and Lyle, 1969], [Wertz, 1978], [Wertz, 2001]. The Earth albedo is especially important for satellites in Low Earth Orbit (LEO) and has impact on two major design areas of the satellite: The ADCS often implements Sun sensors in order to measure the direction to- • wards the Sun. These sensors generate power, scaled with the incident angle of the sunlight. From multiple measurements, the direction to the Sun is estimated. The Earth albedo generates additional currents in the sensors which distort the Sun estimation, and thereby degrades the accuracy of the ADCS. The Electrical Power System (EPS) makes detailed budgets of the power gener- • ation and consumption on-board the satellite. The power on-board a satellite is typically generated from solar cells, and the Earth albedo will add to the total power generated. The goalof this Ph.D. thesis is to developa modelof the Earth albedo for simulation, and incorporate the model of the Earth albedo into the algorithms for attitude determi- nation, in order to increase the accuracy when using Sun sensors, and potentially allow three-axis attitude determination by Sun sensors only. The model of the Earth albedo is designed for the AAUSAT-II satellite, which is a student satellite developed at Aalborg 2 Introduction

University. The AAUSAT-II satellite is a CubeSat, which is a 1kg, 10cm 10cm 10cm satellite, which limits the amount of hardware and power consumption considerably.× × In order for the Earth albedo model to be widely applicable, the model must support the engineering software tools typically applied by ADCS designers. One such tool is MATLAB from The Mathworks, [The Mathworks, 2005]. MATLAB is used in numerous institutions and space agencies and companies. The SIMULINK interface for MATLAB gives the ADCS designers a graphical interface to the simulation platform, and is well suited for implementing easy-to-use simulation toolboxes. An Earth albedo model has multiple applications and motivations in the ADCS de- sign, especially for pico-satellites. In general, the Attitude Determination System (ADS) design pre-phase includes analysis of the space environment, specific for the mission. For LEO satellites, the effects of the Earth albedo are significant, both for disturbances in the satellite motion and Sun sensor measurements. Additionally the ADCS is typi- cally tested in computer simulations of the space environment and satellite models. The Earth albedo model facilitates both analysis and simulation of the Earth albedo. As men- tioned above, the analysis of the space environmentis also interesting from an EPS point of view, because of the excess energy in the Earth albedo irradiance. In the case of pico-satellites, the limited size, mass, and typically also budgets, re- quire the use of simple sensor hardware. As opposed to complicated hardware, advanced models and algorithms can improve the overall performance of the ADCS. Even if the resulting algorithms are computationally heavy, which make them unapplicable for on- board implementations, post-processing of down-linked telemetry data is feasible. This enables the use of pico-satellites in science missions where accurate attitude informa- tion is required for the interpretation of the science data, and hence may be processed on-ground.

1.1 Background and Motivation

The motivation for developing space environment models, including an Earth albedo model, comes from more than 10 years’ experience in satellite design at Aalborg Uni- versity. Aalborg University has been involved in satellite projects since 1993, when the preliminary design phase of the Ørsted satellite was initiated. Aalborg University was selected to design and implement the ADCS for Ørsted. The Ørsted satellite was the first nationally funded and built satellite in Denmark, and was launched on February 23rd, 1999. The satellite has been operated successfully for more than six years since then, and it is still active in measuring the magnetic field of the Earth. Following the internationally recognized work on the Ørsted satellite, a second na- tional satellite project was initiated under the name of Rømer. The Rømer project was initiated in the year 2000. Aalborg University was once again chosen to deliver the ADCS design. The Rømer satellite has yet to be completed, and the project is on standby until funding has been acquired. Recent development in the satellite industry and education community has changed 1.1 Background and Motivation 3 the limitations of satellites from high cost, highly complex to simpler and cheaper de- signs, allowing new concepts and low cost development and launch costs. A new type of satellites, known as CubeSats, have brought down launch costs to a level which has made it possible for universities to launch satellites into space.

1.1.1 The CubeSat Concept The CubeSat concept was conceived jointly by Prof. Robert Twiggs, Stanford Univer- sity, and Prof. Jordi Puig-Suari and Prof. Clarke Turner, California Polytechnic State University. At California Polytechnic State University the effort is concentrated around the deployer and the interface with the launcher. The deployer is known as the P-Pod, which is an abbreviation of Poly Pico-satellite Orbital Deployer. Stanford University is responsible for the CubeSat satellite itself. The CubeSat standard defines the physical requirements as a 10cm 10cm 10cm cubical structure with a mass of 1kg, [Puig-Suari et al., 2001]. A P-Pod× accommodates× three of these CubeSats, and is launched as a piggy-bag ride on an unspecified launcher. The number of P-Pods is only limited by the launch provider.

AAU CubeSat Aalborg University initiated its first CubeSat project, which was a student satellite project, in year 2000. The satellite is called the AAU CubeSat, and it was launched on June 30, 2003, which was the first time CubeSats were launched into space. A total of six CubeSats were launched:

AAU CubeSat, Aalborg University, Denmark. • DTUsat, Danish Technical University, Denmark. • Can X-1, University of Toronto, Canada. • CUTE-1, Tokyo Institute of Technology, Japan. • CubeSat XI, University of Tokyo, Japan. • QuakeSat, Stanford University, U.S. • Figure 1.1 shows a picture of the AAU CubeSat flight model, taken before integration into the P-Pod launcher interface. The AAU CubeSat had problems with the communication system, which was solved by upgrading the ground station. This upgrade took approximately three months, and following the successful download of telemetry from the satellite, the batteries on the satellite lost capacity. End-of-life was declared on September 22, 2003. 4 Introduction

Figure 1.1: The flight model of the AAU CubeSat.

AAUSAT-II

Students at Aalborg University are currently working on a second CubeSat called AAUSAT-II. As its main payload, AAUSAT-II will be flying a gamma-ray burst detec- tor. Gamma-ray bursts are massive extra-galactic energy discharges. They are hundreds of times larger than supernovas, which are caused by exploding stars. The AAUSAT-II satellite is equipped with six Sun sensors, a magnetometer, and three gyros for attitude determination. The ADCS on AAUSAT-II is purely experimen- tal, and is a demonstration of full three-axis active control on a pico-satellite. AAUSAT- II carries magnetorquers and momentum wheels for actuation, hence it is the ad- vanced control system ever developed for a satellite of its class. The Earth albedo model is developedfor use in the ADCS design for the AAUSAT-II satellite. The model is used for simulating the environment of the satellite in LEO. The attitude algorithm will also be used during operations as an off-line algorithm for im- proved attitude estimation. Simple Earth albedo compensations, based on the developed Earth albedo model, will be used in the on-board algorithms. The AAUSAT-II satellite is expected to be launched in the first half of 2006. Figure 1.2 shows an artist’s impression of the AAUSAT-II satellite. The Earth albedo model is validated using telemetry data from the Ørsted satellite. Since the ADCS for the Ørsted satellite is designed at Aalborg University, telemetry data is readily available. The Ørsted satellite is equipped with eight Sun sensors and a magnetometer, and it also flies a star imager, for high precision attitude determination. The star imager measures the attitude of the Ørsted satellite with a precision better than an 5 20arcsec, and is well suited for comparing the results of the algorithms based on − 1.2OverviewofPreviousandRelatedWork 5

Figure 1.2: Artist’s impression of the AAUSAT-II satellite. The algorithms developed in this thesis are being implemented for use for AAUSAT-II, and the satellite is planned for launch in the first half of 2006.

Sun sensor and magnetometer data. The Ørsted telemetry data and configuration of attitude sensors, give unique condi- tions for performing an analysis and validation of the Earth albedo. Aalborg University is continuously developing student satellites. The Earth albedo model derived in this thesis will assist the ADCS engineers in the design and test of attitude determination and control algorithms for future satellite missions.

1.2 Overview of Previous and Related Work

This section investigates previous and related publications within the field of Earth albedo modeling and attitude determination algorithms. Attitude determination has been researched thoroughly over the last 30 years. The Earth albedo is one out of a number of environmental disturbances in the ADS and is the focus of this thesis.

1.2.1 Earth Albedo The Earth albedo is only one of several external disturbance forces. Other sources of disturbance include magnetic residual, solar pressure, gravity gradient, and atmospheric drag. Naturally these disturbances are highly dependent on the type of orbit of the spacecraft. A study of the external disturbances, excludingthe Earth albedo, is published in [Bryson, Jr., 1994]. 6 Introduction

The Earth albedo is typically treated as noise to the ADS. The albedo distur- bance is either filtered out statistically in Kalman algorithms, [Psiaki et al., 1990], [van Beusekom and Lisowski, 2003], which is possible when used with magnetome- ters, or it can be measured using albedo sensors, [Fisher et al., 1993]. Digital Sun sensors are also available, which are mostly insensitive to albedo light by implement- ing an active pixel array instead of solar cells, [Hales andPedersen, 2001]. Some configurations result in errors in the least significant bits of the digital Sun sensors, [Brasoveanu and Sedlak, 1998]. Some algorithms simply rely on protection of stray light in the sensor hardware, [Humphreys, 2002]. A significant research effort in the Earth albedo has been conducted in the geophys- ical and meteorological research communities (see e.g. [Herman and Celarier, 1997], [Koelemeijer and Stammes, 1998], [Snyder and Wan, 1998]). The results of these stud- ies are mainly focused on spectral distributions of absorbance and reflectivity of the at- mosphere and different Earth surface scenarios. Investigation in Earth albedo modeling has also been conducted by National Aeronautics and Space Administration (NASA) in [Flatley and Moore, 1994], however, information of the Earth reflectivity is not in- cluded in derived model. Earth observations by satellites and high altitude aircrafts and balloons have been used to acquire data of the Earth reflectance and radiance, [Harris and Lyle, 1969], [Lyle et al., 1971]. These data are more than 30 years old, and more accurate satellite observations may be used to develop new and accurate models of the Earth albedo. Since July 25, 1996, the Earth Probe satellite has been measuring the Earth’s reflectivity for the Total Ozone Mapping Spectrometer (TOMS) project, [McPeters et al., 1998]. In this thesis the detailed reflectivity recordings are used to calculate the Earth albedo, given a geometrical constellation of the Sun, the Earth, and the spacecraft. The Earth albedo model may be utilized to remove the Earth albedo dis- turbance from Sun sensor measurements. In addition, the development of the Unscented Kalman Filter (UKF) yields a new algorithm for using the Earth albedo as a source for navigation. This allows for three-axis attitude determination using Sun sensors alone. Attitude determination algorithms can be split into two common groups: 1) the single- point algorithms, and 2) filters which utilize multi-point information to calculate the attitude.

1.2.2 Single-Point Algorithms

Single-point algorithms sample the attitude hardware once and provides an estimate of the attitude at the time of sampling. Filters continuously sample the sensors and incorporate dynamic models of the attitude, in order to give an attitude estimate based on a weighed average of the predicted measurement and sensor data. The single-point algorithms are based on the Least Square’s problem published in 1965 by Wahba, [Wahba, 1965]. The problem formulation is known as Wahba’s prob- lem, and the optimal solution is the attitude which minimizes Wahba’s cost function. The 1.2OverviewofPreviousandRelatedWork 7 principle of attitude determination by Wahba’s problem formulation is based on vector observations. It requires that two or more vectors can be measured in a spacecraft fixed frame. The same vectors must be known in a reference frame as well. By comparing the vector observations in reference and body fixed frames, the attitude of the satellite may be estimated. Since Wahba formalized the problem in 1965, numerous solutions to Wahba’s prob- lem have been published. The TRIAD algorithm, [Lerner, 1978], is a simple solution to Wahba’s problem based on two vector observations. In [Bar-Itzhack and Harman, 1997] the TRIAD algorithm has been extended. The estimated attitude is based on a weighed average of two TRIAD solutions, which is guaranteed to be better than the two results separately. The simplicity of the TRIAD algorithm still makes it attractive for on-board implementations, [Flatley et al., 1990]. Davenport’s Q-Method algorithm uses the quaternion attitude representation to parameterize Wahba’s problem, which is formulated as an eigenvector problem, [Lerner, 1978]. The Quaternion Estimator (QUEST) algorithm is an extension to Dav- enport’s Q-Method algorithm, [Shuster and Oh, 1981], which avoids solving the eigen- value problem, and instead formulates Wahba’s problem as a characteristic equation. In 1988, Markeley published an algorithm which solves Wahba’s problem, in its original formulation using the attitude matrix (or direct cosine), by applying the Singular Value Decomposition (SVD) Method, [Markley, 1988]. This algorithm evolved into the Fast Optimal Attitude Matrix (FOAM) algorithm, published in [Markley, 1993], and is comparable to the QUEST algorithm in computational speed.

1.2.3 Filtering Algorithms

Several extensions of the single-point algorithms exist, which make use of multi- ple sensor samples in order to improve the attitude estimates. The Filter QUEST, [Shuster, 1989], and Recursive Quaternion Estimator (REQUEST), [Bar-Itzhack, 1996], include past measurements that require accurate knowledge of the angular velocity in order to propagate the attitude between sample times. A number of publications have looked into the the use of multiple samples in order to compensate for lacking vector observation, i.e. a single vector measurement, [Psiaki et al., 1990], [Challa et al., 1997]. Batch estimators and smoothers, which use future measurements to improve attitude estimates, also exist, [Crassidis and Markley, 1997a]. A filtering algorithm, which include multiple samples and dynamical descriptions of the system, was presented by Rudolph E. Kalman in 1960, [Kalman, 1960]. From a statistical description of the system dynamics and measurements, the Kalman filter produces an optimal estimate of the state of the system. However, some extension to the Kalman filter is necessary in order to apply the filter in attitude determination. The problem is that the general used attitude parameters, the attitude matrix and the quaternion, are constrained parameters, which must be taken into account when calculat- ing estimates, [Lefferts et al., 1982a]. In [Bar-Itzhack and Oshman, 1985], an Extended 8 Introduction

Kalman Filter (EKF) is derived. which assumes an additive correction. The EKF lin- earizes a non-linear system around the current estimate of the system state and applies the linear Kalman filter equations on the linearized system. As it is the case with the single-point algorithms, numerous perturbations of the EKF exist, which handle star trackers, [Gaiet al.,1985], gyro-less configu- rations, [Challa, 1993], [Crassidis and Markley, 1997b], single vector observations, [Psiaki et al., 1990], and a Kalman filter, which assumes quaternion measurements by incorporating the QUEST algorithm, [Fisher et al., 1989]. Over the recent years a new algorithm has been published, known as the UKF, [Julier and Uhlmann, 1997], [Wan and van der Merwe, 2000]. This algorithm is gain- ing recognition throughout the attitude determination research community, even though the EKF has been the preferred ADCS algorithm for more than two decades. The EKF may experience problems with non-convergence, due to first order approxima- tions of the system linearization. This problem has been documented in several publica- tions, [Kalman and Bucy, 1961], [Bucy, 1965], [Athans et al., 1968], [Bass et al., 1966], [Kushner, 1967b], [Kushner, 1967a]. Second order filters, improving the approxima- tion of the system dynamics, may be applied to remedy the convergence problems, [Maybeck, 1982], however, the issue has resulted in investigations in other filtering al- gorithms. The improvement of the EKF has been branched in two direction, the Iterated Ex- tended Kalman Filter (IEKF), and the UKF, [Lefebvre et al., 2004]. The IEKF uses mul- tiple iterations of the EKF in order to ensure convergence. The UKF uses a set of sigma points to approximate the distribution of the modeling errors, and these sigma points are inserted in the system model, in order to approximate the noise distributions and cross- correlations of the system at subsequent time-steps. This is known as the Unscented Transformation (UT), [Julier and Uhlmann, 1994]. The UKF has been adapted to at- titude determination. These algorithms are published in [Crassidis and Markley, 2003] and [Lai et al., 2003]. The advantage of the UKF over the EKF is the fact that calculation of the first order Jacobians of the non-linear system models are avoided. This is necessary if the Earth albedo results of this thesis are to be incorporated correctly into the attitude determi- nation algorithm. Alternately, a single-point algorithm must be used to pre-process the Sun sensor data before it is passed to the EKF, in order to acquire a Sun vector. Both solutions are presented and compared in this thesis. The UKF is in fact a special case of the general Particle Filters (PF). A PF uses approximations of the system noise distributions by mappinganynumberof pointsin the state space, and observing the transformed distribution of points. Recently, PF have been suggested for attitude determination, [Cheng and Crassidis, 2004], which use a large number of state space points, which are able to represent the current and transformed distribution of the state and observations using Monte-Carlo simulation. However, due to the complexity of the Earth albedo modeling, it is inconvenient to apply the system models to several hundreds of points, rather than strategically selected sigma-points. 1.3 Contributions 9

In this thesis an Earth albedo model, based on the TOMS reflectivity data, is derived. Novel methods for incorporating the Earth albedo model in existing attitude algorithms is presented, and the performances of the algorithms are compared, with reference to computational complexity. Inclusion of enhanced modeling of Sun sensors results in an algorithm based on the UKF, enabling attitude determination from Sun sensors only.

1.3 Contributions

The Earth albedo modeling is the main focus of this thesis, and is published in [Bhanderi, 2005b]. The motivation of the Earth albedo model analysis spawns from experience in ADCS design, [Bak et al., 2002], and management of student satellite projects, [Nielsen et al., 2005], [Alminde et al., 2005]. The implementation of simula- tion modules assist the ADCS design significantly and is a necessary procedure, regard- less of the satellite complexity, [Amini et al., 2005]. The major contributions of the Ph.D. work are Advanced modeling of the Earth albedo. Using reflectivity data from the Earth • Probe satellite, an Earth albedo model of high accuracy is derived. The model may be utilized in environment simulations and ADCS design and test.

The Earth albedo model is implemented as a toolbox for MATLAB with • SIMULINK interface, enabling easy integration in existing MATLAB simulations. The toolbox is available on-line at [Bhanderi, 2005a]. Accurate Sun sensor vector estimation. Calibrating measurements from solar cells • with the albedo model enhances the performance of the algorithm for Sun sensor vector estimation. Novel methods for incorporating the Earth albedo model in existing attitude de- • termination algorithms, and the results of the algorithms are compared. Three-axis attitude determination using only solar cells. Using solar cells for • estimating the Sun vector, and in addition the nadir, allows for coarse three-axis attitude determination, using simple hardware, or even using the solar panels, used for collecting power. This allows for three-axis attitude determination on very small satellites like the CubeSats without consuming power or mass, at the cost of higher data flow. It can also be used as a safe mode algorithm on large scale satellites. 10 Introduction

1.4 Thesis Outline

The thesis is organized as follows:

Chapter 2. Earth Albedo Modeling . This chapter derives the Earth albedo model. The input reflectivity data is described, and statistical data is calculated. The Earth albedo model principle is described, and the equations for calculating dif- fuse directional Earth albedo are given.

Chapter 3. Sun Sensor Current Modeling . Given the Earth albedo model, the stan- dard Sun sensor current model is expanded to include the diffuse irradiance from the Earth albedo.

Chapter 4. Sun Sensor Vector Observations . This chapter describes the algorithms for forming a Line-of-Sight (LOS) vector from Sun sensor currents. Three algo- rithms are presented, in order to compare the impact of advanced Earth albedo modeling. The standard algorithm disregards the Earth albedo completely. The Max Currents algorithm uses Sun sensors with highest current output. The Sum- marized Sun and Earth (SSE) algorithm incorporates the Earth albedo model in forming vector observation pairs.

Chapter 5. Attitude Parameters . This chapter provides an introduction to the atti- tude parameters used in this thesis. The attitude matrix and attitude quaternion is presented, and some useful properties of their algebra is given.

Chapter 6. Single-Point Algorithms . This chapter presents Wahba’s problem which expresses attitude determination as minimizing the error of vector observation pairs by estimating the attitude parameter. The single-point Q-Method algorithm is presented as a solution which gives the optimal attitude quaternion from the vector observations.

Chapter 7. Kalman Filters . This chapter presents the equations of the EKF and UKF filtering algorithms. The attitude determination is performed using a system and measurement models. The Kalman Filters use the models to predict the measure- ments at each time step. Calculations of the estimation error covariance allows for statistical optimal fusion of the predicted and sensor measurements.

Chapter 8. Estimator Designs . System specific models and tweaking of the Kalman Filters are described. The equations of satellite motions are presented. Lineariza- tion of the system and vector observation models are performed, as required by the EKF. The use of quaternionsin the system state requires modifications specific to quaternion algebra.

Chapter 9. Validation of the Earth Albedo Model . The Earth albedo model is vali- dated by applying the Earth albedo and Sun sensor current model to the Ørsted 1.4 Thesis Outline 11

satellite configuration. The results of the current simulation is compared to Ørsted telemetry data. Chapter 10. Earth Albedo Model Results . The Earth albedo model is utilized in dif- ferent scenarios, and the resulting of the Earth albedo is discussed. Impacts of longitude and altitude variation are investigated, and the total Earth albedo of the Ørsted satellite’s noon-midnightorbit is presented. Due to the computationalcom- plexity of the Earth albedo model, impacts of reducing the input/output resolution is investigated. Chapter 11. Simulated Attitude Determination Results . The attitude determina- tion algorithms are simulated and the performance of the algorithms are com- pared. The Q-Method, EKF, and UKF are simulated with vector pair inputs from magnetometer and Sun sensors. The UKF is additionally simulated using the non-linear Sun sensor current model, with and without magnetometer vector ob- servation. Chapter 12. Application of the Earth Albedo Model on Ørsted Data . The Q- Method is applied to the Ørsted satellite telemetry data, using the Sun vector observation algorithms. The performance of the Sun sensor vector observation algorithms are compared, and the results of the attitude determination are presented. Chapter 13. Conclusion . Summary of the thesis with concluding remarks and recom- mendations for future work. 12 Introduction Part I

Earth Albedo and Sun Sensors

Chapters

2 Earth Albedo Modeling 13

3 Sun Sensor Current Modeling 21

4 Sun Sensor Vector Observation 25

Chapter 2 Earth Albedo Modeling

The Earth albedo is relevant for practically all Earth orbiting satellites. The amount of solar irradiance reflected by the Earth towards a satellite, influences the power generated by solar panels, generates torques, affects the thermal design, and may be measured by horizon sensors to estimate satellite attitude, [Harris and Lyle, 1969], [Wertz, 1978], [Wertz, 2001]. Albedo is typically treated as noise in the ADS. By modeling the Earth albedo, this disturbance may be incorporated into the ADS and potentially allow the Earth albedo to be used as navigation reference. Due to the geometry of the Earth, the Earth albedo irradiance is multi-directional, unlike the solar irradiance which may be assumed to be anti-parallel to the Sun LOS vector. This assumption holds because the distance to the Sun is large relative to the Sun radius for Earth orbiting satellites. Since the Earth albedo is significant only in the vicinity of Earth, the Earth albedo model must include information of the directional incidence of the Earth albedo irradiance. The model of the Earth albedo is based on reflectivity data from the Earth Probe satellite, which is part of the TOMS project. The data resolution partitions the Earth surface into a number of cells. The incident irradi- ance on each cell is used to calculate the total radiant flux reflected from the cell. From the radiant flux from each cell, the irradiance at the satellite is calculated. The out- put is an array of Earth albedo contribution from each cell in the partition. Directional information is maintained by the LOS vector to each cell.

2.1 Satellite Data

A significant research effort in Earth albedo has been conducted in the geophysi- cal and meteorological research communities (see e.g. [Herman and Celarier, 1997], [Koelemeijer and Stammes, 1998], [Snyder and Wan, 1998]). The results of these stud- 16 Earth Albedo Modeling ies are mainly focused on spectral distributions of absorbance and reflectivity of the atmosphere and different Earth surface scenarios. These results can be applied to the calculation of Earth albedo received by a satellite in the vicinity of Earth. The modeling of the Earth albedo is based on the reflectivity data, measured by the Earth Probe Satellite of the TOMS project, and the data is available online at the TOMS website, [National Aeronautics and Space Administration, 2005]. The Earth Probe re- flectivity data is available daily from July 25, 1996 to present, with minor periods of outage. The orbit altitude was changed from 515km to 740km on July 5, 1997. The reflectivity data fluctuates because of changes in cloud and ice coverage and seasonal changes. The satellite data is given in a resolution of ∆φg = 1 deg latitude times ∆θg =1.25 deg longitude, i.e. 180 288 data points. The two-dimensional data space D is defined as a grid of data points×Φ Θ, where ×

Φ = 0, ∆φg, 2∆φg, ..., 179∆φg , (2.1) { } Θ = 0, ∆θg, 2∆θg, ..., 287∆θg . (2.2) { }

To each data point (φg,θg) D, the mean reflectance of a cell, φg ∆φg/2 and θg ∈ ± ± ∆θg/2, on the Earth surface is available in the TOMS data product. The reflectivity of a cell in the TOMS data is calculated by measuring the irradiance received Emeas by the satellite, which is matched by adjusting a single parameter ρ in the model of the measured irradiance. The irradiance measurement Emeas is modeled by

ρf E = E + E , (2.3) meas 1 Sρ dd dd0 − where ρ is the reflectivity of the reflecting surface, f is the fraction of reflected irradi- ance reaching the satellite, S is the fraction of reflected irradiance scattered back to the reflecting surface, known as Stokes reflections, Edd is the amount of direct and diffuse irradiance reaching the reflecting surface, and Edd0 is the amount of atmospheric scat- tered irradiance reaching the satellite, [Herman et al., 2001]. Figure 2.1 illustrates the reflectivity model used in the reflectivity estimation. In Figure 2.1 it is seen that the incident irradiance EAM0 reaches the reflecting sur- face as partial direct and Rayleigh scattered diffuse irradiance Edd. The total irradiance reaching the surface is the sum of Edd and the infinite sum of irradiance reflected be- tween the atmosphere and the surface, hence the reflected irradiance is expressed as

2 2 n n Er = ρEdd 1+ Sρ + S ρ + ... + S ρ + ... ρE = dd .  (2.4) 1 fρ − Due to atmospheric scattering and absorption, only a fraction f of the reflected irradi- ance reaches the satellite. Adding the atmospheric backscatter Edd0 yields the reflectivity model in Equation (2.3). 2.2 Data Statistics 17

fEr Edd0 EAM0

Atmosphere

Er

ρEdd Stokes Edd reflection S SρEdd

Observed Reflecting Area surface

Figure 2.1: Reflectivity model used for estimating the surface reflectivity in the TOMS data product.

A plot of a single day’s measurements by the Earth probe satellite is shown in Figure 2.2. Note that the satellite does not cover the entire Earth surface in the duration of 24 hours. Figure 2.2 reveals that the Earth Probe satellite did not record measurements at latitudes higher than 60 deg on December 31, 2001.

2.2 Data Statistics

Figure 2.2 shows that a single day’s measurement is incomplete. The orbit of the Earth Probe satellite is configured such that all latitudes are covered over a period of approx- imately four months. Mean reflectivity and standard deviation of the data for the year 2001 are calculated. The result is shown in Figure 2.3. The standard deviation of the data is shown in Figure 2.4. Note that the scale of the color map is different in the two figures. The plots show that there is high reflectivity over the poles, which can be ex- pected due to the polar ice caps, and low reflectivity around the Equator. The standard deviation is high around 40 deg to 60 deg latitude, North and South, due to changing cloud coverage. Over the poles, the icy surface ensures high reflectivity regardless of cloud coverage. The data suggests an average Earth reflectivity of 30.40%, which is con- sistent with the literature, [Lyle et al., 1971], [Wertz, 2001]. The average is calculated by weighting each reflectivity measurement with respect to the area of the associated cell at the measurement grid point. 18 Earth Albedo Modeling

Figure 2.2: Plot of TOMS reflectivity data recorded on December 31, 2001.

Figure 2.3: Plot of mean TOMS reflectivity data recorded from January 1 to December 31, 2001. 2.3 Modeling 19

Figure 2.4: Plot of standard deviation of the TOMS reflectivity data recorded from Jan- uary 1 to December 31, 2001.

The Earth albedo model calculations are based on the input reflectivity data. Uti- lizing daily reflectivity data is more accurate than mean values. However, for on-board algorithms the daily reflectivity is likely to be unavailable in real-time, and the annual mean may be applied. In off-line calculations on ground, the daily reflectivity data may be used. Since the daily reflectivity data does not provide full coverage, as shown in Figure 2.2, the annual mean data is substituted for missing data.

2.3 Modeling

The principle of the modeling scheme is outlined in Figure 2.5. The incident solar irradiance EAM0 reaches the cell at grid point (φg,θg), at an incident angle of αc to the cell normal nˆ c. The angle of incidence defines density of the incident irradiance on the cell. The amount of radiant flux reflected by the cell is given by the irradiance and the area of the cell, Ac (φg). The Earth albedo contribution of the cell, Ec, reaches the satellite, and the density of the radiant flux is dependent on the angle αsat. The modeling approach is described in detail in the following sections, following the path of the solar irradiance in Figure 2.5. 20 Earth Albedo Modeling

nˆ c

Ec EAM0

αSun nss1

αsat (φg,θg)

Ac (φg)

Figure 2.5: Earth albedo modeling principle. The incoming solar AM0 irradiance is reflected by a cell.

2.3.1 Reflection of Incident Irradiance The incident solar irradiance hits a cell on the surface of the Earth. The incident irradi- ance is modeled as a black body source, and the total irradiance is the sum of irradiances in the black body spectrum. The modeling of the solar irradiance is described in Ap- 2 pendix B. The AM0 irradiance is found to be EAM0 = 1367W/m . The amount of energy reflected by a cell, at grid point (φg,θg) D, depends on the ∈ cell area Ac (φg), which is found using Surface of Revolutions, described in Appendix C. Given the polar angle of the grid center φg, the grid area is given by

2 ∆φg ∆φg Ac (φg)= θgr cos φg cos φg + , (2.5) E × − 2 − 2      where rE is the Earth mean radius. The incident irradiance on the cell is equal to the solar AM0 irradiance multiplied by a cosine term dependent on the incident angle αSun, which is the angle between the cell normal nˆ c and the Sun LOS vector from the grid point, rˆSun. The intensity of the incoming irradiance decreases as the angle of incidence increases. This is equivalent to the observed cell area as seen from the Sun. The incident radiant flux density Pc (φg,θg) on a single cell at grid point (φg,θg), is given by

∞ T Pc (φg,θg)= EAM0Ac (φg) rˆSunnˆ c , (2.6) 0 n o where b denotes saturation of the argument, with lower limit a and upper limit b. Note {·}a that the vectors rˆSun and nˆ c are functions of the data grid point (φg,θg). To preserve 2.3 Modeling 21 readability, this is not included in the notation. This includes the satellite LOS vector, rˆsat, introduced below. The reflection on the Earth surface is assumed to be Lambertian. Lambertian equiv- alent reflecting surfaces have a diffuse reflection, which is independent of the incident angle of the incoming irradiance, and look evenly illuminated, regardless of the view- ing angle, [Ryer, 1997]. The reflected radiant flux density Pr (φg,θg), also known as the radiant exitance, is calculated as a fraction ρ (φg,θg) of the incoming radiant flux in Equation (2.6) Pr (φg,θg)= ρ (φg,θg) Pc (φg,θg) , (2.7) where ρ (φg,θg) is the reflectivity of the grid point.

2.3.2 Earth Albedo at Satellite The amount of Earth albedo from a single cell, seen from the satellite, depends on the distance to the satellite and the angle between the cell normal and the satellite LOS vector from the grid point, rˆsat. The irradiance Er (φg,θg) of the cell, when assuming Lambertian reflectivity, is related to the radiant exitance by, [Ryer, 1997]

P (φ ,θ ) E (φ ,θ )= r g g . (2.8) r g g π The Inverse Square Law states that the intensity of the irradiance decreases with the square of the distance from the grid point to the satellite, which is written as

Er (φg,θg) Esat (φg,θg)= 2 . (2.9) rˆsat || || Finally the irradiance at the satellite depends on the visible area of the cell surface seen from the satellite. The visible area is related to αsat by the cosine function. This rela- tionship, combined with Equations (2.8) and (2.9), results in an expression of the Earth albedo irradiance Ec (φg,θg) from a single cell, given by

∞ T Pr (φg,θg) rˆsatnˆ c E (φ ,θ )= 0 . (2.10) c g g n 2 o π rˆsat || || The full Earth albedo model is expressed as

T T ρ(φg,θg)EAM0Ac(φg)rˆSunnˆ crˆsatnˆ c 2 if π||rˆ || (φg,θg) V Sun V sat Ec (φg,θg)= sat ∈ ∩ . (2.11) (0 else

The sets V Sun D and V sat D are the grid points visible from the Sun and satellite, ⊂ ⊂ respectively, i.e. V Sun V sat is the set of sunlit grid points visible from the satellite, ∩ 22 Earth Albedo Modeling which are necessary conditions for a cell to reflect solar irradiance to the satellite. The inequality defining the sets V sat and V Sun is derived in Appendix D. The total Earth albedo irradiance Ea at the satellite position may be calculated as the sum of irradiances from all cells

Ea = Ec (φg,θg) . (2.12) V V SunX∩ sat

The output of the Earth albedo model, Ec (φg,θg), is the irradiance received from the cells at all grid points, i.e. a 180 288 matrix. This result allows for incident angular dependency, when calculating Earth× albedo effects on solar cells. This is useful, since the irradiance on solar cells decreases when the angle between the solar panel normal and the incident irradiance increases. The albedo model may be used to derive advanced Sun sensor current models, which takes the directional Earth albedo output into account. Improved models should facilitate improved vector observations and attitude determina- tion. Chapter 3 Sun Sensor Current Modeling

The Sun sensor current model is used to calculate the output currents of the Sun sensors. It is derived from the configuration of sensors on the satellite. Different types of Sun sensors exist. A very simple analogue Sun sensor simply consist of a small solar cell in short circuit mode. Sun sensors of this type are very cheap and small, compared to more advanced sensors, and are suitable for CubeSat applications. Driving the Sun sensors in short circuit mode, ensures that the current output is dependent mainly on the incoming irradiance only. The solar cells used for charging batteries on a satellite, can experience change in current output as a result of high loads. Consequently, using these solar cells requires modeling of the entire electrical system in the satellite, which is very complex. The model derived in this chapter applies for simple Sun sensors with solar cells in short circuit mode. The angle of the incident irradiance is clearly dependent on the angle of the incident irradiance, since the density of the radiant flux on the solar cell surface in the Sun sensor changes with this parameter. From the density of the radiant flux on the Sun sensor, the output current may be calculated from the area and efficiency of the solar cell. Typically, the Sun sensor is calibrated on-ground, by illuminating the Sun sensors with a known irradiance, denoted Ecal, and measuring the current output, imax, when the angle of inci- dence is zero, i.e. the irradiance is perpendicular on the solar cell plane. The measured current from an ideal Sun sensor i, as a function of the angle of incidence αirad,i, is expressed as π/2 imeas = imax cos αirad . (3.1) ,i ,i { ,i}−∞ The angle αirad,i is measured as the angle between the normal vector to the Sun sensor solar cell plane, nˆ SSi, and the LOS vector to the irradiance source, illustrated in Figure π/2 3.1. The notation αirad,i −∞ indicates that the angle of the incident irradiance saturates at π/2. When the{ angle of} incidence exceeds 90 deg the Sun sensor is illuminated from 24 Sun Sensor Current Modeling the back, hence no current is generated. The saturation gives the Sun sensor output a highly non-linear behavior.

nˆ SS1

rˆs

αirad,1

Figure 3.1: Definition of the angle of incidence αirad,i, illustrated by Sun sensor SS1 on the Ørsted satellite.

The parameter imax,i may be assumed to scale linearly with the amount of incident irradiance. Hence the output generated from the solar irradiance is given by

Eiradimax,i π/2 imeas,i = cos αirad,i −∞ , (3.2) Ecal { }   where Eirad is the incident irradiance from an angle αirad,i of incidence. Equation (3.2) can be expressed in terms of the Sun sensor normal vector nˆ SSi and the LOS vector to the source rˆs, as ∞ Eiradimax,i T imeas,i = nˆ SSirˆs . (3.3) Ecal 0 n o Equation (3.3) is often used for estimating the output when disregarding the Earth albedo. In this case the incident irradiance is EAM0. In the following, the output equa- tion is extended to include the output of the Earth albedo model, Ec (φg,θg), derived in Chapter 2. 3.1 Incorporating the Earth Albedo Model 25

3.1 Incorporating the Earth Albedo Model

The total generated current in the Sun sensors is a sum of currents generated from the Sun irradiance, Earth albedo irradiance, and other fainter sources, which are assumed to be negligible. Recall from Equation (2.11) that the output of the Earth albedo model is an array of albedo contributions from each cell in the partitioning of the Earth surface. This allows the Sun sensor output equation to include directional dependence to each cell, when calculating the current generated from Earth albedo.

nˆ c Ec

αsat

Ac (φg)

Figure 3.2: Albedo contributions in the Earth albedo model output. Each value in the albedo array is a irradiance contribution from a cell on the Earth surface.

The interpretation of the Earth albedo array is illustrated in Figure 3.2. The Earth albedo of a cell Ec (φg,θg), specified by the grid point (φg,θg), is a irradiance contri- bution from the direction from the satellite to the grid point. The Sun sensor output equation must calculate the contribution of each cell on the Sun sensor. The total gener- ated current is calculated by summarizing the solar induced current and the contributions from each grid point. The resulting Sun sensor output equation becomes

T ∞ T ∞ EAM0nˆ SSirˆSun Ec (φg,θg) nˆ SSirˆg imeas,i = imax,i + . (3.4) Ecal Ecal ( ) V V ( ) ! 0 SunX∩ sat 0

The rˆg vector is the LOS vector from the satellite to the grid point (φg,θg). Irradiance vectors lSun and lg are introduced and defined as

lSun = EAM0rˆSun, lg = Ec (φg,θg) rˆg, (3.5) which represent vectors to the sources of irradiance, with norms equal to the magnitude 26 Sun Sensor Current Modeling of the source irradiances. Inserted into Equation (3.4), yields

T ∞ T ∞ nˆ SSilSun nˆ SSilg imeas,i = imax,i + . (3.6) Ecal Ecal ( ) V V ( ) ! 0 SunX∩ sat 0 Equation (3.6) is a non-linear model of the current output of a Sun sensor. The attitude of the satellite, and consequently the Sun sensor, naturally influences the Sun sensor output. This dependency is included in the model, since the normal vector of the Sun sensor, nˆ SSi, changes as the satellite rotates. The model incorporates the output of the Earth albedo model, which includes irradiance contributions from each cell of the partitioned Earth surface. This includes directional dependency of each cell irradiance. The Sun sensor model potentially allows improved Sun sensor vector observations and current simulation. Chapter 4 Sun Sensor Vector Observations

This chapter describes the algorithms for estimating a vector from Sun sensor measure- ments. An algorithm which includes the results of the Earth albedo model in Chapter 2 is derived. Sun sensors convert radiant flux to electrical power and can be used to estimate the angle between the normal vector to the sensor plane and the Sun LOS vector, by mea- suring the intensity per area on the sensor’s solar cell surface, which is related to the angle of incident irradiance. Sun sensors are typically mounted such that measurements are available in six directions, which are opposite facing in pairs, such that the obser- vations span all of R3. Typically a minimum of six Sun sensors are used, looking in the positive and negative directions of each axis in the spacecraft reference frame, as it is the case on the Ørsted satellite, [Blanke et al., 1994]. In the following it is assumed that six Sun sensor measurements are available, and that the Sun sensors are mounted looking in pairs in opposite directions, along orthogonal axes. If this is not the case, the measurements can be projected onto orthogonalaxes, and the results will still apply. The Sun sensors described in this thesis are simple sensors, which work by measuring the current output of a solar cell in short circuit mode. Digital Sun sensors are more compli- cated and are not significantly affected by albedo, [Brasoveanu and Sedlak, 1998]. The improved accuracy of digital Sun sensors is at the expense of higher price, mass, and power consumption.

Figure 4.1 shows the geometry of the Sun LOS vector rˆSun in a configuration, where six sun sensors are mounted in pairs in opposite directions and along three orthogonal axes. The Sun sensors are represented by the normal vectors nˆ SSi of each sensor SS1 through SS6. In the following section a standard algorithm of obtaining the Sun LOS vector is presented. 28 Sun Sensor Vector Observations

nˆ SS5

z

rˆSun

α3

nˆ SS2 α1 2 nˆ SS4 α y

x nˆ SS3

nˆ SS1

nˆ SS6

Figure 4.1: Projections of the Sun LOS vector measured by Sun sensors mounted in op- posite looking directions along three orthogonal axes.

4.1 Standard Algorithm

Applying the cosine model of the Sun sensor current and normalizing the measured current imeas,i, with respect to the maximum generated current imax,i, i.e. when the inci- dent light hits the Sun sensor orthogonally onto the solar cells, the measurement can be written as imeas,i pi/2 = cos αirad,i −∞ , (4.1) imax,i { }   which is the projection of rˆSun onto nˆ SSi. This is a simplified equation compared to the measurement model derived in Chapter 3, since it assumes a single constant irradiance source. However, this is the typical assumption used, since the solar irradiance may be assumed constant over time periods which are small when compared to the 11 year solar cycle. The Earth albedo is completely disregarded. If the Sun sensor is looking in the negative direction of an axis, then Equation (4.1) is the projection onto the associated axis in negative direction. The elements of the estimated Sun LOS vector, rˆSunEst, may be written as

imeas,1 imeas,2 imax,1 − imax,2 EAM0 imeas,3 imeas,4 rˆSunEst = . (4.2)  imax,3 imax,4  Ecal imeas,5 − imeas,6  imax,5 − imax,6    4.2 Max Currents Algorithm 29

Note that the resulting vector is scaled by the ratio between the incident irradiance and the calibrated irradiance. If the Sun sensor parameter imax,i is calibrated using EAM0,a unit vector is formed. The above equation is the standard algorithm for constructing a Sun LOS vector. This algorithm is error-prone when the Earth albedo induces currents in the Sun sensors. When observing a Sun sensor pair of opposite facing Sun sensors, the Earth albedo will either increase or decrease the estimate of the associated element of the rˆSunEst vector. If the solar irradiance and the Earth albedo illuminate the same Sun sensor, the estimated element will be too large. If opposite Sun sensors in the sensor pair are illuminated, the estimated element will be decreased, due to the subtraction of the currents in Equation (4.2). In order to compensate the Earth albedo induced errors, the full equation of the output current of the Sun sensors, derivedin Chapter 3, must be taken into consideration. Two different algorithms are considered in order to compensate for the Earth albedo induced currents. One algorithm simply uses the maximum currents of the Sun sensor pairs to estimate the Sun LOS vector. This algorithm does not use the Earth albedo model. The other uses the standard algorithm and argues that the resulting vector is an approximation of Sun and Earth irradiance vectors. The algorithms are presented in the following.

4.2 Max Currents Algorithm

A simple way of compensating for the Earth albedo, is to compare a Sun sensor pair, and only utilize the measurement from the Sun sensor which generates the highest current, thus assuming that this Sun sensor is illuminated by solar irradiance only. The Max Currents algorithm can be formulated as

imeas,1 if imeas,1 > imeas,2 EAM0 imax,1 imax,1 imax,2 rˆSunEst,1 = , (4.3) E imeas,2 else cal ( 2 − imax, imeas,3 if imeas,3 > imeas,4 EAM0 imax,3 imax,3 imax,4 rˆSunEst,2 = , (4.4) E imeas,4 else cal ( 4 − imax, imeas,5 if imeas,5 > imeas,6 EAM0 imax,5 imax,5 imax,6 rˆSunEst,3 = . (4.5) E imeas,6 else cal ( 6 − imax, The algorithm is particularly effective for Earth pointing satellites, since the Earth albedo is concentrated on Earth pointing Sun sensors, and the opposite facing Sun sensors are looking towards the Sun, hence the Earth albedo is filtered very effectively. The algo- rithm will in this case mostly fail when the satellite is near the terminator, i.e. coming out of and going into eclipse. 30 Sun Sensor Vector Observations

4.3 Summarized Sun and Earth Algorithm

The SSE algorithm incorporates a simplification of the Earth albedo in the Sun sensor output equation in Equation (3.6). The Earth albedo is approximated by a single vector, as opposed to contributions from each data point (φg,θg) V Sun V sat. The total ∈ ∩ albedo Ea, calculated in Equation (2.12), is assumed to reach the satellite anti-parallel to the Earth direction. This results in an Earth irradiance vector lE, given by

lE = EarˆE, (4.6) where rˆE is the Nadir vector. Utilizing the Earth irradiance vector, the output equation of the Sun sensors can be approximated by

T ∞ T ∞ nˆ SSilSun nˆ SSilE imeas,i = imax,i + . (4.7) Ecal Ecal ( )0 ( )0 ! With the above approximation, and applying the standard Sun LOS vector algorithm in Section 4.1, the resulting estimated vector is actually the sum of the Sun and Earth irradiance vectors, i.e.

imeas,1 imeas,2 imax,1 imax,2 E + E l + l 3 − 4 AM0 a Sun E = imeas, imeas, . (4.8) imax,3 imax,4 Ecal lSun + lE  −  || || imeas,5 imeas,6  imax,5 − imax,6    The SSE vector is shown in Figure 4.2. The SSE vector is an improved estimate of the vector projected onto the axes spanned by the Sun sensors, as opposed to the Sun LOS vector of the Standard algorithm, shown in Figure 4.1. The proofof Equation (4.8)is given for the first element of the vector. An expression of the first element can be found by inserting Equation (4.7) into Equation (4.8), i i meas,1 meas,2 = imax,1 − imax,2 ∞ ∞ ∞ ∞ nˆ T l nˆ T l nˆ T l nˆ T l SS1 Sun + SS1 E SS2 Sun SS2 E . (4.9) Ecal Ecal − Ecal − Ecal ( )0 ( )0 ( )0 ( )0 Since the Sun sensor pair SS1 and SS2 are facing opposite directions, it holds that

nˆ SS = nˆ SS . (4.10) 1 − 2 As a result the saturation function on the Sun irradiance vector can be eliminated by ∞ ∞ ∞ 0 nˆ T l nˆ T l nˆ T l nˆ T l SS1 Sun SS2 Sun = SS1 Sun + SS1 Sun (4.11) Ecal − Ecal Ecal Ecal ( )0 ( )0 ( )0 ( )−∞ nˆ T l = SS1 Sun . (4.12) Ecal 4.3 Summarized Sun and Earth Algorithm 31

nˆ SS5

z

lSun

lSun + lE

nˆ SS2

nˆ SS4 y

x lE nˆ SS3

nˆ SS1

nˆ SS6

Figure 4.2: Projections of the SSE vector measured by Sun sensors mounted in opposite looking directions along three orthogonal axes.

The same applies for the Earth irradiance vector. Inserting into Equation (4.9), yields

i i nˆ T l nˆ T l meas,1 meas,2 = SS1 Sun + SS1 E , (4.13) imax,1 − imax,2 Ecal Ecal or equivalently T imeas,1 imeas,2 nˆ SS1 = (lSun + lE) , (4.14) imax,1 − imax,2 Ecal which is the first element of the SSE irradiance vector, since nˆ SS1 is aligned with the x axis, illustrated in Figure 4.2. The SSE algorithm is proven to estimate the SSE irradiance LOS vector, by approx- imating the Sun sensor output equation. It does not directly utilize the Earth albedo model. However, when the estimated SSE vector is applied in the attitude determination algorithms, the SSE vector must be calculated in the reference frame, in order to obtain an attitude from reference to Spacecraft Body (SCB) frame. When calculating the SSE vector in a reference frame, the Earth albedo model must be included in the ephemeris models, in order to estimate the correct ratio between the Sun and Earth irradiance vec- tors. 32 Sun Sensor Vector Observations Part II

Attitude Estimation

Chapters

5 Attitude Parameters 33

6 Single-Point Algorithms 39

7 KalmanFilter 43

8 Estimator Designs 51

Chapter 5 Attitude Parameters

This chapter gives a short overview of the mathematical representations of attitude used in this thesis. The purpose of ADS is to determine the orientation of an object relative to a reference frame. This is done by defining a body fixed frame, which rotates with the object. See Appendix A for definitions of the frames used in this thesis. Figure 5.1 shows an object which is rotated. The reference frame is defined by the xˆA, yˆA, and zˆA unit vectors, and the body fixed frame by xˆB, yˆB, and zˆB.

zˆA

zˆB

yˆB

yˆA

xˆA

xˆB

Figure 5.1: Rotation of an object with body fixed frame, relative to a reference frame.

In order for the frames A and B to be orthogonal right-hand frames, it must hold 36 Attitude Parameters that zˆ = xˆ yˆ , i A, B . (5.1) i i × i ∈{ } 5.1 Attitude Matrices

Several attitude parameter formulations exist for representing the attitude of the body frame with respect to the reference frame. A complete description of the parameters is available in several books on mechanics and attitude control, see e.g. [Wertz, 1978] or

[Hughes, 1986]. Clearly, specifying xˆB , yˆB, and zˆB axes in the xˆA, yˆA, and zˆA frame, gives a full parameterization of the attitude. Figure 5.2 shows the projection of the zˆB axis onto the xˆA, yˆA, and zˆA axes. The zˆB projected onto the xˆA, yˆA, and zˆA vectors A is zˆB given in the reference frame, which is denoted zˆB. The superscript specifies that the zˆB is given in frame B.

zˆA

zˆB

xˆA yˆA

Figure 5.2: The zˆB projected onto the xˆA, yˆA, and zˆA vectors.

A total of nine parameters are required to parameterize the body fixed axes in the reference frame, which are represented in a 3 3 attitude matrix, given by × T A xˆB T  A   A = yˆB . (5.2)  T  A    zˆB       The matrix A is a mapping of vectors from the reference frame to the body frame. This B A can be indicated by sub- and superscripts, AA. Given a vector v in the reference frame, 5.2 Attitude Quaternions 37 the representation in the body frame is found by

A A xˆB v B A A · A B AA v = yˆB v = v . (5.3)  A · A zˆB v  ·  Since the vectors of the two frames are unit vectors and mutually orthogonal, it holds that AAT =1, (5.4) which means that A is an orthonormal matrix. It follows from Equations (5.3) and (5.4) that T A B AB = AA . (5.5)   Consecutive rotations are found as the product of attitude mappings

C C B AA = ABAA, (5.6)

C where AA represents a rotation from frame A to B followed by a rotation from frame B to C. The attitude matrix is widely used due to its algebraic mapping. It is published in [Stuelpnagel, 1964] that the parameterization of attitude has three degrees of freedom, and that no three-dimensional parameter can be both global and non-singular. Hence a minimum of three parameters are required. The direct cosine matrices contain nine parameters with three degrees of freedom. Due to this redundancy, numerous ways of representing the satellite attitude with a minimum set of parameters have been devel- oped. Euler angles describe the rotation around the principal axes and therefore use only three parameters. However, some singularities arise for some rotations, which is why Euler angles are commonly used when the attitude of the object involved, is known to be within a certain margin [Wertz, 1978]. An investigation of attitude parameters is given in [Shuster, 1993]. Quaternions use four parameters with a single constraint to represent attitude and are subject to no singularities. This is useful when considering that the attitude of a satellite is usually unknown after the release from the launcher. For this reason quaternions are commonly used in space applications. In this thesis the quaternion representation is used, because it is a global four parameter representation.

5.2 Attitude Quaternions

Quaternionsis one of many ways to represent attitude. The quaternion has the advantage of being without singularities for all attitudes. 38 Attitude Parameters

A quaternion q is defined by its four vector elements q1, q2, q3 and q4, as

q1 q2 q = q4 + iq1 + jq2 + kq3 =   , (5.7) q3 q4     where i, j and k are hyper imaginary numbers satisfying

i2 = j2 = k2 = 1, (5.8) − ij = ji = k, (5.9) − jk = kj = i, (5.10) − ki = ik = j. (5.11) − The fourth element of a quaternion is named the scalar element and is also denoted by q. The 1st, 2nd, and 3rd are complex elements. The complex part of the quaternion is denoted p, hence a quaternion may be written p q = . (5.12) q   A rotation ∆φ around a unit vector eˆ is represented by the attitude quaternion

eˆsin ∆φ q = 2 (5.13)  ∆φ  cos 2 .     The definition of the attitude quaternion parameters is illustrated in Figure 5.3. The four parameters of the attitude quaternion are subject to the constraint

2 2 2 2 q1 + q2 + q3 + q4 =1, (5.14) which means that the quaternion has three degrees of freedom, corresponding to the minimum set of parameters needed for attitude representation. The product of two quaternions q and q′ is defined in matrix form as

′ ′ ′ ′ q4 q3 q2 q1 q1 ′ ′ −′ ′ ′′ ′ q3 q4 q1 q2 q2 q = q q = −′ ′ ′ ′    . (5.15) q2 q1 q4 q3 q3 ′ − ′ ′ ′  q q q q  q4 − 1 − 2 − 3 4       Note that the multiplication of quaternions is not commutative, which is also the case for attitude matrices. The complex conjugate of the quaternion is defined as

∗ p q = q4 iq1 jq2 kq3 = − . (5.16) − − − q   5.2 Attitude Quaternions 39

zˆA

yˆA

xˆA eˆ

∆φ

Figure 5.3: Definition of the quaternion attitude parameter as a rotation ∆φ around the unit vector eˆ.

It follows from Equations (5.13) and (5.16) that

A B ∗ qB = qA . (5.17)

Note that 

0 0 qq∗ = , (5.18) 0 1     which is the unit quaternion representing the zero rotation, i.e. no rotation. Representing the attitude quaternion q by the attitude matrix A (q), the rotation calculation of Equation (5.15), can be written in terms of the associated attitude matrices as

A (q′′)= A (q′) A (q) , (5.19) where A (q) is given by

2 2 2 2 q1 q2 q3 + q4 2(q1q2 + q3q4) 2(q1q3 q2q4) − − 2 2 2 2 − A (q)= 2(q1q2 q3q4) q1 + q2 q3 + q4 2(q2q3 + q1q4 (5.20)  2(q q +− q q )− 2(q q −q q ) q2 q2 + q2 + q2 1 3 2 4 3 3 − 1 4 − 1 − 2 3 4   = q2 p 2 1 +2ppT 2qS (p) , (5.21) − || || 3×3 −   40 Attitude Parameters where the cross-product matrix function is defined as

0 v v − 3 2 S (v)= v3 0 v1 (5.22)  v v −0  − 2 1   for an arbitrary vector v. The attitude parameters and their algebra have been presented in this chapter. In the following chapters the algorithms for estimating the attitude parameters of a satellite are presented. Chapter 6 Single-Point Algorithms

In this chapter attitude estimation from a single sample of sensor hardware is described. As opposed to filtering algorithms, the single-point algorithms solely use samples from a single time instant to estimate attitude. Common for most single-point algorithms is the use of vector observations to estimate the attitude of an object. Given a set of n 2 vector observations, a loss function is formulated, known as Wahba’s problem given≥ by

n 1 2 L AB = w vˆB AB vˆI , (6.1) I 2 j j − I j   j=1 X

I where wj is the weight of the j’th vector observation, vˆj is the LOS vector in the ref- B erence frame. and AI is the orthonormal rotation matrix, representing the rotation from reference to body frame, which is sought, [Wahba, 1965]. The loss function is a weighted sum squared of the difference between the measured and the reference LOS vectors in the body frame. By minimizing the loss function, given in Equation (6.1), an optimal attitude may be estimated. One solution to Wahba’s problem is the Q-Method, which directly estimates an opti- mal attitude quaternion minimizing Wahba’ problem. The Q-Method was developed by Davenport in 1968 and is based on earlier work done by Wahba, [Lerner, 1978]. A num- ber of alternative algorithms have been derived from the Q-Method, e.g. the QUEST algorithm, [Shuster and Oh, 1981]. These algorithms are fundamentally similar to the Q-Method, but optimize the calculations with respect to computation efficiency and on-board implementation. Algorithms exist that result in alternate attitude parameters. Since the attitude quaternion is used to parameterize satellite attitude in this thesis, the Q-Method is presented in the following. 42 Single-Point Algorithms

6.1 The Q-Method

To simplify Wahba’s problem it is necessary to expand it to

B L AI =  1 n T T T T w vˆB vˆB + vˆI AB ABvˆI 2 vˆB ABvˆI , (6.2) 2 j j j j I I j − j I j j=1 X          T T B B B B where vˆj vˆj is constant, and AI AI is the identity matrix. The loss function, B    L AI , may then be written as   n L AB = tTABs + k, (6.3) I − j I j j=1   X where k denotes the constant terms. The unnormalized vectors tj and sj are defined as

B tj = √wj vˆj , (6.4) I sj = √wj vˆj . (6.5) The loss function is at a minimum, when the gain function

n B T B T B g AI = tj AI sj = tr T AI S (6.6) j=1   X   is at maximum. The matrices T and S are defined as

T = t t t , (6.7) 1 2 · · · n S = s s s , (6.8)  1 2 · · · n   and tr ( ) is the trace function. The maximization of g AB is complicated since the · I B nine elements of AI are subject to six constraints, [Shuster  and Oh, 1981]. It is there- B fore convenient to express AI in terms of a quaternion q. According to Chapter 5, the B rotation matrix AI is defined in terms of quaternions as

AB (q)= q2 p 2 1 +2ppT 2qS (p) . (6.9) I − || || 3×3 −   Substituting Equation (6.9) into Equation (6.6), gives the modified expression for the gain function g (q)= qTCq, (6.10) 6.1 The Q-Method 43 where C is defined as U σ1 c C = 3×3 . (6.11) −cT σ   The above values are defined as

U = BT + B, (6.12) B B 2,3 − 3,2 c = B3,1 B1,3 , (6.13) B − B  1,2 − 2,1 σ = tr (B) ,  (6.14) where B = TST. (6.15) The problem of determining the optimal attitude has been reduced to finding the quaternion that maximizes Equation (6.10). The normalization constraint, qTq =1, can be taken into account by using Lagrange multipliers, [Wertz, 1978]. A new function g′ (q) is defined g′ (q)= qTCq ξqTq, (6.16) − where ξ is the Lagrange multiplier. The gain function g′ (q) is maximized without con- straints and ξ is chosen to satisfy the normalization constraint. Taking the derivative of Equation (6.16) with respect to q and setting the result equal to zero, an eigenvector equation is obtained, [Shuster and Oh, 1981],

Cq = ξq. (6.17)

The optimal quaternion which determines the optimal attitude matrix, in accordance with Equation (6.9), is an eigenvector of C. Substitution of Equation (6.17) into Equa- tion (6.10) gives g (q)= qTCq = qTξq = ξ, (6.18) thus g (q) will be maximized if the optimal quaternion is chosen to be the eigenvector of C belonging to the largest eigenvalue. 44 Single-Point Algorithms Chapter 7 Kalman Filters

Kalman filters are algorithms for calculating estimation of states using a model descrip- tion of the system. The Kalman filter was introduced by R. Kalman in [Kalman, 1960]. Kalman filters are preferred, since they can incorporate noise information to produce statistically optimal estimates. In order to estimate the state vector from the noise inflicted measurements, an EKF and an UKF is designed. The Kalman filters propagate a previous estimation of the states, using the state space equations, and corrects the propagation using measurements. The Kalman Filters use a non-linear system description for the propagation of the state. The propagation of the covariance of the state error in the EKF is calculated using Ja- cobian matrices, which are calculated at each time step, using the current estimate as the nominal value. The UKF uses approximations of the noise distributions, which are mapped through the non-linear system equations.

7.1 Extended Kalman Filter

When a system is described by a non-linear model equation, the EKF requires the equa- tions to be linearized around a nominal state. If the nominal state is constant, the equa- tions resembles that of the linearized Kalman filter. In some cases, however, a lineariza- tion around a single trajectory is inadequate, especially if it is not guaranteed that the state of the system is always close to the nominal values. In these situations an EKF filter is applied, which re-linearizes the system around the current estimate. The de- scription of the EKF is based on [Grewal and Andrews, 1993] and [Maybeck, 1982]. In the following the equations of the EKF are presented. The filter linearizes the system equations around the current estimate xˆ (t t ) and control input u (t ) at all time steps. k| k k 46 Kalman Filters

The non-linear system is described by the generic differential equation

x˙ (t)= f (x (t) , u (t) ,t)+ w (t) , (7.1) where w (t) is a vector of random variables, representing process noise. The continuous Gaussian white process noise has the statistics

E (w (t)) = 0, (7.2) E w (t) wT (t + τ) = Q (t) δ (τ) , (7.3)  where E ( ) is the expected value function, δ ( ) is Dirac’s Delta Function, and Q (t) is the covariance· of the process noise. · The non-linear output equation is given by

z (tk)= h (x (tk) ,tk)+ v (tk) , (7.4) where v (tk) is a vector of random variables, representing measurement noise. Note that it is assumed that there is no direct dependency on the control input. This has been left out, since it is uncommon in dynamical systems. The measurement noise is assumed to be Gaussian white noise with statistics

E (v (tk)) = 0, (7.5) T E v (tk) v (tk+n) = R (tk) ∆ (n) , (7.6)  where ∆ ( ) is Kronecker’s Delta Function, and R (tk) is the covariance of the measure- ment noise.· Using a Taylor expansion of Equation (7.1) around a nominal trajectory x¯ (t) and a nominal input u¯ (t), yields

x˙ (t)=f (x¯ (t) , u¯ (t) ,tk) ∂f (x (t) , u (t) ,t) + (x (t) x¯ (t)) ∂x (t) x(t)=x¯(t) − u(t)=u¯(t) t=tk

∂f (x (t) , u (t) ,t) + (u (t) u¯ (t)) ∂u (t) x(t)=x¯(t) − u(t)=u¯(t) t=tk

+ h.o.t. + w (t) , (7.7) where h.o.t. are the higher order terms. Considering the perturbation of the state from the nominal trajectory, denoted x˜ (t) = x (t) x¯ (t) and a perturbed input u˜ (t) = − 7.1 Extended Kalman Filter 47 u (t) u¯ (t), Equation (7.7) is written − ∂f (x (t) , u (t) ,t) x˜˙ (t)= x˜ (t) ∂x (t) x(t)=x¯(t) u(t)=u¯(t) t=tk

∂f (x (t) , u (t) ,t ) + u˜ (t) ∂u (t) x(t)=x¯(t) u(t)=u¯(t) t=tk

+ w (t) . (7.8)

It is assumed that the higher order terms are negligible. Consequently, the covariance of the process noise should be scaled accordingly. Choosing the current estimate xˆ (tk tk) as the nominal trajectory at each time step, an approximated linearized system equation| of the state perturbation are expressed as

x˜˙ (t)= F (xˆ (t t ) , u (t ) ,t ) x˜ (t)+ G (xˆ (t t ) , u (t ) ,t ) u˜ (t)+ w (t) , (7.9) k| k k k k| k k k where F (xˆ (tk tk) , u (tk) ,tk) and G (xˆ (tk tk) , u (tk) ,tk) are the Jacobians of f (x (t) , u (t) ,t|) with respect to the state and the| input, given by

∂f (x (t) , u (t) ,t) F (xˆ (tk tk) , u (tk) ,tk)= , (7.10) | ∂x (t) x(t)=xˆ(tk|tk) u(t)=u(tk ) t=tk

∂f (x (t) , u (t) ,t) G (xˆ (tk tk) , u (tk) ,tk)= . (7.11) | ∂u (t) x(t)=xˆ(tk|tk) u(t)=u(tk ) t=tk

In a similar manner, a linear expression of the output equation in Equation (7.4) is found to be

z˜ (t )= H (xˆ (t t ) ,t ) x˜ (t )+ v (t ) , (7.12) k k| k k k k where H (xˆ (t t ) ,t ,t) is the Jacobian of h (x (t) ,t), given by k| k k ∂h (x (t) ,t) H (xˆ (tk tk) ,tk)= . (7.13) | ∂x (t) x(t)=xˆ(tk |tk),tk

t=tk

Starting with an estimate at time tk−1, denoted xˆ (tk−1 tk−1), the predictor of the filter calculates an a priori estimate using Equation (7.1). Although| the system is lin- earized, the Jacobians are only required in the update of the estimate covariance, hence the non-linear system is applied in propagation and measurement estimates. The propa- gated estimate, denoted xˆ (t t ), is an estimate of the state at time t , based only on k| k−1 k 48 Kalman Filters the dynamics described by the non-linear model of the system, corrected by measure- ments up to time tk−1. Given the measurement at time tk, z (tk), the a priori estimate can be corrected into the a posteriori estimate at time tk, denoted xˆ (tk tk). The correc- tor equation is given by | x˜ˆ (t )= K (t ) (z (t ) zˆ (t t )) , (7.14) k k k − k| k−1 where zˆ (t t ) is the estimated measurement, given by k| k−1 zˆ (t t )= h (xˆ (t t ) ,t ) , (7.15) k| k−1 k| k−1 k and K (tk) is the Kalman gain. The Kalman gain is calculated using

T K (t )= P est (t t ) H (xˆ (t t ) ,t ) k k| k−1 k| k−1 k T −1 H (xˆ (t t ) ,t ) P est (t t ) H (xˆ (t t ) ,t )+ R (t ) . (7.16) × k| k−1 k k| k−1 k| k−1 k k The estimate of the state at time tk is given by  xˆ (t t )= xˆ (t t )+ x˜ˆ (t ) . (7.17) k| k k| k−1 k The covariance matrices of the a priori and a posteriori estimation errors at time tk, are defined as T P est (t t )= E (x (t ) xˆ (t t )) (x (t ) xˆ (t t )) , (7.18) k| k−1 k − k| k−1 k − k| k−1  T  P est (t t )= E (x (t ) xˆ (t t )) (x (t ) xˆ (t t )) . (7.19) k| k k − k| k k − k| k   The a priori estimate P est (t t ) of P est (t t ) is calculated using the equation k| k−1 k| k

P est (t t )= k| k−1 Φ (xˆ (t t ) , u (t ) ,t ) P est (t t ) k−1| k−1 k−1 k−1 k−1| k−1 ΦT (xˆ (t t ) , u (t ) ,t )+ Q (t ) , (7.20) × k−1| k−1 k−1 k−1 k−1 where Φ (xˆ (tk−1 tk−1) , u (tk−1) ,tk−1) is the discrete equivalent of F (xˆ (t t ) , u|(t ) ,t ), calculated using e.g. zero-order-hold.. As k−1| k−1 k−1 k−1 with the state estimate, the a posteriori covariance matrix P est (t t ) is obtained by k| k correcting the a priori covariance matrix P est (tk tk−1). The corrector equation for the covariance matrix is |

P est (t t )= P est (t t ) K (t ) H (xˆ (t t ) ,t ) P est (t t ) , (7.21) k| k k| k−1 − k k| k−1 k k| k−1 where K (tk) is the Kalman gain in Equation (7.16). An alternate equation of the cor- rector, which is numerically more stable, is given in [Maybeck, 1982] as

P est (t t ) = (1 K (t ) H (xˆ (t t ) ,t )) P est (t t ) k| k − k k| k−1 k k| k−1 (1 K (t ) H (xˆ (t t ) ,t ))T × − k k| k−1 k T + K (tk) R (tk) K (tk) . (7.22) 7.2 Unscented Kalman Filter 49

It is important to note from Equation (7.14) that the Kalman gain is a weight factor, which weighs error in the measurement against the predicted state. From Equation(7.16) it is seen that if R (tk) approaches zero, the Kalman gain will increase. This results in a large update in Equation (7.14), which means that the new measurements are weighed higher than the predicted state. If P est (t t ) approaches zero, the Kalman gain will de- k| k crease, and the predicted state is weighed higher. When R (tk) and P est (tk tk) increase, they will have the opposite effects on the Kalman gain. These effects are| in agreement with the expected, when considering the interpretation of R (t ) and P est (t t ). k k| k

7.2 Unscented Kalman Filter

The UKF follows the same overall structure as the EKF. The UKF is fundamentally different in the way it estimates the noise distributions of the filter. As opposed to approximating the non-linear transformation of the noise distributions, the UKF ap- proximates the transformation by applying the non-linear transformation to a num- ber of selected points in the state space. These points are called sigma points, and are calculated from the covariances of the estimation error. Figure 7.1 illustrates the approximation of the non-linear process noise covariance transformation. The sigma points, circled points in the figure, are selected such that they describe the distribution of the estimation error. The transformed sigma points are then used to calculate the approximation of the transformed distribution. This is known as the UT published in [Julier and Uhlmann, 1994]. The UKF is published in [Julier and Uhlmann, 1997] and [Wan and van der Merwe, 2000]. In the following, the equations of the UKF are pre- sented.

The estimation error covariance P est (tk−1 tk−1) is approximated by 2n +1 sigma points, where n is the dimension of the state vector.| The sigma points are given by

χ (t t )= xˆ (t t ) , (7.23) 0 k−1| k−1 k−1| k−1 χi (tk−1 tk−1)= xˆ (tk−1 tk−1)+ (n + κ) P est (tk−1 tk−1) , (7.24) | | | i np o χn+i (tk−1 tk−1)= xˆ (tk−1 tk−1) (n + κ) P est (tk−1 tk−1) , (7.25) | | − | i np o where i = 1, 2, ..., n, and κ is a tuning parameter. If x (t) can be assumed Gaussian,

κ is selected such that n + κ = 3. The notation M i denotes the i’th column of M. It should be noted that for non-zero-mean process{ noise,} the system state vector is aug- mented with the process and measurement noise vectors, and the covariance augmented with the associated covariance matrices. Each sigma point has an associated weight. 50 Kalman Filters

Covariance

Mean x˙ (t) = f (x (t) , u (t) , t)

Figure 7.1: Illustration of the UT. The transformed distribution is based on the non- linear transformation of selected sigma points, marked as circled points in the figure.

The weights are given by κ w = , (7.26) 0 n + κ 1 w = , (7.27) i 2 (n + κ) 1 w = . (7.28) n+i 2 (n + κ)

The set of sigma points χ (tk−1 tk−1) is propagated one time step to χ (tk tk−1), using the non-linearsystem equation.| The transformedsigma points are used to calculate| the statistics of the propagated state. The estimated propagated state is the weighted mean of the sigma points

2n xˆ (t t )= w χ (t t ) , (7.29) k| k−1 j j k| k−1 j=0 X and the covariance of the estimate is given by

P est (t t )= Q (t ) k| k−1 k 2n T + w χ (t t ) xˆ (t t ) χ (t t ) xˆ (t t ) . (7.30) j j k| k−1 − k| k−1 j k| k−1 − k| k−1 j=0 X   7.2 Unscented Kalman Filter 51

An observation is estimated at each sigma point

ζ (t t )= h χ (t t ) ,t , (7.31) j k| k−1 j k| k−1 k where j = 0, 1, ..., 2n. The predicted measurement is the weighted mean of the obser- vation set 2n zˆ (t t )= w ζ (t t ) . (7.32) k| k−1 j j k| k−1 j=0 X The covariance of the predicted measurement is expressed, in terms of the covariance of the predicted sigma points and the measurement covariance, as

P meas (t t )= R (t ) k| k−1 k 2n T + w ζ (t t ) zˆ (t t ) ζ (t t ) zˆ (t t ) . (7.33) j j k| k−1 − k| k−1 j k| k−1 − k| k−1 j=0 X   Equations (7.30) and (7.33) hold if the process and measurement noise are additive and independent. Given the sets of sigma points and their observations, the cross correlation matrix is given by

P cross (t t )= k| k−1 2n T w χ (t t ) xˆ (t t ) ζ (t t ) zˆ (t t ) . (7.34) j j k| k−1 − k| k−1 j k| k−1 − k| k−1 j=0 X   The Kalman gain is expressed in terms of the above matrices as

−1 K (t )= P cross (t t ) P (t t ) . (7.35) k k| k−1 meas k| k−1 The update of the estimate is given by

xˆ (t t )= xˆ (t t )+ K (t ) (z (t ) zˆ (t t )) , (7.36) k| k k| k−1 k k − k| k−1 and the update of the estimate covariance is expressed as

T P est (t t )= P est (t t ) K (t ) P meas (t t ) K (t ) . (7.37) k| k k| k−1 − k k| k−1 k The EKF and UKF have now been presented. The main difference between the filters is the approximation of the estimation error covariance. Where the EKF uses a first-order linearized system description, the UKF uses sigma points transformed by the non-linear system description for calculating statistics. The equations presented are generic, and the following chapter presents the design of the estimators, specific for attitude determination of satellites. 52 Kalman Filters Chapter 8 Estimator Designs

This chapter describes the estimators designed for Ørsted, based on the Kalman filters described in Chapter 7 and the Earth Albedo model described in Chapter 2. The system and measurement models are derived. The system model is based on the general equa- tions of satellite motion. The measurement model is based on the Sun sensor current model and vector observations derived in chapters 3 and 4. In addition, some specific alternation to the theory is necessary, due to the use of quaternions in the state and the non-differentiable measurement equation.

8.1 System Model

This section presents the derivation of the equations used for modeling the kinematics and dynamics of satellite motion. A detailed description of the satellite motion can be found in [Wertz, 1978]. The modeling of a satellite’s rotation is split into the kinematic equation and the dynamic equation. The kinematic equation describes the change in the attitude parameters of the satellite, regardless of the forces acting on it. The dynamic equation describes the time dependent parameters as functions of external forces.

8.1.1 Kinematic Equation

Let the attitudes of a satellite at times t and t + ∆t be denoted qsat (t) and qsat (t + ∆t). If the rotation of the satellite in the time period ∆t is denoted ∆qsat (t), the propagation of the attitude from t to t + ∆t can be written

qsat (t + ∆t) = ∆qsat (t) qsat (t) . (8.1) 54 Estimator Designs

Writing ∆qsat (t) in terms of rotation angle ∆φ (t) around the vector eˆ (t) in time ∆t, yields

∆φ(t) eˆ1 (t) sin 2   ∆φ(t)  eˆ2 (t) sin 2 ∆qsat (t)= . (8.2)  sin  ∆φ(t)  eˆ3 (t) 2     ∆φ(t)   cos 2        Assuming that eˆ (t) and ∆φ (t) are constant over the time ∆t, and using the defini- tion of the quaternion product, Equation (8.1) is written

qsat (t + ∆t)= 0e ˆ (t) eˆ (t)e ˆ (t) 3 − 2 1 ∆φ (t) ∆φ (t) eˆ3 (t) 0e ˆ1 (t)e ˆ2 (t) cos 14×4 + sin −  2 2 eˆ2 (t) eˆ1 (t) 0e ˆ3 (t)     −   eˆ1 (t) eˆ2 (t) eˆ3 (t) 0   − − −    q (t) , (8.3) × sat where 14×4 is the 4 by 4 identity matrix. For infinite small time steps, ∆φ (t) can be approximated by

∆φ (t)= ωsat (t) ∆t, (8.4) || || where ωsat (t) is the instantaneous angular velocity of the satellite. Using small angle approximations of the sine and cosine functions, Equation (8.3) can be expressed as

∆t q (t + ∆t)= 1 + Ω (t) q (t) , (8.5) sat 4×4 2 sat   where 0e ˆ (t) eˆ (t)e ˆ (t) 3 − 2 1 eˆ3 (t) 0e ˆ1 (t)e ˆ2 (t) Ω (t)= ωsat (t) −  . (8.6) || || eˆ2 (t) eˆ1 (t) 0e ˆ3 (t) −  eˆ (t) eˆ (t) eˆ (t) 0  − 1 − 2 − 3    Realizing that eˆ (t)= ωˆ sat (t), Equation (8.6) can be written

0 ω3 (t) ω2 (t) ω1 (t) ω (t) 0 −ω (t) ω (t) Ω (t)= 3 1 2 . (8.7) −ω (t) ω (t) 0 ω (t) 2 − 1 3  ω1 (t) ω2 (t) ω3 (t) 0  − − −    8.1 System Model 55

The differential equation of qsat (t) is defined as

qsat (t + ∆t) qsat (t) q˙ sat (t) = lim − . (8.8) ∆t→0 ∆t Inserting Equation (8.5) yields the sought kinematic differential equation 1 q˙ (t)= Ω (t) q (t) . (8.9) sat 2 sat 8.1.2 Dynamic Equation The dynamic equation of motion is derivedfrom the change in angular momentum of the satellite. An expression for the change in angular velocity, as a function of the applied torques, is sought. The angular momentum l (t) is given by

k l (t)= li (t) i=1 X k = r (t) m v (t) , (8.10) i × i i i=1 X where ri (t) is the position of the i’th particle with mass mi and velocity vi (t). Taking the time derivative of Equation (8.10), yields

k l˙ (t)= (v (t) m v (t)+ r (t) m a (t)) , (8.11) i × i i i × i i i=1 X ai (t) being the acceleration of the i’th particle. The first term under the summation of Equation (8.11) is a cross-product of two parallel vectors, which is zero. Realizing that miai (t) is the force acting on the i’th particle, yields

l˙ (t)= next (t) , (8.12) where next is the sum of external torques acting on the satellite. Equation (8.12) only holds if the internal torques sum up to zero. An expression of the derivative of the angular momentum in terms of the satellite’s angular velocity is sought, in order to obtain the dynamic equation. In the Earth Centered Inertial (ECI) frame, denoted I, the angular momentum of the satellite can be expressed as a function of the angular velocity of the SCB frame relative to the ECI frame,ωsat (t), and the moment of inertia matrix J (t) of the satellite, by

I I I l (t)= J (t) ωsat (t) . (8.13) The moment of inertia is more conveniently expressed in the SCB frame, which has its axes aligned with the principal axes of the satellite, denoted B. The attitude matrix 56 Estimator Designs

B AI (t), represents the rotation from the inertial frame to the body frame, which is used to represent the angular momentum in the body frame, yielding

B B I l (t)= AI (t) l (t) . (8.14)

The derivative of lB (t) is given by

B d l˙ (t)= AB (t) lI (t) (8.15) dt I ˙ B I B ˙I = AI (t) l (t)+ AI (t) l (t) . (8.16)

˙ B In order to obtain an expression for AI (t), consider the kinematic equation for the derivative of a vector described in a rotating frame of reference, which for the angular momentum vector l (t) is

I B B l˙ (t) = l˙ (t)+ ωB (t) lB (t) (8.17) sat ×   m B I B l˙ (t) = l˙ (t) ωB (t) lB (t) . (8.18) − sat ×   B ˙I B ˙I Since l (t) = AI (t) l (t), combining Equations (8.15) and (8.17) gives   B A˙ (t) lI (t)= ωB (t) lB (t) I − sat × = ωB (t) AB (t) lI (t) . (8.19) − sat × I   Introducing the cross-product matrix, Equation (8.19) is written as

B A˙ (t) lI (t)= S ωB (t) AB (t) lI (t) . (8.20) I − sat I Since Equation (8.20) holds for all lI (t), the sought expression for the derivative of the attitude matrix is B A˙ (t)= S ωB (t) AB (t) . (8.21) I − sat I Inserting Equation (8.21) into Equation (8.15), gives

B I l˙ (t)= S ωB (t) AB (t) lI (t)+ AB (t) l˙ (t) . (8.22) − sat I I Recalling, from Equation (8.12), that the derivative of the angular momentum is the external torques and applying the attitude matrix rotations in Equation (8.22), yields

B l˙ (t)= S ωB (t) lB (t)+ nB (t) . (8.23) − sat ext  8.2 Linearization of System Model 57

Finally the angular momentum is expressed in terms of the moment of inertia and the angular velocity, as given in Equation (8.13). Solving with respect to ω˙ sat (t), gives the sought nonlinear differential equation, written in the form

−1 ω˙ sat (t)= J (next (t) ωsat (t) Jωsat (t)) , (8.24) − × where the superscript of frame is left out, since all vectors and matrices are given in the SCB frame. The external torque is the sum of disturbance torques nd (t) and the control torque nctrl (t) next (t)= nctrl (t)+ nd (t) . (8.25) The control torque is calculated by the Attitude Control System (ACS) of the satellite. The disturbance torque is the sum of torques generated by the gravity gradient, the mag- netic residual, the solar pressure, the aerodynamic drag, and the Earth albedo.

8.1.3 Non-Linear System Model Combining the kinematic equation in Equation (8.9) and the dynamic equation in Equa- tion (8.24), yields the non-linear differential equation

x˙ (t)= f (x (t) , u (t)) (8.26) 1 Ω 2 (t) qsat (t) = −1 , (8.27) J (nctrl (t)+ nd (t) ωsat (t) Jωsat (t))  − ×  where q (t) x (t)= sat , (8.28) ωsat (t)   and u (t)= nctrl (t) (8.29) defines the control torques as the input to the system. The model derived in Equation (8.26) is a non-linear differential equation, which can be numerically integrated, in order to predict the state of a satellite, from initial conditions. The non-linear system model is applied in the Kalman Filters, when estimating the propagated state. However, the prop- agation of the estimation error covariance, presented in Chapter 7, requires linearization of the system model at a given nominal set point. The linearization of the system model is given in the following.

8.2 Linearization of System Model

In this section the attitude dynamic and kinematic equations are linearized around a set point of the state. As a consequence of linearization, the system state is replaced with the small signals of the full state. The linear description of the system is utilized in the estimation algorithms, for propagating the noise distribution of the system state estimate. 58 Estimator Designs

The non-linear system matrix f (x (t) , u (t) ,t) is linearized, and a linear expres- sion, of the form x˙ (t)= F (t) x (t)+ G (t) u (t) , (8.30) is sought. The kinematic and dynamic equations are linearized separately in the follow- ing.

8.2.1 Linear Kinematic Equation For the linearization of the kinematic equation, the attitude quaternion of the satellite qsat is written, in terms of a set point q¯sat (t) and small signal q˜sat (t), as

qsat (t)= q˜sat (t) q¯sat (t) (8.31)

m ∗ q˜sat (t)= qsat (t) q¯sat (t) , (8.32)

∗ Ω where q¯sat (t) is the complex conjugate of q¯sat (t). Recalling the definition of (t) in Equation (8.6) and the definition of quaternion products, the kinematic equation can be written in terms of a quaternion product, as

1 q˙ (t)= q (t) q (t) , (8.33) sat 2 ω sat where the quaternion qω (t) is defined by

ω (t) q (t)= sat . (8.34) ω 0   Using the chain rule and Equation (8.33), the derivative of the small signal attitude quaternion of Equation (8.31) can be expressed as

˙ ∗ ∗ ˜qsat (t)= qsat (t) ¯q˙ sat (t)+ q˙ sat (t) q¯sat (t) (8.35) 1 = q (t) (q (t) q¯ (t))∗ + q (t) q (t) q¯∗ (t) (8.36) 2 sat ω¯ sat ω sat sat 1  = ( q (t) q¯∗ (t) q (t)+ q (t) q (t) q¯∗ (t)) (8.37) 2 − sat sat ω¯ ω sat sat 1 = ( q˜ (t) q (t)+ q (t) q˜ (t)) , (8.38) 2 − sat ω¯ ω sat where qω¯ (t) is defined as in Equation (8.34), and the set point of the angular velocity ω¯ sat (t), defined below, is inserted. Note that the complex conjugate of a quaternion represents the opposite rotation. Hence the reverse rotation defined by a sequence of rotations, is the reverse sequence of each rotation complex conjugated. The complex conjugate of q (t) is simply q (t), since the scalar part is zero. ω¯ − ω¯ 8.2 Linearization of System Model 59

The angular velocity is defined, in terms of a set point ω¯ sat (t) and small signal ω˜ sat (t), as

ωsat (t)= ω¯ sat (t)+ ω˜ sat (t) . (8.39)

Hence qω (t) can be written ω¯ (t)+ ω˜ (t) q (t)= sat sat (8.40) ω 0   = qω¯ (t)+ qω˜ (t) . (8.41) Inserting Equation (8.40) in Equation (8.38), and recognizing that the associative rule applies for quaternions, yields 1 ˜q˙ (t)= ( q˜ (t) q (t)+ q (t) q˜ (t)+ q (t) q˜ (t)) . (8.42) sat 2 − sat ω¯ ω¯ sat ω˜ sat A quaternion can be expressed, in terms of a scalar part and a complex vector part, as p q = , (8.43) q   as described in Chapter 5. If q˜sat (t) is a small rotation, q˜sat (t) is close to one and p˜sat (t) close to zero. Hence the quaternion product of the last term in Equation (8.42) can be approximated by

S (ω˜ sat (t)) ω˜ sat (t) p˜sat (t) qω˜ (t) q˜sat (t)= − T (8.44) ω˜ (t) 0 q˜sat (t)  − sat   S (ω˜ sat (t)) p˜ (t)+ ω˜ sat (t)˜qsat (t) = − sat (8.45) ω˜ T (t) p˜ (t)  − sat sat  q (t) , (8.46) ≈ ω˜ where S (ω˜ sat (t)) is the cross-product matrix function, applied on ω˜ sat (t). The terms q˜sat (t) qω¯ (t) and qω¯ (t) q˜sat (t), in Equation (8.42), can be expressed as 1 S (p˜sat (t))+q ˜sat (t) 3×3 p˜sat (t) ω¯ sat (t) q˜sat (t) qω¯ (t)= − T (8.47) p˜ (t)q ˜sat (t) 0  − sat   S (p˜sat (t)) ω¯ sat (t)+˜qsat (t) ω¯ sat (t) = − T (8.48) p˜ (t) ω¯ sat (t)  − sat  and

S (ω¯ sat (t)) ω¯ sat (t) p˜sat (t) qω¯ (t) q˜sat (t)= − T (8.49) ω¯ (t) 0 q˜sat (t)  − sat   S (ω¯ (t)) p˜ (t)+ ω¯ (t)˜q (t) = sat sat sat sat . (8.50) − ω¯ T (t) p˜ (t)  − sat sat  60 Estimator Designs

Inserting the approximation of Equation (8.46) and the results of Equations (8.50) and (8.48) in Equation (8.42), yields 0 ˙ S (ω¯ sat (t)) 3×1 1 ˜qsat (t)= − q˜sat (t)+ qω˜ (t) , (8.51) 01×3 0 2   which is the sought linearized kinematic equation in terms of the small signal of the state.

8.2.2 Linear Dynamic Equation The dynamic equation is linearized using first order Taylor expansion around the set point ω¯ sat (t). The control and disturbance torques are disregarded in the linearization, as they are already linear terms. The derivative of the small signal angular velocity describes the linearized dynamics of the system, and can be expressed as in terms of the Jacobian as

−1 d (ωsat (t) Jωsat (t)) ω˜˙ sat (t) J × ω˜ sat (t) . (8.52) ≈− dωsat (t) ωsat(t)=ω¯ sat(t)

Utilizing the chain rule, the above equation is expressed as d Jω˜˙ sat (t) S (ωsat) Jωsat ω˜ sat (t) (8.53) ≈− dωsat (t) ωsat(t)=ω¯ sat(t)

d = S (ωsat (t)) Jω¯ sat (t) ω˜ sat (t) − dωsat (t) ωsat(t)=ω¯ sat(t)

d S (ω¯ sat (t)) J ωsat (t) ω˜ sat (t) . (8.54) − dωsat (t) ωsat(t)=ω¯ sat(t)

The constant factors can be moved inside the differential expressions, and the cross- products are interchanged with opposite sign, which yields

d Jω˜˙ sat (t) S (ωsat (t)) Jω¯ sat (t) ω˜ sat (t) ≈− dωsat (t) ωsat(t)=ω¯ sat(t)

d S (ω¯ sat (t)) Jωsat (t) ω˜ sat (t) (8.55) − dωsat (t) ωsat(t)=ω¯ sat(t)

d = S (Jω¯ sat (t)) ωsat (t) ω˜ sat (t) dωsat (t) ωsat(t)=ω¯ sat(t)

d S (ω¯ sat (t)) Jωsat ( t) ω˜ sat (t) (8.56) − dωsat (t) ωsat(t)=ω¯ sat(t)

= (S (Jω¯ sat (t)) S (ω¯ sat (t)) J) ω˜ sat (t) . (8.57) − 8.3 Measurement Model 61

8.2.3 Linear System Model The linearized system model can now be written as a linear system in the form x˜˙ (t)= F x˜ (t)+ Gu˜ (t), given by

x˜˙ (t)= 1 S (ω¯ sat (t)) 0 1 − 3×1 2 3×3 01×3 0 01×3 x˜ (t)  −1  0 0 J (S (Jω¯sat (t)) S (ω¯ sat (t)) J) 3×3 3×1 −  0 0  + 4×3 u˜ (t)+ 4×1 , (8.58) J −1 J −1n (t)    d  where the last term is a noise term, given by the disturbance torques.

8.3 Measurement Model

The Ørsted satellite is configured with eight Sun sensors and a magnetometer. The EKF requires that the measurement equation can be linearized by Taylor expansion, which is not the case for the Sun sensor output equation, due to saturation. Consequently, the output of the Sun sensors cannot be utilized directly in the EKF filter. A solution is to utilize the Sun sensor vector algorithms, described in Chapter 4, and express the mea- surement of the body frame vectors as a function of reference vectors and the satellite state. The measurement vector can be expressed as

rˆB (t ) z (t )= Sun k , (8.59) k bB (t )  Earth k  which is a 6 1 vector, where bEarth denotes the Earth magnetic field vector. The mea- surement equation× is expressed in terms of the system state as

A (q (t )) rˆI (t ) z (t )= sat k Sun k . (8.60) k A (q (t )) bI (t )  sat k Earth k  The linearization of the measurement equation follows the method described in [Gebre-Egziabher et al., 2000]. A linear measurement equation is obtained by express- ing Equation (8.60) in terms of the state set point x¯ (tk) and small signal x˜ (t), as

A (q˜ (t )) A (q¯ (t )) rˆI (t ) z (t )= sat k sat k Sun k . (8.61) k A (q˜ (t )) A (q¯ (t )) bI (t )  sat k sat k Earth k  Equation (5.21) expresses the attitude matrix as a function of the quaternion elements. For the small signal attitude quaternion, a first order approximation yields

A (q˜ (t )) 1 2S (p˜ (t )) . (8.62) sat k ≈ 3×3 − sat k 62 Estimator Designs

Inserting into Equation (8.61), the vector observation of the Earth magnetic field can be expressed as bB = A (q¯ (t )) (1 2S (p˜ )) bI . (8.63) Earth sat k 3×3 − sat Earth The measurement bEarth (tk) can be expressed in terms of the set point and small signal

bEarth (tk)= b¯Earth (tk)+ b˜Earth (tk) , (8.64) where the set point is expressed in terms of the inertial reference vector

¯B ¯I bEarth (tk)= A (q¯sat (tk)) bEarth (tk) . (8.65) Inserting into Equation (8.63) yields

˜B ¯B bEarth (tk)=2S bEarth (tk) p˜sat (tk) . (8.66)   Applying the same method to the Sun LOS vector in Equation (8.61), yields the expression of the measurement small signal

¯B 2S ˆrSun (tk) z˜ (tk)= ¯B p˜sat. (8.67) "2S bEarth (tk) #   Equation (8.67) is a linear expression in the form of Equation (7.12). The noise term in Equation (7.12) represents errors in the International Geomagnetic Reference Field (IGRF) model and sensor errors. The linear output matrix of the reduced state EKF becomes ¯B 0 2S ˆrSun (tk) 3×3 H (tk)= ¯B 0 . (8.68) "2S bEarth (tk) 3×3# When applying the Earth albedo model to the EKF, the Sun LOS vector is replaced with the SSE vector, and the SSE algorithm is applied to the Sun sensor currents. Uti- lizing the Sun LOS vector, the Standard and Max Currents algorithms are applied. The UKF approximates the noise matrices by non-linear mapping of a number of sigma points, hence the Jacobian of the measurement equation is not required. The Earth albedo model is utilized in the non-linear output equation, and the Earth magnetic field observation is described by Equation (8.60).

8.4 Quaternion Algebra Modifications

The use of quaternions as attitude parameter in the Kalman filter leads to two problems, which need to be considered. Both are related to the unity constraint of the quaternion. The unity constraint of the quaternion in the state vector leads to a singular state er- ror covariance, [Lefferts et al., 1982b]. In addition, the quaternion unity norm must be ensured since the filter updates the estimate regardless with no attention to constraints. 8.4 Quaternion Algebra Modifications 63

8.4.1 Covariance Singularity As a solution to the problem of singularities in the state estimation error covariance matrix, the state vector of the filter is reduced by one dimension in the corrector, by leaving out the scalar element of the attitude quaternion

pˆ (tk tk) xˆred (tk tk)= | , (8.69) | ωˆ sat (tk tk)  |  where pˆ (t) is the complex 3 1 vector part of the quaternion qˆ (t). The reduced sat × sat state vector is a 6 1 vector. As a consequence, the covariance matrix P est (tk) reduces to a 6 6 matrix.× The reduced dimension of the state error covariance requires that × all equations involving P est (tk) are adapted accordingly. The Kalman gain K (t) thus reduces to a 6 6 matrix. The update x˜ˆ red (tk tk) to the a priori state estimate is given by × | x˜ˆ red (t t )= K (t ) (z (t ) zˆ (t t )) . (8.70) k| k k k − k| k−1 Note that the reduction of the state vector and consequently the covariance and Kalman gain matrices, results in a reduced state correction vector. The a priori update vector x˜ˆ red (tk tk) is expanded to the full 7 states, before updating the a priori estimate, such that small| rotation approximations apply to the quaternion reduced state. The quaternion part of the state vector is expanded from three states to four states by setting the value of the fourth element, such that a unit quaternion is formed. This is done under the assumption that the correction term x˜ˆ red (tk tk) is small. The expansion of the correction vector is written as | ˜pˆ (t t ) sat k| k ˆ 2 x˜ (tk tk)=  1 ˜pˆ (t t )  . (8.71) | sat k k r − |  ω˜ˆ (t t )   sat k k   |  The a posteriori estimate xˆ (t t ) is given by k| k xˆ (t t )= xˆ (t t )+ x˜ˆ (t t ) , (8.72) k| k k| k−1 k| k which is a full state vector, and used in the non-linear system equations, when propagat- ing to the a priori value at time tk+1. A block diagram of the Kalman filter is given in Figure 8.1, showing the propagator and the corrector using the reduced state.

8.4.2 Preserving Quaternion Unity Norm Equation (8.72) reveals the second problem of using the quaternion as attitude parameter in the Kalman filters. Dueto the use ofquaternionsin the state, quaternion multiplication is used for the first four elements of the state. The attitude estimate qˆsat (tk tk) is given by the a priori attitude estimate qˆ (t t ) and a correction ˜ˆq (t t ), expressed| as sat k| k−1 sat k| k qˆ (t t )= ˜ˆq (t t ) qˆ (t t ) , (8.73) sat k| k sat k| k sat k| k−1 64 Estimator Designs

Temporal Update Measurement Update

xˆ (tk|tk) x˜ˆ (tk|tk) + Expand State + x˜ˆ red (tk|tk)

Propagator K (tk)

z˜ (tk)

h (x (tk )) + xˆ (tk|tk−1) zˆ (tk|tk−1) -

z (tk)

Figure 8.1: Structure of the Kalman filter algorithm state update with state reduction and expansion. given by quaternion multiplication. Hence the a posteriori estimate is given by

ˆ ˜qsat (tk tk) qˆsat (tk tk−1) xˆ (tk tk)= | | . (8.74) | ωˆ sat (t t )+ ω˜ˆ sat (t t )  k| k−1 k| k  8.5 Covariance Equations

The covariance of the EKF is calculated using the linearized system matrix, given by

F red (xˆ (t t ) , u (t )) = k| k k 1 1 S (ωˆ sat (tk tk)) 2 3×3 − | −1 (8.75) 0 J (S (Jωˆ sat (t t ) S (ωˆ sat (t t )) J))  3×3 k| k − k| k  and 0 G = 3×3 , (8.76) J −1   which is the linearized system model for the reduced state. The system is linearized around the current estimate, and is used in the discrete zero-order hold equivalent, de- noted Φred (xˆ (t t ) , u (t ) ,t ). This matrix is used in the covariance propagation k| k k k equation in Equation (7.20), and the correction of P est (tk tk) is done using Equation (7.22). No changes apply, due to the use of quaternions, exce| pt for the reduction from seven to six states, causing P est (t t ) to bea 6 6 matrix. k| k × Part III

Simulation and Validation

Chapters

9 Validation of the Earth Albedo Model 65

10 Earth Albedo Model Results 83

11 Simulated Attitude Determination Results 95

12 ApplicationoftheEarthAlbedoModelonØrsted 115

Chapter 9 Validation of the Earth Albedo Model

In this chapter the Earth albedo model is compared with telemetry data from the Danish Ørsted satellite. The ACS of the Ørsted satellite has been designed and implemented by the Department of Control Engineering, Aalborg University, which means all the Ørsted telemetry is readily available. The simulations are done in SIMULINK, which is a graphical user interface to MATLAB. The Earth albedo model is implemented in MATLAB with a SIMULINK interface. The implementation is released as an Albedo Toolbox and may be freely downloaded at the author’s webesite [Bhanderi, 2005a]. The Ørsted satellite is equipped with Sun sensors, and since the orbit and attitude of the satellite is known, the Earth albedo model can be applied in order to estimate the currents from the Sun sensors. These estimates are then compared to the sampled currents in the telemetry data, in order to validate the Earth albedo modeling algorithm. The errors observed in the validation are a product of a number of factors. Clearly errors are introduced due to sensor noise and model discrepancies. However, some bi- ases are due to calibration errors, both geometrical and temporal. A known problem with the Ørsted boom deployment causes an unknown orientation of the gondola, con- taining the star tracker and magnetometer, relative to the spacecraft body. Temporal data calibration is also possible observing the magnitude of the magnetic field. The time shift between the observed and modeled magnetic field amplitudes is mainly caused by orbit propagation errors in the Special General Perturbation Model of Fourth Order (SGP4) model. In addition, the solar cells in the Sun sensors are expected to have a degraded efficiency compared to the Beginning-of-Life (BOL) efficiencies. Due to these expected discrepancies of the data and reference models, a number of calibration procedures have been conducted, in order to ensure data integrity. The fol- 68 Validation of the Earth Albedo Model lowing sections describe the Ørsted satellite sensor configuration and telemetry layout, and describes the calibration procedures. Finally the Earth albedo model is validated based on these data.

9.1 The Ørsted Satellite

The Danish Ørsted satellite was launched on February 23, 1999 into a LEO orbit. The main scientific mission is a precise global mapping of the Earth’s magnetic field. The Ørsted satellite is equipped with two , the Compact Spherical Coil (CSC) flux-gate and Overhauser magnetometers, for measuring the magnetic field magnitude and direction. The Ørsted satellite is characterized by its eight meter boom, at the end of which the CSC flux-gate magnetometer is placed, in order to minimize electro-magnetic disturbancesfrom the on-boardelectronics. Also on the boom,at a distance ofsix meters from the main body of the satellite, a star imager is mounted. This allows for attitude measurements with an accuracy of 5 20arcsec, [Liebe, 1995], [Jørgensen, 1995]. An illustration of the Ørsted satellite is shown− in Figure 9.1.

Figure 9.1: Illustration of the Ørsted satellite.

The Ørsted satellite is a micro satellite of 60.7kg with dimensions 45 34 68 cm3. × × 9.2 Telemetry Data Packages 69

The satellite is in a LEO with an inclination of 96.1 deg and an altitude of 850km at apogee and 650km at perigee. The orbit period is 100 minutes. The inertia matrix of the Ørsted satellite in the SCB frame, after boom deployment, is

219 0 0 J SCB = 0 219 0 kgm2. (9.1)  0 0 1.529   The satellite is three axes stabilized: passively gravity gradient stabilized and ac- tively using magnetorquers. The reference attitude is such that the boom points in the direction of zenith, and the rotation around the boom axis is optimized with respect to the star imager. The optimal orientation of the star imager is such that the Sun, Earth, and Moon are not within its Field of View (FOV).

9.2 Telemetry Data Packages

The Ørsted satellite telemetry data is down-linked when the satellite is above the ground station in Copenhagen, Denmark. The down-linked telemetry is assembled in packages which are numbered consecutively, and each package may contain data from one or more orbits. The telemetry consists of three major components: Housekeeping data • Science data • Diagnostics data • Sun sensor measurements are available in housekeeping data packets, in addition to Sun sensor temperatures, three axes magnetometer measurements, magnetorquers currents, etc. The housekeeping data is available at 1/60Hz. The science packet contains the star imager data, which is considered science, since it is used together with the science magnetometer readings in order to estimate the Earth magnetic field. The science in- struments are sampled at up to 100Hz. Finally the diagnostics data is data explicitly requested, which can be changed through up-link, in case a subsystem needs to be mon- itored closely. The data packet utilized in the validation is from May 21, 2001, which is telemetry data packet 5200. The total time of which data from the Star Imager and ACS house keeping data are available is 3:52:03.707 PM to 10:10:16.469 PM. The telemetry data is used in conjunction with reference models implemented in SIMULINK. The magnetic field is modeled through an IGRF model, and the ephemeris models are based on a SGP4 orbital propagator. The time-stamp of the on-board data and the reference vectors is calibrated in order to improve the accuracy of the vector observations. This is described in the following section. 70 Validation of the Earth Albedo Model

9.2.1 Sun Sensors The Ørsted satellite is equipped with eight Sun sensors, two three axis and two single axis. Figure 9.2 shows the placement of the sensors in the SCB frame. It is seen from the figure that since the boom is pointing away from the Earth at all times, the Earth albedo currents are expected to be apparent on Sun sensors SS3 and SS6. These two Sun sensors ideally point in the direction of the Nadir vector at all times.

zSCB nˆ SS2

nˆ SS1

xSCB

nˆ SS7 nˆ SS4

nˆ SS5 xSCB nˆ SS8 ySCB ySCB nˆ SS3 nˆ SS6

nˆ SS4 nˆ SS5

nˆ SS3

(a) Top View (b) Bottom View

Figure 9.2: Placement of the Ørsted Sun sensors in the spacecraft reference frame. The boom extends in the positive zSCB direction.

The solar cells in the Sun sensors operate in short-circuit mode, such that voltage drops, affecting the generated current, are avoided.

9.2.2 Sun Sensor Calibration The Sun sensor circuits are designed such that they ideally generate 1.5mA of current when illuminated by 1353W/m2 perpendicular to the solar cell plane. Pre-flight calibra- tion is performed in order to measure the actual generated current at 1353W/m2. Table 9.1 lists the results of the pre-flight calibration. The Sun sensor model is configured such that the generated current is matched when the Sun sensors are illuminated with an irradiance of 1353W/m2. This requires that 9.2 Telemetry Data Packages 71

Sun Sensor Current @ 1353W/m2 Calibrated Efficiency SS1 1.15mA 18.4% SS2 1.53mA 20.7% SS3 1.54mA 20.7% SS4 1.56mA 19.6% SS5 1.54mA 19.1% SS6 1.39mA 24.2% SS7 1.53mA 23.0% SS8 1.58mA 16.8%

Table 9.1: Current generated by the Sun sensor, when illuminted by 1353W/m2 and re- sulting calibrated effeciencies. the simulated current is scaled linearly with the fraction of incoming irradiance to the calibration irradiance. The efficiencies of the solar cells in the Sun sensors are calibrated from the telemetry data. A BOL efficiency of around 23% is expected since the solar cells in the Sun sen- sors are single-junction GaAs cells, [Blanke et al., 1994]. The efficiency of solar cells degrades over time, which requires that the efficiencies are calibrated post-launch. The simulated currents using an efficiency of 23% is shown in Figure 9.3 in addition to the measured currents from telemetry data package 5200. Telemetry data package contains data recorded May 21, 2001, which is approximately 27 months after launch. The simu- lated currents are higher than the measured currents, which is due to the degradation of the solar cells in the Sun sensors. From the data in Figure 9.3 the efficiencies of each Sun sensor is calibrated, which results in the calibrated efficiencies listed in Table 9.1. The results of the calibrated current simulation is shown in Figure 9.4. The simulated currents are calculated from the solar irradiance only, which is why additional currents are seen on a number of the Sun sensors. These currents are generated by the Earth albedo. Clearly there are still discrepancies in the Sun sensor simulations, especially in Sun sensors SS1 and SS7. These types of discrepancies are typically caused by shadow effect. It is expected that the boom will cast a shadow on a number of the Sun sen- sors, causing a decrease in current output. Temperature compensation has also been investigated and has been included in the modeling of Sun sensors. The influence of the temperature variation on the solar cell efficiencies in the Sun sensors has negligible impact on the output accuracy, hence it is not presented.

9.2.3 Star Imager The data from the star imager is used as reference for the satellite attitude. The star imager computes its inertial attitude based on the star pattern in the FOV, which is com- pared to an on-boardstar catalogue. The output of the star imager is a quaternion, which 72 Validation of the Earth Albedo Model

Figure 9.3: Currents on all eight solar cells on Ørsted. The estimated values do not include the Earth albedo model. The Sun currents are used to calibrate the degraded efficiencies of the solar cells in the Sun sensors. The current measurements are from telemetry data package 5200. 9.2 Telemetry Data Packages 73

Figure 9.4: Measured and estimated currents on all six solar cells, after calibration of the solar cell efficiencies. The current measurements are from telemetry data package 5200. 74 Validation of the Earth Albedo Model represents the attitude of the star imager frame with respect to the ECI frame. Figure 9.5 shows the mounting of the star imager in the gondola housing.

xSIM

zSCN zSIM

αx ySIM

Gondola

xSCN ySCN

Figure 9.5: Placement of the Ørsted star imager and star imager housing, known as the gondola.

Data Fallouts The star imager uses a number of stars in its FOV to determine an attitude. An initial attitude is obtained by comparing the stars in the FOV with a star catalogue. Once the initial attitude is found, the stars in the FOV are tracked. This tracking imposes some requirements to the angular velocity of the satellite. When the angular velocity exceeds a certain limit, the star imager is unable to track the satellite attitude and must re-acquire the initial attitude. These fallouts are identified in Figure 9.6, which show the time- stamp of the star imager data as a function of the sample number. Jumps in the graph reveals missing data, and four major fallouts are identified. The fallouts occur at times 660s, 6660s, 12660s, and 18660s. The period is of the fallouts are identical to the orbit period. Following a fallout, approximately 1000s is needed until star tracking is stable. The periods of fallouts are disregarded when applying the star imager data as attitude reference.

Instrument Alignment It is necessary to calculate the attitude of the SCB frame with respect to the inertial frame, since the attitude of the Sun sensors are know with respect to this frame and the ephemeris data is given in the ECI frame. In order to calibrate the star imager misalignment, the designed orientation of the Star Imager (SIM) frame is described relative to a nominal SCB frame, denoted the Spacecraft Body Nominal (SCN) frame. SCN The attitude quaternion of the SCN frame, qECI (t) is calculated from the star imager SIM output, which is the rotation of the SIM frame wrt. the ECI frame, qECI (t), and the 9.3 Boom Deployment Calibration 75

Figure 9.6: Time-stamps of the star imager data in telemetry data package 5200. The data is available at 1Hz with fallouts for a duration of up to 1100s.

SCN attitude of the SIM frame wrt. the SCN frame, qSIM , with the following relation

SCN SCN SIM qECI (t)= qSIM qECI (t) . (9.2)

SCN The attitude quaternion qSIM is known prior to launch, dependent only on the mounting of the star imager and the mounting of the star imager housing, known as the gondola. However, the boom is non-rigid, because it has to be folded into the main body of the satellite during launch. Problems with boom deployment causes an unknown rotation of the boom. As a consequence, the attitude of the star imager with respect to the true SCB frame must be estimated. This is done by estimating the discrepancy between the SCB frame and the SCN frame. The SCB frame is aligned with the SCN frame when the boom is fully deployed. Hence, Equation (9.2) becomes

SCB SCB SCN SIM qECI (t)= qSCN (t) qSIM qECI (t) , (9.3)

SCB where qSCN (t) is the attitude of the nominal SCB frame wrt. true SCB frame. The attitude of the star imager wrt. the SCN frame is constant, and calibrated prior to launch. The attitude of the SCN frame wrt. the SCB frame is calculated using MATLAB. This is discussed below.

9.3 Boom Deployment Calibration

The 8m boom on the Ørsted satellite is constructed in such a way that it folds into spacecraft’s main body during launch. After the satellite is released from the launcher, the boom is deployed. The boom rotates as it folds out from the spacecraft body, and it has been detected that the boom did not fully deploy. Hence there is also rotation 76 Validation of the Earth Albedo Model error between the boom fixed frames and the SCB frame. This error has been estimated and is uploaded to the on-board software. The boom rotation error does not influence the science measurements, since the star tracker and the magnetometer are aligned in the optical bench. Consequently the boom error is uploaded very seldom, i.e. approximately three times during currently six years’ life time. It is assumed that the boom rotation error is constant in the time frame between updates, which is not the case. The boom rotation error is estimated on ground for the current data package, and the error between the on-board compensation and the off-line estimation is added to the telemetry data. The boom error rotation is found by estimating the Sun vector in all parts of the orbit where the satellite is not in eclipse. Using the star tracker and the nominal rotation from the SIM frame to the SCB frame, the direction to the Sun in body frame is found using the ephemeris model. These vector pairs are used in Wahba’s problem in Equation (6.1), and the optimal solution that minimizes the cost function is the estimate of the boom rotation error. The Earth albedo model derived in Chapter 2 is used in order to improve the Sun vector estimation. Figure 9.7 shows the measured and reference Sun vectors. Large discrepancies occur during periods of eclipse. The data in eclipse is left out when estimating the rotation error between the two Sun vectors. By applying Wahba’s loss function to the data in Figure 9.7, the quaternion

0.0309 0.0642 qSCB (t)= (9.4) SCN −0.0203 −  0.9973      is found to minimize the error between the measured and reference Sun vectors. The SCB quaternion qSCN (t) is a representation of the rotation of the boom, and rotates from the SCN frame to the SCB frame. The calibration suggests a boom rotation error of 8.5 deg, mainly around the z axis. However, there is also a rotation around the other axes due to the non-rigidness of the boom, i.e. the boom has a minor bend. Figure 9.8 shows the Sun vector estimation and reference after calibration of the boom rotation error.

9.4 Temporal Calibration

The temporal calibration of the telemetry data is done by comparing the on-board mag- netic field amplitude with the IGRF model. The on-board magnetic field measurements is available in the house keeping data package. The amplitude of the magnetic field is independent of the boom deployment induced error. Figure 9.9 shows the magnetic field amplitude from the on-board measurements and the IGRF reference model. By inspection it is found that the reference model is ahead in time by 66 seconds. Figure 9.10 shows the resulting magnetic field strength comparison, when applying a temporal calibration of 66 seconds. 9.4 Temporal Calibration 77

Figure 9.7: Sun LOS vector comparison for boom rotation error estimation. The rotation error between the estimated Sun vector and the reference Sun vector, from the ephemeris model, is used to estimate the rotation error of the boom. Disregarding periods in eclipse, the data suggests a boom rotation error of 8.5 deg, mainly around the boom axis. 78 Validation of the Earth Albedo Model

Figure 9.8: Sun LOS vector comparison when applying boom rotation error calibration. 9.4 Temporal Calibration 79

Figure 9.9: Magnetic field amplitude comparisons for temporal calibration. The IGRF reference model is shifted approximately 66 seconds forward in time.

Figure 9.10: Magnetic field amplitude comparisons for temporal calibration. The IGRF reference model has been calibrated by 66 seconds. 80 Validation of the Earth Albedo Model

9.5 Earth Albedo Model Validation

The Earth albedo model is implementedin MATLAB with a SIMULINK interface, and the calculatedEarth albedo irradianceis fed to the Sun sensor models. The resulting currents are compared to the measured currents. The data flow of the validation is illustrated in Figure 9.11, where ǫ is the error of the simulated Sun sensor currents.

Ephemeris Reflectivity Model Data rSun

Julian Date Albedo Sun Sensor - t Model Ea Model zˆ + ǫ SCB rsat qECI z Two-Line Star Imager Sun Sensor Elements Telemetry Telemetry

Figure 9.11: Structure of the data flow in the validation calculations. The white boxes are models used to estimate the Sun sensor currents. The greyed boxes are satellite data. The reflectivity data is telemetry data from the TOMS Earth Probe satellite, and the star imager and the Sun sensor data are Ørsted telemetry.

The simulated currents in Figure 9.4, used for calibration of the Sun sensors, devi- ate from the measured on-board currents. These deviations are primarily caused by the Earth albedo, since the figures only show the currents induced by the solar energy flux. Figure 9.12 shows the calibrated currents including the Earth albedo induced currents, calculated using the Earth albedo model. It can be seen from the plots that the Earth albedo model and sensor simulation is able to estimate the additional Earth albedo in- duced currents. It is seen that even though the Sun sensors SS4, SS5, SS7, and SS8 are perpendicular to the Nadir vector, the simulation is able to estimate Earth albedo currents on these panels also. Since Sun sensors SS3 and SS6 are the Nadir pointing Sun sensors, the albedo cur- rents are most apparent on these sensors. The measured and estimated currents on solar cell SS3 is shown in Figure 9.13. It is clearly seen that the Earth albedo model can be used to calculate the irradiance on the solar cells from the Earth albedo. Although the albedo model is added to the simulation, and the results show good es- timation of the Earth albedo currents, Figure 9.13 reveals that residual discrepancies still exist between the measured and estimated currents. This is due to a number of factors. Some physical elements are disregarded in the model, such as variation in the atmo- spheric pressure over the reflecting surface. The variation in pressure affects how much of the irradiance is absorbed, and how the light is diffused. The surface is assumed Lam- bertian, however, specular effects occur over some surfaces like ice and water, which distributes the reflected irradiance more in certain directions and not uniformly, as it is 9.5 Earth Albedo Model Validation 81

Figure 9.12: Plot of the telemetry data of all Sun sensors in data package number 5200 together with the simulated current using the albedo model and daily re- flectivity data. 82 Validation of the Earth Albedo Model

Figure 9.13: Plot of the telemetry data of Sun sensor SS3 in data package number 5200 together with the simulated current using the albedo model and daily re- flectivity data. the case with Lambertian equivalent reflective surfaces. The daily TOMS reflectivity data is incomplete (see Figure 2.2), which means that annually averaged values are sub- stituted into the source data, where daily data is unavailable. This will give errors over areas where the cloud coverage deviates from the norm. In addition, the reflectivity data is recorded at a specific time of the day, which is likely to differ from the time the Ørsted satellite appeared over the same area. Since the cloud coverage is not constant over a day, this will also lead incorrect Earth albedo calculations. Finally, the Moon albedo also contributes to the total irradiance on the Sun sensors. The significance of using the Earth albedo modelin the Sun sensor output equation is shown in Figure 9.14 and Table 9.2. Figure 9.14 shows the errors between the estimated currents and the Ørsted telemetry, with and without albedo compensation. There is no improvent in Sun sensors SS1 and SS2 since they are constantly facing away from the Earth, hence no albedo reaches these sensors. The improvementis apparent on the Earth facing Sun sensors, SS3 and SS6, where the Root-Mean-Square (RMS) error is reduced from approximately 0.18mA to 0.06mA. The Earth albedo is often assumed to reach the satellite only from the direction to the Earth. This would result in no estimated albedo currents on Sun sensors SS4, SS5, SS7, and SS8. The Earth albedo model enables the estimation of the currents generated on these Sun sensors, as a result of the Earth albedo contributions from all grid points. The RMS errors are reduced significantly, e.g. from 0.041mA to 0.020mA on Sun sensor SS5. The RMS error is reduced from 0.11mA to 0.074mA average., which is an improvement of 33%. 9.5 Earth Albedo Model Validation 83

Figure 9.14: Error of the estimated currents on the Sun sensors, with and without Earth albedo compensation. 84 Validation of the Earth Albedo Model

RMS Error [mA] RMS Error [mA] Sun Sensor wo. Albedo Comp. w. Albedo Comp. SS1 0.193 0.193 SS2 0.062 0.062 SS3 0.175 0.060 SS4 0.063 0.058 SS5 0.041 0.020 SS6 0.184 0.053 SS7 0.121 0.105 SS8 0.043 0.039

Table 9.2: RMS errors of the Sun sensor current estimation, with and without using the Earth albedo model.

It is concluded from the results above, that the Earth albedo model is able to predict the Earth albedo with an accuracy that has not been preceded in the literature. In the following section the Earth albedo model is applied to investigate the properties of the Earth albedo. Chapter 10 Earth Albedo Model Results

In this chapter the results of the Earth albedo model are presented. First an example of the model output is presented, and a total coverage calculation is done. Secondly, model outputs for multiple calculations are presented to show dependency on longitude and altitude. The Earth albedo of an Ørsted orbit is presented. Finally the possibility to reduce the resolution of the Earth albedo model is presented. This allows for decreasing the computation time of the algorithm. The results in this chapter are based on the annual mean of TOMS reflectivity data from 2001, except for the Ørsted simulation which uses daily reflectivity data. The annual mean reflectivity data of 2001 is shown in Figure 2.3. All vectors in this chapter are given in the Earth Centered Earth Fixed (ECEF) frame.

10.1 Earth Albedo

Figure 10.1 shows the conditions for the Earth albedo calculations. The plot (a) shows the satellite’s FOV. The coordinates of the satellite are

π/2rad − rsat = π/3rad , (10.1)  7171km    which is equivalent to 90 deg West and 30 deg North at an altitude of 800km. The Sun’s coordinates are 0rad rSun = 1.17rad , (10.2)  1A.U.    86 Earth Albedo Model Results

(a) Satellite FOV

(b) Solar FOV

(c) Sunlit satellite FOV

Figure 10.1: Parameters to the albedo calculation. a) shows the satellite FOV, V sat, b) shows the Sun’s FOV, V Sun, and c) shows the intersection of the two, V sat V Sun. It is seen that the satellite is over North America at dawn. ∩ 10.1 Earth Albedo 87 which is at the Greenwich Meridian and 23 deg North, shown in plot (b). Plot (c) in Figure 10.1 shows the intersection of (a) and (b), which is the sunlit part of the satellite FOV. This means that the satellite is at an altitude of 800km over the state of Louisiana at dawn in mid-summer. The albedo algorithm returns an array of same resolution as the Earth Probe reflectivity data. Each element in the array represents the albedo contribu- tion from a single cell. The result is shown in Figure 10.2.

Figure 10.2: Result of the Earth albedo calculation given the conditions in Figure 10.1.

The total albedo at the satellite is calculated by summing up all elements in the array. This indicates an albedo of 73.5W/m2. This is equivalent to 5.4% of the incident solar irradiance. For comparison, the same albedo has been calculated for an altitude of 500km, which yields a total albedo of 82.5W/m2 or 6.0%. The albedo is expected to be low, since the FOV of the satellite is partially on the night side of Earth, and over an area of generally low reflectivity. Given specific time, the position of the Sun is constant, and the total albedo at every satellite position at a single altitude may be calculated. The position of the Sun is

0rad rSun = 1.17rad , (10.3)  1A.U.    which gives the Earth visibility shown in Figure 10.3. The result of the Earth albedo model, given a satellite altitude of 800km, is shown in Figure 10.4. The data suggests that the albedo near the North Pole is 21% and decreases moving away from the pole, and of course moving towards the shadow side of the Earth. 88 Earth Albedo Model Results

Figure 10.3: Solar FOV of total albedo calculation at all satellite positions.

Figure 10.4: Total albedo at all satellite positions at an altitude of 800km, given a solar FOV shown in Figure 10.3. 10.2 Longitude Dependency 89

It is often assumed that the maximum albedo is observed over the poles, due to the constant ice coverage. This has been investigated using the Earth albedo model. Due of the high angle to the Sun, the albedo is 33.8% directly over the South Pole and 36.7% over the North Pole, during local summer. From Figure 10.4, the maximum albedo of approximately 49% is observedover Greenland duringlocal summer at noon. This is due to Greenland’s large ice coverage, which has a low angle to the Sun during summertime, compared to the polar regions. The Earth albedo at local winter over Greenland at noon is 36.7%.

10.2 Longitude Dependency

It is known that the reflectivity data is strongly dependent on the latitude. It is sometimes assumed that the longitude dependency can be disregarded. This is investigated below. The albedos of two sub-solar satellite positions have been calculated. The positions are equal in latitude and separated by 90 deg longitude. The input parameters of the first albedo calculation are π/2rad π/2rad − − rsat = 1.17rad , rSun = 1.17rad , (10.4)  6871km   1A.U.      which are equivalent to 90 deg West and 23 deg North. The satellite is at an altitude of 500km, with the Sun directly above. In this case the Earth albedo is calculated to be 356W/m2 or 26.1%. The input parameters of the second albedo calculation are

0rad 0rad rsat = 1.17rad , rSun = 1.17rad , (10.5) 6871km  1A.U.      which are the same as above except at the Greenwich Meridian, i.e. 90 deg East of the satellite and Sun positions of the first calculation. In this case the Earth albedo is 187W/m2 or 13.7%, which is almost half the albedo at 90 deg West. This shows a significant dependency on longitude of the Earth albedo.

10.3 Altitude Dependency

The Earth albedo is expected to decrease with the satellite altitude. In order to show this, the albedo is calculated with constant Sun and satellite directions, and varying the altitude of the satellite between 200km and 2000km. The Sun position is constant at

0rad rSun = 1.17rad , (10.6)  1A.U.    90 Earth Albedo Model Results and the satellite position is sub-solar. The result of 50 albedo calculations at altitudes between 200km and 2000km is shown in Figure 10.5. The calculations indicate that the albedo decreases from 15.3% at 200km to 10.5% at 2000km.

Figure 10.5: Total Earth albedo at constant sub-solar satellite position at altitudes from 200km to 2000km at Greenwich Meridian and 23 deg North.

10.4 Ørsted Orbit

The Earth albedo model has been applied to the Ørsted satellite simulation. The Ørsted satellite is in a LEO orbit with an altitude of approximately 850km at apogee and 650km at perigee. The inclination of the orbit is 96.1 deg. Figure 10.7 shows the Ørsted orbit, where the position of the satellite is shown at each telemetry sample point. The Earth albedo model uses daily reflectivity data based on the time of the simu- lation, which is May 21, 2001. Since daily reflectivity data is incomplete, see Chapter 2, the mean reflectivity data of 2001 is used when daily data is unavailable. Figure 10.6 shows the input reflectivity data to the Earth albedo model, where the mean data is used to complete the data set. The total Earth albedo at the satellite, calculated from the Earth albedo model, is shown in Figure 10.8. The albedo is at maximum when the Sun is at Zenith. The maximum albedo is 649W/m2 or 47.5%. The mean albedo is 10.1% during an entire orbit, or 15.3% when periods of eclipse are omitted. 10.4 Ørsted Orbit 91

Figure 10.6: Reflectivity data used for the Ørsted albedo simulation.

Figure 10.7: Ørsted orbit telemetry sample points. The rotation of the Earth is indicated by a moving shadow on the reflectivity data. 92 Earth Albedo Model Results

Figure 10.8: Simulated Earth albedo at the Ørsted satellite in orbit.

10.5 Resolution of the Earth Albedo Model

Due to the computational load of the Earth albedo model, an option to reduce the reso- lution of the input data is implemented. As a consequence, the output data resolution is reduced, as it is equal to the resolution of the input data. The reduction of the resolution is made by setting a reduction factor. The resolutions along latitude and longitude are divided by this factor. A reduction factor of one, results in no reduction, and the resolu- tion of the TOMS reflectivity data is the default resolution, i.e. 180 288 data points in latitude and longitude, respectively. This is an angular resoution of ×1 deg 1.25 deg. A reduction factor of two will result in a resolution of 90 144 and an angular× resolution of 2 deg 2.5 deg. Any real number larger than one may× be used as the reduction factor. × The TOMS reflectivity input data to the Earth albedo model is reduced in resolution by applying a low pass Finite Impulse Response (FIR) filter and linear interpolation. Table 10.1 shows the result of a number of reduction factors, when calculating 379 orbit points on a 2.8 GHz Pentium 4 processor. Figure 10.9 shows that the simulation time drops dramatically when setting the re- duction factor to an integer greater than one. A reduction factor of two makes the simu- lation four times faster. This is expected, since a reduction factor of two results in four times fewer grid points. Figure 10.10 shows the RMS error of the simulated Sun sensor SS3 current. The figure shows that the error increases noticeably when using a reduction factor of five compared to a factor of four. There is a noticable increase in the RMS error when 10.5ResolutionoftheEarthAlbedoModel 93

Reduction Data Simulation SS3 RMS Factor Points Time [s] Error [mA] 1 180 288 2454 0.0609 2 90 ×144 597 0.0622 3 60× 96 271 0.0600 4 45 × 72 160 0.0609 5 36 × 57 103 0.0662 6 30 × 48 75 0.0658 7 25 × 41 54 0.0660 8 22 × 36 43 0.0680 12 15 × 24 23 0.1029 16 11 × 18 16 0.1257 × Table 10.1: Impact of the reduction factor on the simulation time and current simulation accuracy.

Figure 10.9: Simulation time of the Earth albedo model as a function of the reduction factor for 379 samples. 94 Earth Albedo Model Results changing from a reduction factor of seven to eight. Table 10.1 additionally shows the error and simulation times for a reduction factor of 12 and 16.

Figure 10.10: RMS error of the Sun sensor SS3 current as a function of the reduction factor.

Based on the impact of the reduction factor, it is recommended that a reduction fac- tor of four is used. This value reduces the computation time with a factor of 15 without adding significant errors to the simulated Sun sensor current. To illustrate the reduced resolution of the Earth albedo model, Figure 10.11 shows the mean reflectivity data of 2001, reduced by a factor four. This data should be compared to the mean TOMS re- flectivity data of 2001 shown in Figure 2.3. The data also suggests that reduction factors higher than four can be used with moderate errors in the Earth albedo model accuracy. This would make the Earth albedo model applicable for on-board implementation. 10.5ResolutionoftheEarthAlbedoModel 95

Figure 10.11: Plot of TOMS mean reflectivity data recorded from January1 to December 31, 2001. The reflectivity data has been reduced by a factor of four along both latitude and longitude. 96 Earth Albedo Model Results Chapter 11 Simulated Attitude Determination Results

This chapter presents the simulation results of the different attitude determination algo- rithms included in this thesis. A simulation of the Ørsted satellite is the basis of the simulations. The results of the Q-Method, EKF, and UKF attitude determination algo- rithms are presented. The algorithms are simulated using the Standard, Max Currents, and SSE algorithms, and the results are compared. Additionally, the UKF algorithm has been utilized without use of magnetometer data, in order to show the results of applying the Earth albedo model, in order to obtain three-axis attitude determination using Sun sensor measurements alone. Initially the simulation conditions are presented, since these are common for all simulation in this Chapter.

11.1 Simulation Conditions

The simulation time matches those of telemetry data package 5200, which is also used in Chapter 9 for the validation of the Earth albedo model. The simulation time is thus 3:52 PM to 10:10 PM on May 21, 2001, which is a total simulation time of 6 hours and 18 minutes. This is equivalent to approximately three orbits. The sample time is 60s, which is equivalent to 379 samples. The simulated attitude and angular velocity of the satellite are calculated solving the non-linear differential equations of the attitude dynamics and kinematics, presented in Chapter 8. The initial conditions of the simulated satellite states are shown in Table 11.1. The satellite is initially aligned with the ECI frame with an angular velocity around the 98 Simulated Attitude Determination Results z axis of 0.001rad/s.

State Initial Value T qsat (t0) 0 00 1 T rad s ωsat (t0) 0 0 0.001  / Table 11.1: Initial conditions of the simulated satellite state.

In order to simulate the environment disturbances, noted in Chapter 8, an external torque is added as a white noise process, which has a standard deviation of 10−6Nm. The magnitude of the disturbance torque is found by investigating the control signal of the Ørsted satellite. The controller calculates a magnetic moment, which is generated by the magnetorquers on the satellite. The controller calculates this actuation signal based on the external disturbances, hence the control torque indicates the magnitude of the external torques. It should be noted that the external disturbances are not modeled in the simulation, hence the satellite is not Earth pointing, since there is no gravitational gradient torque. This is because the Max Current algorithm is particularly effective in this case, and thus does not produce general comparable results. This is discussed in Chapter 12. Given the initial condition of the satellite and the external torques, the simulated true sates of the satellite, qsat (t) and ωsat (t), evolves as shown in Figures 11.1 and 11.2.

Figure 11.1: Simulated attitude, qsat (t), of the Ørsted satellite. 11.1 Simulation Conditions 99

Figure 11.2: Simulated angular velocity, ωsat (t), of the Ørsted satellite.

In the simulation, the satellite position is modeled by an SGP4 propagator. The Earth magnetic field is modeled by a 10th order IGRF model readily available for SIMULINK. Sun position, ECEF rotation, and eclipses are calculated using the Spacecraft Control Toolbox from Princeton Satellite Systems, [Princeton Satellite Systems, 2005]. In order to simulate the model discrepancies and sensor noise, white noise is added to the mea- surements, i.e. Sun sensor currents and the Earth magnetic field vector. The noise on the magnetic field vector has a standard deviation of 2500nT, which results in an angular error on the magnetic field vector of approximately 0.5 deg. This error is consistent with [Bak, 1999]. The noise on the Sun sensor currents has a magnitude of 53µamps, which is the observed standard deviation of the error in the Ørsted Sun sensor telemetry after calibration of the data. The calibration of the Ørsted telemetry data is described in Chapter 9. Figure 11.3 shows the angular error of the simulated reference and measured Earth magnetic field vectors. The data validates that the standard deviation of the angular error is 0.5 deg. Figure 11.4 shows the error in the simulated Sun sensor currents with measurement noise. The Sun sensor naming SS1 to SS8 represents the Ørsted satellite Sun sensor configuration illustrated in Figure 9.2. Note that SS1 and SS3 are omitted since SS1 and SS6 are mounted in the similar directions. The following section investigates the errors in the Sun sensor vector pairs using the Standard, Max Currents, and SSE algorithms. 100 Simulated Attitude Determination Results

Figure 11.3: Simulated angular error of the simulated reference and measured Earth magnetic field vectors.

11.2 Sun Sensor Vector Observations

The Sun sensor vector pairs are formed using the algorithms described in Chapter 4. The Earth albedo model used in the simulation of the true albedo uses reflectivity data of the simulation date, i.e. May 21, 2001. The Earth albedo model utilized in the SSE algorithm is based on the mean reflectivity data of 2001 described in Chapter 2, in order to include model discrepancies in the Earth albedo estimation. Figure 11.5 shows the angular errors of the Sun LOS vector pairs, using the Standard and Max currents algorithms, and the SSE vector pair. Periods of eclipse are omitted from the plot, as the Sun sensor output is invalid when not illuminated. The results of the Sun sensor vector algorithms is shown in Table 11.2. The results show that the SSE vector pair is significantly more accurate than Max Currents algorithm. This indi- cates that the Earth albedo model derived in Chapter 2 can be utilized to improve errors induced by the Earth albedo.

Algorithm RMS Error [deg] Standard 8.86 Max Currents 5.28 SSE 3.71

Table 11.2: Simulated accuracy of the Sun sensor vector pairs using the Standard, Max Currents, and SSE algorithms. 11.2 Sun Sensor Vector Observations 101

Figure 11.4: Simulated Sun sensor currents with measurement noise. 102 Simulated Attitude Determination Results

Figure 11.5: Angular error of the simulated reference and measured Sun sensor vector pairs. Periods of eclipse are omitted.

11.3 Q-Method Algorithm

This section presents the results of the Q-Method algorithm. The Q-Method algorithm vector pairs are based on the Earth magnetic field and the Sun sensor vectors described in Chapter 4. The weights of the vector pairs are scaled according to the variance of the angular separation of the vectors from reference and measurements, respectively.

Figure 11.6 shows the attitude error quaternion of the Q-Method algorithm using the Max Currents algorithm for Sun LOS vector estimation and the SSE algorithm for estimating the SSE irradiance vector. The error is large during periods of eclipse, which is expected.

Figure 11.7 shows the angular error of the algorithms, where periods of eclipse have been omitted. The RMS error is 5.9 deg for the Max Currents algorithm and 3.8 deg for the SSE algorithm. The Standard algorithm has an angular RMS error of 6.6 deg. Both the Max Currents and SSE algorithms reduce the RMS error, but the SSE algorithm proves to be superior to the Max Currents algorithm. The simulation results are shown in Table 11.3. The results of the algorithms are consistent with the performance of the Sun sensor vector observations presented in Table 11.2. 11.3 Q-Method Algorithm 103

Figure 11.6: Attitude error quaternions of the Q-Method algorithm, using the Max Cur- rents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair. 104 Simulated Attitude Determination Results

Figure 11.7: Angular error of the Q-Method algorithm using the Max Currents algo- rithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair.

Algorithm RMS Error [deg] Standard 6.57 Max Currents 5.91 SSE 3.82

Table 11.3: Simulation performance of the Q-Method attitude determination algorithm. The algorithm uses Sun sensor vector pairs formed by the Standard, Max Currents, and SSE algorithms.

11.4 Extended Kalman Filter

The EKF algorithm uses the model of the satellite motion, which allows estimation of not only the satellite attitude, but also the satellite angular velocity. The model of the satellite states in the filter requires an estimate of the initial state. A single run of the Q-Method algorithm produces an output which can be used to initialize the EKF. The initial attitude error of the EKF is set to 22.5 deg around the y axis. The angular velocity is initialized to zero around all axes. Table 11.4 shows the initial parameters of the EKF. An initial value of the the estimation error covariance, P est (t0), is also needed. The value of P est (t0) reflects the initial values of the states. The covariance matrix of the measurement noise, R (t), is calculated based on the Sun sensor vector errors. The covariance of the measurement noise is calculated sepa- 11.4 Extended Kalman Filter 105

State Initial Value T qˆsat (t0) 0 0.20 0 0.98 T rad s ωˆ sat (t0)  0 0 0 /  Table 11.4: Initial conditions of the EKF.

rately in and out of eclipse, and also for total measurements. Since the error between the Sun sensor vector pairs is strongly biased, the mean error on each axis is added to the diagonal elements of the Sun sensor vector variances. This increases the variance significantly, and is bound to decrease the effect of Earth albedo compensation. The process noise covariance matrix, Q (t), describes the errors in the kinematic and dynamic differential equations of the satellite. The covariance of the dynamics is set to the external disturbance standard deviation. The model noise of the kinematics are added, to compensate for numerical errors in the 5th order Runge-Kutta algorithm, used to solve the non-linear differential equation. The error is expected to be insignificant, and the covariance is set to 10−14. The value is required by the EKF to be non-zero in order to prevent singularities in the estimation error covariance matrix P est. The process noise covariance is assumed to have zeros in the off-diagonal elements. Figure 11.8 shows the EKF quaternion estimation error. Figure 11.9 shows the result of the angular velocity estimation error. The figures show that the filter uses approxi- mately 2500s to converge. The convergence time and filter performance are similar, re- gardlessof Sun sensor vector algorithm. Figure11.8 shows that due to the non-whiteness of the input noise of the Sun sensors, the estimation error is biased. Figure 11.10 shows the angular error of the EKF algorithm using all three Sun sensor vector algorithms. Table 11.5 shows the RMS angular error of the attitude estimation, and the mean RMS error of the angular velocity estimates. The RMS values are cal- culated from time 3000s and forward, such that the estimation error does not include initial errors. It should be noted that the RMS values include periods of eclipse, unlike the results from the Q-Method algorithm. The results are compared directly, since the Q-Method algorithm is used out of eclipse only, and the Kalman filters are typically applied during the entire orbit. The results show that the algorithms perform equally, even without Earth albedo compensation. This is a result of the high covariance of the Sun sensors due to peri- ods of eclipse. Using time dependent measurements noise, thus using appropriate Sun Sensor vector error covariances in and out of eclipse, does not improve the estimation results. It is concluded that although the Sun sensors do improve the convergence of the filter significantly, the vector pairs formed using the Sun sensors do not have significant impact on the accuracy of the estimation. 106 Simulated Attitude Determination Results

Figure 11.8: Attitude estimation error quaternions of the EKF algorithm using the Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair. 11.4 Extended Kalman Filter 107

Figure 11.9: Angular velocity estimation error of the EKF algorithm using the Max Cur- rents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair.

qˆ (t ) Angular ωˆ (t ) Mean Algorithm sat k sat k RMS Error [deg] RMS Error [rad/s] Standard 3.43 1.00 10−5 Max Currents 3.34 1.07 · 10−5 SSE 3.47 1.09 · 10−5 · Table 11.5: Simulation performance of the EKF attitude determination algorithm. The algorithm uses Sun sensor vector pairs formed by the Standard, Max Cur- rents, and SSE algorithms. 108 Simulated Attitude Determination Results

Figure 11.10: Angular estimation error of the EKF algorithm using the Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair.

11.5 Unscented Kalman Filter

The UKF is simulated using the same parameters and measurement inputs as the EKF described in the previous Section. This allows for a direct comparison of the two al- gorithms. The angular estimation error is shown in Figure 11.11. The RMS errors are presented in Table 11.6. The results show that the overallperformanceof the UKF is identical to the EKF. The UKF, however, requires more computation time, which is approximately 18 times higher for the Standard and Max Currents algorithms. Even though the EKF algorithm requires the calculation of the Jacobians of the process and measurement models at each time step, the EKF requires non-linear propagation and measurement simulation of 41 sigma points. Since the output equation requires the utilization of SGP4 and IGRF models, the approximation of the noise distributions by sigma points is computationally heavy. Using the Earth albedo model adds significantly to the computation times. The UKF is 37 times slower than the EKF algorithm when the SSE algorithm is used. The advantage of the UKF is not fully utilized in the simulations shown in Figure 11.11. Since the UKF filter approximates the noise distributions of the process and measurement models, the need to construct a vector pair from the Sun sensor currents is not required. The non-linear measurement equation described in Chapter 3 may be implemented directly into the filter. This means that the filter estimates the Sun sensor currents directly, as opposed to estimating a LOS vector. The UKF with Non-Linear 11.5 Unscented Kalman Filter 109

Figure 11.11: Angular estimation error of the UKF algorithm using the Standard and Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair.

qˆ (t ) Angular ωˆ (t ) Mean Algorithm sat k sat k RMS Error [deg] RMS Error [rad/s] Standard 3.41 1.00 10−5 Max Currents 3.32 1.11 · 10−5 SSE 3.45 1.15 · 10−5 · Table 11.6: Simulation performance of the UKF attitude determination algorithm. The algorithm uses Sun sensor vector pairs formed by the Standard, Max Cur- rents, and SSE algorithms.

(NL) output equation is simply denoted NL. The result of the NL algorithm is shown in Figure 11.12. The result is compared to the performance of the UKF using the Max Currents algorithm. The angular RMS error is 3.4 deg, as seen in Table 11.7. The results are similar to those of the UKF with Sun sensor vector observations as measurement input. The measurement error covariance matrix in the NL algorithm is time variant. The variance of the measurement error is calculated from the simulation input. Two covari- ance matrices are calculated from data in and out of eclipse, respectively. The covariance of the measurement errors in eclipse renders the Sun sensor measurements useless, as it should since the output of the Sun sensors during eclipse is undefined. EKF using magnetometer vector observations have been developed previously, 110 Simulated Attitude Determination Results

Figure 11.12: Angular estimation error of the UKF using the NL algorithm with magne- tometer measurements and Sun sensor currents.

[Bak, 1999]. The linearized output equation is not observable, however, due to the vari- ation of the Earth magnetic field, the algorithm will still converge given enough time. The Ørsted attitude determination algorithm converges from initial errors 30 deg within half an orbit at 0.1Hz, i.e. 500 samples. The Sun LOS vector varies a meager 0.0003 deg for a satellite in 800km LEO. Hence the Sun LOS vector varies with the Earth’s orbit around the Sun. For this reason, three-axis attitude determination based solely on Sun sensors has not previously been implemented. However, due to the accurate modeling of the Earth albedo current on the Sun sensors, the system is observable using Sun sensors only. The NL algorithm has been simulated without magnetometer measurements, and the result is shown in Figures 11.13 and 11.14. It is seen from the figures that the filter is able to converge within a couple of samples. Since only Sun sensors are utilized, the filter has no measurements at all during eclipse, hence the filter diverges in these periods. The simulation includes four periods of eclipse, which can be identified in the plot of the simulated Sun sensor currents in Figure 11.4. It is seen from the figures that the estimated standard deviation of the estimation error is incorrect. However, the filter performs surprisingly well in the simulation, when considering that no measurements are available during eclipses. In real-life implementations the NL algorithm without magnetometer measurement cannot be expected to work during eclipse, since it would require accurate modeling of all disturbances. However, the filter is well suited for CubeSats in periods out of eclipse, when magnetometer measurements are unavailable. The angular error of the estimation is shown in Figure 11.15. The performance is 11.5 Unscented Kalman Filter 111

Figure 11.13: Attitude estimation error quaternion of the NL algorithm without magne- tometer measurements. 112 Simulated Attitude Determination Results

Figure 11.14: Angular velocity estimation error of the NL algorithm without magne- tometer measurements. 11.6 Discussion 113 compared to the results of the UKF using the Max Currents algorithm. It is seen that the accuracy of the attitude estimation is decreased, although the filter converges fastest of all the algorithms. The RMS errors of the UKF using the NL algorithm with and without magnetometer is shown in Table 11.7. The NL algorithm is able to estimate the attitude in three-axis with an RMS error of 6.8 deg, which is a decrease in performance when compared to the previous algorithms. The performance decrease is expected, since the filter relies on propagation of the estimated state of the satellite during eclipse.

Figure 11.15: Angular estimation error of the UKF using the NL algorithm with Sun sensor currents only.

qˆ (t ) Angular ωˆ (t ) Mean Algorithm sat k sat k RMS Error [deg] RMS Error [rad/s] NL w. magnetometer 3.37 1.53 10−5 NL wo. magnetometer 6.78 8.46 · 10−5 · Table 11.7: Simulation performance of the UKF using the NL algorithm. The UKF is implemented with and without magnetometer measurements.

11.6 Discussion

Simulations of the different attitude determination algorithms has been performed. The results are based on accurate noise models in the Kalman filters, hence the presented 114 Simulated Attitude Determination Results performance of the filters are only valid under ideal conditions. The performance will decrease, as uncertainties in the noise models increase. The simulation results show that compared to the Standard algorithm, the Q-Method algorithm is improved by 0.7 deg RMS when using the Max Currents algorithm, and by 2.8 deg RMS when the SSE algorithm is utilized. This shows that the Earth albedo model may be utilized to improve the performance of single-point algorithms significantly. The results of the EKF and UKF are similar, and result in an improved performance in attitude estimation of 0.5 deg RMS at best, compared to the Q-Method with SSE vec- tors. Considering the complexity of the algorithms, 0.5 deg RMS is a small performance improvement, when compared to the Q-Method using the SSE algorithm. Although the performance in attitude estimation is small, the EKF and UKF estimate the angular ve- locity of the satellite, in addition to the attitude quaternion. In addition the attitude esti- mate is maintained during periods of eclipse. It must also be noted that the performance of the multi-point algorithms is due to the lack of gyros in the sensor configuration. The EKF and UKF utilize dynamical models of the system to improve estimation per- formance and are capable of merging gyro measurements with attitude measurements effectively, ideally statistically optimal. Without direct measurements of the dynami- cal behavior of the system, the resulting increase in accuracy is limited. Instead, the dynamical model allows for estimation of the angular velocity in the absence of gyros. Based on the simulation results in this chapter, it can be concluded that the Earth albedo model improves the attitude estimation performance of the Q-Method results to a level close to those of the multi-point algorithms. Due to the simplicity of the Q-Method algorithm, and thus computational requirements, it is preferred to the EKF and UKF. In case estimates of the angular velocity is sought, it is concluded that the Sun sensor measurements improve convergence only, and that Earth albedo compensation has no influence on the general performance of the filter. Finally it is shown that including the non-linear Sun sensor output equation in the UKF, makes the system observable in the presence of albedo, and thus allows for three-axis attitude determination from Sun sensors alone. Although the accuracy is decreased, the algorithm may be considered as a backup in the case of magnetometer failure, or utilized in conjunction with gyros. The result of three-axis attitude and angular velocity estimation from Sun sensors only, definitely gives new perspectives within the field of satellite navigation. Chapter 12 Application of the Earth Albedo Model on Ørsted Data

This chapter presents the results of applying the Earth albedo model on the Ørsted telemetry data. The results of the SSE algorithm is compared to the Standard and Max Currents algorithm, and the vector pairs are utilized in the Q-Method algorithm. The telemetry data package and calibration procedures follow the description in Chapter 9.

12.1 Errors in Ørsted Vector Observations

This section describes the errors on the vector observations from the Ørsted satellite telemetry data, compared to the reference models. The vector observations are the input to the estimation algorithms, and therefore the precision of these measurements directly influence the performance of the algorithms. In order to compare the Ørsted vector observations with the reference models, the star tracker telemetry is used to obtain the reference vectors in the SCB frame. The magnetic field measurement is compared with the 10th order IGRF model. The Sun sensor currents are processed in order to obtain the Sun LOS and SSE irradiance vectors, using the algorithms described in Chapter 4, which are compared with the reference vectors from the ephemeris models.

12.1.1 Magnetic Vector Observation The attitude determination algorithms have the possibility to weigh the measurements between each other. For this reason the error of the measurements relative to the refer- 116 ApplicationoftheEarthAlbedoModelonØrstedData ence models are investigated. Figure 12.1 show the RMS errors in the componentsof the magnetic field measurements and IGRF reference model. These errors are expressions of the total error in sensors and IGRF model inaccuracies. The vector pair is compared after normalization of the vectors, since it is the normalized vectors which are input into the Q-Method algorithm.

Figure 12.1: Magnetic LOS vector error between the IGRF reference model and cali- brated on-board measurements.

From the data in Figure 12.1, the angular error between the measured Earth magnetic field vector and the IGRF reference vector is calculated. Figure 12.2 shows the angular separation between the two vectors. The RMS angular error is 1.59 deg. This error is three times higher than in the simulations in Chapter 11. This increased error is caused by poor performance of the IGRF model, which is based on parameters from 1995. It is 12.1ErrorsinØrstedVectorObservations 117 expected that the increased error in the Earth magnetic field vector pair will impact the performance of the attitude estimation.

Figure 12.2: Angular separation between magnetic LOS vector error from IGRF refer- ence model and calibrated on-board measurements.

12.1.2 Sun Vector Observation The Earth albedo is handled in two different ways, as described in Chapter 4. When the albedo model is applied, the vector pair used is the SSE irradiance vector. Without the Earth albedo model, a Sun vector LOS vector is formed by using the Standard and Max Current algorithms. Figure 12.3 shows the error of the three vector pairs, when comparing the measurements with the ephemeris reference model. Periods of eclipse and star imager fallouts have been removed from the plots. Figure 12.4 shows the angular separation between the vector pairs, and Table 12.1 shows the resulting RMS errors. The RMS angular separation using Max Currents Sun LOS vector is 8.1 deg, whereas the RMS separation between the SSE vectors is 6.9 deg. The RMS angular separation of the Standard algorithm vector pair is 11 deg. It is clear from Figure 12.4 that albedo compensation improves the vector obser- vation. However, the improvement in RMS error when using the SSE algorithms as opposed to the Max Currents algorithm, is not as apparent as in the simulations. The error in the estimation of the Sun LOS vector using the Max Current algorithm is sig- nificant when the satellite crosses the terminator. The SSE vector pair has errors due to Earth albedo modeling inaccuracies. Additional errors are introduced, since it is as- sumed in this algorithm that the Earth albedo can be described as an energy flux from a 118 ApplicationoftheEarthAlbedoModelonØrstedData

Figure 12.3: LOS vector errors between the ephemeris reference model and calibrated on-board measurements. The Sun sensor currents are pre-processed to form two different vector pairs: 1) a Sun LOS vector using the Max Cur- rents algorithm 2) the summarized Sun and Earth irradiance vector using the SSE algorithm. Periods of eclipse and star imager fallouts have been removed from the plots. 12.1ErrorsinØrstedVectorObservations 119

Figure 12.4: Angular separation between the Sun sensor LOS vector pairs compared with the Sun LOS vector observation without albedo compensation. The top plot shows the Max Currents algorithm and the bottom plot shows the SSE algorithm.

Algorithm RMS Error [deg] Standard 11.2 Max Currents 8.13 SSE 6.93

Table 12.1: Statistics of the Sun sensor vector pairs, using the Max Currents algorithm and the SSE algorithm. The LOS vectors are formed using on-board cal- ibrated measurements and are compared to the ephemeris reference LOS vectors. 120 ApplicationoftheEarthAlbedoModelonØrstedData single direction.

Figure 12.5: Direction of incidentirradiances during a pass over the sunlit part of Earth.

The improved performance of the Max Current algorithm is investigated. Figure 12.5 shows the Ørsted satellite in its path over the sunlit part of the Earth, where the Sun sensors are illuminated by the Sun and Earth albedo. The advantage of the Max Current algorithm is when the Sun and Earth albedo energy fluxes reach the satellite from opposite sides. In this case the Sun sensor pairs facing opposite directions will have one Sun sensor with solar induced current, and another with Earth albedo induced current. Since the Sun sensor with maximum currentis used to form the Sun LOS vector, the albedo is effectively filtered completely. When the satellite is Earth pointing, this becomes even more effective, since the majority of the Earth albedo constantly reaches only the Earth pointing sensors. Once the the incidence of the solar irradiance causes the current from the zenith pointing Sun sensors to exceed the Earth pointing Sun sensors, most of the Earth albedo is filtered from the sensors. The general performance of the SSE algorithm is expected to be consistent with the simulation results, i.e. approximately 2.1 deg RMS better than the Max Current algorithm. For Earth pointing satellites, the improvement is expected to be 1.2 deg RMS, which was the result of the Ørsted case. It can be concluded that although the Ørsted satellite is ideal for verifying the Earth albedo model, because Sun sensors SS3 and SS6 are constantly facing the Earth, the improvement in vector observation and consequently attitude determination, is less ap- parent when applying the Earth albedo model, for the same reason. 12.2 Q-Method Algorithm 121

12.2 Q-Method Algorithm

The simulation results in Chapter 11 recommends applying the Q-Method algorithm with the SSE algorithm. In this section the results of the Q-Method algorithm are pre- sented. The Sun sensor vector algorithms are applied in forming a vector pair to be used in conjunction with the magnetometer data. The vector pairs are weighted according to the RMS errors found in the previous section. The error quaternion of the attitude estimation error is shown in Figure 12.6. The resulting angular error of the estimated attitude are shown in Figure 12.7 and Table 12.6.

Algorithm RMS Error [deg] Standard 5.60 Max Currents 4.70 SSE 4.90

Table 12.2: Performance of the Q-Method algorithm applied to Ørsted telemetry data. The algorithm uses Sun sensor vector pairs formed by the Standard, Max Currents, and SSE algorithms.

The result shows that the algorithm accuracy is decreased compared to the simulation results. This is due to the non-whiteness of the measurement noise. The actual noise of the vector pairs, due to reference model errors, is expected to be biased, which creates unpredictable performance of the results. A surprising result is the performance of the Q-Method algorithm with the Max Currents vector pair, which gives a better result than the SSE vector pair with the current data set. The angular error of the SSE vector pair was found to be superior to the Max Current vector pair in the previous section, hence the Q-Method algorithm is expected to have better performance using the SSE vector pair. This is a result of the bias in the vector pair errors, since the direction of the errors in the input vector pairs has impact on the estimation performance. It is concluded, based on the results of the Ørsted attitude estimation, that the Max Currents algorithm, because of its simplicity, is recommended for Earth pointing satel- lites. This is due to the results of the estimation and the argument presented in the previous section. In general, the Q-Method algorithm using the SSE vector pair pro- duces estimation results, which are at worst similar to the Max Currents algorithm, and is shown to be superior for inertial stabilized satellites in Chapter 11. 122 ApplicationoftheEarthAlbedoModelonØrstedData

Figure 12.6: Quaternion error of the Q-Method algorithm applied to Ørsted telemetry data, using the Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair. 12.2 Q-Method Algorithm 123

Figure 12.7: Angular error of the Q-Method algorithm applied to Ørsted telemetry data, using the Max Currents algorithm for Sun LOS vector estimation and the Earth albedo model for the SSE vector pair. 124 ApplicationoftheEarthAlbedoModelonØrstedData Part IV

Closure

Chapters

13 Conclusion 125

Chapter 13 Conclusion

In this thesis the Earth albedo has been analyzed, and a model has been implemented and verified. The Earth albedo model has been incorporated in three attitude determination algorithms through enhanced Sun sensor modeling, and the results have been compared. An Earth albedo model, based on the TOMS reflectivity data, was derived. The resolution of the TOMS reflectivity data defines a partitioning of the Earth surface, and the reflectivity of each cell is given. From the area of the cell, and the angle to the Sun, the amount of radiant flux reflected from each cell was calculated. From the angle and distance from the satellite to each cell, the amount of albedo reaching the satellite was derived. The directional information of the Earth albedo contribution from each cell was maintained, thus allowing information of diffuse Earth albedo irradiance to be incorporated into the Sun sensor modeling. The Earth albedo model was used to develop enhanced Sun sensor modeling. The directional information of the Earth albedo was utilized, and the Earth albedo and Sun sensor model were implemented as MATLAB toolboxes. The Earth albedo and enhanced Sun sensor models were verified using the Ørsted telemetry. Data from the Sun sensors was compared to the simulation results, and the error was reduced from approximately 0.18mA to 0.055mA RMS on the Earth pointing Sun sensors. This is a significant improvement of the Sun sensor current simulation, which is useful for designing and testing ADCS algorithms for future space missions. The enhanced Sun sensor model allowed for improved Sun sensor vector observa- tions. The improved vector observation algorithm was compared to existing algorithms, and the results showed that the incorporationof the Earth albedo model in the Sun sensor model produced superior results. Compared to the reference vector, the angular sepa- ration was reduced from 5.9 deg to 3.82 deg RMS. The error in the vector observation directly influences the Q-Method single-point algorithm and the EKF, since these use 128 Conclusion vector observations as input. An investigation of attitude determination algorithms was performed. Three algo- rithms were presented, the Q-Method, the EKF, and the UKF. The Earth albedo model was incorporated in the Q-Method and EKF through the improved vector observations. The UKF facilitated the direct use of the enhanced Sun sensor model. The Kalman Filter performances were similar with an accuracy of 3.4 deg RMS. The simulation re- sults revealed that the accuracy of the Q-Method with improved Sun vector observation was reduced to a level which was comparable to the more complex Kalman filters. The Q-Method with Earth albedo corrected Sun vector observations increased the attitude determination accuracy from 5.9 deg to 3.8 deg RMS. Compared to the performance of the Kalman Filters, the Q-Method was recommended due to its simplicity. The Kalman Filters, although marginally more accurate, enable estimation of not only the satellite attitude, but also the satellite angular velocity. In addition, the Kalman filters maintain attitude estimation during periods of eclipse. Due to the computation requirements of the measurement model, the EKF was recommended over the UKF. However, the UKF proved capable of estimating the attitude and angular velocity of the satellite from Sun sensors alone, when the enhanced Sun sensor models with Earth albedo modeling was applied. This proved that the modeling of the Earth albedo en- sures observability of the system and enables three-axis attitude determination from Sun sensors only. From a CubeSat perspective, the results allow improved attitude determination satel- lites from simple sensor configuration, since sensors such as star trackers are unavailable for pico-satellites. Previously, magnetometers have been applied for three-axis attitude determination in the absence of Sun sensor measurements, which is possible due to the variation in the Earth magnetic field as the satellite orbits the Earth. The use of Earth albedo modeling for Sun sensor three-axis attitude determination allows the ADS de- signers to apply the algorithm in case of magnetometer failure, or omit magnetometers from the sensor configuration completely. The improved Sun sensor vector observation algorithm was applied on the Ørsted telemetry data and showed that the angular error relative to the reference vector was reduced from 8.1 deg to 6.9 deg RMS. The Q-Method was applied to the Sun sensor and magnetometer data from the Ørsted telemetry data, and the result was compared to the output of the star imager used for high accuracy attitude measurements on-board the Ørsted satellite. The performance of the algorithms was discussed, and the resulting accuracy was 4.9 deg RMS. Very simple CubeSat satellites exist that only fly passive attitude control and no attitude sensors. However, all CubeSats must fly solar panels. By sampling the output of the solar panels, currents and voltages, the results of this thesis may be applied to obtain three-axis attitude determination. This is implemented in the AAUSAT-II satellite ADS design, as an on-ground feasibilty study. The contributions of the thesis are:

A high accuracy Earth albedo model has been derived, which maintains direc- • tional information of the incident albedo irradiance. 13.1 Future Work 129

Enhanced Sun sensor current modeling incorporating directional Earth albedo ir- • radiance. Improved methods for Sun sensor vector observation by applying the Earth albedo • model and enhanced Sun sensor current model. Novel methods for incorporating the Earth albedo model in a number of widely • used attitude determination algorithms, and comparison of the results. Three-axis attitude determination from Sun sensors only, by applying the Earth • albedo model and enhanced Sun sensor current model directly into the UKF.

Implementation of the Earth albedo model and Sun sensor current model in MAT- • LAB, including SIMULINK interface, released as an albedo toolbox. Overall, the modeling of the Earth albedo was proven to be applicable in attitude determination simulation, design, and test. The accuracy of the Earth albedo model en- ables improved simulations of the space environment for analysis and testing of ADCS. Applied in conjunction with the Sun sensor modeling, the Earth albedo model allows for improved vector observations and consequently improved attitude determination.

13.1 Future Work

Based on the research in this thesis, a number of open questions arise which are inter- esting for future investigations. The SSE algorithm assumes that the Earth albedo is single directional, anti-parallel to the Nadir. Since the Kalman Filters use statistical information of the measurement model accuracy, effects of the assumption should be analyzed and described by a co- variance matrix. The error effect may be calculated by comparison to the full Earth albedo model output. Further simplification of the Earth albedo model could also be investigated, and is on-goingwork on the AAUSAT-II ADCS design, due to limited computational resources on the on-board computer and real-time requirements. Reduction of code complexity also have important benefits of reducing memory usage and improved testing. The Earth albedo model may be reduced further by parameterizing the Earth albedo by the angle of the Sun and satellite in the ECEF frame only. This saves calculation of the Earth albedo of each cell and instead calculates the entire FOV in a single instance. Directional informationof the Earth albedo is lost, at the benefit of reduced computation. The errors in the simplification must be investigated, by comparison to the full Earth albedo model. Finally, the Sun sensor current modeling could be extended to include a number of non-linear properties, such as dark current and low-angle reflection. Including such terms in the modeling, the accuracy of the Sun vector observations will be further im- proved. 130 Conclusion Part V

Appendices

Chapters

A Frames 127

B Sun and Earth Black Body Spectra 131

C Area of Spherical Rectangle 135

D Field of View on a Celestial Body 139

Appendix A Frames

This appendix defines two reference frames and a body fixed used in this thesis. The ECI frame is an inertial frame which is fixed with the stars. The ECEF frame is fixed with the Earth, and thus rotates with the same angular velocity as the Earth.

A.1 Earth Centered Inertial Frame

The ECI frame is fixed with the stars. The frame is shown in Figure A.1.

zECI

Earth Center Equator Vernal Equinox

yECI xECI

Figure A.1: Definition of the ECI frame. 134 Frames

The ECI frame has its origin in the Earth Center of Mass (CoM), and is defined by the xECI, yECI, and zECI axes. The plane spanned by xECI and yECI is aligned with the Earth equatorial plane, and the zECI is normal to the the xECIyECI plane in the direction of the North Pole. The xECI is in the direction of Vernal Equinox. Vernal Equinox is the direction to the Sun from the Earth center, when the Sun crosses the Earth equatorial plane from South to North. Since the Vernal Equinox direction moves slightly, due to the nutation of the Earth’s spin axis, the Vernal Equinox of epoch J2000 is used, i.e. the direction of the Vernal Equinox in 2000. The yECI axis forms a right-handed orthogonal frame, and is given by

y = zECI xECI. (A.1) ECI ×

A.2 Earth Centered Earth Fixed Frame

The ECEF frame is an Earth fixed frame, i.e. it rotates relative the ECI frame with the angular velocity of the Earth. The frame is shown in Figure A.2.

zECEF

Earth Center Equator

yECEF xECEF Greenwich Meridian

Figure A.2: Definition of the ECEF frame.

The ECEF framehas its origin in the Earth CoM, and is defined by the xECEF, yECEF, and zECEF axes. The plane spanned by xECEF and yECEF is aligned with the Earth equa- torial plane, and the zECEF is normal to the the xECEFyECEF plane in the direction of the North Pole. The xECEF is in the direction of Greenwich Prime Meridian. The yECEF axis forms a right-handed orthogonal frame, and is given by

y = zECEF xECEF. (A.2) ECEF × A.3 Spacecraft Body Frame 135

A.3 Spacecraft Body Frame

The SCB frame is a body fixed frame, which has its origin in the CoM of satellite. The axes are defined by the principal axes of the satellite, with the zSCB axis aligned with the principal axis of smallest inertia. The frame is right-handed and orthogonal. The frame is fixed on the satellite body. 136 Frames Appendix B Sun and Earth Black Body Spectra

In this Appendix the model of the Sun and Earth spectra are presented. The Sun spec- trum is used to calculate the incident irradiance at the top of Earth’s atmosphere from the Sun. It is a fraction of this irradiance reflected back into space which defines the Earth albedo. The remaining energy is absorbed by Earth and is radiated back into space as thermal energy mainly in the infrared spectrum. The analysis in this Appendix is needed in the modelling of the Earth albedo.

B.1 Sun Spectrum

The spectral distribution of the power emitted from the Sun is modeled by a black body radiator. The spectral distribution of black body irradiance is calculated using Planck’s Law 2πc2h Ebb (λ, T )= , (B.1) λ5 ech/(kλT ) where c is the velocity of light, h is Planck’s constant,k is Boltzmann’s constant, λ is the wavelength, and T the black body surface temperature, [Ryer, 1997]. The total irradiance is given by Stefan-Boltzmann’s Equation

∞ 4 Ebb (T )= Ebb (λ, T ) dλ = σT , (B.2) Z−∞ where σ is Stefan-Boltzmann’s Constant. The surface temperature of the Sun is TSun = 5777K, [Wertz, 2001], which means that the total energy emitted by the Sun is MW E = E (5777K)=63 . (B.3) Sun bb m2 138 Sun and Earth Black Body Spectra

The Inverse Square Law, which correlates the intensity per unit area as inversely pro- portional to the square of the distance between light source and an observer, can be expressed as 2 2 E1d1 = E2d2, (B.4) where E1 is the irradiance from the point source at the surface at distance d1, and E2 is the irradiance at distance d2. When the Sun is the point source, the irradiance from the Sun at Earth becomes r2 W Sun (B.5) EAM0 = 2 ESun = 1367 2 , dS->E m where rSun is the radius of the Sun, and dS->E is the distance from the Sun to Earth. AM0 indicates that the solar irradiance has passed through zero air-mass, [Mazer, 1997]. The resulting EAM0 in Equation (B.5) is in accordance with satellite irradiance measurements published in [Dewitte et al., 2001]. The spectral distribution of the solar irradiance at Earth is calculated by combining Equations (B.1) and (B.5)

2 2 rSun 2πc h Ebb (λ, T )= . (B.6) 2 5 ch/(kλTSun) dS->E λ e The spectral distribution is shown in Figure B.1. 

B.2 Earth Spectrum

The spectral distribution of Earth is calculated, following the same procedure as for the solar spectral distribution. The surface temperature is the mean surface temperature of Earth, which is TEarth = 288K, [Wertz, 1978]. From Equation (B.2) the total irradiance at the Earth surface is W E = 391 . (B.7) E m2 This irradiance decreases according to the Inverse Square Law. For an orbit altitude of e.g. 800km, the irradiance is 309W/m2. The spectral distribution of Earth at satellite position rsat, given in an Earth centered frame, is given by

2 2 rE 2πc h Ebb (λ, T )= , (B.8) 2 5 ch/(kλTE ) rsat λ e || || where rE denotes the Earth mean radius. The Earth spectrum is shown in Figure B.2. It can be seen from the figure that the spectrum is close to zero for wavelengths less than 4µm. The amount of energy absorbed by solar cells from the Earth thermal radiation is investigated. It is known that dual junction InGaP/GaAs cells have practically no absorbance for wavelengths higher than 900nm. Triple junction cells can absorb irradiance at wave- length as high as 1.7µm, [Emcore, 2004]. By numerical integration of Equation (B.8), B.2 Earth Spectrum 139

Figure B.1: Black body spectrum for a surface temperature of 5777K at 1 A.U., equiva- lent to the solar spectrum at Earth. it is found that 4 10−8% of the energy is in the spectrum below 2µm, meaning that the Earth radiation· may be completely disregarded in the calculation of Earth albedo currents induced in solar cells. 140 Sun and Earth Black Body Spectra

Figure B.2: Black body spectrum for a surface temperature of 288K at a distance of 800km from the surface, equivalentto the Earth spectrum at an orbit altitude of 800km. Appendix C Area of Spherical Rectangle

A spherical rectangle is in this thesis defined as the enclosed area constructed from two pairs of vertical and horizontal lines on sphere. The rectangle is parameterized by the azimuth angle span θ, the polar angle span φ, and the radius of the sphere r, illustrated in Figure C.1. The area A of the spherical rectangle is calculated using the principle of Surface of Revolution [Weisstein, 2005]. The curve x = f(y), spanning φ from φ0 on the sphere, is rotated around the y axis by theta. The curve over the y axis of the spherical rectangle can in the xy plane be defined by

x = f (y)= r y2 , y = [a,b], (C.1) ± − where a and b are the projections of the spanp of φ onto the y axis as illustrated in Figure C.2. The surface A of revolution of C.1 by θ is given by

b d 2 A = θ f (y) 1+ f (y) dy. (C.2) s dy Za   Inserting Equation (C.1) into Equation (C.2), yields

b y2 2 (C.3) A = θ r y 1+ 2 2 dy a ± − s r y Z − b p = θ r2 y2 + y2dy (C.4) − Za b p = θ rdy. (C.5) Za 142 Area of Spherical Rectangle

r φ

θ

Figure C.1: Definition of the spherical rectangle.

From Figure C.2 it is seen that the limits are expressed as a function of the polar angles φ0 and φ, as a = rcos (φ0 + φ), and b = rcos (φ0). Inserting in (C.3) gives

rcos(φ) A = θ rdy (C.6) Zrcos(φ0+φ) = θr2 (cos (φ) cos (φ + φ)) . (C.7) − 0 Note that the surface of the entire sphere of radius r can be calculated using Equation (C.6) by inserting φ0 =0, φ = π, and θ =2π

A = 2πr2 (cos (0) cos (π)) (C.8) − = 4πr2, (C.9) which is the general equation of the sphere surface. 143

y

φ0

b f (y)

φ

a x

Figure C.2: The curve x = f(y) defining the span φ as a limit [a,b] on the y axis. 144 Area of Spherical Rectangle Appendix D Field of View on a Celestial Body

This appendix derives inequality used for calculating the FOV on a celestial body given a position of an observer. The FOV is characterized by an angular radius ρ. Figure D.1 illustrates an observer at altitude h, observing a FOV of 2ρ on a celestial body. From the law of cosine for right triangles, it is given that r cos (ρ)= , (D.1) r + h hence r ρ = acos . (D.2) r + h   Given two points on a sphere, P 1 = (θ1, φ1) and P 2 = (θ2, φ2), the radial distance is defined as the smaller radial fraction of the great circle, passing through both points, illustrated in Figure D.2. Two unit vectors vˆ1 and vˆ2 are defined from origin to points P 1 and P 2, respec- tively. The vectors are given by

cos (θ1) sin (φ1) cos (θ2) sin (φ2) vˆ = sin (θ ) sin (φ ) , vˆ = sin (θ ) sin (φ ) , (D.3) 1  1 1  2  2 2  cos (φ1) cos (φ2) using spherical to Cartesian coordinate transformation.  The cosine to the radial distance can be calculated as T cos (ρ)= vˆ1vˆ2 = sin (φ1) sin (φ2) (cos (θ1) cos (θ2)+ sin (θ1) sin (θ2)) + cos (φ1) cos (φ2) = sin (φ ) sin (φ ) cos (θ θ )+ cos (φ ) cos (φ ) . (D.4) 1 2 1 − 2 1 2 146 Field of View on a Celestial Body

Observer

h

ρ

r

Figure D.1: Illustration of observer at altitude h, observing a celestial body with FOV 2ρ.

Given the radius of the celestial body r and the spherical coordinates of the observer (θ1, φ1, r + h), where h is the observer altitude, any point on the sphere surface can be classified as in or out of the observers FOV, by combining Equation (D.2) and Equation (D.5). The spherical coordinates are centered in the origin of the celestial body. A point (θ2, φ2, r) is in the FOV of the observer, if and only if r sin (φ ) sin (φ ) cos (θ θ )+ cos (φ ) cos (φ ) . (D.5) 1 2 1 − 2 1 2 ≤ r + h 147

z

P 1

φ1 ρ

φ2

θ1 θ2 y P 2 P 3 x

Figure D.2: Illustration of the radial distance ρ between two points P 1,P 2. 148 Field of View on a Celestial Body Part VI

Bibliography

Chapters

Bibliography 145

Bibliography

[Alminde et al., 2005] Alminde, L., Bisgaard, M., Bhanderi, D., and Nielsen, J. D. (2005). Experienceand methodologygained from 4 years of student satellite projects. In Conference on Recent Advance in Space Technology.

[Amini et al., 2005] Amini, R., Larsen, J. A., Bhanderi, D., and Izadi-Zamanabadi, R. (2005). Design and implementation of a space environment simulation toolbox for small satellites. In 56th International Astronautical Congress. Accepted.

[Athans et al., 1968] Athans, M., Wishner, R. P., and Bertolini, A. (1968). Suboptimal estimation for continuous-time nonlinear systems from discrete noisy measurements. IEEE Transactions on Automatic Control, Vol. 13.

[Bak, 1999] Bak, T. (1999). Spacecraft Attitude Determination - a Magnetometer Ap- proach. PhD thesis, Aalborg University.

[Bak et al., 2002] Bak, T., Bhanderi, D., Blanke, M., Niemann, H., Noteborn, R., Quot- trup, M., and Ziegler, B. (2002). Rømer acs simulator. Technical report, Aalborg University.

[Bar-Itzhack, 1996] Bar-Itzhack, I. Y. (1996). Request: A recursive quest algorithm for sequential attitude determination. Journal of Guidance, Control, and Dynamics, Vol. 19(No. 5):pp. 1034–1038.

[Bar-Itzhack and Harman, 1997] Bar-Itzhack, I. Y. and Harman, R. R. (1997). Opti- mized triad algorithm for attitude determination. Journal of Guidance, Control, and Dynamics, Vol. 20(No. 1):pp. 208–211.

[Bar-Itzhack and Oshman, 1985] Bar-Itzhack, I. Y. and Oshman, Y. (1985). Attitude determination from vector observations: Quaternion estimation. IEEE Transaction on Aerospace and Electronic Systems, Vol. 21(No. 1):pp. 128–135. 152 BIBLIOGRAPHY

[Bass et al., 1966] Bass, R., Norum, V., and Schwartz, L. (1966). Optimal multichannel nonlinear filtering. Journal of Mathematical Analysis and Applications, Vol. 16:pp. 152–164.

[Bhanderi, 2005a] Bhanderi, D. (2005a). http://bhanderi.dk/.

[Bhanderi, 2005b] Bhanderi, D. D. V. (2005b). Modeling earth albedo for satellites in earth orbit. In AIAA Guidance, Navigation, and Control Conference. Accepted.

[Blanke et al., 1994] Blanke, M., Wisniewski, R., and Caspersen, G. (1994). Sun sensor system requirements. Technical report, Aalborg University.

[Brasoveanu and Sedlak, 1998] Brasoveanu, D. and Sedlak, J. (1998). Analysis of earth albedo effect on sun sensor measurements based on theoretical model and mission experience. In AAS/GSFC 13th International Symposium on Space Flight Dynamics, volume Vol. 1, pages pp. 435–447.

[Bryson, Jr., 1994] Bryson, Jr., A. E. (1994). Control of Spacecraft and Aircraft. Prince- ton University Press.

[Bucy, 1965] Bucy, R. (1965). Nonlinear filtering theory. IEEE Transaction on Auto- matic Control, Vol. AC-10.

[Challa et al., 1997] Challa, M., Kotaru, S., and Natanson, G. (1997). Magnetometer- only attitude and rate estimates during the earth radiation budget satellite 1987 control anomaly. In AIAA Guidance, Navigation, and Control Conference.

[Challa, 1993] Challa, M. S. (1993). Solar, anomalous and magnetospheric particle explorer (sampex) real-time sequential filter (rtsf). Evaluation report, NASA Goddard Space Flight Center, Greenbelt, MD.

[Cheng and Crassidis, 2004] Cheng, Y. and Crassidis, J. L. (2004). Particle filtering for sequential spacecraft attitude estimation. In AIAA Guidance, Navigation, and Control Conference, Aalborg University.

[Crassidis and Markley, 1997a] Crassidis, J. L. and Markley, F. L. (1997a). Minimum model error approach for attitude estimation. Journal of Guidance, Control, and Dynamics, Vol. 20(No. 6):pp. 1241–1247.

[Crassidis and Markley, 1997b] Crassidis, J. L. and Markley, F. L. (1997b). Predictive filtering for attitude estimation without rate sensors. Journal of Guidance, Control, and Dynamics, Vol. 20(No. 3):pp. 522–527.

[Crassidis and Markley, 2003] Crassidis, J. L. and Markley, F. L. (2003). Unscented filtering for spacecraft attitude estimation. Journal of Guidance, Control, and Dy- namics, Vol. 26(No. 4):pp. 536–542. BIBLIOGRAPHY 153

[Dewitte et al., 2001] Dewitte, S., Joukoff, A., Crommelynck, D., III, R. B. L., Helizon, R., and Wilson, R. S. (2001). Contribution of the solar constant (solcon) program to the long term total solar irradiance observations. Journal of Geophysical Research, Vol. 106(No. A8):pp. 15,759.

[Emcore, 2004] Emcore (2004). Ingap/gaas/ge tripple-junction solar cells. Technical specification, EMCORE.

[Fisher et al., 1993] Fisher, H. L., Musser, K. L., and Shuster, M. D. (1993). Coarse attitude determination from earth albedo measurements. IEEE Transactions on Aerospace and Electronic Systems.

[Fisher et al., 1989] Fisher, H. L., Shuster, M. D., and Strikwerda, T. E. (1989). Attitude determination for the star tracker mission. In AAS/AIAA Astrodynamics Conference, pages pp. 139–150.

[Flatley et al., 1990] Flatley, T. W., Forden, J. K., Henretty, D. A., Lightsey, E. G., and Markley, F. L. (1990). On-board attitude algorithms for sampex. In NASA Flight Mechanics Symposium.

[Flatley and Moore, 1994] Flatley, T. W. and Moore, W. A. (1994). An earth albedo model. Technical report, National Aeronautics and Space Administration.

[Gai et al., 1985] Gai, E., Daly, K., Harrison, J., and Lemos, L. (1985). Star-sensor- based satellite attitude/attitude rate estimator. Journal of Guidance, Control, and Dynamics, Vol. 8(No. 5):pp. 560–565.

[Gebre-Egziabher et al., 2000] Gebre-Egziabher, D., Elkaim, G. H., Powell, J. D., and Parkinson, B. W. (2000). A gyro-free quaternion based attitude determination sys- tem suitable for implementation using low cost sensors. In Position Location and Navigation Symposium, IEEE 2000, pages pp. 185–192.

[Grewal and Andrews, 1993] Grewal, M. S. and Andrews, A. P. (1993). Kalman Filter- ing Theory and Practice. Prentice Hall.

[Hales and Pedersen, 2001] Hales, J. H. and Pedersen, M. (2001). Two-axis moems sun sensor for pico satellites. In 16th Annual AIAA/USU Conference on Small Satelites.

[Harris and Lyle, 1969] Harris, M. and Lyle, R. (1969). Spacecraft radiation torques. Technical Report No. NASA SP-8027, National Aeronautics and Space Administra- tion.

[Herman and Celarier, 1997] Herman, J. R. and Celarier, E. A. (1997). Earth surface reflectivity climatology at 240-380nm from toms data. Journal of Geophysical Re- search, Vol. 102(No. D23):pp. 28003–28011. 154 BIBLIOGRAPHY

[Herman et al., 2001] Herman, J. R., Larko, D., Celarier, E., and Ziemke, J. (2001). Changes in the earth’s uv reflectivity from the surface, clouds, and aerosols. Journal of Geophysical Research, Vol. 106(No. D6):pp. 5353–5368.

[Hughes, 1986] Hughes, P. C. (1986). Spacecraft Attitude Dynamics. Wiley and Sons, Inc.

[Humphreys, 2002] Humphreys, T. E. (2002). Attitude determination for small satel- lites with modest pointing constraints. In AIAA Student Conference on Small Satel- lites.

[Julier and Uhlmann, 1994] Julier, S. J. and Uhlmann, J. K. (1994). A general method for approximating nonlinear transformations of probability distributions. Technical report, Robotics Research Group, Department of Engineering Science, University of Oxford.

[Julier and Uhlmann, 1997] Julier, S. J. and Uhlmann, J. K. (1997). A new exten- sion of the kalman filter to nonlinear systems. In 11th International Symposium on Aerospace/Defence Sensing, Simulation, and Controls.

[Jørgensen, 1995] Jørgensen, J. L. (1995). Development of the Ørsted precision attitude instrument the star imager. In The Chapman Conference on Measurement Techniques for Space Plasmas.

[Kalman, 1960] Kalman, R. E. (1960). A new approachto linear filtering and prediction problems. Transactions of the ASME - Journal of Basic Engineering, Vol. 82D(Series D):pp. 35–45.

[Kalman and Bucy, 1961] Kalman, R. E. and Bucy, R. (1961). New results in linear filtering and prediction theory. Transactions of the ASME - Journal of Basic Engi- neering, Vol. 83(Series D):pp. 95–108.

[Koelemeijer and Stammes, 1998] Koelemeijer, R. B. A. and Stammes, P. (1998). Po- tential of gome for determining the spectral albedo of surfaces - application to rain forest. Earth Observation Quarterly, No. 58.

[Kushner, 1967a] Kushner, H. (1967a). Approximations to optimal non-linear filters. In IEEE Joint Equations, volume Vol. 3, pages pp. 179–190.

[Kushner, 1967b] Kushner, H. (1967b). Dynamical equations for optimal nonlinear fil- tering. Journal of Differential Equations, Vol. 3:pp. 179–190.

[Lai et al., 2003] Lai, K., Crassidis, J. L., andHarman,R. R. (2003). In-space spacecraft alignment calibration using the unscented filter. In AIAA Guidance, Navigation, and Control Conference. BIBLIOGRAPHY 155

[Lefebvreet al., 2004] Lefebvre, T., Bruyninckx, H., and Schutter, J. D. (2004). Kalman filters for nonlinear systems: A comparison of performance. The Interna- tional Journal of Control, Vol. 77(No. 7):pp. 639–653. [Lefferts et al., 1982a] Lefferts, E. J., Markley, F. L., and Shuster, M. D. (1982a). Kalman filtering for spacecraft attitude estimation. Journal of Guidance, Control, and Dynamics, Vol. 5(No. 5):pp. 417–429. [Lefferts et al., 1982b] Lefferts, E. J., Markley, F. L., and Shuster, M. D. (1982b). Kalman filtering for spacecraft attitude estimation. Journal of Guidance, Control, and Dynamics, Vol. 5(No. 5):pp. 417–429. [Lerner, 1978] Lerner, G. M. (1978). Spacecraft Attitude Determination and Control, chapter Three-Axis Attitude Determination, pages pp. 420–428. D. Reidel, Dor- drecht, The Netherlands. [Liebe, 1995] Liebe, C. C. (1995). Star trackers for attitude determination. IEEE Aerospace and Electronic Systems Magazine, Vol. 10(No. 6):pp. 10–16. [Lyle et al., 1971] Lyle, Robert, Leach, J., and Shubin, L. (1971). Earth albedo and emitted radiation. Technical Report No. NASA SP-8067, National Aeronautics and Space Administration. [Markley, 1988] Markley, F. L. (1988). Attitude determination using vector observa- tions and the singular value decomposition. Journal of the Astronautical Sciences, Vol. 36(No. 3):pp. 245–258. [Markley, 1993] Markley, F. L. (1993). Attitude determination using vector observa- tions: A fast optimal matrix algorithm. Journal of the Astronautical Sciences, Vol. 41(No. 2):pp. 261–280. [Maybeck, 1982] Maybeck, P. S. (1982). Stochastic models, estimation, and control, volume 2. Academic Press Limited. [Mazer, 1997] Mazer, J. A. (1997). Solar Cells: An Introduction to Crystalline Photo- voltaic Technology. Kluwer Academic Publishers. [McPeters et al., 1998] McPeters, R., Bhartia, P. K., Krueger, A. J., and Herman, J. R. (1998). Earth probe total ozone mapping spectrometer (toms) data products user’s guide. Technical Report No. 1998-206895, National Aeronautics and Space Admin- istration. [National Aeronautics and Space Administration, 2005] National Aeronautics and Space Administration (2005). http://jwocky.gsfc.nasa.gov/. [Nielsen et al., 2005] Nielsen, J. D., Bisgaard, M., Alminde, L., and Bhanderi, D. (2005). Space related education at the university of aalborg, denmark. Nordic Space Activities, Vol. 13(No. 2):pp. 8–14. 156 BIBLIOGRAPHY

[Princeton Satellite Systems, 2005] Princeton Satellite Systems (2005). http://www.psatellite.com/. [Psiaki et al., 1990] Psiaki, M. L., Martel, F., and Pal, P. K. (1990). Three-axis atti- tude determination via kalman filtering of magnetometer data. Journal of Guidance, Control, and Dynamics, Vol. 13(No. 3):p. 506–514. [Puig-Suari et al., 2001] Puig-Suari, J., Turner, C., and Twiggs, R. J. (2001). Cubesat: The development and launch support infrastructure for eighteen different satellite customers on one launch. In AIAA/USU Conference on Small Satellites. [Ryer, 1997] Ryer, A. (1997). Light Measurement Handbook. International Light. [Shuster, 1989] Shuster, M. D. (1989). A simple kalman filter and smoother for space- craft attitude. Journal of the Astronautical Sciences, Vol. 37(No. 1):pp. 89–106. [Shuster, 1993] Shuster, M. D. (1993). A survey of attitude representations. Journal of the Astronautical Sciences, Vol. 41(No. 4):pp. 439–517. [Shuster and Oh, 1981] Shuster, M. D. and Oh, S. D. (1981). Three-axis attitude de- termination from vector observations. Journal of Guidance and Control, Vol. 4(No. 1):pp. 70–77. [Snyderand Wan, 1998] Snyder, W. C. and Wan, Z. (1998). Brdf models to predict spectral reflectance and emissivity in the thermal infrared. IEEE Transactions On Geoscience and Remote Sensing, Vol. 36(No. 1):pp. 214–225. [Stuelpnagel, 1964] Stuelpnagel, J. D. (1964). On the parametrization of the three- dimensional rotation group. SIAM Review, Vol. 6(No. 4):pp. 422–430. [The Mathworks, 2005] The Mathworks (2005). http://www.mathworks.com/. [van Beusekom and Lisowski, 2003] van Beusekom, C. J. and Lisowski, R. (2003). Three-axes attitude determination for falconsat-3. In AIAA Student Conference. [Wahba, 1965] Wahba, G. (1965). A least squares estimate of satellite attitude. SIAM Review, Vol. 7(No. 3):pp. 409–426. [Wan and van der Merwe, 2000] Wan, E. A. and van der Merwe, R. (2000). The un- scented kalman filter for nonlinear estimation. In IEEE Symposium 2000: Adaptive Systems for Signal Processing, Communications, and Control. [Weisstein, 2005] Weisstein, E. W. (2005). Surface of revolutions. http://mathworld.wolfram.com/SurfaceofRevolution.html. From Mathworld - A Wolfram Web Resource. [Wertz, 1978] Wertz, J. R., editor (1978). Spacecraft Attitude Determination and Con- trol. Kluwer Academic Publishers. BIBLIOGRAPHY 157

[Wertz, 2001] Wertz, J. R., editor (2001). Mission Geometry: Orbit and Constellation Design and Management. Microcosm Press AND Kluwer Academic Publishers.