148
NAVAL POSTGRADUATE SCHOOL MONTEREY, CALIFORNIA THESIS Approved for public release; distribution unlimited DESIGN AND SIMULATION OF A NANO-SATELLITE ATTITUDE DETERMINATION SYSTEM by Jason Tuthill December 2009 Thesis Co-Advisors: Marcello Romano Hyunwook Woo Second Reader: James Newman

NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

Embed Size (px)

Citation preview

Page 1: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

NAVAL POSTGRADUATE

SCHOOL

MONTEREY, CALIFORNIA

THESIS

Approved for public release; distribution unlimited

DESIGN AND SIMULATION OF A NANO-SATELLITE ATTITUDE DETERMINATION SYSTEM

by

Jason Tuthill

December 2009

Thesis Co-Advisors: Marcello Romano Hyunwook Woo Second Reader: James Newman

Page 2: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

i

REPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instruction, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project (0704-0188) Washington DC 20503. 1. AGENCY USE ONLY (Leave blank)

2. REPORT DATE December 2009

3. REPORT TYPE AND DATES COVERED Master’s Thesis

4. TITLE AND SUBTITLE Design and Simulation of a Nano-Satellite Attitude Determination System 6. AUTHOR(S) Jason Tuthill

5. FUNDING NUMBERS

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Naval Postgraduate School Monterey, CA 93943-5000

8. PERFORMING ORGANIZATION REPORT NUMBER

9. SPONSORING /MONITORING AGENCY NAME(S) AND ADDRESS(ES) N/A

10. SPONSORING/MONITORING AGENCY REPORT NUMBER

11. SUPPLEMENTARY NOTES The views expressed in this thesis are those of the author and do not reflect the official policy or position of the Department of Defense or the U.S. Government. 12a. DISTRIBUTION / AVAILABILITY STATEMENT Approved for public release; distribution is unlimited

12b. DISTRIBUTION CODE

13. ABSTRACT Earth imaging satellites have typically been large systems with highly accurate and expensive sensors. With the recent push for Operationally Responsive Space, Earth imagining has become potentially achievable with small and relatively inexpensive satellites. This has led to the research currently underway to develop very small, low-cost imaging satellites that can produce useful Operational-level and Tactical-level imagery products. This thesis contributes to that effort by developing a detailed design for the attitude determination system for a tactically useful earth-imaging nano-satellite. Tactical Imaging Nano-sat Yielding Small-Cost Operations and Persistent Earth-coverage (TINYSCOPE) is an ongoing investigation at NPS, concerning using a nano-satellite, based on the CubeSat standard, to achieve Earth imaging from LEO orbit. A detailed design of the attitude determination system includes sensor selection and characterization, as well as high fidelity simulation via MATLAB®®/Simulink®®. The attitude determination system is based on an Extended Kalman Filter using multiple sensor types and data rates. The sensors include a star tracker, Sun Sensor, Gyroscope, and Magnetometer.

15. NUMBER OF PAGES

149

14. SUBJECT TERMS

Kalman Filter, Attitude Determination, CubeSat, Nano-Satellite, IMU, Magnetometer, Star Tracker, Gyroscope

16. PRICE CODE 17. SECURITY CLASSIFICATION OF REPORT

Unclassified

18. SECURITY CLASSIFICATION OF THIS PAGE

Unclassified

19. SECURITY CLASSIFICATION OF ABSTRACT

Unclassified

20. LIMITATION OF ABSTRACT

UU NSN 7540-01-280-5500 Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std. Z39.18

Page 3: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

ii

THIS PAGE INTENTIONALLY LEFT BLANK

Page 4: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

iii

Approved for public release; distribution unlimited

DESIGN AND SIMULATION OF A NANO-SATELLITE ATTITUDE DETERMINATION SYSTEM

Jason D. Tuthill

Lieutenant, United States Navy B.S., Rensselear Polytechnic Institute, 2001

Submitted in partial fulfillment of the requirements for the degrees of

ASTRONAUTICAL ENGINEER and

MASTER OF SCIENCE IN ASTRONAUTICAL ENGINEERING

from the

NAVAL POSTGRADUATE SCHOOL December 2009

Author: Jason D. Tuthill Approved by: Marcello Romano

Co-Thesis Advisor

Hyunwook Woo

Co-Thesis Advisor

James Newman

Second Reader

Knox Milsaps Chairman, Department of Mechanical and Astronautical Engineering

Page 5: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

iv

THIS PAGE INTENTIONALLY LEFT BLANK

Page 6: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

v

ABSTRACT

Earth imaging satellites have typically been large systems with highly

accurate and expensive sensors. With the recent push for Operationally

Responsive Space, Earth imagining has become potentially achievable with

small and relatively inexpensive satellites. This has led to the research currently

underway to develop very small, low-cost imaging satellites that can produce

useful Operational-level and Tactical-level imagery products. This thesis

contributes to that effort by developing a detailed design for the attitude

determination system for a tactically useful earth-imaging nano-satellite. Tactical

Imaging Nano-sat Yielding Small-Cost Operations and Persistent Earth-coverage

(TINYSCOPE) is an ongoing investigation at NPS, concerning using a nano-

satellite, based on the CubeSat standard, to achieve Earth imaging from LEO

orbit.

A detailed design of the attitude determination system includes sensor

selection and characterization, as well as high fidelity simulation via

MATLAB®/Simulink®. The attitude determination system is based on an

Extended Kalman Filter using multiple sensor types and data rates. The sensors

include a star tracker, sun sensor, gyroscope, and magnetometer.

Page 7: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

vi

THIS PAGE INTENTIONALLY LEFT BLANK

Page 8: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

vii

TABLE OF CONTENTS

I. BACKGROUND.............................................................................................. 1 A. BRIEF HISTORY.................................................................................. 1 B. CUBESAT STANDARD....................................................................... 2 C. CUBESAT DEPLOYMENT .................................................................. 4 D. SURVEY OF CUBESAT ATTITUDE DETERMINATION SYSTEMS... 6

1. Pumpkin IMI ADCS .................................................................. 8 2. SFL ADCS................................................................................. 9

E. TINYSCOPE REQUIREMENTS......................................................... 11

II. SELECTION OF ATTITUDE DETERMINATION HARDWARE.................... 13 A. PURPOSE.......................................................................................... 13 B. BASIC ADS DESIGN......................................................................... 13 C. COMPONENT SELECTION............................................................... 13

1. Inertial Measurement Unit ..................................................... 14 2. Magnetometer ........................................................................ 16 3. Sun Sensor............................................................................. 17 4. Star Tracker............................................................................ 18 5. GPS ......................................................................................... 20

III. EXPERIMENTAL CHARACTERIZATION OF SELECTED SENSORS........ 23 A. ALLAN VARIANCE............................................................................ 23 B. CHARACTERIZING ........................................................................... 25

1. Gyro Noise.............................................................................. 25 2. Magnetometer Noise ............................................................. 26 3. Sun Sensor Noise .................................................................. 26 4. Star Tracker Noise ................................................................. 27

C. RESULTS & COMPARISON ............................................................. 27 1. Allan Variance for Gyro......................................................... 27 2. Verification of Gyro Model .................................................... 31 3. Statistical Analysis of Magnetometer .................................. 32 4. Verification of Magnetometer Model .................................... 33

IV. NUMERICAL MODELING AND SIMULATION ............................................ 35 A. PURPOSE.......................................................................................... 35 B. SIMULINK MODEL ............................................................................ 35

1. Orbital Propagation ............................................................... 35 2. Environmental Effects........................................................... 36

a. Earth’s Magnetic Field Model..................................... 36 b. Atmospheric Density .................................................. 37 c. Solar Simulation.......................................................... 38

3. Dynamics and Kinematics .................................................... 38 a. Dynamics ..................................................................... 38 b. Kinematics................................................................... 38

4. Disturbance Torques............................................................. 39

Page 9: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

viii

a. Gravity Gradient Torque............................................. 39 b. Aerodynamic Torque .................................................. 39 c. Solar Torque................................................................ 40

5. Sensor Models for Simulations ............................................ 40 a. Gyroscope ................................................................... 40 b. Magnetometer ............................................................. 41 c. Sun Sensor .................................................................. 42 d. Star Tracker ................................................................. 44

6. Gain Scheduled Quaternion Feedback Controller .............. 45 C. MATLAB® CODE ............................................................................... 45

1. TINYSCOPE Main Script........................................................ 45 2. Euler to Quaternion ............................................................... 46 3. Quat2Euler.............................................................................. 46 4. Calculate 6U Spacecraft ........................................................ 46 5. Plotting Functions ................................................................. 46

V. KALMAN FILTERING APPROACH TO STATE ESTIMATION.................... 47 A. BACKGROUND ................................................................................. 47 B. DISCRETE EXTENDED KALMAN FILTER....................................... 48 C. CHALLENGES OF MULTIPLE SENSOR SYSTEM .......................... 51

VI. IMPLEMENTATION OF EXTENDED KALMAN FILTER FOR MULTI-RATE SENSORS.......................................................................................... 53 A. MUTIPLICATIVE QUATERNION EXTENDED KALMAN FILTER..... 53 B. IMPLEMENTATION ........................................................................... 60

1. Initialization ............................................................................ 60 2. Measurement Noise............................................................... 60 3. Quaternion Normalization..................................................... 61 4. Murrell’s Version.................................................................... 62

VII. SIMULATION RESULTS .............................................................................. 63 A. EKF PERFORMANCE WITH NOISY STAR TRACKER.................... 65 B. EKF PERFORMANCE WITH STAR TRACKER AND SUN

SENSORS.......................................................................................... 68 C. EKF PERFORMANCE WITH SUN SENSORS AND

MAGNETOMETER............................................................................. 72 D. EFK PERFORMANCE WITH ALL SENSORS................................... 75

VIII. CONCLUSION.............................................................................................. 79 A. SUMMARY......................................................................................... 79 B. FUTURE WORK................................................................................. 80

1. Verification and Testing ........................................................ 80 2. Further Develop Simulation.................................................. 80 3. Hardware ................................................................................ 81

APPENDIX .............................................................................................................. 83 A. ADDITIONAL SIMULATION RESULTS ............................................ 83

1. Simulation 1 ........................................................................... 83

Page 10: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

ix

2. Simulation 2 ........................................................................... 84 3. Simulation 3 ........................................................................... 85 4. Simulation 4 ........................................................................... 86

B. SENSOR DATA SHEETS .................................................................. 89 1. Sinclair Interplanetary SS-411 .............................................. 89 2. AeroAstro Mini Star Tracker ................................................. 90 3. NovAtel OEMV-1G.................................................................. 92 4. Analog Devices ADIS16405................................................... 94

C. SIMULINK® MODEL ........................................................................ 110 1. Overall Model ....................................................................... 110 2. Orbital Propagator ............................................................... 111 3. Dynamics and Kinematics .................................................. 111 4. Environmental Effects......................................................... 112 5. Disturbance Torques........................................................... 113 6. Attitude Sensors .................................................................. 114

D. MATLAB® CODE ............................................................................. 114 1. Main Script ........................................................................... 114 2. Attitude Matrix...................................................................... 119 3. XI ........................................................................................... 119 4. PSI......................................................................................... 119 5. Skew ..................................................................................... 119 6. Quaternion to Euler ............................................................. 119 7. Bessel ................................................................................... 120 8. Multiplicative Quaternion Extended Kalman Filter ........... 120

LIST OF REFERENCES........................................................................................ 125

INITIAL DISTRIBUTION LIST ............................................................................... 129

Page 11: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

x

THIS PAGE INTENTIONALLY LEFT BLANK

Page 12: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

xi

LIST OF FIGURES

Figure 1. 1U CubeSat Side Definition. From [4]................................................... 3 Figure 2. CubeSat P-POD Unit. From [3]. ........................................................... 5 Figure 3. NPSCuL Model. From [6]. .................................................................... 6 Figure 4. 2U CubeSat with IMI-100 ADACS (left) and IMI-100 ADACS alone

(right) From [7]................................................................................... 9 Figure 5. ADIS16405 with Evaluation Board. .................................................... 16 Figure 6. Sinclair Interplanetary SS-411. From [15].......................................... 18 Figure 7. Commtech AeroAstro MST. From [16]. .............................................. 19 Figure 8. NovAtel OEMV-1G-L1 with L1\L2 Antenna......................................... 21 Figure 9. Piecewise Representation of Hypothetical Gyro in Allan Variance.

From [18]. ........................................................................................... 24 Figure 10. Calculated Root Allan Variance from Gyro Data 1. ............................ 28 Figure 11. ADIS16405 Root Allan Variance. From [13]. ...................................... 28 Figure 12. Calculated Root Allan Variance form Gyro Data 2. ............................ 29 Figure 13. Calculated Root Allan Variance from Gyro Data 3. ............................ 30 Figure 14. Simulated Gyro without Bias and Actual Gyro Noise.......................... 31 Figure 15. Statistics Graphs from Magnetometer Data 1..................................... 32 Figure 16. Statistics Graphs from Magnetometer Data 2..................................... 33 Figure 17. Simulated Magnetometer Noise and Actual Magnetometer Noise. .... 34 Figure 18. Realistic Simulink® Model for a Gyroscope. ....................................... 41 Figure 19. Realistic Simulink® Model for a Magnetometer................................... 42 Figure 20. Realistic Simulink® Model for Two Sun Sensors................................. 43 Figure 21. One Sun Sensor Facing Block. .......................................................... 44 Figure 22. Realistic Simulink® Model for Star Traker........................................... 45 Figure 23. Kalman Filter “Predict-Correct” Cycle. From [26]................................ 47 Figure 24. True Euler Angles in Inertial Frame. ................................................... 64 Figure 25. True Angular Rates in Inertial Frame.................................................. 64 Figure 26. Simulation 1 Euler, Bias, and Angular Rate Error............................... 65 Figure 27. Simulation 1 Euler Angle Error with 3σ Boundaries............................ 66 Figure 28. Simulation 1 Gyro Bias Error with 3σ Boundaries. ............................. 66 Figure 29. Simulation 1 Gyro Rate Error. ............................................................ 67 Figure 30. Simulation 1 Star Tracker Quaternion Measurements........................ 67 Figure 31. Simulation 1 Gyro Rate Measurements.............................................. 68 Figure 32. Simulation 2 Euler, Bias, and Angular Rate Error............................... 69 Figure 33. Simulation 2 Euler Error with 3σ Boundaries...................................... 69 Figure 34. Simulation 2 Gyro Bias Error with 3σ Boundaries. ............................. 70 Figure 35. Simulation 2 Gyro Rate Error. ............................................................ 70 Figure 36. Simulation 2 Sun Sensor #1 Unit Vector Measurement...................... 71 Figure 37. Simulation 2 Sun Sensor #2 Unit Vector Measurement...................... 71 Figure 38. Simulation 3 Euler, Bias, and Angular Rate Error............................... 72 Figure 39. Simulation 3 Euler Error with 3σ Boundaries...................................... 73 Figure 40. Simulation 3 Gyro Bias Error with 3σ Boundaries. ............................. 73

Page 13: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

xii

Figure 41. Simulation 3 Magnetometer Measurement......................................... 74 Figure 42. Simulation 3 Error Covariance Matrix Normal. ................................... 75 Figure 43. Simulation 4 Euler, Bias, and Angular Rate Error............................... 76 Figure 44. Simulation 4 Euler Error with 3σ Boundaries...................................... 76 Figure 45. Simulation 3 Gyro Bias Error with 3σ Boundaries. ............................. 77 Figure 46. Simulation 4 Error Covariance Matrix Normal. ................................... 77 Figure 48. Simulation 1 Error Covariance Matrix Normal. ................................... 83 Figure 49. Simulation 2 Simulated Star Tracker Quaternion. .............................. 84 Figure 50. Simulation 2 Error Covariance Matrix Normal. ................................... 84 Figure 51. Simulation 3 Gyro Rate Error. ............................................................ 85 Figure 52. Simulation 3 Sun Sensor #1 Measurement. ....................................... 85 Figure 53. Simulation 3 Sun Sensor #2 Measurement. ....................................... 86 Figure 54. Simulation 4 Gyro Rate Error. ............................................................ 86 Figure 55. Simulation 4 Star tracker Quaternion Measurements. ........................ 87 Figure 56. Simulation 4 Sun Sensor #1 Measurement. ....................................... 87 Figure 57. Simulation 4 Sun Sensor #2 Measurement. ....................................... 88 Figure 58. Simulation 4 Magnetometer Measurement......................................... 88 Figure 59. TINYSCOPE Overall Simulink® Model. ............................................ 110 Figure 60. Orbital Propagator Block. ................................................................. 111 Figure 61. Spacecraft Dynamics and Kinematics Block. ................................... 111 Figure 62. Environmental Effects Block............................................................. 112 Figure 63. Disturbance Torque Block. ............................................................... 113 Figure 64. Simulation Attitude Sensor Block...................................................... 114

Page 14: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

xiii

LIST OF TABLES

Table 1. CubeSat Mechanical Specifications. After [4]....................................... 3 Table 2. Launch vehicles compatible with CubeSat P-PODs. From [3]............. 4 Table 3. CubeSat Attitude Determination Methods. After [5]. ............................. 7 Table 4. Specifications of IMI-100 and IMI-200. After [7][8]................................ 9 Table 5. SFL/Sinclair ADCS Specifications. After [9][10].................................. 10 Table 6. Analog Devices ADIS 16405 Gyroscope Characteristics. After [13]. .. 15 Table 7. Analog Devices ADIS16405 Magnetometer Characteristics. After

[13]. .................................................................................................... 17 Table 8. Sinclair Interplanetary SS-411 Characteristics. After [15]................... 18 Table 9. AeroAstro MST Characteristics. After [16].......................................... 20 Table 10. NovAtel OEMV-1G Characteristics. After [17]. ................................... 21 Table 11. Summary of Noise Coefficients. ......................................................... 31 Table 12. Discrete Extended Kalman Filter. From [27]....................................... 50 Table 13. Discrete Multiplicative Quaternion Extended Kalman Filter. After

[27]. .................................................................................................... 59 Table 14. Measurement Noise Variance Values. ............................................... 61 Table 15. Simulation Conditions......................................................................... 63

Page 15: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

xiv

THIS PAGE INTENTIONALLY LEFT BLANK

Page 16: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

xv

LIST OF ABBREVIATIONS AND ACRONYMS

1U One 10 x 10 x 10 cm CubeSat

3U Three 1U CubeSats connected in series

5U Five 1U CubeSat connected in series

6U Two 3U CubeSats connected in parallel

ADACS Attitude Determination and Control System

ADS Attitude Determination System

ARW Angular Random Walk

API Application Programming Interface

arcsec Arc Second: 1arcsec = 15°/3600

Cal Poly California Polytechnic University

COTS Commercial Of The Shelf

EKF Extended Kalman Filter

ESPA Evolved Expendable Launch Vehicle Secondary Payload Adapter

IEEE Institute of Electrical and Electronics Engineers

IMI IntelliTech Microsystems, Inc

IMU Inertial Measurement Unit

LSS Lab for Space Systems

MEMS Microelectromechanical systems

mNm miliNewton·meter

mNms miliNewton·meter·second

NASA National Aeronautics and Space Administration

NPS Naval Postgraduate School

NPSCuL NPS CubeSat Launcher

P-POD Poly Picosatellite Orbital Deployer

PSD Power Spectral Density

ODS Orbit Determination System

RMS Root Mean Square

ROM Rough Order of Magnitude

Page 17: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

xvi

RRW Rate Random Walk

RSS Root Sum Square

SEP Spherical Error Probability

SFL Space Flight Laboratory

SPL Single Pico-Satellite Launcher

SSDL Space Systems Development Laboratory

SSP Subsolar Point

T-POD Tokyo Pico-satellite Orbit Deployer

UAV Unmanned Aerial Vehicle

UTIAS University of Toronto Institute for Aerospace Studies

X-POD eXperimental Push Out Deployer

Page 18: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

xvii

ACKNOWLEDGMENTS

The author would like to acknowledge the financial support of the National

Reconnaissance Office.

The author would like to thank the following individuals for their invaluable

assistance in the completion of this thesis:

My beautiful and understanding wife, Laura, who kept things under control

at home while I spent hours upon hours at school trying to finish this research.

My wonderful children, Logan and Lucas, who’s endless supply of joy and

energy refreshed my spirits every morning and evening.

Dr. Hyunwook Woo for his expertise, guidance, and not only finding most

of my errors, but helping me fix them.

Dr. Marcello Romano for his expertise, guidance, and support throughout

this project.

Mr. Mark Looney of Analog Devices and Mr. Doug Sinclair of Sinclair

Interplanetary for amazing customer service and expert advice.

Mr. Paul Oppenheimer, Maj. Chad Melone, and the rest of the NACL crew

for sharing knowledge and wisdom on all-things-satellites.

The Faculty and Staff at NPS for investing so much into our education and

development as Space Cadre Officers.

Page 19: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

xviii

THIS PAGE INTENTIONALLY LEFT BLANK

Page 20: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

1

I. BACKGROUND

A. BRIEF HISTORY

Since the very early days of satellite imagery, resolution and pointing

accuracy have been key parameters of the satellite design. Corona, America’s

first Earth Imaging satellite [1], had a resolution of 8–10m. This was eventually

improved to 2–4m resolution through improved cameras and lower altitudes. As

subsequent generations of military Earth imaging satellites were being

developed, the resolution continued to improve, which in turn lead to the need for

higher accuracy pointing. The new satellites used ever-increasingly complex and

expensive attitude determination systems (ADS) to provide the ability to meet

these new requirements.

Today, commercial imagery satellites are going through the same trend in

resolution. They have improved in the past decade, from relatively low resolution

at about 5m to about 0.6m [2]. At the same time, these commercial satellites are

getting smaller and keeping costs to a minimum. These two facts present new

challenges to the ADS. The traditional sensors are too big and expensive to be

practical for the new satellites. New sensors have been shrinking due to smaller

electronics; however, this miniaturization is not keeping pace with the rapidly

increasing demands on the ADS.

The latest Earth imagers take the trend of shrinking satellites to a new

level. They are pico-satellites based on a new standard call CubeSats. They

push the bounds of small size and low cost. Developed to provide cheap access

to space and used primarily by universities, these satellites are measured in the

tens of centimeters, weigh between one and ten kilograms, and usually cost in

the tens of thousands of dollars. CubeSats may become a viable Earth imaging

platform to complement large and very high-resolution existing assets.

Therefore, the ADS is becoming a much more important part of the design. High

Page 21: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

2

accuracy attitude determination is still in its infancy for CubeSats. This thesis will

attempt to develop an ADS that meets the needs of this new class of satellite.

B. CUBESAT STANDARD

In 1999, California Polytechnic University (Cal Poly), San Luis Obispo, and

the Space Systems Development Laboratory (SSDL) at Stanford University

collaborated to develop a standard for a pico-satellite design [3]. The goal was to

enable rapid development and launch of satellites in the most cost effective

manner. The target audience was universities and research institutes and there

are currently over 100 universities, high schools, private firms, and government

agencies developing CubeSats. The concept would enable groups to test new

and innovative hardware and software on actual satellites instead of relying on

simulations. The standardized size and mass would enable a standardized

launcher to be developed that would be suitable for secondary or tertiary launch

opportunities. It also enables the development of large numbers of experienced

Astronautical Engineers. A student can now, in principle, with sufficient available

funding and professional support, design, build, test, and launch a satellite during

his undergraduate or graduate school period.

The CubeSat standard also allows for expansion from a single cube (1U).

Multiple cubes can be attached together to form larger CubeSats like the 3U (3 x

1 cubes). The number of cubes attached together is really only limited by the

launching mechanism. Launchers that can handle 5U (5 x 1 cubes) and 6U (2 x

3 cubes) are under development. These larger CubeSats can accommodate

payloads that are more complex. The flexibility of this standard is also reflected

in the fact that it is an open standard. Not just the original creators, but also the

entire community of users continuously review the standard. An open standard

can evolve to meet the needs of the community. The latest revision to the

CubeSat mechanical requirements (Rev 12) are summarized in Table 1 and

Figure 1. Another important design consideration for flexibility and utility was the

electronics that would make up the working parts of the CubeSat. The sizing of

Page 22: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

3

the CubeSats allows for commercial electronics in the PC/104 form factor and

commercial solar cells to be used. This opens a large array of previously existing

systems to be used in the CubeSats. On the same point, it allows for easy

development of new electronic boards and instruments using this form factor.

Figure 1. 1U CubeSat Side Definition. From [4].

# Requirement Value Unit

1 X and Y dimensions 100±0.1 mm

2 Z dimensions (1U) 113.5±0.3 mm

3 Z dimensions (3U) 340.5±0.3 mm

4 Maximum component protrusion from X or Y side 6.5 mm

5 Mass (1U) 1.33 kg

6 Mass (3U) 4.0 kg

7 Center of gravity and geometric center difference 20 mm

Table 1. CubeSat Mechanical Specifications. After [4].

Page 23: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

4

C. CUBESAT DEPLOYMENT

Cal Poly has also created a deployment standard Poly Picosatellite Orbital

Deployer (P-POD). This is a box structure that houses the CubeSat during

launch (see Figure 2). It provides a standard attachment point to the launch

vehicle and a deployment mechanism for the CubeSat. It protects the CubeSat,

launch vehicle and the primary payload. This is particularly important because

the owners of the primary payload can be very conservative and want

guarantees that their very expensive satellite is not damaged by the secondary

payload. To ensure this, the P-POD has been tested to very high standards and

proven through numerous launches that it does this job very well. It has also

proven to be very flexible. It is compatible with a number of launch vehicles (see

Table 2), and any CubeSat can be launched from it. This means that if the

manifested CubeSat cannot launch for some reason, another one can replace it

very quickly and easily. This is because any CubeSat made to the CubeSat

Standard fits in a P-POD and the launch vehicle only cares about the P-POD.

This combination of fitting many launch vehicles and flexible payload manifesting

enables much easier access to space than ever before. Currently the P-POD

can hold up to three 1U or one 3U CubeSats. There is currently research

underway to develop a 5U P-POD and a 2 x 3 or 6U P-POD at Cal Poly.

Table 2. Launch vehicles compatible with CubeSat P-PODs. From [3].

Page 24: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

5

Figure 2. CubeSat P-POD Unit. From [3].

The Naval Postgraduate School (NPS) is currently working with Cal Poly

to meet the need for higher capacity CubeSat launches. The collaboration is

developing a high capacity CubeSat launcher that will be designed to attach to

the Evolved Expendable Launch Vehicle Secondary Payload Adapter (ESPA).

The NPS CubeSat Launcher (NPSCuL) will be a collection of 10 P-PODs (see

Figure 3) with coordinating electronics for CubeSat deployment. NPSCuL will be

able to deploy a combination of 1U, 3U, 5U, or 6U CubeSats.

Cal Poly is not the only developer of CubeSat launchers; several other

CubeSat launchers have been developed and launched [5]. Tokyo Institute of

Technology’s Lab for Space Systems (LSS) has developed the Tokyo Pico-

satellite Orbit Deployer (T-POD). Germany’s Astrofein has developed the Single

Pico-Satellite Launcher (SPL). Both of these are 1U deployers. The most used

Page 25: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

6

Cubesat launcher, other than the P-POD, is the eXperimental Push Out Deployer

(X-POD) developed by University of Toronto Institute for Aerospace

Studies/Space Flight Laboratory (UTIAS/SFL). At least six X-PODs have

launched to date. They come in a variety of configurations including 1U, 3U, and

the X-POD DUO holds a satellite 20 x 20 x 40 cm. NASA has even started

developing a CubeSat launcher to help further develop their CubeSat program.

They are specifically designing a 6U or “Six Pack” deployer.

Figure 3. NPSCuL Model. From [6].

D. SURVEY OF CUBESAT ATTITUDE DETERMINATION SYSTEMS

The majority of the CubeSat mission that have launched so far have some

sort of attitude sensing (see Table 3). However, these sensors are usually low

accuracy sensors like magnetometers or sun sensors. This is due to several

factors. First, most of the missions flown so far do not have active attitude

Page 26: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

7

control, which leads to the assumption that attitude determination is also of little

use. Second, most of the CubeSats with active 3-axis control typically use only

magnetorquers. These provide a simple low-cost control but are also low

accuracy; again, no need for high accuracy attitude determination. Finally, the

high accuracy ADS is much more complex and expensive to implement. A very

high accuracy sensor (<100 arcsec), like a star tracker, has yet to be flown.

There are several currently in development specifically for CubeSats, but only

one currently commercially available that can fit in a CubeSat.

Table 3. CubeSat Attitude Determination Methods. After [5].

Page 27: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

8

Another dimension to this is the nearly complete lack of a pre-packaged

ADS. Until August of 2009, there was only one ADS available on the market. It

was the Pumpkin IMI-100 ADACS (Attitude Determination and Control System).

Since then, another system has been introduced. It is the SFL CubeSat

Compact 3-Axis Attitude Actuator and Sensor Pack with Sinclair Interplanetary

(SFL ADCS). Both of these will fit the CubeSat Standard and provide attitude

determination and control of about one degree. They differ in included

equipment and performance.

1. Pumpkin IMI ADCS

Pumpkin, Inc. sells this system as a kit [7]. It includes the IMI-100 ADACS

developed by IntelliTech Microsystems, Inc. (IMI), a magnetometer, and custom

software. A separate sun sensor can also be supplied, but the standard setup

uses only designated solar cells on the CubeSat. This sun sensor setup turns

the entire CubeSat into a 3-axis sun sensor. The software simply takes the

calibrated analog signal from the three sides of the CubeSat that can see the sun

and uses that as the sun vector. The magnetometer is a PNI Micromag3 with a

32 nT resolution. It must be mounted outside of the IMI-100 to get uncorrupted

data. The IMI-100 control equipment consists of three reaction wheels and three

torque coils both orthogonally arranged. The reaction wheels can provide 1.11

mNms of momentum and 0.635 mNm of torque. A more powerful ADACS is also

available—the IMI-200, which provides 2.23 mNm of torque and 10.8 mNms of

momentum [8]. These two systems are compared in Table 4. A microprocessor

is integrated into the package to perform all the attitude calculations and control

of the actuators. A pointing accuracy of 1° is advertized with the supplied

sensors. Higher accuracy is also claimed possible using a Ring Laser Gyro

(RLG) and a star tracker.

Page 28: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

9

IMI-100 IMI-200 Units Momentum

Storage 1.1 10.8 mNms

Max Torque 0.635 2.23 mNm Dimensions 10x10x79 7.6x7.6x7 Cm Mass 907 915 Gm Power (max) 4.32 4.32 W Suitable SC Mass 9 18 kg

Table 4. Specifications of IMI-100 and IMI-200. After [7][8].

Figure 4. 2U CubeSat with IMI-100 ADACS (left) and IMI-100 ADACS alone (right). From [7].

2. SFL ADCS

This system is also an actuator and sensor package designed for

CubeSats [9]. This ADCS has three reaction wheels and three magnetorquers,

arranged orthogonally, like the IMI. It also comes with a magnetometer and six

Page 29: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

10

sun sensors. It, however, does not come with a computer or software. The

reaction wheels are made by Sinclair Interplanetary [10] and are comparable to

the IMI-200 with 10 mNms of momentum and 1 mNm of torque. There are four

sun sensors integrated into the main box with two additional sensors provided to

be placed on the CubeSat elsewhere. The magnetometer comes on the

deployable boom to prevent magnetic interference from the satellite. Actuator

and sensor specifications are listed in Table 5. This ADCS also has an

advertized pointing accuracy of 1–2° rms.

Reaction Wheel Value Unit Magnetorquer Value UnitSFL

ADCS Momentum Storage 10 mNms Dipole ~0.1 Am2

Max Torque 1 mNm

Dimensions 5x5x3 cm Dimensions 8x8x0.4 cm

Mass 120 g Mass 100 g

Power (Max) 0.7 W Power (Max) 170 W

Sun Sensor Value Unit Magnetometer Value Unit

Resolution <0.5 ° Dynamic range ±100 μT

Accuracy <1.5 ° Resolution 15, 30 nT

Dimensions 3x3x1 cm Dimensions 2x4x2 cm

Mass <6 g Mass <30 g

Power <0.175 W Power <0.025 W

Table 5. SFL/Sinclair ADCS Specifications. After [9][10].

A note for both of these systems is they only provide good attitude

determination in sunlight. So, if the CubeSat goes into eclipse, which nearly all

will, the attitude solution is either degraded, propagated with a model, or simply

Page 30: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

11

set to a nominal value. This issue is being addressed now by different

institutions by incorporating other sensors, i.e., Star Tracker or Horizon Sensor,

and new algorithms.

E. TINYSCOPE REQUIREMENTS

The requirements for TINYSCOPE were originally derived in [11], further

refined in [12]. These requirements are the basis of this ADS design. However,

the research here will benefit any nano or pico-satellite that requires either high

accuracy attitude knowledge or data fusion of several different attitude sensors.

The primary objective of this thesis is to design and implement a Kalman Filter

that uses several separately developed techniques to combine different types of

sensor data in a computationally efficient manor and produce an attitude solution

that is significantly more accurate than any one of the sensors alone. The

secondary objectives of this thesis are to implement realistic simulations of the

various sensors used by the Kalman Filter and to generally increase the fidelity of

the current Simulink® simulation model.

Page 31: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

12

THIS PAGE INTENTIONALLY LEFT BLANK

Page 32: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

13

II. SELECTION OF ATTITUDE DETERMINATION HARDWARE

A. PURPOSE

The development of high accuracy attitude determination for CubeSat

class satellites is still new. The accuracy that is demanded by TINYSCOPE is

greater than any other satellite of comparable size that has flown thus far. This

means that better sensors must be developed or sensors that existed must be

used in such a way to obtain better results.

B. BASIC ADS DESIGN

The ADS developed for this thesis uses commercially available (COTS)

sensors. Only minor modification will need to be done to select parts. It will also

be robust using five different types of sensors to ensure continuous solutions and

allowances for sensor failure. The key part of this is fusing the data in such a

way that the attitude knowledge is more accurate than any of the individual

sensors. The ADS also cannot be dependant on one sensor to provide

acceptable accuracy. Having a number of different types of sensors and using

an Extended Kalman filter is the selected solution for the ADS.

The sensor types selected are mostly inertially referenced. The one

exception to this is the magnetometer, which is referenced to the Earth’s

magnetic field. The other sensors will include gyroscopes, sun sensors, and star

trackers. A GPS receiver will also be incorporated. However, it will not be used

for the attitude determination; it will be part of the orbit determination system

(ODS). This system will not be developed in great detail for this thesis.

C. COMPONENT SELECTION

An extensive search for sensors that would provide high accuracy attitude

knowledge for a CubeSat class satellite was conducted over the six-month period

of September 2008 to March 2009. There were four primary criteria used to

determine what sensor would be most useful.

Page 33: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

14

1. Size. Given the CubeSat standard sensors need to be able to fit inside less than 1U.

2. Power. A CubeSat can only produce approximately twenty watts of power total.

3. Weight. Due to the CubeSat standard.

4. Performance. This was the deciding factor for many of the sensors.

Fortunately, the first three criteria tend to go hand in hand, simplifying the

selection process. Other considerations were cost, the material properties, and

electrical interfaces of the sensor, but these were lower order factors.

1. Inertial Measurement Unit

The Inertial Measurement Unit (IMU) is one of the key components to the

ADS. It is actually a combination of two different sensors. The IMU has

gyroscopes that measure the angular rate of the spacecraft and accelerometers

that measure acceleration. It will provide attitude information from this sensor

suite in a near continuous fashion. The EKF will specifically use the gyroscope

information to estimate the attitude when the other sensors are not providing

information. This will be discussed in greater detail in Chapter VI. The

accelerometers are not currently being used, but could be integrated into the

attitude estimation or the orbit estimation later. This type of IMU is used often on

unmanned aerial vehicles (UAV) which do not generally require highly accurate

sensors for flight control. Therefore, there is no real driver for the industry to

produce very accurate, low noise gyroscopes and accelerometers. The

gyroscopes performance was graded primarily on two characteristics: the

resolution and the noise. The resolution had to be smaller than the required

angular rate knowledge. The noise only had to be as small as possible because

it would be compensated with filtering.

From the beginning, commercial MEMS sensors were the primary focus of

the selection process. In general, they are the only gyroscope technology that

meets the first three criteria for this sensor. The problem is they generally have

more noise than the other types of gyroscopes do. The IMU that was eventually

Page 34: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

15

selected was the Analog Devices ADIS16405 (see Figure 5). A summary of the

IMU specifications can be seen in Table 6 and the full specification sheet is in the

Appendix. This IMU has several very useful features that could be exploited in

the future. It has three dynamic ranges that are set be software. This means

that during different modes of satellite operation the dynamic range could be

changed to suite the expected angular rate range. The ADIS16405 also has low-

pass filtering. A Bartlett window is provided by two cascaded averaging filters.

The number of taps for each averaging stage can be set through software. Bias

compensation can be done with either an automatic routine on the IMU or

through manual settings. Both are done through software settings.

Gyroscope Value Unit

Dynamic Range ±300, ±150, ±75 °/s

Scale Factor 0.05, 0.025, 0.0125 °/s

Initial Bias Error ±3 °

Bias Stability 0.007 °/s

Angular Random Walk 2 °/√hr

3 dB Bandwidth 330 Hz

Dimensions 23 x 23 x 23 mm

Mass 16 g

Power 0.35 W

Table 6. Analog Devices ADIS 16405 Gyroscope Characteristics. After [13].

Page 35: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

16

Figure 5. ADIS16405 with Evaluation Board.

2. Magnetometer

This sensor provides coarse attitude information to the ADS.

Magnetometers used for attitude determination alone cannot achieve highly

accurate results. This is because they need a reference model to compare the

measurement to produce a usable vector. This magnetic field difference vector

can then be used to determine the spacecraft’s attitude with respect to the Earth.

The magnetometers have become very accurate and small; however, the

reference models are not very accurate. The best models use a twelve pole

equivalent model, but even these cannot completely describe the Earth’s

complex and time changing magnetic field. One degree rms is usually

considered to be about as accurate as a magnetometer ADS can get. It has also

been shown that information provided by the magnetometer can be used to

determine the satellite orbit [14]. This will not be pursued in this thesis, but could

be added to the ODS later.

The magnetometer was graded on noise and resolution like the

gyroscope. The resolution had to be small enough that the changes in the

Earth’s magnetic field could be detected in low Earth orbit. The noise had to be

low enough that it did not drown out the measurements, but it too is filtered. The

magnetometer selected is actually integrated into the ADIS16405 IMU. It

Page 36: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

17

provided comparable performance to other magnetometers considered at no

extra cost. The characteristics of the magnetometer are summarized in Table 7.

Magnetometer Value Unit

Dynamic Range ±3.5 gauss

Scale factor 0.5 mgauss

Initial Bias Error ±4 mgauss

Output Noise 1.25 mgauss rms

Dimensions 23 x 23 x 23 mm

Mass 16 g

Power 0.35 W

Table 7. Analog Devices ADIS16405 Magnetometer Characteristics. After [13].

3. Sun Sensor

The sun sensors provide an important measurement for sun pointing

mode and coarse measurements during the normal mode of operation. Multiple

sun sensors will be needed because each one can only provide two axes of

information. They are typically arranged to provide full (or nearly full) spherical

coverage.

Selection for the sun sensor was primarily determined by accuracy and

size. Most sun sensors that have higher accuracy are much too large for a

CubeSat. Other sensors that were either very small or integrated into solar cells

were too inaccurate. The sun sensor selected is the Sinclair Interplanetary SS-

411 Sun Sensor. The characteristics are summarized in Table 8 and the full

specification sheet is in the Appendix.

Page 37: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

18

Sun Sensor Parameter Value Unit

Accuracy ±0.1 °

Field of View ±70 °

Bandwidth 5 Hz

Dimensions 34 x 32 x 21 mm

Mass 34 g

Power 0.075 W

Table 8. Sinclair Interplanetary SS-411 Characteristics. After [15]

Figure 6. Sinclair Interplanetary SS-411. From [15].

4. Star Tracker

The star tracker provides the high accuracy, or fine pointing, information

for the ADS. These sensors are essentially cameras that take pictures of stars.

They use the star light intensity and the relative positions to determine what stars

are in the picture. Once this is established, through one of many possible

algorithms, the sensor attitude can be determined. Each star tracker generally

provides three axes of information, so only one unit is necessary. The accuracy

Page 38: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

19

of a typical star tracker on a large spacecraft is a few arcseconds (arcsec). This

accuracy necessarily degrades as the sensor gets smaller and the optics less

refined.

The criteria for selection of the star tracker were primarily size and power.

This is because very few of these sensors can even fit in a CubeSat. Ultimately,

though, accuracy and availability were the determining factors. A rough estimate

of the required accuracy of less that 100 arcsec1 was made during the selection

process. The selection based on these criteria became easy because at the time

only one available product existed, the Commtech AeroAstro Miniature Star

Tracer (MST) [16] (see Figure 7). Unfortunately, even though this is a relatively

inexpensive star tracker, it is still way outside a university budget, at roughly

$250,000.002. Therefore, this sensor will not be purchased, but its

characteristics are summarized in Table 9, and the full specification sheet is in

the Appendix.

Figure 7. Commtech AeroAstro MST. From [16].

1 100 arcsec = 0.028°

2 $250k is a ROM quote, but is (currently) accurate and includes the baffle design.

Page 39: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

20

Star Tracker Value Unit

Accuracy ±70 (3-axes 3σ) arcsec

Sensitivity Up to 4th magnitude stars

Dimensions 5.4x5.4x7.6 cm

Mass 425 g

Power < 2 W

Table 9. AeroAstro MST Characteristics. After [16].

5. GPS

The GPS unit will provide position and timing information for the satellite.

The position information will be the primary part of the ODS. The timing will be

used for the spacecraft computing capabilities in general. Small size and low

power were again the main factors in reducing the number of possible

candidates. Both terrestrial and space qualified units were considered to help

enlarge the pool of possibilities. The terrestrial units need minor modifications to

work in space, so this was not of great concern. The GPS receiver selected is

the NovAtel OEMV-1G-L1-A (seen in Figure 8). It is a terrestrial GPS that has

been modified and flown in space previously. It was chosen because of its

relatively low power requirements and good performance characteristics (see

Table 10). Of interest, the GPS calculations only use approximately 40% of the

processing power. The version with the Application Programming Interface (API)

was ordered to allow user defined programs to run on the GPS processor. The

excess processing power could be used to run the ODS. The full specification

sheet is in the Appendix.

Page 40: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

21

GPS Value Unit

L1 SEP3 1.8 m

Time Accuracy 20 ns rms

Dimensions 46x71x13 mm

Mass 21.5 g

Power 1 W

Table 10. NovAtel OEMV-1G Characteristics. After [17].

Figure 8. NovAtel OEMV-1G-L1 with L1\L2 Antenna.

3 Spherical Error Probability (SEP), means the true position will be within a sphere with the

given radius fifty percent of the time.

Page 41: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

22

THIS PAGE INTENTIONALLY LEFT BLANK

Page 42: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

23

III. EXPERIMENTAL CHARACTERIZATION OF SELECTED SENSORS

There are many ways to determine the noise sources of an instrument.

Two of the most popular are the Power Spectral Density (PSD) and the Allan

variance. This thesis will use the Allan variance because it is easily computed

and there is existing data from the manufacturer available.

A. ALLAN VARIANCE

The Allan variance, an accepted IEEE standard for gyroscope

specifications, is a time domain analysis technique that can be used to find the

characteristics of the noise processes in an instrument. The Allan variance

technique uses a clustering method. It divides the data into clusters of specific

length and averages the data in each cluster. It then computes the variance of

each successive cluster average to form the Allan variance. Each noise source

has a different correlation time. By choosing the correct correlation time or

cluster length, the desired noise source variance can be calculated. The Allan

variance is typically plotted as the root Allan variance, 2A A on a log-log

scale. The different noise sources can be discriminated by examining the

varying slopes of the root Allan variance. A more in depth discussion of Allan

variance can be found in annex C of [18] or [19]. The general equations for the

Allan variance forming K clusters from N data points taken at fs samples per

second with M points per cluster are as follows:

11

1 2 1 2

1 2

11,2,...

, ,..., , ,..., ,..., ,...,

M

k k M ii

M M M N M N

k k k K

NM k K K

M M

(1.1)

12 22

1 11

1 1

2 2 1

K

A M k k k kk

M M M MK

(1.2)

Where ‹› is the ensemble average and /M sM f is the correlation time.

Page 43: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

24

Figure 9. Piecewise Representation of Hypothetical Gyro in Allan Variance. From [18].

The following equations have been determined to calculate the variance

for the Angular Random Walk (ARW) and the Rate Random Walk (RRW) noise

sources in a gyro and can be found in [18]. The coefficients can be directly

determined from the root Allan variance in Figure 9.

22ARW

N

(1.3)

22

3RRW

K (1.4)

where N is the variance coefficient at 1 along the +1/2 slope and K is the

variance coefficient at 3 along the -1/2 slope. These two noise sources are

the primary noise sources being modeled in Chapter IV.

The Allan variance algorithm used to estimate noise parameters for the

gyros was from MATLAB®Central, an open exchange of files for MATLAB® users.

The specific code, allan v1.71, developed by M. A. Hopcroft [20] uses the basic

method of Allan variance calculation developed in [19] and has been validated

using the example data form [21].

Page 44: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

25

B. CHARACTERIZING

1. Gyro Noise

A test was performed on the IMU to measure the noise characteristics of

the gyroscopes. The test procedure from section 12.11 of [22] was referenced to

setup and perform each test. The IMU was sampled with evaluation board using

a USB interface and software provided by Analog Devices, Inc. The evaluation

setup was performed per [23]. All tests were conducted at ambient temperature;

no environmental temperature control equipment was used. To account for this

the temperature was allowed to stabilize and was also recorded for each test.

The magnetic field was also not controlled due to lack of equipment to do so. All

testing was done in a static condition. Several tests were conducted using

different sample rates, number of samples, and filtering settings (number of

averaging taps).

Gyro Data 1: Data were taken from only the Z axis gyro. It was intended to verify the method used here by comparing the calculated graph to the graph provided on the specification sheet. The following parameters were used:

Sample rate: 115 Hz (10 ms delay)

Sample points: 2,000,100 (~ 4.8 hrs of data)

Gyro Range: 300 °/sec

Filter taps: 1 (minimum low-pass filtration)

Gyro Data 2: Data were taken from only the Z axis gyro. It will calculate the noise coefficients for the expected operation mode with no filtering. The following parameters were used:

Sample rate: 111 Hz (10 ms delay)

Sample points 2,000,100 (~4.8 hrs of data)

Gyro Range: 75 °/sec

Filter taps: 16 (minimum low-pass filtration)

Gyro Data 3: Data were taken from only the Z axis. It will calculate the noise coefficients for the expected operation mode. The following parameters were used:

Sample rate: 111 Hz (10 ms delay)

Page 45: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

26

Sample points 2,000,100 (~5 hrs of data)

Gyro Range: 75 °/sec

Filter taps: 64 (maximum low-pass filtration)

2. Magnetometer Noise

The magnetometer noise was tested in the same way as the gyro. The

same conditions exist for these tests as the gyro noise tests. The only difference

is the data was collected from the magnetometers and not the gyros. Several

tests were conducted using different sample rates and number of samples.

Magnetometer Data 1: Data were taken from only the Z axis magnetometer. It was intended to find the variance in the measurements. The following parameters were used:

Sample rate: 115 Hz (10 ms delay)

Sample points: 2,000,100 (~4.8 hrs of Data)

Magnetometer Data 2: Data were taken from only the Z axis magnetometer. It was intended to find the variance in the measurements and determine the effect of sample rate. The following parameters were used:

Sample rate: 210 Hz (5 ms delay)

Sample points: 2,000,100 (~2.65 hrs of Data)

3. Sun Sensor Noise

The sun sensor noise is previously characterized by Sinclair

Interplanetary. Two tests are performed to ensure proper calibration of the

sensor before it is shipped. The first measures the noise across the entire field

of view. The test consists of a collimated light source moved across the sensors

full field of view. Readings are taken to determine the accuracy of the sensor at

each position of the light source. The dominating noise source is a spatial

distortion due to variations in the optics and sensor electronics. This noise is

calibrated down to a 0.1 °rms. The second test measures the time varying noise.

The collimated light source is held in one position and data is taken to determine

the noise level. This noise is not significant when compared to the 0.1 °rms

spatial noise.

Page 46: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

27

4. Star Tracker Noise

The star tracker was not purchased and so cannot be characterized. For

all modeling purposes, the star tracker noise is derived from the published

accuracy.

C. RESULTS & COMPARISON

This section will show the results of the above data runs. The calculated

Allan variance plot and the statistics plots will be compared and explained.

1. Allan Variance for Gyro

The first objective for this testing was to verify that the calculations was

providing accurate data. To do this a data set was taken with parameters to

closely mimic the same conditions of the manufacturer testing, this was Gyro

Data 1. The calculated Allan variance was then compared to the Allan variance

provided on the specification sheet. This comparison can be see in Figure 10

and Figure 11.

It is clear that the calculated Allan variance is very similar to the

manufacturer’s Allan variance. The noise coefficients from the calculated Allan

variance plot were also checked against the specification sheet. The ARW

coefficient is 0.028 °/√sec while the specification is 0.033 °/√sec. This is

reasonably close to say that the difference is due to small variations in each unit.

The bias stability coefficient was also found for comparison. The coefficient from

the calculations is 0.0052 °/sec while the specification is 0.007 °/sec. This again

seems within reasonably manufacturing variation. It is, therefore, reasonable to

validate the Allan variance calculations and assume further calculations will

produce reasonable results.

Page 47: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

28

10-1

100

101

102

103

104

10-4

10-3

10-2

10-1

Allan Deviation: Z Gyro 300deg/s 1tap (114.9647 Hz)

(sec)

Ro

ot A

llan

Va

rian

ce (

/se

c)

Figure 10. Calculated Root Allan Variance from Gyro Data 1.

Figure 11. ADIS16405 Root Allan Variance. From [13].

K = 0.00038

B = 0.0052

N = 0.0028

Page 48: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

29

The next objective is to calculate the noise sources under parameters that

more closely resemble the actual operating mode. Gyro Data 2 is a data set

taken under such conditions with minimal filtering applied. This will help

determine the effect of the low-pass filtering. Figure 12 shows the root Allan

variance plot and the noise coefficients.

10-1

100

101

102

103

104

10-4

10-3

10-2

10-1

Allan Deviation: Z Gyro 75 deg/s 16tap (111.104 Hz)

(sec)

Ro

ot A

llan

Va

rian

ce (

/se

c)

Figure 12. Calculated Root Allan Variance form Gyro Data 2.

The root Allan variance clearly maintains the overall shape seen in the

previous figures. It can also be seen that, except for ARW, the noise has been

reduced. The minimal low-pass filtering may be the cause of this. The noise

reduction does not appear dramatic, but could be significant for improved

performance of the EKF.

The last set of data, Gyro Data 3, was taken under operating parameters

with full low-pass filtering applied. It is expected that the filtering will further

reduce the noise and improve performance. Smaller values for all the noise

coefficients will reflect this noise reduction. The root Allan variance plot can be

seen in Figure 13.

N = 0.0028

B = 0.0038

K = 0.00018

Page 49: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

30

10-1

100

101

102

103

104

10-4

10-3

10-2

10-1

Allan Deviation: Z Gyro 75deg/s 64tap (111.099 Hz)

(sec)

Ro

ot A

llan

Va

rian

ce (

/se

c)

Figure 13. Calculated Root Allan Variance from Gyro Data 3.

The bias stability increased back to the value from Gyro Data 1 and the

ARW stayed the same from Gyro Data 2. The shape of the graph, however, has

changed. The RRW shown here is probably inaccurate. The +1/2 slope that is

normally seen on the Allan variance is either very short or is in the uncertainty of

the Allan variance calculation. The low-pass filtering appears to have reduced

the RRW and possibly reduce other noises as well. It also is possible the

increase in bias stability noise is due to the elimination of RRW. This change in

noise source levels is not well understood. The -1/2 slope line for the ARW does

not appear to fit as well as it did on the other Allan variance plots. This could

mean that the ARW has been reduced slightly, at least for higher frequencies.

These three root Allan variance plots clearly show the expected outcome.

The low-pass filtering has significantly reduced the noise of the gyro

measurements. Table 11 shows a summary of the noise coefficients found from

these three data sets.

N = 0.0028

B = 0.0052

K = 0.00018

Page 50: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

31

ARW (°/√sec) Bias Stability (°/sec) RRW (°/√sec3)

Gyro Data 1 0.028 0.0052 0.00038

Gyro Data 2 0.028 0.0038 0.00018

Gyro Data 3 0.028 0.0052 0.000184

Table 11. Summary of Noise Coefficients.

2. Verification of Gyro Model

The noise coefficients from Gyro Data 2 was used in the Simulink® model

because of its realistic parameters and high confidence in the results. The

simulated gyro noise and the tested gyro noise can be seen in Figure 14. The

mean was subtracted from each data set to better compare the random noise

levels. The Simulated and real noise are very similar, validating the Simulink®

model.

50 55 60 65 70 75 80 85 90 95 100-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4Simulated Gyro Rate

Time (sec)

(

/se

c)

50 55 60 65 70 75 80 85 90 95 100-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4Tested Gyro Rate

Time (sec)

(

/se

c)

Figure 14. Simulated Gyro without Bias and Actual Gyro Noise.

4 This number is questionable due to the poor quality of data.

Page 51: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

32

3. Statistical Analysis of Magnetometer

The formulas and physical relationships have not been developed to use

the Allan variance for a magnetometer. More mundane methods will be used to

analyze the magnetometer noise. These will be the mean, to estimate the bias,

the standard deviation and variance, to estimate the other noises. Two data sets

at different sample rates were taken from the magnetometer. The statistics were

calculated and the results are compared.

Figure 15 shows the statistics from Magnetometer Data 1. The mean (in

green) is -161.1 mGauss, the 3σ (in red) or three times the standard deviation is

4.57 mGauss, and the variance is 2.32 mGauss. The graph on the left is a plot

of the Z axis magnetometer over time and the graph on the right is a histogram of

the same data to confirm the calculated statistics.

0 20 40 60 80 100 120 140 160 180 200-165

-164

-163

-162

-161

-160

-159

-158

-157Sampled Data from Z Axis Magnetometer

mG

au

ss

Time (sec)

-168 -166 -164 -162 -160 -158 -156 -1540

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5x 10

5 Histogram of Z Axis Magnetometer

mGuass

Nu

mb

er

of D

ata

Po

ints

Figure 15. Statistics Graphs from Magnetometer Data 1.

Figure 16 shows the statistics from Magnetometer Data 2. The mean (in

green) is -148.9 mGauss, the 3σ (in red) or three times the standard deviation is

4.39 mGauss, and the variance is 2.146 mGauss. The graph on the left is a plot

Page 52: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

33

of the Z axis magnetometer over time and the graph on the right is a histogram of

the same data to confirm the calculated statistics.

0 20 40 60 80 100 120 140 160 180 200-153

-152

-151

-150

-149

-148

-147

-146

-145Sampled Data from Z Axis Magnetometer

mG

aus

s

Time (sec)

-156 -155 -154 -153 -152 -151 -150 -149 -148 -147 -146 -145 -1440

1

2

3

4

5

6x 10

5 Histogram of Z Axis Magnetometer

mGuass

Num

ber

of D

ata

Poi

nts

Figure 16. Statistics Graphs from Magnetometer Data 2.

The standard deviation and variance were very close for both data sets.

The means, however, were significantly different. This is believed to be due to

the test setup of the first data set. The IMU was placed too close to some metal

washers and the ferrous material corrupted the absolute measurement of the

magnetic field. This does not invalidate the data because it was constant

throughout the test and therefore only changed the mean.

4. Verification of Magnetometer Model

Figure 17 shows the Simulink® model noise compared to the recorded

noise. The simulated noise has the same statistics as the two hardware data

sets. This validates the Simulink® Magnetometer model.

Page 53: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

34

0 50 100 150 200 250 300 350 400 450 500-6

-4

-2

0

2

4

6x 10

-7 Simulated Magnetometer

Time (sec)

B (

Te

sla

)

0 50 100 150 200 250 300 350 400 450 500-6

-4

-2

0

2

4

6x 10

-7 Real Magnetometer

Time (sec)

B (

Te

sla

)

Figure 17. Simulated Magnetometer Noise and Actual Magnetometer Noise.

Page 54: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

35

IV. NUMERICAL MODELING AND SIMULATION

A. PURPOSE

This chapter describes the general spacecraft model that was originally

developed in [11] and has been subsequently further developed for this thesis.

The notable additions include Earth’s magnetic field model, attitude sensors

models, and the Extended Kalman Filter described in Chapter VI. The model is

run from a MATLAB® script file to set initial conditions and plot the results. The

Simulink® model is described first and focuses on the additions to the model.

The TINYSCOPE Simulink® Model and MATLAB® script files can all be seen in

the Appendix.

B. SIMULINK MODEL

1. Orbital Propagation

The standard Euler’s Equation(2.1) were used to create the orbital

propagation block. The position vector R, the velocity vector V, were outputs for

use in other blocks in the model. This double integrator system allows for the

propagation of any orbit by altering the position and velocity initial conditions.

This flexibility is very useful when analyzing a wide variety of possible orbits.

3r

R R (2.1)

Other orbital elements are also computed here. The Beta angle ( ),

which is the angle between the sun line and the subsolar point (SSP), and the

True Anomaly ( ), which is the angle between the position vector and periapsis,

are two of these. They are calculated with Equations (2.2) and (2.3). The non-

orbital elements, latitude and longitude are computed here as well for

convenience. The eccentricity (e) and inclination (i) of the orbit are predefined

and constant for the purposes of the simulation.

Page 55: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

36

1sin sin sin cos cos sin sin sin cos sin cosu i u i u i (2.2)

Where the right ascension of the sun in the ecliptic plane is

u=u0+ut ,u =0.985648 /mean solar day, the Earth spin axis tilt with respect to

the ecliptic plane is 23.442 , and the right ascension of the line of nodes

is 23.5 20 , 9.9639 cos / 1 /mean solar day.t i e Where the

Earth angular radius is 1sin /e eR R h .

1coser

E R (2.3)

where, 2 / /v r E R R V V and r is the magnitude of the position

vector of the satellite.

2. Environmental Effects

This block models the space environment that the satellite will be

experiencing. It uses models developed from commonly known relationships.

There are three aspects of the space environment were modeled; they are: the

Earth’s Magnetic field, the Sun, and the Earth’s atmospheric density.

a. Earth’s Magnetic Field Model

The Earth’s magnetic field can be approximated by a magnetic

dipole. This model is not very accurate because the true magnetic field has

many variations due to interactions from within the Earth as well as from outer

space. The dipole is, however, much easier to calculate and is accurate enough

for the purposes of these preliminary simulations. Equation(2.4)5 is the vector

form of the magnetic dipole where m is the Earth’s vector dipole moment, 0 is

the permeability of free space, and r

is the satellite position unit vector. Because

the Earth’s magnetic field is displaced by approximately 11.7° from the Earth’s

5 The delta function is zero for the magnetic field except at the origin of the dipole. Since the

spacecraft would never be at the center of the Earth, this term was neglected.

Page 56: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

37

axis, the dipole moment was rotated into the ECEF frame. The transformation

matrix used was Equation(2.5). The position vector also had to be rotated from

ECI to ECEF in Equation(2.6) using the Earth’s rotation

rate, 7.2921e-005 rad/sec.

30 03

23

4 3m m m r

r

B r r

(2.4)

1 0 0

0 cos sin

0 sin cos

ecefmagT

(2.5)

cos sin 0

sin cos 0

0 0 1

ecefeciT

(2.6)

Another option tried was the World Magnetic Model 2005 from the

Aerospace Blockset of MATLAB/Simulink® for its high fidelity. It takes the

altitude, the latitude, and the longitude of the spacecraft as inputs, all of which

were derived from the position vector produced by the orbit propagator block.

The output is the magnetic field vector in Geodetic coordinates. Unfortunately,

this model is too computationally intensive to be practical in the current

implementation of the spacecraft model.

b. Atmospheric Density

A look-up table using atmospheric density data points from 100 to

700 km approximates the nominal atmospheric density, ao . This density is used

as a starting point for Equation(2.7). This equation takes into account the

differences in density due to the sun and eclipse. It also accounts for the beta

angle. The initial density is chosen based on the nominal altitude and the

expected solar activity.

cos cos1.5a ao (2.7)

Page 57: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

38

c. Solar Simulation

The sun is simulated using two well known equations that describe

the Sun Direction Vector of the body with respect to the orbital frame,

Equation(2.8), and when the satellite is in eclipse, Equation(2.9).

cos sinˆ sin

cos cosBOC

bS (2.8)

cos

cos 0cos

(2.9)

3. Dynamics and Kinematics

This block uses standard equations to calculate the rigid body dynamics

as well as the quaternion kinematics.

a. Dynamics

The Euler Equation(2.10) is used to calculate the nonlinear

dynamics of the spacecraft. These equations relate the applied torques to the

spacecraft angular rates. Only spacecraft rigid body dynamics are accounted for

and all forces are measured along the three principle axes.

x x z y z y

y y x z x z

z z y x y z

J J J

T J J J

J J J

(2.10)

b. Kinematics

This is the standard quaternion Equation(2.11) that relates the

angular velocity and the current quaternion to produce the derivative of the

quaternion. This can then be integrated to produce the propagated quaternion.

1 1

2 2

3 3

4 4

0

0102

0

z y x

z x y

y x z

x y z

q q

q q

q q

q q

(2.11)

Page 58: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

39

4. Disturbance Torques

These blocks calculate the three primary disturbance torques. They make

heavy use of the environmental blocks outputs discussed earlier.

a. Gravity Gradient Torque

This disturbance torque is due to gravity acting on the spacecraft.

Variations in mass occur throughout any satellite and therefore gravity acts more

strongly on certain parts of the spacecraft than others. This gradient in strength

of gravitational force causes a torque on the spacecraft body. The standard

equations for the gravity gradient disturbance torque are:

2 3 1

1 3 23

31 2

03

where, 0

1

z y

GG x z BO

y x

J J c c c

T J J c c c CR

cJ J c c

(2.12)

b. Aerodynamic Torque

This disturbance torque is due to the inelastic impacts of molecules

in the upper atmosphere onto the spacecraft. These impacts transfer momentum

from the molecule to the spacecraft causing a drag force. The net drag force

acts on the center of pressure located on the spacecraft face in the direction of

travel. The equation describing this torque on a spacecraft assuming flat

surfaces is:

2

1

ˆ ˆ ˆˆ ˆN

aero a R R pi R i i R ii

T V A H

V c V n V n

(2.13)

ˆwhere, and is a unit vector along relative velocity of

atmosphere WRT the spacecraft.

ˆ ˆ1, 0ˆ ˆˆ ˆ0, 0

pi CPi CM R

R iR i

R i

H

c R R V

V nV n

V n

Page 59: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

40

c. Solar Torque

This disturbance torque is very similar to the aerodynamic torque.

The major difference is that the force acting on the spacecraft is due to the

impingement of light from the sun. The sun vector calculated in Equation(2.14) is

used for this calculation.

1

ˆ ˆ ˆˆ ˆ ˆN

solar s b pi b i i s b ii

T A H

S c S n S n (2.14)

where,

ˆ ˆ1, 0ˆ ˆˆ ˆ0, 0

pi CPi CM

b ib i

b i

H

c R R

S nS n

S n

5. Sensor Models for Simulations

This block contains four different types of sensors. A magnetometer, a

gyroscope, a sun sensor, and a star tracker are simulated with noise sources.

The goal was to create sensor simulations that would accurately mimic actual

hardware.

a. Gyroscope

The gyroscope takes the angular velocity from the Euler Equations

and adds noise to create a realistic measured . Two types of noise are added

to the signal, Angular Random Walk (ARW) and Bias. The ARW is a zero-mean

Gaussian random noise with a variance determined from Chapter III. The bias is

modeled as the integration of white noise with a variance called Rate Random

Walk, also determined in Chapter III. The integrator is initialized at the initial bias

of the hardware. These terms can be seen in mathematical model of the gyro

from [24], Equation(2.15).

sf ma v

u

(2.15)

Page 60: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

41

Where is the true angular rate, β is the bias, sf is gyro scale factor errors, ma is

gyro misalignment errors, v is the ARW, and u is the RRW. This equation was

the basis for the Simulink® model of the gyro seen in Figure 18.

Bias

bias

2

Omega _g

1

Scaling 1

K*u

ScalingK*u

ScaleFactorMissAignment

K*u

RRW1

Integrator 1

1s

xo

Bias

GYRO _Bias

ARW

+/-75 deg /sW_true

1

Figure 18. Realistic Simulink® Model for a Gyroscope.

The ARW, RRW, and initial gyro bias can easily be seen in the

model. The gyro noise sources are “scaled” by 0.5sT like in [24]. This method

uses the sample rate, sT , to correct the units of ARW (°/√s) and RRW (°/√s3) to

°/s and °/s2 respectively. The result produces realistic noise in the model. The

misalignment inaccuracies are added with a gain block in the model. The gain

is 3 3xI G , where the diagonal values of G are the percent error in scale factor

and the off-diagonal values of G are the percent error of misalignment. The

gyroscope model also simulates the dynamic range of the hardware with a

saturation block. These all combined to create a realistic measurement ( ) to

be used in the simulation.

b. Magnetometer

The magnetometer takes the B-field in the body frame, bB , adds

realistic noise to simulate the actual magnetometer hardware characteristics.

Equation(2.16) describes the model used as the basis for the Simulink® model in

Page 61: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

42

Figure 19. One noise source is added to bB , the output noise level, , of the

magnetometer. The specification sheet lists the output noise in rms, this is

equivalent to the 1σ value of the noise. The scale factor, sa , and

misalignment, ma , error were also added into the model.

m b sf maB B (2.16)

B_sense

1

Saturation

SF_MA

K*u

RandomNumber

B

1

Figure 19. Realistic Simulink® Model for a Magnetometer.

The magnetometer simulates other physical characteristics of the

hardware. A saturation block is used to limit the range. The misalignment and

scale factor inaccuracies are added with a gain block using the same equation as

the gyro model. These all combined create a realistic measured bB to be used in

the simulation.

c. Sun Sensor

The sun sensor does not add a Gaussian random noise to the

measured signal because, as stated in Chapter III, the dominate noise is special

in nature. Also note there is no bias for a line-of-sight sensor. The special noise

was approximated with a modified Bessel function, Equation(2.17). The

important things to model were the wave like structure of the noise and the rms

error of 0.1 °. The result of the Bessel function was stored in a look-up table

indexed by the coordinate of the Sun vector on the simulated sensor detector.

The small angle approximation allows the 0.1 °rms error to be directly added to

the measured Sun vector. The other part of this simulation is determining if the

Page 62: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

43

Sun is in view of the sensor. First, it is determined if the spacecraft is in eclipse.

This was described earlier in the Environmental Effects section. Next, the sun

vector must be changed into the body coordinates, bS . This is done by

multiplying by BNC . Then it is rotated into the individual sensors frame. Two sun

sensors where simulated in this model, but more could easily be included. The

two sun sensors frames are set to maximize the time the sun will be seen by at

least one sensor. Then it can be determined if the Sun is in the sensor’s field-of-

view. This is done by ensuring the bS is on the correct side if the spacecraft and

is in the sensor’s field-of-view as in Equation(2.18).

2

0

4cos

2 ! 1

k

v

vk

r

rI r

k v k

(2.17)

Where is the gamma function, v is a real constant, and r and θ are the radius

and angle in polar coordinates respectively.

2 2 21 ,x x yS FOV FOV (2.18)

Where is the location on the detector and the – denotes a unit vector.

C_BN

b_s

1

ss2

ss2

ss1

ss1

q_BN * S_N2

MatrixMultiply

q_BN * S_N1

MatrixMultiply

Sun Sensor facing YO 1

S_hat S_mes

Sun Sensor facing YO

S_hat S_mes

Product

MatrixMultiply

MatrixConcatenation

2

DCM forSun Sensor 2

DCM1

DCM forSun Sensor 1

DCM1

ATT

quat attATT

eclipse

3

Sn

2

qbn

1

Figure 20. Realistic Simulink® Model for Two Sun Sensors.

Page 63: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

44

Ss

S_mes

1

Product

LookupTable (2-D)

< -0.34202

S_hat

1

Figure 21. One Sun Sensor Facing Block.

d. Star Tracker

The star tracker model used here is a much simpler one than in

other simulations. This is because the EKF developed here will assume the star

tracker is a ”black box.” That is to say that the EKF will only be a user of the star

tracker solution and not be an integral part of the star tracker itself6. This will

allow the EKF to work with any COTS star tracker that might be developed later.

The star tracker will output a quaternion as many star trackers do,

however, it will use Euler angles as an input. This allows for easy application of

the known error of the star tracker to the measured data. A Gaussian random

noise with a variance of ±70 arcsec is added to each Euler angle. The angles

are then used to calculate the measured quaternion.

6 The EKF can be easily modified to be an integral part of a star tracker. The EKF developed

in [27], which this EKF relies heavily on, does just this.

Page 64: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

45

q_BNm1

q_m

q_mu

qbn

q

StarTracker

ST Noise

q_BN2EulerBN1

Figure 22. Realistic Simulink® Model for Star Tracker.

6. Gain Scheduled Quaternion Feedback Controller

This block was developed in [11] and has not been modified for this thesis.

No simulations will be done using the controller so it will not be included in this

description.

C. MATLAB® CODE

The Simulink® Model used a number of MATLAB® M-files to both initialize

the simulation and perform calculations. Files that were not developed for this

thesis will not be explained here. All the code used for this thesis is in the

Appendix.

1. TINYSCOPE Main Script

The TINYSCOPE Simulink® Model is initialized and run from

TinyscopeMainScript. This file has all the constants and parameters to run the

simulation in it. It also calls functions to perform specific calculations.

Page 65: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

46

2. Euler to Quaternion

This script is a function that is called both in TinyscopeMainScript and in

various blocks of the TINYSCOPE Simulink® Model. It takes the Euler angle

vector and calculates the 3-2-1 sequence quaternion.

3. Quat2Euler

This script is used to convert a quaternion to an Euler angle in the 3-2-1

sequence.

4. Calculate 6U Spacecraft

This script was developed in [11]. It generates the moment of inertia,

center of gravity, and center of pressure for the TINYSCOPE model.

5. Plotting Functions

Several plotting function were developed to aid in presenting the

simulation results. These functions take in simulation data and generate a series

of plots that display the data in a usable fashion. Plotting functions developed

here include:

PlotOrbit

PlotMeasurements

PlotEKFErrors

Page 66: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

47

V. KALMAN FILTERING APPROACH TO STATE ESTIMATION

A. BACKGROUND

The Kalman Filter is a method to recursively estimate the state vector

using stochastic processes. The filter finds the optimum solution by minimizing

the mean square error of the estimated state vector with a system model of the

plant dynamics and sensor noise. R. E. Kalman first developed this method in

1960 [25]. Since then it has been used in multiple disciplines ranging from signal

processing to spacecraft control. It has also been expanded upon and further

developed many times to now include very good nonlinear state estimators.

The Kalman Filter uses a two-step process of predicting the state vector

using a system model and updating the state vector using measurements (see

Figure 23). This means that only the previous state estimate need be stored until

the next time step. Thus, the recursive nature of the Kalman filter makes it easily

implemented on a digital computer.

Figure 23. Kalman Filter “Predict-Correct” Cycle. From [26].

This also leads to the advantage that multiple sensors of different types

can be used to update the estimated state vector. Through an error covariance

Page 67: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

48

matrix, the confidence level of each measurement is tracked to appropriately

weight the update. When a low accuracy measurement is used to update the

state vector, it can be weighted lower than the predicted model; while a very

accurate measurement is weighted much more heavily then the predicted model.

The result is an estimation that when properly implemented can provide more

accurate state estimation then the direct measurements alone.

B. DISCRETE EXTENDED KALMAN FILTER

This section will show the structure of the Kalman Filter. Specifically a

formulation using discrete nonlinear plant dynamic models with discrete sensors

will be shown. This formulation is of interest because the implementation of the

EKF developed will be on a microprocessor. The digital nature of the

microprocessor lends itself to discrete functions. So, the spacecraft dynamics

and kinematics are approximated with discrete nonlinear equations and the real

sensors are discrete digital sensors. The derivations have been done in

numerous publications but for the purposes of consistency and simplicity all of

these equations are from [27].

To begin, the continuous nonlinear model and measurements are defined

as:

, ,t t t t G t t x f x u w (3.1)

,t t t t y h x v (3.2)

Then using the first-order approximation of the nonlinear system dynamics f and

nonlinear measurement h continuous Riccati equations with Equation(3.3), we

can approximate the discrete Riccati equation with a Taylor-series expansion for

exp(FTs) to the second term in Equation(3.4):

ˆ ˆ

ˆ ˆ, ,F t H t

x x

f hx x

x x (3.3)

k sI FT (3.4)

Applying Equations (3.3) and (3.4) to Equations (3.1) and (3.2) leads to the

discrete nonlinear system dynamic and measurement equations:

Page 68: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

49

1k k k k k k k x x u w (3.5)

k k k k y h x v (3.6)

Where wk & vk are zero-mean Gaussian noise process with covariances given by

the expectation equations:

0,

,T

k jk

k jE

Q k j

w w (3.7)

0,

,T

k jk

k jE

R k j

v v (3.8)

0Tk kE v w (3.9)

The Qk matrix accounts for state process noise while the Rk matrix accounts for

expected measurement noise.

The current state will be propagated by estimating the truth model of

Equation(3.5) with:

1ˆ ˆ

k k k k k x x u (3.10)

The current state will be updated with a measurement, yk, in:

ˆ ˆ ˆk k k k k kK H x x y x (3.11)

The gain Kk changes with time properly weighting the relative confidence of the

accuracy of the propagated state verses the measured state. To find Kk first the

state error and error covariance matrixes must be defined:

1 1 1

1 1 1

ˆ ˆ

ˆ ˆk k k k k k

k k k k k k

x x x x x x

x x x x x x

(3.12)

1 1 1

1 1 1

T Tk k k k k k

T Tk k k k k k

P E P E

P E P E

x x x x

x x x x

(3.13)

Substituting Equations (3.5) and (3.10) into Equation(3.12) and substituting the

resulting equation into Equation(3.13) leads to:

1T T

k k k k k k kP P Q (3.14)

Page 69: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

50

Because wk and kx are uncorrelated the terms 0T T

k k k kE E w x x w . To

find the updated error covariance matrix, substitute Equation(3.6) into

Equation(3.11). Then substitute the resulting equation into Equation(3.12) and

reduce, leads to:

ˆk k k k kP I K H P x (3.15)

In order to actually calculate the gain K, the trace of the updated error covariance

matrix must be minimized. Solving gives:

1ˆ ˆ ˆT T

k k k k k k k k k kK P H H P H R

x x x (3.16)

The Continuous-Discrete Extended Kalman Filter is summarized in Table

12. The initialization of the EKF is important because the estimated state is

assumed to be close to the true state. Large initial condition errors on some

nonlinear plants can cause instabilities in the EKF. This can be avoided through

simulation and testing.

Discrete Extended Kalman Filter

Model

1k k k k k k k

k k k kH

x x u w

y x v

Initialize

0 0

0 0 0

ˆ ˆ

T

t

P E t t

x x

x x

Gain 1ˆ ˆ ˆT T

k k k k k k k k k kK P H H P H R

x x x

Update

ˆ ˆ ˆ

ˆ

k k k k

k k k k k

K

P I K H P

x x y h x

x

Propagation

1

1

ˆ ˆk k k k k

T Tk k k k k k kP P Q

x x u

Table 12. Discrete Extended Kalman Filter. From [27].

Page 70: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

51

C. CHALLENGES OF MULTIPLE SENSOR SYSTEM

In the formulation of the above EKF, the sensors are modeled as discrete

measurements. This is a very good model for digital sensors or sampled analog

sensors. This type of sensor is ideal to be used with a Kalman filter implemented

on the microprocessor. There is, however, an inherent problem. Different types

of sensors produce solutions at different rates. This causes a problem for a

Kalman filter that has to have all of the measurements available to update the

state vector. A solution to this is to use superposition for the updates. This is

possible for an EKF because although it is modeling a nonlinear system it

linearizes the propagation and update equations about the current state estimate.

This technique of using superposition, was first suggested by James Murrell in

[28]. It has since been applied many times and in different ways.

The essence of the technique is to update the gain, error covariance, and

state error vector with each successively available measurement. Once all of the

measurements have been taken into account, the EKF will propagate the

estimated state and covariance matrix until the next measurement or set of

measurements are available. Interestingly, this also greatly reduces the

computational burden. Instead of calculating a gain matrix that requires an

inverse of a 3n x 3n matrix, only a 3 x 3 matrix inverse is required n times with

Murrell’s version.

Page 71: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

52

THIS PAGE INTENTIONALLY LEFT BLANK

Page 72: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

53

VI. IMPLEMENTATION OF EXTENDED KALMAN FILTER FOR MULTI-RATE SENSORS

The Discrete Extended Kalman Filter discussed in Chapter IV will form the

bases of the EKF developed for this thesis. The EKF developed here will use

ideas and equations from several sources. These include [14], [27],[29], and

[30]. The combination of these different sources helps create an EKF that can

handle data from gyros, star trackers, sun sensors, and/or magnetometers in an

efficient way. The goal of this EKF is to produce an accurate attitude estimates

using a gyro and any combination of other sensors. It will also be

computationally efficient for implementation on a low power microprocessor.

A. MUTIPLICATIVE QUATERNION EXTENDED KALMAN FILTER

Because this EKF will use different types of sensors running at different

rates and it will be implemented with on-board computation, a version of Murrell’s

form briefly described in Chapter IV was used. The basic structure and much of

the derivation of this EKF comes from [27]. The significant changes occur in the

formulation of the observation matrix Hk and the calculation of the residual, , for

each of the sensor types. To begin the derivation the state vector, Equation(4.1),

was chosen to be composed of four quaternion elements and three gyro bias

elements.

1 2 3 4

T

x y zq q q q X (4.1)

Where the quaternion is defined by 4ˆ sin / 2 cos / 2

T Tq q e and

follows the normalization 1T q q . The normalization constraint prevents a simple

calculation of the quaternion error by subtraction. A different approach called the

multiplicative error quaternion must be calculated. This is defined as

1ˆ q q q (4.2)

Where 4

Tq q and the inverse quaternion is 1

4 T

q q . Taking the

time derivative yields:

Page 73: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

54

1 1ˆ ˆ q q q q q (4.3)

This eventually gives the estimated quaternion kinematics7

1 1ˆ ˆ ˆˆ ˆ2 2

q q q (4.4)

4 3 3

0x

T T

q I

q (4.5)

Now to find the discrete propagation of the quaternion kinematics

Equation(4.4) will be expanded using the power series approach in

Equation(4.6).

2 2 1

ˆ

2

0

1 1ˆ ˆ

2 22 ! 2 1 !

k k

t

k

t te

k k

(4.6)

Next substituting the identities 224 4ˆ ˆ1

k kkxI and

22 1 ˆ ˆ ˆ1k kk into Equation(4.6) gives

2 2 1

ˆ12

4 40 0

1 1ˆ ˆ1 1

2 2ˆ ˆ

2 ! 2 1 !

k kk k

t

xk k

t te I

k k

(4.7)

Then simplifying with the cosine and sine functions leads to Equation(4.8).

ˆ

24 4

1ˆsin

1 2ˆ ˆcos

ˆ2

t

x

te I t

(4.8)

Now the quaternion propagation can be simply written as

1ˆ ˆˆk k k

q q (4.9)

Where ˆk and ˆ

kq are the post-update estimates and ˆk

is defined in

Equations (4.10) and (4.11).

7 See [27] for more details.

Page 74: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

55

3 3

1 ˆ ˆˆcos2

ˆ1ˆ ˆcos2

x k k k

kT

k k

I t

t

(4.10)

1ˆ ˆsin

2ˆˆ

k k

k

k

t

(4.11)

The discrete sample time is denoted by t . The next propagation models to be

defined are the angular velocity and the gyro bias. These models follow the

standard EKF formulation given the post-update bias ˆk .

ˆ ˆ ˆˆk k k k k (4.12)

The error covariance propagation follows the same approach as in Chapter V.

The discrete model is derived using a power series like was done for the

quaternion update. This leads to Equation(4.13) where k , kG , and kQ are

defined in Equations (4.14), (4.15), and (4.16).

1T T

k k k k k k kP P G Q G (4.13)

11 12

21 22

2

11 3 3 2

2

12 3 32 3

21 3 3

22 3 3

ˆ1 cosˆsinˆ ˆ

ˆ ˆ

ˆ ˆ ˆ1 cos sinˆ ˆ

ˆ ˆ

0

k

kk

x k k

k k

k k k

k x k

k k

x

x

ttI

t t tI t

I

(4.14)

3 3 3 3

3 3 3 3

0

0x x

kx x

IG

I

(4.15)

2 2 3 2 23 3 3 3

2 2 23 3 3 3

1 1

3 2

1

2

u x u x

k

u x u x

t t I t I

Q

t I t I

(4.16)

Page 75: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

56

Where 2 and 2

u are the variances

Now the update equations need to be determined. To start, the estimated

error state definition is ˆ ˆˆ T Tk k k x . Using the small angle

approximation / 2 and q4≈1, the four state quaternion has been replaced

by the three state Euler error angle vector. This minimizes use of the factors ½

and 2 in the EKF. It also allows the 3σ bounds to be directly calculated from the

error covariance matrix.

The equations for the calculation of the observation matrix, Hk, for the

different sensor types will now be derived. First, it must be determined what

each sensor is actually measuring. The star tracker will provide a quaternion

solution as its measurements, each sun sensor will provide a body vector

referenced to the sun, and the magnetometer will also provide a body vector but

referenced to the Earth. If the star tracker were to provide body vectors

referenced to the stars, its update would be the same as the sun sensor update.

This dose, however, require access to the star catalog and since the star tracker

is being treated as a black box this access cannot be assumed. Next, the

measurement model will be developed. The definition of the measurement is

ˆk k k k y h x v (4.17)

For the star tracker that provides a quaternion as the measurement,

Equation(4.17) becomes

k k k y q v (4.18)

The actual attitude quaternion, qk, is related to the propagated measurement, kq ,

through

k k k k k k q q q q q q (4.19)

Using Equation(4.19) in the observation matrix definition Equation(4.20) leads to

the observation matrix for the star tracker becoming

ˆ

ˆˆ

ˆk

k kk k

k

H

x

h xx

x (4.20)

Page 76: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

57

3 3

1ˆ 02

STk k k xH

x q (4.21)

The sun sensor provides body vectors for which the true and estimated vectors

are defined as

ˆ ˆk k k kA A b q r b q r (4.22)

Where the actual attitude matrix, kA q , and the estimated attitude matrix, ˆkA q

,

are related through

ˆk k kA A A q q q (4.23)

With the error-attitude matrix approximated with

3 3k xA I q (4.24)

By substituting Equations (4.23) and (4.24) into Equation(4.22) and using the

result in Equation(4.20) the observation matrix for the sun sensors becomes

3 3ˆˆ 0SS

k k k xH A x q r (4.25)

Finally, the magnetometer also measures a body vector as defined in

Equation(4.22). However, due of the highly nonlinear nature of the Earth’s

magnetic field and the resulting uncertainty in the estimated magnetic field it will

be developed using the perturbation technique. Start with the equations for

propagated and measured magnetic field respectively.

I I Ik b I b I p m b I mB D B D B B D B x (4.26)

Where IbD is the transformation from inertial to body coordinates, I

b ID B is the

estimation error, and p and m are the errors in the magnetic field model and

measurement respectively. Defining m p , the residual becomes

Ib Iz D B (4.27)

The transformation error, IbD , can be defined as the difference between the true

inertial to body transform and the estimated inertial to body transform. The

Page 77: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

58

estimated transform can be written b Ic bD D . Where b

cD is the transform from the

body to computed coordinates. Now, assuming bcD is made of small angles, the

transformation error can be rewritten as

ˆ ˆI I I Ib k b b k bD I D D D (4.28)

Where ˆk is the cross product matrix of Euler error angles. Substituting

Equation(4.28) into Equation(4.27) leads to

3 3ˆ0b x kz B x (4.29)

The observation matrix follows in Equation(4.30), since Bb is unknown Bm is

substituted.

3 30Bk m xH B (4.30)

Finally, the remaining update equations need to be determined. The

standard EKF form for the error state vector update is .

ˆ ˆk k k k kK x y h x (4.31)

Where, yk is the measurement and ˆk k

h x is the estimated measurement. For

the star tracker the estimated measurement is the propagated quaternion, ˆkq .

For a body vector it has a form ˆˆk k kA h x q r , where r is the propagated

vector to the reference body, i.e. the Sun. The bias update is

ˆ ˆ ˆk k k (4.32)

The quaternion update must us quaternion multiplication like the quaternion error

did in Equation(4.2). The quaternion update equation is

ˆ

ˆ ˆ ˆ2

k

k k k

q

q q (4.33)

The error covariance matrix update and the gain calculation, both have the same

form from Chapter V.

ˆk k k k kP I K H P x (4.34)

1ˆ ˆ ˆT T

k k k k k k k k k kK P H H P H R

x x x (4.35)

Page 78: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

59

The Discrete Multiplicative Quaternion Extended Kalman Filter equations

are summarized in Table 13.

Discrete Multiplicative Quaternion Extended Kalman Filter

Initialize

0 0 0 0

0 0

ˆ ˆ ,k k

P k P

q q

Propagate 1

1

ˆˆ

ˆ ˆ

ˆ ˆˆ

k k k

k k

k k k

T Tk k k k k k kP P G Q G

q q

Gain

1

3 3

3 3

3 3

ˆ ˆ ˆ

1ˆ 02

ˆˆ 0

0

T Tk k k k k k k k k k

STk k k x

SSk k k x

Bk m x

K P H H P H R

H

H A

H B

x x x

x q

x q r

Update

ˆ ˆˆ

ˆ ˆ

ˆ ˆ ˆ

ˆˆ ˆ ˆ

2

ˆ

T Tk k k

k k k k k

k k k

k

k k k

k k k k k

K

P I K H P

x

x y h x

qq q

x

Table 13. Discrete Multiplicative Quaternion Extended Kalman Filter. After [27].

Page 79: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

60

B. IMPLEMENTATION

The EKF described in Table 13 is incomplete without some of the

particular implementation items that must be addressed. The initialization,

expected measurement noise, and quaternion normalization are a few. all be

covered to help complete the full development of this EKF.

1. Initialization

In an EKF initialization can be very crucial to the performance. Here the

initial state was chosen to be 0 0 3 1ˆ 0 x x q , where 0 3 10 1xq . The error

covariance matrix is a little more involved. Since all of the noise sources in the

sensors and propagation model have estimated variances (from Chapter III), an

estimation can be calculated for the error covariance. Using Farrenkopf’s

steady-state analysis from section 7.2.4 in [27], one can calculate a rough

estimate to the error covariance. The following equation was used to estimate

P0.

1/41/4 1/2 2 1/20 2n v u vP t t (4.36)

Where 2 2 2n ST SS Mag , 2

v is the variance associated with v , and 2u is the

variance associated with u both from Equation(2.15).

2. Measurement Noise

The expected measurement noise was calculated for each sensor in

Chapter III. They are used in the R matrix when the Kalman gain is calculated.

Each estimated measurement noise matrix follows the form

23 3k xR I (4.37)

The actual values of noise variance used are summarized in Table 14.

Page 80: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

61

Sensor Value Units

Star tracker 2 1.2797 8st E rad

Sun Sensor 2 3.0462 6ss E rad

Magnetometer 2 1.25 6mag E tesla

Table 14. Measurement Noise Variance Values.

3. Quaternion Normalization

The quaternion update used in the formulation of the EKF, Equation(4.33),

is only guaranteed to be a unit vector to within the first-order. This means

normalization needs to occur to prevent the build up of computational errors.

Two methods were used to help maintain a normalized quaternion. The first

method used does not formally normalize the quaternion, but reduces the error to

order 3 / 32 . This factor is suggested in [29], computed in Equation(4.38), and is

multiplied by the quaternion update when ˆ ˆTk k q q falls between two predetermined

error bounds.

ˆ ˆ3ˆ ˆˆ ˆ1 3

Tk k

k kTk k

q qq q

q q (4.38)

The second method is the brut force normalization per Equation(4.39).

The full normalization is only done when ˆ ˆTk k q q becomes greater than the upper

error bound. This reduces the computational burden for on-board processing

because it is simple a scalar multiplied by a vector the majority of the time. How

often this is done should be determined through simulation to establish an

acceptable error tolerance for the application.

ˆ

ˆˆ ˆ

kk T

k k

qq

q q (4.39)

Page 81: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

62

4. Murrell’s Version

The application of superposition to the EKF was discussed in Chapter IV.

To actually implement it in the EKF some structural changes were made from the

standard form. The most significant change, however, is in the estimated error

state update in Equation(4.31). The update now must include any previous

estimates of the error state from that set of measurements and only add error

unaccounted for in these previous estimates. Equation(4.40) replaces

Equation(4.31) in the above EKF.

ˆ ˆ ˆˆk k k k k k k kK H x x y h x x (4.40)

Page 82: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

63

VII. SIMULATION RESULTS

The simulations performed here are only preliminary. They have not been

verified through a Monte Carlo simulation or hardware-in-the-loop simulations.

No disturbance torques are applied during any simulation. No control torque is

applied during any of the simulations, as only the error between the true value

and the estimated value is needed. This means the no particular attitude is

actively maintained, however, the satellite will be initialized nadir pointing and will

rotate at orbital velocity. This should maintain a nadir pointing attitude because

there are no disturbances. During each simulation selected sensors will be used

in the EKF to estimate the attitude. The estimate is compared to the actual

attitude in Figure 24 and Figure 25 to form the errors. Table 15 shows the

simulation conditions for each run. Additional Figures of simulation results are in

the Appendix.

Simulation Sensors8

(ST, SS1, SS2,

Mag)

Initial ω9

(inertial)

Initial

Attitude

(inertial)

EKF10

(Hz)

Sensor11

(Hz)

1 (1,0,0,0) (0,2π/P,0) (0,0,0) 20 1

2 (1,1,1,0) (0,2π/P,0) (0,0,0) 20 1,5,5

3 (0,1,1,1) (0,2π/P,0) (0,0,0) 20 5,5,20

4 (1,1,1,1) (0,2π/P,0) (0,0,0) 20 1,5,5,20

Table 15. Simulation Conditions.

8 1= On, 0 =Off

9 2π/P is the orbital velocity wrt the inertial frame.

10 The simulation and the EKF ran at the same speed.

11 The sample rates of each selected sensor is shown in the order of column 1.

Page 83: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

64

0 1000 2000 3000 4000 5000

-100

0

100

X True Euler Angles

Time (sec)

(D

eg

)

0 1000 2000 3000 4000 5000

-50

0

50

Y True Euler Angles

Time (sec)

(D

eg

)

0 1000 2000 3000 4000 5000

-100

0

100

Z True Euler Angles

Time (sec)

(

De

g)

Figure 24. True Euler Angles in Inertial Frame12.

0 1000 2000 3000 4000 5000-0.01

-0.005

0

0.005

0.01X True Gyro Rate

Time (sec)

x (/

sec)

0 1000 2000 3000 4000 5000

-0.07

-0.065

-0.06

-0.055

Y True Gyro Rate

Time (sec)

y (/

sec)

0 1000 2000 3000 4000 5000-0.01

-0.005

0

0.005

0.01Z True Gyro Rate

Time (sec)

z (/

sec)

Figure 25. True Angular Rates in Inertial Frame.

12 The jumps in angle is due to the range limitations of the sine and tan2 functions.

Page 84: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

65

A. EKF PERFORMANCE WITH NOISY STAR TRACKER

During this simulation, the EKF will only use the quaternion measurements

from the star tracker. This will set a baseline for other configurations to compare

against. The expected Euler angle error is less than 0.026 ° 1σ. The rms value

of the error will be calculated and used for comparison. The 3σ boundaries (red)

are directly calculated from the error covariance matrix. Figure 27 and Figure 28

show that the Euler error and the bias error are in fact well bound. They also

show that the rms error is within the expected limits. An unexpected result is

also apparent. A spike in the error covariance, along with degradation in the

Euler error at ~2853 sec occurs. It has been determined the cause of this error is

due to the scalar quaternion equaling zero at this point (see Figure 30). This

causes the gain to become very large and in turn cause the increase in P. Figure

29 and Figure 31 show a weakness of the EKF, it does not filter the gyro noise

well because it is used in the propagation process and not as a measurement.

This accounts for the minimal improvement in the Euler angle estimate over the

star tracker expected error.

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.3

-0.2

-0.1

0

0.1

0.2Euler Angle Error

(D

eg

)

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-2

0

2

4

6x 10

-3 Bias Error

(D

eg

)

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-1

-0.5

0

0.5

1Angular Rate Error

(/

sec)

Time (sec)

Figure 26. Simulation 1 Euler, Bias, and Angular Rate Error.

Page 85: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

66

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.05

0

0.05

X Euler Error 0.021415 rms

(D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.5

0

0.5

Y Euler Error 0.030674 rms

(D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.05

0

0.05

Z Euler Error 0.020845 rms

(

De

g)

Time (sec)

Figure 27. Simulation 1 Euler Angle Error with 3σ Boundaries.

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5x 10

-3 X Bias Error 0.00010072 rms

x (D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5

x 10-3 Y Bias Error 0.00022159 rms

y (D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5x 10

-3 Z Bias Error 9.3121e-005 rms

z (D

eg

)

Time (sec)

Figure 28. Simulation 1 Gyro Bias Error with 3σ Boundaries.

Page 86: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

67

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.5

0

0.5

X Rate Error 0.12914 /s rms

x (/

sec)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.5

0

0.5

Y Rate Error 0.12914 /s rms

y (/

sec)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.5

0

0.5

Z Rate Error 0.12914 /s rms

z (/

sec)

Time (sec)

Figure 29. Simulation 1 Gyro Rate Error.

Figure 30 shows how the Gaussian noise in the Euler angles is no longer

Gaussian in the quaternion. Figure 31 can be used for comparison with the rate

error in Figure 29.

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-2

0

2

x 10-4 Star Tracker Quaternions

Time (sec)

q1

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-1

-0.5

0Star Tracker Quaternions

Time (sec)

q2

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-2

0

2

x 10-4 Star Tracker Quaternions

Time (sec)

q3

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-1

0

1

Star Tracker Quaternions

Time (sec)

q4

Figure 30. Simulation 1 Star Tracker Quaternion Measurements.

Page 87: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

68

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-1.8

-1.6

-1.4

-1.2

-1

-0.8

X Gyro Rate

Time (sec)

x (/

sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-5.6

-5.4

-5.2

-5

-4.8

-4.6

Y Gyro Rate

Time (sec)

y (/

sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

0

0.2

0.4

0.6

0.8

Z Gyro Rate

Time (sec)

z (/

sec)

Figure 31. Simulation 1 Gyro Rate Measurements.

B. EKF PERFORMANCE WITH STAR TRACKER AND SUN SENSORS

This second simulation makes the sun sensor measurements available to

the EKF as well as the star tracker quaternion. It is expected that an additional

measurement will improve the estimate. Again the Euler angle error and the bias

error are well bound by the 3σ boundaries in Figure 33 and Figure 34. The gyro

bias rms error has improved from simulation 1. The lack of improvement is due

to the anomaly discussed earlier. The sun sensors are unable to correct for this

error because the satellite is in eclipse at the time. This can be seen in Figure 36

and Figure 37, i.e., at ~1800 seconds all measurements go to zero.

Page 88: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

69

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.2

0

0.2

0.4

0.6Euler Angle Error

(D

eg

)

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-3

-2

-1

0

1x 10

-3 Bias Error

(D

eg

)

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-1

-0.5

0

0.5

1Angular Rate Error

(/

sec)

Time (sec)

Figure 32. Simulation 2 Euler, Bias, and Angular Rate Error.

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.05

0

0.05

X Euler Error 0.0223 rms

(D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.5

0

0.5

Y Euler Error 0.034381 rms

(D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.05

0

0.05

Z Euler Error 0.021187 rms

(

De

g)

Time (sec)

Figure 33. Simulation 2 Euler Error with 3σ Boundaries.

Page 89: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

70

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5x 10

-3 X Bias Error 9.4642e-005 rms

x (D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5

x 10-3 Y Bias Error 0.00020784 rms

y (D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5x 10

-3 Z Bias Error 8.6872e-005 rms

z (D

eg

)

Time (sec)

Figure 34. Simulation 2 Gyro Bias Error with 3σ Boundaries.

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.5

0

0.5

X Rate Error 0.1291 /s rms

x (/

sec)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.5

0

0.5

Y Rate Error 0.1291 /s rms

y (/

sec)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.5

0

0.5

Z Rate Error 0.1291 /s rms

z (/

sec)

Time (sec)

Figure 35. Simulation 2 Gyro Rate Error.

Page 90: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

71

0 1000 2000 3000 4000 5000-1

-0.5

0

0.5

1X Sun Vector 1

Time (sec)

0 1000 2000 3000 4000 5000-4

-2

0

2

4

6x 10

-3 Y Sun Vector 1

Time (sec)

0 1000 2000 3000 4000 5000-1.5

-1

-0.5

0Z Sun Vector 1

Time (sec)

Figure 36. Simulation 2 Sun Sensor #1 Unit Vector Measurement.

0 1000 2000 3000 4000 5000-1

-0.5

0

0.5

1Z Sun Vector 2

Time (sec)

0 1000 2000 3000 4000 5000-4

-2

0

2

4

6x 10

-3 Z Sun Vector 2

Time (sec)

0 1000 2000 3000 4000 5000-1.5

-1

-0.5

0Z Sun Vector 2

Time (sec)

Figure 37. Simulation 2 Sun Sensor #2 Unit Vector Measurement.

Page 91: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

72

C. EKF PERFORMANCE WITH SUN SENSORS AND MAGNETOMETER

During this simulation the sun sensor measurements and the

magnetometer measurements will be used by the EKF to produce the estimate.

The star tracker quaternion will not be used. It is expected that this configuration

will take longer to reach steady state and be less accurate than the star tracker.

Figure 39 and Figure 40 show that the rms errors are significantly less accurate

than Simulation 1 or 2. What is interesting is that this simulation was more

accurate than both ADCS “in a box” discussed in Chapter I. It is clear where the

eclipse occurs on all the Figures due to the increase in errors, however, one

should note that an rms error of approximately 1 ° rms is still maintained with only

the magnetometer measurements.

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-4

-2

0

2

4Euler Angle Error

(D

eg

)

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-5

0

5

10x 10

-3 Bias Error

(D

eg

)

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-1

-0.5

0

0.5

1Angular Rate Error

(/

sec)

Time (sec)

Figure 38. Simulation 3 Euler, Bias, and Angular Rate Error.

Page 92: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

73

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-2

0

2

X Euler Error 0.56055 rms

(D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.5

0

0.5

Y Euler Error 0.10362 rms

(D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-2

-1

0

1

2

Z Euler Error 0.49743 rms

(

De

g)

Time (sec)

Figure 39. Simulation 3 Euler Error with 3σ Boundaries.

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5

x 10-3 X Bias Error 0.0014707 rms

x (D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5

x 10-3 Y Bias Error 0.00022295 rms

y (D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5

x 10-3 Z Bias Error 0.0010774 rms

z (D

eg

)

Time (sec)

Figure 40. Simulation 3 Gyro Bias Error with 3σ Boundaries.

Page 93: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

74

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-5

0

5x 10

-4 X B Field

Time (sec)

B x

(T

esl

a)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-5

0

5

x 10-5 Y B Field

Time (sec)

B y

(T

esl

a)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-2

-1

0

1

2

x 10-4 Z B Field

Time (sec)

B z

(T

esl

a)

Figure 41. Simulation 3 Magnetometer Measurement.

Note on Figure 41 that the range has been changed to ±5 mGauss (5x10-4

Tesla) for the simulated magnetometer. The hardware range of ±3.5 mGauss

proved too small and saturation occurred. This caused large errors in the state

estimation. It was determined that the simulation should be run simulating a

similar magnetometer with a larger dynamic range.

Page 94: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

75

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

2

4

6x 10

-4 Error Covariance Matrix Normal Begining

||P||

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 55000

2

4

6x 10

-4 Error Covariance Matrix Normal

||P||

Time (sec)

Figure 42. Simulation 3 Error Covariance Matrix Normal.

D. EFK PERFORMANCE WITH ALL SENSORS

Now all of the available sensor measurements are used in the EKF. It is

expected that this configuration will produce the best estimate. It is obvious,

however, that this is not the case. The Euler angle error is twice that of

simulation 1. Figure 44 shows that the Euler error is not very well bound by the

calculated 3σ boundaries. Figure 46 shows that the star tracker quaternion

anomaly is still present, but no longer dominant. It appears that the

magnetometer error is dominating the other sensors. The eclipse can also be

clearly seen from 1800 to 3900 sec. The relatively small error covariance values

suggest a noise value is not being accurately estimated. This is most likely from

the magnetometer. It has the highest sample rate and the most error in attitude

estimation. More work needs to be done on both the Earth’s magnetic field

model and the magnetometer modeling to improve the performance of the EKF.

Page 95: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

76

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.4

-0.2

0

0.2

0.4Euler Angle Error

(D

eg

)

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-2

-1

0

1

2x 10

-3 Bias Error

(D

eg

)

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-1

-0.5

0

0.5

1Angular Rate Error

(/

sec)

Time (sec)

Figure 43. Simulation 4 Euler, Bias, and Angular Rate Error.

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.05

0

0.05

X Euler Error 0.048347 rms

(D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.05

0

0.05Y Euler Error 0.087326 rms

(D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.05

0

0.05

Z Euler Error 0.048123 rms

(

De

g)

Time (sec)

Figure 44. Simulation 4 Euler Error with 3σ Boundaries.

Page 96: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

77

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5x 10

-3 X Bias Error 0.00015541 rms

x (D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5x 10

-3 Y Bias Error 0.00025275 rms

y (D

eg

)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5

0

5x 10

-3Z Bias Error 0.00011364 rms

z (D

eg

)

Time (sec)

Figure 45. Simulation 3 Gyro Bias Error with 3σ Boundaries.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

2

4

6x 10

-4 Error Covariance Matrix Normal Begining

||P||

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 55000

1

2

3

4x 10

-7 Error Covariance Matrix Normal

||P||

Time (sec)

Figure 46. Simulation 4 Error Covariance Matrix Normal.

Page 97: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

78

THIS PAGE INTENTIONALLY LEFT BLANK

Page 98: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

79

VIII. CONCLUSION

A. SUMMARY

The results from the simulations clearly show that the EKF developed

requires more tuning to achieve the expected performance. It has demonstrated

utility in fusing the various sensors, but has not yet shown a great improvement

in performance over the star tracker alone.

The anomaly, due to the star tracker quaternion causing the error

covariance to dramatically increase, was an interesting result. A solution to this

problem would be to use the centroids and star catalog of the star tracker like is

done in [27]. This would avoid the problem encountered when the scalar

quaternion equals zero. This sets of a chain of events which results in the error

covariance increasing as well as actual reduced accuracy of the estimate. This

only seems to occur because the scalar quaternion makes up the diagonal

component of ˆk q . That makes the diagonal component of the Hk matrix zero,

which is then used in the calculation of the gain. The gain then affects both the

estimated state update and the error covariance update.

The solution to this problem requires the ADS have full access to all of the

star tracker calculations and databases. This would essentially integrate the star

tracker into the ADCS computer. An integrated ADS could then consist of star

trackers, sun sensors, and magnetometers, as well as other sensors like horizon

sensors, all connected and run by one processor to produce an attitude estimate.

The gyro model has been a great success, however, for the ADIS16405

hardware, modeling the bias instability may be more appropriate then the RRW.

Modeling the bias instability would accurately account for the variations in the

bias under all conditions. As was seen in Chapter II, the RRW is not a

dominating noise in this gyro and may even be able to be filtered out. The bias

instability, however, remains even with maximum filtering applied.

Page 99: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

80

The magnetometer included in the ADIS16405 proved to have too small of

a range for this application. The placement of the magnetometer is also

problematic. The IMU is normally situated inside the spacecraft and given the

small size of a CubeSat; it would consequently be close to magnetic interference

from batteries and other electronics. Therefore, it is recommended to use a

separate, external magnetometer in the final design of this ADS.

The general Simulink® simulation model has been significantly improved

with the generalization done in the orbit propagation. The addition of the Earth’s

magnetic field and the improvement of the atmospheric density both provide a

higher fidelity model of the space environment.

This thesis has not achieved all that was set out to do, but it has

accomplished much. It has proven that data fusion is possible using Murrel’s

technique. It has also set ground work for the continued improvement and

development of the TINYSCOPE Simulation. Most importantly, it has shown that

a CubeSat can indeed have high accuracy attitude determination using currently

existing technology.

B. FUTURE WORK

1. Verification and Testing

This thesis only presents preliminary results. A full Monte Carlo

verification of the EKF performance should be performed to provide detailed

performance parameters for the EKF and the simulation. Further verification of

the EKF design can be performed with a 3-Axis Simulator. Running the EKF in a

hardware-in-the-loop simulation will provide more realistic performance

information on the EKF.

2. Further Develop Simulation

The sensor models developed for this thesis went a long way to providing

realistic measurements for the ADCS. Further refinements to the Simulink®

model can be made however. The star tracker model is still a fairly simple model

Page 100: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

81

and can be improved in many ways. Different sensors should also be developed

such as a horizon sensor. The Earth’s magnetic field certainly needs to have a

more accurate model developed. A high order IGRF model should be developed

that will provide a more realistic approximation of the actual magnetic field and

can still run efficiently in the simulation.

3. Hardware

The development of new low cost, low power, miniature attitude sensors is

accelerating. Continued evaluation of these new sensors should be performed

as well as testing of these new sensors for possible performance improvements.

This would include the currently available prepackaged systems for CubeSats

discussed in Chapter I. The ultimate goal could be to develop a prepackaged

ADS at NPS that could work with the proposed ACS developed in [31]. This

would necessarily require implementation of the EKF developed in this thesis on

a microprocessor like the MSP430 from TI.

Page 101: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

82

THIS PAGE INTENTIONALLY LEFT BLANK

Page 102: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

83

APPENDIX

A. ADDITIONAL SIMULATION RESULTS

1. Simulation 1

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-1.32

-1.3

X Gyro Bias

Time (sec)

bias

x ()

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-5.01

-5

-4.99

Y Gyro Bias

Time (sec)

bias

y ()

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

0.36

0.37

0.38

Z Gyro Bias

Time (sec)

bias

z ()

Figure 47. Simulation 1 Gyro Bias.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5x 10

-3 Error Covariance Matrix Normal Begining

||P||

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 55000

0.5

1

1.5

2x 10

-5 Error Covariance Matrix Normal

||P||

Time (sec)

Figure 48. Simulation 1 Error Covariance Matrix Normal.

Page 103: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

84

2. Simulation 2

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-202

x 10-4 Star Tracker Quaternions

Time (sec)

q1

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-1

-0.50

Star Tracker Quaternions

Time (sec)

q2

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-202

x 10-4 Star Tracker Quaternions

Time (sec)

q3

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-101

Star Tracker Quaternions

Time (sec)

q4

Figure 49. Simulation 2 Simulated Star Tracker Quaternion.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5x 10

-3 Error Covariance Matrix Normal Begining

||P||

Time (sec)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 55000

0.5

1

1.5

2x 10

-5 Error Covariance Matrix Normal

||P||

Time (sec)

Figure 50. Simulation 2 Error Covariance Matrix Normal.

Page 104: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

85

3. Simulation 3

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.6

-0.4

-0.2

0

0.2

0.4

X Rate Error 0.12937 /s rms

x (/

sec)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.5

0

0.5

Y Rate Error 0.12937 /s rms

y (/

sec)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-0.6

-0.4

-0.2

0

0.2

0.4

Z Rate Error 0.12938 /s rms

z (/

sec)

Time (sec)

Figure 51. Simulation 3 Gyro Rate Error.

0 1000 2000 3000 4000 5000-1

0

1X Sun Vector 1

Time (sec)

0 1000 2000 3000 4000 5000-5

0

5x 10

-3 Y Sun Vector 1

Time (sec)

0 1000 2000 3000 4000 5000-2

-1

0Z Sun Vector 1

Time (sec)

Figure 52. Simulation 3 Sun Sensor #1 Measurement.

Page 105: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

86

0 1000 2000 3000 4000 5000-1

0

1Z Sun Vector 2

Time (sec)

0 1000 2000 3000 4000 5000-5

0

5x 10

-3 Z Sun Vector 2

Time (sec)

0 1000 2000 3000 4000 5000-2

-1

0Z Sun Vector 2

Time (sec)

Figure 53. Simulation 3 Sun Sensor #2 Measurement.

4. Simulation 4

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.5

0

0.5X Rate Error 0.12929 /s rms

x (/se

c)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.5

0

0.5Y Rate Error 0.12928 /s rms

y (/se

c)

Time (sec)

1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-0.5

0

0.5Z Rate Error 0.12929 /s rms

z (/se

c)

Time (sec)

Figure 54. Simulation 4 Gyro Rate Error.

Page 106: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

87

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-202

x 10-4 Star Tracker Quaternions

Time (sec)

q1

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-1

-0.50

Star Tracker Quaternions

Time (sec)

q2

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-202

x 10-4 Star Tracker Quaternions

Time (sec)

q3

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-101

Star Tracker Quaternions

Time (sec)

q4

Figure 55. Simulation 4 Star tracker Quaternion Measurements.

0 1000 2000 3000 4000 5000-1

0

1X Sun Vector 1

Time (sec)

0 1000 2000 3000 4000 5000-5

0

5x 10

-3 Y Sun Vector 1

Time (sec)

0 1000 2000 3000 4000 5000-2

-1

0Z Sun Vector 1

Time (sec)

Figure 56. Simulation 4 Sun Sensor #1 Measurement.

Page 107: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

88

0 1000 2000 3000 4000 5000-1

0

1Z Sun Vector 2

Time (sec)

0 1000 2000 3000 4000 5000-5

0

5x 10

-3 Z Sun Vector 2

Time (sec)

0 1000 2000 3000 4000 5000-2

-1

0Z Sun Vector 2

Time (sec)

Figure 57. Simulation 4 Sun Sensor #2 Measurement.

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-5

0

5x 10

-4 X B Field

Time (sec)

B x

(Tes

la)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500-5

0

5x 10

-5 Y B Field

Time (sec)

B y

(Tes

la)

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500

-2

0

2x 10

-4 Z B Field

Time (sec)

B z

(Tes

la)

Figure 58. Simulation 4 Magnetometer Measurement.

Page 108: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

89

B. SENSOR DATA SHEETS

This appendix contains all the data sheets for the selected sensors.

1. Sinclair Interplanetary SS-411

Page 109: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

90

2. AeroAstro Mini Star Tracker

Page 110: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

91

Page 111: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

92

3. NovAtel OEMV-1G

Page 112: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

93

Page 113: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

94

4. Analog Devices ADIS16405

Page 114: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

95

Page 115: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

96

Page 116: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

97

Page 117: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

98

Page 118: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

99

Page 119: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

100

Page 120: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

101

Page 121: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

102

Page 122: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

103

Page 123: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

104

Page 124: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

105

Page 125: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

106

Page 126: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

107

Page 127: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

108

Page 128: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

109

Page 129: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

110

C. SIMULINK® MODEL

1. Overall Model

Parameters to Workspace

TINYSCOPE Simulation Model

tangent velocity

[Vt]

radial velocity

[Vr]

quaternion 4x1

q_BO

[q_BO]

orbit radius

[r] [bias ]

[w_BNf]

[w_BNm ]

[C_NB]

[EulerBN 321 ]

[w_BN]

mu

CONST .mu

latitude

[lat ]

inertial rates

w_BN

[Pnorm ]

[Pdiag ]

[bias_f]

[Bm]

[b_s]

[q_BNf]

[q_BNm ]

[q_BN]

inclination

[i]

earth angular radius

[rho _earth ]

body in inertial 4x1

q_BN

altitude

[h]

True Anomaly out

TA

True Anomaly

[TA]

Total Dist Torques

[Td ]

Solar Beta

[beta ]

Simulation Time

[SimTime ]

Simulation Run Time

SimTime

Sensors

w_BN

EulerBN321

q_BN

Sn

eclipse

b

w_BNm

bias

q_BNm

b_s

Bm

Rate Error

w_err

R vector

[R]

Quaternion Error Signal Generator

q_BN

q_BNfq_eq_error

Quat Error

q_err

Orbital in Intertial Rates

[w_ON]

Orbit radius

radius

Orbit altitude

altitude

Orbit Propogator

True Anomaly

R vector

radius

Vt

Vr

i

solar beta

altitude

rho earth

Latitude

Longitude

SimTime

On/Off 9

K-

On/Off 8

K-

On/Off 7

K-

On/Off 6

K-

On /Off5

K-

On /Off4

K-

On /Off3

K-

On /Off20

K-

On /Off2

K-

On/Off 19

K-

On /Off 18

K-

On/Off 17

K-

On/Off 16

K-

On/Off 15

K-

On/Off 14

K-

On/Off 13

K-

On/Off 12

K-

On /Off 11

K-

On/Off 10

K-

On /Off1

K-

On /Off

K-

Multiplicative Quaternion Extended Kalman Filter

w_BN

q_BN

b_s

nS

B

b

w_BNf

q_BNf

bias_f

Pdiag

Pnorm

Momentum Storage

[Hs]

Longitude

[long ]

Interia Matrix

[J_Matrix ]

Initial Inertial Body Rates

[w_BNo]

Gyro Bias

bias

Gain ScheduledQuaternion Feedback Controller

w_BN

q_BN

Hs

Tc

[w_BNm]

[w_BNf]

[Hs]

[Tc ]

[w_BN]

[Tc ]

[w_ON]

[q_BNf]

[q_BN]

[w_BNf]

[w_BN]

[bias_f]

[bias ]

[b]

[w_BNm]

[q_BNf]

[w_BNo]

[Pnorm ]

[Pdiag ]

[bias_f]

[bias ]

[w_BNf]

[Bm]

[nS_hat ]

[b_s]

[w_BN]

[q_BNm ]

[J_Matrix ]

Euler angles

Euler 321

[EulerBO 321 ]

Error Norm

Pnorm

Error Covariance

Pdiag

Environmental Effects

altitude

R

C_NB

C_BO

beta

TA

earth angular radius

rho_a

Magnetic Field

Body Sun Vector

Inertial Sun Vector

Eclipse

Earth Gravity Const

[mu ]

EKF rates

w_BNf

EKF quaternion 4x1

q_BNf

EKF Euler Angles

EulerBNf

EKF Bias

bias_f

Dynamics and Kinematics

disturbance torque

control torque

Moments of Inertia

Initial inertial body rates

omega of orbit in inertial

C_BO

q_BN

q_BO

EulerBO321

w_BN

EulerBN321

C_NB

Disturbance Torques

C_BO

radius

J_Matrix

mu

Tangential Velocity

Radial Velocity

solar vector

Eclipse

rho_a

Td

[nS_hat ]

[eclipse ]

[bS_hat ]

[b]

[rho _a]

[C_BO]

DCM 3x3

C_BO

Control Torques

[Tc ]

Control

Tcontrol

Bias Error

b_err

Angular Momentum

Hstorage

[Td ]

[b]

[eclipse ]

[nS_hat ]

[q_BN]

[q_BNf]

[C_NB]

[C_BO]

[h]

[R]

[EulerBN 321 ]

[TA]

[beta ]

[rho _earth ][eclipse ]

[bS_hat ]

[EulerBO 321 ]

[h]

[Vr]

[r]

[Vt]

[mu ]

[r]

[SimTime ]

[J_Matrix ]

[TA]

[C_BO]

[q_BNm ]

[q_BN]

[rho_a]

[C_BO]

w_BNo

w_ON

J_Matrix

Figure 59. TINYSCOPE Overall Simulink® Model.

Page 130: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

111

2. Orbital Propagator

SimTime

12

Longitude

11

Latitude

10

rho earth

9

altitude

8

solar beta

7

i

6

Vr

5

Vt

4

radius

3

R vector

2

True Anomaly

1

tangent velocity

[Vt]

t

radial velocity

[Vr]

out 9

[rho_earth ]

out 8

[h]

out 7

[beta ]

out 6

[i]

out 5

[Vr]

out 4

[Vt ]

out 3

[r]

out 2

[R]

out 11

[long ]

out 10

[lat ]

out 1

[TA ]

inclination

i

eccentricity

e

calculate altitude

radius altitude

Re

-C-

Long

[long ]

Lat

[lat ]Keplerian Orbit

Propagation

Vo

Ro

R_eci

V_eci

A_eci

Calculate OrbitalElements

time

Re

incl

ecc

R

V

rho_earth

beta

TA

r

Vt

Vr

Lat

Long

fcn

[e]

[i ]

altitude

[h]

[TA]

[rho_earth ]

[A]

[V]

[R]

[beta ]

[mu ]

[i]

earth grav const

CONST .mu

Vo

Ro

[V]

[R]

[r]

[e][r]

Figure 60. Orbital Propagator Block.

3. Dynamics and Kinematics

C_NB

7

EulerBN 321

6

w_BN

5

EulerBO 321

4

q_BO

3

q_BN

2

C_BO

1

Kinematics

omega_BN

omega_ON

C_BO

q_BN

q_BO

EulerBO321

EulerBN321

C_NB

Attitude Dynamics

Torques

Moments of Inertia

initial inertial body rates

omega of orbit in inertial

w_BN

w_ON

omega of orbit in inertial

5

Initial inertial body rates

4

Moments of Inertia

3control torque

2

disturbance torque

1

Figure 61. Spacecraft Dynamics and Kinematics Block.

Page 131: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

112

4. Environmental Effects

Eclipse

5

Inertial Sun Vector

4

Body Sun Vector

3

Magnetic Field

2

rho _a1

set output to 0if crho /cbeta >1

rho *1.5^(cBcTA)

u(1)*1.5^u(2)

[C_NE][C_EN]

[cB]

[cTA]

cb*cTA

S_hat 1

C_BO

C_NB

beta

TA

S_body

S_inertial

S

Product 1

Matrixultiply

Product

Matrixultiply

Magnetic Dipole Model

R B_eciEarth_Mag _Field[b]

EarthRotation

time

C_EN

C_NE

ECI_2_ECEF

Divide

Density vs . altitudelookup table

x

xdat

ydat

y

CompareTo Zero

>= 0

time

[nS_hat ]

[eclipse ]

[bS_hat ]

[b]

[rho_a]

density data

-C-

altitude reference

-C-

Earth RotationRate

-C-

[eclipse ]

[bS _hat ]

[nS _hat ]

[C_NE]

[cB]

[cTA]

cos

[C_EN]

cos

[rho _a]

<= 1

cos

earth angular radius

7

TA

6beta

5

C_BO

4C_NB

3

R

2

altitude

1

Figure 62. Environmental Effects Block.

Page 132: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

113

5. Disturbance Torques

Td

1

solar

Tsolar

gravity gradient

Tgg

aerodynamic

Taero

Tsolar toggle

-K-

TorqueSolar

solar vector

Eclipse

Tsolar

TorqueGravity Gradient

C_BO

r

J

mu

TggT_Grav_Grad

TorqueAerodynamic

C_BO

Vt

Vr

rho_a

Taero

Tgg toggle

-K-

Taero toggle

-K-

rho _a

9

Eclipse

8

solar vector

7

Radial Velocity

6

Tangential Velocity

5

mu

4

J_Matrix

3

radius

2

C_BO

1

Figure 63. Disturbance Torque Block.

Page 133: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

114

6. Attitude Sensors

Bm

5

b_s

4

q_BNm

3

bias

2

w_BNm

1

[q_BN]

Sun Sensors

qbn

Sn

eclipse

b_s

Star Tracker

EulerBN

q_BN

q_BNm

Magneto -meter Model

B B_sense

Mag Inertialto Body

q_BN

b B

Gyro

W_true

Omega_g

bias

[q_BN]

[q_BN]

[q_BN]

b

6

eclipse

5

Sn

4

q_BN

3

EulerBN 321

2

w_BN

1

Figure 64. Simulation Attitude Sensor Block.

D. MATLAB® CODE

1. Main Script

%% TINYSCOPE Main Script % % Author: % LCDR J. Allen Blocker % Naval Postgraduate School %

Page 134: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

115

% LT Jason D. Tuthill % Naval Postgraduate School % % Thesis Advisor: % Dr. Marcello Romano % Naval Postgraduate School % %% Format clear all close all clc global CONST R2D = 180/pi; D2R = pi/180; %% Set Simulation Conditions InitialEulerN = [0 0 0];%deg ReferenceEuler = [0 0 0];%deg Kp = .25; Kd1 = .15; Kd2 = .15; Kd3 = .15; Ki = .15; %*** Toggle switches turn the labeled functions on (1) or off (0). *** Tgg_toggle = 0;% Taero_toggle = 0;% Tsolar_toggle = 0;% timeOn = 1; taOn = 0; cboOn = 0; qbnOn = 1; qbnmOn = 1; rOn = 0; hOn = 0; e321On = 1; wbnOn = 1; tcOn = 0; hsOn = 0; wbnfOn = 1; biasOn = 1; biasfOn = 1; pdOn = 1; pnOn = 1; qbnfOn = 1; wbnmOn = 1; werrOn = 1; berrOn = 1; qerrOn = 1;

Page 135: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

116

%% Set Constants CONST.mu = 398.6004418e12;%m^3/s^2 CONST.mu_moon = 4.902802953597e12;%m^3/s^2 CONST.mu_sun = 1.327122E20;%m^3/s^2 CONST.Re = 6.378137E6;%m earth radius CONST.Rs = 1.4959787e11;%m solar radius CONST.J2 = 1.08262668355E-3;% J2 term CONST.J3 = -2.53265648533E-6;% J3 term CONST.J4 = -1.61962159137E-6;% J4 term CONST.SolarPress= 4.51e-6;%N/m^2 solar wind pressure CONST.SOLARSEC = 806.81112382429;%TU CONST.w_earth = [0;0;.0000729211585530];%r/s earth rotation CONST.Cd = 2.5;% Coefficient of Drag CONST.Cr = .6;% Coefficient of Re-flect CONST.OmegaDot = 1.991e-7;%rad/s ascending node ad-vance for sun-synch %% Set Orbital Elements %Kep elements meters and radians (a,e,i,W,w,n) h_p = 500e3;%m altitude at perigee h_a = 500e3;%m altitude at apogee RAAN = 0;%rad Right Ascention w = 0;%rad argument of perigee TAo = 0;%rad true anomaly Rp = CONST.Re+h_p;%m radius of perigee Ra = CONST.Re+h_a;%m radius of apogee e = (Ra-Rp)/(Ra+Rp);%(m/m) eccentricity a = (Ra+Rp)/2;%m semi-major axis ho = sqrt(a*CONST.mu*(1-e^2));%mˆ2/s initial angular mo-mentum P = 2*pi*sqrt(a^3/CONST.mu);%sec Orbit Period i_sunsynch = acosd((CONST.OmegaDot*(1-e^2)^2*a^(7/2))... /(-3/2*sqrt(CONST.mu)*CONST.J2*CONST.Re^2));%eqn 4.47 from Cur-tis i = i_sunsynch*D2R;%deg (rad) orbit inclination [Ro,Vo] = sv_from_coe(CONST.mu,[ho e RAAN i w TAo]);% initial orbital state vector %% Set ICs ON = DCM(1,-90)*DCM(3,TAo+90)*DCM(1,i*R2D); InitialEulerO = DCM2Eul(ON); w_BNo = [0;-2*pi/P;0];%rad initial body rates w_ON = [0;-2*pi/P;0];%rad % Sensor parameters % Gyro GYRO_Bias = (3*randn(3,1))*pi/180; % + 3 deg(rad)/sec N_ARW = (0.029)*pi/180; K_RRW = (0.0002)*pi/180;

Page 136: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

117

ARW = N_ARW^2; % angular white noise Variance RRW = K_RRW^2/3; % bias variance Gg = eye(3).*(-0.01+0.02*rand(3)) +... (ones(3,3)-eye(3)).*(-0.0006+0.0012*rand(3)); %percent % Magnetometer sigMag = 1.25e-7; %Mag_bias = (4*randn(3,1))*1e-7; % Tesla, +/- 4 mguass Gm = eye(3).*(-0.02+0.04*rand(3)) +... (ones(3,3)-eye(3)).*(-0.0028+0.0056*rand(3)); %percent % Sun Sensor S1 = [0 20 0]'*pi/180; S2 = [0 160 0]'*pi/180; %Gss = eye(2).*(-0.02+0.04*rand(2)) +... % (ones(2,2)-eye(3)).*(-0.0028+0.0056*rand(2)); %percent FOV = 0.7; sigSS = 0.1; J = Bessel(sigSS/3,FOV).*pi/180; % Star Tracker sigST = 70 /3 /60 /60*pi/180; %arcsec to rad (3sig) %Gst = eye(3).*(-0.02+0.04*rand(3)) +... % (ones(3,3)-eye(3)).*(-0.0028+0.0056*rand(3)); %percent % Kalman Filter dt = 0.05; %sec (20 Hz) model speed t_ekf = dt; %sec (20 Hz) ekf speed sig(1) = sqrt(ARW); %rad/sec^(1/2), ARW sig(2) = sqrt(RRW); %rad/sec^(3/2), RRW sig(3) = sigST; %rad, Star Tracker Error sig(4) = sigSS*pi/180; %rad, Sun Sensor Error sig(5) = sigMag; %tesla, magnetometer error ReferenceOmega = w_ON; [qBNo] = Euler_to_Quaternion(InitialEulerN); [qBOo] = Euler_to_Quaternion(InitialEulerO); [ReferenceQuaternion] = Euler_to_Quaternion(ReferenceEuler); %% Run Simulation [Spacecraft]= Calculate_6U_Spacecraft; J_Matrix = Spacecraft.MOI; [density_table] = GetDensity; RunTime = P;%sec tic sim('TinyscopeMainModel',RunTime);

Page 137: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

118

Total_Model_time = toc factor = RunTime/Total_Model_time DisturbanceTorques.Tgg = Tgg; DisturbanceTorques.Taero = Taero; DisturbanceTorques.Tsolar = Tsolar; SensorMeasurements.ST = q_BNm; SensorMeasurements.Gyro = w_BNm; SensorMeasurements.bias = bias; SensorMeasurements.SS1 = ss1; SensorMeasurements.SS2 = ss2; SensorMeasurements.Mag = squeeze(Bm)'; EKFerror.bias = squeeze(b_err); EKFerror.rate = squeeze(w_err); EKFerror.quat = q_err; EKFerror.cov = Pdiag; EKFerror.Pnorm = Pnorm; FilterEst.Q = squeeze(q_BNf)'; FilterEst.Gyro = squeeze(w_BNf)'; FilterEst.bias = squeeze(bias_f)'; %% Output Results % PlotOrbit(R); % % PlotEKFerrors(EKFerror,SimTime); % % PlotMeasurements(SensorMeasurements,SimTime); % PlotFilter(FilterEst,SimTime); % PlotModelStats(w_BNs,Bs,SimTime); % PlotQuaternion (squeeze(q_BNf)',q_BN,SimTime); % PlotDisturbanceTorques (DisturbanceTorques,SimTime); % PlotControlTorques (Tcontrol,SimTime); % PlotTorques (DisturbanceTorques,Tcontrol,SimTime); % PlotEulerAngles (Euler321,SimTime); % % PlotQuatError (q_err, SimTime);

Page 138: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

119

2. Attitude Matrix

%#eml function att = ATT( quat ) %% Making Attitude Matrix att = transpose(XI(quat)) * PSI(quat); return %----------------------------------------------------------------------

3. XI

%#eml function xi = XI( quat ) %% Making Xi Matrix xi = [ quat(4)*eye(3) + SKEW(quat(1:3,1)) ; - quat(1:3,1)' ]; return %----------------------------------------------------------------------

4. PSI

%#eml function psi = PSI( quat ) %% Making Psi Matrix psi = [ quat(4)*eye(3) - SKEW(quat(1:3,1)) ; - quat(1:3,1)' ]; return %----------------------------------------------------------------------

5. Skew

%#eml function sk = SKEW( vec ) % Check it is a 3x1 or 1x3 vector if ~(( (size(vec,1) == 3) && (size(vec,2) == 1) ) || ( (size(vec,1) == 1) && (size(vec,2) == 3) )) disp('not a vector'); return end sk = [0 -vec(3) vec(2); vec(3) 0 -vec(1); -vec(2) vec(1) 0 ]; return %----------------------------------------------------------------------

6. Quaternion to Euler

function euler = Quat2Euler( quat ) euler=zeros(3,1); a = 2*(quat(4)*quat(2)-quat(3)*quat(1)); if a > 1 a = 1; elseif a < -1 a = -1; end

Page 139: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

120

euler(1)=atan2( 2*(quat(1)*quat(4)+quat(2)*quat(3)), 1-2*(quat(1)*quat(1)+quat(2)*quat(2))); euler(2)=asin(a); euler(3)=atan2( 2*(quat(3)*quat(4)+quat(1)*quat(2)), 1-2*(quat(2)*quat(2)+quat(3)*quat(3))); return %----------------------------------------------------------------------

7. Bessel

function [J] = Bessel(sig_SS,FOV) %% This function creates the spacial noise of the Sun Sensor r = linspace(eps,FOV); theta = linspace(0,2*pi)'; n = length(r); J = zeros(n,n); for i = 1:n J(i,:) = besseli(rand(n,1),r*r(i))*cos(theta)*sig_SS; end J(:,1) = J(:,1)./norm(J(:,1)); J(1,2:n) = J(1,2:n)./norm(J(1,2:n)); return %----------------------------------------------------------------------

8. Multiplicative Quaternion Extended Kalman Filter

function [wk1,qk1,biask1,Pk1] = EKF(wk1t,yk1,bs,S,Bk1,B,dt,sig,mflag) sig_v = sig(1); sig_u = sig(2); sig_st = sig(3); sig_ss = sig(4); sig_mag = sig(5); persistent qk biask wk Pk; % Initialize States and Measurement if isempty(qk) qk = [0 0 0 1]'; biask = zeros(3,1); wk = wk1t; sig_n=sqrt(sig_st^2+sig_ss^2+sig_mag^2); Pk = dt^(1/4)*sig_n^(1/2)*(sig_v^2+2*sig_u*sig_v*dt^(1/2))^(1/4)*eye(6); wk1=wk; qk1=qk; biask1=biask; Pk1=Pk; return; end MaxST = 1;

Page 140: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

121

MaxSS = 3; % Index of last sun sensor MaxMag = 4; % Index of last magnetometer SSangles = [20;160]; % Sun Sensors fram angles SSaxis = [2; 2]; % Sun Sensor rotation axis 1 = x, 2 = y, 3 = z %% Propagation biask1 = biask; Skew_w = SKEW(wk); Mag_w = norm(wk); psik = (sin(1/2*Mag_w*dt)/Mag_w)*wk; Omega = [cos(1/2*Mag_w*dt)*eye(3)-SKEW(psik) psik; -psik' cos(1/2*Mag_w*dt) ]; qk1 = Omega*qk; Phi_11 = eye(3)-Skew_w*sin(Mag_w*dt)/Mag_w + Skew_w^2*(1-cos(Mag_w*dt))/Mag_w^2; % 7.59b Phi_12 = Skew_w*(1-cos(Mag_w*dt))/Mag_w^2 - eye(3)*dt -... 7.59c Skew_w^2*(Mag_w*dt-sin(Mag_w*dt))/Mag_w^3; Phi_21 = zeros(3); % 7.59d Phi_22 = eye(3); % 7.59e Phi = [Phi_11 Phi_12; Phi_21 Phi_22]; % 7.59a Gk = [-eye(3) zeros(3); zeros(3) eye(3)]; Qk = [ (sig_v^2*dt+1/3*sig_u^2*dt^3)*eye(3) -(1/2*sig_u^2*dt^2)*eye(3) ; -(1/2*sig_u^2*dt^2)*eye(3) (sig_u^2*dt)*eye(3) ]; Pk1 = Phi*Pk*Phi'+Gk*Qk*Gk'; %% Update Loop ----------------------------------------------------------- if(sum(mflag) >= 1) Att = ATT(qk1); delX = zeros(6,1); for i = 1:MaxMag % Compute H matrix for Star Tracker Measurement --------------------------- if( (mflag(i) == 1) && (i <= MaxST) ) Xi = XI(qk1); H = [ 1/2*Xi(1:3,:) zeros(3,3) ]; R = sig_st^2*eye(3);

Page 141: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

122

% Gain K = Pk1*H'/(H*Pk1*H' + R); % Update Pk1 = (eye(6) - K*H)*Pk1; res = yk1(1:3,1) - qk1(1:3,1); delX = delX + K*(res-H*delX); % Update for Sun Sensor Measurement --------------------------------------- elseif( (mflag(i) == 1) && (i <= MaxSS) ) % to max number of Sun Sensors H = [ DCM(SSaxis(i-MaxST),SSangles(i-MaxST))*SKEW(Att*S) zeros(3,3) ]; R = sig_ss^2*eye(3); % Gain K = (Pk1*H')/(H*Pk1*H' + R); % Update Pk1 = (eye(6) - K*H)*Pk1; res = bs(:,i-MaxST) - DCM(SSaxis(i-MaxST),SSangles(i-MaxST))*Att*S; delX = delX + K*(res-H*delX); % Update for Magnetometer Measurement ----------------------------------- elseif( (mflag(i) == 1) && (i <= MaxMag) ) % to max number of Magnetometers H = [SKEW(Att*B) zeros(3,3)]; R = sig_mag^2*eye(3); % Gain K = (Pk1*H')/(H*Pk1*H' + R); % Update Pk1 = (eye(6) - K*H)*Pk1; res = Bk1 - Att*B; delX = delX + K*(res-H*delX); end end qk1 = qk1+1/2*XI(qk1)*delX(1:3,:); qk1 = qnormalize(qk1'*qk1,qk1);

Page 142: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

123

biask1 = biask1 + delX(4:6,:); else end wk1 = wk1t - biask1; % Save previous values qk = qk1; biask = biask1; wk = wk1; Pk = Pk1; return %-------------------------------------------------------------------------- %% Normalizing routine for quaternions function qk1 = qnormalize(qnorm,qk1) while (qnorm) > 1 if qnorm > 1 + 1e-12 qk1 = ((3 + qnorm)/(1 + 3*qnorm))*qk1; % rescale quaternion to (err^3)/32 else qk1 = qk1/sqrt(qnorm); % renormalize quaternion end qnorm = qk1'*qk1; end return %-------------------------------------------------------------------------- %% Make Sun Sensor DCM function A = DCM(axis,a) A = zeros(3,3); switch axis case 1 A = [1 0 0; 0 cosd(a) sind(a); 0 -sind(a) cosd(a)]; case 2 A = [cosd(a) 0 -sind(a); 0 1 0; sind(a) 0 cosd(a)]; case 3 A = [cosd(a) sind(a) 0; -sind(a) cosd(a) 0; 0 0 1]; end return %----------------------------------------------------------------------

Page 143: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

124

THIS PAGE INTENTIONALLY LEFT BLANK

Page 144: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

125

LIST OF REFERENCES

[1] R. C. Olsen, Remote Sensing from Air and Space. Bellingham: The

International Society for Optical Engineering, 2007.

[2] Alex da Silva Curiel et al., "Small Satellites For Real Operational Missions in Earth Observation," Surrey Satellite Technology Ltd, Surrey, UK, 2006.

[3] Armen Toorian, Emily Blundell, Jordi Puig Suari, and Robert Twiggs, "Cubsats as Responsive Satellites," in AIAA 3rd Responsive Space Conference 2005, Long Beach, 2005, pp. 1–9.

[4] Riki Munakata, Wenschel Lan, Armen Toorian, Amy Hutputanasin, and Simon Lee, "CubeSat Design Specification Rev. 12," California Polytechnic University, San Luis Obispo, Design Specification 2009.

[5] Michael's List of Cubesat Satellite Missions. (Accessed 2009, November) [Online]. http://mtech.dk/thomsen/space/cubesat.php

[6] Mathew Richard Crook, "NPS CubeSat Launcher Design, Process and Requirements," Naval Postgraduate School, Monterey, Master's Thesis 2009.

[7] Pumpkin, Inc. (Accessed 2008, December) IMI-100 ADACS. [Online]. http://www.cubesatkit.com/docs/datasheet/DS_CSK_ADACS_634-00412-A.pdf

[8] IntelliTech Microsystems, Inc. (Accessed 2009, November) IMI-200 Miniature 3-Axis ADACS Product Specification (6-19-2008). [Online]. http://www.miniadacs.com/linked/imi-200%20specification%204.1.09.pdf

[9] Space Flight Laboratory. (Accessed 2009, November) CubeSat Compact Three-Axis Attitude Actuator and Sensor Pack. [Online]. http://www.utias-sfl.net/SFL-SPC-ACS-SYS-3.3-flyer.pdf

[10] Sinclair Interplanetary. (Accessed 2009, November) Picosatellite Reaction Wheels. [Online]. http://www.sinclairinterplanetary.com/10mNm-secwheel2009a.pdf

Page 145: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

126

[11] Allen J Blocker, "Tinyscope: The Feasibility of a Tactically Useful, Three-Axis Stabilized, Earth-Imaging Nano-Satellite," Naval Postgraduate School, Monterey, CA, Master's Thesis December 2008.

[12] Christopher John Ortiona, "Systems Level Engineering of Advanced Experimental Nano-Satellites," Naval Postgraduate School, Monterey, Master's Thesis 2009.

[13] Analog Devices, Inc. (Accessed 2009, July) Triaxial Inertial Sensor with Magnetometer. [Online]. http://www.analog.com/static/imported-files/data_sheets/ADIS16400_16405.pdf

[14] Julie K .Deutschmann and Itzhack Y Bar-Itzhack, "Evaluation of Attitude and Orbit Estimation Using Actual Earth Magnetic Field Data," Journal of Guidance, Control, and Dynamics, vol. 24, no. 3, pp. 616–623, May 2001.

[15] Doug Sinclair. (Accessed 2008, July) SS_411 Two-Axis Digital Sun Sensor. [Online]. http://www.sinclairinterplanetary.com/sunsensor2009b.pdf

[16] AeroAstro. (Accessed 2008, December) Miniature Star Tracker. [Online]. http://www.aeroastro.com/datasheets/Miniature_Star_Tracker.pdf

[17] NovAtel Inc. (Accessed 2008, December) OEMV-1 & OEMV-1G. [Online]. http://www.novatel.com/Documents/Papers/OEMV1G.pdf

[18] IEEE Aerospace and Electronic Systems Society, "IEEE Standard Specification Format Guide and Test Procedure for Single-Axis Laser Gyros," American National Standards Institute, New York, IEEE Standard 647–2006, 2006.

[19] Lawrence C. Ng, "On The Application of Allan Variance Method for Ring Laser Gyro Performance Characterization," Lawrence Livermore National Laboratory, Internal/Limited External Report UCRL-ID-115695, 1993.

[20] M. A. Hopcroft. (2008, October) allan v1.71. Matlab M-file.

[21] W. J. Riley, "Addendum to a Test Suite For The Calculation of Time Domain," in IEEE Frequency Control Symposium, 1996.

[22] IEEE Aerospace and Electronic Systems Society, "IEEE Standard Specification Format Guide and Test Procedure for Coriolis Vibratory Gyros," American National Standards Institute, New York, IEEE Standard 1431–2004, 2004.

Page 146: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

127

[23] Analog Devices. (Accessed 2009, July) iSensor® PC-USB Evaluation System. [Online]. http://www.analog.com/static/imported-files/eval_boards/ADISUSBZ.pdf

[24] Quang M. Lam, Nick Stamatakos, Craig Woodruf, and Sandy Ashton, "Gyro Modeling and Estimation of Its Random Noise Sources," in AIAA Guidance, Navigation, and Control Conference and Exhibit, Austin, TX, 2003, pp. 11–14.

[25] The Analytic Sciences Corporation, Applied Optimal Estimation, Arthur Gelb, Ed. Cambridge, USA: The M.I.T. Press, 1974.

[26] Greg Welch and Gary Bishop, "An Introduction to the Kalman Filter," Department of Computer Science University of North Carolina at Chapel Hill, Chapel Hil, NC, TR 95-041, 2006.

[27] John L. Crassidis and John L. Junkins, Optimal Estimation of Dynamic Systems, Goong Chen and Thomas J. Bridges, Eds. New York, USA: Chapman & Hall/CRC, 2004.

[28] James W. Murrel, "Precision Attitude Determination For Multimission Spacecraft," in Proceeding of the AIAA Guidance, Navigation, and Control Conference, Palo Alto, CA, 1978, p. 70–87.

[29] E. J. Lefferts, F L Markley, and M. D. Shuster, "Kalman Filtering for Spacecraft Attitude Estimation," in AIAA 20th Aerospace Sciences Meeting, Orlando, FL, 1982.

[30] Malak A. Samaan and Mohammad Abdelrahman, "Satellite Attitude Determination Utilizing Measurement Sensor and Kalman Filtering," in ACSE 05 Conference, Cairo, Egypt, 2005.

[31] Paul M.Oppenheimer, "Attitude Control System For Agile Nano-Satellites," Naval Postgraduate School, Monterey, CA, Master's Thesis 2009.

[32] Norman S. Nise, Control Systems Engineering. Hoboken: John Wiley & Sons, Inc., 2004.

[33] Gene F. Franklin, J David Powell, and Abbas Emami-Naeini, Feedback Control of Dynamic Systems. New York: Addison-Wesley Publishing Company, 1994.

Page 147: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

128

[34] Paul Zarchan and Howard Musoff, Fundamentals of Kalman Filtering A Practical Approach. Reston: American Institute of Aeronautics and Astronautics, 2000.

[35] Katsuhiko Ogata, Modern Control Engineering. Upper Saddle River: Prentice Hall, 1997.

[36] ORS Office. (2009, January) Operationally Responsive Space Office: 2009 Naval Postgraduate School Spacecraft Design Class.

[37] James R. Wertz and Wiley J. Larson, Space Mission Analysis and Design. Hawthorne: Microcosm Press, 2007.

[38] Bong Wie, Space Vehicle Dynamics and Control. Reston: American Institute of Aeronautics and Astronautics, 2008.

[39] C. Chance Litton, "Tinyscope: The Feasibility of a Tactically Useful Earth-Imaging Nanosatellite and a Preliminary Design of the Optical Payload," Naval Postgraduate School, Monterey, CA, Master's Thesis January 2009.

[40] Scott Flagg, Rich White, and Roberta Ewart, "Operationally Responsive Space Specifications and Standards: An Approach to Converging with the Community," in AIAA Space 2007 Conference & Exposition, Long Beach, 2007, pp. 1–19.

[41] Les Doggrell, "Operationally Responsive Space: A Vision of the Future of Military Space," Air & Space Power Journal, pp. 1–9, 2006.

[42] Ryan Nugent, Riki Munakata, Alexander Chin, Roland Coelho, and Jordi Puig-Suari, "The CubeSat: The Picosatellite Standard for Research and Education," in AIAA Space 2008, San Diego, 2008, pp. 1–11.

[43] Howard D. Curtis, Orbital Mechanics for Engineering Students. Oxford, United Kingdom: Elsevier Butterworth Heinemann, 2005.

[44] Roger R. Bate, Donald D Mueller, and White E Jerry, Fundamentals of Astrodynamics. New York, United States of America: Dover Publications, Inc., 1971.

[45] R. C. Olsen, "Introduction to the Space Environment," Naval Postgraduate School, Monterey, United States of America, Class Guide 2005.

Page 148: NAVAL POSTGRADUATE · PDF fileREPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 ... coverage (TINYSCOPE) is an ongoing investigation at NPS, ... NAVAL POSTGRADUATE SCHOOL December

129

INITIAL DISTRIBUTION LIST

1. Defense Technical Information Center Ft. Belvoir, Virginia

2. Dudley Knox Library Naval Postgraduate School Monterey, California