PRECISE FORMATION-STATE ESTIMATION IN LOW EARTH ORBIT USING CARRIER DIFFERENTIAL GPS a dissertation submitted to the department of aeronautics and astronautics and the committee on graduate studies of stanford university in partial fulfillment of the requirements for the degree of doctor of philosophy Franz D. Busse March 2003 c Copyright by Franz D. Busse 2003 All Rights Reserved ii I certify that I have read this dissertation and that in my opinion it is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. Jonathan P. How Department of Aeronautics and Astronautics, MIT (Principal Adviser) I certify that I have read this dissertation and that in my opinion it is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. Stephen Rock Department of Aeronautics and Astronautics I certify that I have read this dissertation and that in my opinion it is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. Per K. Enge Department of Aeronautics and Astronautics Approved for the University Committee on Graduate Studies: iii iv Abstract Formation flying in Low Earth Orbit (LEO) offers great benefits for many space science applications. These formation flying missions will require precise relative navigation. The required precision can potentially be achieved using carrier differential GPS (CDGPS). However, previous to this work, no GPS-based sensor had demonstrated the capability of providing the necessary precision levels in LEO. This dissertation presents the design and demonstration of a decentralized, real-time CDGPS relative navigation system designed for the Orion formation flying microsatellite project. The navigation system achieves accuracy better than 2 cm for relative position in LEO formations with separations of 1 km between vehicles. This result is achieved by modifying the GPS receiver and designing an improved relative navigation filter. On the receiver, changes are made that allow it to operate reliably in LEO, and take synchronized, low-noise measurements. For the filter, implementation trade studies were performed to design an Extended Kalman Filter (EKF). These studies show that a nonlinear measurement update method is required, while a linear state propagation method can be used. For additional robustness, an adaptive algorithm is developed within the EKF, which is shown to correctly identify the covariance of the process and sensor noise. It also feeds the residuals back to the state covariance, which prevents filter divergence and maintains the covariance as a more accurate indicator of the performance of the nonlinear filter. Hardware-in-the-loop demonstrations are performed using Goddard Space Flight Center’s Formation Flying Test Bed (FFTB). The FFTB is the most realistic orbital test environment currently available. Four-vehicle formations were simulated, providing the first-ever simultaneous relative navigation results. These results show v the decentralized filter achieving 1–2 cm relative position accuracy, and less than 0.5 mm/s relative velocity error. The individual error sources in these simulations were studied. They are a function of separation between vehicles, and it was found that the measurement errors (the largest due to ionosphere) have greater impact than dynamic propagation errors. The hardware-in-the-loop demonstrations of the receiver and filter greatly increase confidence that this system can operate successfully on orbit. vi Acknowledgments I could not have done this work alone. First, I want to thank my advisor, Professor Jonathan How. He has always set the highest standards for my work. His thoroughness, attention to detail, and expectation for quality have been essential. I also thank the other members of my reading committee, Pr. Per Enge and Pr. Stephen Rock. I appreciate their time and insight, and respect them not only as great researchers, but as great teachers as well. I recognize with gratitude the funding primarily from NASA GSFC (under a number of different contracts, most recently NASA grant NAG5-10719), and also from AFRL, without which this research would not have been possible. My thanks go to the great staff at NASA GSFC involved with the Formation Flying Testbed. I am grateful for the support of Frank Bauer, Jesse Leitner, and Rich Burns. I also thank James Simpson and Larry Jackson, who were great help, and also became great friends. It has been an honor, a privilege, and a pleasure to know and work with my colleagues at Stanford and MIT. At Stanford, I am especially grateful to J. Carl Adams, Eric Olsen, and Chan Woo Park, for their time and friendship. Similarly, at MIT, I especially recognize the friendship and help of Philip Ferguson, Nick Pohlman, and Arthur Richards. Finally, on a more emotional, but no less important level, I am very grateful to my family, especially my parents. They have always given encouragement and freedom to follow my dreams, and have been examples of living by the highest principles. Saving the most important for last, I thank my wife, for her unconditional love, patience, understanding, and providing joy in my life to make it all worthwhile. This work, which represents my greatest intellectual endeavor yet, I dedicate to God. I recognize His inspiration and support in this work and throughout my life. He is my Lord and my Saviour, and any achievement of mine is made possible by Him. vii Nomenclature General nomenclature rules: â The hat is read as “the estimate of a” ã The tilde is read as “the error”, defined as ã = â − a ȧ The derivative of a with respect to time (e.g. velocity) ä The second derivative of a with respect to time (e.g. acceleration) a+ a posteriori quantity (after the measurement update) a− a priori quantity (before the measurement update) m a a superscript refers to GPS satellite m a Boldface indicates a vector quantity kak The magnitude of the vector, this is the same as the two-norm ∆aij The differential quantity between i and j δa Incremental update to a A Capital letters generally indicate matrices AT The transpose of A (matrix or vector) † A Pseudo-inverse of A, which is (AT A)−1 A Specific quantities: a Semi-major axis of the orbital ellipse aB Acceleration due to third body gravity aH Acceleration due to higher-order gravity harmonics aA Acceleration due to atmospheric aerodynamics aR Acceleration due to solar radiation viii bi B Receiver i clock offset state m NAVSTAR m clock offset state Bn Noise bandwidth of a phase-lock loop CD Coefficient of Drag CECEF ECEF correction term Dim Range between satellite m and user i e Orbital eccentricity Eim Ephemeris error for NAVSTAR m as observed by user i f Differential perturbing force vector f Frequency f (·) Continuous state dynamic function fk (·) Discrete state dynamic function F Linear continuous state dynamics function Fc Signal frequency h(·) Observation function H Observation matrix H(j2πf ) Phase-lock loop transfer function i 1) Orbital Inclination 2) Index for user vehicles. 3) Iteration index Iim Ionospheric delay between NAVSTAR m and user i I The identity matrix Jn The nth gravitational harmonic K 1) Kalman gain 2) Controller gain (clock) Ku Constant factor for thrust uncertainty losm i Unit vector along line of sight between NAVSTAR m and user i LOS Matrix of combined lines-of-sight n Orbital mean motion nk Number of time steps during a selected interval P State covariance ix qc Continuous process noise vector on velocity qu Process noise vector on control input Q, Qk Process noise covariance Qc Process noise spectral density ? Q Measure of process noise covariance (adaptive) rij Single element of matrix R, subscripts indicate row and column rm Position (3 dimensions) of NAVSTAR m ri Position (3 dimensions) of user vehicle i r̃ Position error norm (performance metric) R Sensor noise covariance R? Measure of sensor noise covariance (adaptive) t Time: ts –time signal is sent, tr –time signal is received T Time step for tracking loop equations u Control input (thruster firing) w Disturbance wb Disturbance to receiver clock dynamics w∆r Disturbance to motion dynamics x Relative position in first dimension x State vector to be estimated xABS Absolute state vector y Relative position in second dimension y Measurement vector yABS Absolute measurement vector z Relative position in third dimension βim γim Carrier phase integer ambiguity bias A generic small value ∆φ Park’s correction for range ∆φ̇ Park’s correction for range-rate εm ij Effect of absolute error in single difference measurement θ Mean anomaly in orbit Elevation angle from user i to GPS satellite m x µ 3 1) Gravitational constant for earth, 3.986 × 1014 ms2 . 2) NCO state. 3) The mean of a random variable ν Sensor noise: νρ – code phase noise, νφ – carrier phase noise, νφ̇ – Doppler noise, ν∆φ – single difference carrier phase noise. ν? Combined sensor noise with other unmodelled terms ξ A generic state ρm i Code phase measurement, from NAVSTAR m to user i % Effect of absolute state error on estimate of relative state acceleration σ Standard deviation τ Orbital period φm i Carrier phase measurement, from NAVSTAR m to user i Φ State propagation matrix χ a generic formation state ω Orbital argument of perigee Ω Orbital longitude of the ascending node Ωe Rotation rate of the Earth xi List of Acronyms AET Absolute Estimation Tool (GSAT module) AFRL Air Force Research Laboratory AMSAT Amateur Satellite C/A Coarse Acquisition CDGPS Carrier-phase Differential GPS CDH Command and Data Handling computer CD/RM Simple Dynamics/Real Measurement (simulation environment) CD/SM Complex Dynamics/Simple Measurement (simulation environment) DoD Department of Defense DOS Disk Operating System (Microsoft) ECEF Earth Center Earth Fixed (Cartesian coordinate frame) ECI Earth Centered Inertial ECRV Exponentially Correlated Random Variable EKF Extended Kalman Filter ESA European Space Agency FFTB Formation Flying Test Bed FLL Frequency Lock Loop GDOP Geometric Dilution Of Precision GEO Geosynchronous Earth Orbit GPIO General Purpose Input Output GPS Global Positioning System GSAT GPS Simulation and Analysis Toolkit GSFC Goddard Space Flight Center (NASA) ICD Interface Control Document xii JPL Jet Propulsion Laboratory KF Kalman Filter LEO Low Earth Orbit LISA Laser Interferometer Space Antenna LOS Line of Sight LQE Linear-Quadratic Estimator LQR Linear-Quadratic Regulator LVLH Local Vertical Local Horizontal (coordinate frame) MIT Massachusetts Institute of Technology MMLE Method of Maximum Likelihood Estimation NASA National Aeronautics and Space Administration NASDA (Japan’s national space agency) NAT Noise Analysis Tool (GSAT module) NATO North Atlantic Treaty Organization NCO Numerically Controlled Oscillator OAT Orbit Analysis Tool (GSAT module) PLL Phase Lock Loop PRN Pseudo Random Noise RF Radio Frequency RIC Radial – In-Track – Cross-Track (local reference frame) RISC Reduced Instruction Set Computer (microprocessor architecture) RMS Root Mean Square RSS Root Sum Square RTE Real-Time Estimator (GSAT module) SD/SM Simple Dynamics/Simple Measurement (simulation environment) SMA Sub-Miniature A (coaxial cable designation) STANAG STANdard AGreement STS-80 Shuttle Transport System 80 (shuttle flight designation) TEC Total Electron Count (in ionosphere) UCLA University of California Los Angeles URE User Range Error xiii ZOH Zero Order Hold (discrete sampling technique) xiv Contents Abstract v Acknowledgments vii Nomenclature viii List of Acronyms xii 1 Introduction 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Formation Flying . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Precision Requirements . . . . . . . . . . . . . . . . . . . . . 6 1.1.3 Simplicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2 Dissertation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 GPS Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4 Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5 Motivation 1 1.4.1 Orbital Absolute Navigation . . . . . . . . . . . . . . . . . . 14 1.4.2 Orbital Relative Navigation . . . . . . . . . . . . . . . . . . . 15 1.4.3 Formation Flying using GPS . . . . . . . . . . . . . . . . . . 16 1.4.4 Adaptive Estimation . . . . . . . . . . . . . . . . . . . . . . . 17 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2 Orbital Formation Estimation 2.1 Orbital Dynamics 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv 20 2.2 2.3 2.1.1 Orbit Description . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.2 Perturbing Forces . . . . . . . . . . . . . . . . . . . . . . . . 24 2.1.3 Relative Orbital Dynamics . . . . . . . . . . . . . . . . . . . 25 2.1.4 Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Absolute GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2.1 Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2.3 Difference Absolute Solutions . . . . . . . . . . . . . . . . . . 34 Relative GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.3.1 Single Difference . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.3.2 Carrier-Phase Bias . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3.3 Differential Advantage . . . . . . . . . . . . . . . . . . . . . . 40 2.4 System Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.5 Centralized vs. Decentralized . . . . . . . . . . . . . . . . . . . . . . 47 3 Operating Environments 53 3.1 Outdoors 3.2 GSFC Formation Flying Test Bed 3.3 GPS Simulation and Analysis Toolkit 3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 55 . . . . . . . . . . . . . . . . . 58 3.3.1 GSAT-Real Time Estimator . . . . . . . . . . . . . . . . . . . 59 3.3.2 Multiple Simulations . . . . . . . . . . . . . . . . . . . . . . . 62 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4 Enhanced Differential GPS Receiver 65 4.1 Orion Receiver Overview . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2 Heritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.3 Receiver Design Innovations . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.1 Communication Interface . . . . . . . . . . . . . . . . . . . . 70 4.3.2 Clock Control . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.3 Orbital Capability . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3.4 Tracking Loop . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.4 xvi 5 Relative Navigation Filter 87 5.1 Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.2 Motivation for Filter Design . . . . . . . . . . . . . . . . . . . . . . . 91 5.3 Measurement Update 94 5.4 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Measurement Models . . . . . . . . . . . . . . . . . . . . . . 94 5.3.2 Linearity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.3.3 Measurement Method Selection . . . . . . . . . . . . . . . . . 98 Time Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.4.1 Propagation Model . . . . . . . . . . . . . . . . . . . . . . . . 103 5.4.2 Propagation Method Selection . . . . . . . . . . . . . . . . . 105 Filter Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 6 Hardware-in-the-Loop Demonstrations 6.1 6.2 Conditions 111 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 6.1.1 Formation Flying Test Bed 6.1.2 Filter 6.1.3 Formations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 6.1.4 Statistics Results . . . . . . . . . . . . . . . . . . . 111 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.2.1 General Performance . . . . . . . . . . . . . . . . . . . . . . . 117 6.2.2 1 km Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.2.3 Compiled Results 6.2.4 Correlation of Differential Errors . . . . . . . . . . . . . . . . 124 . . . . . . . . . . . . . . . . . . . . . . . . 123 7 Performance Comparisons and Error Analysis 7.1 7.2 128 Performance Comparisons . . . . . . . . . . . . . . . . . . . . . . . . 128 7.1.1 Using Doppler Measurements . . . . . . . . . . . . . . . . . . 128 7.1.2 Using Double Differences Error Analysis . . . . . . . . . . . . . . . . . . . . 131 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 7.2.1 Propagation Error vs. Measurement Error . . . . . . . . . . . 134 7.2.2 Individual Error Contributions 7.2.3 Error Summary . . . . . . . . . . . . . . . . . 137 . . . . . . . . . . . . . . . . . . . . . . . . . 146 xvii 7.2.4 Noise Floor: Synchronization . . . . . . . . . . . . . . . . . . 148 8 Adaptive Estimation 151 8.1 Importance of Q and R 8.2 Adaptive Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 8.3 . . . . . . . . . . . . . . . . . . . . . . . . . 152 8.2.1 Process Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 8.2.2 Sensor Noise 8.2.3 Identify Noise 8.2.4 Application Notes 8.2.5 Active Thrusting . . . . . . . . . . . . . . . . . . . . . . . . . 165 . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 . . . . . . . . . . . . . . . . . . . . . . . . . . 162 . . . . . . . . . . . . . . . . . . . . . . . . 164 Adaptive Performance . . . . . . . . . . . . . . . . . . . . . . . . . . 166 8.3.1 Wrong Parameter Correction . . . . . . . . . . . . . . . . . . 166 8.3.2 Covariance Comparison 8.3.3 Thrust Demonstration . . . . . . . . . . . . . . . . . . . . . . 168 . . . . . . . . . . . . . . . . . . . . . 168 9 Conclusions 173 9.1 Summary of Findings and Contributions . . . . . . . . . . . . . . . . 173 9.2 Future Research 9.3 Closing Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 A Additional HWIL Results 179 A.1 100 m In-Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 A.2 10 km In-Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 A.3 1 km Out-of-Plane Elliptical A.4 10 km In-Plane Elliptical . . . . . . . . . . . . . . . . . . . . . . 182 . . . . . . . . . . . . . . . . . . . . . . . . 183 A.5 1 km Thrusting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Bibliography 185 xviii List of Tables 1.1 Comparison of Relative Navigation Accuracy . . . . . . . . . . . . . 16 4.1 Standard Token Bus Sentence Structure . . . . . . . . . . . . . . . . 73 4.2 Data Sentence Listing . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.3 Crosslink Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.1 Nonlinearity Impact on Measurements . . . . . . . . . . . . . . . . . 98 5.2 Measurement Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.3 Propagation Methods 6.1 Initial Orbital Parameters . . . . . . . . . . . . . . . . . . . . . . . . 113 6.2 1 km Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.3 Compiled Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.1 Comparison Using Doppler 7.2 Comparison Using Double Differences 7.3 Ionospheric Corrections 7.4 Effect of Drag 7.5 Error Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 7.6 Noise Floor Error . . . . . . . . . . . . . . . . . . . . . . . . . . 107 . . . . . . . . . . . . . . . . . . . . . . . 129 . . . . . . . . . . . . . . . . . 134 . . . . . . . . . . . . . . . . . . . . . . . . . 143 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 A.1 Compiled Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 xix List of Figures 1.1 TechSat-21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Mission Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 GPS constellation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Work by Others . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1 Keplerian Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2 Frames of Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3 Absolute Navigation 32 2.4 Difference Absolute Solutions . . . . . . . . . . . . . . . . . . . . . 36 2.5 Relative Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.6 System Overview 45 2.7 Centralized vs. Decentralized 3.1 Outdoor Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2 GSFC FFTB Block Diagram . . . . . . . . . . . . . . . . . . . . . . 56 3.3 Propagation Comparisons . . . . . . . . . . . . . . . . . . . . . . . 61 3.4 Flow Chart for GSAT-RTE . . . . . . . . . . . . . . . . . . . . . . . 63 3.5 Flow Chart for Each Time-step . . . . . . . . . . . . . . . . . . . . 64 4.1 Antenna Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2 GPS Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.3 GPS Receiver Task Frequency . . . . . . . . . . . . . . . . . . . . . 68 4.4 Orion GPS Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.5 GPS Receiver during IF test . . . . . . . . . . . . . . . . . . . . . . 71 xx 4.6 Phase Lock Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 PLL Bode Response . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.8 Carrier Phase Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.9 Noise as Function of Bandwidth . . . . . . . . . . . . . . . . . . . . 85 5.1 2 stages of EKF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.2 Simple Simulation Example . . . . . . . . . . . . . . . . . . . . . . 92 5.3 Simple Filter with Real Data . . . . . . . . . . . . . . . . . . . . . . 93 5.4 Linear vs. Nonlinear 99 6.1 Elliptical Motion 6.2 Absolute Position Error . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.3 Absolute Velocity Error . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.4 Commonly Visible Satellites 6.5 Relative Position Error . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.6 Zoomed View of Relative Position . . . . . . . . . . . . . . . . . . . 122 6.7 Relative Velocity Error . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.8 Correlation Demonstration Formation . . . . . . . . . . . . . . . . . 125 6.9 Correlation of Position Errors 7.1 Doppler Effect on Position . . . . . . . . . . . . . . . . . . . . . . . 130 7.2 Doppler Effect on Velocity . . . . . . . . . . . . . . . . . . . . . . . 131 7.3 Double Difference Position Effect . . . . . . . . . . . . . . . . . . . 132 7.4 Double Difference Velocity Effect . . . . . . . . . . . . . . . . . . . 133 7.5 Process vs. Sensor Errors . . . . . . . . . . . . . . . . . . . . . . . . 136 7.6 Long Separation Effect . . . . . . . . . . . . . . . . . . . . . . . . . 138 7.7 Differential Ephemeris Error . . . . . . . . . . . . . . . . . . . . . . 139 7.8 Ephemeris Effect on Measurements 7.9 Absolute State Error Effect . . . . . . . . . . . . . . . . . . . . . . . . . . 80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . . . . . . . . . . . . . . . . . . . . . . 120 . . . . . . . . . . . . . . . . . . . . . 127 . . . . . . . . . . . . . . . . . . 140 . . . . . . . . . . . . . . . . . . . . . . 141 7.10 Ionospheric Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 7.11 Cycle Slip Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 8.1 Q̂ Impact (too low) . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 xxi 8.2 Q̂ Impact (too high) . . . . . . . . . . . . . . . . . . . . . . . . . . 154 8.3 Linear R sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 8.4 Linear Q sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 8.5 Actual R sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 8.6 Actual Q sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 8.7 Identify Process Noise 8.8 Identify Sensor Noise . . . . . . . . . . . . . . . . . . . . . . . . . . 164 8.9 Relative Position with No Adaptation . . . . . . . . . . . . . . . . . 167 . . . . . . . . . . . . . . . . . . . . . . . . . 163 8.10 Relative Position with Adaptive Filtering . . . . . . . . . . . . . . . 167 8.11 Bad Covariance Without Adaptation . . . . . . . . . . . . . . . . . 169 8.12 Covariance Improvement with Adaptation . . . . . . . . . . . . . . 169 8.13 Active Thrust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8.14 Thrust Position Error (constant Q) . . . . . . . . . . . . . . . . . . 172 8.15 Thrust Velocity Error (constant Q) . . . . . . . . . . . . . . . . . . 172 8.16 Thrust Position Error (augment Q) . . . . . . . . . . . . . . . . . . 172 8.17 Thrust Velocity Error (augment Q) . . . . . . . . . . . . . . . . . . 172 A.1 100 m In-Track RPE . . . . . . . . . . . . . . . . . . . . . . . . . . 180 A.2 100 m In-Track RVE . . . . . . . . . . . . . . . . . . . . . . . . . . 180 A.3 10 km In-Track RPE . . . . . . . . . . . . . . . . . . . . . . . . . . 181 A.4 10 km In-Track RVE . . . . . . . . . . . . . . . . . . . . . . . . . . 181 A.5 1 km Out-Plane Ellipse RPE . . . . . . . . . . . . . . . . . . . . . . 182 A.6 1 km Out-Plane Ellipse RVE . . . . . . . . . . . . . . . . . . . . . . 182 A.7 10 km In-Plane Ellipse RPE . . . . . . . . . . . . . . . . . . . . . . 183 A.8 10 km In-Plane Ellipse RVE A.9 1 km Thrusting RPE . . . . . . . . . . . . . . . . . . . . . . . . . . 184 . . . . . . . . . . . . . . . . . . . . . . 183 A.10 1 km In-Track RVE . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 xxii Chapter 1 Introduction Navigation — the science of determining position and velocity — is an ancient study. Navigation has been considered as long as humans have traveled. Throughout the generations of time, the applications and methodologies have increased in number, complexity, and accuracy. This dissertation extends the art of navigation once again, by improving the navigation of satellites in orbit about the earth, utilizing the most sophisticated navigation system yet — the Global Positioning System (GPS). The focus of this work is to improve the ability to estimate the state of formations of Low Earth Orbit vehicles. A formation is a group of vehicles operating in coordination with each other, and “typically involves active, real-time, closed-loop control of multiple, cooperating satellites in autonomous formation” [GW02]. The state of the formation includes the position and velocity of every vehicle in the formation. To estimate the formation state, GPS receivers are placed on each vehicle in the formation. These receivers take measurements that are combined in a filter, which then generates an estimate of the states of the vehicles in the formation. This dissertation presents an improved GPS receiver and filter for performing orbital formation estimation. The filter uses a real-time, decentralized algorithm. To add robustness, a new adaptive filter design has also been developed. Hardwarein-the-loop (HWIL) simulations performed at NASA’s Goddard Space Flight Center (GSFC) validate the receiver and filter designs, as well as the decentralized approach to formation state estimation. A four-vehicle formation, with the vehicles distributed 1 2 CHAPTER 1. INTRODUCTION about a 1×2 km ellipse, achieved 1-σ relative position accuracy of ≈1 cm and 1-σ relative velocity accuracy of ≈0.3 mm/s. These are the best HWIL results reported to date for LEO applications using GPS. 1.1 Motivation This work is motivated by a growing interest in formation flying space missions. These missions require a high level of precision in the formation state estimate. At the same time, formation state estimators must have a simple design. These issues are all explained in this section. 1.1.1 Formation Flying Formation flying is a new and exciting paradigm for many space missions. NASA, the Department of Defense (DoD), and the European Space Agency (ESA), are all planning a number of formation flying missions [FB98, GW02]. Groups of vehicles working together in space is already a common practice. These groups are commonly referred to as constellations. Various satellite communication systems, such as Iridium or Milstar, or even the GPS NAVSTAR satellite system, are examples of currently operated constellation missions. Formation flying is much more than just a constellation. A formation has a much higher degree of coordination between vehicles, where operations and maneuvers are planned as a group rather than just as individual vehicles. More importantly for the topic of this dissertation, the knowledge of the relative states between vehicles in a formation is of greater interest than knowledge of the absolute states of the vehicles. Absolute state refers to the position and velocity of the vehicle with respect to the center of the earth. Relative state refers to the position and velocity of the vehicle with respect to some point local to the spacecraft group (e.g. a “master” vehicle or a geometric center). The scope of this dissertation is limited to formations in Low Earth Orbit. This is an important point for the following reasons: 1.1. MOTIVATION 3 1. The formation is in orbit. This means that the formation is moving at a very high velocity with respect to the earth and the GPS constellation [GL97,GL00]. This impacts the signal tracking, the initial ability to attain signal lock, and the frequency of change in the observable set of GPS satellites. The characteristics of the space environment, especially temperature and radiation, also affect the electronics in the GPS receiver. 2. The formation is in low Earth orbit. This means we are always below the GPS constellation, and in general, have very good visibility of the GPS satellites. In Geosynchronous Earth Orbit (GEO) or highly elliptical orbits, there are large periods of time when there are no GPS measurements available. This raises very different challenges and requires additional study [AL02]. 3. The formation is not in Deep Space. There are a number of formation flying missions planned for regions outside of earth’s orbit, and without GPS coverage [DS02a, LISA, DAR]. These missions are also outside the scope of this dissertation. Formation flying has many potential benefits [FB99]. These include: 1. Improved Performance Formation flying enables missions that are otherwise impossible. One important capability is that of larger aperture sizes for interferometry. By using several coordinated collectors, rather than a single monolithic lense or antenna, almost unlimited aperture sizes are achievable, greatly enhancing the potential resolution of the observations. Formation flying also enables taking simultaneous measurements at long separations, which is especially beneficial to a variety of earth science missions [EORB,GRACE]. Furthermore, estimation techniques developed here can certainly be applied to orbital rendezvous and other proximity operations, which is a subset of formation flying missions. 2. Reliability Because there are multiple vehicles, missions should be more robust to vehicle failure. If there is a spacecraft bus failure, for example, only one 4 CHAPTER 1. INTRODUCTION of several payloads would be affected, so the mission performance might be degraded but not completely compromised. Formation flying also takes advantage of modularity; if one vehicle or payload fails, it can be replaced without affecting the rest of the formation. 3. Adaptability Besides reliability, modularity also provides adaptability. Not only is it possible to replace failed components, but it is also possible to add or remove payloads to meet new mission objectives over the course of the formation life. 4. Reduced Life Cycle Cost Formation flying enables smaller vehicles in higher quantities. Thus, the benefits of mass-production will lower total production cost. The previous advantages, reliability, modularity, and adaptability also all contribute to quicker mission development timelines and reduced mission life costs [FB98, FB99]. Several LEO formation flying missions are already planned, and some have already been flown. Some examples are: 1. TechSat-21 — This is an Air Force Research Lab (AFRL) program. It is intended to demonstrate Synthetic Aperture Radar using distributed spacecraft. It involves a formation of collectors, with a precisely controlled variable separation between vehicles. By changing the separation, the formation can change the aperture, effectively changing the resolution and field of view, depending on real-time mission objectives [AD98, TSAT]. 2. EO-1 — This two vehicle formation is already in orbit. The EO-1 was launched November 21, 2000, and flies in formation with Landsat-7 [EORB,FB97]. These vehicles provide various coordinated scientific earth images. 3. GRACE — The Gravity Recovery And Climate Recovery mission is operated by NASA and JPL. It involves two vehicles in a loosely controlled formation, but whose relative states are determined very precisely in post-processing. The mission uses the precise relative motion of the vehicles to improve models of Earth’s gravitational field, and also takes measurements of ocean-surface heights and other climate-related features [GRACE]. 1.1. MOTIVATION 5 Figure 1.1: An artists rendition of TechSat-21, which is an example of a currently planned AFRL Formation-Flying mission [AD98] 4. ETS-VII — This was an autonomous rendezvous mission conducted by NASDA in 1999. It had two vehicles, that launched joined together. One vehicle, designated the “chaser” then separated from the “target” vehicle, maneuvered away, and then returned and docked again with the target vehicle. This mission used an array of sensors, among which were GPS receivers located on each vehicle [IK01]. 5. XEUS — This is a future orbital X-ray interferometry mission by ESA. It is intended as a precursor for LISA, which is a deep-space astronomy mission. XEUS would require sub-millimeter relative position accuracy, which is more than GPS can provide alone, but GPS could provide a valuable intermediate stage in a suite of sensors to achieve the demanding performance [XEUS]. 6. Orion — Orion is a student-built, low-cost technology demonstrator. It is a collaborative effort between Stanford, MIT, and NASA. The mission objective was to demonstrate real-time carrier-differential GPS as the primary sensor for absolute and relative navigation, as well as a variety of autonomous planning and control algorithms. The current mission design is to launch two vehicles into low earth orbit, and have them maintain a simple formation, providing 6 CHAPTER 1. INTRODUCTION data for post-processing and analysis on the ground. The vehicles are nearly cubes, with about 50 cm sides, and a mass of approximately 45 kg. They have a cold gas propulsion system providing 6 degree-of-freedom control capability. The vehicles would each have an attitude capable GPS receiver and a Pentiumclass computer to perform advanced navigation, planning, guidance, and control algorithms. The work in this dissertation was funded and motivated by project Orion [OR01]. All of these missions are examples of currently operating or planned LEO formationflying missions for the near future. There are many more planned missions as well. A list of over 30 formation flying missions can be found at NASA GSFC Distributed Space Systems web site [DS02a]. Each of these missions have different requirements for the estimation precision and control accuracy of the relative states between the vehicles. 1.1.2 Precision Requirements The goal of this work is to provide a receiver and filter that can operate in an autonomous formation control architecture. This requires real-time estimation capability. It is important to make this distinction because much higher precision can be achieved in post-processing on the ground than can be achieved real-time on board the satellite. GRACE provides an ideal example. The real-time control requirement for GRACE is to maintain the desired separation with hundreds of meters of allowable error. However, in post-processing the relative state must be determined with millimeter precision [GRACE, WB02]. In discussing the real-time precision requirement for formation-flying missions, there are two fundamental parameters to consider. The first is how far apart the vehicles within the formation are from each other; the second is how accurately that relative state between the vehicles must be estimated. A formation could have the vehicles very far apart from each other, and still require very accurate estimation. As it will be demonstrated in later chapters, it is much more difficult to achieve the same relative navigation accuracy at longer separations than at shorter separations. 1.1. MOTIVATION 7 A representative sampling of formation flying missions is plotted as a function of the separation distance and required accuracy in Figure 1.2. The horizontal axis gives the characteristic separation between vehicles for a given formation. The vertical scale gives the required relative control accuracy for the mission. In this plot, the requirement becomes harder to achieve as you move down (more accurate) and to the right (farther apart). The plot shows several sample missions. The two in the upper right-hand are the currently operating formation flying mission, EO-1 and GRACE.1 These formations have separations of several hundred kilometers between the vehicles, but also very loose real-time control accuracies – EO-1 simply requires that the second vehicle remain within ±7 kilometers of the first [EORB, FB97]. The technology obviously already exists to meet these requirements. The next generation of planned missions, however, has much higher precision requirements. TechSat-21 plans on operating with separations between vehicles ranging from 500 to 5,000 meters. However, the mission requires about 3 cm real-time relative position estimation accuracy, in order to achieve the desired resolution for imaging [TSAT]. Even if a formation has very loose relative accuracy requirements, there are still benefits to high-precision estimation. Many researchers have investigated the impact of differential disturbances on the ability to actively control formation states. In research on formation planning and control, Tillerson et al. have shown that the errors in relative state estimation have a significant detrimental impact on the ability to control the formation [MT01,MT02]. They showed that relative velocity estimation errors on the order of 2 mm/s will have greater impact on the control effort than any other naturally occuring disturbance force. Greater control effort translates directly into greater fuel usage, which in turn shortens mission life. In other words, improved relative navigation estimation should increase the mission life for formation-flying applications. Furthermore, not only is relative state estimation important, but relative velocity is of greater importance than relative position in control and orbit determination. 1 The location of the GRACE icon in Figure 1.2 indicates the relative real-time control requirement, not the post-processed accuracy. 8 CHAPTER 1. INTRODUCTION Figure 1.2: Formation flying missions can be plotted according to required accuracy vs. separation between vehicles. Earlier missions had loose accuracy requirements, while future missions will require tighter accuracy. The Orion mission plans to keep the vehicles about 1 km apart, while estimating the relative position with 2 cm accuracy. [TSAT, EORB, EO00, OR01, GRACE, XEUS] Carpenter et al. describes the coordinated relationship between position and velocity in orbit determination; position and velocity knowledge in the orbit’s semi-major axis determination are related by the orbital mean motion [RC01]. This is corroborated by Tillerson; he further demonstrates that relative velocity error has approximately 450 times greater impact on secular in-track drift than relative position error [MT01]. Project Orion, which drove the requirements for the work presented in this dissertation, used all of these considerations to derive its relative navigation requirement. The target for demonstrated performance was to achieve 2 cm relative position accuracy, and 0.5 mm/s relative velocity accuracy, at separations of 1 km in real time [FD00, FD01]. 1.1. MOTIVATION 1.1.3 9 Simplicity This work was primarily focused on providing the navigational needs for the Orion microsatellite. Because of this focus on a real mission, design drivers of cost, robustness, and implementation have influenced the design of this receiver and filter. Formation flying is motivated by the need to meet mission objectives using less-costly designs, while maintaining system robustness. Specifically, a simple navigation filter was sought. A simple filter design is desirable for three reasons. The first is to meet computational limits. As a filter uses more states, or more advanced models, it greater computational effort is required. In order to perform more computations in real-time, more expensive processors must be used. These advanced processors often have less space heritage as well, which introduces additional risk. The second advantage of simplicity is that there is less potential for error in implementation. Avoiding, detecting, and correcting errors in software becomes exponentially more difficult as the code complexity increases. This increases development cost and decreases reliability. The third advantage of simplicity is that it reduces modeling effort. Higher fidelity filters with more complex models, require more effort for tuning and determining the parameters for these models. This also increases development cost and increases the likelihood of erroneous model inputs. One of the hoped-for advantages from formation flying is the ability to mass-produce smaller satellites, and this is only possible with simple navigation filters. Related to the issue of filter simplicity is the question of whether to use a centralized or decentralized filter approach. The centralized approach is potentially more accurate, but is less robust to single-point failure and requires greater computational capability. One of the goals of this research was to demonstrate the ability to meet the performance target using a simple algorithm. Generally, additional complexity or fidelity is added in an attempt to improve the performance of the filter. A simple filter risks neglecting elements that can significantly impact the state estimate. The filter design process becomes a balance between simplicity and performance. This balance will be a recurring theme throughout this thesis. 10 CHAPTER 1. INTRODUCTION 1.2 Dissertation Overview The objective is to precisely estimate the state of a formation of vehicles in Low Earth Orbit. For this estimator to meet formation flying requirements, it must be simple and robust. This dissertation describes the design, development, and demonstration of a simple, decentralized, GPS-based formation state estimator. This chapter continues by presenting an introduction to GPS, followed by a description of related work done previously by others. The contributions of this dissertation are also presented in this chapter. Chapter two defines the problem more clearly by establishing the frame of reference and states involved. It also gives a brief discussion of some important background material, including orbital dynamics, GPS fundamentals, and a road map to improving the estimation process. Chapter three looks at the operating and analysis environments used in this work. These include a ground-based set up and a high fidelity orbital simulator facility at NASA GSFC. This section also describes a MATLAB simulation and evaluation environment that has been developed for this work. Chapter four then focuses on the GPS receiver. It presents the design improvements made to the receiver that enable it to perform orbital relative navigation. Then in Chapter five, the attention is turned to the filter used to actually estimate the state based on the receiver measurements. Trade studies are conducted on a variety of different design options, and are used to determine a simple, yet effective and robust, filter design. Chapter six presents the hardware-in-the-loop demonstrations performed at GSFC using this receiver and filter. The simulation and filter conditions are fully described, and the experimental results are presented and explained. These demonstrations are followed in Chapter seven by an analysis of the error sources. The expected noise sources are individually analyzed and discussed, and their impact on the estimate error compared. Here different implementation studies are presented as well. The results presented in Chapter six assumed that the sensor and dynamic noise environments were properly modeled. Chapter eight presents an original adaptive filter routine that achieves the same performance even with an unknown noise environment. The algorithms are presented for this specific application, 1.3. GPS INTRODUCTION 11 and the performance is demonstrated. Finally, Chapter nine closes with a summary of the conclusions that are drawn from this work, as well as a look at areas for future research. 1.3 GPS Introduction At this point, it is worthwhile to give a brief overview of the Global Positioning System. The goal of this research was to achieve the target relative estimation performance using GPS as the only relative or absolute state sensor. Many references and tutorials already exist; this will provide only a brief introduction. It is drawn primarily from [GPS96, EK96, PE01]. GPS is a powerful navigation tool. Just a single receiver on each vehicle can provide four solutions of interest (and each solution is comprised of several states). It provides absolute state navigation, which is where the vehicle is with respect to the center of the earth, and how fast it is moving. It also provides an exact time synchronization. Combining measurements from two vehicles within the formation provides a relative state measurement. And finally, with multiple antennas on one vehicle, GPS has the potential of providing attitude sensing as well. Because of this range of capability, and relative low cost, GPS is an ideal sensor for formation flying. The Global Positioning System includes a constellation of satellites which broadcast messages that are received by users. At the time of writing, there are 28 of these satellites in orbit, which are also called NAVSTAR satellites. They are divided into 6 orbital planes, each inclined by 55◦ . They have 12-hour circular orbits, which is an altitude of 20,104 kilometers, and have a velocity of about 2.7 km/s. Each of the vehicles broadcast messages on two different frequencies, the L1 frequency (1575.42 MHz) and the L2 frequency (1227.60 MHz). The message on the L2 frequency is encrypted, and restricted to DoD-authorized users. For this reason, and also because dual frequency receivers are more expensive, the work in this dissertation uses only the L1 frequency. The L1 frequency carries both an unrestricted coarse/acquisition (C/A) code, as well as a precise (P) code. The P code can be transmitted in an encrypted mode available only to DoD-authorized users (and has been 12 CHAPTER 1. INTRODUCTION Figure 1.3: The GPS constellation. Currently, there are 28 satellites, in 6 orbital planes, with a 12 hour period. since 1994), which is referred to as Y code. Again, for cost reasons, this work only uses the C/A code signal. The C/A code is uses a sequence of 1023 bits repeated every millisecond (which gives 1.023 megachips per second), and is formed with a unique Pseudo-Random Noise (PRN) sequence. Often, the vehicles are referred to by these PRN numbers which range from 1 to 32. This code is further modulated by a navigation message at 50 bits per second. The navigation message sends almanac data (which is a description of the satellite’s orbit) for each active NAVSTAR satellite in the constellation. Each satellite also broadcasts a set of much higher resolution parameters for itself, called ephemerides or ephemeris data. A GPS receiver is used to gather these signals being transmitted by the GPS constellation, and produce a navigation solution from these signals. The GPS receiver has an antenna that gathers the RF signals. It then processes these signals in filters, amplifiers, and mixers, and sends the resulting signal to a correlator. The correlator has several channels (the receiver in this work has twelve), and each channel searches through the available set of 32 known PRNs. It creates a duplicate of the code, and slews it in time, searching for strong signal correlation. If there is a match between the duplicate and the transmitted signal, the receiver can lock onto that transmitted signal. The correlator measures the amount it had to slew the signal to match the incoming signal; this provides a time offset which corresponds to the time it took the 1.4. PREVIOUS WORK 13 signal to travel between the NAVSTAR satellite and the receiver. Since some other factors, such as the clock offset and environment, affect the signal, the correlator measure is not an exact time of transmission. This time of travel is often referred to as the pseudo-range. Once the receiver locks onto four or more of these pseudo-range signals, it can then determine its own position and time. Time must be solved for as well since the receiver clock will be offset from the actual system time. When completed successfully, a navigation fix is achieved. With this fix, the receiver can maintain lock on the signals in tracking loops. The receiver tracks the signals and computes navigation solutions as long as the GPS satellites remain in view. With the almanac data, and an estimate of its own state, the receiver is also able to find and track GPS satellites that come into view over time, enabling continuous navigation capability. The receiver provides measurements of the code phase. This code phase can generally determine the range between the receiver and the NAVSTAR satellite with an error on the order of several meters. Another technique involves using the carrier phase. The carrier wave is 19 cm long (as compared to the code wavelength of 300m), and has much less noise in the signal. The carrier phase measurement therefore provides much greater resolution; generally well below 1 cm. However, every carrier wave is identical, and so given a differential carrier phase measurement, there is ambiguity in how many integer waves there are between two different antennas. This ambiguity can be resolved, but the process adds complexity. 1.4 Previous Work This dissertation builds upon the work of others, which can be grouped into four general areas. The work discussed in this section represents the best results achieved or the most relevant work. The areas are: 1. Orbital absolute navigation using GPS 2. Orbital relative navigation using GPS 3. Formation flying using GPS 4. Adaptive filtering 14 CHAPTER 1. INTRODUCTION Figure 1.4: This work brings together and builds upon the work by many others, in a variety of areas. The following subsections discuss each of these facets. 1.4.1 Orbital Absolute Navigation Extensive work has already been done using GPS for absolute navigation in LEO. Carpenter includes a complete summary of all the shuttle missions using GPS and the navigation precision achieved on those missions [RC01]. GPS receivers have also been included on dozens of satellite missions. Lightsey has done significant work in defining the issues specific to GPS navigation in orbit, and developing GPS receivers for orbital applications [GL97, GL00]. Two of the most relevant researchers have been Unwin at the University of Surrey, and Montebruck at the German Space Operations Center. They have both worked on microsatellites similar to Orion, and have used GPS receivers with the same chip-set heritage as the receiver modified in this work. Unwin has used GPS on several small 1.4. PREVIOUS WORK 15 satellite projects, the most recent are the Disaster Monitoring Constellation (DMC) and the SNAP-1 missions [MU02, MU00]. Montebruck has recently been involved with the PCsat, a microsatellite built by the US Naval Academy and launched in Sep. 2001 [OM02b]. Their work has provided confidence that the GPS chipset used in this work can operate in the orbital environment, and within the limited resources of microsatellites. 1.4.2 Orbital Relative Navigation Using GPS for orbital relative navigation can be further divided into two areas: actual experiments performed on-orbit, and hardware-in-the-loop simulations. On orbit, the best results to date have been recorded from two missions: NASA’s shuttle mission STS-80, and NASDA’s ETS-VII (NASDA is the Japanese national space agency). Both of these used code phase measurements, which is more conservative, but limits the potential accuracy. The results for STS-80, flown in 1996, were 9 m relative position and 12 cm/s relative velocity accuracy [RC01]. Axelrad et al. also did further post-processing in 1999 using the data, and achieved 8.4 m relative position, with 3.1 cm/s relative velocity accuracy [PA99]. The ETS-VII mission in 1999 demonstrated autonomous orbital rendezvous. A variety of sensors were used during the experiments, including two GPS receivers for relative navigation. They demonstrated the ability to achieve 10 m relative position accuracy and 1 cm/s relative velocity [IK99, IK01] using GPS. Hardware-in-the-loop simulations have performed much better, mainly because they have used more advanced carrier-differential algorithms. Binning, in 1999, achieved 15 cm relative position accuracy and 0.3 mm/s velocity accuracy, using the dual-frequency TurboRogue receiver [PB97]. The dual-frequency measurements improves accuracy. He also used the Naval Research Laboratory’s OCEAN orbital model, which is a very sophisticated high fidelity orbit propagator. Ebinuma et al., who performed concurrent work with this dissertation, achieved 5 cm and 1 mm/s accuracies using a single-frequency receiver [TE01]. 16 CHAPTER 1. INTRODUCTION Table 1.1: Comparison of Relative Navigation Accuracy On-Orbit Experiment STS-80 Axelrad ETS-VII HWIL Simulation Binning Ebinuma TARGET Rel. Pos. (m) 9.0 8.4 10.0 Rel. Pos. (cm) 16.2 4.7 2.0 Rel. Vel. (cm/s) 12 3.1 0.95 Rel. Vel. (mm/s) 0.31 1.04 0.5 Table 1.1 compares the results of these previous researchers. They have certainly made great strides towards the goal stated earlier, but to date, they still fall short. Furthermore, they rely on very complex models with many states to estimate. All of these experiments have involved only two vehicles. So far, none of them have had the capability of comparing multiple relative solutions. Comparing relative solutions is important because this provides greater insight concerning the correlation between errors in the solutions. The significance of this will be discussed further in Section 2.5. 1.4.3 Formation Flying using GPS This thesis builds most closely on work by Eric Olsen (1999) and Chan Woo Park (2001), both at Stanford. The focus of their work was the development of formation flying estimation algorithms. Eric Olsen made key contributions in estimation robustness, bias initialization for formations, and using pseudolite augmentation for initialization [EO99]. He demonstrated these algorithms using formation flying blimps [EO98]. Chan Woo Park developed algorithms for decentralized formation estimation, further improved the initialization routine and pseudolite transceiver, and a linear correction for long separations [CP01]. He used a set of three trucks to demonstrate his formation flying algorithms. 1.4. PREVIOUS WORK 17 The work by Olsen and Park built in turn on work by Zimmerman (1996), also at Stanford [KZ96]. He constructed a two-dimensional indoor testbed with two freeflying robots on a granite table with pseudolites that generated GPS-like signals. Using these robots, he demonstrated the use of GPS to perform relative maneuvers including rendezvous between the robots. NASA Goddard Space Flight Center has established a Distributed Space System lab [DS02b]. Their group conducts research in a variety of areas related to formation flying, including formation sensing and control, constellation management and mission operations, and inter-satellite communication. Their group operates the Formation Flying Test Bed (FFTB), which is described in greater detail in Section 3.2. Within their group, Carpenter has been especially prolific in work related to formation control [RC01, RC02]. Speyer et al., at the University of California Los Angeles (UCLA), have done significant research using GPS with Inertial Navigation Systems (INS) on board formation flying aircraft [WW00, WW02]. They are working towards using GPS-INS for formation flying F-18s. To date, their formations have only included two vehicles. They have also investigated the feasibility of decentralized estimation [WW00]. Eric Olsen also did significant work in modifying a commercially available GPS receiver for performing relative navigation. This will be discussed in greater detail in Section 4.2. 1.4.4 Adaptive Estimation All of the orbital relative navigation work done by others assumes that the filter is properly tuned. In particular, they assume that the process and sensor noise levels are known. However, it is possible that those conditions may not be known, and the filter is not tuned correctly for the actual operating environment. Adaptive filtering techniques can be used to improve filter performance even if the sensor and process noises are not well known. Even though this does add some complexity to the filter, it reduces the overall challenge of accurately tuning the navigation filter for each vehicle, and greatly increases the overall system robustness. 18 CHAPTER 1. INTRODUCTION The adaptive techniques used in this work are based on the Method of Maximum Likelihood Estimation (MMLE). MMLE is used with Kalman filters, and was introduced by Mehra in 1972 [RM70, RM72]. MMLE techniques have been refined over the years. Maybeck, in his textbook in 1982, includes a chapter deriving MMLE approaches for parameter identification (specifically for unknown process noise and sensor noise) [PM82]. Campana and Marradi, at the LABEN SpA Institute, use MMLE adaptive filtering techniques for absolute and attitude GPS navigation applications [CM00]. They used MMLE for dealing with Selective Availability, and also the lower precision in absolute navigation encountered when vehicles are near the Earth’s poles. Campana and Marradi deal with different issues than those dealt with in this work. Nevertheless, it is similar in that it is an example of adaptive filtering for a system using GPS measurements. 1.5 Contributions This thesis presents the first realistic demonstration of multiple vehicle formation flying in LEO using CDGPS. In meeting this challenge, several contributions are made: 1. Develop a Sensor — A GPS receiver is modified and enhanced to reliably provide low-noise measurements in the orbital environment. It is designed to provide attitude sensing (using six antennas and three 12-channel correlators) as well as relative navigation capability, with only the limited resources available on a microsatellite. 2. Develop Relative Navigation Algorithms— A simple Extended Kalman filter for relative navigation using CDGPS measurements is designed and developed. To design the filter, key implementation trades are made. These trades include what fidelity of measurement and dynamics model to use in the filter, whether to use single or double difference measurements, and whether to use the Doppler measurements. This filter is implemented in a decentralized architecture. 1.5. CONTRIBUTIONS 19 3. Develop an Adaptive Filter — An adaptive filter is designed and developed that can identify existing process and sensor noise levels. It adds robustness in the face of uncertainty, and reduces the need for custom filter tuning. 4. Demonstrate the Sensor — The keystone of all this work is the validation of this sensor and these algorithms. Performance of the receiver/filter sensor system is demonstrated using high-fidelity, hardware-in-the-loop demonstrations. The adaptive Extended Kalman Filter, the decentralized architecture, and the GPS receiver are all validated by the demonstrations. For a four-vehicle formation in a 1 × 2 km elliptical formation, 1-σ relative position errors of ≈ 1cm and 1-σ relative velocity errors of ≈ 0.3 mm/s are achieved. 5. Multiple Solution Comparison— Four-vehicle formation demonstrations are performed. These demonstrations provide the first ever hardware-in-the-loop simultaneous relative navigation solutions. The simultaneous solutions allow comparisons of correlated differential noises and errors. They demonstrate that there is a strong spatial correlation in the errors between independent relative solutions. 6. Error Analysis— The remaining sources of error within the state estimates are analyzed. The relationship between the separation distance between vehicles in the formation and the differential errors is measured. This analysis reinforces confidence in the demonstrations, and identifies what challenges must be overcome to gain future performance improvement. With the number of LEO formation flying missions growing, there is a clear need for improved orbital formation-state estimation. An innovative and original receiver/filter system has been designed, developed and demonstrated that met this need. This accomplishment is the primary contribution of this dissertation. Chapter 2 Orbital Formation Estimation This chapter establishes the framework for using GPS to perform formation-state estimation. The purpose is to provide more in-depth background on the topics needed for discussing the research. It also serves as an introduction to nomenclature and terminology. Since the scope of this work is Low Earth Orbit, this work begins with a brief description of orbital dynamics. Then the specific frames of reference and the formation state will be defined more thoroughly. After that, the mathematical models for the absolute and relative GPS measurements will be described. Finally, a more detailed discussion of centralized versus decentralized estimation in this context will be presented. 2.1 Orbital Dynamics This is only a brief overview of some fundamentals for orbital dynamics. Though many references exist, this overview is taken primarily from Kaplan [MK76] and Bate [RB71]. 20 2.1. ORBITAL DYNAMICS 2.1.1 21 Orbit Description An orbit, for our purposes, involves the interaction of a body with a smaller mass moving about a body with larger mass. This dissertation will focus on artificial satellites rotating about the earth in Low Earth Orbit (specifically 300-600 km altitudes) in near-circular orbits. This motion, in its purest form, can be described by Newton’s law of gravitation, r̈ = − µr krk3 (2.1) where r is the three-dimensional position vector of the satellite with respect to the center of the earth, and µ is the earth’s gravitational parameter, which is µ = 3.986 × 3 m 1014 sec 2 . Kepler was the first to realize that planets move about the sun in ellipses, with the sun (the central body) at one of the two foci of the ellipse. This description is also true for satellites about the earth, at least as a first approximation. This pure elliptical motion governed by the central body is slightly perturbed by other forces, which are briefly discussed in the next section. For the earth, the point on the orbit closest to the center of the earth is called perigee, and the point farthest is called apogee. Six parameters are required to fully describe an orbit. There are two commonly used set of parameters, Keplerian (or classical) and Cartesian. The Keplerian elements are depicted in Figure 2.1. They are: a = length of semi-major axis of orbital ellipse. e = elliptical eccentricity (dimensionless). i = angle of inclination of the orbital plane with the equator. Ω = longitude of the ascending node – angle between the first point of Aries and the orbital plane. ω = argument of perigee – angle between equatorial intercept and perigee, in the orbital plane. θ = mean anomaly – angle or time of satellite location on orbital ellipse past passage through perigee. 22 CHAPTER 2. ORBITAL FORMATION ESTIMATION Figure 2.1: This picture illustrates the Keplerian orbital elements. The translational state of the satellite is completely captured using these classical elements. It can also be defined by the position and velocity in a Cartesian frame of reference, which are represented as r and ṙ respectively. Two are commonly used, Earth Centered Inertial (ECI), and Earth Centered Earth Fixed (ECEF). The ECEF frame is a rotating frame, fixed to the earth. It is defined as having the Z-axis going through the North Pole (true axis of rotation, not magnetic), and the XY plane in the equatorial plane, with the X-axis going through the Greenwich Meridian, and the Y-axis going through 90◦ East latitude. The Earth Centered Inertial frame again has the Z-axis through the North pole. The X-axis is defined by the line between the center of the Earth and the vernal equinox at some predefined epoch (referred to as the “first point of Aries”). As the Earth rotates during the day and throughout the year, this line is constant for all practical purposes. The Y-axis forms a perpendicular right-handed coordinate frame with the X and Z axes. 2.1. ORBITAL DYNAMICS 23 The nutation and precession of the earth’s rotation are neglected, and it is assumed that there is a constant rate of rotation between ECI and ECEF. The earth rotation rate is Ωe and equals 7.292 × 10−5 rad/sec. Most GPS applications are concerned with determining locations with respect to the earth. For this reason, the ECEF frame is often employed since it translates more directly into latitude and longitude. For this dissertation, all measurements and computations were done in this ECEF frame. Since this is a rotating frame of reference, additional terms are included in the dynamics to account for the Coriolis effect associated with rotating frames. In theory though, as long as consistency is maintained, the selection of frame of reference is arbitrary. There are some fundamental equations associated with orbital dynamics, which will be referenced throughout this dissertation. The satellite will move about the earth with a regular period τ , defined as, τ = 2π s a3 µ (2.2) The mean orbital motion, n, is defined as, n= r µ 2π = 3 a τ (2.3) The velocity of an orbiting satellite is determined by the orbital energy, which is expressed as µ µ ṙ2 − =− 2 krk 2a (2.4) In the case of a circular orbit, the semi-major axis a is equal to the range krk. In this case, Equation 2.4, simplifies to kṙk = r µ krk (2.5) 24 CHAPTER 2. ORBITAL FORMATION ESTIMATION So, for example, a satellite orbiting with a 450 km altitude has a semi-major axis of 6,828 km. The period is about 93 minutes, and the satellite is moving at about 7,640 m/s. 2.1.2 Perturbing Forces There are several additional forces that act upon a satellite in orbit [DV01]. These are all much smaller than the central body gravitational force, but are important to consider in any orbital estimation or control application. The perturbing forces are: 1. Third Body gravity, aB . This is the gravitational force due to the sun and the moon. The effect is a strong function of eccentricity and inclination. It will have a greater affect on high inclination orbits and highly elliptic orbits. The error is easier to represent by how much it changes the argument of perigee and the ascending node. For near circular, LEO orbits, it shifts the ascending node by about 1.5 × 10−4 degrees per orbit. 2. Non-spherical Earth, aH . Keplerian orbits assume a perfect distribution of mass of the earth, centered exactly at the Earth’s center. However, the Earth is not a perfect sphere, and has different densities throughout. This leads to different gravitational zones which increase or decrease the gravity felt at a given location. These are generally represented through zonal coefficients, which are usually represented by Jn . Here the largest effect is J2 , and for the first several coefficients, the higher subscripts represent smaller deviations. The magnitude of the effect of these zonal harmonics are also a function of altitude, eccentricity, and inclination. Lower altitudes are much more strongly affected. For Orion’s LEO orbit, J2 can cause up to 0.45 degree per orbit change in the ascending node. 3. Aerodynamic effects, aA . This is a dominant disturbance in Low Earth Orbit, and is caused by the atmospheric particles that are present. There is some lift, but the drag is much greater. This generally acts opposite the velocity 2.1. ORBITAL DYNAMICS 25 direction. It is a function of the coefficient of drag, area, velocity, and altitude of the satellite. For Orion, the drag acceleration would be on the order of 5 × 10−5 m/s2 . 4. Solar Radiation, aR . This is the effect of the pressure due to solar radiation. The pressure is only exerted while the vehicle is in sunlight. For Orion, the acceleration due to solar radiation in direct sunlight would be about 2× 10−6 m/s2 . This effect becomes more dominant over atmospheric drag above 800 km altitudes. These perturbing accelerations can be combined to define the equation of motion for a vehicle in orbit as: r̈ = − 2.1.3 µr + aB + aH + aA + aR krk3 (2.6) Relative Orbital Dynamics Formations involve multiple vehicles, generally in close spatial proximity to each other. It is useful to define a local frame of reference that moves with the formation. Though the origin for a local frame can be any arbitrary point, often it is most convenient to select a point of reference on one of the vehicles (such as a GPS antenna phase-center or center of gravity). All other points within the formation can then be determined with respect to that local reference point. This work will use the R-I-C local frame of reference. The frame name refers to the axes; the X-axis is in the radial direction (between the center of the earth and the local origin), the Y-axis is in the orbital plane (formed by the velocity vector and the position vector) perpendicular to the X-axis pointed in the direction of travel, and the Z-axis completes the right-handed frame. The axes are referred to as “Radial” (R), “In-Track” (I), and “Cross-Track” (C). The motion of the vehicles within the formation can be expressed in the local frame. Supposing there are 2 vehicles, the relative motion of the second vehicle with respect to the first can be defined: ∆r̈ij = r̈j − r̈i (2.7) 26 CHAPTER 2. ORBITAL FORMATION ESTIMATION Figure 2.2: Shows the absolute and relative states of a formation. Absolute states are expressed in the ECEF frame. r indicates absolute position, ∆r indicates relative position. By inserting Equation 2.1 into Equation 2.7, and some manipulation, we obtain ∆r̈ij = 3 µ kri k (ri + ∆rij ) ri − q 3 kri k 3 2 2 (kri k + 2ri · ∆rij + k∆rij k ) (2.8) This expresses the equations of motion for the center of gravity of vehicle j relative to the center of gravity of vehicle i. Equation 2.8 is expressed in the ECI frame. If the equations of motion are expressed in the ECEF frame, then a correction must also be applied to account for the frame rotation: CECEF = 2Ωe × ∆ṙij + Ωe × Ωe × ∆rij (2.9) The additional differential perturbing forces must be included as well. Finally, for systems that have active translational control (such as thrusters), the force created by these must also be included. These thruster forces will be represented by ∆uij . This is a 3-dimensional differential quantity, since it is the difference between commanded 2.1. ORBITAL DYNAMICS 27 thrusts on the two vehicles that matter. The final relative equation of motion is: ∆r̈ij = 3 µ kri k (ri + ∆rij ) + CECEF q − r i kri k3 3 2 2 (kri k + 2ri · ∆rij + k∆rij k ) (2.10) +∆aB + ∆aH + ∆aA + ∆aR + ∆uij The additional perturbing forces can be lumped into a single term, f . The absolute perturbing forces are much smaller than the central gravitational force. The differential perturbing forces are even smaller, especially for similar spacecraft that are near each other. For orbits with small eccentricity, Equation 2.10 can be effectively linearized into the following set of equations of motion in each axis: 2 ẍ − 2nẏ − 3n x = fx ÿ + 2nẋ = fy z̈ + n2 z = fz (2.11) where x, y, and z are the radial, in-track, and cross-track components of the relative position respectively. This set of equations are called either Hill’s equations or the Clohessy-Wiltshire equations [MK76, DV01]. They provide a useful framework for considering relative orbital motion. For example, they highlight the coupling between the in-track and radial motions, and the independence of the cross-track motion. The relative or local frame is useful for formation flying. The focus of this dissertation will be on relative state estimation rather than on absolute state estimation. All relative state results within this dissertation will be presented in the RIC frame. 2.1.4 Clocks Navigation, and especially GPS, depends upon time. The pseudorange measurement from GPS satellites is really a measurement of time. Therefore, the behavior of the clocks, both on the GPS satellite and the receiver, is very important. The GPS satellite clock uses both a rubidium and cesium atomic clock (redundancy for reliability), which provides a very stable oscillator [GPS96]. Furthermore, 28 CHAPTER 2. ORBITAL FORMATION ESTIMATION the ground control segment updates a correction model for the clock behavior, which is broadcast in the satellite ephemeris data. With these corrections, the GPS clock state can be determined very accurately. The receiver clock is assumed to be very cheap and much less stable compared to the GPS clock. Therefore, the state of the receiver clock at every time step must be estimated. The clocks on different receivers will be independent, so the differential clock state uncertainty will be greater than that for a single clock. The clock dynamics are modeled as a simple second order plant, so " ḃ b̈ # = " 0 1 0 0 #" b ḃ # + " 0 1 # wb (2.12) where b is the clock offset from the GPS reference time, and wb is a white noise input. The standard deviation of wb for the receivers in this work was experimentally measured to be about 0.05 m/s2 . 2.2 Absolute GPS The first product of the GPS receiver is absolute navigation and time determination. This is generally obtained using the code phase and Doppler measurements from four or more GPS satellites. Though absolute navigation is not the focus of this research, it must still be performed before the relative navigation can take place. 2.2.1 Signal The GPS receiver provides three measurements from each tracked NAVSTAR satellite. They are the code phase, the carrier phase, and the Doppler phase rate on the carrier. The code and carrier phase provide direct measurements of the scalar range between the NAVSTAR satellite at the time the signal is transmitted and the user vehicle at the time the signal is received. The Doppler provides a direct measure of the range-rate. 2.2. ABSOLUTE GPS 29 More specifically, the code phase ρ between GPS satellite m and user i can be modeled as ρm = krmi − ri k + bi + B mi + Iim + νρ i (2.13) where krmi − ri k= range between user i at measurement time and GPS satellite m at time of signal transmission bi = clock offset for user i B mi = clock offset for GPS satellite m at time of transmission Iim = ionospheric delay νρ = other noises on the code phase (including receiver noise and multi path) This measurement is a function of the user state (position and clock offset), the GPS satellite state (position and clock offset), the ionosphere, and other noise sources. The carrier phase measurement, φ, for each visible GPS satellite by the receiver is φm = krmi − ri k + bi + B mi + βim − Iim + νφ i (2.14) where βim = carrier phase bias for user i νφ = other noises on the carrier phase (including receiver noise and multi path) The ionosphere term has a switched sign simply to indicate that the wave delay that affects the carrier is opposite the group delay that affects the code. There are two other differences between the carrier and code measurement: the biases and the noises. The carrier phase measurement has an inherent bias in it, which will be discussed in the next section. The main difference between these measurements, and the reason it is desirable to use the carrier phase, is the noise, ν. For the code measurement, νρ 30 CHAPTER 2. ORBITAL FORMATION ESTIMATION is around 2–5 m; for the carrier, νφ is on the order of 2–5 mm. This dramatic noise reduction makes carrier phase estimation much more promising. The Doppler measurement is φ̇m = (ṙmi − ṙi ) · i rmi − ri + ḃi + Ḃ m + νφ̇ m i kr − ri k (2.15) where (ṙmi − ṙi ) = differential velocity between user i at measurement time and GPS satellite m at time of signal transmission ḃi = clock drift for user i Ḃ mi = clock drift for GPS satellite m at time of transmission νφ̇ = noise on the Doppler measurement In the first term of equation 2.15, the dot product is taken between the velocity and the direction between the user and the NAVSTAR satellite (which is also called the Line-of-Sight). This creates a scalar range-rate, which the Doppler measures. The Line-of-Sight will be used frequently throughout this work. In this dissertation, it is defined: losm i = rmi − ri krmi − ri k (2.16) If the order of the GPS satellite position and the user position is switched, the sign is switched of the line of sight unit vector. For these measurement models, there are three main sources of uncertainty or noise. They are: 1. Ephemeris Error The measurement model and navigation solution use the ephemeris broadcast to estimate the state of the NAVSTAR satellites (this includes their position, velocity, clock offset and clock drift). There will always be some error in this predicted state. This error will appear as an additional error in each measurement. The error has a fairly long time correlation – Lear suggests an exponential decay time constant of 7200 sec [WL89]. The error is generally on the order of 2–5 m [GPS96, PE01]. It will be useful to introduce a 2.2. ABSOLUTE GPS 31 term, Eim to account for the effect of the ephemeris error for GPS satellite m as observed by receiver i. The ephemeris error is defined: Eim = φm i m r̂ , B̂ m m m − φm i (r , B ) (2.17) m m where φm i (r , B ) is the actual carrier phase measurement based on the actual GPS satellite state, and φm r̂m , B̂ m i is what the carrier phase measurement would be using the ephemeris-predicted state instead of the actual state. 2. Ionosphere The signal transmission is affected by the environment through which it travels. For terrestrial applications, this includes the troposphere and ionosphere. In LEO, only the ionosphere significantly affects the signal. For LEO, a standard model for ionospheric noise [GPS96] is: Iim = 82.1 × T EC p 2 Fc2 × sin γim + 0.076 + sin γim (2.18) where T EC = Total Electron Count of the ionosphere; this is a function of many factors, including time of day and sunspot activity Fc = Frequency of electro-magnetic signal (in our case, this is 1575.42 MHz) γim = Elevation angle of the GPS satellite m as measured by user i The total electron count (T EC) can be difficult to determine, and this model is only an approximation. Studies show that most ionospheric models are around 50-75% effective [WF87]. The ionospheric delay is usually on the order of 2– 5 m [GPS96,PE01]. It also has a long time correlation, which Lear models with an exponential time constant of 2000 seconds [WL89]. 3. Other Noise This includes all the remaining effects, such as multipath and noise within the receiver. It is represented by the ν term in the measurement models. 32 CHAPTER 2. ORBITAL FORMATION ESTIMATION Figure 2.3: Four or more GPS satellites are used to determine an absolute navigation solution. For code phase, it is on the order of 2–4 m, for the carrier, it is on the order of 2–4 mm. 2.2.2 Solution Since the focus of this work is on the relative navigation, only very simple absolute navigation techniques were used. There are many ways to improve the absolute solution, such as carrier-smoothing or using Kalman filters [GPS96, PE01]. Fundamentally though, absolute navigation contends with much larger disturbances than the differential disturbances experienced in relative navigation. Therefore an absolute navigation filter depends more heavily on dynamic model accuracy. Many others are already studying these approaches (JPL’s work on orbit determination is just one example [AR02]). In the simplest approach to absolute navigation, four or more measurements are taken and a point solution is determined using the least-squares method. The valid 2.2. ABSOLUTE GPS 33 measurements can be gathered into a measurement vector, yABS = h ρ1 . . . ρN φ̇1 . . . φ̇N iT (2.19) The absolute user state can be defined as xABS ri bi = ṙ i ḃi (2.20) As can be seen in Equations 2.13 – 2.15, the relationship between the measurements yABS and the state xABS is very nonlinear. Therefore, an iterative solution approach is used. To begin, an initial estimate of the position is used, which can be off by several hundred kilometers. Then, the broadcast ephemeris is used to estimate the position and clock state of the current NAVSTAR satellites in view for which valid measurements exist. Algorithm 1 presents the algorithm used to determine the absolute state. Algorithm 1 shows only the position solution. However, once the solution is converged, the same navigation matrix (which is the pseudo-inverse of the observation matrix, H) multiplies the innovation to the velocity measurement for an absolute velocity update. A key element of this process is determining the state of the GPS satellite states. This process is shown in Algorithm 2. The accuracy of both absolute and relative GPS solutions is greatly affected by the location of the GPS satellites used in the solution. A commonly used measure of this geometric effect is the Geometric Dilution of Precision (GDOP). Using the observation matrix, H, as defined in Algorithm 1, the GDOP is defined as [GPS96] q GDOP = trace (H T H)−1 (2.21) A large GDOP indicates greater error, so a smaller GDOP is always desired. Note that the observation matrix, H, in Equation 2.21 includes the clock bias. If H did not, 34 CHAPTER 2. ORBITAL FORMATION ESTIMATION DEFINE: r̂i x̂ as the user position and clock state, x̂ = b̂i m ρi is the measurement from GPS satellite m, taken by user i. while δx is less than tolerance do for all valid NAVSTAR measurements: 1 < m < N do Determine signal range: Dim = krm − ri k Iteratively correct GPS position and clock state, rm and B m (see algorithm 2) m m Determine expected code phase measurement: ρ̂m i = Di − B m m Calculate Line Of Sight: losm i = (r − ri )/Di m m Create the measurement innovation: δρm i = ρi − ρ̂i end for los1i 1 Build H matrix, where H = ... . N losi 1 −1 T Determine incremental update to absolute state: δx̂ = H T H H δρ, where m δρ is the vector of δρi ∀ m Update absolute state estimate: x̂ = x̂ − δx̂ end while Algorithm 1: Algorithm for determining the absolute state and it only included the position states, Equation 2.21 would calculate the Positional Dilution of Precision (PDOP). 2.2.3 Difference Absolute Solutions The previous section explains how an absolute navigation solution is found. We are interested in the relative states between vehicles. Therefore, a natural guess is that the simplest solution is to create a relative solution by subtracting two absolute solutions. Figure 2.4 shows the results of using this solution differential approach. The upper plot shows the error, x̃ABS , over time, in the absolute position for two independent receivers. For illustrative purposes, only a single dimension is shown, but the behavior is similar in all three axes. It can be seen that the error in both varies with about ±20 m error. Furthermore, it is clear that there is a large degree of correlation between the errors in the two solutions. 2.2. ABSOLUTE GPS 35 DEFINE: tsi is the estimate of the time at which the signal is sent, ith iteration tr is the time that the signal received c is the speed of light th iteration rm i is the estimate of the position of GPS satellite m, i s Initialize send time as receive time: t0 = tr Initial estimate of transmission time: tt = krm 0 − rj k/c s First guess at transmission time: t1 = tr − tt while tsi − tsi−1 > do m s Determine GPS state at time signal was sent: rm i = f (EPH , ti , tr ) Note: EPH is the broadcast ephemeris Note: State is expressed in the receive-time frame of reference (ECEF) Determine time of signal transmission: tt = krm i − rj k/c Update estimate of time signal was sent: tsi+1 = tr − tt end while Algorithm 2: Algorithm for iterative determination of GPS state at time of transmission. The lower plot shows the error in the relative state estimate, over time, created by differencing the two absolute solutions. As can be seen, there is a smaller error than in the absolute solutions. The standard deviation on the resulting relative error is about 3 m (in just one axis). Even though this is smaller, it is still much larger than the target of ±2 cm. Thus simply differencing absolute solutions is not sufficient. This example was done using the simplest of absolute navigation techniques. As was stated at the outset of this discussion, there are more advanced methods of determining the absolute state, which are more accurate. However, none of these other more advanced techniques are sufficient either. For example, if a Kalman filter with the same complexity level as the relative state filter described in this dissertation were implemented on the absolute solutions, there is no noticeable improvement in performance. A further description of such absolute-differencing comparisons is given by Binning [PB97]. 36 CHAPTER 2. ORBITAL FORMATION ESTIMATION Differencing 2 absolute state estimates (r −r ) 2 1 Abs. Pos. Errors (m) 30 r 1 r2 20 10 0 −10 −20 −30 0 200 400 600 800 1000 1200 1400 1600 Rel. Pos. Error (m) 10 1800 ∆r 5 0 −5 −10 0 200 400 600 800 1000 Time (sec) 1200 1400 1600 Figure 2.4: The upper plot shows the error on two simultaneous absolute so- lutions, in meters. Clearly there is a large degree of correlation between the errors. However, by differencing two absolute solutions to determine the relative position, the resulting error is still too large, as shown in the lower plot. 2.3 Relative GPS A better approach for performing relative state estimation is to use carrier differential GPS [BP95]. In this approach, the measurements themselves are subtracted, not the solutions. Generally, most formations, even with separations of hundreds of kilometers between the vehicles, will view and track many of the same NAVSTAR satellites. Two receivers take measurements from these commonly visible satellites, and subtract them. This gives a direct measure of the relative range between the user vehicles in the direction of the measurement line-of-sight. 2.3. RELATIVE GPS 37 Figure 2.5: Subtracting measurements taken on two different receivers from commonly visible satellites improves performance. 2.3.1 Single Difference Measurements between two receivers from the same NAVSTAR satellite can be subtracted; this is referred to as the Single Difference measurement. m m ∆φm ij = φj − φi (2.22) In the case of relative navigation, these measurement sets would be from receivers on different vehicles, and the single difference provides a direct measurement of the relative state between the two vehicles. More specifically, the single difference is mi ∆φm − ri k − krmj − rj k + ∆βijm + ∆bij + ∆Bijm − ∆Iijm + ν∆φ (2.23) ij = kr where ∆bij = differential clock offset between users i and j 38 CHAPTER 2. ORBITAL FORMATION ESTIMATION ∆Bijm = differential clock offset for GPS satellite m, between the transmitting states for users i and j ∆Iijm = differential ionospheric delay ∆βijm = differential carrier phase bias between users i and j, on signal from GPS satellite m ν∆φ = remaining differential noises A single difference measurement can be created for each GPS satellite that is commonly visible to both receivers i and j. If there are N commonly visible GPS satellites, then there are N single difference measurements. To explicitly include the relative position state, ∆rij , Equation 2.23 can be expanded as mi ∆φm − ri k − krmj − (ri + ∆rij ) k + ∆βijm + ∆bij ij = kr +∆Bijm − ∆Iijm + ν∆φ (2.24) The single difference can also be taken with the Doppler measurements. In this case, ∆φ̇m = (ṙmi − ṙi ) · i rmi − ri rmj − rj mj − (ṙ + ∆ḃij − ṙ ) · j krmi − ri k krmj − rj k +∆Ḃijm + ν∆φ̇ (2.25) where ∆ḃij = differential clock drift between users i and j ∆Ḃijm = differential clock drift for GPS satellite m, between the transmitting ν∆φ̇ states for users i and j = remaining differential Doppler noises The differential GPS clock and ionosphere terms are very small. For users which are close together, many authors make the approximation that the NAVSTAR clock, ionosphere, and other common mode terms cancel out, leaving the much simpler 2.3. RELATIVE GPS 39 expression: mi ∆φm − ri k − krmj − (ri + ∆rij ) k + ∆βijm + ∆bij + ν∆φ ij = kr (2.26) Now the other terms are just included in the noise. It will turn out that for large separations between users, these terms become significant, and so Equation 2.24 will be used rather than Equation 2.26. This same concept can be applied again, to further remove common terms, in what is called the double difference. Here, n ∇∆φmn = ∆φm ij ij − ∆φij m ∇∆φmn = φm − φnj − φni ij j − φi (2.27) (2.28) In the case of the double difference, the receiver clock state is completely canceled out. However, one of the single difference measurements must be used as a reference, and so there is one less measurement (N − 1 measurements) available. Furthermore, there is significant increase in bookkeeping within the estimator to handle the additional measurement alignment. Except for when explicitly stated otherwise, single differences were used for relative measurements throughout this research. This is further discussed in Section 7.1.2. 2.3.2 Carrier-Phase Bias It worth mentioning the carrier phase biases. Significant research has been done on effective ways to deal with the additional bias in the carrier phase measurement [GW97]. The most significant portion of the carrier phase bias is the unknown number of integer wave cycles in between the two antenna measurements. This is often referred to as the “integer ambiguity.” The wave length is 19.2 cm, and the integer ambiguity will be some integer multiple of that wavelength. Many use integer search techniques (especially in attitude applications, where the baseline is known) to determine this bias [DK94]. 40 CHAPTER 2. ORBITAL FORMATION ESTIMATION Another approach uses the motion of the GPS constellation and user vehicles to provide observability [HT97]. This technique is called the kinematic approach. As the GPS constellation and users move relative to each other, the range measurements will change, but the bias will remain constant. This approach takes longer: an integer search can give an instantaneous point solution, while the kinematic approach requires enough motion to occur to observe the biases. The time needed for this motion is a function of the relative velocity between the GPS satellites and user vehicles. Orbital applications, with higher velocities, will observe the biases sooner than terrestrial applications. Moreover, this acquisition process only happens once at initialization. After initialization, biases for new measurements from GPS satellites that have just come in view can be determined immediately from the current state estimate. The other advantage of using the kinematic approach is that there is no assumption necessary that the bias is an integer. There are other biases (such as the line bias between the antenna and the correlator on the receiver) which are also present in each measurement. Though these are much smaller than the integer ambiguity, they must still be accounted for. These can be lumped together into a single real-value bias. Other approaches include using other sensors, local-ranging, or just separate filters to determine the biases. None of these are employed in this research. A one-time initialization period of a few minutes after powering on the receivers, as required by the kinematic approach, is acceptable for this application. This is the simplest and lowest computationally intensive approach. To use a single, kinematic filter, the differential biases are included as states within the state vector in the filter. They are included in the measurement model and the observation matrix within the filter. Then, over time, these biases are resolved. 2.3.3 Differential Advantage The advantage of CDGPS over differencing absolute solutions is that the differential noises and uncertainties are much smaller. This is true both for the measurements and the dynamics. 2.3. RELATIVE GPS 41 Consider the carrier phase measurement. Just as in the absolute case, there are error sources and uncertainties in these single difference measurement models. These noise contributions for terrestrial applications have also been studied, and Parkinson and Enge provide a thorough analysis of expected code phase differential errors [BP95]. For CDGPS in orbital relative navigation, the greatest uncertainties in the measurements arise from: 1. ∆Eijm Differential ephemeris error — This is defined as: mi mj m m mi mj m ∆Eijm = ∆φm ij (r̂ , r̂ , ∆B̂ij ) − ∆φij (r , r , ∆Bij ) (2.29) mi mj m where ∆φm ij (r , r , ∆Bij ) is the single difference measurement based on the mi mj m actual GPS satellite state (position and clock), and ∆φm ij (r̂ , r̂ , ∆B̂ij ) is the single difference measurement using the ephemeris-predicted GPS satellite state. Ephemeris error in the absolute measurements will be highly correlated between each other. If the two user vehicles were at exactly the same location, the ephemeris error would cancel completely out. Parkinson and Enge demonstrate that the differential ephemeris error is bounded by: ∆Eijm ≤ k∆rij k · kEim k krm − ri k (2.30) where Eim is the absolute difference between the actual satellite state and the ephemeris-predicted state. Typically, the expected differential ephemeris error for vehicles 100 km apart is ∆Eijm ≈ 5 cm. 2. ∆Iijm Differential ionospheric effect — This is defined as ∆Iijm = Ijm − Iim (2.31) Just as with the ephemeris error, the ionosphere error is highly correlated between the absolute solutions, and would cancel completely out if the users 42 CHAPTER 2. ORBITAL FORMATION ESTIMATION were at the same position. Again, Parkinson and Enge suggest that the nominal differential ionospheric error is between ∆Iijm = 0.5 × 10−6 k∆rij k and ∆Iijm = 5 × 10−6 k∆rij k. 3. εm ij Absolute navigation error effect — This is the error in the differential measurements due to the absolute navigation error. It is defined as: m m εm ij = ∆φij (r̂i ) − ∆φij (ri ) (2.32) where ∆φm ij (ri ) is the differential carrier phase measurement using the actual absolute state of one of the user vehicles, and ∆φm ij (r̂i ) is the differential carrier phase measurement that would be expected using the estimated absolute state. This error is similar to the ephemeris error, though it turns out to be a smaller effect. 4. ν∆φ Differential noise — Unlike the other error sources, this error is actually larger for the single difference than for the absolute phase. It can be modeled as uncorrelated between the receivers (it is most likely that multipath and receiver noise in LEO will be independent and uncorrelated). These can be modeled as white noises, with identical standard deviations of σνφ (and by definition of “white”, a zero mean). Therefore, the standard deviation on the noise for the single difference will be: σν∆φ = p E {(ν2 − ν1 )2 } (2.33) where E{·} is the statistical expectation. Assuming that the noises are uncorrelated and have identical variance, σν∆φ q = E {ν12 − 2ν1 ν2 + ν22 } q E {2ν12 } = √ = 2σνφ Therefore, the differential noise is larger than the raw phase noise. (2.34) 2.3. RELATIVE GPS 43 The measurement model, expressed in Equation 2.24, can now be re-written in terms of estimated quantities and residual error terms, mi ∆φm − r̂i k − kr̂mj − (r̂i + ∆rij ) k + ∆bij + ∆βijm + ∆B̂ijm ij = kr̂ +∆Iijm + ∆Eijm + εm ij + ν∆φ (2.35) The same arguments exist for the process noise in the state dynamics. If the two vehicles were identical and located in the same location, the aerodynamic effects, higher order gravitational effects, and all other perturbing forces would be identical and cancel completely. The differential perturbing forces (as described in Section 2.1.2) will grow only as the vehicles move farther apart or if their characteristics are different. The measurement equation, given in Equation 2.35, is expressed in terms of estimated quantities and their errors. For consistency, the state dynamics Equation 2.10, can also be expressed in terms of the absolute state estimate. This is done by introducing an absolute state estimate error term, %ij , which is defined as %ij = ∆r̈ij (r̂i ) − ∆r̈ij (ri ) (2.36) where ∆r̈ij (ri ) is the relative acceleration based on the actual absolute position, and ∆r̈ij (ri ) is the relative acceleration using the estimated absolute position. Now, the position and velocity propagation can be defined by: ∆r̈ij = 3 µ kr̂i k (r̂i + ∆rij ) + CECEF q − r̂ i kr̂i k3 3 2 2 (kr̂i k + 2r̂i · ∆rij + k∆rij k ) (2.37) +%ij + ∆aB + ∆aH + ∆aA + ∆aR + ∆uij + w∆r where w∆r is included to account for any other remaining differential process noises. The measurement model in Equation 2.35 and the dynamics model in Equation 2.37 are now in a form that will be used for the filter design discussed in Chapter 5. 44 CHAPTER 2. ORBITAL FORMATION ESTIMATION 2.4 System Definition Differential measurements and relative dynamics are inherently expressed between two vehicles. A formation may certainly have more than two vehicles. In principal, for any general formation, regardless of dynamics or measurements, the state of the formation can be represented equivalently by: ξ1 ξ1 ∆ξ . 2−1 . a) X = . or b) X = . . . ξN ∆ξN −1 (2.38) where X = The formation state ξi = Some arbitrary absolute state of vehicle i ∆ξj−i = The relative state of vehicle j with respect to i, defined as ξj −ξi . The previous sections have shown that the differential state estimation is more accurate than absolute state estimation. Furthermore, for formation flying, the relative states are of greater importance than the absolute states. Therefore, the form Equation 2.38b will be used to describe the formation state. Figure 2.6 shows a block diagram of the complete relative system. It begins with the block in the upper left corner. That represents the real dynamics, which includes the motion of the NAVSTAR satellites as well as the user vehicles. The state of this system is sampled by the receiver, which makes measurements that are a function of the system state. The state vector, x, has time dependant quantities. The subscript for x indicates the time step for the state. This notation will be used for the measurement vector and all matrices within the filter as well. The measurements, yk , are sent into the filter. The filter models both the measurement process in the receiver as well as the state dynamics of the NAVSTAR constellation and the user vehicles. It creates an estimate of the user state, x̂k , as 2.4. SYSTEM DEFINITION 45 Figure 2.6: The GPS receiver takes measurements from the real system. These are sent into a filter, which models both the system dynamics and the measurement. The figure of merit for the system is how small the error is between the estimate and the real state. well as an estimate of the expected measurements, ŷk . The filter estimate is updated by comparing the actual measurements with the expected measurements. The performance of the filter is measured by comparing the estimated state with the actual state of the formation. The goal is to minimize the error, x̃k . One can make changes to the receiver, and improve the measurements that it provides to the filter. One can also improve the measurement update as well as the propagation over time within the filter. Using highfidelity simulations, where the true state is known, the performance of the receiver and filter can then be evaluated. The state vector and measurement vector are selected by considering the nature of the specific problem. The measurement vector is made up of the measurements from the receiver. For this work, the GPS receiver is the only sensor used. Even though the receiver provides three measurements for each tracked GPS satellite (code phase, carrier phase, and Doppler), only the carrier phase measurement will be used for the 46 CHAPTER 2. ORBITAL FORMATION ESTIMATION relative navigation (at least, after the filter is initialized). This approach is further discussed in Section 7.1.1. The state selection is less obvious. The complete system is defined by the measurement Equation 2.35, and the dynamics Equations 2.37 and 2.12. Each term within the measurement model and dynamics models must be accounted for. There are three options: 1. Estimate the term — By including the quantity in the state vector, it is an element that is estimated in the filter. 2. Model the term — The quantity is determined using a model of the system. For example, the higher order gravity terms are modeled based on the absolute position of the vehicle. 3. Neglect the term — The quantity is not explicitly modeled or included in the state vector. It then is included within the noise term. In the past, different researchers have handled the quantities in different ways. Often, terms are determined using a combination of approaches. As discussed earlier, the goal is to design the simplest filter possible that can still meet the performance requirements. To keep the filter simple, as many of the terms should be neglected as possible, and estimate as few states as possible. Clearly, the relative position and velocity are to be estimated. The absolute state is estimated in a separate filter. The relative clock state contributes significantly to the measurements, and so clock states are also estimated. There is also no way to avoid the carrier phase biases, and so they are estimated as well (as discussed in Section 2.3.2). It turns out that the differential ionosphere is significant, and an ionospheric model is used to correct for this effect (see Section 7.2.2). However, all the remaining terms, including the ephemeris error, the atmospheric drag, the higher order gravity terms, etc., are all neglected and lumped into the noises. 2.5. CENTRALIZED VS. DECENTRALIZED 47 Therefore, this system state, as sensed at time step tk is defined: ∆rij (tk ) ∆bij (tk ) ∆ṙ (t ) ij k (t ) ∆ ḃ xk = ij k ∆βij1 .. . N ∆βij (2.39) The position and velocity vectors each have three elements, therefore the state vector has 8 + N elements, where N is the number of valid measurements at that time step. The size of the state vector varies with time. The measurement vector is defined as, yk ∆φ1ij (tk ) .. = . N ∆φij (tk ) (2.40) As with the state vector, the dimension of the measurement vector also varies with time. 2.5 Centralized vs. Decentralized For formations with more than two vehicles, there are two archetypal approaches to estimating the formation state, as defined in Equation 2.38b. These two approaches are centralized or decentralized formation state estimation [CP01, RC02, WW00]. In a centralized approach, the measurements are gathered from across the fleet to a single processor, which then determines the relative states of all the vehicles in the formation in a single filter. In a decentralized approach, a reference vehicle broadcasts its measurements to the other vehicles in the formation, and they each determine their own relative state. 48 CHAPTER 2. ORBITAL FORMATION ESTIMATION Figure 2.7: Formation estimation involves determining the relative states be- tween all the vehicles in the formation. This can be done either in a centralized algorithm or a decentralized algorithm. In centralized formation estimation, all vehicles within the fleet transmit their raw measurements to a master vehicle. This master vehicle combines all the measurements in a single filter, and determines the state of every vehicle in the formation relative to itself. It must invert and update a very large state covariance and measurement matrices. This results in a significant computational load, which is carried only by a single processor. This approach is not robust to a single-point failure, and it is not reconfigurable or flexible. Furthermore, if the formations increase in size, this centralized computation could become extremely difficult to perform in real-time. Thus, for many future formation flying applications, this centralized approach is less desirable. In a decentralized approach, an arbitrary reference vehicle is selected to broadcast its measurements to the fleet. Each slave vehicle then determines its own independent relative state estimate. This spreads the computational load across the fleet. If the reference vehicle fails, any other slave can easily replace it because the reference is not 2.5. CENTRALIZED VS. DECENTRALIZED 49 special in any particular way. This makes the decentralized formation more robust. The formation can also be scaled to any number of vehicles, and at any time during the mission. There is no cost difference between the reference and slave vehicles. Logistically, the decentralized approach is much more appealing [WW00, CP01]. However, depending upon the nature of the system, a decentralized filter may not achieve the same accuracy as a centralized filter. Consider the combined measurements for a hypothetical formation, H22 · · · H2n y2 . . .. .. = .. . yn Hn2 · · · Hnn x2 . .. + xn ν2 .. . νn (2.41) where the subscripts indicate the slave vehicles within the formation. Hij is the observation matrix relating the relative state of each slave vehicle xi to the differential measurements yj . For a formation with n vehicles, there are n − 1 single difference blocks, since the absolute state of the reference vehicle is determined separately. If the measurements couple the states between vehicles (e.g. if H2n were non-zero), or if the noise vectors (νi ) are correlated between the vehicles, then a centralized filter will be more accurate than a decentralized filter. Fortunately, the nature of GPS estimation lends itself well to a decentralized filter [CP01]. In work concurrent with this thesis, Speyer et al. compared a decentralized and centralized state estimator using GPS on a ground-based, two-vehicle formation. They found that the decentralized estimator performed nearly as well as the centralized [WW00]. This thesis goes beyond that study by using a decentralized estimator for formations with more than two vehicles, allowing a comparison between independent, decentralized relative solutions. The development of the multi-vehicle decentralized estimator begins with the measurements. The measurement vector containing all the single difference measurements for one vehicle relative to the reference vehicle can be expanded from Equation 2.40 50 CHAPTER 2. ORBITAL FORMATION ESTIMATION using the definition in Equation 2.35 as kr̂1i − r̂i k − kr̂1j − (r̂i + ∆rij ) k + ∆bij + ∆βij1 + ∆B̂ij1 .. y = . Ni Nj N N kr̂ − r̂i k − kr̂ − (r̂i + ∆rij ) k + ∆bij + ∆βij + ∆B̂ij ∆Iij1 + ∆Eij1 + ε1ij + ν∆φ .. + . N N m ∆Iij + ∆Eij + εij + ν∆φ (2.42) This can then be condensed into y = h (x) + ν ? (2.43) The term ν ? now combines several differential adjustment or error terms into a single generalized noise vector. This includes the differential ionosphere, differential ephemeris error, absolute state error effect, and the single difference carrier phase noise. For a single measurement, this is ν ?,m = ∆Iijm + ∆Eijm + εm ij + ν∆φ (2.44) Equation 2.43 can be linearized effectively for short separations by y ≈ Hx + ν ? (2.45) The linearization is described more fully in Section 5.3.1. Combining all the slave vehicles for the formation, y2 H22 0 ≈ 0 yn y3 .. . 0 0 H33 .. . 0 0 Hnn x2 x3 .. . xn + ν ?2 ν ?3 .. . ν ?n (2.46) 2.5. CENTRALIZED VS. DECENTRALIZED 51 To decentralize the filter, Equation 2.46 would then be distributed to the individual vehicles vehicle 2 solves: y2 = H22 x2 + ν ?2 vehicle 3 solves: y3 = H33 x3 + ν ?3 .. . (2.47) vehicle n solves: yn = Hnn xn + ν ?n This example uses a linearized version of the measurement equations, but the argument is also valid for a nonlinear filter (see Section 5.1 on Extended Kalman Filters). Using the state x as defined in Equation 2.39, the measurements for a given vehicle depend only on the state of that vehicle, and are independent of the state of the other vehicles in the formation. This maintains the block-diagonal nature of the formation observation matrix. Note that this block-diagonal result depends upon the definition of the state vector. As discussed in Section 2.4, there is flexibility in how the state is defined. For example, some authors model the ionospheric TEC as a constant value for all the vehicles in the formation, and then include this value in the formation state vector (e.g. Ebinuma [TE01]). By treating the TEC as a common variable for the whole formation, the formation observation matrix would no longer be block diagonal. Of course, defining independent vehicle states does not automatically remove the correlation between measurements. It only shifts the potential for correlation from the state vector, xi to the noise vector, ν i . If the noises ν ?2 , ν ?3 , . . . , ν ?n were uncorrelated and independent, the noise covariance matrix for a centralized filter would be block diagonal. In that case, the estimation process could be decentralized without any loss of accuracy. However, the noise terms are correlated, and there are two sources of this correlation. The first source of correlation is in the single difference noise on the carrier phase. The standard deviation in the noise on the absolute carrier phase measurement for the reference vehicle is σφ , and has been measured on the ground to be about 2–4 mm. If there were three vehicles, each with absolute measurements with 52 CHAPTER 2. ORBITAL FORMATION ESTIMATION σφ noise levels, then the sensor noise covariance for the differential measurements on two different slave vehicles would be: R = " 2σφ2 σφ2 σφ2 2σφ2 # (2.48) The off-diagonal quantities in R indicate correlation between the two differential solutions. The second source of correlation is in the remaining measurement adjustments within ν ? . The magnitude of these correction terms depend upon the separation between the vehicles in the formation; for 1 km they are on the order of 2–3 cm. Since the error terms in Equation 2.44 are differential quantities, the common mode of the effects is already removed, and so the correlation between these terms should be very small. The differential measurements will be correlated because of the terms within ν ? . How large are these noises, and how correlated are they? Because the noises are correlated, the decentralized estimator will loose some precision. Will it be able to meet the target performance requirements? These questions are answered in Chapters 6 and 7, which also provide further experimental validation of the decentralized estimation approach. Chapter 3 Operating Environments A discussion of the operational environments is a good place to begin examining the system as pictured in figure 2.6. The operating environment determines the observed states xk . Three different test environments were used during development and demonstration of the receiver and filter. They are: 1. Outdoors 2. Goddard Space Flight Center (GSFC) Formation Flying Test Bed (FFTB) 3. GPS Simulation and Analysis Toolkit (GSAT) Each of these environments provided different capabilities during development. This chapter gives a brief description of each of these environments and indicates how they were used to support the receiver and estimator development. 3.1 Outdoors The first development environment was to use the prototype GPS receivers outside. Outdoor tests provide an end-to-end verification of the receiver and antenna, using real GPS signals in the presence of real measurement noises. It provides a baseline for receiver performance. The outdoor provides only the first step in developing an orbital receiver, but it is an important first step. 53 54 CHAPTER 3. OPERATING ENVIRONMENTS For the outdoor tests, stationary patch antennas were placed on the top of the roof of MIT building 41. This is a three story building. The rooftop location provided a fairly unobstructed view of the sky above elevations of about 10◦ . A set of three independent antennas was placed on the roof. The antennas were hemispherical-gain patch antennas (manufactured by M/A-COM, model ANP-C-114-9701). A low-noise in-line amplifier was added, and then an SMA cable of about 75 feet was run from each antenna on the roof to the laboratory, and connected to the receivers there. No attempt was made to accurately measure the cable lengths, or to match the lengths between different antennas. Mismatched cable lengths will cause a differential line bias, but this can be included in the carrier phase bias. The low noise amplifier was necessary to compensate for line losses over the long distance between the antenna and the receiver. The output data from the receiver was collected by computers in the laboratory. The antennas remained outdoors year round. Tests were run both day and night, and in a variety of conditions. To observe results for longer separations, additional tests were also performed using one antenna on the laboratory roof and one mobile antenna. The mobile antenna was connected directly to a receiver, which output data to a laptop computer. This mobile antenna/receiver was then taken to a variety of locations, up to 10 km away to test long separation effects. These long separation tests did not have a truth measure for relative distance, but the relative velocity was known to be zero while the antennas remained stationary. The advantage of the outdoor tests was that there was no reliance on simulation. Real signals from the actual GPS constellation were received, real antennas with multipath and other real errors, and the actual proto-flight receivers were all used. These tests provide a good baseline performance for the systems involved. Considering that the multipath and troposphere effects are expected to be smaller in LEO, the ground test signal-to-noise ratios establish conservative bounds for what will be experienced on orbit. The drawback to the outdoor test environment, of course, is that the receivers are not in orbit. The atmosphere and multipath environment is different than that encountered in LEO. More importantly, the rooftop antennas are not moving at the 3.2. GSFC FORMATION FLYING TEST BED 55 Figure 3.1: This is a block diagram of the outdoor test setup. The features are: 1) a set of three antennas with in-line amplifiers out on the roof, which send signals 2) inside, to the GPS receivers, which perform real-time absolute navigation and also collect measurements, which are saved on 3) data storage laptops very high orbital velocities or with correct orbital dynamics. For these reasons, additional environments are necessary for the development and demonstration of the receiver/filter system. 3.2 GSFC Formation Flying Test Bed The second development environment used is the state-of-the-art Formation Flying Test Bed (FFTB) at NASA Goddard Space Flight Center. The FFTB simulates the GPS constellation and a formation of up to four vehicles. It produces the actual RF signals that would exist in the simulated conditions. This allows hardware-in-the-loop testing, during which the actual proto-flight GPS receivers use signals that would be observed in orbital operating conditions. 56 CHAPTER 3. OPERATING ENVIRONMENTS Figure 3.2: This block diagram illustrates the GSFC FFTB setup. The fea- tures are: 1) a DS10 Workstation, which sends orbital states to 2) the STR4760 GPS signal generators, which sends actual RF signals, received by 3) the GPS receivers, which perform realtime absolute navigation and also collect measurements, which are saved on 4) data storage laptops The FFTB tests provide two important benefits. First, it allows hardware testing of the receiver. Signals are harder to aquire and track when the receiver is moving at orbital velocity than when the receiver is sitting still on the ground [GL97]. The second benefit is that it allows the testing of the filter algorithms. The orbital dynamics are harder to model than the dynamics of sitting still on the ground. Proper receiver operation and filter behavior must be demonstrated in orbital conditions. These hardware-in-the-loop FFTB tests provide the closest testing environment to actual orbital operation possible. Figure 3.2 shows a block diagram of the GSFC FFTB set up. The process begins with a Compaq DS10 workstation, which is the first half of the Spirent STR Series Multichannel Satellite Navigation Simulator [SP01]. This computer simulates the motion of the NAVSTAR constellation. It also determines the motion of up to four user vehicles. It has three different options for determining the user motion: 3.2. GSFC FORMATION FLYING TEST BED 57 1. Stored File — A previously stored file containing the state information of the vehicles can be used. As an example, this could be actual flight data from earlier missions. 2. External Source — The state information can be provided in real time from an external source. This option allows closed loop simulations (to perform active feedback control). 3. Simulated Motion — The workstation can also run a high fidelity orbit simulator, and generate the motion of the user vehicles. For the research in this dissertation, the last option was used exclusively. Several parameters are entered by the user for the simulation. These include: 1. Spacecraft properties for each simulated vehicle. The properties include mass, cross-sectional area, coefficient of drag, and moments of inertia. 2. The gravity model. Anywhere from one to fifty of the higher order gravity harmonics can be modeled. Also the sun and moon gravitational effects can be included. 3. The GPS constellation ephemeris can be entered from a stored file, or originally created for the scenario. The errors within the broadcast ephemeris can also be set. 4. The ionospheric properties can be entered. This provides a description of the Total Electron Count variation. 5. The antenna characteristics. These can be set for each antenna, and include the gain pattern and noise characteristics. All of this information is used to simulate the motion of the vehicles, and also to form the signals that would be observed by the vehicles. The states are updated at 10Hz, and sent to the RF signal generator, which is the second half of the Spirent Satellite Navigation Simulator. The RF signal generator uses the state data to generate the signals that are observed by the receiver. There are two generators connected 58 CHAPTER 3. OPERATING ENVIRONMENTS to the workstation; each generator has two RF front ends. Calibrations are regularly performed to ensure that these generators are synchronized and create consistent signals. The four RF outputs could represent any four antennas; it does not matter if the four antennas are on one vehicle or on four different vehicles. The generators can simulate up to 16 different GPS signals for each RF front end. For this dissertation, attitude estimation, which would require multiple antennas on a single vehicle, was not demonstrated. Thus, only one antenna was used on each vehicle, allowing formations of four vehicles to be simulated. The actual GPS receivers are connected to the RF outputs from the generator with SMA cables. An in-line amplifier is included to match the amplification levels that would be provided by a low noise amplifier in an active patch antenna. Again, the receivers then store their data on laptop computers. Once the data is collected, it is gathered to a single computer. There, the estimator is run in a real-time fashion, using the measurements from the four receivers in sequential order. The raw measurement data is then stored with the state estimates for further analysis. The workstation also saves the states of the vehicle motion in a data file. This provides the “truth”, which is used for estimation performance evaluation in postprocessing. This “truth” data is not used in the estimator. These stored dynamics can also be used to provide an independently generated high-fidelity orbit simulation. The GSFC FFTB has been used to test other flight GPS receivers, including SIGI (currently on the space station) [JS99] and the AMSAT GPS receivers [GD02]. The signal characteristics from the RF generator have noise characteristics similar to those from the outdoor tests. NASA has confidence that a navigation system’s performance in the GSFC FFTB is a reliable predictor of actual orbital performance [GD02]. 3.3 GPS Simulation and Analysis Toolkit The final environment is the GPS Simulation and Analysis Toolkit (GSAT). GSAT is a suite of MATLAB functions and simulation tools developed by the author over the past four years. It was developed to provide the tools necessary for developing a GPS 3.3. GPS SIMULATION AND ANALYSIS TOOLKIT 59 navigation system for orbital applications. This MATLAB simulation environment has several sub-functions. These functions are: 1. Real Time Estimator (RTE) — this is the main function of GSAT, and is described in greater detail below. 2. Orbit Analysis Tool (OAT) — this function allows the comparison of various propagation techniques for the absolute and relative states, including: stored external files (from the FFTB), Runge-Kutta integration, Kepler closed form solutions, and linear propagation (for relative states only). The resulting states can be plotted over time in ECI, ECEF, or RIC reference frames. Several different parameters can be selected by the user, including time step size. Figure 3.3, which compares different orbit propagation techniques and will be discussed in Section 3.3.1, is an example of the output from this tool. 3. Noise Analysis Tool (NAT) — this function provides an approximate measure of the noise on differential measurements. The double difference is taken between two different receivers (this is used to remove the noisy user clock effect), and then fit to a polynomial curve. The polynomial order is user selectable, generally a second-order curve is sufficient. This curve approximates the natural motion in the system for short periods of time. The residual between the curve fit and the double difference is a measure of the noise. The single difference noise and raw un-differenced measurement noise can be extrapolated from the double difference level. 4. Absolute Estimation Tool (AET) — this function performs only absolute navigation. It can use externally generated measurement or dynamic data, or it can generate the dynamics and measurements through its own simulation. 3.3.1 GSAT-Real Time Estimator The main function of GSAT is the Real Time Estimator (RTE). This tool is used either as a stand-alone routine or with data from other external sources (i.e. from 60 CHAPTER 3. OPERATING ENVIRONMENTS the GSFC FFTB or from outdoor experiments). GSAT-RTE consists of roughly 15,000 lines of MATLAB code, in about 70 original MATLAB files. The GSAT-RTE is a powerful tool for greater analysis and understanding of orbital estimation using GPS. It has several modes of operation, simulating both ground and orbital operating scenarios. It can perform rudimentary simulations of vehicle dynamics and GPS measurements. These simulations can be compared to actual data from outdoor or FFTB tests. Through comparing the measurements and estimate results from different environments, the sources of noises and errors can be identified. The impact of measurement noise versus process noise can be determined. The different components of the measurement noise (ionosphere, ephemeris errors, etc.) can be individually included in the GSAT-RTE environment, and their impact better understood. GSAT-RTE also provides the tools to perform trade studies in filter design. To provide this flexibility, there are five modes of operation. They are: 1. Static Ground: Simulated Measurements. In this mode, a fixed location on the Earth is selected. The GPS constellation motion is simulated, and the measurements are simulated. These simulated measurements are then used in the real-time filter (so the filter only uses up to the current measurement and has no future knowledge). 2. Static Ground: External Measurements. In this mode, actual data from outdoor tests are loaded from stored files. The filter uses these measurements instead of simulated measurements. Otherwise, this mode is the same as the previous mode. The measurement source is transparent to the filter operation. 3. Orbital: Simulated Dynamics and Simulated Measurements. In this mode, initial orbital parameters are provided to GSAT-RTE. At each time step, the user vehicles as well as the GPS constellation motion is simulated. A simple Keplerian motion dynamic model is used with no other perturbations except random white process noise. The states are propagated using a fourth-order Runge-Kutta integration technique. This technique is sufficient for simple orbital models and for propagating across the short time intervals used in the 3.3. GPS SIMULATION AND ANALYSIS TOOLKIT 4 6 Absolute Position Difference, ECEF x 10 Relative Position Differenc, LVLH 10 Radial (m) X (m) 4 2 0 1 0 4 x 10 500 1000 1500 2000 2500 3000 3500 Y (m) 0 −2 0 4 x 10 500 1000 1500 2000 2500 3000 3500 0 GSFC−RK4 GSFC−Kep 0 500 1000 1500 2000 2500 3000 3500 0 500 1000 1500 2000 2500 3000 3500 0 −20 1 2 −2 0 20 Cross−Track (m) Z (m) 4 0 40 −1 −3 5 −5 In−Track (m) −2 61 500 1000 1500 2000 Time (sec) 2500 3000 0 −1 −2 3500 GSFC−RK4 GSFC−Kep 0 500 1000 1500 2000 Time (sec) 2500 3000 3500 Figure 3.3: Comparison of different propagation methods. Three techniques are available: using stored GSFC truth data, using a RungeKutta 4th order integration, or using a Kepler closed form solution. The plots on the left show the differences in the absolute state propagation (ECEF frame), and the plots on the right show the differences in relative state propagation (RIC frame). simulator. Simulated measurements are created from these states, with random white sensor noise added in. These measurements are then sent to the real-time filter as before. This mode of operation will be referred to as Simple Dynamics/Simple Measurements (SD/SM). 4. Orbital: External Dynamics and Simulated Measurements. The GPS constellation motion is simulated. The user vehicle motion, however, is now taken from a stored set of data from the high fidelity GSFC FFTB orbit simulator. Measurements are simulated given these states, and then sent to the real-time filter. This mode will be referred to as Complex Dynamics/Simple Measurements (CD/SM). Figure 3.3 illustrates the difference in orbital motion between the high fidelity orbit model and two different simple Keplerian propagation techniques. The difference between the line labeled “GSFC-RK4” represents the difference between the orbital motion used in the SD/SM and CD/SM approaches. The absolute perturbations cause differences of ≈50 km after one hour. The relative perturbations lead to differences of ≈20 m. 62 CHAPTER 3. OPERATING ENVIRONMENTS 5. Orbital: External Dynamics and External Measurements. The user vehicle motion is again loaded from external files generated by the GSFC FFTB orbit simulator. The measurements are loaded from stored files generated by the receivers that were operating in the hardware-in-the-loop simulations. These measurements are then used in a real-time fashion by the filter. This mode will be referred to as Complex Dynamics/Real Measurements (CD/RM). Figure 3.4 is a flow chart of the global RTE simulation process. The global process begins with setting up initial conditions, defining global variables, defining experiment parameters, and (in certain modes) loading data that will be required. Following this initialization, the simulation begins, and the book-keeping and estimation sub-process is performed at each time step. When all the time steps are completed, the simulation ends and performance metrics and statistics are determined. A variety of plots and displays are generated as well to indicate performance. Figure 3.5 is a flow chart of the sub-process within the RTE simulation that occurs every second. First, the dynamics and measurements are either loaded or generated as required. Then, the absolute navigation for the reference vehicle is performed. After the absolute navigation, the relative navigation is performed for each slave vehicle. This process includes gathering valid measurements, running an extended Kalman Filter, and repacking the matrices until the next time step occurs. At each time step, important data and estimates are also stored. 3.3.2 Multiple Simulations GSAT-RTE also has the capability to run multiple simulations under the same conditions. If any noise or condition is simulated (modes 1, 3, or 4), then these random noise vectors or values are generated before hand. These noise vectors can then be used in multiple runs with different parameters, and the effect of that parameter can be isolated for observation. There are three possible dimensions for the multiple runs. There are two parameter variation dimensions, and one repeatable dimension for averaging. For example, when performing an ephemeris error effect test, as presented in Section 7.2, one can 3.3. GPS SIMULATION AND ANALYSIS TOOLKIT 63 Figure 3.4: The process flow in the Real Time Estimator — it allows either stored data or simulated data to be used in the filter. vary the ephemeris error level (parameter one) and the formation separation (parameter two). Twenty of these tests can then be performed under each condition, and average the results to provide some level of statistical significance. If there were 3 ephemeris error levels, and two different formation sizes, with twenty samples each, there would then be 120 simulations performed. This feature provides much greater analysis capability for evaluating stochastic nonlinear processes. Of course, there are also drawbacks. When simulating the GPS constellation and a four-vehicle formation, GSAT RTE runs at about the same speed as real-time on a 333 MHz Pentium II computer running MATLAB release 12. A one-orbit experiment could take about one and a half hours of computer time. When this is multiplied by 120 runs, the experiments can quickly become overwhelming. 64 CHAPTER 3. OPERATING ENVIRONMENTS Figure 3.5: This flow chart shows the filter process at each time step. It generates the true states (either from stored values or simulation), the measurements (again stored or simulated), and then processes these measurements in a filter, to create a state estimate. 3.4 Summary The outdoor tests, the GSFC FFTB, and the MATLAB GSAT environments all provide essential capabilities for the development and demonstration of an orbital relative navigation GPS receiver and filter. They provide ways to analyze and understand the receiver and the expected operational environment. The demonstrations, trade studies, and error analyses presented in this dissertation, were all performed using these three environments. Chapter 4 Enhanced Differential GPS Receiver A GPS receiver was modified to perform relative navigation in Low Earth Orbit. It was specifically designed for the Orion mission. Though based on a commercial GPS receiver, essential modifications were made to successfully perform the mission. These modifications to the receiver are briefly discussed in this chapter. 4.1 Orion Receiver Overview Project Orion requires the GPS system to provide absolute navigation, relative navigation, and attitude sensing [OR01]. It uses a third generation modified GPS receiver. The first generation was the commercial-off-the-shelf available GPS receiver made by Zarlink, formerly Mitel Plessey.1 This commercial receiver design uses the GP2015 RF front end chip and the GP2021 12-channel correlator. The second generation design was a modified version by Eric Olsen at Stanford University in 1998 [EO99]. For this dissertation, Olsen’s design was further modified to meet the specific needs of project Orion, as well as enhance the receiver’s ability for general orbital relative navigation. 1 Coincidentally, the Plessey receiver model was named “Orion”, but this should not be confused with Project Orion. 65 66 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER To deliver attitude sensing, six antennas are used. Three have aligned bore-sites placed on one face of the vehicle. The Orion vehicle is designed to use combined active and passive control to keep this face pointed away from the center of the earth. This set of anti-nadir aligned antennas facilitates accurate attitude estimation [JA98,JA99]. The other three are placed on different orthogonal faces, to allow greater sky coverage (see figure 4.1).2 Sky coverage is especially important during initialization, when the attitude of the vehicle will be completely unknown, or when attitude control is not maintained. However, each antenna and RF front end requires additional power, which is a very limited resource on a microsatellite. Six antennas represented the best balance between robust attitude capability and power consumption [JA99]. The receiver has three identical electronic cards; each card has two RF front ends, a correlator bank, and a processor. The GP2021 correlators have 12 channels, and these twelve channels are allocated between two antennas connected to the RF front end on that card. The allocation of the channels between those antennas can be modified by commands from the ground. The RF front end consists of the GP2015 RF processor as well as filters and amplifiers. For robustness purposes, each of the antennas on the anti-nadir pointing face is connected to a different receiver card, and then the second front end on each card was connected to one of the remaining antennas. The decision to use two antennas per correlator instead of just one was driven by both power and mass limitations. In normal operation, only some of the antennas will be actively used for navigation and attitude determination. Therefore, rather than having unused correlators and processors on the vehicle, it is preferable to just re-allocate the channels between antennas. The three correlators are each driven by Mitel’s ARM-60 32-bit RISC processor. The lock-on and tracking of the NAVSTAR signals, as well as the absolute navigation, is done on these embedded processors. These processors then send the raw measurements and navigation solutions to a science computer. This computer has an r processor, whose computational power is much greater than the Intel StrongARM ARM-60. Attitude determination and relative navigation is performed on the science 2 The placement of two antennas on the in-track faces (and none on the cross-track faces) was intended to allow the option of using local RF ranging devices to augment the NAVSTAR constellation. [CP01] 4.1. ORION RECEIVER OVERVIEW 67 Figure 4.1: The Orion spacecraft has 6 GPS antennas. These antennas pro- vide attitude determination capability, as well as large sky coverage for initialization. computer. The science computer also handles various planning and autonomous control functions. It is a time consuming and costly procedure to modify the software on the receiver ARM-60, and impossible to modify the code from the ground after launch. Therefore, the goal was to simplify and minimize the tasks performed on the receiver processors, and move the advanced navigation to the reprogrammable, and more powerful, science computer. This also adds modularity to the design, by making the receiver a simpler, more general sensor. Internally, the receiver takes measurements at 10 Hz from the tracking loop. The tracking loop itself operates at either 1 kHz during acquisition or 100 Hz during tracking. The receiver outputs data at 1 Hz, but with minor software modifications, it could be configured to output 10 Hz data. However, it has been found that 1 Hz is sufficient to meet the navigation requirements for this application. Obviously, one could read the data from the receiver at slower rates if desired. Figure 4.3 illustrates the different operating frequencies of the receiver’s primary tasks. 68 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER Figure 4.2: The modified GPS receiver used for this project. The left side shows the top, where the RF front-end and correlator are visible. The right side shows the bottom, which has memory, the ARM60 processor, and SMA antenna connectors. Figure 4.3: Different tasks within the receiver run at different frequencies. 4.2 Heritage As previously stated, this is a third-generation design. The second generation design was done by Eric Olsen at Stanford University [EO99], along with J. C. Adams [JA99] and C. W. Park [CP01]. Olsen made design modifications to both the hardware and software. There were two main hardware modifications: an external clock capability and the addition of a second RF front-end. The second RF front-end allows more antennas to 4.3. RECEIVER DESIGN INNOVATIONS 69 be used, which is important for attitude determination. However, that change alone is not sufficient, because more than two antennas are needed for three-dimensional attitude determination. The external clock addition allows multiple receiver cards (made up of the RF portion, the correlator, and processor) to be linked to the same clock signal, and take synchronized measurements as if from one receiver. Olsen also made several software modifications. Some were minor interface changes, and some were to manage the second RF front-end. The most significant changes, however, were related to the tracking loop. The original design had a frequency-lock loop (FLL) for the carrier tracking. This is very robust and provides an open-loop carrier phase measurement. However, since the loop tracks the frequency, the carrier phase error will integrate and grow over time. For differential carrier phase measurements, a phase-lock loop (PLL) is necessary. Olsen created a staged third-order PLL. The tracking loop acquires the signals using a FLL, and once the signal has frame lock, it switches to the PLL. Further detail is given in Olsen’s thesis [EO99]. Others have studied using the Mitel/Plessey chipset in space. Unwin, at the University of Surrey, also used a receiver based on the same GP2015/GP2021 chipset. His group has performed some radiation tolerance testing on the GPS components [MU98], and shown them to exhibit fairly high inherent radiation tolerance. More importantly, the University of Surrey has already flown these GPS receivers in orbit, and demonstrated their successful operation in LEO [MU00, MU02]. This space heritage improves confidence in using this chipset for other LEO missions. Derivative receivers, based on the same chipset, were also used in the work by Montebruck [OM02b] and Ebinuma [TE01] discussed in Section 1.4 4.3 Receiver Design Innovations For this research, the receiver was modified for orbital relative navigation. These modifications included communication interface changes, clock steering stabilization, orbital operation capability, and further improvements to the tracking loop. 70 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER Figure 4.4: The GPS receivers communicate with each other and the science computer on a token bus. It has an additional communication route with the ground and the other vehicles in the formation through the spacecraft CDH computer. 4.3.1 Communication Interface To perform the tasks of relative navigation and attitude determination on orbit, and to be able to interact with the Orion spacecraft, the receiver needed extensive changes to its interface design. There are four parts to these changes: 1) a new interface board, 2) a new internal communication design, 3) a new cross-link communication design, and 4) a new ground communication design. Further details about the interfaces have been documented in the Orion Payload ICD [ICD01]. Interface Board A new interface board was designed to handle all the connections with the spacecraft, and to handle the various communication needs of the navigation system. This board also has the external clock and provides the 10MHz clock signal to the three GPS cards over SMA cables. Power switches, allowing power on/off and reset commands, 4.3. RECEIVER DESIGN INNOVATIONS 71 Figure 4.5: The modified GPS receiver for a single Orion satellite in integra- tion tests with the science computer and spacecraft CPU. Reliable operation of the full system and all communication interfaces was validated. The three GPS cards are to the left, the interface boards in the center, and the science computer is on the lower right. r commands from the spacecraft Command and Data are set using Dallas 1-Wire Handling (CDH) computer [DAL]. To protect against single-event upsets or latchups, over-current detectors are included which automatically shut down the receivers. Thermistor monitoring circuitry for telemetry is also on the interface board. It also has two RS-232 data ports, the power connection, and the Dallas 1-Wire port. The interface board has the same physical footprint as the receiver cards so that it can be stacked with them in a single tower, if desired. 72 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER Internal Communication Three GPS boards need to communicate with each other and with the science computer. The interface card was designed to handle the wire connections. However, the software on the receivers had to be modified to coordinate communication between four (or more) devices on the same port. A dynamically reconfigurable token bus was developed to handle the communication between receivers and the science computer. The token bus allows multiple units to share the same serial communication line. It is driven by the Science Computer, which uses general purpose input-output (GPIO) pins to coordinate communication between nodes on the bus. A token bus design was used because it requires no additional hardware, and is very robust, flexible, and relatively simple. The token bus requires a special header structure, and requires each unit to transmit at least once each second (if only to pass the token along). However, it can handle messages of variable length and does not require time-synchronized messages. Each unit has a unique identifier and a node map of all the other active units on the bus. They each communicate in the order that they appear in the map. Each unit only transmits data when it has the “token”. Once a unit has transmitted all the buffered data that it has, it passes the “token” to the next unit in the map. This cycle continues through all the units listed on the map. If a unit does not speak after a certain period, the master unit (the science computer), will poll all the units and create a new node map. To run the token bus, data must be sent in packages, or sentences with a defined header and closer. The header identifies the source of the data, the destination for the data, and what type of data is being sent. The sentence closes with checksums to ensure correct transmission. The specific sentence structure is shown in Table 4.1. Data is currently communicated at 19.2K baud rate. It can be configured for higher or lower rates. The token bus has been extensively tested, and found to be robust for days of continuous operation. 4.3. RECEIVER DESIGN INNOVATIONS 73 Table 4.1: Standard Token Bus Sentence Structure 0 1 2 STX SRC DST STX SRC DST NXT TYP LEN1 and LEN2 DATA CHK1 and CHK2 ETX 3 4 5 6 7:N+7 N+8 N+9 NXT TYP LEN1 LEN2 DATA CHK1 CHK2 Start Byte (0x02) Source unit of this data sentence Destination unit for this data sentence Next unit to receive token Type of data sentence Two bytes for data length The actual data this sentence contains Two checksum bytes (verify correct transmission) End byte (0x03) N+10 ETX Crosslink Communication Relative navigation, as explained in Chapter 2, requires passing data between vehicles within the formation, referred to as crosslink communication. A reference vehicle broadcasts its raw phase measurements to the other vehicles in the formation. These slave vehicles use the broadcast data to determine their own state relative to the reference vehicle, and then (if desired) transmit this state estimate back to the reference. Within each vehicle, the data required for relative navigation is sent to the CDH via the science computer, which then handles the transmission to and from the other vehicles in the formation. The science computer keeps a copy of the data, and also collects any measurement packages from other vehicles. With the local set of measurements and the remote set, the science computer is able to determine its own state relative to the remote vehicle. The receiver generates large amounts of data and telemetry. A significant portion of the telemetry is only of interest for contingency resolution (i.e., trouble shooting). Therefore, several different data sentences, each containing different subsets of data and telemetry, were designed. For normal operation, only some of these sentences are used. A list of most of the data sentences is in Table 4.2. 74 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER Table 4.2: Data Sentence Listing Sentence F00 Length 67 F01 96 F02 236 F03 F04 387 132 F05 20 F08 F99 F13 F14 F15 F20 F24 F25 89 Variable 113 297 137 Variable 1 0 Description Status Summary: status bytes, Abs Nav Solution, operation summary, time tag Solution Sentence: Absolute and Relative Navigation Solution, Time tag Relative Navigation Data Sentence: Code phase, carrier phase, Doppler, time tag Channel Summary: Lock status, Doppler and NCO, SNR Satellite Summary: azimuth and elevation of all SVs in almanac Communication Link Summary: bytes received, sent, and lost Line Of Sight Sentence Debug Sentence, dependant on code version Almanac Data Sentence (one satellite per sentence) Ephemeris Data Sentence (one satellite per sentence) Ionosphere and Clock Sentence Command Sentence Query whether unit is on token bus Respond to query Relative navigation requires only sentences F00 and F02 be broadcast by the reference vehicle. If a compiled formation state is desired, the slave vehicles transmit only the F01 sentence in return. The data message broadcast by the master vehicle sets the crosslink communication requirement. Currently, the crosslink sentences, F00 and F02, include the data listed in Table 4.3. The total byte count for the crosslink broadcast, including the sentence headers, is 323 bytes. Section 7.1.1 demonstrates that the same relative navigation results are achievable without transmitting the Doppler and code phase data. An additional 120 bytes ((4 + 6) × 12) can be saved by not transmitting these measurements. The F00 and F02 message is broadcast every epoch (nominally once per second, but that is a selectable design parameter). 4.3. RECEIVER DESIGN INNOVATIONS 75 Table 4.3: Crosslink Data Description F00 Receiver ID Status Bytes Number SVs Tracked Date (dd/mm/yy) Time (hh:mm:ss) GDOP Input/Output Byte counts Clock Slew Absolute Solution Time Tag (for Absolute Solution) F02 Time Tag (for measurements) Receiver ID Week Number PRN number (per channel) Code phase (per channel) Integrated Carrier Phase (per channel) Doppler (per channel) Valid flag (per channel) Total Byte Count type number byte byte int byte byte (int) int long double double 1 3 1 3 3 1 4 1 6 1 string byte int byte int+long int+long long byte 1 1 1 12 12 12 12 12 total bytes 67 1 3 1 3 3 2 8 4 36 6 236 17 1 2 12 72 72 48 12 303 Ground Communication Data and navigation solutions need to be stored and sent to the ground for post processing and validation. Commands need to be sent to the receivers from the ground as well. Communication with the ground is routed through the CDH computer, and can either go through the science computer or directly to the GPS receivers. Interface with the receiver for development has been handled by OrbMon7. This software, customized by the author, is based on Mitel/Plessey BuilderTM receiver code and WinmonTM code. The program is run from the DOS operating system. It communicates over a serial port with the receivers at 19.2K baud rate, in the place of the science computer. It receives the data sentences from the receiver, displays them to the screen (there are several different display screens available, corresponding to 76 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER Clock Steering Task is called every 100 ms counter = 0x8B823 (the nominal clock control value) Determine time offset: DT = 1000− Navigation Time (milliseconds) if 745ms < DT < 855ms then Slew = 900 − DT (Controller in Algorithm 4 inserted here) counter = [(40 × Slew)/7] − 1 end if Write counter to correlator clock input Algorithm 3: Algorithm to steer clock to GPS time [EO99] the different data and telemetry sentences of the receiver), and writes the data to files for post-processing. It also has the ability to upload ephemeris, initialization data, and user commands to the receiver. 4.3.2 Clock Control Synchronous measurements are required for differential navigation. Some systems achieve this by interpolating asynchronous measurements. This work uses a direct approach of synchronizing the time at which the measurement is taken on all receivers. This is done by actively steering the clock on the receiver to GPS system time [EO99]. Then, with all receivers set to the same time, the measurement is taken at the same instant in each second, and the measurements are synchronized. Algorithm 3 is used to steer the clock. However, it was observed that the clock steering (also referred to as slewing), was not always stable. In normal operations, the pseudorange error for each channel was around −315 m (with a variation of about 10 m on each channel), which usually indicated stable clock slewing. During experiments of an hour or more in duration, periods of unstable clock slewing were observed. In these cases, the pseudorange errors on all channels would jump between roughly +105 m to −105 m every second (and sometimes the order of magnitude was even larger). It was also noted that the clock correction during these periods was oscillating with the pseudorange errors. These periods of unstable slewing would sometimes last for several minutes and then recover, 4.3. RECEIVER DESIGN INNOVATIONS 77 at other times it would never recover. The initial cause of this instability is unknown. The oscillation arises from the relation between the clock slewing control and the navigation solution. The clock correction is determined as part of the navigation solution, which is determined from the phase measurements. However, the phase measurements are effected by the clock slew. For example, if the clock is slewed forward, the phase measurement will be higher, and if the clock is slewed back, the phase measurement will be lower. These adjusted phase measurements are used in the navigation solution, and will potentially over- or under-correct the clock state based on these adjusted measurements. This process can become oscillatory if the slew commands over compensate the clock based on each navigation solution. During these periods of oscillation, the differential measurements were not usable. Therefore, an ad hoc active control algorithm was implemented in software to maintain stable clock slewing. Based on the experimental observations, the clock steering was modeled as a neutrally stable oscillator. The oscillation frequency was empirically estimated, and set at 5 rad/sec. The measured clock offset is considered the measurement input to the system (the “counter” command shown in Algorithm 3). The state is considered the clock offset and clock-offset drift. The control output is the actual command given to the correlator. Using LQG, feedback and estimator gains were designed to stabilize the system, by increasing the damping in the system. The original clock slewing software was modified to include this The new active clock control algorithm is presented in Algorithm 4. The active control algorithm was intended as a simple ad hoc solution, and performed quite successfully. After implementing this system, no periods of unstable clock slewing were observed in hundreds of hours of testing. These tests included many continuous receiver tests of several hours in duration. 4.3.3 Orbital Capability The receiver was modified so that it could operate on orbit. The first change was to allow higher altitudes and velocities than those experienced in terrestrial applications. The second change was to allow initial navigation lock-on in orbit. 78 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER DEFINE: y as the measure of the clock offset x as the clock state, ẋ as the clock drift Acl as the closed-loop clock dynamics, (Acl = Aol − BK − CL) L as the estimator gains K as the controller gains 0.5202 0.4792 1.000 , K = −0.0661 0.0039 , L = Acl = −0.5198 −0.4788 1.0856 Initialize x = 0, ẋ = 0. Within the clock steering function (Algorithm 3): y = counter - 0x8B823 x x = Acl + Ly ẋ k ẋ k−1 x u = −K ẋ k counter = 0x8B823 + u Return to the clock steering function, and store x, ẋ for next function call. Algorithm 4: Algorithm to stabilize the clock slewing Lightsey demonstrated that at orbital velocities there is a much larger potential Doppler space to search for the GPS signals [GL97]. He found that the Doppler shift can be as great as 60 kHz for space applications, while terrestrial applications are seldom higher than 10 kHz. This search is large enough that in the time some GPS satellites are visible to the user, the Doppler search space may not be entirely covered, and the signal never acquired. This introduces the risk of never acquiring an initial navigation fix. To avoid this problem, the receiver employs a technique for assisting the first fix. To assist the receiver in getting the first navigation fix, essential data is uploaded from the ground user. These data are: 1. An estimate of the current time (it is sufficient for the estimated time to be within 20 seconds of the actual time). 2. The GPS almanac. The GPS almanac data is valid for 180 days. 3. A rough estimate of the user state with a time tag (position errors can be off by hundreds of kilometers, and still be sufficient). 4.3. RECEIVER DESIGN INNOVATIONS 79 With this initial data, the receiver runs a rudimentary Keplerian orbit propagator to determine the current user position and velocity. The GPS constellation state is predicted from the GPS almanac. Based on the user position and GPS satellite positions, the receiver determines which GPS satellites are in view, and focuses it’s search on those satellites. The relative velocity between each visible GPS satellite and the user is also determined. This relative velocity is used as the starting point for the search for the signals in Doppler space. This signal search is required to begin tracking the GPS signals (see Section 1.3). Using this assisted start, the Doppler search space is greatly reduced, and the likelihood of achieving first fix guaranteed. In testing, it was found that the navigation first fix could be achieved within 2 minutes. For this application, first fix within 2 minutes is more than sufficient. Using these assisted starts, the receivers never failed to aquire a navigation fix in all orbital simulation testing. Successful initialization of the receivers on the orbital simulator have occured hundreds of times. 4.3.4 Tracking Loop The final major modification to the receiver was to the carrier phase tracking loops. The third order PLL used in the second generation receiver was designed by Olsen for a very different application in a very different operating environment. The goal of a PLL tracking loop is to maintain robustness (ability to track the signal without slipping cycles) while also maintaining low noise levels. It is third order because it uses three states: the phase (φ), the phase-rate or frequency (φ̇), and the frequency-rate (φ̈). The Numerically Controlled Oscillator (NCO) is the hardware that actually controls the carrier replication. It is modeled as φk+1 = φk + T µk where φk = The actual carrier phase at time k T = The tracking loop time step, which is either 1 ms or 10 ms. µk = The NCO command state (4.1) 80 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER Figure 4.6: A third-order phase-lock loop is implemented in software for the carrier tracking. The output of the tracking loop drives the NCO, which locks onto the signal. The previous software designs (Plessey and Olsen) used this NCO state, µ, as the range-rate measurement. The input to the PLL is the difference between the measured phase and the expected phase, ∆φk = φ̂+ k − φk (4.2) The PLL can be represented by a reduced-order filter [EO99], " # ˙ !− ˙ !+ φ̂ φ̂ 1 T = ¨ ¨ 0 1 φ̂ φ̂ k+1 k ! ! # " + − ˙ ˙ φ̂ φ̂ L2 ∆φk = + ¨ ¨ L3 φ̂ φ̂ k µk (4.3) (4.4) k 1 ¨+ L1 ˙ ∆φk = φ̂+ k + T φ̂k + 2 T (4.5) 4.3. RECEIVER DESIGN INNOVATIONS 81 Tracking Loop Response 40 Amplitude (dB) 30 20 10 0 −10 −20 0 10 1 10 2 10 100 Phase (deg) 50 0 −50 −100 φ φ−dot µ −150 −200 0 10 1 10 Frequency (rad/sec) 2 10 Figure 4.7: The Bode plot of the 3rd order PLL. The phase, phase-rate, and NCO states are all shown. where the Li are the adjustable tracking loop gains. Figure 4.6 shows the block diagram for this tracking loop. It is of interest to understand the bandwidth of this PLL and the noise levels of the states within the loop. The Bode plot of the theoretical frequency response for the phase, phase-rate, and NCO state are shown in Figure 4.7. These plots show the amplitude response of the PLL to a given input frequency, based on the model in Equations 4.2–4.5. By comparing the frequency responses of different states, it can be seen that at higher frequencies, the phase (φ) response attenuates the input signal. The phase-rate (φ̇) amplifies the input near the loop bandwidth, and then rolls off. The NCO state (µ) amplifies all of the higher frequency inputs, which are primarily noise. One would predict that the phase will have less noise than the phase-rate, and the phase-rate would have less noise than the NCO state. One conclusion that can be drawn from this is that using the phase-rate state will provide a lower noise measurement for 82 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER range-rate than the NCO state (which was used in the former design). The curves in Figure 4.7 make intuitive sense; the GPS signal correlator provides a phase, and the other two states are created by differentiating that phase, which can be expected to increase the noise. The theoretical expectation of relative noise levels can be experimentally verified. The PLL was modified so that it had an adjustable loop bandwidth. The loop bandwidth is considered the point where the magnitude of the phase response drops by 50% (or −3 dB on a Decibel scale). In Figure 4.7, the loop bandwidth is about 50 rad/sec. Another common measure for PLL performance is the noise bandwidth, Bn , which is defined as [FG79], Bn = Z ∞ |H(j2πf )|2df (4.6) 0 where H(j2πf ) is the PLL transfer function, evaluated at the frequency f , in Hertz. The bandwidth characterizes the behavior of the PLL. A low bandwidth will attenuate noise at high frequencies, but also cannot track signals with high dynamics. A high bandwidth will be able to track rapidly changing signals, but will amplify high frequency noise as well, and can become unstable. The bandwidth must be selected to balance these competing factors. Ward suggests using a noise bandwidth of 18 Hz rad/sec for GPS applications [EK96]. The loop bandwidth is determined by the set of gains L1 , L2 and L3 , as shown in Figure 4.6, and they are controlled in software. Different sets of these gains were designed using LQE. The input parameter for LQE is the R Q ratio, (which is the ratio between the sensor and process noise) — Q was fixed at 1 and R was varied to create different gains. For the tracking loop, the process noise reflects the dynamics of the antenna (jerks and accelerations); the sensor noise reflects the noise in the RF electronics and the correlation process. The software was modified so that these precalculated loop gains were externally commandable while the receiver was tracking. This design feature gives the receiver greater robustness. If the receiver cannot track the GPS signals due to the vehicle dynamics during orbital operation, the bandwidth can be set higher with a single command from the science computer or from operators 4.3. RECEIVER DESIGN INNOVATIONS 83 on the ground. This will increase some of the noise on the measurements, but at least the receiver will be able to track the signals robustly. To measure the noise present for a given bandwidth, the phase measurements were saved while the receiver was tracking, and then analyzed in post-process using GSAT-NAT (see Section 3.3). Figure 4.8 shows the signal noise level on a single channel. This technique gives an effective measure of the standard deviation for noises with short time correlation. Errors with long time correlations or biases will not be captured using this technique. Note that the measured signal noise also includes synchronization errors, which will be discussed further in Section 7.2.4. Figure 4.8 was generated using data from the GSFC FFTB, and the measured noise has a standard deviation of about 3 mm (double difference noise level). Data from the outdoor tests yielded noise on the order of 4-5 mm for carrier phase. The larger outdoor noise is to be expected from multipath and other real-sensor noise sources. Qualitatively, the residuals are similar between the outdoor and FFTB tests, and this consistency builds confidence in the validity of the simulations. Figure 4.9 plots the experimentally measured carrier phase and Doppler noise levels, as a function of bandwidth. This data was generated using the FFTB simulator. Two different carrier phase tracking loop rates (100 Hz and 1 kHz) were implemented. For each rate, a series of different gain sets were used, and the resulting phase and phase-rate noise levels were measured for that gain-set. Figure 4.9 shows that the Doppler noise is at least an order of magnitude higher than the phase noise. At lower bandwidths, the measured noise approaches a threshold value, which is determined primarily by the ability to synchronize measurements (see Section 7.2.4). Based on this study, a loop bandwidth of 15 Hz, with a 100 Hz tracking loop, was selected for nominal operation. This loop bandwidth corresponds to a noise bandwidth (Bn ) of about 21.5 Hz.3 One could select a lower bandwidth and have less noise. Indeed, in research concurrent with this thesis, Montebruck et al. use 3 The noise bandwidth is an integration of the magnitude response in figure 4.7. The “hump” in the curve before it attenuates causes the noise bandwidth to be larger than the loop bandwidth. Generally, the noise bandwidth and loop bandwidth for a PLL are fairly close. The bandwidth selected was very conservative; aircraft, which expect much higher jerk stress, will often use a loop bandwidth of 15 Hz [PE03]. 84 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER Double Difference Carrier Phase Analysis for Channel 25 −3155 raw data poly fit Measurments (m) −3160 −3165 −3170 −3175 −3180 −3185 0 50 100 150 200 250 300 350 400 0 50 100 150 200 time (sec) 250 300 350 400 0.015 residual (m) 0.01 0.005 0 −0.005 −0.01 Figure 4.8: The residual short time correlated noise on the carrier phase signal. The curve of the line in the upper plot is due to the acceleration in the range. There is a higher degree of curvature for orbital tests. Note that these residuals are for the double differences. a similar tracking loop and report noise levels of 1.1 mm on their single-difference carrier phase [OM02a]. However, a tracking loop with a 15 Hz bandwidth should be very robust against cycle slips even in the face of unexpected dynamic disturbances. Furthermore, Section 7.2 will demonstrate that this noise level is still much smaller than the noises introduced by other external sources. Therefore, it was decided to use a tracking loop with more noise, but less susceptibility to cycle slips. While this bandwidth value is used for the results presented in this dissertation, the receiver was tested at a variety of lower bandwidths (as is evident in Figure 4.9). 4.3. RECEIVER DESIGN INNOVATIONS 85 Measurement Noise as Function of Tracking Loop Bandwidth 100 100Hz Pos. 100Hz Vel Measured Noise (cm, cm/s) 10 1 0.1 1 10 Loop Bandwidth (Hz) Figure 4.9: The noise on the carrier phase and phase rate are functions of the tracking loop bandwidth. This shows the noise level on singledifference measurements. Note that it is plotted on a log-log scale. To create a loop bandwidth of 15 Hz, the gains were 0.3501 L = 7.5129 80.6184 which represents a R Q (4.7) ratio of 10−4 . This bandwidth has a measured single difference carrier-phase noise level of about 2 mm, and a Doppler noise level of about 3.5 cm/s. The results throughout this work were all obtained using the tracking loop gains set to these conservative values. Clearly, the phase-rate noise is much higher than the phase noise. This increase in noise is expected since only the phase is directly measured, and the phase-rate is determined within the PLL by differentiating the phase. If a dynamic model were 86 CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER included in the PLL, one would expect that the phase-rate noise could be reduced. However, a dynamic model within the PLL greatly increases the complexity and computational effort within the receiver software. Increased complexity is undesirable for three reasons: 1. It is more difficult to modify the receiver software than the external navigation filter. The receiver software is on a dedicated embedded processor, and is therefore very difficult to program and debug. It is also impossible to change the software once the receiver is on-orbit. Software on the science computer (which will run the navigation filter) can be modified on-orbit. 2. The PLL operates at a much higher rate (operating at 100 Hz) than the navigation filter (operating at 1 Hz). Moving additional motion calculations to the tracking loop will greatly increase the computational loading of the processor. 3. The dynamic model could potentially require additional information from external sources. Sending data to the embedded processor increases internal communication bandwidth requirements. For these reasons, the receiver software was designed with the most general and simple PLL, and all dynamic modeling was done in the external navigation filter (described in Chapter 5). 4.4 Summary In conclusion, the GPS receiver was modified to operate in orbit. The communication interfaces were changed to handle the logistical issues of formation flying in orbit, with limited communication resources. The clock slewing was stabilized to handle long experiments. An orbit propagator was included to ensure achieving navigation fix at orbital velocity. Finally, the tracking loop was modified to have a conservative bandwidth, but still provide sufficiently low-noise measurements. An adjustable bandwidth feature was also added, to improve robustness in case of unexpected operational contingencies. Chapter 5 Relative Navigation Filter Following the road map to the system in Figure 2.6, the next step is the filter. The previous chapter described the receiver and the measurements that it provides. These measurements are sent to the filter, which then uses them to update the estimate of the state. The filter used is an Extended Kalman Filter (EKF). The objective of this research is to find the simplest filter design that meets the performance goals, as discussed in Section 1.1.3. How sophisticated must the models and the methods used in the filter be to achieve the desired accuracy? This chapter answers this question, and presents the resulting EKF design. 5.1 Kalman Filter Consider a discrete nonlinear system xk+1 = fk (xk , wk , uk ) yk = hk (xk , ν k ) where xk = the state vector at discrete time-step k yk = the measurement vector at discrete time-step k 87 (5.1) (5.2) 88 CHAPTER 5. RELATIVE NAVIGATION FILTER fk (·) = the discrete nonlinear time-varying function propagating the current state at time k to the next discrete time k + 1 wk = the process noise, which is the unknown or unmodeled effects in the state dynamics during the time interval from k to k + 1 uk = control commands initiated at discrete time k hk (·) = the nonlinear time-varying observation function relating the current state vector to the measurement vector at time k νk = the sensor noise, which is the unknown or unmodeled effects in the measurements at time k A subset of this general description are discrete linear systems, xk+1 = Φk xk + wk + uk y k = Hk x k + ν k (5.3) (5.4) where Φk = the linear state dynamics matrix, which is a time-varying function propagating the current state at time k to the next discrete time k + 1 Hk = the linear observation matrix, which is also time-varying, relating the current state vector to the measurement vector at time k For a linear system, the Kalman Filter is the optimal recursive estimator. For nonlinear systems which cannot be effectively approximated as linear, the Extended Kalman Filter (EKF) is used to estimate the state, x. It is well known that the EKF is not optimal [AG74, BH92]. Relative navigation using GPS is a nonlinear problem. Therefore, the problem must either be linearized and used in a standard Kalman filter, or the nonlinear system must be used within an EKF. Both approaches are potentially sub-optimal. A recursive filter is one that takes measurements at discrete time intervals, and over time improves the estimate of the state using these measurements. It has two 5.1. KALMAN FILTER 89 Figure 5.1: The Kalman filter has two stages: A time propagation going from t(k) to t(k + 1) and a measurement update. The measurement updates the a priori estimate x− , and becomes the a posteriori estimate x+ . stages. The first stage is the measurement update, which updates the a priori state + estimate x̂− k and creates the a posteriori estimate x̂k . The next stage is the time propagation, which uses a dynamics model of the system to propagate the estimate − x̂+ k from time k to the next discrete time, x̂k+1 . The derivation and the final equations comprising the Kalman Filter and Extended Kalman Filter are very similar. For this reason, this thesis will refer to just the Kalman Filter, but the reference to a nonlinear or linear filter will be clear by the context. The Kalman Filter creates an estimate of the state by balancing two sources of information: measurements and models. The filter uses models of the system dynamics and of the measurement process. The filter also considers the physical measurements from the sensor. Both sources will have uncertainties or noises within them. This leads to uncertainty and error in the estimate. The uncertainty is represented by covariances. The Kalman filter is designed to minimize the estimate error by weighting the model and the measurements inversely proportional to their uncertainty. For Kalman Filters, this relationship is captured in the Kalman gain equation: −1 Kk = Pk− HkT Hk Pk− HkT + R̂k (5.5) 90 CHAPTER 5. RELATIVE NAVIGATION FILTER where Pk− = the a priori covariance of the current state estimate error at discrete time k R̂k = the expected covariance of the measurement noise at discrete time k For the nonlinear case, the observation matrix is the Jacobian of the observation function, which is defined Hk = ∂hk ∂x x=x̂− (5.6) k The state error covariance is defined as: Pk = E{x̃k x̃Tk } = E{(x̂k − xk ) (x̂k − xk )T } (5.7) The Kalman gain, Kk , is a function of the state covariance, Pk . For this reason, the covariance must be propagated and updated accurately for proper filter performance. The update of the covariance is performed by: Pk+ = (I − Kk Hk ) Pk− (I − Kk Hk )T + Kk R̂k KkT (5.8) Equation 5.8 is referred to as the Joseph form of the covariance update, and is used because it provides a more numerically stable algorithm [PJ68]. The covariance is propagated from discrete time-step k to k + 1 using − Pk+1 = Φk Pk+ ΦTk + Q̂k (5.9) where Q̂k is the expected process noise covariance matrix. Note that the dynamics for this system are described in continuous form (see Section 2.1.3). The dynamics are of the form ẋ(tk ) = f (x(tk ), w, u) (5.10) 5.2. MOTIVATION FOR FILTER DESIGN 91 The linear propagation matrix, Φk , requires two steps to derive. First, the nonlinear continuous function is linearized, by taking the Jacobian of f (·), so that F = ∂f ∂x x=xk (5.11) In an estimator, the function f (·) must be linearized about the best state estimate, x̂− k . This linearized continuous function, F , must then be changed to its discrete form, using Φk = eF ∆t (5.12) where ∆t is the time interval for the discrete system. These equations recursively determine the state covariance over time, which in turn is used to find the Kalman gain. If Hk and Φk are known for all time, then the Kalman gain and state covariance can be defined for all time given just an initial state covariance. There is no feedback between the state estimate or measurements and the Kalman gain. In some cases, the lack of feedback can lead to divergence between the expected covariance and the actual errors; this is further addressed in Chapter 8. 5.2 Motivation for Filter Design Performing relative navigation using real hardware in realistic environments is not easy, even though it can seem simple in MATLAB simulations. Figure 5.2 shows the results from a reasonably simplified MATLAB simulation. An environment was used that assumed process noises and sensor noises with white Gaussian distributions. It neglected ephemeris and ionospheric measurement errors, and used only a Keplerian model for the motion dynamics. The filter used was a simple Extended Kalman Filter, with R̂ and Q̂ set to the expected noise levels. As shown in Figure 5.2, the filter performs well, and over time is able to achieve centimeter-level accuracy. However, if this same filter is used for data from GSFC FFTB hardware-in-theloop tests using the same formation, the performance is unacceptable, as shown by the 92 CHAPTER 5. RELATIVE NAVIGATION FILTER Relative Carrier Position Error (LVLH) Radial (m) 0.1 0.05 0 −0.05 −0.1 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time(sec) 2000 2500 3000 In−Track (m) 0.1 0.05 0 −0.05 −0.1 Cross−Track (m) 0.1 0.05 0 −0.05 −0.1 Figure 5.2: This plot shows the position error over time in the RIC frame. Using a simple MATLAB simulation, based on the same assumptions as the filter use, the filter appears to perform very well. (Scale ±0.1m) position error results in Figure 5.3. The plot shows that the error does not converge over time, and the covariance is not a reasonable indicator of the actual performance. This behavior is clearly not acceptable for a filter that will be used in a real system. Why are the two performances so different? The assumptions made in developing the simulation environment are poor models of reality. As a result, the simple filter designed in the simulation environment was not adequate for the small but important differences between the MATLAB simulation and the hardware simulation. The filter must be sufficiently robust to perform in the presence of real conditions. The error sources that caused the differences between Figures 5.2 and 5.3 will be further analyzed in Section 7.2. There are several areas where differences may arise between simulation and reality. Do the models in the filter accurately represent what is occuring in reality? Do the 5.2. MOTIVATION FOR FILTER DESIGN 93 Relative Carrier Position Error (LVLH) Radial (m) 1 0.5 0 −0.5 −1 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time(sec) 2000 2500 3000 In−Track (m) 1 0.5 0 −0.5 −1 Cross−Track (m) 1 0.5 0 −0.5 −1 Figure 5.3: Now, using the same filter as was used for Figure 5.2, but with hardware-in-the-loop data, the performance is no longer acceptable. Notice the scale is much larger (±1 m). Special attention must be given to the filter design. parameters Q and R accurately represent the actual process and sensor noises that are present? Is the method used to incorporate the measurement, or the method used to propagate the state, accurate? Is the initial estimate accurate enough for the filter to converge? All of these design options will impact the filter estimation accuracy. The models and methods for the measurement update and the time propagation within the Kalman Filter can be designed independently. The initialization of the filter must also be carefully designed. The goal is a simple filter design that still provides acceptable performance in a real-world environment. 94 CHAPTER 5. RELATIVE NAVIGATION FILTER 5.3 5.3.1 Measurement Update Measurement Models The measurement model is based on the model of the single difference carrier phase, as shown in Equation 2.24, and the single difference Doppler, as shown in Equation 2.25. Relating the state vector to the measurement vector requires grouping the models for all of the measurements together. There are two options: using the carrier phase and Doppler measurements, or just using the carrier phase measurements alone. The expected measurement function, ĥ0k (x̂− k ), when using phase and Doppler is ŷk0 1i 1j ∆βij1 ∆B̂ij1 kr̂ − r̂i k − kr̂ − (r̂i + ∆rij ) k + ∆bij + + . .. kr̂Ni − r̂i k − kr̂Nj − (r̂i + ∆rij ) k + ∆bij + ∆βijN + ∆B̂ijN = ˙ 1i ˙ r̂ − r̂i · los1i − r̂˙ 1j − r̂˙ i + ∆ṙij · los1j + ∆ḃij + ∆Ḃij1 .. . ˙r̂Ni − r̂˙ i · losN − r̂˙ Nj − r̂˙ i + ∆ṙij · losN + ∆ḃij + ∆Ḃ N i j ij ∆Iˆij1 (r̂i , ∆r̂ij , r̂m ) + ν∆φ .. . ˆN ∆Iij (r̂i , ∆r̂ij , r̂m ) + ν∆φ + ν∆φ̇ .. . ν∆φ̇ = ĥ0k x̂− k +ν (5.13) (5.14) Equation 5.13 is the model used in the filter, and can be compared to the actual measurement, shown in equation 2.42. A model of the ionosphere is used to determine an estimated value for ∆Iijm . Any error in this estimate, as well as the ephemeris error and other noises is now considered part of the sensor noise, ν∆φ . These errors are analyzed in Section 7.2. 5.3. MEASUREMENT UPDATE 95 This function is linearized about the state estimate x̂− k using the Jacobian defined in Equation 5.6. When linearizing ĥk (x̂− k ), the ionosphere, differential GPS clock offset, and ephemeris error are neglected. It will be shown in Section 7.2 that neglecting these terms introduces less error than the linearization assumption. Using this simplification, the Jacobian when using carrier phase and Doppler is expressed as Hk0 = " LOS(N ×3) 1(N ×1) 0(N ×3) 0(N ×3) 0(N ×1) I(N ×N ) 0(N ×1) LOS(N ×3) 1(N ×1) 0(N ×N ) # (5.15) where the subscripts indicate the dimensions of each quantity. 0(i×j) represents a matrix of all zeros (with dimension i × j), and 1(i×j) is a matrix of all ones. N is the number of valid measurements at each time-step. LOS is the matrix of lines-of-sight, los1 . . LOS = . losN (5.16) If the Doppler measurements are not used, and there are only carrier phase measurements, the function ĥk (x̂k ) reduces to ŷk kr̂1i − r̂i k − kr̂1j − (r̂i + ∆rij ) k + ∆bij + ∆βij1 + ∆B̂ij1 .. = . Ni Nj N N kr̂ − r̂i k − kr̂ − (r̂i + ∆rij ) k + ∆bij + ∆βij + ∆B̂ij ∆Iˆij1 (r̂i , ∆r̂ij , r̂m ) + ν∆φ .. (5.17) + . ∆IˆijN (r̂i , ∆r̂ij , r̂m ) + ν∆φ = ĥk x̂− (5.18) k +ν and the Jacobian is Hk = h LOS(N ×3) 1(N ×1) 0(N ×3) 0(N ×1) I(N ×N ) i (5.19) 96 CHAPTER 5. RELATIVE NAVIGATION FILTER The nonlinear and linearized form both require knowledge of the GPS satellite states at the time they transmitted the measured signal. The states of the GPS satellites are determined from the broadcast ephemeris by using the iterative Algorithm 2 presented in Section 2.2.2. 5.3.2 Linearity The largest driving factor for the filter design is linearity. For relative navigation using GPS, the linearity for the measurement update is determined by the separation between the vehicles and the GPS satellite locations. If the geometry introduces very small nonlinearities, then a linear update method can be used. In this case, the measurements are modeled as a linear system, and the state estimate is updated using − − x̂+ k = x̂k − Kk yk − Hk x̂k (5.20) where Hk has been defined in Equation 5.19. However, if the nonlinearity of the application is too large, then Hk x̂− k will not provide a sufficiently accurate model of the measurement hk (xk ). In this case, a nonlinear measurement model must be used to update the state estimate, − − y = x̂ − K − ĥ x̂ x̂+ k k k k k k (5.21) where ĥk (·) is defined in Equation 5.17. Why not just always use ĥk x̂− to update k the state? The nonlinear function will often require more computational effort and complexity to determine than Hk x̂− k . Furthermore, the covariance must still be updated using Hk , and this leads to a departure of the state estimate from the expected covariance. The effect of separation distance on filter performance can be demonstrated in a series of simulations. A series of 2-vehicle formations, each with a different separation distance between the vehicles, can be simulated. These simulations are performed using Simple Dynamics/Simple Measurements (SD/SM) in GSAT-RTE, to remove 5.3. MEASUREMENT UPDATE 97 any other noise or disturbance sources. The separations ranged from 100 meters to 100 kilometers in the in-track direction (radial and cross-track separations were ≈0). As the separation increases, the nonlinearity is expected to increase. Every other condition in the simulations, including the differential process noise, is held constant. The simulations are run and the measurements are then used in two filters: one with a linear update and one with a nonlinear update. The effect of nonlinearity is measured by the vector − εN L = ĥk x̂− k − Hk x̂k (5.22) and it is a function of the receiver states as well as the GPS states. Note that εN L is defined as the difference between the linear model and the nonlinear model, ĥk x̂− k , not the actual measurement, hk (xk ). The resulting maximum and mean values of εN L at a set time for each formation in these experiments is shown in Table 5.1. Figure 5.4 shows the resulting impact on estimation performance due to the growing nonlinearity. The horizontal axis has the characteristic separation between vehicles listed in kilometers. The vertical axis of the upper plot is the time-averaged Root-Sum-Square (RSS) of the relative position estimate error in centimeters.1 The vertical axis of the lower plot is the RSS of the relative velocity estimate error in millimeters per second. The results shown in Figure 5.4 reflect the error introduced by linearization alone; no other unmodeled noises or disturbances are included. The results in Figure 5.4 clearly show that for short separations (200 m or less) a linear model can be used without degrading the estimation performance. However, at 1 kilometer and above, there is a significant degradation of position estimation performance. Table 5.1 shows that at 1 km, there is already a 1–2 cm error due just to linearity effects. As will be seen in Chapter 7, this linearization error is more significant than most other error sources. As expected, the nonlinear Extended Kalman Filter performs much better. The position and velocity error due to separation distances remains nearly constant up to about 10 km separations. However, as distances 1 A complete description of the error calculations is given in Section 6.1.4. 98 CHAPTER 5. RELATIVE NAVIGATION FILTER Table 5.1: The mean and maximum differences between linear and nonlinear models. ∆r (m) maximum(εN L ) (m) 100 0.0002 200 0.0011 1,000 0.0278 5,000 0.6958 10,000 2.7830 20,000 11.0945 100,000 277.0160 mean(εN L ) (m) 0.0001 0.0005 0.0129 0.3462 1.3967 5.5924 140.6523 increase beyond that, even the nonlinear filter has a noticeable degradation in position performance. The lower plot in Figure 5.4 shows that velocity estimation is much less sensitive to separation size, though it does follow the same trend as the position error. The reason that the nonlinear EKF is also sensitive to separation is because the differential linearization error in creating Hk will grow as the lines-of-sight between the users and the NAVSTAR satellites become less parallel. This is a second order effect, since Hk is only used in determining the Kalman gain, Kk , but it is still significant for very long separations. The linearization errors also impact the propagation between time-steps, and this also contributes to the error in the EKF results (and will be discussed further in Section 5.4). Note that for these simulations, the propagation method was the same in both filters, and so the difference between the KF and EKF performance is due solely to the measurement update method. 5.3.3 Measurement Method Selection The results of Section 5.3.2 clearly illustrated the importance of the linearity in the measurement update. The previous study can be refined by considering additional methods to handle nonlinear measurements. A number of techniques exist, many of which have been used by other researchers. These techniques are listed here in order of increasing complexity: 5.3. MEASUREMENT UPDATE 99 Linearization Error Effect RSS Pos. Error (cm) 6 5 4 3 2 1 0 0.1 1 10 100 10 100 RSS Vel. Error (mm/s) 4 EKF KF 3 2 1 0 0.1 1 Separation Distance, ∆R (km) Figure 5.4: Compares the linear Kalman Filter performance with the non- linear Extended Kalman Filter performance for formations with different separation distances between vehicles. As the distance increases, linearization errors are introduced in the filter, degrading their performance. 1. Least Squares. In this method, the state estimate is determined from only the current measurements using the pseudo-inverse of the linear observation matrix, −1 T T so x̂+ Hk yk . Note that this method is not able to independently k = Hk Hk determine the carrier phase bias. Furthermore, it uses the differential Doppler measurement to determine velocity. The advantage of this approach is that it is the simplest, least computationally intensive approach possible. 2. Linear Kalman Filter. This is the linear method used in the previous section. It is shown in Equation 5.20. It assumes that the measurement can be modeled as a linear function of the state. 100 CHAPTER 5. RELATIVE NAVIGATION FILTER 3. Park’s Linear Kalman Filter [CP01]. This method is based on the linear Kalman update, but a correction is applied to the measurements to account for long separations between vehicles. The update is now − ∗ − x̂+ k = x̂k + Kk (yk ) − Hk x̂k (5.23) where yk∗ ∆φ1i + 1∆φ .. = . N N ∆φi + ∆φ (5.24) This correction term, m ∆φ , was developed by Park as a first order correction for the curvature in the wave front observed at long separations. It can be applied to range or range-rate measurements, m m m m ∆φ = kr̂1 − r̂ k (1 − los1 · los2 ) m = (losm − losm ) · r̂˙ 2 − r̂˙ m ∆φ̇ 2 1 (5.25) (5.26) The term losm i refers to the unit vector along the line-of-sight between the receiver indicated in the subscript and the mth GPS satellite, in the ECEF frame. The subscripts 1 and 2 refer to the master and slave vehicle respectively. 4. Nonlinear. This is the nonlinear filter used in the previous section, and is shown in Equation 5.21. It assumes that the measurement is a nonlinear function, which is used in place of the observation matrix during the state estimate. The covariance update still uses Hk . 5. Iterated Nonlinear [AG74]. It is also possible to iterate the Kalman update. This method is useful if there are large changes in the measurement function as the state estimate changes (i.e., Hk is a strong function of xk ). For this 5.3. MEASUREMENT UPDATE 101 technique, the state estimate on each iteration is − − − − y = x̂ + K − ĥ (x̂ ) − H − x̂ x̂ x̂+ k,i k k,i k,i k,i+1 k,0 k,i k,0 k,i −1 T T Kk,i = Pk− Hk,i Hk,i Pk− Hk,i + R̂k ∂ ĥk,i Hk,i = ∂x + (5.27) (5.28) (5.29) x=x̂k,i and continues until + kx̂+ k,i − x̂k,i−1 k < (5.30) For this work was set at 10−4 , and usually only required two or three iterations to reach. This list of techniques spans the typical possibilities and complexity levels. The goal is to see how well they work for the particular application of LEO relative navigation using CDGPS. Note that Method 1 (least-squares) requires significantly less computational effort than the other approaches, and Method 5 (iterated nonlinear) requires significantly more than Methods 2–4. However, Method 3 (Park’s linear) only requires a slight increase in computational effort beyond Method 2 (linear), and Method 4 (nonlinear) requires only a slight increase beyond Method 3. A series of experiments using GSAT-RTE demonstrate how the performance of these different approaches compare. To increase simulation fidelity, the Complex Dynamics/Simple Measurement (CD/SM) approach is used for these studies. Three sets of experiments were performed, with separation distances between vehicles of 100 m in the first set, 1 km in the second set, and 10 km in the third set. Table 5.2 shows the results from these experiments. First, it is clear that the velocity estimation is not strongly affected by the method selected. Focusing then on position errors, the next point is that the linear methods (either least-square or Kalman) are not effective for long separations, which reiterates what was shown in the previous section. At 10 km, the errors for the linear techniques are hundreds of meters. Using Park’s correction clearly improves the performance for larger separations by 102 CHAPTER 5. RELATIVE NAVIGATION FILTER Table 5.2: Performance Comparison between Different Measurement Update Methods. Numbers are time-averaged RSS errors. Relative Position Error (cm) Method 0.1 km 1 km 10 km Weighted Least-Square 0.53 15.09 650.86 Linear KF 0.73 3.11 726.24 Parks KF 0.77 2.14 22.75 Nonlinear KF 1.22 0.85 3.53 Iterated Nonlinear 1.22 0.85 3.53 Relative Velocity Error (mm/s) Method 0.1 km 1 km 10 km Weighted Least Square N/A N/A N/A Linear KF 0.29 0.34 4.20 Parks KF 0.29 0.33 0.36 Nonlinear KF 0.30 0.34 0.34 Iterated Nonlinear 0.30 0.34 0.34 more than an order of magnitude. These results illustrate why this technique is used for initialization (see Section 5.5), and represents the first experimental validation of this approach. However, even with the improvement, the performance of Park’s method is still unacceptable at 10 km, with position errors of ≈20 cm. For the nonlinear update method, there is fairly uniform performance across the three distances (at least in comparison with the other techniques), with only about 3.5 cm error at 10 km. Finally, it is observed that the iterated technique does not improve the standard nonlinear performance, but it does introduce a significant increase in computation. Based on the observations that the best of the linearized approaches could not meet the performance goals beyond 1 km separations and the iterated nonlinear filter added no extra benefit, it is clear that a nonlinear Kalman filter is the best choice for this application. 5.4. TIME PROPAGATION 5.4 103 Time Propagation A similar comparison can be done to determine the relative state propagation technique. Normally, the receiver provides measurements once every second. With some minor modifications, it is possible to provide measurements at 10 Hz, but this increases the requirement for inter-satellite communication bandwidth by ten times. It is very simple to decrease the update rate as well, by simply using the data provided by the receiver at the desired lower rate. The time between measurement updates is the time interval through which the filter must propagate the state. For this application, which has very low dynamics (there are only small thrusters, and natural motions are on the order of 90 minutes), a 1 Hz update rate is more than sufficient. 5.4.1 Propagation Model The state dynamics are presented in Section 2.1.3. For the filter, the simplest version of this model is used, ∆r̈ij = 3 µ kri k (ri + ∆rij ) + CECEF ri − q 3 kri k 3 (kri k2 + 2ri · ∆rij + k∆rij k2 ) (5.31) +w∆r + ∆uij All of the perturbing forces, such as differential drag and higher order gravity terms, are included in the process noise, w∆r . Equation 5.31 handles the position and velocity states. The clock offset and clock drift dynamics are modeled simply as, ∆b̈ij = w∆b (5.32) The clock model is based on empirical observations during development. For a carrier phase measurement to be used, there must be no cycle slip or other loss of signal. Under this condition, the bias states are constant, ∆β̇ijm = 0 (5.33) 104 CHAPTER 5. RELATIVE NAVIGATION FILTER These models, in Equations 5.31–5.33, create the nonlinear function, ẋ(t) = f (x(t), ri ) + w + u (5.34) where x(t) is defined:2 x(t) = ∆rij (t) ∆bij (t) ∆ṙij (t) ∆ḃij (t) 1 ∆βij .. . (5.35) ∆βijN and w = h u = h iT 0(1×4) w∆r w∆b 0(1×N ) iT 0(1×4) ∆uij 0 0(1×N ) (5.36) (5.37) The continuous function f (·) is linearized about the current state, by modifying the Jacobian, as expressed in Equation 5.11, to include the absolute state: F = ∂f ∂x x=xk ,ri (5.38) In an actual filter, the function f (·) must be linearized about the best estimate of the states, so xk = x̂− k and ri = r̂i , where the absolute position estimate, r̂i , is determined in an independent navigation filter. The linearized relative state propagation is now determined by ẋ(t) = F x(t) + w + u 2 (5.39) This definition of x(t) can be compared to the discrete definition of xk , at a specific time tk , defined in Equation 2.39 5.4. TIME PROPAGATION 105 The linear dynamics matrix F is built from the following blocks: F11 = 0(4×4) F12 = I(4×4) F21 µ = 3 r (5.40) x2 −1 + 3 r2 − r3 µ Ω2e 3 yx r2 zx 3 r2 −1 + 0 0 2Ωe −2Ωe 0 F22 = 0 0 0 0 # " F11 F12 F = F21 F22 3 xy r2 3 y2 3 r2 − rµ Ω2e 3 zy r2 0 0 0 3 xz r2 0 3 yz r2 2 −1 + 3 zr2 0 0 0 0 (5.41) (5.42) 0 0 0 0 0 0 (5.43) (5.44) where x, y, z = The 3 components of the relative position. r = The magnitude of the distance from the center of the Earth to the follower vehicle. The discrete linear propagation, Φk , is then determined taking the matrix exponential of F , as shown in Equation 5.12. 5.4.2 Propagation Method Selection Several techniques exist for performing the state propagation, and just as with the measurement update, there is a trade-off between complexity and performance. The performance in controlled simulations of typical propagation techniques spanning the range of complexity can be compared. The simplest technique that meets the performance target can then be identified. The performance of the propagation method is a function of both the physical separation between vehicles, ∆r, and the temporal separation between updates, ∆t. 106 CHAPTER 5. RELATIVE NAVIGATION FILTER ∆r impacts the accuracy of the linearized propagation matrix Φ. Uncorrected, errors grow over time, and so a longer ∆t will scale the error magnitudes. Four sets of experiments were performed which varied ∆r and ∆t. 1. A formation with the vehicles ≈100 m apart, with measurement updates once per second. 2. A formation with vehicles ≈10 km apart, with measurement updates once per second. 3. A formation with ≈100 m vehicle separations, with measurements once every 20 seconds (0.05 Hz). 4. A formation with ≈10 km vehicle separations, with measurements once every 20 seconds. ∆t of twenty seconds is still a very short interval compared to the orbital period. It was selected for this study because it is approximately the longest practical outage for CDGPS. Because of cycle slips and changes in visibility, the number of valid measurements is inversely proportional to the length of the time interval. The data from each of these simulation sets were used with a range of different propagation methods. These methods are again listed in order of increasing complexity: 1. Generic dynamics. The system is simply modeled as an s−2 plant, so x̂k+1 = Φ(s−2 ) x̂k , where Φ(s−2 ) = " I I∆t 0 # I (5.45) This is the most general dynamics model, and essentially integrates accelerations and velocities. It is the best model to use when nothing is known about the state dynamics, and is also the least computationally intensive. 2. Linear dynamics. A linear state propagation is used, but in this method the dynamics matrix, Φk , is the linearized matrix of the relative Kepler orbital 5.4. TIME PROPAGATION 107 Table 5.3: Performance Comparison between Different Time Propagation Methods Relative Position Error (cm) Method 0.1 km, 1 sec 10 km, 1 sec 1 Generic ( s2 ) 0.86 15.02 Linear 0.88 2.55 Nonlinear 0.89 2.41 Relative Velocity Error (mm/s) Method 0.1 km, 1 sec 10 km, 1 sec 1 Generic ( s2 ) 0.62 56.33 Linear 0.30 0.60 Nonlinear 0.30 0.34 0.1 km, 20 sec 0.66 0.56 0.55 10 km, 20 sec 28.26 8.39 4.05 0.1 km, 20 sec 0.88 0.29 0.28 10 km, 20 sec 93.11 7.19 0.35 equation, as derived from equation 5.44. Note that this is similar to Hill’s equations [MK76]. 3. Nonlinear dynamics. The state is propagated using the nonlinear functions in Equations 5.31–5.33, so that x̂˙ k = f (x̂k , ûk ) (5.46) Equation 5.46 is propagated using a fourth-order Runge Kutta approach. The covariance is still propagated using Φk , as shown in Equation 5.9. Table 5.3 shows the results of the propagation method comparison. The values show the RSS relative position estimation error, in centimeters and the RSS relative velocity estimation error, in millimeters per second. For the 100 m tests, regardless of time interval, all methods perform very well (with the generic dynamic method only slightly worse in velocity). For the 1-second time interval, regardless of formation separation, both the linear and nonlinear propagation techniques work well, with only a slight improvement using the nonlinear method. Only as fleet separation increases and the time interval increases (the fourth case), is there a significant difference between the linear and nonlinear methods. Note that for all cases, the standard nonlinear measurement update method was used. 108 CHAPTER 5. RELATIVE NAVIGATION FILTER The nonlinear model used is very simple, but does not propagate over long time intervals. Therefore, the propagation technique is not as important to the overall estimator performance. In other applications (highly elliptic orbits or GEO) where GPS measurements are not available for long periods of time, the propagation technique will be of greater importance. For Low Earth Orbit relative navigation though, even using a linear Keplerian model for the state dynamics may be sufficient. For the work presented in this dissertation, the nonlinear state propagation technique is used for the filter design. This maintains consistency during development, and allows uniform analysis across different time intervals. Another option for the measurement update and the time propagation is the Unscented Kalman Filter (UKF), introduced by Julier [SJ97]. It was developed as a means to propagate and update the covariance for highly nonlinear systems. The technique was also implemented during these trade studies. However, it was found to be much more computationally intensive, while there was no apparent improvement over the EKF. 5.5 Filter Initialization Since relative state estimation is a nonlinear system, it is especially sensitive to the filter initialization [AG74]. The initial state estimate is determined by taking the least-square solution of the differential code phase measurements (∆ρ) and differential Doppler measurement (∆φ̇). For close formations (vehicles less than 1 km apart), this method gives an initial estimate with an accuracy of 2-4 m. However, for larger separations, the error in the least squares solution can be much larger, as discussed in Section 5.3.2. To compensate, Park’s algorithm [CP01] for correcting long-separation measurements is implemented. Using this technique, separations of hundreds of kilometers can still be initially determined to within a few meters. With the corrected 5.5. FILTER INITIALIZATION 109 measurements, the initial state estimate is found −los11 1 .. .. G = . . n −los1 1 −1 T G G† = GT G #" # " † 0 ∆ρ G 0 = x̂− 0 0 ∆φ̇ 0 G† (5.47) (5.48) (5.49) where ∆ρ0 = ∆φ̇ 0 = h h N ∆ρ1ij + 1∆φ · · · ∆ρN ij + ∆φ N ∆φ̇1ij + 1∆φ̇ · · · ∆φ̇N ij + ∆φ̇ iT (5.50) iT (5.51) m and the terms m ∆φ and ∆φ̇ are defined in equations 5.25 and 5.26. Since the initial estimate is determined by the code phase estimate, the initial covariance is set to reflect this. It is determined upon initialization as follows P∆r = G† (σν∆ρ )2 G† T T G† P∆ṙ = G† (σν∆φ̇ )2 # " diag(P ) 0 ∆r P0− = 0 diag(P∆ṙ ) (5.52) (5.53) (5.54) where σν∆ρ = the expected standard deviation on the differential code phase noise. σν∆φ̇ = the expected standard deviation of the differential Doppler noise To insure that P0 is positive definite, only the diagonals of the sub-matrices P∆r and P∆ṙ are used. As the vehicles travel along the orbit, new GPS satellites will come into view, and new carrier biases will need to be added to the state. The initial estimate of the biases 110 CHAPTER 5. RELATIVE NAVIGATION FILTER is determined from the difference between the expected and measured range [EO99] m m ∆β̂ijm = ∆φm − kr̂ − r̂ k − kr̂ − r̂ k + ∆ b̂ i j ij ij (5.55) and an original algorithm was developed to determine the initial covariance for that specific bias estimate, − (σβ )2 = GP∆r GT + (σν∆φ )2 (5.56) where σβ = the initial standard deviation for the new bias estimate, this is entered on the diagonal of the covariance matrix, P − P∆r = the a priori relative position sub-block of the covariance matrix (σν∆φ )2 = the covariance of the expected noise on the ∆φ measurement Using this technique, the new measurements are brought on-line in a seamless transition. Chapter 6 Hardware-in-the-Loop Demonstrations This chapter presents the results from hardware-in-the-loop (HWIL) simulations performed using the NASA Goddard Space Flight Center (GSFC) Formation Flying Test Bed (FFTB). The experiments used actual prototype GPS receivers designed for the Orion mission (as described in Chapter 4). Four separate receivers are used to simulate several formations of four vehicles. 6.1 Conditions This section defines the simulation conditions for the results reported in Section 6.2. It describes the FFTB conditions, the filter settings used, and the formations that were tested. 6.1.1 Formation Flying Test Bed The FFTB has many parameters and levels of fidelity in its simulation environment [SP01, JS99]. These parameters are user selectable and relate to both the user dynamics as well as the RF signal characteristics. 111 112 CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS For the dynamics, the simulation used a tenth-order gravity model. Since the filter uses a first-order model, this gravity model is sufficiently advanced for evaluating the receiver and filter performance. The atmospheric drag model is based on Lear’s atmospheric model. All user vehicles were modeled identically, with a surface area of 1 m2 , a drag coefficient of 2, and 0.1 metric tonne (which is the smallest mass the simulator would model). Furthermore, all vehicles were constrained to a nadir earthpointing attitude, which will result in almost identical drag forces on all vehicles. The antenna is assumed to be at the center of gravity, with the antenna aligned with the axis pointing out the radial direction. GPS satellites with elevation angles with respect to the user less than 5◦ were not used for navigation (this angle is referred to as the mask angle). For the GPS RF signals, a diverging ephemeris and clock model was used, as specified in NATO Standard Agreement STANAG 4294 Issue 1. This simulates a divergence between the actual GPS satellite state and the broadcast ephemeris state. The ionosphere was modeled as Equation 2.18. The Total Electron Count was assumed constant, at 10−16 . This represents an unrealistic simplification, since the TEC will normally vary depending on a number of conditions (including whether it is day or night). The constant TEC model is used here as a place-holder for more advanced ionospheric mitigation approaches, such as using a dual-frequency receiver, and allows further analysis of the other noise sources. There is also no multipath noise in the simulation, but this is not expected to be a significant error source for microsatellites. 6.1.2 Filter The decentralized filter for these demonstrations used the nonlinear update method, using Equation 5.21, and the nonlinear measurement model of Equation 5.17. The nonlinear propagation method, as given in Equation 5.46, is implemented, based on the models in Equations 5.31–5.33. The filter used an ionospheric model based on the same model that the simulator used. This will almost completely remove the ionospheric effect. The ionospheric effect is only important for formations with long separations between vehicles (over 1 km)—this will be further discussed in Section 6.1. CONDITIONS 113 Table 6.1: Initial Orbital Parameters for 1 km In-Plane Elliptical Formation Veh. 1 2 3 4 Time: a(m) e 7017995.7 0.005000 7017988.6 0.005103 7018005.0 0.004862 7017992.8 0.005038 10:00:00 UTC 21 July i(◦ ) Ω(◦ ) 28.5 0.00 28.5 -1.13 28.5 -0.43 28.5 1.59 2003 ω(◦ ) -88.76 -88.76 -88.76 -88.76 M(◦ ) 135.00 136.13 135.42 133.44 7.2.2. For these cases, the fact that the same ionospheric model was used in both the filter and the FFTB simulator means that the results represent a lower bound for the estimator performance. Only carrier-phase, single-difference measurements were used. The update rate was 1 Hz. 6.1.3 Formations For this dissertation, a series of different formations based on the same master orbit have been run. The orbit simulated has an altitude of ∼450 km, eccentricity of 0.005, and 28.5◦ inclination. Several different formations were simulated. The ranges of formation sizes are based on typical formation sizes planned for the Orion mission [OR01]. They are also similar to those planned for TechSat-21 [TSAT]. The formations simulated were: 1. 100 m In-track. Here the vehicles are in the same orbital path, and all separated one from another by 100 m in the in-track direction. The separation between vehicles is purely a difference in the mean anomaly of each vehicle. They are all in line, so there is a 300 m spread between the first and last vehicle in the row, with the master vehicle being the second vehicle. 2. 10 km In-Track. This formation is the same as the previous, but the vehicles are all spaced ten kilometers from each other. Again, the master vehicle is the second vehicle in the row, with a 30 km spread between the first and last vehicle. 3. 1 km In-plane ellipse. This formation is considered the baseline demonstration for meeting Orion’s performance targets. The elliptical formation is a simple 114 CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS example of a passive aperture, which is of interest to a variety of research applications [GI00, RS99]. The master vehicle follows the reference orbit. The other three vehicles move about the master vehicle in an elliptical path in the local frame around the reference vehicle. All relative motion is within the orbital plane. The three slave vehicles are spaced with an equal angular separation radians between slave vehicles). The elliptical path between one another ( 2π 3 in the local frame is 1 km (radial) × 2 km (in-track). The relative velocity between the vehicles in this formation is on the order of 2-3 m/s. The initial orbital elements to create this formation are given in Table 6.1. Figure 6.1 shows the in-plane, LVLH frame projection of the motion of the vehicles for a portion of this experiment (only a short period was shown to maintain clarity). 4. 1 km Out-plane ellipse. This formation has the same elliptical motion as the in-plane ellipse, but the ellipse was canted out of the orbital plane. This out-ofplane motion introduces greater differential J2 accelerations, which will cause greater process noise. 5. 10 km In-plane ellipse. This formation is the same as the 1 km case, except the ellipse is 10 km × 20 km. 6. 1 km Thrusting. For this case, only three vehicles are used. They begin in an in-track formation, with one vehicle 1 km ahead of the reference vehicle, and the other 1 km behind. At a predetermined time, both vehicles perform a tensecond thrust firing using previously generated control commands, changing the formation from an in-track formation into an elliptical formation. The firing (after an initial 0.5 sec jerk period) was a constant 0.1 m/s2 input. This thruster firing is applied in the GSFC simulator. The thruster commands are also fed to the filter, with a random 10% error added to simulate thruster noise. This experiment was to test the GPS receiver’s ability to track through accelerations as well as the filter’s ability to handle the noisier acceleration process. 6.1. CONDITIONS 115 Motion of fleet in LVLH Frame 2000 1500 Radial Direction (m) 1000 500 0 −500 −1000 −1500 −2000 −2000 −1500 −1000 −500 0 500 In−Track Direction (m) 1000 1500 2000 Figure 6.1: This is the in-plane elliptical motion of three slave vehicles (start- ing at the “o” positions) around a reference vehicle (marked by “+”). The motion is shown in a local reference frame, looking down into the orbital plane. 6.1.4 Statistics The error in the state estimate is used as the performance figure of merit, which is defined as x̃k = x̂k − xk . Specifically, the states of interest are relative position and relative velocity. The clock states and phase biases are only solved for in order to determine the position and velocity. Two different measures of this error are made. The first is the statistical mean and standard deviation of the error over time. The second is the mean of the 2norm of the error at every time-step. These statistics were taken over the last half of the simulations, to ensure that the bias estimates had converged. These provide a measure of the steady-state performance. No quantitative measure of the initial transient response is made. 116 CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS The mean and standard deviation of the error are measured in each axis. This allows for comparison of the errors in the different directions. Because of the geometry of the GPS satellites, it is expected that the errors would be larger in the radial direction. It is also expected that since the greatest disturbances act primarily in the direction of the velocity, that there will be larger errors in the in-track direction. For the radial direction (indicated by the variable x) in the local frame, the mean and standard deviation of the error are: µjx kf 1 X j = x̃ nk k=k k (6.1) kf 2 1 X j = x̃k − µjx nk k=k (6.2) i σxj i where the superscripts indicates the slave vehicle, kf is the final time-step (at time tf ), ki is the initial time-step (at time ti ), and nk is the number of time steps between ki and kf . The same equations exist for the in-track (y) and cross-track (z) directions. To measure the combined mean and standard deviation of the error, the rootsum-square (RSS) of the mean and standard deviation over the three dimensions is taken. This RSS process is performed for each differential solution in the formation (so for a formation with four vehicles, there would exist three differential solutions). The average of these RSS values is taken across the differential solutions, providing a single number for the mean and standard deviation of the error for the formation. µformation 1 X = N − 1 j=2 q j 2 j 2 j 2 (µx ) + (µy ) + (µz ) (6.3) σformation 1 X = N − 1 j=2 q j 2 j 2 j 2 (σx ) + (σy ) + (σz ) (6.4) N N where N is the number of vehicles in the formation. 6.2. RESULTS 117 To determine the norm of the error for vehicle j, r̃j , the mean of the norm is taken over time, r̃ j kf q 1 X = (x̃jk )2 + (ỹkj )2 + (z̃kj )2 nk (6.5) k=ki This provides a single scalar value for each differential solution in the formation. The mean of these norms can then be taken over all the differential solutions, providing a single formation value, 1 X j = r̃ N − 1 j=2 N r̃formation (6.6) where r̃formation is the formation relative position error magnitude. The same procedure for means, standard deviations, and norms, are also applied to velocities. 6.2 6.2.1 Results General Performance For all experiments, data storage of the raw measurements began after all four of the receivers achieved navigation fixes. The receivers performed “warm” starts, where they were provided almanac information for the NAVSTAR constellation, a rough current position guess (often wrong by several hundred kilometers), and a rough current time guess (off by up to fifteen seconds). The receivers can reliably and repeatedly achieve navigation lock; this was accomplished hundreds of times during the course of development. A navigation fix was usually attained, and active tracking initiated, in less than two minutes after the simulation began. Absolute estimation was performed using a least-squares point solution. Little effort was made to improve absolute state estimation in order to demonstrate the robustness of the relative navigation even with fairly coarse absolute estimates. Generally, the absolute position error was on the order of 20 meters, and absolute velocity 118 CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS Absolute Position Error (LVLH) Radial (m) 20 10 0 −10 −20 500 1000 1500 2000 2500 3000 3500 500 1000 1500 2000 2500 3000 3500 500 1000 1500 2000 Time(sec) 2500 3000 3500 In−Track (m) 20 10 0 −10 −20 Cross−Track (m) 20 10 0 −10 −20 Figure 6.2: Absolute Position Error over time, in the ECEF frame of ref- erence. Absolute navigation was performed using least-square point solutions, and achieved ≈20m accuracy. error was on the order of 0.1 m/s. Figure 6.2 shows the absolute position error from one of the hardware-in-the-loop demonstrations, and Figure 6.3 shows the absolute velocity error for the same simulation. Similar performance was observed in groundbased outdoor tests. The results are also similar to performance that has already been demonstrated on orbit [RC01, PA99]. Low Earth Orbit provides excellent visibility of the GPS satellites, as shown in Figure 6.4. The upper plot shows the number of commonly visible satellites used for the relative navigation solution for the 1 km elliptical formation. The corresponding GDOP is shown in the lower plot. At times all twelve channels were actively tracking. Because of the high number of commonly visible satellites, and the fact that some of the valid satellites are at low elevations, very good GDOP was common. It can also be seen that the number of satellites used changes rapidly, since the receiver is moving at orbital velocities. This requires the state and measurement vectors to 6.2. RESULTS 119 Radial (m/s) Absolute Velocity Error (LVLH) 0.2 0.1 0 −0.1 Cross−Track (m/s) In−Track (m/s) −0.2 500 1000 1500 2000 2500 3000 3500 500 1000 1500 2000 2500 3000 3500 500 1000 1500 2000 Time(sec) 2500 3000 3500 0.2 0.1 0 −0.1 −0.2 0.2 0.1 0 −0.1 −0.2 Figure 6.3: Absolute Velocity Error over time, in the ECEF frame of refer- ence. Using least-square point solutions of the Doppler measurements, an accuracy of ≈0.1 m/s was achieved. constantly change dimensions — impacting every matrix in the filter. It also requires new carrier phase biases to be initialized frequently. 6.2.2 1 km Results This section presents the results from the 1 km elliptical formation. This formation was used to set the performance baseline for this research. The three slave vehicles each compute a differential solution with respect to the master vehicle simultaneously and independently. Figure 6.5 shows the position errors for the three simultaneous relative solutions, and Figure 6.6 is an enlarged view of the same data. Figure 6.7 shows the relative velocity errors. The three subplots in each figure correspond to the projections of the error into the Radial, In-Track, and Cross-Track directions. 120 CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS Performance Record 12 Number SVs 11 10 9 8 7 6 0 500 1000 1500 2000 2500 3000 3500 4000 0 500 1000 1500 2000 Time(sec) 2500 3000 3500 4000 1.6 1.5 GDOP 1.4 1.3 1.2 1.1 1 0.9 Figure 6.4: The upper plot shows the number of commonly visible satellites used for the relative navigation solution. The lower plot shows the corresponding GDOP. The LEO environment provides excellent visibility and GDOP. At the start of the simulations, there are large position errors (on the order of 2-5 m). This initial position error is due to the initial carrier phase bias estimate errors, which in turn are caused by the inherently larger errors in the code phase measurements. Over time, the biases become observable through the natural motion of the vehicles, and the position solution converges. The results in Figure 6.5 show that the biases are determined within 5 minutes. This is typical in all of the formations simulated. After the initial convergence, the biases on new measurements coming on-line are determined, as discussed in Section 5.5. Figure 6.4 shows that new measurements come on-line frequently during the simulation, and yet this initialization process does not disturb the position or velocity estimates. Table 6.2 gives the means and standard deviations of the errors across the fleet’s three solutions, as defined in Equations 6.1–6.2. The values are given for the Radial 6.2. RESULTS 121 Relative Position Error,(LVLH) Radial (m) 0.1 0.05 0 −0.05 In−Track (m) −0.1 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 0.1 0.05 0 −0.05 Cross−Track (m) −0.1 0.1 0.05 0 −0.05 −0.1 Figure 6.5: Relative Position Error over time, projected in the Radial, In- Track, and Cross-Track directions. Position Error for three independent simultaneous solutions for 1km in-plane ellipse during hardware-in-the-loop experiments Note biases are determined within five minutes, and less than 2 cm position error (1-σ) is achieved. (R), In-Track (I), and Cross-Track (C) directions. Note that all computations within the filter are done in ECEF, and they are only translated into RIC coordinates in post-processing for display purposes. Comparing the errors in the RIC directions provides insight into the estimator error sources. As expected, the errors are larger in the radial and in-track directions (due to geometry and highest process noise, respectively), and smallest in the cross-track direction. 122 CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS Relative Position Error,(LVLH) Radial (m) 0.02 0 In−Track (m) −0.02 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 0.02 0 Cross−Track (m) −0.02 0.02 0 −0.02 Figure 6.6: An enlarged view of relative position error shown in Figure 6.5. This view shows clearly that there is correlation between the relative position solutions. The position error has a mean of 0.2–1.1 cm, and a standard deviation of 0.3– 0.7 cm. The velocity error has a mean of ≈0.03 mm/s and a standard deviation of ≈0.3 mm/s. The velocity mean error is extremely low, which is encouraging, because, in general, active control algorithms are very sensitive to the velocity error mean [MT01]. It can also be observed that the velocity error appears very “white” (with no long time-correlated errors), which is a sign of a “healthy” filter. For the 1 km elliptical formation, the estimator performance is better than required. 6.2. RESULTS 123 −3 Radial (m/s) 2 Relative Velocity Error,(LVLH) x 10 1 0 −1 −2 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 1 0 −1 −2 Figure 6.7: Relative Velocity Error over time, projected in the Radial, In-Track, and Cross-Track directions. The error is less than 0.5mm/s, and appears very“white”, which is an encouraging sign. 6.2.3 Compiled Results Table 6.3 shows a compiled list of results for the different formation variations. These statistics are calculated as described in Section 6.1.4, and Table 6.3 specifically lists values computed using Equations 6.3–6.4. The error plots for these formations are shown in Appendix A. First, it is clear that for the close formations (all the cases at 1 km or less), the performance is better than the target precision. As expected, the position accuracy degrades for the long separation formations. Section 7.2 shows that the primary source 124 CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS Table 6.2: Relative State Estimation Results: 1km In-Plane Elliptic Formation Rel. State Error Position (cm) Velocity (mm/s) R I C R I C Mean (µ) St. Dev.(σ) 0.251 0.454 1.061 0.660 0.159 0.285 0.032 0.156 0.001 0.275 0.017 0.107 Table 6.3: Compiled Results for Various Formations 100m In-Track 1 km In-Plane 1 km Out-Plane 1 km Thrusting 10 km In-Track 10 km In-Plane Target Position (cm) Velocity (mm/s) Mean (µ) St.Dev. (σ) Mean (µ) St.Dev. (σ) 0.93 0.46 0.01 0.32 0.83 0.82 0.04 0.33 1.03 0.54 0.04 0.34 1.38 0.60 0.02 0.83 5.76 1.92 0.07 0.40 2.83 1.55 0.04 0.54 2.00 0.50 of this error is from differential ephemeris and ionospheric effects. The ephemeris and ionospheric errors have very long time-correlation, and therefore cause the position error to have a higher mean than standard deviation. Likewise, they have very little impact on velocity. Velocity accuracy is very good in all cases. 6.2.4 Correlation of Differential Errors These results are the first reported results for orbital formations with more than two vehicles. As such, it is now possible to compare simultaneous differential solutions. This comparison provides insight into the correlation between relative solutions within a formation, as discussed in Section 2.5. Figure 6.6 graphically illustrates the correlation in relative position errors for different slave vehicles. Two important points can be made from Figure 6.6. First, the error between the solutions is indeed correlated. It is clear in the figure that 6.2. RESULTS 125 4 Motion of fleet in LVLH Frame x 10 1 0.8 0.6 Radial Direction (m) 0.4 0.2 0 −0.2 −0.4 −0.6 −0.8 −1 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 In−Track Direction (m) 0.4 0.6 0.8 1 4 x 10 Figure 6.8: This formation has two slave vehicles near each other (left side), and a third far away (right side). This formation demonstrates how spatially correlated vehicles will have correlated differential errors. The diamond and triangle vehicle are 100 m apart, and the other vehicles are approximately 10 km apart. the relative position errors are similar, and that they are affected by the same error sources. However, it is also readily apparent that these correlation effects are very small — and that the total error is still below the specifications of ±2 cm. The correlation between single difference solutions should be a function of the separation distances between the slave vehicles. For example, two closely spaced slave vehicles will experience highly correlated errors in their single difference measurements with the master (see Section 7.2). The 1 km elliptical formation presented in Section 6.2.2 has the vehicles equally distributed, which makes it difficult to observe any spatial correlation. A better demonstration of the relationship between vehicle location and error correlation is provided by using the in-line formation pictured in Figure 6.8. The formation has four vehicles, where the three slave vehicles have in-track separations from the master vehicle of −10 km, −9.9 km, and +10 km. In this case the first two vehicles are very close to each other, and should have more highly correlated 126 CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS errors than the third vehicle. The master vehicle is marked by the cross (at the origin of the local frame). Figure 6.9 shows the resulting relative position errors within the formation. The errors over time are marked by the same symbols used in Figure 6.8. The position errors in this example are on the order of ≈5 cm which is typical for 10 km separation distances. The vehicles that are close together (marked by the diamond and triangle) have much more closely correlated errors than the third vehicle which is farther away. Note also that there is some symmetry between the diamond/triangle errors and the circle errors. The vehicles are on opposite sides of the master, and their errors are almost mirror images. Section 7.2 analyzes the sources and magnitudes of the differential errors. They are a function of separation distance between the master and slave vehicle. Figure 6.9 demonstrates that these errors are not only a function of separation magnitude, but direction as well. The errors are highly correlated with the formation’s spatial distribution. An area of future research would be to use a centralized filter for the formation state estimation, and determine whether it is able to take advantage of this correlation to further improve the relative navigation accuracy. For this work though, the results show that the more appealing decentralized filter, even with some correlated errors, can still achieve the relative navigation performance target. 6.2. RESULTS 127 Relative Position Error,(LVLH) Radial (m) 0.1 0.05 0 −0.05 In−Track (m) −0.1 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 0.1 0.05 0 −0.05 Cross−Track (m) −0.1 0.1 0.05 0 −0.05 −0.1 Figure 6.9: These are the relative position errors for the formation shown in figure 6.8. The errors marked with the diamond and triangle are for the vehicles which are located near each other. Clearly, their errors are more highly correlated than that of the third vehicle (which is farther away). Chapter 7 Performance Comparisons and Error Analysis 7.1 Performance Comparisons In designing the orbital relative navigation receiver/filter system, a number of implementation options present themselves. Two of the key options are whether to use the carrier-phase Doppler measurements and whether to use Single Differences or Double Differences. All of these approaches are widely used in many applications. However, there is a trade-off associated with each option. To decide what method to use, performance comparisons using the same data sets were used in different filters, one designed with each option. Holding all other conditions equal, this provides a measure of the impact that the specific implementation makes on the filter performance. 7.1.1 Using Doppler Measurements The first implementation trade study is whether to use the differential Doppler mea˙+ surements, ∆φ̇m ij . The Doppler measurement is the estimated phase rate, φ̂ , within the tracking loop as presented in Equations 4.3 – 4.5 (see Section 4.3.4). The reason for using differential Doppler measurement is that it provides a direct measure of the 128 7.1. PERFORMANCE COMPARISONS 129 Table 7.1: Comparison of Performance with and without Doppler measure- ments 100 m In-Track 1 km In-Plane 1 km Out-Plane 10 km In-Track 10 km In-Plane Without Doppler Pos. (cm) Vel. (mm/s) µ σ µ σ 0.93 0.46 0.01 0.32 0.93 0.82 0.04 0.33 1.03 0.54 0.04 0.35 5.76 1.92 0.07 0.40 2.77 1.51 0.28 0.43 Pos. µ 0.92 0.93 1.03 5.79 2.80 With (cm) σ 0.47 0.82 0.55 1.93 1.50 Doppler Vel. (mm/s) µ σ 0.01 0.33 0.04 0.33 0.04 0.35 0.07 0.40 0.28 0.43 relative range rate between user vehicles. However, the results in Section 4.3.4 show that the carrier phase noise, ν∆φ , is about 2 mm, while the Doppler noise, ν∆φ̇ , is about 3.5 cm/sec. Care must be taken in comparing a position measurement and a velocity measurement. Still, the corresponding noise in position obtained from integrating the Doppler measurement is much greater than that on the carrier phase. The reason against using the Doppler measurements is that it requires more bytes to be transmitted across the fleet. It also creates a larger measurement vector and therefore increases the number of computations. Is there enough performance benefit by using the Doppler measurements that justifies the increase in bandwidth and computation? To address this question, the filter was run both using these Doppler measurements combined with the carrier phase measurements, and then only using the carrier-phase measurements without Doppler. Several formations were used, with the conditions given in Section 6.1. The comparison results from one example are shown in Figure 7.1 for the relative position performance, and in Figure 7.2 for the relative velocity performance. There are two lines plotted in these figures, although the lines are very difficult to distinguish in many places. Table 7.1 shows the results from all of the formations. These values are determined using the procedure described in Section 6.1.4. The errors in the position and velocity estimate are nearly identical in both cases. These results indicate that the use of the Doppler measurement does not make a significant impact. The performance improvement from using the Doppler does not justify 130 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS Relative Carrier Position Error (LVLH) Radial (m) 0.1 0.05 0 −0.05 −0.1 500 1000 1500 2000 2500 3000 3500 500 1000 1500 2000 2500 3000 3500 In−Track (m) 0.1 0.05 0 −0.05 −0.1 Cross−Track (m) 0.1 Car+Dop Car Only 0.05 0 −0.05 −0.1 500 1000 1500 2000 Time(sec) 2500 3000 3500 Figure 7.1: Relative position performance in two cases: using differential Doppler, and not using differential Doppler. There is not a significant change in performance, so the Doppler measurements are not used in the final design the increased complexity required. Therefore, to provide simplicity without sacrificing performance, the Doppler measurement is not used in the final receiver/filter system. Note that the decision to not use the Doppler measurement is application specific. The tracking loop employs a very general filter, without any knowledge of the expected orbital dynamics. These orbital dynamics could also have been included in the tracking loop, but would greatly increase the receiver complexity (as discussed in Section 4.3.4). In this case, the orbital dynamics are included in the navigation filter, which enables it to determine velocity much better than the tracking loop can measure the range-rate. In other applications, with less predictable dynamics, the Doppler measurements may improve estimation performance. 7.1. PERFORMANCE COMPARISONS −3 Radial (m/s) 2 131 Relative Velocity Error (LVLH) x 10 1 0 −1 −2 500 1000 1500 2000 2500 3000 3500 500 1000 1500 2000 2500 3000 3500 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 Car+Dop Car Only 1 0 −1 −2 500 1000 1500 2000 Time(sec) 2500 3000 3500 Fig. 7.2: Relative velocity estimation, with and without the Doppler measurements. 7.1.2 Using Double Differences Another important implementation issue is deciding whether to use single differences or double differences. Section 2.3.1 describes the single difference measurement, and introduces the double difference, in Equation 2.28. The advantage of the double difference is that it removes the receiver clock state from the state vector. This could potentially be very advantageous because the clock is much noisier than any of the differential motion dynamics. The standard deviation of the differential clock noise, w∆b , is 0.07 m/s2 , while the standard deviation of the perturbing forces, w∆r , is expected to be less than 10−5 m/s2 . For this reason, it seems that the double difference may be very desirable. The primary disadvantage of using double differences is that it increases the complexity of the filter. Logistically, it requires additional effort to select a master channel, and to align and create the valid double difference measurements every time step. If there is a cycle slip on the master channel, then all of the biases must be re-initialized, 132 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS Relative Carrier Position Error (LVLH) Radial (m) 0.1 0.05 0 −0.05 −0.1 500 1000 1500 2000 2500 3000 3500 500 1000 1500 2000 2500 3000 3500 In−Track (m) 0.1 0.05 0 −0.05 −0.1 Cross−Track (m) 0.1 Car+Dop Car Only 0.05 0 −0.05 −0.1 500 1000 1500 2000 Time(sec) 2500 3000 3500 Figure 7.3: Relative position performance using Single Differences and Dou- ble Differences. Their overall performance is not significantly different. and not just the bias on one channel. Having a master channel becomes an additional vulnerability in the system. The procedure in the previous section was repeated to compare the performance using single and double difference measurements. For the double difference filter, a simple master channel selection algorithm was implemented. Essentially, the highest visible satellite was selected, and then used as master until view was lost, at which point a new master was selected (again the currently highest elevation satellite). Figure 7.3 compares the performance for relative position and Figure 7.4 compares the performance for relative velocity. Here, the difference between the two implementations is more apparent than in the Doppler study. However, after the initial transient, the performance is very similar. The transient difference is much 7.1. PERFORMANCE COMPARISONS −3 Radial (m/s) 2 133 Relative Velocity Error (LVLH) x 10 1 0 −1 −2 500 1000 1500 2000 2500 3000 3500 500 1000 1500 2000 2500 3000 3500 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 Car+Dop Car Only 1 0 −1 −2 500 1000 1500 2000 Time(sec) 2500 3000 3500 Fig. 7.4: Relative velocity performance using Single Differences and Double Differences. greater in position than in velocity. This suggests that the transient is a strong function of the carrier phase bias determination process, which impacts position but not velocity. Once the biases are determined, the performance is very similar. Several different formations were simulated and the results are presented in Table 7.2. Note that these numbers are from the steady-state performance, and do not reflect the difference in the transient response. In all cases, there is no significant difference in performance between the two approaches. Based on this study, it was decided to use single difference measurements in the final filter implementation. The results of this study also suggest that any steady state error in the filter performance is not due to the receiver clock state. This can be inferred from the fact that the error level remains about the same using the double difference, where the clock state is removed. In particular, the large noise on the clock 134 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS Table 7.2: Comparison of Performance between Single Differences and Dou- ble Differences 100 m In-Track 1 km In-Plane 1 km Out-Plane 10 km In-Track 10 km In-Plane Single Difference Pos. (cm) Vel. (mm/s) µ σ µ σ 0.93 0.46 0.01 0.32 0.93 0.82 0.04 0.33 1.03 0.54 0.04 0.35 5.76 1.92 0.07 0.40 2.77 1.51 0.28 0.43 Double Pos. (cm) µ σ 1.32 0.66 1.23 1.02 1.26 0.68 5.64 1.98 3.29 2.24 Difference Vel. (mm/s) µ σ 0.01 0.37 0.03 0.38 0.04 0.42 0.08 0.48 0.26 0.50 does not degrade the ability of the filter to precisely estimate the relative position and velocity states. In summary, the filter used to produce the results in Section 6.2 used single differences and did not use the Doppler measurements. These design options provide the same level of performance with a simpler and more robust design. 7.2 Error Analysis The previous chapters have presented the design and demonstration of the GPS receiver and relative navigation filter. It has been shown in Section 6.2 that the sensor meets the performance target of less than 2 cm error at 1 km separation. However, questions still remain. What causes the remaining error? Why does the error increase with separation distances? Recall that Section 5.3.2 already discussed the effect of linearization on relative navigation, this section will deal with the remaining error sources. 7.2.1 Propagation Error vs. Measurement Error To begin, there are two main sources of error: propagation error and measurement error. A first step is to determine which of these contributes the largest error. To do this, the different modes of GSAT-RTE can be utilized (as described in Section 3.3.1). As a review, the three primary modes are: 7.2. ERROR ANALYSIS 135 1. Simple Dynamics/Simple Measurements (SD/SM) — For this mode, the measurements are created in MATLAB using the same model as the filter (see Equation 5.17), and adding a 2 mm white sensor noise to the measurement. The state is propagated in MATLAB, using the same dynamics as the filter (see Equation 5.31) and adding a 10−6 m/s2 white process noise for the motion dynamics, and a 0.07 m/s2 white process noise for the clock dynamics. 2. Complex Dynamics/Simple Measurements (CD/SM) — The same measurement simulation is used as in the previous mode. However, the state is taken from the FFTB high fidelity orbit propagator. This will have a much more realistic process noise, including aerodynamic drag, higher-order gravity, and third-body gravity. 3. Complex Dynamics/Real Measurements (CD/RM) — In this mode, the same FFTB dynamics are used, but the actual hardware-in-the-loop measurements are used as well. These will include ionosphere, ephemeris error, and receiver hardware effects. By using the same filter and the same formation conditions for these three different environments, the incremental effects of more realistic noise can be measured. The SD/SM provides a baseline, the CD/SM demonstrates the impact of realistic process noise, and finally CD/RM demonstrates the impact of adding realistic sensor noise. A series of simulations, with formation sizes ranging from 100 m to 100 km, are performed in each environment. The averaged error norms (as defined in Equation 6.6) are plotted in Figure 7.5 as a function of formation separation, ∆r. The upper plot is the relative position error norm, and the lower plot is the relative velocity error norm (r̃formation and r̃˙formation respectively, as defined in Section 6.1.4). Each point represents the averaged value for a different formation. The baseline performance is labeled SD/SM; the gradual increase in error as ∆r increases represents the error only due to linearization error, as discussed in Section 5.3.2. The line labeled CD/SM shows the error with realistic process noise present. The upper plot shows that the position estimation error changes very little. The velocity error has a small, but distinct, increase. This should be expected, since the process noise (such as drag) 136 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS Estimation Accuracy vs. Relative Distance RSS Pos. Error (cm) 5 4 3 2 1 0 0.1 1 10 100 10 100 RSS Vel. Error (mm/s) 2 1.5 SD/SM CD/SM CD/RM 1 0.5 0 0.1 1 Separation Distance, ∆r (km) Figure 7.5: This study compares the impact of real sensor noise and more complex process noise. The line marked with diamonds is the baseline performance, with only simple noise models. The line marked with x’s shows the error using realistic process noise. The line marked with o’s shows the error using realistic sensor noise as well as process noise. The sensor noise has a much greater impact. will act as an unmodeled acceleration, which would impact the velocity estimate the most. Finally, the line labeled CD/RM shows the error with both realistic process and sensor noise. Note that in this case the velocity error does not increase at all, but the position error increases by a large amount. As the separation reaches 10 km, and larger, the error grows well beyond the desired performance range. Note that the CD/RM values were determined from hardware-in-the-loop simulations, and therefore has the lowest number of experimental samples. The other two approaches, done in simulation, used the average of many samples. Since the CD/RM uses less samples, the expected uncertainty (or expected variation) in its results is much higher. This potentially explains why the 200 m error is higher than 7.2. ERROR ANALYSIS 137 the 1 km error. It is expected that if a larger number of hardware simulations were performed there would be greater consistency in the results. However, even with the larger uncertainty, the overall trend is still readily apparent. From this study, we see that process noise directly impacts the velocity error, and the sensor noise directly impacts the position error. Furthermore, it appears that the sensor noise effect on position is much larger than the process noise effect on velocity. 7.2.2 Individual Error Contributions The next step is to individually examine the potential error sources. To do this, additional experiments were run, where each error source was simulated one at a time. Since the largest error was due to sensor noise, most of the noises analyzed were in the measurement, rather than the dynamic model. The noises investigated were: ionosphere, ephemeris, large separations, absolute state estimate error, and differential drag. Furthermore, the effect of receiver robustness (if there are large numbers of cycle slips or communication outages) was also investigated. These results represent the first experimental study of the impact of differential errors in Low Earth Orbit on relative navigation using CDGPS. Large Separation The signal takes a finite time to travel from the GPS satellite to the user satellite. If one user vehicle is further from the GPS satellite than the other, the signal will take longer to reach it, as illustrated in Figure 7.6. Suppose the receivers on two different vehicles, say i and j, take measurements at exactly the same time. The signal each vehicle sees at that moment measures the range between that vehicle’s current location and the location of the GPS satellite at the time of transmission. The difference between transmission and reception time is the quotient of the range divided by the speed of light. If user j is further away, the signal it sees at the moment of measurement will have been sent at an earlier time. Therefore, the state of the GPS satellite for the measurement by user i and by user j will be different. This includes the position as well as the GPS clock state. 138 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS Figure 7.6: The time that the signal takes to travel to the user vehicles will be different. That means that the state of the GPS satellite at the time of transmission will be different, and this must be accounted for. The GPS satellites move at approximately 2.7 km/s. If user j were 30 km further from the GPS satellite than user i, there would be an error of 30km × km 1 × 2.7 ≈ 27cm c sec (7.1) on the range measurement. This is a very significant measurement error. Fortunately, this error can be almost completely removed by using a precise nonlinear function for modeling the measurements. It requires performing the iterative GPS state estimation algorithm (Algorithm 2) for both user i and j, and then distinguishing rmi and rmj . It also requires including the differential GPS clock term, ∆Bijm . This analysis assumed that the receivers are able to perfectly synchronize their measurements, an assumption which is further discussed in Section 7.2.4. 7.2. ERROR ANALYSIS 139 Figure 7.7: There will be some error between the predicted and actual loca- tion of the GPS satellite. If users in a formation are far apart, this will cause a noticeable differential error as well. Ephemeris Error, ∆Eijm The state of the GPS satellites can only be determined by using the broadcast ephemeris data. This predicted GPS satellite state is not exactly correct. Using the ephemeris, there will be a difference between the actual range and GPS clock state and the predicted values. For the absolute case, the error is random, with a standard deviation of about 4 meters [GPS96, EK96]. If the two vehicles were co-located, this ephemeris error would completely cancel. However, as the separation grows between users, the differential ephemeris error also grows. An exaggerated view is shown in Figure 7.7. The actual effect is much smaller than pictured in Figure 7.7 — if the vehicles were 100 km apart, the angle between lines of sight as viewed by the GPS satellite would be about 0.3◦ . A series of simulations were run for formations with different separations, and fictitious ephemeris error was added for each GPS satellite. Since it was a simulation, the ephemeris error effect could be measured on each measurement. The results are shown in Figure 7.8. This series of simulations was run for three different ephemeris values: one with about half the expected standard deviation (marked with diamonds), one with the expected level (marked with x’s), and one with about double the expected 140 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS Ephemeris Effect on Measurements 4 Smaller Error Expected Error Larger Error 3.5 Max Measurement Error (cm) 3 2.5 2 1.5 1 0.5 0 0 2 4 6 8 10 12 Differential Distance ∆R (km) 14 16 18 20 Figure 7.8: This is the measured differential ephemeris error effect over a range of formation separations. Three different ephemeris error levels were simulated. The middle line is the expected error level. standard deviation (marked with triangles). The figure shows the maximum single measurement error within a sampled measurement vector. The ephemeris error is difficult to correct. Since the error between the predicted satellite location and actual location should change slowly, it is possible to include this ephemeris error term for each visible satellite as an additional state. Then, the differential ephemeris error could be estimated, though it is unclear how accurate this process would be. Absolute State Error, εm ij There is an error in the absolute state estimate that is used in the measurement model. It is very similar to the ephemeris error, and almost the same arguments exist for the absolute state error effect as the ephemeris error effect. However, the differential error due to the absolute state estimate is a function of both vehicle separation and the 7.2. ERROR ANALYSIS 141 Figure 7.9: The error in the absolute state estimate will cause a differential error. This error is a function of both the vehicle separation and the absolute error magnitude. magnitude of the absolute error, as illustrated in Figure 7.9. As long as the absolute state error remains relatively small, this effect has a much smaller impact on the relative state estimate than the ephemeris error. At 10 km separations, the absolute error effect on the estimate is still less than 1 cm. Ionosphere, ∆Iijm The ionosphere delays the propagation of electro-magnetic signals. This will affect the transmission time of the carrier wave, which in turn changes the measured range. The differential model simply subtracts the two absolute model values, computed using Equation 2.18. This function uses the absolute state estimate, GPS state estimate, relative state estimate, and estimate of the total electron count (T EC). The differential ionospheric delay is much smaller than the absolute ionospheric delay. If the user vehicles were co-located, the error would cancel out completely. The differential ionospheric delay, as determined by Equation 2.18, was measured from simulations for a range of different vehicle separations. At an arbitrary time in the simulation, the maximum ionospheric delay value in the measurement set and the 142 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS Measurement Error due to Ionosphere (cm) Differential Ionospheric Error vs. Relative Distance 1 0.1 0.01 Max Mean 0.1 1 Separation Distance, ∆ R (km) 10 Figure 7.10: This is the measured differential ionospheric effect over a range of formation separations. The top line shows the maximum differential effect for a given measurement vector, and the lower line shows the average effect over all the measurements. The scales are logarithmic. mean over all the measurements was recorded. The results are shown in Figure 7.10. For close formations, the effect is indeed negligible, as the maximum is well below 1 mm. However, for separations on the order of tens of kilometers, the effect becomes important, with maximum values of 2–5 cm on each measurement. When compared to the carrier phase noise of 2–5 mm, the differential ionosphere effect is significant. The effect of the ionospheric error on estimation performance is shown in Table 7.3. Data from three different HWIL simulations (CD/RM) were processed using different ionospheric models. Table 7.3 shows the norm of the relative position error (r̃formation ) from the different filters. In each filter, a different model of the ionosphere is used in the filter. Models can be used to predict the ionospheric delay on each signal, but most models are considered at best to be able to remove 50% to 75% of 7.2. ERROR ANALYSIS 143 Table 7.3: Ionospheric modeling accuracy effect on performance Formation 100 m In-Track 1 km In-Plane Ellipse 10 km In-Track Position Error (cm) No model 50% 75% Perfect 0.65 0.61 0.59 0.57 1.32 0.99 0.88 0.85 10.33 4.96 3.01 3.24 the ionospheric effect [WF87]. The first column shows the position error when the filter uses no ionospheric model. Clearly, this performance is the worst. The next three columns show the position error when the filter implemented increasingly better ionospheric models (a model that is 50% accurate, then 75%, and finally a perfect model). Note that for the 1 km formation, even with no ionospheric model, the error is still below 2 cm. There are other ways to mitigate the ionospheric error besides just using a model of the ionosphere in the filter. One could also use either a dual frequency receiver, or combine the code phase with the carrier to observe the ionospheric delay. The ionospheric delay will affect the two frequencies differently (see Equation 2.18), and so this delay becomes observable with a dual frequency receiver. Using code phase, the wave group is advanced while the wave itself is delayed, which allows observability of the ionosphere [PE01, GPS96]. There are other correction broadcasts available as well which may improve the ionospheric correction, one example is the work at JPL on real-time orbit determination using GPS [AR02]. Aerodynamic Drag, ∆aA It is expected that one of the largest process noises in Low Earth Orbit will be the atmospheric drag. In the demonstrations of the previous chapter, identical, spherical vehicles, were used in the simulation. Therefore, the differential drag was very small, and only a function of differential altitude. This may not be realistic. Different vehicle bodies, or even identical vehicles with different attitudes, traveling through the rarefied atmosphere will have different coefficients of drag (CD ) and/or cross-sectional areas. To look at the effect of differential 144 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS Table 7.4: Comparison of Performance using identical or different CD Formation 100 m In-Track 100 m In-Track 10 km In-Track 10 km In-Track CD (1) CD (2) 2 2 2 1 2 2 2 1 Position Error (cm) µ σ 0.3194 0.4098 0.3193 0.4098 0.6865 0.5106 0.6867 0.5108 Velocity Error (mm/s) µ σ 0.0139 0.3333 0.0221 0.3367 0.0576 0.3419 0.0583 0.3495 drag, additional simulations were run where the vehicles were given different coefficients of drag. The CD/SM environment was used, to highlight process noise above any sensor noise differences. Two different formations are examined, a 100 m in-track separation, and a 10 km in-track separation. It is not expected that in-track separation should impact this effect, but both formations were run to verify this expectation (radial separation would make an impact, since the atmosphere density would be different at different altitudes). For both formations, two vehicles were used, and two simulations were run. In the first simulation, both vehicles are set with CD = 2. Then the simulation is re-run, with CD = 1 for vehicle one, and CD = 2 for vehicle two. The results of these comparative simulations, shown in table 7.4, include the mean and standard deviation of the errors in the relative position and relative velocity estimates. There is an increase in the velocity error with different drag coefficients, but it is very small. The effect is so small, additional digits are displayed to capture the difference. As expected, the effect is similar for short separation and long separation formations. This is a significant result. Differential drag should be the largest dynamic process noise present. Even by using very different coefficients of drag (different by a factor of 2), there is still very little impact on the estimation performance. This reiterates the point that the measurement error is much more important to the precision than the dynamic model. 7.2. ERROR ANALYSIS 145 Cycle Slips As a final test of robustness, the effect of cycle slips and measurement losses were studied. A nominal 1 km elliptical formation was used, in the CD/SM environment. Two tests were done separately, a cycle slip test and a measurement loss test. To simulate cycle slips, a check was done for each channel at every time-step. A certain slip probability was set, and a random number between 0 and 1 was selected (with uniform distribution). If the random number was less than the percentage, then that measurement was marked as invalid, and the measurement would be re-initialized on the next time-step. Some channels will slip more than others, so to improve the simulation, each channel was assigned its own probability of slipping with a normal distribution around a mean probability of 0.1%, 1%, 5%, 10%, or 20% (in five different experiments). A similar approach was used for measurement outage. Every time step, a random number was generated and compared with a percentage. If it was lower, then it was assumed that the remote measurements were not available during that time step. If a set of measurements is not available, all channels must be reinitialized the next time step. This procedure is a very simplistic simulation, since an actual communication problem would probably have correlation between probabilities from one time step to the next (i.e., if an outage is experienced, it will often last for longer than just one epoch). However, it provides an initial look at robustness. The percentages simulated for both slips and outages are much higher than the percentages expected during an actual mission. Both outdoor tests and hardwarein-the-loop tests had slips less than 0.1% of the time. However, it is important to study the effect of slips and outages in case these conditions are experienced during actual operation. It should be expected that more frequent losses would especially degrade the position estimate, since it would require reinitializing the carrier phase bias. There will be some settling time using the kinematic bias determination method with each bias reinitialization, as described in Section 5.5. The results of these tests are shown in Figure 7.11. The mean and standard deviations in the error for position (upper plot) and velocity (lower plot) are shown at each of the slip and outage probabilities. Note that the velocity is plotted on a 146 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS Sensor Robustness 15 Position (cm) Mean StDev 10 5 0 0.1% 1% 5% 10% 20% Percentage Slips 0.1% 1% 10% Percentage Outage 0.5 Velocity (mm/s) 0.4 0.3 0.2 0.1 0 0.1% 1% 5% 10% 20% Percentage Slips 0.1% 1% 10% Outage Figure 7.11: The impact of cycle slips or communication outages as a func- tion of frequency rates. much smaller scale than the position. The cycle slip tests are plotted on the right (in the first five sets), and the outages are plotted on the left (in the last three sets). First, as expected, we see that the velocity is not affected strongly by slips or outages. Next, we see that for position, the bias is degraded much more than standard deviation; this is consistent with the fact that the carrier phase biases are being reinitialized much more frequently. The position performance is definitely impacted by cycle slips and measurement losses. Fortunately, during normal LEO operation, outages are never expected to be as frequent as these tests simulated. 7.2.3 Error Summary Table 7.5 summarizes the various errors studied. All tests are in the CD/SM environment to allow the simulation of the sensor noises. For this summary, a 100 m in-track formation and a 10 km in-track formation were used. For both formations each noise 7.2. ERROR ANALYSIS 147 Table 7.5: Performance Impact Comparison of Different Error Sources Active Error Source No Errors Ephemeris Error Long Separations Ionosphere Absolute State Err. Slips No Errors Atmospheric Drag 100 m Pos. (cm) Vel. (mm/s) Sensor Noise 0.355 0.299 0.361 0.299 0.374 0.299 0.413 0.299 0.355 0.299 0.409 0.299 Process Noise 0.479 0.303 0.479 0.308 10km Pos. (cm) Vel.(mm/s) 0.405 3.252 10.944 20.805 0.805 0.400 0.315 0.315 0.318 0.342 0.318 0.315 0.808 0.808 0.320 0.325 was applied individually, and all other conditions were held constant. This isolated the effect of each specific noise. Then, the average error norm for relative position and velocity was recorded. The numbers in the table reflect the average over a set of 20 tests for each error condition. This measures the direct impact of the given noise on estimation performance. The errors applied in these tests are completely unmitigated. The results in Table 7.5 clearly demonstrate the impact of separation distance. All of the noise sources are negligible when the user vehicles are 100 m apart. At 10 km, the error from many of the sources is very significant. These results also confirm that velocity is not as sensitive to these noises as position, as was seen in Figure 7.5. Note that the experiments done to create Figure 7.5 mitigated the large separation and ionospheric effects. Without those sources, the remaining error at 10 km was on the order of ≈4-5 cm, which is also what was measured in experimental results (see Section 6.2). The largest error source is the ionospheric error. At ten kilometers, the ionosphere causes on average a 20 cm relative position error, which is the cumulative effect of the individual measurement errors shown in Figure 7.10. For this reason, the ionospheric error must be mitigated, perhaps through modeling or using a dual-frequency receiver. The next largest error is due to the “large separation” effect; this can be completely 148 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS removed just by determining the GPS satellite state for both received signals (though this requires performing additional computation) instead of assuming it is the same for both receivers. Ephemeris and absolute state error also have a material impact on performance at long separations. For the results presented in Chapter 6, the errors in the 10 km formations are primarily due to ephemeris and absolute state errors, since the ionosphere and the large separation effects were mitigated. (The ionosphere was mitigated by using the same model in the filter as the FFTB used, and the large separation effect was removed by computing independent GPS satellite states). Again, the differential drag and other process noises have a much smaller impact than the sensor noise. This error sensitivity analysis for differential noise sources is important for any future relative navigation design. It also helps explain the results from Chapter 6. The error analysis clarifies why there is a larger error at long separations, predicts what that error level should be, and shows the causes of the errors. The challenges that must be overcome to further improve the sensor performance are now clear. These results impact overall mission design as well. The closer the vehicles are, the more accurate the navigation will be. For rendezvous operations, this performance is acceptable, since greater accuracy is only needed as the vehicles are close to each other. On the other hand, for large-scale distributed aperture applications (10 km or more), this suggests that other sensors may be needed to augment GPS navigation to achieve consistent precision across any range of separations. 7.2.4 Noise Floor: Synchronization Section 2.3.3 presented models for the carrier-phase measurements and orbital dynamics. The error sources analyzed in Section 7.2.2 correspond to the terms in the measurement model (as presented in Equation 2.35) which are not part of the state vector. Section 7.2.2 also analyzed the differential drag, ∆aA , which is expected to be the largest error source in the dynamics model (as presented in Equation 2.37). The question remains, after accounting for these other terms, what sets the fundamental limit on relative navigation accuracy? 7.2. ERROR ANALYSIS 149 Table 7.6: HWIL Noise Floor Performance Formation Zero Separation 1 km In-Plane Position Error (cm) µ σ 0.62 0.70 0.83 0.82 Velocity Error (mm/s) µ σ 0.005 0.25 0.042 0.33 Olsen discusses the ability of the GPS receivers to take synchronized measurements [EO99]. He derives a phase error bound which is due to the error in sample times between the receivers. The receiver can determine absolute time to ≈100 ns accuracy. The clocks are slewed at a 1 Hz rate directly before the measurements are taken for navigation (also at 1 Hz). Based on these assumptions, the phase error bound due to synchronization would be 60 kHz (the maximum expected Doppler shift) × 100 ns (sample time error) × 0.19 m (carrier wavelength) × 2 (both receivers) ≈ 2 mm in single-difference carrier-phase error [EO99]. Note that there is no way to distinguish the synchronization error from any other errors in the phase lock tracking loop, as discussed in Section 4.3.4. This predicted noise floor can be experimentally verified. A HWIL simulation (CD/RM) was run with two antennas located at the same positions, with two different receivers taking measurements. Over the course of the simulation, the antennas drifted apart by less than 5 m. Using this formation, with ∆r ≈ 0, the differential noises will be completely canceled, leaving only the synchronization error and PLL tracking error.1 The observed phase errors from the simulations had a mean of 3.1 mm, as measured using GSAT-NAT (see Section 3.3). Table 7.6 shows the resulting relative navigation performance for this ∆r ≈ 0 case. Previous results from the 1 km formation are also shown for comparison. Note that the position errors in Table 7.6 are created by CD/RM simulations, and are slightly greater than the error in Table 7.5 (under the “No Error” case), which was created using CD/SM simulations. In conclusion, the receiver has a fundamental limit to its performance. Even for an ideal formation, with all differential errors equal zero, there will be a phase error 1 Multipath, the other error source grouped in ν∆φ , is not included in the HWIL simulations. 150 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS in the single difference measurements. These errors have been measured to be about 3 mm, and cause about an 8 mm error in the relative position estimate. For orbital relative navigation, where there are large Doppler shifts, this can be a more significant effect than the tracking loop errors discussed in Section 4.3.4. Chapter 8 Adaptive Estimation The results reported in Section 6.2 demonstrate the filter performance assuming that the process and sensor noise levels are known and properly modeled. However, it is quite possible that these noise conditions may not be well known on orbit. For example, the receiver may have more or less noise on the signal reception. The differential process noise may be much larger or smaller than expected. Any of the terms in the phase measurement, as presented in Equation 2.24, could contribute to the sensor noise, and any of the terms in the dynamic model, as presented in Equations 2.10 and 2.12, could contribute to the process noise. These noise sources can effectively be modeled as Exponentially Correlated Random Variables (ECRV). Some of these ECRV noise sources, such as the ionosphere, will have relatively long time constants, even to the extent that they appear to be constant biases. Other noise sources can be modeled as ECRVs with short timecorrelation, or even as white noise. This section presents adaptive techniques that have been developed to identify the standard deviations of both the sensor noise and the process noise, and properly tune the filter to account for these noise levels. These techniques are intended to handle random variables with short time correlations. These short-correlation sources are important, and have a strong influence on the performance of the filter. Chapter 2 presents the theoretical expectation of these noise levels, (see especially Sections 2.1.2 and 2.3.3). Chapter 5 describes how the filter lumps all unmodeled 151 152 CHAPTER 8. ADAPTIVE ESTIMATION forces into the process noise (see Section 5.4.1), and all unmodeled GPS signal effects into the sensor noise (see Section 5.3.1). Chapter 7 presents experimental measurements of these error sources. These noise levels will change as operational conditions change, and perhaps the most important condition is the separation distance between the vehicles in the formation. In Chapters 6 and 7, formations with separations ranging from 100 m to 10 km were simulated. When the vehicles are 100 m apart from each other, the expected standard deviation of the differential process noise for the dynamics, w∆r , is 10−6 m/s2 , but this value will change with separation distance (∆r). At 10 km, the differential process noise is estimated to be on the order of 10−4 m/s2 . The standard deviation in the differential clock noise, w∆b , should remain at ≈0.05m/s2 . The sensor noise, ν ∆φ , as described in Section 4.3.4, should be approximately 4 mm. However, since the sensor noise will also include the lumped errors from other sources, it will also change as a function of the separation, ∆r. 8.1 Importance of Q and R In the relative navigation filter, the covariance of the sensor noise is represented by R̂k , and the covariance of the process noise is represented by Q̂k . These two parameters have a significant impact on the filter performance. The importance of Q and R is described in many references [AG74, PM82, ST94, GG84]. To illustrate the impact of Q̂k in orbital relative navigation using CDGPS, consider the following example. HWIL simulations were performed for an in-track formation with two identical vehicles and a separation distance (∆r) of 10 km, with all other simulation conditions as described in Section 6.1. The measurements from the simulation are filtered using two different values of Q̂k , one that is too high and one that is too low. Figure 8.1 illustrates the results using a design value of Q̂k which is lower than the actual process noise covariance (Q̂k was set to correspond to a process noise of σw∆r = 10−6 ). The upper plot shows the RSS position error, with the scale in meters; 8.1. IMPORTANCE OF Q AND R 153 RSS Error on Relative State Estimate Pos. Error (m) 15 10 5 0 5 10 15 20 5 10 15 20 25 30 35 40 45 30 35 40 45 5 Vel. Error (cm/s) 4 3 2 1 0 25 Time (min) Figure 8.1: If the reasonable, but wrong value of Q̂ is used in the filter, divergence can occur. the lower plot shows the RSS velocity error, with the scale in cm/s. Clearly, the filter diverges and the performance is unacceptable. To avoid filter divergence, one may set the design value of Q̂k higher than expected. However, this can also lead to excessive estimation error, especially in the velocity estimate. Figure 8.2 shows the results, using the same data set and conditions, with the design value of Q̂k set corresponding to a process noise of σw∆r = 10−2 . Note that the scales in Figures 8.1 and 8.2 are different. In this case, the position error is shown in centimeters, and the error is about 5cm. The velocity plot is still scaled in cm/s, and though it performs better than when Q̂k is set too low, the estimate is still worse than the desired performance. The same process can be repeated, varying the design value of R̂k instead of Q̂k . If R̂k is set too low, there is unacceptably high error in the velocity. If it is set too high (a conservative estimate), the filter may diverge. Conceptually, the ratio of Q̂k /R̂k is 154 CHAPTER 8. ADAPTIVE ESTIMATION RSS Error on Relative State Estimate 50 Pos. Error (cm) 40 30 20 10 0 5 10 15 20 5 10 15 20 25 30 35 40 45 30 35 40 45 5 Vel. Error (cm/s) 4 3 2 1 0 25 Time (min) Figure 8.2: If Q̂ is set too high, in an attempt to be conservative, there is too much noise on velocity. what determines the filter performance. If Q̂k /R̂k is low, the filter trusts the model, and tends to ignore the measurements. If Q̂k /R̂k is high, then the filter trusts the measurements more, and does not “smooth” them as much using the model. The previous example suggests that the estimation error is very sensitive to the filter design values of Q̂k and R̂k . This is well established for linear systems with linear filters (see Gelb [AG74]). For reference, Figures 8.3 and 8.4 show the sensitivity of a linear system to these parameters. In Figure 8.3 the same set of measurements from a linear system are filtered using a range of design values of R̂k . The horizontal axis shows the standard deviation of the noise used to compute R̂k . The vertical axis is error in the state estimate. The dashed vertical line marks the true value of the sensor noise covariance, Rk . In Figure 8.4, the sensor noise is held constant (with R̂k = Rk ), and the design value of Q̂k is varied. The dashed vertical line marks the true value of the process noise covariance, Qk . In both cases, the minimum error is realized 8.1. IMPORTANCE OF Q AND R 155 Linear Estimation with changing Q parameter 0.5 0.45 0.45 0.4 0.4 0.35 0.35 0.3 0.3 Error Error Linear Estimation with changing R parameter 0.5 0.25 0.25 0.2 0.2 0.15 0.15 0.1 0.1 0.05 0.05 State Error Real Parameter Value 0 −4 10 −2 0 10 10 Corresponding Parameter Seed Design Value 2 10 Fig. 8.3: Design R sensitivity, linear example State Error Real Parameter Value 0 −6 10 −4 −2 0 10 10 10 Corresponding Parameter Seed Design Value 2 10 Fig. 8.4: Design Q sensitivity, linear example when the parameter design value equals the real value. Note that the estimate error is much higher when R̂k Rk and when Q̂k Qk . The same sensitivity study can be performed for orbital relative navigation using CDGPS. The measurements and vehicle states are stored from hardware-in-the-loop simulations (as described in Chapter 6). The measurement set is then processed using a range of filters, each with a different set of parameter design values. First, R̂k is varied while Q̂k is held constant (shown in Figure 8.5), and then Q̂k is varied keeping R̂k constant (shown in Figure 8.6). The resulting relative velocity estimate error is then calculated for each filter. This provides a measure of the sensitivity of the filter to the design parameter value. Since these are HWIL simulations, the actual values of Qk and Rk are not known, and the value can only be estimated from the minimum error points in the sensitivity curves. These curves, and corresponding minimum locations, are sensitive to the actual values of Qk and Rk , as well as the time step size (∆t), and the formation separation (∆r). The results shown are for a formation with ∆t = 1 sec and ∆r = 1 km. For these conditions, the minimum estimation error was achieved with R̂k corresponding to a sensor noise of σ∆φ ≈ 0.004 m, and with Q̂k corresponding to a process noise of σw∆r ≈ 7 × 10−5 m/s2 . Note that the R̂k sensitivity is very similar 156 CHAPTER 8. ADAPTIVE ESTIMATION Linear Estimation Error with Changing R Parameter Linear Estimation Error with Changing Q Parameter 0.01 0.01 State Error 0.009 0.009 0.008 0.008 0.007 0.007 Velocity Error (m/s) Velocity Error (m/s) State Error 0.006 0.005 0.004 0.006 0.005 0.004 0.003 0.003 0.002 0.002 0.001 0.001 0 −7 10 −6 10 −5 −4 −3 −2 10 10 10 10 Corresponding Parameter Seed Design Value −1 10 0 0 10 Fig. 8.5: Design R sensitivity, HWIL data −7 10 −6 10 −5 −4 −3 10 10 10 Corresponding Parameter Seed Design Value −2 10 Fig. 8.6: Design Q sensitivity, HWIL data to the linear case, shown in Figure 8.3. The Q̂k has much more pronounced error on either side of the minimum point. These sensitivity curves clearly illustrate the importance of using the correct value of R̂k and Q̂k in the filter design; using the wrong value can greatly degrade the filter accuracy. This example is not intended to identify the actual orbital noise levels, but only demonstrate that for this application the correct parameter settings are important. In simulation, the filter can be tuned, and the best value of Q̂k and R̂k can be determined and used in the filter. However, in actual orbital operation, the noise environment may be different than the simulation model. Furthermore, even if the environment is correctly understood, the parameter value providing the minimum error may change as the vehicles change formations. Therefore, there needs to be a way to change Q̂k and R̂k on orbit in case the conditions are different from the initial design value. 8.2 Adaptive Estimation To robustly handle uncertainty in the standard deviation of the sensor and process noises, an adaptive filter is applied that identifies the value of Rk or Qk . There are 8.2. ADAPTIVE ESTIMATION 157 many different adaptive filters in existence [SH91, GG84]. The Method of Maximum Likelihood Estimation (MMLE) is an adaptive technique used within the framework of the Kalman Filter, that was originally proposed in 1972 by Mehra [RM70, RM72]. The routines presented in this work are modified from algorithms summarized by Maybeck [PM82]. The basic premise is to use the measurement and state residuals to modify the parameter values for sensor and process noise. A variant of the MMLE technique has also been employed by Campana et al. for absolute GPS navigation [CM00]. 8.2.1 Process Noise The process noise covariance, Qk , is a measure of the uncertainty in the state dynamics during the time interval between measurement updates. It is generally defined in terms of the process noise vector, wk , so that wk ∼ N (0, Qk ). MMLE uses the residual between the a priori and a posteriori state estimates to update the estimate of the value of Q̂k . Maybeck [PM82] derives the update equation as Q? = ∆xk ∆xTk + Pk− − Pk+ − Q̂− k (8.1) − ∆xk = x̂+ k − x̂k (8.2) where and Q? = the process noise covariance update ∆xk = the state estimate residual x̂+ k = a posteriori state estimate x̂− k = a priori state estimate Pk+ Pk− Q̂− k = a posteriori state covariance estimate = a priori state covariance estimate = the current expected process noise covariance 158 CHAPTER 8. ADAPTIVE ESTIMATION Equation 8.1 is the heart of the adaptive routine, and is worth some consideration. The term ∆xk is the measured state residual; it represents the difference between the state estimate before the measurement update and after the measurement update. If this residual is large, then it indicates that the filter is not predicting the future state very well, because when the measurements are applied there is a large jump in the expected state. As the filter converges, this residual should decrease, as its ability to predict the next state should be improving. The second half of Equation 8.1, (Pk− − Pk+ − Q̂− k ) is a measure of the predicted state residual, and represents the expected change in the state covariance. For clarity, Equation 8.1 can be rewritten i h Q? = ∆xk ∆xTk − Pk+ − Pk− − Q̂− k (8.3) + Q? = ∆xk ∆xTk − Pk+ − Φk−1 Pk−1 ΦTk−1 (8.4) which is equivalent to where Φk−1 is the state propagation matrix for the time interval from k − 1 to k. Equation 8.4 shows explicitly that Q? is the measured state residual minus the change in the a posteriori covariances between two contiguous time steps. Fundamentally, this difference in state covariances over time is what Q̂k represents. The process noise update, Q? , is then combined with the current value of Q̂k in a running-average filter (or low-pass filter), = Q̂− Q̂+ k k + 1 ? Q − Q̂− k LQ (8.5) In Equation 8.5, LQ is the window size. It sets the number of updates being averaged together, or the window of past measurements that are averaged. If LQ is small, then each update has a large impact, and if LQ is large, then each update has only a small effect. The performance of the adaptive routine is very sensitive to the selection of LQ , and should be selected for each application. 8.2. ADAPTIVE ESTIMATION 159 For the orbital relative navigation application using CDGPS, this Q-adaptive scheme did not perform well without modification. The uncertainties in the carrierphase biases are initially very large, and are indistinguishable from the position and clock offset state uncertainty. For convenience in discussion, let Q̂k , Pk , and ∆xk be expanded as Qr Q̂k = Qṙ,r Qβ,r Pr Pk = Pṙ,r Pβ,r h ∆xk = ∆xTr Qr,ṙ Qr,β Qṙ,β Qβ,ṙ Qβ k Pr,ṙ Pr,β Pṙ Pṙ,β Pβ,ṙ Pβ k iT ∆xTṙ ∆xTβ Qṙ (8.6) (8.7) (8.8) k where subscript r = quantities related to the position and clock offset (elements 1-4 of the state vector, as defined in equation 2.39) subscript ṙ = quantities related to the velocity and clock drift (elements 5-8 of the state vector) subscript β = quantities related to the carrier-phase bias (elements 9-N of the state vector) The process noise will directly effect ∆xṙ , and the integral of the process noise will enter into ∆xr . However, the fluctuations in the bias estimates will be present in both ∆xβ and ∆xr . These bias fluctuations were observed during experimentation to be on the order of several centimeters, which is much larger than the effect of the expected process noise, which has a standard deviation on the order of 10−4 m/s2 . The presence of the large bias ambiguity makes it impossible to identify the process noise, and keeps the estimate of Q̂k from converging properly. Therefore, a means for isolating the process noise from the bias ambiguity was developed. 160 CHAPTER 8. ADAPTIVE ESTIMATION To isolate the process noise, Equation 8.1 is modified to only include the velocity terms, Q?ṙ = ∆xṙ ∆xTṙ + Pṙ− − Pṙ+ − Q̂− ṙ (8.9) Equation 8.9 represents the changing process noise on the velocity. Note that the propagation matrix, Φk varies over time. Therefore, Q̂k should also reflect this time dependence. Q?ṙ in Equation 8.9 is a covariance in the discrete domain. The actual process noise is a continuous quantity, which for ∆t small relative to the system time constant (which is one orbit, or about 90 minutes), can be approximated from Q?ṙ as 1 qc? = diag (Q?ṙ ) ∆t # " 0 0 Q?c = 0 diag (qc? ) (8.10) (8.11) Q?c now represents the updated continuous spectral power density, and must then be mapped back into discrete domain at this time step, using the usual definition [AG74], ? Q = Z tk+1 Φ(tk+1 , τ )Q?c ΦT (tk+1 , τ )dτ (8.12) tk where Φ(tk+1 , tk ) is the linear state propagation from time tk to tk+1 , (it is the formal expression of Φk ). Q? is now used in Equation 8.5, to obtain an updated estimate of Q̂+ k , which is then used for the state propagation between time steps k and k + 1. This isolation and re-mapping procedure effectively removes the swamping effect of the bias ambiguity, and allows the adaptation routine to successfully identify the process noise. 8.2. ADAPTIVE ESTIMATION 8.2.2 161 Sensor Noise The routine for adaptively identifying the sensor noise is similar to that of the process noise. Sensor noise only impacts the measurement update. The sensor noise, R, can be defined in terms of the measurement noise vector, ν, such that, ν k ∼ N (0, Rk ) The sensor noise present is observed by the residual between the expected and actual measurements. Maybeck [PM82] derives the sensor noise update equation, R? = ∆y∆yT − Hk Pk+ HkT (8.13) ∆y = yk − ŷk+ (8.14) where Hk is the observation matrix at time k. For nonlinear systems, Hk is the Jacobian of the nonlinear measurement function, as defined in Equation 5.6. ∆y is the measurement residual. yk is the set of measurements taken this time step. ŷk+ is the a posteriori measurement expectation, ŷk+ = hk x̂+ k (8.15) Note that ŷk+ uses the a posteriori state estimate, so this routine is run after the measurement update. This requires ŷk to be computed a second time, after it is computed once in the normal filter update. The second term in Equation 8.13, HP + H T , cancels of expected measurement error due to the state uncertainty. The remainder is a measure of the “unexpected” measurement error, which should be attributable to sensor noise. As with the Q adaptation, the R̂k estimate is updated with this sensor noise measure through a running-average filter, R̂k+ = R̂k− + 1 ? R − R̂k− LR (8.16) As with the process noise, the selection of the sensor noise window size, LR , is application specific. 162 CHAPTER 8. ADAPTIVE ESTIMATION One of the characteristic issues of GPS estimation is the fact that as GPS satellites come into view or leave view, the measurements available change continuously. This means that the measurement vector changes dimension, and the placement of a given channel within the vector will change. Care must be taken to ensure that the R matrix matches the same channels throughout the process. In the context of R-adaptation, it is important to initialize the corresponding R̂k matrix elements properly as new measurements come on-line. For new measurements, it is assumed that the new channel will have a similar noise level as the other channels. Therefore, the newly introduced elements of the R̂ matrix, rij , are initialized as rij,k = ( 1 N 0 PN n=1 rnn,k−1 : i=j : i 6= j (8.17) where i, j = the rows and columns of the R̂k matrix k = the time step N = the number of GPS satellites in view at time k − 1 This routine improves the R adaptation performance, by avoiding large jumps in the sensor noise estimate after convergence as new measurements come on-line. It is analogous to the bias initialization routine for state estimation presented in Section 5.5. 8.2.3 Identify Noise MATLAB simulations are presented to demonstrate the effectiveness of the adaptive schemes to identify the process and sensor noise levels. Simulations are performed with known noise levels added to the dynamics and measurements, and with large initial errors in the estimates of those noise levels. To demonstrate process noise identification, the simulation was run with the acceleration process noise set at σw∆r = 10−6 and clock noise set at σw∆b = 0.05. The initial estimate for both was set at σ̂w = 1. The same absolute and relative state 8.2. ADAPTIVE ESTIMATION 163 −4 5 Q adaptation x 10 Q x Qy Qz Value of Qmotion 4 3 2 1 0 0 100 200 300 400 500 1 Est. Real Value of Qclock 0.8 0.6 0.4 0.2 0 0 100 200 300 Time (sec) 400 500 Figure 8.7: The adaptive filter is able to estimate the process noise, both of the acceleration and of the clock state. filter as described in Chapter 5 was implemented, with the Q-adaptation routine run after the measurement update in the relative state filter. The window size was set at LQ = 10. The results are presented in Figure 8.7; the upper plot shows the motion dynamics identification, and the lower plot shows the clock drift noise. Notice that the levels of the noises in the two plots are orders of magnitude apart, and yet they can still be accurately identified. For this demonstration, only white process noise was added to the simulated Keplerian motion, so there is no differential drag or other biased noise included. To demonstrate the sensor noise identification, measurements were created in MATLAB with a white noise of σ∆φ = 2 mm added onto the carrier signal from each GPS satellite. There was no ionospheric, ephemeris, or other bias in the simulated signal. The R-adaptation routine was run at the end of the measurement update in the relative state filter. The window size was set at LR = 10. Figure 8.8 shows the ability of the adaptive filter to identify the noise level on the carrier signal. The solid 164 CHAPTER 8. ADAPTIVE ESTIMATION Carrier Phase R adaptation 0.08 Est. Mean Est. 1 Real 0.07 0.06 Value of R (m) 0.05 0.04 0.03 0.02 0.01 0 0 100 200 300 Time (sec) 400 500 600 Figure 8.8: This figure demonstrates the adaptive filter’s ability to identify the sensor noise level (indicated by the dashed line), even with very erroneous initial estimates. line marks the mean estimate over all valid channels, while the curved dashed line marks the noise estimate on Channel One. Even with an initial guess of σ∆φ = 10cm, the filter is able to correctly identify the noise level. 8.2.4 Application Notes There are some important notes concerning the application of these algorithms: 1. These two routines, the Q-adaptation and R-adaptation, do not run simultaneously. If both R and Q are unknown, an iterative approach of running the routines one after another can be implemented. 2. The routines were always able to identify the parameter if the initial guess was larger than the parameter value. They did not always converge when initial guesses were below the actual values. 8.2. ADAPTIVE ESTIMATION 165 3. Both routines are effective at identifying standard deviations of random variables with short time correlations. They are not effective at identifying biases or long time-correlated variables. 8.2.5 Active Thrusting Formation flying often involves active control of the vehicles within the formation. A special case of adapting the Q parameter occurs during active control. Very often, the uncertainty associated with propulsion devices on spacecraft will be far greater than the natural differential dynamics. To account for this, when thrusters are turned on, the filter must account both for this new acceleration and for the larger uncertainty in the state. It is assumed that any intended control input (a thruster firing) can be input to the filter. The filter feeds the thruster commands into the state propagation: x̂˙ k = f (x̂k ) + ∆ûk (8.18) where ∆ûk is the expected differential control input (acceleration due to thrusters) at time step k. The nonlinear propagation function f (·) is defined in Equations 5.31 and 5.32. To account for the greater uncertainty associated with the thrusters, the covariance is also updated, so that Equation 8.10 is modified: qc = qc + qu (8.19) qu = (Ku · abs (∆ûk )) (8.20) where The constant Ku represents the expected level of uncertainty in the Orion thruster noise. For this work, it was set at 10%. 166 8.3 CHAPTER 8. ADAPTIVE ESTIMATION Adaptive Performance Three distinct advantages of the adaptive filter are demonstrated in this section. The first demonstration compares the adaptive filter performance with the performance of the filter using a reasonable, but wrong, parameter setting. The second compares the covariance behavior using the adaptive filter and using a good, but fixed, parameter setting. Finally, the third is an example of the active thrusting adaptation working successfully. 8.3.1 Wrong Parameter Correction Consider the 1 km formation case presented in Section 6.2. That example used the process noise corresponding to σ∆r = 10−4 m/s2 , and the results were presented in Figures 6.5 and 6.7. Now consider the case where the reasonable, but wrong, process noise estimate of σ∆r = 10−6 is used to set Q̂k in the filter. The same saved data, with all other conditions the same, is run through this filter with the different parameter setting. The resulting relative position error is shown, using the same scales, in Figure 8.9. The solid line plots the estimate error, and the dashed lines represent the expected standard deviation for that state (from the corresponding diagonal element of the covariance matrix). It is clear that the solution diverges and does not perform well. The same data set is now filtered using the Q-adaptive routine. The initial estimate of the process noise is σw∆r = 1m/s2 , and LQ = 10. Figure 8.10 displays the resulting relative position error. By comparing Figure 8.10 with Figure 6.5, it can be seen that the performance is nearly the same as using the ideal parameter setting from the previous section. By the simulation’s end, the estimate of σw∆r is ≈2×10−4 m/s2 . The adaptive filter works well in correcting for an inaccurate estimate of the noise covariances, and thereby improving the estimator performance. 8.3. ADAPTIVE PERFORMANCE 167 Relative Carrier Position Error (LVLH) Radial (m) 0.2 0.1 0 −0.1 −0.2 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time(sec) 2000 2500 3000 In−Track (m) 0.2 0.1 0 −0.1 −0.2 Cross−Track (m) 0.2 0.1 0 −0.1 −0.2 Figure 8.9: Without an adaptive filter, the relative position estimate does very poorly when Q̂ is wrong. Relative Carrier Position Error (LVLH) Radial (m) 0.2 0.1 0 −0.1 −0.2 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time(sec) 2000 2500 3000 In−Track (m) 0.2 0.1 0 −0.1 −0.2 Cross−Track (m) 0.2 0.1 0 −0.1 −0.2 Figure 8.10: Using an adaptive filter for the process noise, the relative posi- tion performance is much better. 168 8.3.2 CHAPTER 8. ADAPTIVE ESTIMATION Covariance Comparison Another benefit of the adaptive filter is that it does a better job of keeping the covariance consistent with the real performance. In Figure 8.9, not only does the position estimate diverge, but the covariance bounds still indicate nominal performance. Without adaptive routines, the covariance is completely determined from the Riccati equations (the combination of Equations 5.5, 5.8, and 5.9), and has no feedback from the residuals. The ability to improve the covariance estimate is illustrated in the following example. Data is stored from a HWIL simulation for a formation with ∆r = 10 km. The data is processed in a filter with ∆t = 10 sec. The longer time-step and large separation between vehicles has the effect of increasing the process noise. Figure 8.11 shows the velocity estimation performance, with no adaptive filtering. Note how the velocity error (marked by the solid line) drifts significantly outside of the covariance bounds (marked by the dashed lines). Figure 8.12 shows the same data filtered with the Q-adaptation filter. In this example, it can clearly be seen that the covariance bounds are adapted to reflect the larger error. The adaptation of the covariance provides confidence that the filter will not “go to sleep” and let the state estimate diverge. A filter “goes to sleep” when it ignores the measurement residuals, and simply propagates the states based on the modeled dynamics. This can lead to divergence and must be avoided. Therefore, the adaptive covariance behavior illustrated in Figure 8.12 is very desirable, and demonstrates improved filter robustness in the face of uncertain noise conditions. 8.3.3 Thrust Demonstration It is also important to demonstrate effective estimation during active thrusting. As explained in Section 8.2.5, the Orion thrusters have much larger noise than the naturally occuring dynamics. They are expected to provide accelerations of ±10% of the commanded value. Even when the filter is fed the expected commands (as shown in Equation 8.18), the filter may perform poorly if Q̂k is not adapted to account for the greater noise. 8.3. ADAPTIVE PERFORMANCE −3 Radial (m/s) 2 169 Relative Velocity Error (LVLH) x 10 1 0 −1 −2 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time(sec) 2000 2500 3000 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 1 0 −1 −2 Figure 8.11: Relative velocity error with no adaptation. Note how the esti- mate is well outside of the expected covariance bounds. −3 Radial (m/s) 2 Relative Velocity Error (LVLH) x 10 1 0 −1 −2 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time(sec) 2000 2500 3000 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 1 0 −1 −2 Figure 8.12: Relative velocity error with Q adaptation. Now the covariance more accurately reflects the actual velocity error. The mean relative velocity error is also lower. 170 CHAPTER 8. ADAPTIVE ESTIMATION To demonstrate this thrust-adaptation, a HWIL simulation was run using a 3vehicle formation, where the formation was changed from an in-track formation to an in-plane elliptical formation. Sample control inputs were performed during the simulation using a script of previously generated control commands. There is a 10second thruster firing of 0.1 m/s2 in the radial direction. The resulting change in radial velocity can clearly be seen in Figure 8.13, which shows the relative velocity of one of the slave vehicles in the RIC frame. The thrust commands are fed forward to the Kalman filter. However, to demonstrate robustness, the value fed to the filter was changed by a Gaussian random amount (with a 10% standard deviation) to simulate uncertainty in actual thruster behavior. The measurements were processed in two filters. The first filter did not augment the process noise during the thrust, as in Equation 8.19. Figure 8.14 shows the position error, and Figure 8.15 shows the velocity error for one of the relative states during the simulation. Both the position error and velocity error jump during the thruster firing, and there is a period of about 30 seconds for settling after the commanded thrust. This jump is due to the 10% simulated command error which is not reflected in the process noise covariance. The second filter does augment the process noise during the thrust. The resulting position error is shown in Figure 8.16 and velocity error in Figure 8.17. During the actual thruster firing, the velocity estimate jumps, while the position estimate maintains accuracy throughout the thruster firing. The velocity estimate returns almost immediately to the previous accuracy level directly after the thruster firing. Augmentation of the process noise during thrusting significantly improves estimation performance. 8.3. ADAPTIVE PERFORMANCE 171 Relative Velocity (LVLH) Radial (m/s) 0.5 0 −0.5 −1 −1.5 0 100 200 300 400 500 600 700 800 0 100 200 300 400 500 600 700 800 0 100 200 300 400 Time (sec) 500 600 700 800 In−Track (m/s) 1.5 1 0.5 0 −0.5 Cross−Track (m/s) 0.15 0.1 0.05 0 −0.05 Figure 8.13: Shows the thrust during a formation maneuver by one of the slave vehicles; the commanded thrust was ∆V ≈ −1m/s over a 10 second period in the radial direction. 172 CHAPTER 8. ADAPTIVE ESTIMATION −3 Relative Position Error,(LVLH) 2 Radial (m/s) Radial (m) 0.02 0 Relative Velocity Error,(LVLH) x 10 1 0 −1 −0.02 1100 1200 1300 1400 1500 1600 1700 1800 1900 0.02 0 −0.02 1100 1200 1300 1400 1500 1600 1700 1800 1900 0.02 0 −0.02 1000 1100 1200 1300 1400 1500 1600 Time (sec) 1700 1800 1900 Fig. 8.14: Position error during thrust, constant Q 1400 1500 1600 1700 1800 1900 2000 1200 1300 1400 1500 1600 1700 1800 1900 2000 1200 1300 1400 1500 1600 Time (sec) 1700 1800 1900 2000 0 1 0 −1 1100 Fig. 8.15: Velocity error during thrust, constant Q −3 Relative Position Error,(LVLH) 2 Radial (m/s) 0.02 Radial (m) 1300 −1 −2 1000 2000 1200 1 −2 1000 1100 −3 x 10 2 2000 Cross−Track (m/s) Cross−Track (m) 1000 −2 1000 1100 −3 x 10 2 2000 In−Track (m/s) In−Track (m) 1000 0 Relative Velocity Error,(LVLH) x 10 1 0 −1 −0.02 1100 1200 1300 1400 1500 1600 1700 1800 1900 0.02 0 −0.02 1100 1200 1300 1400 1500 1600 1700 1800 1900 0.02 0 −0.02 1000 1100 1200 1300 1400 1500 1600 Time (sec) 1700 1800 1900 2000 Fig. 8.16: Position Error during thrust, augmented Q 1200 1300 1400 1500 1600 1700 1800 1900 2000 1200 1300 1400 1500 1600 1700 1800 1900 2000 1200 1300 1400 1500 1600 Time (sec) 1700 1800 1900 2000 1 0 −1 −2 1000 1100 −3 x 10 2 2000 Cross−Track (m/s) Cross−Track (m) 1000 −2 1000 1100 −3 x 10 2 2000 In−Track (m/s) In−Track (m) 1000 1 0 −1 −2 1000 1100 Fig. 8.17: Velocity error during thrust, augmented Q Chapter 9 Conclusions Formation-flying in Low Earth Orbit has great potential. A simple, robust, low-cost, and yet precise, relative navigation system is required to enable the benefits of LEO formation-flying. Carrier differential GPS has the capability of meeting these needs. This dissertation presents the development and demonstration of a carrier differential GPS receiver and an Adaptive Extended Kalman Filter for LEO formation flying missions. The tools to analyze and improve both the receiver and the filter have been created. The error sources and the implementation issues have been studied, leading to a final receiver/filter system design. Both software and hardware-in-theloop simulations have been performed, and the results from these tests demonstrate the ability of the relative navigation system to meet the performance requirements for LEO formation flying. 9.1 Summary of Findings and Contributions This work consists of two primary contributions: the development of a CDGPS relative navigation system and the demonstration of that system. 1. Development—The first primary contribution of this dissertation is the development of a GPS receiver and an Adaptive Extended Kalman Filter that can be used for orbital formation flying. This contribution is built on three distinct achievements. 173 174 CHAPTER 9. CONCLUSIONS (a) A GPS receiver has been improved for orbital relative navigation (see Chapter 4). The communication interfaces have been modified so that it can send measurements to a cross-link or to ground, share data with a spacecraft bus or ground operator, and receive commands. The clock steering has been modified so that synchronous measurements can be taken reliably for long periods. The tracking loop was also modified, with a commandable bandwidth setting so that the receiver can be set to operate either more robustly or with less noise depending on actual environment experience. The receiver can also initialize and operate in the orbital environment, as has been demonstrated in hundreds of hours of hardwarein-the-loop testing. (b) An Extended Kalman filter has been designed for this application. Trade studies were performed to determine the best implementation approaches for the filter (see Section 7.1). Single differences are used instead of double differences since they are simpler and give comparable performance. It has also been shown that the Doppler measurement from the current tracking loop does not improve relative navigation performance for this application. Furthermore, a variety of measurement update and propagation methods were also compared (see Chapter 5). It was found that a nonlinear measurement update is required to achieve acceptable performance, while a linear propagation method could provide acceptable performance. (c) The EKF was modified to include an adaptive filter that can effectively estimate the process and sensor noise covariances (see Chapter 8). It is shown to work very well for noises with short time-correlations. Furthermore, it provides feedback for the covariance from the residuals, which prevents filter divergence and maintains the covariance as a more accurate indicator of the performance of the nonlinear filter. These three developments combine to provide a low-cost, robust, and relatively simple relative navigation system for LEO formation flying. 9.1. SUMMARY OF FINDINGS AND CONTRIBUTIONS 175 2. Demonstration—The performance of this relative navigation system was then demonstrated in both software and HWIL simulations. These demonstrations allowed validation of the design, as well as a means for analyzing relative navigation in LEO using CDGPS. Some of the key findings during demonstrations include: (a) The relative navigation system designed for this dissertation can reliably achieve less than 2cm relative position error, and 0.5 mm/s relative velocity error for formations with 1–2 kilometer separations between vehicles (see Chapter 6). These are the best results yet reported, and this was done using a very simple filter design that does not require very detailed orbit and disturbance models. (b) A decentralized estimator is able to meet the performance goals (see Section 6.2.4). Even though in some cases it may be less accurate than a centralized approach, a decentralized filter is more appealing for implementation reasons. This work experimentally establishes that the decentralized filter is sufficient for centimeter-level precision during LEO formation flying. (c) In analyzing the demonstration results, it has been shown that the measurement errors have greater impact on performance than the dynamic propagation errors (see Section 7.2). Furthermore, these measurement errors have greater impact on the position estimate, while the dynamic propagation errors have greater impact on the velocity estimate. The largest error source for relative navigation is the ionospheric delay. For formations of one kilometer, the ionospheric effect is not significant, but for formations of ten kilometers or more, the ionospheric effect must be mitigated. The largest differential process noise is the differential drag, but its effect is so small that it can be neglected for all formation sizes. The HWIL demonstrations of the receiver and filter increase confidence that the system can operate successfully on orbit. The analysis findings also provide a basis for future research in the area of LEO formation flying. 176 9.2 CHAPTER 9. CONCLUSIONS Future Research As with most research, this dissertation opens many more paths of interest for future research. Some of the major areas are: 1. A closed loop demonstration. So far, all of the work has been focused on the estimator. The next step would be to perform closed-loop active control simulations. The Goddard Space Flight Center should now have the capability to do this. Then further work exploring the estimator impact on control performance could be performed. It is also an essential step for further formation flying mission development. 2. Improve velocity performance. Even though the relative navigation system designed in this dissertation met the requirements for the Orion mission, there is continued interest in further improving the ability to estimate relative velocity. Improvements in relative velocity estimation contributes directly to lowering the required control effort for closed-loop formation control, and therefore increasing mission life [MT01]. 3. A centralized filter comparison. The centralized filter approach has not yet been fully implemented. This work with a decentralized filter has set a conservative bound for the expected performance of a centralized filter. But it is not clear how much improvement a centralized filter would provide. This should be studied by implementing a centralized filter in the same environment as the decentralized filter, to perform a parallel comparison between them. 4. Further adaptive work. This dissertation only begins to study the adaptive filters for orbital relative navigation. Some clear areas of research are: (a) Continue studying performance sensitivity to window sizing. (b) The radius of convergence for initial parameter estimates is still unknown, and the underlying factors influencing convergence should be further analyzed. 9.3. CLOSING REMARKS 177 (c) Study dynamic approaches to window sizing, where the window size is changed as a function of time, residual sizes, or other criteria. (d) Other methods of simultaneous process and sensor noise adaptation should be examined. (e) Perhaps most important, there is a need for methods that better handle adapting to biases or long time-correlated variables. 5. Attitude modeling. Simulations need to be performed using attitude models. When dealing with errors of one centimeter, there is a strong coupling between attitude and position. Work on attitude determination and control needs to be combined with this work on relative position and velocities. 6. Orbital Demonstration. Finally, all of this is just leading to performing actual orbital demonstrations. Carrier differential GPS is an ideal approach for formation flying navigation, and formation flying has great potential. The Orion mission would be an excellent opportunity to validate this technology. 9.3 Closing Remarks As an engineer, I derive the greatest satisfaction from making things work. To face a problem, and to not only solve it in theory, but to physically demonstrate it working, provides immense sense of purpose and fulfillment. This project has turned out to be just such an experience. The Orion mission needed a relative navigation sensor. I have developed a receiver and filter that exceeds the performance requirements for the mission. And I did so with a simple, flexible, and robust design. The challenge also led to the development of an adaptive EKF, which has been especially rewarding. I have full confidence in the system. No short cuts were taken, no unjustifiable assumptions were made. I can fully recommend that this system is ready to fly, and can achieve centimeter-level accuracy for Low Earth Orbit formation flying missions. 178 CHAPTER 9. CONCLUSIONS THE END Appendix A Additional HWIL Results This appendix includes the plots from additional formations, as listed in Section 6.2. Table A.1: Compiled Results for Various Formations 100m In-Track 1 km In-Plane 1 km Out-Plane 1 km Thrusting 10 km In-Track 10 km In-Plane Target Position (cm) Velocity (mm/s) Mean (µ) St.Dev. (σ) Mean (µ) St.Dev. (σ) 0.93 0.46 0.01 0.32 0.83 0.82 0.04 0.33 1.03 0.54 0.04 0.34 1.38 0.60 0.02 0.83 5.76 1.92 0.07 0.40 2.83 1.55 0.04 0.54 2.00 0.50 179 180 APPENDIX A. ADDITIONAL HWIL RESULTS A.1 100 m In-Track Relative Position Error,(LVLH) Radial (m) 0.1 0.05 0 −0.05 In−Track (m) −0.1 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 200 400 600 800 1000 1200 1400 Time (sec) 1600 1800 2000 2200 0.1 0.05 0 −0.05 Cross−Track (m) −0.1 0.1 0.05 0 −0.05 −0.1 Figure A.1: Relative Position Error (RPE), 100 m in-track formation. −3 Radial (m/s) 2 Relative Velocity Error,(LVLH) x 10 1 0 −1 −2 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 200 400 600 800 1000 1200 1400 Time (sec) 1600 1800 2000 2200 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 1 0 −1 −2 Figure A.2: Relative Velocity Error (RVE), 100 m in-track formation. A.2. 10 KM IN-TRACK 181 A.2 10 km In-Track Relative Position Error,(LVLH) Radial (m) 0.1 0.05 0 −0.05 In−Track (m) −0.1 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 0.1 0.05 0 −0.05 Cross−Track (m) −0.1 0.1 0.05 0 −0.05 −0.1 Figure A.3: Relative Position Error (RPE), 10 km in-track formation. −3 Radial (m/s) 2 Relative Velocity Error,(LVLH) x 10 1 0 −1 −2 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 1 0 −1 −2 Figure A.4: Relative Velocity Error (RVE), 10 km in-track formation. 182 APPENDIX A. ADDITIONAL HWIL RESULTS A.3 1 km Out-of-Plane Elliptical Relative Position Error,(LVLH) Radial (m) 0.1 0.05 0 −0.05 In−Track (m) −0.1 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 0.1 0.05 0 −0.05 Cross−Track (m) −0.1 0.1 0.05 0 −0.05 −0.1 Figure A.5: Relative Position Error (RPE), 1 km out-of-plane ellipse. −3 Radial (m/s) 2 Relative Velocity Error,(LVLH) x 10 1 0 −1 −2 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 1 0 −1 −2 Figure A.6: Relative Velocity Error (RVE), 1 km out-of-plane ellipse. A.4. 10 KM IN-PLANE ELLIPTICAL A.4 183 10 km In-Plane Elliptical Relative Position Error,(LVLH) Radial (m) 0.1 0.05 0 −0.05 In−Track (m) −0.1 500 1000 1500 2000 2500 500 1000 1500 2000 2500 500 1000 1500 Time (sec) 2000 2500 0.1 0.05 0 −0.05 Cross−Track (m) −0.1 0.1 0.05 0 −0.05 −0.1 Figure A.7: Relative Position Error (RPE), 10 km in-plane ellipse. −3 Radial (m/s) 2 Relative Velocity Error,(LVLH) x 10 1 0 −1 −2 500 1000 1500 2000 2500 500 1000 1500 2000 2500 500 1000 1500 Time (sec) 2000 2500 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 1 0 −1 −2 Figure A.8: Relative Velocity Error (RVE), 10 km in-plane ellipse. 184 APPENDIX A. ADDITIONAL HWIL RESULTS A.5 1 km Thrusting Relative Position Error,(LVLH) Radial (m) 0.1 0.05 0 −0.05 In−Track (m) −0.1 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 0.1 0.05 0 −0.05 Cross−Track (m) −0.1 0.1 0.05 0 −0.05 −0.1 Figure A.9: Relative Position Error (RPE), 1 km in-plane thrusting formation. −3 Radial (m/s) 2 Relative Velocity Error,(LVLH) x 10 1 0 −1 −2 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 500 1000 1500 Time (sec) 2000 2500 3000 −3 In−Track (m/s) 2 x 10 1 0 −1 −2 −3 Cross−Track (m/s) 2 x 10 1 0 −1 −2 Figure A.10: Relative Velocity Error (RVE), 1 km in-plane thrusting. Bibliography [AD98] A. Das and R. Cobb, “TechSat 21 – Space Missions Using Collaborating Constellations of Satellites,” Proceedings of the 12th Annual AIAA/USU Conference on Small Satellites, Logan, UT, Aug. 1998. [AG74] A. Gelb, Applied Optimal Estimation, MIT Press, Cambridge, MA, 1974. [AL02] A. Long, D. Kelbel, T. Lee, D. Leung, J.R. Carpenter, C. Gramling, “Relative Navigation of Formation-Flying Satellites,” CNES International Symposium for Formation Flying: Missions and Technologies, Toulouse, France, Oct. 2002. [AR02] A. Reichert, T. Meehan, T. Munson, “Toward Decimeter-Level Real-Time Orbit Determination: A Demonstration Using the SAC-C and Champ Spacecraft,” Proceedings of the ION GPS Conference, Portland, OR, Sep. 2002. [BP95] B.W. Parkinson, P.K. Enge, “Differential GPS,” Global Positioning System: Theory and Applications, Volumes 1 and 2, American Institute of Aeronautics and Astronautics(AIAA), Progress in Astronautics and Aeronautics Series, Volume 164, Washington, DC, 1996, pp. 11-27. [BH92] R.G. Brown, P.Y.C. Hwang, Introduction to Random Signals and Applied Kalman Filtering, John Wiley and Sons Inc., New York, 1992. [CM00] R. Campana, L. Marradi, “GPS-based Space Navigation: Comparison of Kalman Filtering Schemes,” Proc. of Institute of Navigation GPS Meeting, Salt Lake City, UT, Sep. 2000. [CP01] C.W. Park, Precise Relative Navigation Using Augmented CDGPS, Ph.D. Dissertation, Stanford University, Dept. of Mechanical Engineering, June 2001. 185 186 BIBLIOGRAPHY [DAL] Maxim semi-conductors web site, http://www.maxim-ic.com/1-Wire.cfm [DAR] ESA Science, Darwin Homepage, http://sci.esa.int/home/darwin/index.cfm [DK94] D.T. Knight, “A New Method for Instantaneous Ambiguity Resolution,” Proc. of Institute of Navigation 7th International Technical Meeting Conference, Salt Lake City, UT, 1994. [DS02a] NASA GSFC Distributed Space System Mission List, Home Page, http://gsfctechnology.gsfc.nasa.gov/dssmissionlist.htm [DS02b] NASA GSFC Distributed Space System http://gsfctechnology.gsfc.nasa.gov/dss.htm [DV01] D.A. Vallado, Fundamentals of Astrodynamics and Applications, Second Edition, Microcosm Press, El Segundo, CA, 2001. [EK96] E. Kaplan, Understanding GPS Principles and Applications, Artech House Publishers, Boston, MA, 1996. [EORB] EO-1 Homepage, http://eo1.gsfc.nasa.gov. [EO98] E. Olsen, C.W. Park, J. How, “3D Formation Flight using Differential Carrierphase GPS Sensors,” Proc. of the ION-GPS Conference, Sept 1998. [EO99] E. Olsen, GPS Sensing for Formation Flying Vehicles. Ph.D. Dissertation, Stanford University, Dept. of Aeronautics and Astronautics, Dec. 1999. [EO00] E. Olsen, P. Stadter, M. Asher, “Long-Baseline Differential GPS based Relative Navigation for Spacecraft with Crosslink Range Measurements,” Proc. of the ION GPS Conference, Salt Lake City, Sep. 2000. [FB97] F. H. Bauer, J. Bristow, D. Folta, K. Hartman, D. Quinn, J. P. How, “Satellite Formation Flying Using an Innovative Autonomous Control System (AUTOCON) Environment,” Proceedings of the American Institute of Aeronautics and Astronautics (AIAA) Guidance Navigation and Control Conference, New Orleans, LA, May 1997. BIBLIOGRAPHY 187 [FB98] F. H. Bauer, K. Hartman, E. G. Lightsey, “Spaceborne GPS: Current Status and Future Visions,” 1998 IEEE Aerospace Conference Proceedings,, IEEE, Aspen, CO, March 1998. [FB99] F. H. Bauer, K. Hartman, J. P. How, J. Bristow, D. Weidow, and F. Busse, “Enabling Spacecraft Formation Flying through Spaceborne GPS and Enhanced Automation Technologies,” Proceedings of the ION-GPS Conference, Nashville, TN, Sept. 1999. [FD00] F. D. Busse, G. Inalhan, J. P. How, “Project Orion: Carrier-Phase Differential GPS for Formation Flying,” Proc. of AAS Guidance and Control Conference, Breckenridge, CO, Feb. 2000. [FD01] F. D. Busse, J. P. How, J. Simpson, J. Leitner, “Orion-Emerald: Carrier Differential GPS for LEO Formation Flying,” Proc. of IEEE Aerospace Conference, Big Sky, MT, Mar. 2001. [FG79] F. M. Gardner, Phaselock Techniques, John Wiley and Sons Inc., New York, 1979. [GD02] G. Davis, M. Moreau, F. Bauer, J.R. Carpenter, “GPS Based Navigation and Orbit Determination for the AMSAT AO-40 Satellite,” AIAA Guidance and Control Conference, Monterey, CA, Aug 2002. [GG84] G. G. Goodwin, K. S. Sin, Adaptive Filtering Prediction and Control, Prentice-Hall Inc., Englewood Cliffs, NJ, 1984. [GI00] G. Inalhan, F. Busse, J. How, “Precise Formation Flying of Multiple Spacecraft Using Carrier-Phase Differential GPS,” Proceedings of AAS Space Flight Mechanics Winter Meeting, Clearwater, FL, AAS 00-109, Jan 2000. [GL97] E. G. Lightsey, Development and Flight Demonstration of a GPS Receiver for Space, Ph.D. Thesis, Department of Aeronautics and Astronautics, Stanford University, Feb., 1997. 188 BIBLIOGRAPHY [GL00] E. G. Lightsey, “Going Up: A GPS Receiver Adapts to Space,” GPS World, Sep. 2000. [GPS96] B. W. Parkinson, J. J. Spilker,Jr., P. Axelrad, P. Enge, Global Positioning System: Theory and Applications, Volumes 1 and 2, American Institute of Aeronautics and Astronautics(AIAA), Progress in Astronautics and Aeronautics Series, Volumes 163 and 164, Washington, DC, 1996. [GRACE] Earth System Science Pathfinder GRACE homepage, http://essp.gsfc.nasa.gov/grace/. [GW02] J. Leitner, F. Bauer, D. Folta, R. Carpenter, M. Moreau, and J.P. How, “Formation Flight in Space,” GPS World, Feb. 2002, pp. 22–31. [HT97] E. H. Teague, Flexible Structure Estimation and Control Using the Global Positioning System, Ph.D. Dissertation, Stanford University, Dept. of Aeronautics and Astronautics, June 1997. [ICD01] F.D. Busse, P. Ferguson, “GPS Payload Interface Control Document,” Rev. 2.0, Aug. 2001. Contact authors for copy. [IK99] I. Kawano, M. Mokuno, T. Kasai, T. Suzuki, “First Autonomous Rendezvous using Relative GPS Navigation by ETS-VII,” Proceedings of the ION-GPS Conference, Nashville, TN, Sept. 1999. [IK01] I. Kawano, M. Mokuno, T. Kasai, T. Suzuki, “First Autonomous Rendezvous Using Relative GPS Navigation by ETS-VII,” Journal of the Institute of Navigation, Vol. 48, No. 1, Spring 2001. [JA98] J.C. Adams, J.P. How, “GPS Attitude Determination for Spinning Spacecraft with Non-aligned Antenna Arrays,” Proceedings of the ION National Technical Meeting Conference, Long Beach, CA, Jan 1998. [JA99] J.C. Adams,Robust GPS Attitude Determination for Spacecraft, Ph. D. Dissertation, Stanford University, Dept. of Aeronautics and Astronautics, 1999. BIBLIOGRAPHY 189 [JS99] J.Simpson, et al., “Testing of the International Space Station and X-38 GPS Receiver,” Proceedings of the ION GPS Conference, Nashville, TN, Sep. 1999. [JW92] W. Larson, J. Wertz, Space Mission Analysis and Design, Microcosm Inc., Torrance CA, 1992. [KZ96] K.R. Zimmerman, Experiments in the Use of the Global Positioning System for Space Vehicle Rendezvous, Ph.D. Dissertation, Stanford University, Dept. of Aeronautics and Astronautics, Dec. 1996. [LISA] Laser Interferometer Space Antenna homepage: http://lisa.gsfc.nasa.gov/ [MK76] M. Kaplan, Modern Spacecraft Dynamics and Control, John Wiley and Sons, Inc., New York, 1976. [MT01] J. How and M. Tillerson, “Analysis of the Impact of Sensor Noise on Formation Flying Control,” Proceedings of the American Control Conference, pp. 3986-3991, 2001. [MT02] M. Tillerson, Coordination and Control of Multiple Spacecraft using Convex Optimization Techniques, S.M. Thesis, Department of Aeronautics and Astronautics, MIT, June 2002. [MU98] M.J. Unwin, M.K. Oldfield, C.I. Underwood, R. Harboe-Sorensen, “The Use of Commercial Technology for Spaceborne GPS Receiver Design,” Proc. of Institute of Navigation GPS Meeting, Nashville, TN, Sep. 1998. [MU00] M.J. Unwin, P.L. Palmer, Y. Hashida, C.I. Underwood, “The SNAP-1 and Tsinghua-1 GPS Formation Flying Experiment,” Proc. of Institute of Navigation, Salt Lake City, UT, Sep 2000. [MU02] M.J. Unwin, S. Gleason, Y. Hashida, “Applying GPS to a Constellation of Disaster Monitoring Satellites,” Proceedings of ION GPS Conference, Portland, OR, Sep. 2002. 190 BIBLIOGRAPHY [OM02a] O. Montenbruck, T. Ebinuma, E.G. Lightsey, S. Leung, “A Real-Time Kinematic GPS Sensor for Spacecraft Relative Navigation,” Aerospace Science and Technology 6, pp. 435-449, Apr. 2002. [OM02b] O. Montebruck, S. Leung, “GPS Operations on the PC sat Microsatellite,” Proc. of the ION GPS Conference, Portland, OR, Sep. 2002. [OR01] P. Ferguson, F. D. Busse, B. Engberg, J.P. How, M. Tillerson, N. Pohlman, A. Richards, R. Twiggs, “Formation Flying Experiments on Orion Emerald Mission,” Poc. of AIAA Space 2001 Conference and Exposition, Albuquerque, NM, Aug. 2001, AIAA-2001-4688. [PA99] D. Highsmith, P. Axelrad, “Relative State Estimation Using GPS Flight Data from co-Orbiting Spacecraft,” Proceedings of the Institute of Navigation GPS Conference, Nashville, TN, Sep. 1999. [PE01] P. Misra, P. Enge, Global Positioning System—Signals, Measurements, and Performance, Ganga-Jamuna Press, Lincoln, MA, 2001. [PE03] Personal communication with Pr. Per Enge, 2003. [PB97] P. Binning, I. Galysh, “Satellite to Satellite Relative Navigation Using GPS Pseudoranges,” Proc. of ION National Technical Meeting, Santa Monica, CA, Jan. 1997. [PJ68] R.S. Bucy, P.D. Joseph, Filtering for Stochastic Processes with Applications to Guidance, Interscience Publishers, N.Y., 1968. [PM82] P. Maybeck, Stochastic Models, Estimation, and Control, Volume 2, Academic Press, New York, 1982. [RB71] R.Bate, D. Mueller, J. White, Fundamentals of Astrodynamics, Dover Publications, Inc., New York, 1971. [RC01] J.R. Carpenter, E. Schiesser, “Semi major Axis Knowledge and GPS Orbit Determination,” Journal of the Institute of Navigation, Vol. 48, No. 1, Spring 2001. BIBLIOGRAPHY 191 [RC02] J.R. Carpenter, “Decentralized Control of Satellite Formations,” International Journal of Robust and Nonlinear Control, 2002, 12:141-161. [RM70] R.K. Mehra, “On the Identification of Variances and Adaptive Kalman Filtering,” IEEE Transactions on Automatic Control, Vol. AC-15, No. 2, pp. 175–184, April 1970. [RM72] R.K. Mehra, “Approaches to Adaptive Filtering,” IEEE Transactions on Automatic Control, pp. 693–698, October 1972. [RS99] R.J. Sedwick, T.L. Hacker, D.W. Miller, “Optimum Aperture Placement for a Space-Based Radar System Using Seperated Spacecraft Interferometry,” Proceedings of AIAA GNC, Aug. 1999. [GW97] S. Han, C. Rizos, “Comparing GPS Ambiguity Resolution Techniques,” GPS World, Oct. 1997. [SH91] S. Haykin, Adaptive Filter Theory, 2nd Edition, Prentice Hall Inc., Englewood Cliffs, NJ, 1991. [SJ97] S. Julier, J. Uhlmann, “A New Extension of the Kalman Filter to Nonlinear Systems,” Proceedings of AeroSense: The 11th International Symposium on Aerospace/Defense Sensing, and Simulation and Controls, 1997. [SP01] STR Series Multichannel Satellite Navigation Simulator Reference Manual, May 2001. [ST94] R. Stengel, Optimal Control and Estimation, Dover Publications, New York, 1994. [TE01] T. Ebinuma,R. Bishop, E. Lightsey,“Hardware-in-the-Loop GPS Test Facility for Spacecraft Autonomous Rendezvous,” Proceedings of ION GPS Meeting, Salt Lake City, UT, Sep. 2001. [TSAT] AFRL SV Directorate, TechSat-21 http://www.vs.afrl.af.mil/factsheets/TechSat21.html homepage, 192 BIBLIOGRAPHY [WB02] W.Bertiger, et al.,“GRACE: Millimeters and Microns in Orbit,” Proc. of the ION GPS Conference, Portland, OR, Sep. 2002. [WF87] W.A. Feess, S.G. Stephens, “Evaluations of GPS Ionospheric Models,” IEEE Transactions on Aerospace and Electronic Systems, vol. AES-23, no. 3, pp.332-338, 1987. [WL89] W.M. Lear, “GPS Navigation for Low Earth Orbiting Vehicles,” NASA Johnson Space Center Internal Note 87-FM-2, Rev. 1, Mar. 1989. [WW00] W.R. Williamson, J. Min, J.L. Speyer, “A Comparison of an Optimal Global and a Suboptimal Decentralized GPS/INS Filter for Relative State Estimation,” Proceedings of ION National Technical Meeting, Anaheim, CA, Jan. 2000. [WW02] W.R. Williamson, M.F. Abdel-Hafez, I. Rhee, E.J. Song, J. Wolfe, D. Cooper, D.F. Chichka, J.L. Speyer,“A Formation Flight Experiment Using Differential Carrier Phase for Precise Relative Navigation,” Proceedings of the ION GPS Conference, Portland, OR, Sep. 2002. [XEUS] A. Parmer, XEUS mission homepage, general/Projects/XEUS/main/xeus main.html http://astro.esa.int/SA-