<<

OPTIMAL -RAISING AND ATTITUDE CONTROL OF ALL-ELECTRIC SATELLITES

A Dissertation by Suwat Sreesawet Master of Science, Wichita State University, 2014 Bachelor of Engineering, Kasetsart University, 2009

Submitted to the Department of and the faculty of the Graduate School of Wichita State University in the partial fulfillment of the requirements for the degree of Doctor of Philosophy

December 2018 c Copyright 2018 by Suwat Sreesawet

All Rights Reserved OPTIMAL ORBIT-RAISING AND ATTITUDE CONTROL OF ALL-ELECTRIC SATELLITES

The following faculty members have examined the final copy of this dissertation for form and content, and recommend that it be accepted in partial fulfillment of the requirement for the degree of Doctor of Philosophy, with a major in Aerospace Engineering.

Atri Dutta, Committee Chair

James E. Steck, Committee Member

Roy Myose, Committee Member

Animesh Chakravarthy, Committee Member

John Watkins, Committee Member

Accepted for the College of Engineering

Steven Skinner, Interim Dean

Accepted for the Graduate School

Dennis Livesay, Dean

iii DEDICATION

To my family, my mother, father, and sister who have always supported me and provided me the warmth to my heart for entire life, even though I am on the other side of world. To my future wife who always cares for me, and to my friends with whom I have spent many great together.

iv ACKNOWLEDGMENTS

First of all, I have many thanks for my family, my dad, mon and sister. They always keep supporting and encouraging me since the day I started breathing with my own nose. I always perceive their love and support even I have been in the opposite side of the world for many years. I would like to thank my adviser, Dr. Atri Dutta, for his guidance and support all along this dissertation. He has kindly and sincerely helped since the first day i met him. I have learned a variety of knowledge from him. I would also like to thank the committee members Dr. James E. Steck, Dr. John Watkins, Dr. Animesh Chakravarthy and Dr. Roy Myose for their advice and suggestions for this research. I would like to tan I would also like to thank Ministry of Science and Technology, Thailand for funding my graduate program. I would Thanks also to my colleagues and friends who helped with their suggestions during the course of this research work.

v ABSTRACT

Electric propulsion is gaining popularity among satellite operators due to its fuel efficiency. However, electric propulsion has the limitation of producing a small magnitude of , meaning that the transfer to is of the order of several months. The long transfer time adds more complexity to the mission design process due to the long exposure to hazardous radiation belts. Obviously, require electric power that is generated from sunlight by satellite solar panels. Therefore, the ’s shadow significantly impacts the orbit-raising maneuver. This study proposes a novel, robust, and fast numerical methodology for generating low-thrust to the . This methodology utilizes a new set of state variables that has a physical interpretation and exhibits slow variation under a small magnitude of thrust. The absence of mathematical singularities in the equatorial plane adds to the benefits. The new set of state variables, along with a closed-loop guidance scheme and direct optimization methodology, is used to optimize the satellite . An unconstrained optimization scheme is able to robustly and rapidly generate low-thrust orbit-raising trajectories for a variety of mission scenarios, various initial , application of electric battery to allow thrusting during eclipses, and orbital perturbations due to the earth’s oblateness or a third body. The proposed methodology can be seamlessly integrated into receding horizon control scheme, which recomputes the minimum time trajectory at regular intervals referred to as planning horizon. The attitude of must also be maintained in a desired direction which can be time-varying. Regular satellites perform orbit-raising using stowed solar array. In contrast, all-electric satellites perform orbit-raising using deployed solar arrays. Therefore, simple inverse controllers for attitude control with a neural network-based observer has been studied and evaluated. We demonstrate that the performance of the inverse controller is drastically improved with the proposed observer.

vi TABLE OF CONTENTS

Chapter Page

1. INTRODUCTION ...... 1

1.1 Motivation ...... 1 1.2 Research Objective ...... 3 1.3 Literature Review ...... 4 1.3.1 Low-Thrust Orbit-Raising ...... 4 1.3.2 Attitude Control ...... 6 1.4 Contributions ...... 8 1.5 Organization of Dissertation ...... 9

2. SPACECRAFT TRANSLATIONAL DYNAMICS ...... 11

2.1 Two-Body Problem ...... 11 2.2 ...... 14 2.2.1 Engine Thrust ...... 14 2.2.2 Third Body ...... 15 2.2.3 Earth Oblateness ...... 16 2.3 Set of Orbital Parameters ...... 17 2.3.1 Classical ...... 17 2.3.2 Modified Equinoctial Orbital Element ...... 19 2.3.3 Spherical Coordinates ...... 21 2.4 Proposed Set of Orbital State Variables ...... 22 2.4.1 Reference Frames ...... 23 2.4.2 State Variables and Transformation ...... 27 2.4.3 Variation of Proposed State Variables ...... 30

3. SPACECRAFT ROTATIONAL DYNAMICS ...... 38

3.1 Reference Frames ...... 38 3.2 Attitude Representation ...... 39 3.2.1 Euler’s Angles & Direction Cosine Matrix ...... 39 3.2.2 Single Rotation and Axis of Rotation ...... 41 3.2.3 Quaternion or Euler’s Parameters ...... 42 3.3 Attitude Kinematics ...... 44 3.4 Attitude Motion ...... 49

4. NUMERICAL TRAJECTORY OPTIMIZATION ...... 54

4.1 Unconstrained Optimization ...... 54

vii TABLE OF CONTENTS (continued)

Chapter Page

4.1.1 Orbit Segmentation and Eclipse Consideration ...... 55 4.1.2 Optimization Sub-Problem ...... 57 4.1.3 Terminal Conditions ...... 62 4.1.4 Special Case of Planar Transfer ...... 62 4.2 Receding Horizon Control ...... 64 4.2.1 Constrained Non-Linear Optimization Problem ...... 65 4.2.2 Initial Guess Generation ...... 67

5. ATTITUDE CONTROLLER DESIGN ...... 69

5.1 Inverse Controller ...... 69 5.2 Uncertainty and Compensation ...... 70 5.2.1 The Design of Modified State Observer ...... 72

6. SIMULATION RESULTS ...... 79

6.1 Results of Low-Thrust Orbit-Raising ...... 79 6.1.1 Planar Transfers ...... 80 6.1.2 Non-Planar Transfers ...... 86 6.1.3 Sub-Optimality of Computed Solutions ...... 91 6.2 Receding Horizon Control ...... 92 6.3 Attitude Controller ...... 95

7. ATTITUDE CONTROL TESTBED DESIGN ...... 105

7.1 Background ...... 105 7.1.1 State of Spherical Air Bearing Testbed ...... 106 7.2 Testbed Design ...... 107 7.2.1 Mechanical Design ...... 108 7.2.2 Electrical Design ...... 113

8. CONCLUSIONS ...... 126

8.1 Thesis Summary ...... 126 8.2 Future Work ...... 128 8.2.1 Low-Thrust Trajectory Generation ...... 128 8.2.2 Attitude Controller ...... 129 8.2.3 Attitude Control Testbed ...... 130

REFERENCES ...... 131

viii TABLE OF CONTENTS (continued)

Chapter Page

Appendices ...... 141

ix LIST OF TABLES

Table Page

3.1 List of possible rotational sequences and singularities...... 39

−1 3.2 List of function S (θ2, θ3) for all Euler’s angle sequence...... 46

6.1 Summary of orbit-raising results...... 91

6.2 Optimality gap of solutions computed using proposed methodology...... 92

x LIST OF FIGURES

Figure Page

1.1 Van Allen radiation belts [1]...... 2

2.1 Radius vectors in two-body problem...... 12

2.2 Perturbation from third body...... 16

2.3 3-1-3 sequential rotation of classical orbital parameter...... 18

2.4 Spherical coordinates...... 22

2.5 First rotation about the basis vector Jˆ of frame I...... 24

2.6 Second rotation about the basis vector Iˆ0 of frame I0...... 25

2.7 Third rotation about the basis vector kˆ of frame O...... 26

3.1 Reference frames to describe actual and desired spacecraft orientations. . . . . 38

3.2 Rotation of a reference frame about an axis...... 41

3.3 Structure of spacecraft with ...... 50

3.4 Multiple-spin body...... 51

4.1 Spiral shape of low-thrust trajectory (not to scale)...... 55

4.2 Segmentation of the trajectory over a revolution...... 56

4.3 Model of the Earth’s shadow...... 57

4.4 Algorithm flowchart...... 64

4.5 Spacecraft path planning...... 65

4.6 Flowchart of receding horizon scheme...... 68

5.1 Block diagram of inverse feedback control and observer...... 73

5.2 Structure of neural network...... 74

6.1 Result of the circular LEO to GEO transfer...... 81

xi LIST OF FIGURES (continued)

Figure Page 6.2 Result of GTO to GEO planar transfer...... 82

6.3 Result of sub-GTO to GEO planar transfer...... 83

6.4 Result of planar super-GTO to GEO planar transfer...... 84

6.5 Result of circular LEO to GEO Transfer with energy storage...... 85

6.6 Result of non-planar circular LEO to GEO transfer...... 87

6.7 Result of the non-planar GTO to GEO Transfer...... 89

6.8 Result of the non-planar LEO to GEO case with the energy storage...... 90

6.9 Result of the receding horizon control in earth orbit...... 94

6.10 Result of the receding horizon control in Enceladus’s orbit...... 95

6.11 Comparison of performance between with and without MSO...... 97

6.12 Control input torque with MSO...... 97

6.13 Performance of MSO ...... 98

6.14 Comparison of performance between the controllers with and without MSO. . 100

6.15 Control input and its transient period...... 101

6.16 Performance of MSO prediction ...... 101

6.17 Problem configuration...... 102

6.18 Comparison of performance between the controllers with and without MSO. . 103

6.19 Control input...... 104

6.20 Performance of MSO prediction ...... 104

7.1 Shapes of spherical air bearing...... 107

7.2 Examples of spherical attitude control testbeds...... 108

xii LIST OF FIGURES (continued)

Figure Page 7.3 Air bearing structure...... 109

7.4 Designed air bearing structure...... 109

7.5 Spinning directions of wheels...... 110

7.6 Limiting mechanism for roll and pitch angles...... 113

7.7 Li-Po battery and charging equipments...... 114

7.8 DC buck converter...... 115

7.9 DC buck converter...... 116

7.10 Simple Linear model of DC motor...... 117

7.11 Brush DC motor...... 118

7.12 Concept of incremental encoder...... 119

7.13 Arduino Uno...... 121

7.14 Inertia Measurement unit...... 122

7.15 Real-time clock module...... 123

7.16 Arduino Mega2560...... 124

7.17 Raspberry Pi 3 model B...... 125

xiii NOMENCLATURE

ADCS Attitude Determination and Control System

AEHF Advanced Extremely High Frequency

CM Center of

COMSAT Commercial Communication Satellite

GEO Geosynchronous Equatorial Orbit

GTO Geosynchronous

I2C Inter-Intergrated Circuit

LEO

Li-Po Lithium-Polymer

MRAC Model Reference Adaptive Control

MSO Modified State Observer

PD Proportional-Derivative

PWM Pulse Width Modulation

RTC Real-Time Clock

SPI Serial Peripheral Interface

TPBVP Two-Point Boundary Value Problem

USB Universal Serial Bus

xiv CHAPTER 1

INTRODUCTION

1.1 Motivation One of the most valuable orbits for satellites around the earth is the geosynchronous equatorial orbit (GEO) because spacecraft in this orbit are stationary with respect to a ground station on the surface of the earth. The advantages of being stationary are usually ex- ploited by commercial communication satellite (COMSAT) operators. In general, COMSATs have relatively high-power generation due to the requirement of their payload (transponders). Moreover, power-to-mass ratios of COMSATs show an increasing trend [2], opening more possibilities of including the power-hungry electric propulsion systems on COMSATs during transfer of the satellite from low altitudes to the GEO. Historically, electric propulsion systems have grown from a small area of high-impulse or deep-space missions [3] into precision control due to their fuel efficiency and capability of continuous operation [4]. However, these systems have gained popularity among satel- lite operators because of their well-known capability of saving fuel compared to chemical thrusters [5]. Recently, two satellites launched in 2015 were designed using the 702SP electric architecture in which orbital maneuvers rely solely on electric propulsion [6]. In 2010, a U.S. Air Force Advanced Extremely High Frequency (AEHF) satellite was launched into space and encountered a lethal failure of a liquid- (chemical) engine while steer- ing into the operational GEO [7]. Eventually, this satellite was recovered innovatively by using on-board electric propulsion that had been initially designed for station-keeping only, with an inevitable delay of eight months due to the small magnitude of generated thrust [7]. Earlier in 2001, the European Space Agency performed a rescue mission for their COMSAT named Artemis after the launcher failure injected the satellite lower than its intended injec- tion orbit [8]. The on-board electric propulsion, which originally was intended to actuate only north-south station keeping in the GEO, was redesigned to perform tangential thrust-

1 ing for orbit-raising maneuvers from altitude of 30,000 to 35,786 km of the GEO [8]. While, these satellites used electric thrusters to salvage the mission, the Boeing 702-SP architecture allows the use of an electric thruster for all propulsive tasks. The fuel-saving capability of electric thrusters over traditional chemical thrusters allows for the design of lighter and smaller satellites that can be stacked together within a , reducing launch cost. However, in order to incorporate electric propulsion into all types of GEO satellites (beyond a small platform), mission designers have to address several challenges, the crucial one being the long transfer time of several months when maneuvers begin from either a low earth orbit (LEO) or a geosynchronous transfer orbit (GTO). The long transfer time not only complicates the trajectory planning but also degrades the on-board electrical components and solar panels due to prolonged exposure to the hazardous environment of Van Allen radiation belts [9], as depicted in Figure 1.1 [1]. Furthermore, the lack of power generation within the earth’s shadow also extends the transfer time because electric thrusters cannot be operated unless energy storage is provided. Therefore, the transfer time is an important factor that must be minimized. Minimizing the transfer time for low-thrust trajectories is a challenging problem, because it requires the solution of a long-time-scale nonlinear multi-phase optimal control problem.

Rotational Outer Axis Radiation Belt Inner Radiation Belt

Inner Radiation Belt

Magnetic Outer Axis Radiation Belt

Figure 1.1: Van Allen radiation belts [1].

2 1.2 Research Objective Since the electric energy for operating thrusters needs to be harvested by solar panels, the earth’s shadow constraints and possible inclusion of energy storage must be taken into consideration. This study aims to develop control and optimization tools for analyzing future high-power all-electric satellites. When the satellite is in an eclipse, thrusters need to be idle, due to the lack of power generation, unless the on-board power storage is adequately employed to provide the requisite power. One can envision spacecraft that possibly employ only a partial energy storage required for operation during eclipses. Consequently, thrusters could generate a partial amount of full thrust for sustaining the operation of the propulsion system during the transfer. While there is no solar energy, the orientation of solar panel could be relaxed in order for the attitude control system to be in an idle state. On the other hand, when the spacecraft is in sight of the sun, solar panels are able to generate enough power for supporting full operation of its electric propulsion system. In the case of energy storage support, batteries must be charged to their full capacity of storage during this time. Therefore, an attitude control subsystem is required to keep the solar panel pointing toward the sun. Additionally, the direction of the spacecraft to the sun also changes over time due to the earth revolving around it during several months of the orbit-raising maneuver. The objectives of this research are threefold. The first objective is to determine the low-thrust orbit-raising trajectories from arbitrary initial orbits to the GEO in robust man- ner, considering the constraint of eclipses and potential inclusion of energy storage support. Rapid computation of such trajectories allows the creation of a robust tool for mission de- signers for rapidly evaluating a wide range of technology alternatives (thrusters, battery, solar array, control mechanism). The second objective is to develop a receding horizon con- trol scheme for orbit-raising in order to incorporate the orbital uncertainty of third-body and earth oblateness. The final objective is to demonstrate the suitability of an

3 inverse attitude controller in order to orient a spacecraft towards the desired attitude in the presence of modeling error or external disturbance. 1.3 Literature Review 1.3.1 Low-Thrust Orbit-Raising The problem of low-thrust trajectory optimization has been studied for several decades in a variety of scenarios [10–13]. Originally, the determination of optimal trajectories is based on applications of the calculus of variations [12]. This method, referred to as indirect op- timization, requires the solution of a two-point boundary value problem (TPBVP) defined by a set of ordinary differential equations and constraints on initial or final states (and/or) co-states. Many methods, including the popular shooting method, have been developed for solving the TPBVP. [14, 15]. Usually, the well-know is challenge that an accurate initial guess is required for numerical convergence to an optimal solution [16]. When convergence is achieved, the satisfaction of necessary conditions of optimality ensures that the optimality of solutions is guaranteed. In order to alleviate the difficulty of providing an initial guess, Thorne and Hall developed a method for determining an approximate initial guess for solving the TPBVP [17]. In the following year, they published another method related to their pre- vious work by utilizing the Kustaanheimo-Stiefel transformation on the state variables [18]. In 2000, Marasch and Hall used an indirect method for computing low-thrust trajectories with the deployment of on-board energy storage by dividing a long trajectory into a se- ries of circular arcs [19]. Later in 2010, Liu and Tongue demonstrated an indirect method application for a non-singular set of orbital elements, referred to as equinoctial elements [16]. Since the convergence characteristics of numeric methods is very sensitive to the initial guess, the domain of convergence is usually small, and a small deviation can result in divergence. In order to circumvent the challenge of indirect optimization, the collocation technique is used to convert ordinary differential equations into algebraic equations using quadrature rules. This results in a nonlinear programming problem that may be solved by commercial optimization software such as Sparse Nonlinear OPTimizer (SNOPT) or

4 Interior Point OPTimizer (IPOPT) [20, 21]. The set of equinoctial orbital elements along with the collocation method by Betts was used for analyzing the low-thrust problem [22]. This technique usually involves large-scale parametric optimization due to the long transfer time. The direct method is known to have a better tolerance to arbitrary initial guesses (domain of convergence is greater). However, this method still requires reasonable guesses, and automated convergence is not guaranteed [23]. One factor that affects the performance of this method is the set of state variables. Since these variables are integrated stepwise by a numerical integration technique (quadrature rule), a high number of collocated nodes are required to capture the dynamics of rapid changing in the state variables, leading to an overly complex computational problem. Due to the requirements of initial guesses, some researchers have developed a shape- based technique for generating approximate trajectories that could be used as initial guesses for the direct or indirect methods. The shape-based technique was developed by initially assuming that a trajectory has a certain geometry. Then, the control input is determined by following the constraints of equations of motion along the assumed trajectory. The process of control input being determined from the given trajectory is similar to that of the inverse control problem in aeronautics [24]. In 2004, Petropoulos and Longuski proposed an exponential sinusoidal geometry for spherical coordinates [25]. However, Wall and Conway’s study suggested that the shape of the exponential sinusoidal is far from being optimal, and they proposed a new shape in the form of an inverse polynomial inspired by known optimal trajectories [26]. The shape-based method for different sets of state variables was studied by De Pascale and Vasile in 2006 [27] and Vasile et al. in 2007 [28] by using pseudo- equinoctial elements. Later in 2011, Novak and Vasile introduced a shape-based trajectory on the spherical coordinates and equinoctial orbital elements with a method for improving optimality of the trajectory [29]. In 2012, the finite Fourier series was used to approximate the trajectory shapes [30].

5 Following a different approach, some researchers have developed a methodology sim- ilar to a closed-loop guidance-like scheme. The solution here is obtained by the integration of the trajectory from the initial point to the final destination using some guidance schemes. In 1998, a method referred as a simple guidance scheme was introduced by Kluever [31]. This method determines the optimal thrust direction from the maximum rate of change of the desired orbital elements, which are semi-major axis, eccentricity, and inclination. It tries to drive the current states into the target as fast as possible. Later in 2003, Petropoulos demonstrated the concept of the “proximity quotient” to measure the proximity of the cur- rent orbit and the destination orbit [32, 33]. The solution is determined by optimizing the rate of change of the proximity quotient including all orbital parameters. 1.3.2 Attitude Control During the orbit-raising maneuvering, the attitude of the spacecraft must be con- sidered. Attitude control is used in a variety of applications involving, spacecraft, aircraft, robotic vehicles, underwater vehicles, and missiles. In attitude control, the classic technique of the proportional-derivative (PD) feedback law, has been established by many studies [34–36]. Due to the ease of concept and low risk of implementation, this class of controllers still dominates practical spacecraft operations. In January 1944, a spacecraft, named Clementine, was launched for lunar mapping operation. Its control algorithm was based on a proportional-integral-derivative (PID) controller with an assist from an attitude determination subsystem that uses a simple Kalman filter for sensing the angular rate from two solid optical gyros and two wide field-of-view star trackers. As a result, this control con- figuration yielded a great performance in lunar mapping mission [37]. However, in the design of the attitude controller, there is a mathematical complication, referred to as the unwinding phenomenon, which is due to the nature of the three-dimensional rotation space [38]. The complication here is that continuous controllers unnecessarily drive the orientation through a large angle before stopping at the desired point. Therefore, several studies proposed tech- niques to overcome this problem by introducing a discontinuous control law [39–41]. Some

6 researchers studied the problem that full-state feedback is not available. In 1991, the nonlin- ear observer for estimating angular was applied to the attitude control for the first time [42]. Later, control methodologies that require only the measurement of orientation were published [43–45]. In the field of attitude control, the problem of uncertain system modeling is also taken into an account because of the difficulty in accurately sensing the mass property or the , especially during operation. Therefore, researchers circumvented the problem by designing inertia-free control algorithms which the computation of the control input does not require the information of moment of inertia [46, 47]. Later in 2014, an adaptive controller that is capable of predicting the moment of inertia was proposed [48]. However, moment of inertia is not the only source of uncertainty. External disturbance torque

also degrades performance of the attitude controller. The robust control technique, called H∞ control, was applied to guarantee controller performance in the presence of unknown external

torque [49–51]. Stabilizing a spacecraft by the H∞ control under additional uncertainty induced by sloshing onboard liquid has been demonstrated [52]. Control techniques that consider the combination of different uncertainties have also been proposed [53,54]. Neural network-based system observer, referred to as modified state observer (MSO) for airplane have been used in some studies [55–57]. These observer, along with an inverse controller have been successfully applied in the field of general aviation control [55, 58–60]. Later, the capability of MSO observing uncertain nonlinear states was demonstrated with atmospheric re-entry and earth’s oblateness perturbation problem [56, 57]. In the control problem, the MSO is also designed for addressing the problem of high frequency-oscillation in model reference adaptive control (MRAC) with a fast learning rate. Studies have also addressed the problem of MRAC by cascading a low-pass filter into the system [61–63], usually referred to as L1 adaptive control. Others solved the problem of high oscillations by adding an extra integral term in the neural network updating rule [64,65].

7 1.4 Contributions The contributions of this dissertation are as follows:

• A novel mathematical formulation for describing the translational dynamics of a space- craft has been developed. The state variables are meaningful (have physical interpre- tation), five of them are constant under Keplerian motion, and they vary slowly due to the perturbation or thrust force. The sixth variable locates the spacecraft in orbit and changes quickly with time. Unlike classical orbital elements that have well-known singularity for circular orbits on the equatorial plane, the novel mathematical formu- lation is non-singular on equatorial plane and for circular orbits. However, the model is singular for two cases of polar orbits not encountered for the problem under the study. Related works have been published in proceeding of AAS/AIAA Space Flight Mechanics Meeting [66] and in Journal of Guidance, Control, and Dynamics [67].

• An unconstrained optimization framework that generates sub-optimal low-thrust tra- jectories without the need for a user-inputted guess has also been developed. The algorithm transforms a long-time scale orbit-raising optimal control problem into a series of parameter optimization problems that are readily solvable by a non-linear optimization solver such as fminuncon (MATLAB). The works have been published in proceeding of AAS/AIAA Space Flight Mechanics Meeting [66, 68] and Journal of Guidance, Control, and Dynamics [67].

• The proposed unconstrained optimization framework is developed by including the effect of earth’s oblateness and rotating conical shape of earth’s shadow. This devel- opment also adds the capability in analyzing the scenarios of different thruster types. The transfer by different thruster types allow the spacecraft to reduce radiation dose from earth’s hazardous radiation region. The work has been publish in AIAA SciTech Forum [69].

8 • Taking advantage of the robustness of the optimization methodology, this method is implemented within a receding horizon framework suitable for onboard implementa- tion. The framework includes constraints typical of a direct optimization scheme and improves the solution of the unconstrained optimization solution. This framework was tested within a simulation environment that takes into account J2 and third-body perturbation. The results have been published in American Control Conference [70].

• A proportional-derivative inverse controller was designed and improved by appending a modified-state observer for attitude control during the orbit-raising with simulation. This work has been published in AAS/AIAA Space Flight Mechanics Meeting [71]. A testbed for attitude-control experiments was also designed.

1.5 Organization of Dissertation This dissertation is organized as follows:

• Chapter 2 reviews the translational dynamics of the two-body problem, which describes the motion of a spacecraft orbiting around the earth with perturbations. This chapter also discusses the set of state parameters that are used in orbital motion along with their relative advantages and disadvantages. A set of state parameters, with the derivation of its time rate of change due to arbitrary force (thrust, pertubation), is also proposed.

• Chapter 3 reviews the rotational dynamics of a spacecraft by beginning with the atti- tude representation and the transformation from each representation to another with their time rate of change due to an angular velocity. Then, the equations of motion of a rigid body and multiple-spin body are derived. This chapter also discusses the error dynamics in the rotational motion of a rigid body.

• Chapter 4 discusses the algorithm to generate low-thrust orbit-raising trajectories by using an unconstrained optimization framework. Also discussed is the receding horizon control that allows for automated generation of trajectories implementable in a real- time platform.

9 • Chapter 5 discusses the design of an inverse controller with uncertainty compensa- tion and stability analysis. The appended neural network-based observer along with stability analysis are also discussed.

• Chapter 6 demonstrates the numerical results by beginning with the low-thrust trajec- tories and comparing them with the literature. This chapter also presents results from a receding horizon control, comparing the computational time and objective value be- tween unconstrained and constrained optimizations. Simulation results of the attitude controller are also presented.

• Chapter 7 discusses the design of attitude control testbed. It begins with the discussion of the mechanical structure, appearance, conditions, and specifications. The electrical design of the power supply, batteries, electronic components, their specifications and a wiring diagram are also discussed. Finally, the chapter provides a simple example code and explanation for operating each components.

• Chapter 8 summarizes the dissertation and discusses future work for possibly improving the methodology.

10 CHAPTER 2

SPACECRAFT TRANSLATIONAL DYNAMICS

In this dissertation, the motion of spatial bodies is separated into two types; trans- lational and rotational. The analysis is developed based on Newtonian mechanics which always requires the inertial reference frame (I). This frame is defined to be stationary in space. In this chapter, the translational motion of the spatial bodies is discussed, and the rotational motion is discussed in chapter 4. The translational motion of objects in space primarily follows the Newton’s gravitational law: any two bodies exert attracting force each other with the magnitude being proportional to the product of their masses and inversely proportional to the square of the distance between them. With the combination of Newton’s laws of motion, the motions of celestial bodies can be determined. Furthermore, the problem is simplified by assuming that there are only two objects and these two body have the shape of perfect sphere. This problem is now called two-body problem. However, in the reality, the assumptions are not always valid. For examples, there could be the third body exits or the shape of one body is not perfectly spherical. The effects is still able to be incorporated into the problem by considering them as the perturbation to the two-body problem. However, let us discuss the case that the assumptions are valid. 2.1 Two-Body Problem The two-body problem is a special case of n-body which assumes only two objects in

the system. Let the vector r1 and r2 are the vectors represent the position of the two bodies whose masses are m1 and m2 with respect to the origin of the frame I. The radius vector

pointing from mass m1 to mass m2 is r as depicted in Figure 2.1, so we have

r = r2 − r1. (2.1)

11 Figure 2.1: Radius vectors in two-body problem.

By applying the Newton’s gravitational law and motion, the second time derivative of equation (2.1) is

r¨ = r¨2 − r¨1 (2.2) F F = 2 − 1 (2.3) m2 m1 1 Gm1m2 1 Gm1m2 = ( 3 )(−r) − ( 3 )r (2.4) m2 r m1 r G(m + m ) = − 1 2 r (2.5) r3 µ = − r (2.6) r3

−11 where µ = G(m1 +m2) and G is Newton’s universal gravitation constant of G = 6.674×10

2 2 N.m /Kg . However in the case of a spacecraft orbiting around a , the mass m1 is

much greater than m2, the value µ can be approximated by µ ≈ Gm1. Next, if there exists an arbitrary force (F ) acting on the mass m2, the equation of motion becomes

µ F ¨ r + 3 r = . (2.7) r m2

In an addition, the equation (2.7) can be rewritten into the system form of x˙ = f(x) as follows

r˙ = v (2.8) µ F ˙ v = − 3 r + , (2.9) r m2

12 where v is the velocity vector, in the other words v = r˙. In the absence of perturbation, the trajectory has the shape of conic section, and there exists constants which are specific (h), eccentricity vector (e) and energy (). These constant parameters are define as below,

h = r × v (2.10) v × h r e = − (2.11) µ r v2 µ  = − (2.12) 2 r

The specific angular momentum vector is always perpendicular to the orbit so the orbit plane can be obtained from this vector. The eccentricity vector points into the direction of the closet approach of the orbit.

However, in the presence of force acting on m2, these two parameters are not necessary to be constant and their variation due to the perturbation [72] can be determined by,

F h˙ = r × , (2.13) m2 1 e˙ = [v × (r × F ) + (F × h)] . (2.14) µm2

The derivations of equations. (2.13) and (2.14) can be found at Ref. [73]. In the context of this research, the the masses are the Earth and a spacecraft. The m2, representing the mass of the spacecraft, is denoted as m. The origin of the frame I is placed at the center of the Earth, so the r1 is zero vector. The basis vectors of the frame I are Iˆ, Jˆ and Kˆ where Iˆ points toward vernal equinox, Kˆ points toward the north pole and Jˆ follows the proper orthogonal rule. Next, in order to place a spacecraft into the desired orbit, the engines need to produce thrust which is one of the perturbation on the two-body problem.

13 2.2 Perturbation The perturbation of the two-body problem occurs from several reasons for example;

additional forces acting on mass m1 or m2, the imperfectness of spherical shape of masses or the dragging force with each other. The last example could be the drag from earth atmo- sphere when the satellite stays in a low altitude orbit. Here, we consider three perturbations,

engine thrust FT , third body Fthird and body oblateness FJ2. So the total perturbation to the system is their summation as follows

F = FT + Fthird + FJ2 (2.15)

In this dissertation, the components of perturbation are in the directions of the radius vector rˆ, local horizon nˆ and angular momentum vector hˆ. Note that the directions of basis vectors have to follow the proper orthogonal law which is defined as

nˆ = hˆ × rˆ. (2.16)

Therefore, the perturbation is

ˆ F = Frrˆ + Fnnˆ + Fhh (2.17)  T FR = Fr Fn Fh (2.18) where the subscript R means that the vector is expressed by the coefficients along basis vectors of the frame R. 2.2.1 Engine Thrust

When the engine is operating, the thrust (FT ) is considered to be the arbitrary force of the two-body system acting on the mass m2. Additionally, fuel expenditure of the engines

14 decrease the spacecraft mass by

F m˙ = − , (2.19) Ispg0

where F is magnitude of the thrust, Isp is specific impulse of the engine and g0 is Earth’s

2 gravitational at the surface (g0 ≈ 9.81 m/s ). The required power of the engines can be determined as follows

g I F P = 0 sp (2.20) 2λ where λ is efficiency of the engine. 2.2.2 Third Body As mention earlier, there is an assumption that only two masses exist within the system of the two-body problem. Then, in the case of the existence of the third body, this body affects the two original bodies motion as well as is affected by the two original bodies. However, the effect of the two original body on the third one is discussed here. Hence, the position of the third body is assumed to be known. Now consider the Figure 2.2, there are the third body located at the vector r13 from the mass m1 and the gravitational forces acting on the masses m1 and m2 as F13 and F32 respectively. Now, due to the existence of perturbation, the second time derivative of radius r as earlier shown in equation (2.2) now becomes

r¨ = r¨2 − r¨1 (2.21) F F F F = ( 2 + 23 ) − ( 1 + 13 ). (2.22) m2 m2 m1 m1

We can applying the Newton gravitational law to equation (2.22). Then, we have

µ 1 G(m m ) 1 G(m m ) ¨ 2 3 1 3 r = − 3 r + 3 (−r32) − 3 r13 (2.23) r m2 r32 m1 r13

15   µ −r32 r13 = − 3 r + Gm3 3 − 3 (2.24) r r32 r13

From the Figure 2.2, we know that r32 = r − r13. As a result we get

Figure 2.2: Perturbation from third body.

µ r − r r  ¨ 13 13 r = − 3 r + µ3 3 − 3 (2.25) r r32 r13 µ Fthird = − 3 r + , (2.26) r m2

where µ3 = Gm3 and

  r13 − r r13 Fthird = mµ3 3 − 3 . (2.27) r32 r13

2.2.3 Earth Oblateness The Earth does not have the perfectly spherical shape. The deviation from the spherical shape is considered as the perturbation of the two-body system. This perturbation is mathematically modeled as a summation of a infinite series. The first term of this series represents the attraction of spherical shape while the other terms represent the disturbing force due to the shape deviation. The major term is the second term, J2, which is in order of 103 times as large as the other terms for the case of Earth. This perturbation is mathematically expressed as

3z  3 15z2   F = −µJ R2 Kˆ + − rˆ , (2.28) J2 2 E r5 2r4 2r6

16 −3 where J2 is a constant coefficient of 1.08263 × 10 , RE = 6378 km is mean equatorial radius of the earth and z is a component of radius vector along Kˆ . 2.3 Set of Orbital Parameters In previous section, the radius and velocity vectors are discussed and shown that they can be used for describing the motion in two-body problem. However, the set of these two vectors is not the only way for describing the motion. There exist several set that can be used with different advantages and disadvantages. In order to demonstrate, some of the set will be discussed here. 2.3.1 Classical Orbital Elements The advantage of classical orbital elements is a clear geometrical shape and orientation of the orbit. This set is also one of most well-known set. The set consists of six parameters, the first two are eccentricity e and semi-major axis a, the other four are angles, right ascension of ascending node Ω, inclination angle i, argument of perigee ω and, the last one, angle θ. The eccentricity defines the shape of the orbit. It can be obtained by the norm of eccentricity vector in equation 2.11. On the other hand, the semi-major axis gives the information of the size which can be obtained as follows

h2 a = , (2.29) µ(1 − e2)

where h is magnitude of the angular momentum. The true-anomaly angle is the angle between the eccentricity vector and the radius vector. This angle gives information of position of the spacecraft within the orbit. Therefore these three parameters defines shape, size of the orbit and position of spacecraft in the orbit. The other three parameters gives the information of orientation of the orbit plane and will be further discussed. Now, consider the inertial frame I, as mentioned earlier, its origin is located at the center of the Earth, its first basis unit vector Iˆ points in the direction vernal equinox, its

17 third basis unit vector Kˆ points into the north poles and the second basis unit vector Jˆ points in the direction following proper orthogonal principle. The angles in classical orbital elements are specified by 3-1-3 sequential rotation which is depicted at Figure 2.3. The frame I is rotated by an angle Ω about the Kˆ direction such that the new first axis point into the ascending node. Next, the new frame is rotated about its first axis by angle i in order to align the third axis into the angular momentum. Then, the frame is rotated again about its third axis, in the direction of angular momentum, by an angle ω such that it first axis align with eccentricity vector.

closest approach

line of nodes

Orbit

ascending node

Figure 2.3: 3-1-3 sequential rotation of classical orbital parameter.

For the presence of perturbing force, the variations of parameters are determined by Gauss’s variation form [74]

1 e˙ = {p sin θF + [(p + r) cos θ + re] F } (2.30) mh r n 2a2  p  a˙ = e sin θF + F (2.31) mh r r n r sin(θ + ω) Ω˙ = F (2.32) mh sin i h r cos(θ + ω) i˙ = F (2.33) mh h 1 r sin(θ + ω) cos i ω˙ = [−p cos θF + (p + r) sin θF ] − F (2.34) emh r n mh sin i h h 1 θ˙ = + [p cos θF − (p + r) sin θF ] (2.35) r2 emh r n

18 h2 h2 where p is semi-latus rectum and defined as p = µ , and r is computed by r = µ(1+e cos θ) . Although, the set of classical orbital elements has the physical interpretation of the orbit shape, size, and orientation, its main drawback is that there exists the singularity at the and at the equatorial plane which are the properties of the GEO. However, this set of parameters has another advantage besides physical interpretation, which is the variations of all parameters except θ are slow in the case that the perturbation is small. The reason is that the multiplication of perturbation components in equations (2.30) to

(2.34), obviously if Fr, Fn and Fh are relatively small value, the rate of change of those five orbital parameters are close to zero. The slow variation yields a major benefit in numerical computation which requires sampling nodes. The trajectory with the slow variation can be properly captured without extensive number of nodes. 2.3.2 Modified Equinoctial Orbital Element The set of modified equinoctial orbital element is developed from the work in Ref. [75]. This set has advantages over the classical orbital elements of that the singularity does not exist at the circular or equatorial orbit. The set consists of 6 parameters which are computed from classical orbital parameters as

2 y1 = p = a(1 − e ) (2.36)

y2 = e cos(ω + Ω) (2.37)

y3 = e sin(ω + Ω) (2.38) i y = tan cos Ω (2.39) 4 2 i y = tan sin Ω (2.40) 5 2

y6 = Ω + ω + θ (2.41)

As shown in the above equations, the singularity at the equatorial plane is eliminated due to the fact that the value of ω + Ω is still be able to be defined at the equatorial, even though ω

or Ω can not be defined separately. Similarly, y4 and y5 are also be defined at the equatorial

19 plane, i.e. y4 = y5 = 0. However, some parameters do not have physical interpretations. This set of parameters is related to radius and velocity vectors expressed in the frame I as [76]

  r 2 s2 (cos y6 + s2 cos y6 + 2y4y5 sin y6)  4  r =  r 2  , (2.42) I  2 (sin y6 − s2 sin y6 + 2y4y5 cos y6)   s4   2r  2 (y4 sin y6 − y5 cos y6) s4

 1 q µ 2 2  − s2 y (sin y6 + s2 sin y6 − 2y4y5 cos y6 + y3 − 2y2y4y5 + s2y3)  4 1  q v =  1 µ 2 2  , (2.43) I  − s2 y (− cos y6 + s2 cos y6 + 2y4y5 sin y6 − y2 + 2y3y4y5 + s2y2)   4 1    2 q µ 2 (y4 cos y6 + y5 sin y6 + y2y4 + y3y5) s4 y1

where

s1 = 1 + y2 cos y6 + y3 sin y6 (2.44) y r = 1 (2.45) s1 2 2 2 s2 = y4 − y5 (2.46) q 2 2 s3 = y4 + y5 (2.47)

2 2 s4 = 1 + s3 (2.48)

Recall that the subscription means that the components are defined by the basis vectors of the frames. Now, in the existence of perturbation, the dynamics of the parameters are

r 2y1 y1 Fn y˙1 = (2.49) s1 µ m r   y1 Fr Fn y3Fh y˙2 = sin y6 + ((s1 + 1) cos y6 + y2) − (y4 sin y6 − y5 cos y6) (2.50) µ m ms1 ms1 r   y1 Fr Fn y2Fh y˙3 = − cos y6 + ((s1 + 1) sin y6 + y3) + (y4 sin y6 − y5 cos y6) (2.51) µ m ms1 ms1

20 r 2 y1 s4 cos y6Fh y˙4 = (2.52) µ 2ms1 r 2 y1 s4 sin y6Fh y˙5 = (2.53) µ 2ms1 r 2 y1 (y4 sin y6 − y5 cos y6)Fh √ s1 y˙6 = + µy1 2 (2.54) µ ms1 y1

In the case that the perturbation are small, all parameters in the set except y6 also have the slow variations similar to the classical orbital elements. However, equinoctial elements do not have physically interpretations. 2.3.3 Spherical Coordinates The spherical coordinates were successfully used for analyzing the radiation dose along the transfer [77]. The set of parameters consists of the radius (r), two angles (ψ1, ψ2) and three in radial, tangential of the angles direction (vr, vψ1, vψ2). All the parameters are depicted at Figure 2.4. The frame I is placed at the center of the Earth, so azimuthal and polar angle are ψ1 and ψ2, respectively. The relationships with the radius and velocity vectors are

 T rI = r cos ψ1 cos ψ2 sin ψ1 cos ψ2 sin ψ2 (2.55)     cos ψ1 cos ψ2 − sin ψ1 − cos ψ1 sin ψ2 vr         vI =  sin ψ cos ψ cos ψ − sin ψ sin ψ   v  (2.56)  1 2 1 1 2   ψ1      sin ψ2 0 cos ψ2 −vψ2

This set of state parameters does not have the slow variation under the small pertur- bation. This fact can be clearly seen by observing the its equations of motion as follows

r˙ = vr (2.57) ˙ vψ1 ψ1 = (2.58) r sin ψ2 v ψ˙ = ψ2 (2.59) 2 r

21 Figure 2.4: Spherical coordinates.

µ v2 + v2 F v˙ = − + ψ1 ψ2 + r (2.60) r r2 r m v v + v v cot ψ F v˙ = − r ψ1 ψ1 ψ2 2 + n (2.61) ψ1 r m 2 −vrvψ2 + v cot ψ2 F v˙ = ψ1 − h (2.62) ψ2 r m

From the above equations, even in the absence of any perturbation, the variations of all parameters are not necessarily small. Note that, the equations motion written here are different from the literature due to the definition of perturbation direction. Additionally, the tangential direction to the angle ψ2 is opposite to the angular momentum vector for the prograde orbit and in same direction for the retrograde orbit. So they are valid only for the prograde orbit. This set of parameters does not any singularity however the variations of the parameters are fast even in the case of small perturbations. 2.4 Proposed Set of Orbital State Variables The translational motion of the spacecraft can be described by several ways as dis- cussed in the previous section. However, the existing sets can not be perfectly applied into the numerical methodology which will be discussed later in Chapter 4. The proposed set of orbital variables, which can be utilized in the numerical method, is developed and has three main properties:

• The singularities do not exist at the circular or equatorial orbit.

22 • All parameters have obvious physical interpretations.

• The condition of revolutions have to be obviously defined by the parameters.

In order to demonstrate and discuss in detail, first of all we need to introduce other reference frame besides I and R which have already been introduced. 2.4.1 Reference Frames Now, let us remind about the frame inertial frame I and radial frame R which have already been discussed in the previous section. The frame R can be obtained after performing the 3-1-3 sequential rotation by angle of Ω, i and ω + θ, respectively. Mathematically, this sequence of rotation yield the singularity when angle i is zero. The proposed parameters are designed to avoid the singularity at equatorial plane by utilizing the rotational sequence of 2-1-3 instead of the traditional one. However, the proposed sequence still has the singularity which will be discussed later. Initially, the inertial frame I, which comprised of basis vectors Iˆ, Jˆ and Kˆ , is rotated by an angle ζ about the second basis vector Jˆ in order to align the third axis into the projection of angular momentum on the X-Z plane. Let consider Figure 2.5, after the first rotation, a new frame, which is called I0 and comprised of the basis vectors, Iˆ0, Jˆ0 and Kˆ 0, is constructed. The projection of the angular momentum on the X-Z plane is simply the vector which has the same components along Iˆ and Kˆ directions as angular momentum vector and the component along Jˆ direction is zero. From the given definition, the basis vector Kˆ 0 can be expressed on frame I as

 T ˆ 0 √ hX √ hZ KI = 2 2 0 2 2 (2.63) hX +hZ hX +hZ

ˆ ˆ where hX and hZ are the components of specific angular momentum along the I and K ˆ ˆ ˆ directions, respectively, or written in to form of h = hX I + hY J + hZ K. Remind that

the component hX , hY and hZ can be obtained from equation (2.10). The relationship in

23 equation (2.63) is used for defining the angle ζ as

sin ζ = √ hX , cos ζ = √ hZ , tan ζ = hX . (2.64) 2 2 2 2 hZ hX +hZ hX +hZ

projection of on X-Z plane X-Y plane(equatorial plane)

X-Z plane

Figure 2.5: First rotation about the basis vector Jˆ of frame I.

Then, the basis vectors Iˆ0 and Jˆ0 can be determined by

      √ hZ cos ζ 2 2 0  hX +hZ        ˆ0   ˆ0 ˆ   I =  0  =  0  , J = JI =  1  (2.65) I     I          √ hX  − sin ζ − 2 2 0 hX +hZ

Secondly, consider the Figure 2.6 the frame I0 is rotated about the direction of its first axis, Iˆ0 by an angle η in order to align the new third axis into the angular momentum. The new three basis vectors generated by this process are ˆi, jˆ and kˆ, respectively. Therefore, the ˆi - jˆ plane is aligned into the orbit plane. So, let us call the newly generated frame as Oˆ. From the definition, the direction kˆ is simply be determined by

h  T ˆ I h h h kI = = X Y Z (2.66) |h| h h h

and unit vector ˆi is equal to Iˆ0 which is

 T ˆ √ hZ √ hX iI = 2 2 0 − 2 2 (2.67) hX +hZ hX +hZ

24 X-Y plane(equatorial plane)

X-Z plane

Figure 2.6: Second rotation about the basis vector Iˆ0 of frame I0.

So the basis vector now can be computed by the proper orthogonality as

jˆ = kˆ × ˆi (2.68)  T h2−h2 jˆ = √−hX hY √ Y √−hY hZ (2.69) I 2 2 2 2 2 2 h h −hY h h −hY h h −hY

π π Next, geometrically, the angle η is in the set of [− 2 , 2 ] and can be obtained by

√ h2 +h2 hY X Z (2.70) sin η = − h , cos η = h

The third rotation is depicted at Figure 2.7. The frame O is rotated about the kˆ by an angle φ in order to align its first axis into the radius vector. The frame which is obtained from the last rotation is the frame R as used earlier at equation (2.17). Geometrically, angle φ can be obtained from the dot product between radius vector and ˆi, or radius vector and ˆi as below

sin φ = rˆ · jˆ (2.71)

cos φ = rˆ · ˆi (2.72)

25 orbit plane

Figure 2.7: Third rotation about the basis vector kˆ of frame O.

As a summary of this section, the 2-1-3 rotation sequence is summarized as follow:

  ζ   η   φ   I Iˆ, Jˆ, Kˆ −−−→ I0 Iˆ0, Jˆ0, Kˆ 0 −−→ O ˆi, jˆ, kˆ −−→ R rˆ, nˆ, hˆ . Jˆ=Jˆ0 Iˆ0=ˆi kˆ=hˆ

O R Let us define two direction cosine or rotational matrices, RI and RO . The superscribe O means that basis vector of the frame O and subscribe I means that they are expressed on

O the frame I. Therefore, based on the equation (2.66), (2.67) and (2.69), the matrix RI is written as

  O ˆ ˆ ˆ RI = iI jI kI (2.73)   √ hZ √−hX hY hX h2−h2 h h2−h2 h  Y Y   h2−h2  =  0 √ Y hY  (2.74)  h h2−h2 h   Y    √−hX √−hY hZ hZ 2 2 2 2 h h −hY h h −hY

R Similarly, the matrix RO can be written by following the given definition with equation (2.16) or applying Euler’s rotational matrix about third axis with equation (2.71) and (2.72) as follows

  R ˆ RO = rˆO nˆ O hO (2.75)

26   cos φ − sin φ 0     =  sin φ cos φ 0  (2.76)     0 0 1   rˆ · ˆi −rˆ · jˆ 0     =  rˆ · jˆ rˆ · ˆi 0  (2.77)     0 0 1

2.4.2 State Variables and Transformation All of the proposed variables have the meaningful interpretation but some of them are required the definition of reference frame which they are expressed on. And, all of the related reference frames were discussed in the previous sections. Now we are able to discuss about the propose state parameter and their conversion between standard Cartesian variable, r and v.

The proposed set of state variables is x ∈ R6,

 T x = h hX hY ex ey φ (2.78)

where h is magnitude of specific angular momentum, hX , hY are the components of specific ˆ ˆ angular momentum along the directions of I and J respectively, ex and ey are the components of eccentricity vector along the directions of ˆi and jˆ respectively and φ is the rotation angle from frame O to frame R. In the absence of perturbation, the all parameters except φ are constant. Moreover, the variable φ can considered to be the fast variable. Additionally, the usage of variable h in stead of hZ as the state variables yields a drawback that they can not differentiate pro-grade orbit and retro-grade orbits. However, this drawback does not affects the problem of low-thrust orbit raising due to that the involved trajectories are never be the retro-grade. Therefore, in order to apply this set of variables to the different problem, this fact is needed to be concerned or avoided by using hZ if necessary. Another point that is

27 needed to be concerned is that this set has the singularity when h = ±hJˆ. This singularity exists due to the 2-1-3 rotational sequence. However, the condition is only for polar orbits which can be considered to be far away from GEO. The transformation of standard Cartesian variables, radius and velocity vector, into the proposed variables can be computed easily by following their given definition. Let us start with the definition of angular momentum in equation (2.10). Assuming the radius and velocity expressed on frame I are known, first three proposed variables can be computed as follows

h = |r × v| (2.79) and

  hX      h  = hI = rI × vI (2.80)  Y    hZ

Next, the variable ex and ey can be computed by applying the definition of eccentricity at equation (2.11) and direction cosine matrix at equation (2.74) as follow

  ex       OT vI × hI rI  e  = eO = R − (2.81)  y  I µ r   0

Lastly, angle φ is determined from equation (2.71) and (2.72) and summarized as below

    cos−1 rˆ · ˆi if rˆ · jˆ ≥ 0 φ =   (2.82)  2π − cos−1 rˆ · ˆi otherwise

28 Conversely, we can transform proposed variables back into radius and velocity vectors by starting at the below relationship

h2 h2 = r + r · e =⇒ r = (2.83) µ µ(1 + rˆ · e)

By utilizing direction cosine matrix in equation (2.76) and expressing the unit vector rˆ in terms of components in frame O, we have

 T T R rˆ · e = eORO 1 0 0     cos φ − sin φ 0 1           = e e 0  sin φ cos φ 0   0  x y         0 0 1 0

= ex cos φ + ey sin φ (2.84)

Therefore, we can compute the magnitude of the radius vector by substituting equation (2.84) into equation (2.83) as follows

h2 r = (2.85) µ(1 + ex cos φ + ey sin φ)

 T At this point the radius vector expressed on the frame R is simply r 0 0 , however for the matter of completeness, the radius vector expressed on the frame I is able to be determined by applying direction cosine matrix from equation (2.74) and (2.76) as follow

 T O R rI = RI RO r 0 0 . (2.86)

29 Next, let consider the velocity vector by starting with the velocity along nˆ direction, vn. This can be determined by the relationship with angular momentum as follow

h v = (2.87) n r

By substituting equation (2.85), we get

µ v = (1 + e cos φ + e sin φ) (2.88) n h x y

Next, for the component of velocity in the radial direction, it can be shown that

µ v =r ˙ = (e sin φ − e cos φ) (2.89) r h x y

The derivation of the equation (2.89) will be provided later because it needs the discussion of angular velocity of reference frames. Finally the velocity expressed on the frame I is

    µ vr (ex sin φ − ey cos φ)    h  O R   O R  µ  vI = R R  v  = R R  (1 + e cos φ + e sin φ)  . (2.90) I O  n  I O  h x y      0 0

2.4.3 Variation of Proposed State Variables In the exist of perturbation, the angular momentum and the eccentricity vectors are no longer to be constant as well as the orientation of the frame O. First of all, let analysis the angular velocity of the frame O due to the perturbation at equation (2.18),

 T O ωR = ω1 ω2 ω3 (2.91) where the superscript O stands for the angular velocity of frame O. In order to analyze

O ωR, we set up the relationship with the time rate of change of angular momentum which is

30 defined at equation (2.13),

      r Fr 0 1       ˙      rF  hR =  0  ×  F  =  − h  (2.92) m    n   m        rFn 0 Fh m and also

Odh h˙ = R + ωO × h (2.93) R dt R R where the left superscript of O means the differentiation with respect to the rotating frame O. Then, by the definition of the frame O which its third axis always aligns with the angular momentum, this term is equal to h˙ kˆ. Now us let calculate the equation (2.93) and equate with equation (2.92)

          0 0 ω1 0 ω2h           ˙  rF          hR =  − h  =  0  +  ω  ×  0  =  −ω h   m     2     1            rFn ˙ ˙ m h ω3 h h     0 ω2h          − rFh  =  −ω h  (2.94)  m   1      rFn ˙ m h

Now we can specify that

rFh (2.95) ω1 = mh , ω2 = 0

31 In order to compute ω3, let us write the angular velocity in terms of the rates of change of angles as

ω = ζ˙Jˆ +η ˙ˆi (2.96)

And from the direction cosine matrix, we get

 T  T ˆ ˆ JR = cos η sin φ cos η cos φ − sin η , iR = cos φ − sin φ 0 (2.97)

By substituting equation (2.97) into equation (2.96) and equating with equation (2.91), we have

      rFh ˙ ω1 ζ cos η sin φ +η ˙ cos φ    mh          ωR =  ω  =  0  =  ζ˙ cos η cos φ − η˙ sin φ  (2.98)  2           ˙  ω3 ω3 −ζ sin η

From the relationship along second axis, we get

cos η cos φ η˙ = ζ˙ (2.99) sin φ

Substitute in the relationship of the component along the first axis into equation (2.99)

rF cos η cos2 φ cos η h = ζ˙ cos η sin φ + ζ˙ = ζ˙ (sin2 φ + cos2 φ) (2.100) mh sin φ sin φ

rF sin φ ζ˙ = h (2.101) mh cos η

Then, along the third axis, we have

rF sin φ rF sin φ ω = − h sin η = − h tan η. (2.102) 3 mh cos η mh

32 For the range of η ∈ (− π , π ), the relationship of tan η = −√ hY is valid, so 2 2 2 2 h −hY

rFhhY sin φ ω3 = (2.103) p 2 2 mh h − hY

Finally, the angular velocity of the frame O is therefore given by:

 T ωO = rFh 0 rFh√hY sin φ (2.104) R mh 2 2 mh h −hY

Next, in order to determine the angular velocity of the frame R. we start with

Rdr v = R + ωR × r (2.105) R dt R R       vr r˙ r           R    v  =  0  + ω ×  0  (2.106)  n    R         0 0 0

Now, let consider the term angular rotation rate of frame R. it can be written as

ωR = ωO + φ˙hˆ (2.107)     rFh ω1    mh  R     ω =  ω  =  0  (2.108) R  2        ˙ 0 ω3 + φ ω3

Now, substituting equation (2.108) into equation (2.106) and considering the component

0 along second axis, we have vn = ω3r. And from equation (2.87), we can determine that

h2 ω0 = (2.109) 3 r

33 and

 T R 2 ω = rFh h (2.110) R mh 0 r

Now we are ready to derive the equations of motion for the proposed state variable. Initially parameters A and B for simplicity of the following notations as,

A = ex sin φ − ey cos φ (2.111)

B = 1 + ex cos φ + ey sin φ (2.112)

Let start with the simplest one which is

rF h˙ = n (2.113) m substituting r from equation (2.85) and B from equation (2.112), we get

h2 h˙ = F (2.114) µmB n

Next, the time rate of change of hX and hY are determined from

1 h˙ = RORR (r × F ) (2.115) I m I O R R         ˙ h2 hX Fr 0    µB        1 O R     O R  2   h˙  = R R  0  ×  F  = R R  − h F  (2.116)  Y  m I O    n  I O  mµB h          ˙ h2 hZ 0 Fh mµB Fn

We then obtain the following:

  2p 2 2 2 ! ˙ hhX h h − hX − hY hhX hY hX = Fn + sin φ + cos φ Fh (2.117) mµB p 2 2 p 2 2 mµB h − hY mµB h − hY

34 !  hh  hph2 − h2 h˙ = Y F + − Y cos φ F (2.118) Y mµB n mµB h

  2 ! ˙ hhZ h hX hhY hZ hZ = Fn + − sin φ + cos φ Fh (2.119) mµB p 2 2 p 2 2 mµB h − hY mµB h − hY

After that, we compute the rates of change of ex and ey by

  e˙x   O   deO R O  e˙  = = R (e˙R) − ω × eO (2.120)  y  dt O O   e˙z

 T O where eO is ex ey 0 , ωO determined by the transformation of equation (2.104) and the direction cosine matrix equation (2.76) as

 T ωO = RRωO = rFh cos φ rFh sin φ − rFh√hY sin φ (2.121) O O R mh mh 2 2 mh h −hY

And the term e˙R is computed by equation (2.14), yielding the following:

  2h µm Fn 1    h hA  e˙R = (2(v · F )rR − (F · r)vR − (v · r)FR) =  − F − F  (2.122) µm  µm r µmB n    rvr − mµ Fh

By putting equation (2.122) and all other parameters given earlier into equation (2.120), we get

        2h rFh e˙x Fn cos φ ex    µm   mh      R    rF     e˙  = R  − h F − hA F  −  h sin φ  ×  e   y  O  µm r µmB n   mh   y       rF h sin φ    rvr h√Y e˙z − mµ Fh 2 2 0 mh h −hY

35     h sin φ F + 2h cos φ + hA sin φ F + rey√hY sin φ F µm r µm µmB n 2 2 h  mh h −hY       h cos φ 2h sin φ hA cos φ rexhY sin φ  = − Fr + − Fn − √ Fh (2.123)  µm µm µmB mh h2−h2   Y    0

Additionally, there is a necessary condition in order to always be the orbit plane of x-y surface. the condition is that ez has to always be zero and it is satisfied by equation (2.123). Then, eliminate the parameter, r, by substituting equation (2.85) into equation (2.123), we get rate of change of other two state variables as

  h sin φ 2h cos φ hA sin φ heyhY sin φ e˙x = Fr + + Fn + Fh (2.124) µm µm µmB p 2 2 mµB h − hY   h cos φ 2h sin φ hA cos φ hexhY sin φ e˙y = − Fr + − Fn − Fh (2.125) µm µm µmB p 2 2 mµB h − hY

For the last state variable, φ can be computed by equation (2.108) and equation (2.109) as

˙ h hhY sin φ φ = − Fh r2 p 2 2 mµB h − hY 2 2 µ B hhY sin φ = − Fh (2.126) h3 p 2 2 mµB h − hY

As a summary of this section, the equations of motion could be written in a more compact form as

  2  ˙  0 h 0 h  µmB √     h2 h2−h2 −h2     ˙   0 hhX √ X Y sin φ + hh√X hY cos φ   hX   mµB mµB h2−h2 mµB h2−h2  Fr Y √ Y    2 2       hh h h −hY     h˙  =  0 Y − cos φ   F   Y   mµB mµB   n     he h sin φ     e˙   h sin φ 2h cos φ + hA sin φ y√Y  F  x   µm µm µmB mµB h2−h2  h    Y   h cos φ  2h sin φ hA cos φ  he h sin φ  e˙y − − − x√Y µm µm µmB 2 2 mµB h −hY (2.127)

36 The variations of proposed state variables are clearly shown in equation (2.127) that once the perturbation vector is small the variations also be slow. This is the condition that is need for the orbit-raising strategy which will be discussed in Chapter 4. As a conclusion, the two-body problem has been used to model the motion of space- craft orbiting around the globe. The other forces except the gravitational attraction of the two main bodies are considered to be perturbation to the system. With context of two-body problem, we develop a set of state variables that has suitable properties for implementing in numerical algorithm. However, only the orbital motion does not completely describe the dynamics of the spacecraft, it also has the rotational motion that will be discussed in chapter.

37 CHAPTER 3

SPACECRAFT ROTATIONAL DYNAMICS

In last chapter, we discussed about the translational dynamics of spacecraft which relates to the position and velocity of the spacecraft respect to the earth. In this chapter, we consider about the orientation and angular velocity of the spacecraft. This is called spacecraft rotational dynamics or spacecraft attitude dynamics. In order to describe the rotational dynamics, first of all, let us discuss about the reference frames. Any analysis in classical physics requires the inertial reference frame. From the previous chapter, the inertial frame I is defined by locating its origin at the center of the Earth. Additionally, we have defined the frame R which rotates with respect to the radius vector. In this chapter we want to emphasize on rotational dynamics. Therefore, we will introduce new reference frames in order to decouple the translational and rotational motions so that we can primarily focus on the rotational dynamics. 3.1 Reference Frames

Figure 3.1: Reference frames to describe actual and desired spacecraft orientations.

The non-rotating frame I00 is defined to be fixed in space. Next, we define a body frame, B, which is fixed with a rotating body and a desired frame, D is oriented in the desired direction as depicted in Figure 3.1. The principal axes of each frame are label as are labeled as x, y and z subscripted by the frame notation. The origins of all the frames,

38 for now, are assumed to be coincided so all the origins in Figure 3.1 should be at the same point, however, the non-rotating frame is separated out for the matter of aesthetic. 3.2 Attitude Representation Orientation of one frame with respect to another frame can mathematically be pre- sented by several formulations. However, the selected formulation, which is used for the controller design, is Euler’s parameters or unit quaternion. In order to profoundly demon- strate the visualization and reasons of this selection, we need to discuss some of other attitude representations for comparisons. Let start with the representation that used in the previous chapter, Euler’s angles. 3.2.1 Euler’s Angles & Direction Cosine Matrix The Euler’s angles are 3 consecutive rotation about a basis axis of reference frames for aligning one frame to another. In the previous chapter, we used 3-1-3 by angles (Ω, i, ω) for the classical orbital elements and 2-1-3 by angles (ζ, η, φ) for the proposed state variables. There are totally 12 rotational sequences which are possible. Each of them always has some specific orientations that can not be uniquely defined by angles in the sequences which is called singularity. For example, the angle Ω and ω can be defined once orbits are on the equatorial plane or i is zero. We can only specify only the value of Ω + ω. All possible rotational sequences are shown in Table 3.1. It can be identified that the singularity exists when the second rotation aligns the third rotation axis into the first one.

Table 3.1: List of possible rotational sequences and singularities.

Rotational Singularity Rotational Singularity Sequence Condition Sequence Condition 1-2-1 2nd rotation is 0◦ or 180◦ 2-3-2 2nd rotation is 0◦ or 180◦ 1-3-1 2nd rotation is 0◦ or 180◦ 2-3-1 2nd rotation is ±90◦ 1-3-2 2nd rotation is ±90◦ 2-1-3 2nd rotation is ±90◦ 1-2-3 2nd rotation is ±90◦ 3-1-3 2nd rotation is 0◦ or 180◦ 2-1-2 2nd rotation is 0◦ or 180◦ 3-2-3 2nd rotation is 0◦ or 180◦ 3-2-1 2nd rotation is ±90◦ 3-1-2 2nd rotation is ±90◦

39 Next, let consider in term of the transformation of a vector expressed on one frame to another. We require a matrix that contains information of three basis vectors of one frame expressed on another, and this matrix is called direction cosine matrix (DCM). This matrix

O have been used at equation (2.74) and (2.76). Remind that the DCM RI at equation (2.74) contains the basis vectors of frame O by expressing them on frame I. Any vector expressed on frame O multiply with O becomes that vector which expressed on the frame I, so let

O we define this DCM as RI : O → I. The DCM in the reverese direction can be easily determined by

OT I RI = RO : I → O, (3.1) which also has been used at equation (2.81). Even though, the transformation, which is needed for the next section, is completely discussed, as the matter of completeness for Euler’s angle, let we further discuss an example of 2-1-3 rotational sequence which used in the derivation of proposed state variables in Chapter 2. Each rotation along an basis vector transforms one frame to another which is called principle rotation. There are 3 possible directions with associating DCM as follow

    1 0 0 cos θ 0 − sin θ         R1(θ) =  0 cos θ sin θ  , R2(θ) =  0 1 0  ,         0 − sin θ cos θ sin θ 0 cos θ   cos θ sin θ 0     R3(θ) =  − sin θ cos θ 0  (3.2)     0 0 1

where R1, R2 and R3 corresponds to rotations about the first, second and third basis axes, respectively. By the example of 2-1-3 rotation by angles ζ, η, φ, respectively, it has the

40 corresponding DCM as follow

I RR : I → R = R3(φ)R1(η)R2(ζ) (3.3)

Note that in attitude control literature, the orientation of a specific frame is usually repre- sented in the form of transformation from the inertial frame to the specific frame, for example

00 in our context, the orientation of frame B is represented as RB where RB : I → B without unnecessarily expressing the superscript. 3.2.2 Single Rotation and Axis of Rotation

Figure 3.2: Rotation of a reference frame about an axis.

The attitude representation of single rotation is based on Euler’s rotation theorem. This theorem states that “The orientation of a body is uniquely specified by a vector giving the direction of the body axis and a scalar specifying a rotation angle about the axis” [78]. The single of rotation has 2 main parameter a direction which rotates about (aˆ) and the angle of rotation (φ). In order to visually determine the rotation about an axis, let us consider the situation depicted at Figure 3.2. Frame I00 is once rotated about an arbitrary axis vˆ by an arbitrary angle resulting the frame A. The DCM of the frame A is known to be

RA. Physically, any vector v aligning with the axis of rotation will have same components regardless either frame I00 or A expressing them. This can be demonstrated by mathematic

41 expression as

vA = vI00 = RAvI00 . (3.4)

In order to satisfy the expression in equation (3.4), vector v need to be in the direction

of eigen vector corresponding to eigen value of 1 of the matrix RA. Therefore, the axis of rotation aˆ can be determined by finding the eigen vectors of DCM and selecting the one that associates with eigen value of 1. Then, the angle of rotation is computed from below relationship [78]

1 cos σ = (tr(R) − 1) (3.5) 2

where the tr(R) is the trace of matrix R, or tr(R) = R11 + R22 + R33. This attitude representation also has a singularity when both frames are aligned together or the DCM is equal to identity. Obviously the angle of rotation is defined to be zero, but the axis of rotation can not be uniquely defined, in other words, axis of rotation can be any unit vector. Due to the singularity, this orientation yields the complexities if it is applied to the control algorithm, because the goal of control law is to align frames together where singularity exists. So, let consider the next attitude representation which is used in controller design. 3.2.3 Quaternion or Euler’s Parameters  T Quaternion, also sometimes as Euler’s Parameter, is defined as Q = qT ψ ,  T 3 where q ∈ R = q1 q2 q3 and ψ ∈ R with a constraint of unit sphere 4 dimensional space as

T 2 2 2 2 2 |q| = q q + ψ = q1 + q2 + q3 + ψ = 1 (3.6)

42 Euler’s paramter can be defined in terms of single rotation about an axis as

σ σ (3.7) q = aˆ sin 2 , ψ = cos 2

From observation, the singularity existing at σ = 0 in previous formulation is now uniquely  T defined on the quaternion as Q = 0T 1 . The rotation matrix associated with the angular displacement of Q is

R(Q) = (ψ2 − qT q)I + 2qqT − 2ψq×, (3.8) where q× is the skew-matrix of vector q which is defined in term of an arbitrary vector   3×1 v ∈ R = v1 v2 v3 as

  0 −v3 v2   ×   v =  v 0 −v  . (3.9)  3 1    −v2 v1 0

Therefore, equation (3.8) is fully displayed as

  2 2 1 − 2(q + q ) 2(q1q2 + q3ψ) 2(q1q3 − q2ψ)  2 3    R(Q) =  2(q q − q ψ) 1 − 2(q2 + q2) 2(q q + q ψ)  . (3.10)  1 2 3 1 3 2 3 1   2 2  2(q1q3 + q2ψ) 2(q2q3 − q1ψ) 1 − 2(q1 + q2)

Note that equation (3.10) is shown that the Q or −Q correspond to the same rotation matrix. By considering equation (3.1) and with equation (3.10), the transformation in the inverse direction of quaternion can be computed by

 T ! RT (Q) = R −qT ψ (3.11)

43  T ! = R qT −ψ (3.12)

= R(Q−1) (3.13)

 T  T Note that, we can defined Q−1 to be either −qT ψ or qT −ψ , because both of them physically represent the same orientation. The quaternion does not have any singularity for the entire space so the proposed attitude controller is designed based on this representation. Next we examine the orientation evolving with time which is rotational kinematics. 3.3 Attitude Kinematics In order to describe the kinematics, let we discuss about the notation of angular rates. An angular velocity is a vector which defines a rate of change of angular displacement of a reference frame and is always denoted by ω. In earlier chapters, a subscription of any vector represents the frame of expressing vector. In this chapter, we still follow this method for consistency. Next, the superscript of the variable ω represents the rotating frame. For

D example, ωB means that the angular velocity of the frame D expressed on the frame B. Note that the notation explained here is consistent with equation (2.91). Now let us consider the representation of Euler’s angles, the angular velocity is the summation of the rate of change of each angle. However, each angle rotates about basis vectors of different frames. Therefore, it is needed to transform into a same frame. Let us consider an example of 2-1-3 rotational sequence by angle θ1, θ2 and θ3 respectively, the angular velocity of the frame B expressed on the frame B can be written as

      0 1 0       B   ˙   ˙   ˙ ω = R3R1  1  θ1 + R3  0  θ2 +  0  θ3 (3.14) B             0 0 1  T ˙ ˙ ˙ = S(θ2, θ3) θ1 θ2 θ3 , (3.15)

44 where

  sin θ3 cos θ2 cos θ3 0     S(θ2, θ3) =  cos θ cos θ − sin θ 0  . (3.16)  3 2 3    − sin θ2 0 1

Then we can determine the rate of change of Euler’s Angle in term of angular velocity by applying matrix inversion as follows

  ˙ θ1     −1 B  θ˙  = S (θ2, θ3)ω (3.17)  2  B  ˙  θ3   sin θ3 sec θ2 cos θ3 sec θ2 0     B =  cos θ − sin θ 0  ω (3.18)  3 3  B   sin θ3 tan θ2 cos θ3 tan θ2 1

−1 As mention earlier, the singularity at θ2 = π/2 causes S to be undefined. The function of

−1 S (θ2, θ3) of all Euler’s angle sequences are shown in Table 3.2.

45 −1 Table 3.2: List of function S (θ2, θ3) for all Euler’s angle sequence. Rotational Function Rotational Function −1 −1 Sequence S (θ2, θ3) Sequence S (θ2, θ3)     0 sin θ3 csc θ2 cos θ3 csc θ2 cos θ3 csc θ2 0 sin θ3 csc θ2 1-2-1  0 cos θ3 − sin θ3  2-3-2  − sin θ3 0 cos θ3  1 − sin θ3 cot θ2 − cos θ3 cot θ2 − cos θ3 cot θ2 1 − sin θ3 cot θ2     0 − cos θ3 csc θ2 sin θ3 csc θ2 0 cos θ3 sec θ2 − sin θ3 sec θ2 1-3-1  0 sin θ3 cos θ3  2-3-1  0 sin θ3 cos θ3  1 cos θ3 cot θ2 − sin θ3 cot θ2 1 − cos θ3 tan θ2 sin θ3 tan θ2    

46 cos θ3 sec θ2 0 sin θ3 sec θ2 sin θ3 sec θ2 cos θ3 sec θ2 0 1-3-2  − sin θ3 0 cos θ3  2-1-3  cos θ3 − sin θ3 0  cos θ3 tan θ2 1 sin θ3 tan θ2 sin θ3 tan θ2 cos θ3 tan θ2 1     cos θ3 sec θ2 − sin θ3 sec θ2 0 sin θ3 csc θ2 cos θ3 csc θ2 0 1-2-3  sin θ3 cos θ3 0  3-1-3  cos θ3 − sin θ3 0  − cos θ3 tan θ2 sin θ3 tan θ2 1 − sin θ3 cot θ2 − cos θ3 cot θ2 1     sin θ3 csc θ2 0 − cos θ3 csc θ2 − cos θ3 csc θ2 sin θ3 csc θ2 0 2-1-2  cos θ3 0 sin θ3  3-2-3  sin θ3 cos θ3 0  − sin θ3 cot θ2 1 cos θ3 cot θ2 cos θ3 cot θ2 − sin θ3 cot θ2 1     0 sin θ3 sec θ2 cos θ3 sec θ2 − sin θ3 sec θ2 0 cos θ3 sec θ2 3-2-1  0 cos θ3 − sin θ3  3-1-2  cos θ3 0 sin θ3  1 sin θ3 tan θ2 cos θ3 tan θ2 sin θ3 tan θ2 1 − cos θ3 tan θ2 In an addition, if the representation of DCM is utilized, its variation due the angular velocity is determined as follows [78]

R˙ = −ω×R (3.19)

Noting that the angular velocity ω is needed to be expressed on the as frame as DCM R is representing. Additionally, if the single rotation is used as the attitude representation, its variations of rotational direction and angle is as follows [78]

1  φ  aˆ˙ = aˆ× − cot aˆ×aˆ× ω (3.20) 2 2 φ˙ = aˆT ω (3.21)

Obviously, the variation of aˆ˙ can not be determined at φ = 0 because of the singularity of the formulation. Now, let us consider orientations represented by quaternion. Its variation due to an angular rate can be calculated by

  ψI + q× Q˙ = 1 E(Q)ω, where E(Q) =   . (3.22) 2   −qT

Due to that there are many information involving the rotational kinematics, let us discuss further about equation (3.22). This equation is valid only when the angular velocity is expressed by the components of its basis vectors or on itself with respect to the frame that Q transform from.

Let us consider a simple example, let QB is the transformation from inertial frame

0 0 I to body frame B (QB : I → B). The angular velocity of the frame B is expressed on

0 B the inertial frame I as ωI , so we can compute the rate angular displacement of frame B by

47 using equation (3.22) and (3.8) which is

1 Q˙ = E(Q )R(Q )ωB (3.23) B 2 B B I   ψ q3 −q2     1  −q3 ψ q1    B =   ωI (3.24) 2  q −q ψ   2 1    −q1 −q2 −q3   ψI − q× = 1 E˜(Q )ωB, where E˜(Q) =   . (3.25) 2 B I   −qT

Note that, in this example, angular velocity is not expressed on the frame which they are representing the angular rate. So far, they are only defined with respected to the inertial frame. We define the error to be the quaternion that transform the desired frame into the body frame, Qe : D → B. For better understanding, by utilizing the direction cosine matrix in equation (3.13), we can formulate the relationship between Qe, QD and QB as

−1 T R(Qe) = R(QB)R(QD ) = R(QB)R (QD) (3.26)

The relationship in equation (3.26) utilized the DCM in order formulate the transformation D → B. However, we can directly compute the relationship without the usage of DCM as follows

−1 Qe = QB ⊗ QD (3.27)

48 where ⊗ is the quaternion product and defined as follows

  × ψxqy + qxψy − qx qy Qx ⊗ Qy =   (3.28)  T  ψxψy − qx qy

where Qx and Qy are two arbitrary quaternions. Additionally, the quaternion product of its  T inverse and itself is quaternion identity, Q ⊗ Q−1 = 0 0 0 1 . Now, let us discuss about the error of angular velocity. The angular velocity error is simply defined as the differences of angular velocity the two frames. Usually, angular velocities are defined by expressing them on their own frame. So the general expression of

B D the angular velocity of frames B and D are ωB and ωD , respectively. The error of angular velocity is defined to be angular velocity of frame B with respected to frame D and expressed on frame B. Mathematically, the definition of the error is written as

B D ωe = ωB − ωB (3.29)

B D = ωB − R(Qe)ωD (3.30)

Then, the kinematic of the error is

1 Q˙ = E(Q )ω (3.31) e 2 e e

Additionally, equation (3.31) can be interpreted as kinematic equation in the perception of

observers who are fixed with the frame D. Because, Qe is the transformation of D → B and,

by definition, ωe is the angular velocity of the frame B with respect to the frame D due to the subtraction. 3.4 Attitude Motion The dynamics of spacecraft can be precisely predicted by classical mechanics. To consider the wide range of application in spacecraft attitude control, we discuss the dynamics

49 a rigid body and multiple-spin system. First of all, let us consider the dynamics of rigid body. The definition of angular momentum which is

H = JωB (3.32) where J is the moment of inertia matrix of the body. In the case that body consisting multiply masses as shown in Figure 3.3, the moment of inertia will be the summation of all inertia of each masses with the application of parallel axis theorem as follows

k X T T  J = J0 + Ji + mi[ρi ρiI − ρiρi ] (3.33) i=1 where J0 is the inertia of the primary body, k is number of the small bodies, mi, ρi are mass and position vector corresponding to each body, and Ji is moment of inertia measured from the a frame parallel with B located at ρi.

dy

Figure 3.3: Structure of spacecraft with masses.

Next if these secondary masses are spinning, their angular momentum also accumu- lates with the angular momentum from the primary body to become the total angular mo- mentum. This is the case of multiple-spin body. Let us consider the case that the secondary bodies have the shape of a disk spinning about its symmetrical axis as shown in Figure 3.4. ˆ Each symmetrical axis of each disk is given by the unit vector bi. Rotating rate is ωs,i and inertial about the spinning axis is Js,i. Note that, due to the all secondary bodies are spin-

50 ning about their symmetrical axes, the total moment of inertia given in equation (3.33) is constant. Now for this case the angular momentum is

k B X ˆ H = Jω + ωs,iJs,ibi (3.34) i=1   ωs,1        ωs,2  = JωB + ˆ ˆ ˆ   (3.35) Js,1b1 Js,2b2 ...Js,kbk  .   .      ωs,k

B = Jω + Bωs (3.36)

   T ˆ ˆ ˆ where B = Js,1b1 Js,2b2 ...Js,kbk and ωs = ωs,1 ωs,2 . . . ωs,k .

Figure 3.4: Multiple-spin body.

Next, let us denote by τ the external torque that acts on the spacecraft. The external torque can be related to the rate of change of angular momentum H of the spacecraft about the , which in turn can be related to the change in the angular velocity and the moment of inertia J of the spacecraft, as seen from the inertial reference frame. The rotational dynamics is captured in the following relation:

I d τ = H˙ = JωB . (3.37) dt

51 It is convenient to use the body-fixed reference frame for the purpose of analyzing the rotational dynamics of the spacecraft. Hence, the equation equation (3.37) is rewritten as follows:

B  B  dJ d × τ = ωB + J ωB + ωB JωB, (3.38) B dt B dt B B B

By simple manipulation of equation (3.38), we obtain

 BdJ  ω˙ B = J−1 − ωB − (ωB)×JωB + τ . (3.39) B dt B B B B

Note that the derivative of the angular velocity of the frame B with respect to the its own frame is always equivalently the same as with respect to the non-rotating frame. Generally, the variation of moment of inertia of a rigid body is zero. However for the case that the secondary masses are moving, this term is no longer zero and computed as follows

k BdJ X = 2m [ρT ρ˙ I − ρ˙ ρT ] (3.40) dt i i i i i i=1

Or, for the case that the secondary masses are changing, this term is

k BdJ X   = J˙ +m ˙ [ρT ρ I − ρ ρT ] (3.41) dt i i i i i i i=1

Similarly, by applying Newton’s Law of motion into the angular momentum of multiple- spin body given equation (3.36), we get

I d τ = H˙ = JωB + Bω  (3.42) dt s B  B  B dJ d d × τ = ωB + J ωB + B ω + ωB JωB + Bω  (3.43) B dt B dt B dt s B B s

52 Due to there is no variation of moment of inertia, so equation (3.43) becomes

B B× B  τB = Jω˙ B + Bω˙ s + ωB JωB + Bωs (3.44)

B −1 h B× B i ω˙ B = J τB − Bω˙ s − ωB JωB + Bωs (3.45)

Now, we have analyzed the attitude motion of spacecraft body. Next, for the case of error variation, we can calculate by the differentiation of equation (3.30) with respect to the non-rotating frame so we get

B D ω˙ e = ω˙ B − ω˙ B (3.46)

B ˙ D D = ω˙ B − R(Qe)ωD − R(Qe)ω˙ D (3.47)

B × D D = ω˙ B + ωe R(Qe)ωD − R(Qe)ω˙ D (3.48)  BdJ  = J −1 − ωB − (ωB)×JωB + τ + ω×R(Q )ωD − R(Q )ω˙ D (3.49) dt B B B B e e D e D

Now, we have the attitude dynamics model of a spacecraft which have moving secondary masses or varying secondary masses. Furthermore, the attitude error from the desired ori- entation is also analyzed. This error variation is useful for designing the attitude tracking problem which will be discussed in Chapter 5. The dynamic of multiple-spin body is also derived. This system is a configuration of spacecraft with momentum storage which will be applied for designing a attitude control testbed in Chapter 7.

53 CHAPTER 4

NUMERICAL TRAJECTORY OPTIMIZATION

In this chapter, the first part discusses the application of proposed state variables for solving the low-thrust optimization problem without the initial guesses by posing them into a unconstrained optimization problem. Then, in the second part of the chapter, we discuss the receding horizon framework that uses the direct optimization scheme. 4.1 Unconstrained Optimization As, the optimization problem of all-electric spacecraft trajectory is usually difficult to solve due to the long period of transfer and the operational conditions due to space environment. In this methodology, we circumvent the difficulty of solving a long optimal trajectory by solving a sequence of optimal control sub-problem. The main idea comes from the the combination of closed-loop guidance scheme, which usually is a control law trying to reduce the deviations of the current states from the target destination, and direct optimization method, which requires a reasonable initial guess of trajectory. The main advantage of the closed-loop guidance scheme is that the capability of robustly generating a solution. However obviously it does not guarantee the optimality of solutions if there is not any additional consideration. Therefore, in order to formulate the idea, let observe the nature of low-thrust trajec- tory. The shape of trajectories usually is a spiral shape which drastically varies in radius within a revolution, and similar shape from revolution to revolution as shown in Figure 4.1. In order to capture the variations within a revolution, we divide long trajectory into a se- quential sub-problems of optimization over a revolution by minimizing the deviation from the destination at the end of each revolution. So that we formulate the cost function as

T min J = (xdes − xend) W (xdes − xend) (4.1)

54 Figure 4.1: Spiral shape of low-thrust trajectory (not to scale).

where, xdes and xend are the state parameter at the destination and at the end of each

revolution and W is weighting matrix which is a positive-semi definite matrix. The math- ematical definition of a revolution is given by the angle φ which physically specifies the position spacecraft by the angle from the X-Z plane about the angular momentum vector. So, a revolution means that interval of angle from φ = [0, 2π), which is the multiply of 2π. Next, we further simplify the sub-problem by assuming that within each revolution

the state parameters, h, hX , hY , ex and ey are constant. This assumption eliminates the equality constraints from dynamics of the two-body problem, and it is able to reasonably make because of the slow variations of state variables. 4.1.1 Orbit Segmentation and Eclipse Consideration We assume that the optimization algorithm starts for the first time when the space- craft passes through the inertial X-Z plane in its starting orbit, meaning that initial φ is zero. As discuss earlier, each revolution is the interval of φ = [0, 2π). We discretizes the trajectory over each revolution into n nodes and denote by φj the angles demarcating the segments, where j = 0, . . . , n. We therefore have:

2π φ = j, (4.2) j n

55 Z Y

2 1 x

0 n-1

X

Orbit

Figure 4.2: Segmentation of the trajectory over a revolution.

The trajectory during each revolution would approximately represent the shape of a conic section that is the solution of the standard (non-thrusting) 2-body problem. The discretiza- tion of this conic section is shown in Figure (4.2). At each of these points demarcated by

φj, the radius vector can be computed by using equation (2.85) and expressed in the inertial reference frame as follows:

  √ hZ cos φ − √hX hY sin φ 2 2 j 2 2 j h −hY h h −hY 2   h  2 2  h −hY rj =  √ sin φj  , (4.3)  h h2−h2  µBj  Y    −√ hX cos φ − √hY hZ sin φ 2 2 j 2 2 j h −hY h h −hY

where Bj = 1 + ex cos φj + ey sin φj and Aj = ex sin φj − ey cos φj are the values of A and B computed using equation (2.111) and equation (2.112) corresponding to different φj. Next, we need to identify which of these nodes will be in eclipse. The shadow geometry is assumed to be of cylindrical geometry with the constant radius of the Earth and the length infinite. The shadow direction points away from the center of the Earth, opposite to the direction of the Sun. For the purpose of the current paper, we ignore the rotation of the Earth about the Sun, that is, we assume that the shadow orientation does not change over time. The shape of the eclipse is described in Figure 4.3. Mathematically, the shadow

56 Z

Sun Light Y ∞

X

Earth Figure 4.3: Model of the Earth’s shadow. geometry will be defined as the set of points given by:

( )  T 3 2 2 2 S = XYZ ∈ R X > 0 , and Y + Z ≤ RE) (4.4)

where RE is radius of the Earth. We can then determine the nodes that will be in eclipses during a revolution by finding the set of all points on the trajectory satisfying the condition given in equation (4.4).

E = {j ∈ {0, 1, 2,..., (n − 1)}| rj ∈ S} (4.5)

Based on specific mission requirements, one can set the available thrust at these nodes to be zero (no thrusting during eclipses) or maximum (full thruster operation using batteries) or something intermediate (partial battery support during eclipses). Equivalently, the segments that are completely in the sun-lit portion of the trajectory and over which the spacecraft will surely thrust using power generated by solar arrays are given by:

T = {j ∈ {0, 1, 2,..., (n − 1)}| rj, rj+1 ∈/ S} . (4.6)

4.1.2 Optimization Sub-Problem For the purpose of solving each optimization sub-problem, we will investigate the impact of continuous thrusting on the state variables using the variable φ instead of the

57 time variable. The dynamics of the thrusting spacecraft is given in equation (2.127), we now modify these equations to determine the rate of change of the states with respect to the angle φ as shown below:

d  T dt  T h h h e e = h˙ h˙ h˙ e˙ e˙ , (4.7) dφ X Y x y dφ X Y x y where the derivative dt/dφ is the inverse of the relationship described by equation (2.126), that is,

dt 1 h3mµBph2 − h2 = = Y . (4.8) dφ ˙ 3 3p 2 2 4 φ mµ B h − hY − h hY sin φFh

Obviously, the equation (4.8) is non-linear, however, assuming that the component of the thrust Fh to be small, we perform a linearization of the above relationship and obtain the following:

dt dt ∂  dt  h3 h7h sin φ ≈ + F = + Y F . (4.9) h 2 2 p 2 h dφ dφ ∂Fh dφ µ B 5 2 5 Fh=0 Fh=0 mµ h − hY B

Now, for each node given by j ∈ {0, 1, . . . , n}, the rates of change of the state variables can be calculated using equation (4.7) and equation (4.9), as shown below:

 dh  dφ        dhX   dφ  Fr FrFh   3   7     h   h hY sin φ    dhY  ≈ G  F  + G  F F  , (4.10)  dφ  µ2B2  n  mµ5ph2 − h2 B5  n h      Y    dex  F F 2  dφ  h h   dey dφ

58 where G is a function of G : R7 → R5×3 that is derived from equation(2.127), and it is given by

  h2 0 µmB 0    hhX   0 g23   µmB √   h h2−h2   0 hhY − Y cos φ  G(h, hX , hY , ex, ey, φ, m) =  µmB µmB  , (4.11)   h sin φ heyhY sin φ  g42 √   µm µmB h2−h2   Y    − h cos φ g − hex√hY sin φ µm 52 2 2 µmB h −hY where

2p 2 2 2 h h − hX − hY hhX hY g23 = sin φ + cos φ p 2 2 p 2 2 µmB h − hY µmB h − hY 2h cos φ hA sin φ g = + 42 µm µmB 2h sin φ hA cos φ g = − . 52 µm µmB

The change in the states due to the action of the thrust force over each segment is then determined by applying the trapezoidal rule of integration (with respect to φ) under the assumption of constant thrust magnitude Fk over [φk, φk+1] as follows:

       h˜ dh dh k  dφ dφ          ˜   dhX   dhX   hX,k          dφ   dφ     φk+1 − φk      ˜ ≈  dhY + dhY  , (4.12)  hY,k   dφ   dφ     2              e˜   dex   dex   x,k   dφ   dφ           dey dey  e˜y,k dφ k dφ k+1

59 which, on the application of equation (4.10), becomes

 ˜  hk         ˜   hX,k  Fr FrFh    3   7     π  h   h hY sin φk    h˜  ≈  Ck  F  + Ck  F F   Y,k  n µ2B2  n  mµ5ph2 − h2 B5  n h     k   Y k     2  e˜x,k  Fh Fh   k k e˜y,k      Fr FrFh 3   7    h   h hY sin φk+1    + Ck+1  F  + Ck+1  F F   . (4.13) µ2B2 n 5p 2 2 5 n h k+1   mµ h − hY Bk+1       2   Fh Fh k k where the matrix Ck is obtained from equation (4.11) as Ck = G(h, hX , hY , ex, ey, φk, m). ˜ ˜ ˜ Note here that hk, hX,k, hY,k ,e ˜x,k ande ˜y,k are the changes of the state variables along the segment k owing to the applied thrust. The value of the state variables at the end of the revolution can be simply obtained by summing up the changes over all segments as given below:

 ˜  hk    ˜   hX,k   T  T n−1   X   h h h e e = h h h e e +  h˜  , (4.14) X Y x y X Y x y  Y,k  end k=0      e˜x,k    e˜y,k

60 where the right-hand-side can be computed using equation (44). The magnitude of the thrust force at each node can be written as one of three cases:

  FT , if k ∈ T ,   Fk = 0, if k∈ / T and the spacecraft does not thrust during eclipses , (4.15)    ˜ ˜ FT , if k∈ / T and only an intermediate thrust F is provided .

The direction of the thrust defined by angles at each segment αk and βk serve as the decision variables. Hence, the control input vector at the node k can be written as:

    Fr Fk sin αk cos βk          F  =  F cos α cos β  . (4.16)  n   k k k      Fh Fk sin βk k

As the spacecraft , the mass changes, and the mass at the end of the revolution can be computed as:

3 3 7 7 ! πF X h h h hY sin φkF sin βk h hY sin φk+1F sin βk+1 m = m − + + + end 2 2 2 2 p 2 5 p 2 5 nIspg0 µ B µ B 5 2 5 2 k∈T k k+1 mµ h − hY Bk mµ h − hY Bk+1 (4.17)

We have outlined the objective function equation (4.1) and subsequently the decision vari- ables. Note that the optimization problem that has been formulated is an unconstrained one that is more robust and faster to solve than a similar optimization problem with constraints. This optimization problem is solved by using a standard non-linear programming solver. Once this optimization problem is solved, the state variables at the end of the revolution are used to provide the initial states for the next revolution, and the sequence is continued until the spacecraft reaches the GEO.

61 4.1.3 Terminal Conditions A sequence of optimization sub-problems are solved until the spacecraft reaches GEO. The terminal condition that detects whether another optimization sub-problem needs to be solved is given in terms of the state variables of the GEO. As discussed earlier, the targetted GEO parameters are the magnitude of the specific angular momentum, eccentricity and the magnitude of the projection of the angular momentum on the inertial X-Z plane. We provide acceptable tolerances on the terminal value of these GEO parameters and the stopping conditions are set as follows:

q 2 2 0 ≤ ex,end + ey,end ≤ etol, (4.18) 2 hend aGEO − atol ≤ 2 2 ≤ aGEO + atol, (4.19) µ(1 − ex,end − ey,end) s h2 + h2 0 ≤ x,end y,end ≤ sin (i ) , (4.20) h tol

where etol, atol and itol are the acceptable eccentricity, semi-major axis and inclination angle tolerances of the GEO, respectively. Note that the use of both upper and lower bounds in the stopping criteria may lead to a case of chattering when the objective function over successive iterations may fluctuate around the GEO. This can be avoided in one of two ways: either use bounds on one direction (either a lower or upper bound) or stop the algorithm if a chattering event is detected. 4.1.4 Special Case of Planar Transfer Next, let us consider the scenarios that only the condition at equation (4.20) is sat- isfied. In this scenario the out-plane thrust are not necessary and angle β will be assumed to always be zero. Hence, the problem can be further simplified by reducing the number of decision variables for the optimizer. First of all, the objective function would be shortened

62 to

 2 2 2  Jplanar = min w1(hGEO − hend) + w2(ex,end + ey,end) (4.21)

The state variables that are taken into consideration are only h, ex and ey. By applying β = 0 to equation (4.13) and neglecting the irrelevant state parameters, the simplified formulation of variations during a segment is

  ˜ hk      3 3   π h −F sin αk h −F sin αk   =  D   + D   , (4.22)  e˜x,k   2 2 k   2 2 k+1     n µ Bk µ Bk+1   F cos αk F cos αk e˜y,k k where

  0 h2  µmBk   h sin φ 2h cos φ hA sin φ  Dk =  k k + k k  . (4.23)  m m mBk      − h cos φk 2h sin φk − hAk cos φk m m mBk

The state variables at the end of the revolution are:

  ˜ hk  T  T   X   h e e = h e e +  e˜  , (4.24) x y x y  x,k  end ∀k∈T   e˜y,k k with the values of the state variables, neglected due to planarity, at the end of revolution becomes

 T  T hend hx hy = hx hy . (4.25) end h

63 The overall methodology is summarized in the flow chart in Figure 4.4. This methodology does not require a reasonable initial guess. So the initial guess for the numerical uncon- strained optimization solver is always selected to be zero.

Initial condition

Compute state variables

for the initial orbit

Low-thrust Yes orbit-raising Are terminal conditions trajectory satisfied?

No

Determine the set of sun-lit portions ( )

Is planarity Yes condition satisfied?

No

Non-planar optimization problem: Planar optimization problem: formulate the relationship between formulate the relationship between

and control input and for and control input for by using Eq. (46) to (48) by using Eq. (54) to (57)

Compute state variables at the end of revolution

Figure 4.4: Algorithm flowchart.

4.2 Receding Horizon Control In this section, we describe the receding horizon scheme for planning the spacecraft’s maneuver under the effect of uncertainties arising out of unmodeled dynamics. The goal of the spacecraft maneuver is to reach a pre-specified desired orbit defined. We can consider this desired orbit to be the geosynchronous equatorial orbit (GEO) for the case of electric orbit-raising of an Earth satellite or a gravity-mapping orbit in the case of an approach to a small body around which the gravitational field has not been fully characterized. Figure 4.5

64 depicts that the at every planning horizon the spacecraft could deviate form the reference trajectory due to the perturbing forces. The planning horizons are specified by a certain interval of angle φ. The perturbing forces could come from the earth’s oblateness as described in equation (2.28), third body as described in equation (2.27), or both. At the end of the planing horizon, the spacecraft calculates the new reference path until the end of horizon reaches the desired destination.

Perturbed Spacecraft Path Spacecraft Reference Path 3

Celestial Spacecraft Body Reference Path 2

Perturbed Spacecraft Path Spacecraft Reference Path 1

Perturbed Spacecraft Path Figure 4.5: Spacecraft path planning.

4.2.1 Constrained Non-Linear Optimization Problem We formulate an optimal control problem in which the equations of motion described in equation (2.127) act as dynamic constraints. We can then write this objective function of optimal control problem to be the same as written in equation (4.1). In order to solve the optimal control problem, we will consider a direct optimization scheme by discretizing the state and control variables. As already mentioned, we consider the variable φ to be the independent variable instead of time. We therefore again make use of equation (4.8).

65 Within a planning horizon [Φi, Φi+1], we discretize into n small segments as follows:

Φi = φ0, φ1, . . . , φn = Φi+1, (4.26) with the states being evaluated at the discretized states:

        h h h h                  hX   hX   hX   hX                  Xi =  h  ,  h  ,...,  h  =  h  = Xi+1. (4.27)  Y   Y   Y   Y                   ex   ex   ex   ex          ey ey ey ey 0 1 n end

The states at the boundaries of a segment can be related using the trapezoidal rule. In order to account for the piece-wise step function of the control from one segment to another, we take into consideration that the left-hand and right-hand side derivatives of the states will differ. Hence, we use the following trapezoidal rule in order to relate the states at the boundaries of a segment:

    h h          hX   hX          1 − +  h  =  h  + c + c (φk+1 − φk) , (4.28)  Y   Y  2 k+1 k          ex   ex      ey ey k+1 k

where k ∈ {0, 1, . . . , n − 1} and the derivatives at the boundaries of the segment are given by: 1 c− = c u , (4.29) k ˙ k k−1 φk 1 c+ = c u . (4.30) k ˙ k k φk

66 where ck is derived from equation (4.11) as

ck = G(h, hX,k,Y,k , ex,k, ey,k, φk, mk) (4.31)

 T and uk = Fr Fn Fh is given equation (4.16). For the receding horizon control, we k assume that the energy storage is sufficiently deployed for continuously supplying thrusters. Then, equation (4.28) can be rewritten as

      0 h h                0   hX   hX  sin αk cos βk                 (φk+1 − φk) Ck+1 Ck    0  =  h  −  h  − FT +  cos α cos β  (4.32)    Y   Y  2 φ˙ φ˙  k k        k+1 k          0   ex   ex  sin βk       0 ey ey k+1 k

The resulting parametric optimization problem is solved using Matlab fmincon function. 4.2.2 Initial Guess Generation An initial guess trajectory is computed in an automated way through a fast and robust methodology described in previous section. However, the difference is that the optimization will be performed over the planning horizon instead of a full revolution. Similarly, in order to formulate the unconstrained optimization, we assume that the five state variables are constant within the planning horizon. Then, The control variables are used to propagate the spacecraft’s trajectory in the absence of perturbations, that is, integrating Equation (2.127) with FJ2 = Fthird = 0 As a summary, Figure 4.6 illustrates the flowchart of the algorithm within each plan- ning horizon. This algorithm is kept running until the end point of horizon reaches the conditions of destination orbit as described in equations (4.18), (4.19), and (4.20).

67 Current States

YES Are terminal STOP conditions satisfied?

NO

Initial Guess Trajectory Computation

NO Is cost function Modify Planning improved? Horizon

YES

Trajectory Constrained Optimization

Figure 4.6: Flowchart of receding horizon scheme.

68 CHAPTER 5

ATTITUDE CONTROLLER DESIGN

In chapter 3, we discussed the attitude dynamics of rotating body. Now in this chapter, we discuss about the attitude controller that control the orientation of spacecraft to track the desired rotational motion. We start with introducing a simple controller, a proportional-derivative inverse control which is the main controller. Then, we append a neuron-network based adaptive observer in order to improve the performance of the main controller in the case of existence of uncertainty. 5.1 Inverse Controller The inverse controller is considered as a main controller of the spacecraft. Its purpose is to actuate the attitude trajectory of spacecraft ω˙ e to follow the desired trajectory ν of

ν = −Kpqe − Kdωe (5.1)

where Kp and Kd are positive real numbers. In the case that the variation of angular velocity error perfectly tracks the given trajectory ν, the system’s error will eventually reaches zeros,  T  T i.e. ωe = 0 0 0 and Qe = 0 0 0 1 . The proof can be demonstrated by the selecting the Lyapunov function to be

1 V (Q , ω ) = ωT Jω + K qT q + (ψ − 1)2 (5.2) 3 e e 2 e e p e e e

Then, the time derivative is

˙ T T V3 = ωe Jω˙ e + Kpωe qe (5.3)

69 In the case that ω˙ e perfectly tracks v, we have

˙ T T V3 = ωe Jν + Kpωe qe (5.4)

T T T = −Kpωe Jqe − Kdωe Jωe + Kpωe qe (5.5)

T = −Kdωe Jωe (5.6)

˙ Although V3 is just a semi-negative function, the invariance principle is also valid for this case. Therefore, it has global asymptotic stability. By utilizing the dynamic inversion of equation (3.49), we can have global asymptotic stability by giving the control input as

BdJ τ = Jν + ωB + (ωB)×JωB − Jω×R(Q )ωD + JR(Q )ω˙ D (5.7) B dt B B B e e D e D ˙ × × D D = Jν + Jω + ω Jω − Jωe ReωD + JReω˙ D (5.8)

BdJ ˙ B where dt = J, ωB = ω, and R(Qe) = Re. With the perfect knowledge of the system, the controller can perfectly manage the tracking-error trajectory ν by solely utilizing inverse control. However, in a reality, some information is impractical to be available to the controller. The mismatch between the real system and the pre-installed system becomes the uncertainty to the system as will be discussed next. 5.2 Uncertainty and Compensation Due to the imperfection of system information and other uncertainty, the performance of the controller system generally is degraded. On the other words, the real trajectories are not necessary matching with the desired one. The tracking error f is defined as

ω˙ e = ω˙ ec + f (5.9)

70 where the term ω˙ ec is designed to be

ˆ ω˙ ec = ν − f (5.10) where fˆ is the predicted value of the unknown f. The observer for determining the value of fˆ will be discussed in the next section. Obviously in the case that fˆ accurately matches with error f, the error trajectory in attitude control will follow the ν. The control input torque to the system due to the given compensated trajectory ω˙ ec is determined by inverse control technique which is

× × u = Jcω˙ ec + ω Jcω − Jcωe ReωD + JcReω˙ D (5.11)

ˆ × × = Jcν − Jcf + ω Jcω − Jcωe ReωD + JcReω˙ D (5.12)

where Jc is the moment of inertia known to the controller which is not necessary to be equal to the real one J. Consider the equation (5.12), not only the mismatch between Jc and J, the time variation of the moment of inertia J˙ is also the uncertainty or unknown to the controller. The control given by equation (5.12) will be unbounded if the ωD is not a continuous function that makes ω˙ D unbounded. Next the input torque generated by in controller as defined in equation (5.12) is feed into the system with external an disturbance d. Therefore, the input torque of the system is

τ = u + d (5.13)

As a result of equation (5.13), the error trajectory, governed by equation (3.49), is expressed as

−1 −1 ˆ −1 ˙ −1 × −1 × ω˙ e = J Jcν − J Jcf − J Jω + J ω (Jc−J)ω − (J Jc − I)ωe ReωD (5.14) −1 −1 + (J Jc − I)Reω˙ D + J d

71 Then, from equation (5.9), equation (5.10) and equation (5.14), the uncertainty is written as

ˆ f = ω˙ e − ν + f (5.15)

−1 ˆ × −1 × −1 ˙ = (J Jc − I)(ν − f − ωe ReωD + Reω˙ D) + J ω (Jc − J)ω + J (d − Jω) (5.16)

Finally, if we impose the condition of perfect prediction fˆ = fˆ? = f into equation (5.16), we can derive the optimal value as below

−1 ˆ? −1 × −1 × −1 ˙ J Jcf = (J Jc − I)(ν − ωe ReωD + Reω˙ D) + J ω (Jc − J)ω + J (d − Jω) (5.17)

ˆ? −1 × −1 × −1 ˙ f = (I − Jc J)(ν − ωe ReωD + Reω˙ D) + Jc ω (Jc − J)ω + Jc (d − Jω) (5.18)

It is worth noting that the variables in equation (5.16) and (5.18) are implied that the uncertainties supposed to be predicted by the values of qe, ωe, ωD and ω˙ D. 5.2.1 The Design of Modified State Observer In this section, the structure of a neural network based observer is discussed. The modified state observer was developed in [55]. The goal of the observer is to generate a predicted value fˆ to be equal to the uncertainty f. This goal is identically that the predicted value fˆ is equal to f ∗ given in equation (5.18). In the case of that the observer is able to achieve the goal, from equation (5.9), the system will exactly follow the trajectory ν. Consider Figure 5.1, the trajectory ν is considered to be the desired trajectory or reference trajectory as used in Ref. [64]. However, the MSO is slightly modified this equation as below,

˙ ωˆ e = ν + K2e, (5.19)

72 Desire Orientation & Angular Velocity Inverse Controller + Attitude Dynamic of The System + Eq. (14) Eq. (8), (9)

Reference Trajectory + - Eq. (21)

NN-Based Prediction Basis Function Generation Eq. (26) Eq. (24)

NN Weight Updating

Eq. (27) Structure of NN-Based Observer

Figure 5.1: Block diagram of inverse feedback control and observer.

where ωˆ e is the estimation of ωe, K2 is a positive diagonal value and e is the error defined by

e = ωe − ωˆ e. (5.20)

The term K2e in equation (5.19) is added in order to reduce the high oscillation in the pre- dicted value fˆ by slightly alter the reference trajectory from ν. Additionally, equation (5.19) is also differ from the equation (6) in Ref. [55] and equation (3) in Ref. [57] due to the ab- ˆ sence of the term f. If the term K2e is neglected, this equation will eventually becomes the reference trajectory in MRAC [64,65] Next, the error e given in equation (5.20) is the input of the neural network structure. However, the structure used in the methodology does not have the activation function which is usually the part for capturing the nonlinearity between input and output. Therefore, the

73 n input is feed into a basis function Φ : Rn → R2 which is defined below,

Φ(x) = (... ((c1 c2) c3) ... ) cn (5.21)

  where ck = 1 xk , k ∈ 1, 2, ..., n and the operator is Kroncker product. Here x is

selected to be x = ωe. Therefore, the basis function at equation (5.21) becomes

 T Φ(ωe) = 1 ωe,x ωe,y ωe,z ωe,xωe,y ωe,xωe,z ωe,yωe,z ωe,xωe,yωe,z (5.22)

Noting that the ideal selection of x is to include all the known values which affects the

uncertainty f given in equation (5.16), i.e. qe, ωe, ωD and ω˙ D. Therefore, in order to completely capture all nonlinearity within the uncertainty, all the mentioned variables have to be the input for the basis function. However if this is the case, the observer will have 212 components in basis function and 3(212) components in the weight matrix.

1

11 2 21 31 3 81

23 13

33

8 83

Figure 5.2: Structure of neural network.

Then, the basis function is feed as the input of the neural network. We assume

that by the optimal neural network weight matrix W ∈ R8×3, the uncertainty f can be approximated to an accuracy of  as depicted at Figure 5.2. It is mathematically written as

T f = W Φ(ωe) +  (5.23)

74 Without the knowledge of optimal weight matrix and accuracy , the uncertainty is predicted as

fˆ = Wˆ T Φ(x) (5.24) where Wˆ is neural network weight matrix. This matrix is updated in the on-line manner from the existed error as below

˙   Wˆ = Γ Φ(x)eT P − σWˆ , (5.25) where the scalar number Γ is a learning rate, σ is a boundedness enforcing factor of the weight and matrix P is obtained from the solution of Lyapunov equation which is

T K2 P + PK2 = S (5.26) where S is symmetric positive definite matrix. MSO discussion and Stability Analysis In literatures, MSO has been used for two different purposes; only observation without control compensation [56, 57, 79] and observation with control compensation [59, 60]. The criterion that differentiates MSO into two categories is the existence of predicting value of uncertainty (fˆ) in the input of the system. In the context of this paper as well as Ref. [59,60], obviously the MSO is used for observing the system and compensating uncertainty as fˆ is a part of inverse feedback controller at equation (5.12). There is also no doubt of that Ref. [56, 57, 79] MSO are implemented as an observer or estimator. However, there is a doubt arises from the original publication of MSO in Ref. [55] and [80] which authors point the difference between MSO and MRAC as MSO uses estimation error while MRAC uses tracking error for updating the neural network weights.

75 First of all, let us clarify the concept a full state-observer given in the beginning of Ref. [57]. In general, any time-invariant system can be expressed as

x˙ = g(x).

However, in reality, it is sometimes possible to have the perfect knowledge of the function g(x), so we use gm(x) as a model. The mismatch between these g and gm leads to the uncertainty as

x˙ = gm(x) + f.

Now MSO estimates the states by having

˙ ˆ xˆ = gm(x) + f + K2ea,

where error ea = x − xˆ is estimation error. The concept is valid and clear because firstly the predicting uncertainty fˆ is not feed into the input u of the system. Secondly, without any control, there is no tracking error. Now let us further discuss the usage of MSO as adaptive control with full state feedback. Similarly, in general any system can be expressed as

x˙ = g(x, u), as appeared in this paper in equation (3.49). Due to the uncertainty of the system, let set up the same equation for state estimation as

˙ ˆ xˆ = gm(x, u) + f + K2ea.

76 Due to the uncertainty, function gm is not necessary be the same as g. In the control problem, we also have the reference trajectory as

x˙ m = h(xm, r(t)),

where r(t) is reference or user input. In the context of this paper, this equation corresponds to equation (5.1) which r(t) is always zero. Let consider the statement, now the tracking

error is e = x−xm and estimation error is ea = x−xˆ In both cases, the input to the system comes from the inversion of the function as

−1 ˆ u = gm (x˙ m − f, x).

Now if the inverse control is feed into the system and the state observer we get

−1 ˆ x˙ = g(x, gm (x˙ m − f, x)) ˆ = x˙ m − f + f

˙ −1 ˆ ˆ xˆ = gm(x, gm (x˙ m − f, x)) + f + K2ea ˆ ˆ = x˙ m − f + f + K2ea

= x˙ m + K2ea

If, there in no K2ea term, the variation of the xˆ is eventually match with xm. So, the major

difference between MRAC and MSO is not the definition of e or ea. The real difference is

that the existence of the term K2ea which reduces the oscillation in prediction value. Now the stability of the observer can be analyzed from the definition in equation (5.20), its time rate of change is

˙ e˙ = ω˙ e − ωˆ e. (5.27)

77 By substituting equation (5.9), equation (5.23), and equation (5.19) into equation (5.27), we get

e˙ = (ω˙ ec + f) − (ν + K2e) (5.28) ˆ = (ν − f + f) − ν − K2e (5.29)

T ˆ T = −K2e + (W − W )Φ(x) +  (5.30) ˜ = −K2e + W Φ(x) +  (5.31)

where W˜ = W T − Wˆ T . From now, the proof for boundedness of e and W˜ follows the same derivation as given in [55]. It starts at choosing the Lyapunov candidate function to be

˜ T ˜ T −1 ˜ V1(e, W ) = e P e + tr(W Γ W ) (5.32)

The time derivative of V1 is

˙ T T ˜˙ T −1 ˜ ˜ T −1 ˜˙ V1 = e˙ P e + e P e˙ + +tr(W Γ W ) + tr(W Γ W ) (5.33)

= −eT Qe + 2eT P  + 2tr(σW˜ T Wˆ T ) (5.34)

Observing that equation (5.34) is identical to equation (5.34) in Ref. [55], therefore, by following same mathematical process, the boundedness of neural network weight and estimation error can be guaranteed as

s λ2 (P ) ˆ 2 2 max ||W || = Wmax + Wmax + 2n (5.35) σλmin(Q) q 2 1 λmax(P )n + (λmax(P )n) + 4 σλmin(Q)Wmax ||e|| = (5.36) λmin(Q)

The performance of the controller will be demonstrated in the next chapter.

78 CHAPTER 6

SIMULATION RESULTS

In this chapter, we demonstrate the numerical results of the propose framework. We begin with the low-thrust orbit-raising generation. After that, the receding-horizon which uses the direct optimization method is demonstrated. Then, we simulate the performance of attitude control by comparing with and without neural network-based observer. 6.1 Results of Low-Thrust Orbit-Raising We now demonstrate the performance of the developed algorithm using numerical examples corresponding to different initial conditions. For all examples, the computation of all physical quantities within the developed framework are performed in non-dimensional units. The following rationale is used for the non-dimensionalization: the radius of the GEO represents 1 distance unit (DU), Earth’s gravitational parameter equals 1 DU 3/T U 2, where TU is the time unit, and the initial mass is defined to be equal to 1 mass unit MU. We use

the MATLAB unconstrained non-linear optimizer solver fminuc for minimizing the objective function given in (4.1) or (4.21) and set the in-built quasi-Newtonian methodology as the optimizer algorithm. So destination of GEO is converted into non-dimensionized unit as

    hdes 1          h   0   X,des             hY,des   0  xdes =   =   (6.1)      ex,des   0           e   0   y,des        φdes −

The tolerance used for the simulations is 10−9 running on a desktop computer that runs Window7 Enterpise 64-bit operating system on a Intel Xeon central processing unit (CPU) E3-1220 with 16 GB of random access memory (RAM).

79 6.1.1 Planar Transfers First, let us start with the simple scenario of planar transfer and all the initial orbits are equatorial which have no inclination. For the scenarios of planar transfer the objective function is at equation (4.21) with parameters constructed from equation (4.22) to equa-

tion (4.24) with the parameters w1 and w2 in objective function are chosen to be 0.75 and 0.25, respectively. The initial masses are chosen in order to satisfy the capability of launch payload at particular initial orbit. The initial guess for angle α is chosen to be zero for all cases. The engine is chosen to be comprised by four BPT-4000 thrusters which provide a thrust of 1.16 N by simultaneous firing with a specific impulse of 1788 sec. The trajectory is discretized into segments of 5 degree intervals, that is φ0 = 0, φ1 = 5, ..., φn = 5, and n = 72.

And the parameters of stopping criteria are etol = 0.01 and atol = 0.01. Example 1: Circular LEO to GEO transfer In the first example, we consider that a 5000 kg spacecraft initiates the transfer from a circular orbit of altitude of 2000 km. No thrusting during the eclipses is considered for this example. The proposed algorithm computes the trajectory within in 8.7 s after the desired tolerances are achieved; the obtained result is an orbit-raising trajectory with a transfer time of 216.72 sidereal days. The spacecraft completes 1135 revolutions before reaching the GEO with a final mass of 3945.55 kg. Figure 6.1(a) depicts the trajectory for the transfer and the variation of in-plane thrust direction angle α during the transfer is shown in Figure 6.1(b). Note that this variation is shown with respect to revolution, instead of time. This plot therefore demonstrates the range of thrust angle values during each revolution. Also, note that this plot is a discontinuous plot because the independent variable (number of revolutions) is a discrete variable. The variation of the radial distance is shown in Figure 6.1(c), and the independent variable is again the number of revolutions. In other words, this plot depicts the range of values of radial distance for every revolution of the spacecraft. Clearly, the spacecraft develops some eccentricity during the transfer (as is expected due to Earth shadow constraints) and Figure 6.1(c) develops a band as the

80 transfer progresses. Towards the end of the transfer, the band shrinks as the osculating eccentricity of the orbit approaches zero. The variation of the osculating eccentricity is given in Figure 6.1(d).

1.5 1.5

1 1

0.5 0.5

0 0 α (rad) Y axis (DU) −0.5 −0.5

−1 −1

−1.5 −1.5 −1.5 −1 −0.5 0 0.5 1 1.5 0 200 400 600 800 1000 1200 X axis (DU) revolution (a) trajectory (b) in-plane thrust angle

1 0.08

0.07 0.8 0.06

0.6 0.05 0.04 0.4 radius (DU) 0.03 eccentricity (−) 0.02 0.2 0.01

0 0 0 200 400 600 800 1000 1200 0 50 100 150 200 250 revolution time (sidereal day) (c) radial distance (d) variation of eccentricity

Figure 6.1: Result of the circular LEO to GEO transfer.

Example 2: GTO to GEO Planar Transfer In the next example, the initial orbit of the spacecraft is considered to be a GTO with its perigee altitude being 250 km. As before, the spacecraft initiates the transfer with a mass of 5000 kg. The proposed algorithm computes the orbit-raising trajectory in about 8.4 seconds; the obtained solution corresponds to a transfer time of 111.74 sidereal days, a final mass of 4395.15 kg, and a total number of 185 revolution. The trajectory for the obtained solution is shown in Figure 6.2(a), and the variation of the in-plane control angle is depicted in Figure 6.2(b). Note that the spacecraft traverses higher altitudes at the beginning of the

81 1.5 3

1 2

0.5 1

0 0 α (rad) Y axis (DU) −0.5 −1

−1 −2

−1.5 −3 −1.5 −1 −0.5 0 0.5 1 1.5 0 50 100 150 200 X axis (DU) revolution (a) trajectory (b) in-plane thrust angle

1.4 0.8

1.2 0.7 0.6 1 0.5 0.8 0.4 0.6

radius (DU) 0.3 eccentricity (−) 0.4 0.2

0.2 0.1

0 0 0 50 100 150 200 0 20 40 60 80 100 120 revolution time (sidereal day) (c) radial distance (d) variation of eccentricity

Figure 6.2: Result of GTO to GEO planar transfer. transfer compared to Example 1, and hence the angle variation during initial revolutions show a wider range compared to the same for the Example 1 transfer. The variation of the radial distance with revolution is depicted in Figure 6.2(c); the plot starts with a wider range of radial distance because the transfer starts from an , with the eccentricity being the maximum at the beginning of the transfer. The osculating eccentricity gradually decreases during the transfer and its variation is shown in Figure 6.2(d). Example 3: Sub GTO to GEO planar transfer The initial orbit in this example is a sub-GTO with a perigee altitude of 250 km and an apogee altitude of 30,000 km. The initial mass of the spacecraft is kept the same as the previous examples, that is, 5000 kg. The result is obtained in about 5.7 s. The generated trajectory corresponds to a transfer time of about 118.79 sidereal days, a final mass of 4361.28

82 kg, and a total of 227 revolutions. The trajectory is depicted in Figure 6.3(a) and the control angle is shown in Figure 6.3(b). The number of revolutions and the transfer time are larger than that of Example 2 solution because the apogee of the starting orbit is lower for Example 3. Figure 6.3(c) shows the variation of the radial distance with the number of revolutions, and similar to Example 2, the osculating eccentricity decreases over time, starting from an initial value that is smaller for the current case, compared to Example 3.

1.5 3

1 2

0.5 1

0 0 α (rad) Y axis (DU) −0.5 −1

−1 −2

−1.5 −3 −1.5 −1 −0.5 0 0.5 1 1.5 0 50 100 150 200 250 X axis (DU) revolution (a) trajectory (b) in-plane thrust angle

1.4 0.7

1.2 0.6

1 0.5

0.8 0.4

0.6 0.3 radius (DU) eccentricity (-) 0.4 0.2

0.1 0.2 0 0 0 50 100 150 200 250 0 50 100 150 200 250 revolution revolution (c) radial distance (d) variation of eccentricity

Figure 6.3: Result of sub-GTO to GEO planar transfer.

Example 4: Super GTO to GEO planar transfer We now consider the case of the transfer starting from a super-GTO elliptical orbit with perigee altitude of 250 km and apogee altitude of 45000 km. The initial mass of the spacecraft is 5,000 kg, as before. The solution is generated by the proposed algorithm in around 4.6 s computational time; the obtained transfer is one of 104.02 sidereal days, a total

83 of 140 revolutions, and a final mass of 4432.23 kg. Clearly, a comparison with Examples 2 and 3 yields that more mass is deployed faster when using the super-GTO. The trajectory is shown in Figure 6.4(a) and the variation of in-plane thrust angle is shown in Figure 6.4(b). The range of values of this angle achieved during the transfer is greater than the case of a GTO or sub-GTO because the spacecraft traverses higher altitudes (lower gravitational attraction). The transfer starts with a higher value of eccentricity compared to the previous two cases, and the osculating eccentricity decreases over time, as depicted in Figure 6.4(c) and Figure 6.4(d).

1.5 3

1 2

0.5 1

0 0 α (rad) Y axis (DU) −0.5 −1

−1 −2

−1.5 −3 −1.5 −1 −0.5 0 0.5 1 1.5 0 50 100 150 X axis (DU) revolution (a) trajectory (b) in-plane thrust angle

1.4 0.8

1.2 0.6 1

0.8 0.4 0.6 radius (DU) eccentricity (-) 0.4 0.2

0.2 0 0 0 50 100 150 0 50 100 150 revolution revolution (c) radial distance (d) variation of eccentricity

Figure 6.4: Result of planar super-GTO to GEO planar transfer.

Example 5: LEO to GEO planar transfer with energy storage support In this example, we consider that the spacecraft uses energy storage support to sup- port thruster firing during the eclipses. We assume that the thrust provided in the shadow

84 1.5 4

3 1 2 0.5 1

0 0 α (rad)

Y axis (DU) −1 −0.5 −2 −1 −3

−1.5 −4 −1.5 −1 −0.5 0 0.5 1 1.5 0 200 400 600 800 1000 1200 X axis (DU) revolution (a) trajectory (b) in-plane thrust angle

1.4 0.08

1.2 0.07 0.06 1 0.05 0.8 0.04 0.6

radius (DU) 0.03 eccentricity (−) 0.4 0.02

0.2 0.01

0 0 0 200 400 600 800 1000 1200 0 50 100 150 200 250 revolution time (sidereal day) (c) radial distance (d) variation of eccentricity

Figure 6.5: Result of circular LEO to GEO Transfer with energy storage. of the Earth is only 25% of what is generated during the Sun-lit portion of the trajectory. The transfer therefore uses continuous thrusting, however, it is still a multi-phase transfer because different thrust values are possible for the Sun-lit and shadow portion of the trajec- tory. For this example, the initial orbit is chosen to be the same as Example 1, that is, a circular orbit with 2000 km altitude. The initial mass is the same as 5000 kg. The algorithm generates a solution in about 8.0 s; the computed solution corresponds to a reduced (com- pared to Example 1) transfer time of 202.17 sidereal days, a final mass of 3992.68 kg, and a total of 1039 revolutions. The trajectory is shown in Figure 6.5(a) and the in-plane thrust direction angle is depicted in Figure 6.5(b). As expected, this angle stays close to zero at low altitudes. The eccentricity developed during the transfer is still similar to Example 1, as is revealed by Figure 6.5(c) and Figure 6.5(d).

85 6.1.2 Non-Planar Transfers For the non-planar cases, the initial orbits have a inclination angle is no longer be zero. The formulation of the optimization now is switched and consisted of the objective function as in equation (4.1) with the weighting matrix of

  0.5 0 0 0 0 0      0 0.4 0 0 0 0         0 0 0.4 0 0 0  W =      0 0 0 0.1 0 0       0 0 0 0 0.1 0      0 0 0 0 0 0

Additionally, the values of parameters at the end of the revolution are constructed by equa- tion (4.13) to (4.17) with control input of angle, α and β. The inclination angle is depended on the launch location. However, for all of the followed cases, they are assumed to have initial inclination angle of 28.5 degree. Then, in order to compare the result with the planar case, the initial orbit would be chosen to be similar to orbits which have been used for the planar case. However, the initial mass are not necessary to be the same. The engines are the same as the planar transfer case which are four BPT-4000 thrusters and have the same amount of thrust 1.16 N and specific 1786 seconds. For the computational parameter, the number of segments is also n = 72 with the tolerances of the final orbit are itol = 0.01, etol = 0.01 and atol = 0.01. Example 6: Circular LEO to GEO Non-Planar transfer We begin our discussion of non-planar transfers with the consideration of the space- craft initially being in a circular LEO of 2000 km altitude and an inclination of 28.1 deg. The initial mass of the spacecraft is 5000 kg. that is still the same as the planar case depicted in Example 1. The proposed algorithm results in a transfer time of 240.58 sidereal days, a final mass of 3722.47 kg, and a total number of 1102 revolutions; the computed solution

86 1.4

1.2 1 1 0.5

0.8 0

0.6 Z axis (DU) −0.5 radius (DU)

−1 0.4 1 1 0.2 0 0 0 −1 Y axis (DU) −1 X axis (DU) 0 200 400 600 800 1000 1200 revolution (a) 3D trajectory (b) radial distance

0.07 30

0.06 25

0.05 20 0.04 15 0.03 eccentricity (−)

inclination (deg) 10 0.02

0.01 5

0 0 0 50 100 150 200 250 0 50 100 150 200 250 time (sidereal day) time (sidereal day) (c) variation of eccentricity (d) variation of inclination angle

4 2

3 1.5

2 1

1 0.5

0 0 (rad) β α (rad) −1 −0.5

−2 −1

−3 −1.5

−4 −2 0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200 revolution revolution (e) control angle α (f) control angle β

Figure 6.6: Result of non-planar circular LEO to GEO transfer. was obtained in about 11.7 s computational time. Owing to the plane change that needs to be imparted, the transfer time is more and the final mass is less compared to the transfer in Example 1. The three-dimensional trajectory computed by the algorithm is shown in Figure 6.6(a), while the variation of the radial distance, osculating eccentricity and osculat-

87 ing inclination are depicted in Figure 6.6(b)-(d). Similar to the planar case, the trajectory develops some eccentricity during the transfer, as can be seen from Figure 6.6(c). The rate of change of inclination is slower initially, and as can be seen from Figure 6.6, most of the inclination change happens towards the later half of the transfer, that is, at higher altitudes (weaker gravitational field). The control angles, the in-plane and the out-of-plane thrust directions, are shown in Figure6.6(e) and Figure 6.6(f). In examples 1–5, there was no plane change involved, hence the angle β was zero (in fact, it was not part of the decision variables in those cases). However, the plane changes in the current example require the consideration of the out-of-plane thrust direction β whose variation is depicted in Figure 6.6(f). Example 7: GTO to GEO Non-Planar transfer Next, we consider that the spacecraft of the same initial mass 5000 kg to be starting from an elliptical GTO orbit of perigee altitude 250 km and an inclination of 28.1 deg. The initial mass is 5000 kg, similar to all other examples studied here. The trajectory is computed by the proposed algorithm in 13 s, and is shown in Figure 6.7(a). The trajectory comprises of 255 revolutions, with a transfer time of 167.72 sidereal days and a final mass of 4062.37 kg. As one would expect owing to the starting inclination, the transfer time is larger and the final mass deployed is smaller than Example 2 planar transfer. The variation of the radial distance, the osculating eccentricity and the osculating inclination angle are depicted in Figure 6.7(b)–(d). Similar to example 7, the plane change rate stays slow during the initial part of the transfer and becomes faster in the latter half when the spacecraft is traversing higher altitudes. The variation of the control angles, in-plane and ou-of-plane thrust directions, are depicted in Figure 6.7(e)–(f).

88 1.4

1.2 1 1 0.5

0.8 0

0.6 Z axis (DU) −0.5 radius (DU)

−1 0.4 1 1 0.2 0 0 0 −1 Y axis (DU) −1 X axis (DU) 0 50 100 150 200 250 300 revolution (a) 3D trajectory (b) radial distance

0.8 30

0.7 25 0.6 20 0.5

0.4 15

0.3 eccentricity (−)

inclination (deg) 10 0.2 5 0.1

0 0 0 50 100 150 200 0 50 100 150 200 time (sidereal day) time (sidereal day) (c) variation of eccentricity (d) variation of inclination angle

4 2

3 1.5

2 1

1 0.5

0 0 (rad) β α (rad) −1 −0.5

−2 −1

−3 −1.5

−4 −2 0 50 100 150 200 250 300 0 50 100 150 200 250 300 revolution revolution (e) control angle α (f) control angle β

Figure 6.7: Result of the non-planar GTO to GEO Transfer.

Example 8:LEO to GEO Non-Planar transfer with Energy Storage Support This example is similar to example 5, except that the starting orbit has an inclination of 28.1 deg. With energy storage support, the spacecraft is assumed that is able to thrust all

89 the times. The final mass is 3728.23 kg and transfer time is 234.99 sidereal days. Trajectory of 1064 revolutions are shown in Figure 6.8 with the computational time of 12 seconds.

1.4

1.2 1 1 0.5

0.8 0

0.6 Z axis (DU) −0.5 radius (DU)

−1 0.4 1 1 0.2 0 0 0 −1 Y axis (DU) −1 X axis (DU) 0 200 400 600 800 1000 1200 revolution (a) 3D trajectory (b) radial distance

0.05 30

25 0.04

20 0.03 15 0.02 eccentricity (−)

inclination (deg) 10

0.01 5

0 0 0 50 100 150 200 250 0 50 100 150 200 250 time (sidereal day) time (sidereal day) (c) variation of eccentricity (d) variation of inclination angle

4 2

3 1.5

2 1

1 0.5

0 0 (rad) β α (rad) −1 −0.5

−2 −1

−3 −1.5

−4 −2 0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200 revolution revolution (e) control angle α (f) control angle β

Figure 6.8: Result of the non-planar LEO to GEO case with the energy storage.

Summary of orbit-raising results As a summary, the results from example 1-8 is given in Table 6.1

90 Table 6.1: Summary of orbit-raising results.

Transfer Scenarios Inclination Transfer Time Final Mass Computational Time i (deg) (sidereal day) (kg) (sec) Circular LEO 0 216.02 3980.19 15.2 GTO 0 111.74 4395.15 4.8 Sub-GTO 0 118.79 4361.28 5.7 Super GTO 0 104.02 4432.23 4.6 Circular LEO 0 202.17 3992.68 12.5 with Energy Storage Circular LEO 28.5 240.58 3722.47 40.0 GTO 28.5 167.72 4062.37 26.8 Circular LEO 28.5 235.00 3725.23 41.6 with Energy Storage

6.1.3 Sub-Optimality of Computed Solutions The rapid computation of trajectories in the absence of user-inputed initial guess happen at the cost of sub-optimality of the solutions generated by our proposed methodology. In order to estimate the sub-optimality of the solutions, we have compared the results with solutions that are available in the literature. The weights in the objective function and the stopping condition for the proposed methodology are kept the same as that of the numerical examples described before. Three cases each of circular and elliptic starting orbits were studied. The optimality gap was found to be less than 7% in the case of circular starting orbits, however, in the case of elliptic starting orbits, the optimality gap was found to be larger (13–27%). The results of this comparison are summarized in Table. 6.2. For certain scenarios, a range of transfer times are available in the literature depending on the variation of the launch time during the year. The launch date affects the shadow orientation, and thereby has an effect on the transfer time. However, the shadow orientation is fixed in our methodology, hence the resulting transfer time is compared to the minimum transfer time reported in the literature in order to yield a conservative estimate of the optimality gap. For the first scenario, the first set of solutions in the literature correspond to application of Edelbaum’s formulation, in which case the proposed methodology yields a better solution; hence, the computation of optimality gap is not applicable in this case.

91 Table 6.2: Optimality gap of solutions computed using proposed methodology.

Initial Propulsion System Transfer time Transfer Time Optimality Orbit and Other Mission (Proposed Methodology) (Literature) Gap Characteristics (day) (day)

Circular, LEO Isp = 3300 s, λ = 65%, 206.96 209.94 - 213.71 [81] n/a a = 6978 km P = 10 kW, m0 = 1200 kg 201.86 - 213.94 [82] 2.52% e = 0, i = 28.5◦ No thrusting during eclipses Circular, LEO Isp = 1849 s, m0 = 1000 kg 45.88 43.13 [76] 6.38 % a = 6878.14 km thrust of 1.445 N. e = 0, i = 28.5◦ No thrusting during eclipses Circular, LEO Isp = 1788 s, m0 = 4500 kg 80.48 79.18 [83] 1.64% a = 16378 km T = 1.16 N e = 0, i = 0 Thrusting during eclipses Elliptical, GTO Isp = 1800 s, λ = 55%, 139.76 121.22 [84] 15.29% a = 24364 km P = 5 kW, m0 = 1200 kg 112.11-118.36 [82] 24.66% e = 0.7306, i = 28.5◦ No thrusting during eclipses Elliptical, GTO Isp = 3300 s, λ = 65%, 83.43 65.9 [84] 26.60% a = 24364 km P = 5 kW, m0 = 450 kg e = 0.7310, i = 27◦ No thrusting during eclipses Elliptical, Super-GTO Isp = 3300 s, λ = 65%, 82.11 72.60-75.42 [84] 13.10% a = 51525 km P = 10 kW, m0 = 1200 kg e = 0.8705, i = 22.5◦ No thrusting during eclipses

6.2 Receding Horizon Control The performance of the algorithm is shown in two cases. In the first case, we consider the orbit-raising maneuver of an all-electric telecommunication satellite to the GEO. In the second case, we consider the approach of a spacecraft to Enceladus, a of Saturn. In both cases, gravitational perturbations are not considered within the dynamic model within the optimization routine. However, they are included within the simulation scenarios to describe the effect of uncertainties on the algorithm. Example 1: Electric Earth Orbit Raising Maneuver The spacecraft starts the maneuver at a geosynchronous transfer orbit of 10,000 km perigee altitude with 28.1 degree of inclination. The spacecraft has initial mass is also 5,000 kg and thrusters provide 1.16 N of force (equivalent to 4 BPT-4000 thrusters operating simultaneously). The unknown perturbations are given by the oblateness of the Earth (J2 = 1.08263 × 10−3) and the acceleration due to Moon located at 384400 km along the X-axis. In the numerical computation, all the parameters are non-dimensionalized by selecting the radius of geosynchronous orbit to be 1 DU, initial mass to be 1 MU, and the time is chosen

3 2 such that the Earth’s gravitational parameter µ becomes 1 DU /TU . The angle φi is

92 computed at intervals of 10 degrees with n = 9, meaning that the planning horizon is at every 90 degrees. The weighting matrix and the final destination are chosen as:

  0.4 0 0 0 0 0      0 0.5 0 0 0 0         0 0 0.5 0 0 0  W =   , (6.2)    0 0 0 0.1 0 0       0 0 0 0 0.1 0      0 0 0 0 0 0

 T xdes = 1 0 0 0 0 0 . (6.3)

The final orbit is designed to have semi-major axis within ±0.001%, eccentricity less than 0.000001 and inclination angle less than 0.01 degrees. The resulting trajectory, which is shown in Figure 6.9(a), has the terminal angle φ equaling 1225.22 radian, indicating the completion of 195 revolutions. The transfer time is 135.56 sidereal days. The variations of osculating eccentricity, inclination angle and semi-major axis, are shown in Figure 6.9(b), 6.9(c), and 6.9(d), respectively. Example 2: Approach to a small body For this scenario, we assume that the spacecraft is initially parked into a circular orbit around the moon of Saturn, named Enceladus. The spacecraft is at 400 km away from the center of the moon. The spacecraft is required to move into the circular radius of 262 km. The spacecraft orbit is perturbed by the gravity of Saturn, assumed to be located at 237,948 km away from the center of Enceladus (along the X axis). For this example, the third body force is actually a strong perturbation. The planning horizon is 1 degree with n = 20. The parameters are non-dimensionalized by setting the Enceladus gravitational constant to be 1 DU3/TU2 with the final target radius to be 1 DU as same as the previous

93 0.45

0.4

0.35

0.3 0 -0.2 0.25

-0.4 0.2 eccentricity 1 0.15 0.5 1 0.1 0 0.5 0 -0.5 0.05 -0.5 Y (DU) -1 X (DU) 0 0 20 40 60 80 100 120 140 time (sidereal day) (a) 3D trajectory (b) Variation of eccentricity

30 1.05

1 25

0.95

20 0.9

15 0.85

0.8 10 Semi-major Axis (DU)

inclination angle (degree) 0.75

5 0.7

0 0.65 0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140 time (sidereal day) time (sidereal day) (c) Variation of inclination angle (d) Variation of semi-major axis with time

Figure 6.9: Result of the receding horizon control in earth orbit.

example. The initial mass of 2,000 kg is defined to be 1 MU. With engine of 700-Watt hall thruster, the spacecraft is expected to generate 0.0798 N of thrust that is equivalent to 0.000380 MU·DU/TU2.The weighting matrix and non-dimensionalized final destination are the same as previous example that are shown in equation (6.2) and (6.3). The stopping condition is considered to be slightly relaxed than the previous example considering strong

perturbations: 0.005 for h, and 0.05 for ex and ey, the remaining tolerances remaining the same. Considering the highly perturbed environment of a smaller body, the stopping condi- tion is a little relaxed compared to Example 1. In the weaker gravitational field resulting in a high thurst-to-weight ratio, the low-thrust trajectory is not quite a spiral, see Figure 6.10(a).

94 The transfer takes 5.20 hours, and the variation of and semi-major axis are depicted in Figure 6.10(b) and 6.10(c).

0.3

0.25

0.2

0.15 eccentricity

0.1

1 1.5

0.5 1 0.05

0.5 0

0

-0.5

Y (DU) -0.5 X (DU) 0 -1 0 1 2 3 4 5 6 time (hours) (a) 3D trajectory (b) Variation of eccentricity

1.6

1.5

1.4

1.3

1.2 Semi-major Axis (DU)

1.1

1 0 1 2 3 4 5 6 time (hours) (c) Variation of inclination angle

Figure 6.10: Result of the receding horizon control in Enceladus’s orbit.

6.3 Attitude Controller Example 1: Attitude Control Testbed This example is motivated by a future hardware-in-the-loop experiment which the control technique will be used. The control and real moment of inertia are selected to be

    0.234 0 0 0.2459 −0.0011 0.0008         2 Jc =  0 0.24 0  , J =  −0.0011 0.2522 −0.0046  kg.m         0 0 0.303 0.0008 −0.0046 0.3056

95 In this example, the uncertainty due to the variation of moment of inertia is not existed, J˙ = 0. However, the uncertainty due to the external torque is significant because of the misalignment of the center of mass of rotating body and rotational center of the platform. The center of mass is assumed to be at the point of 5, 0, 15 mm along x, y, z axes of the B frame. So that the external disturbance is calculated by

× d = mrCM R(Q)g where m is the mass of the rotating body which is 13 kg, g acceleration vector due to gravity  T  T 2 which is g = 0 0 −9.81 m/s and rCM is 0.005 0 0.015 m. The control

parameters are chosen as followed, Kp = Kd = 0.5 with the observer parameters of Γ = 100,

P is identity, σ = 0.001 and K2 = 10. Initially, the orientation of the frame B is aligned with the initial frame, so that  T  √ √ T Q0 = 0 0 0 1 , and the error of orientation is Qe = 0 0 0.5 0.5 . Both

frame are do not have any rotation rate at the initial time so that ω0 = ωe0 = 0 rad/s. The initial weights of neural network is also set to be zeros. The desire motion is selected to be

  T   0 0 π , if 0 < t ≤ 3 s  36   T ω˙ = rad/s2 D 0 0 − π , if 6 < t ≤ 9 s  36    0, otherwise

The overall performance of the controller is depicted at the Figure 6.11 with the control input at Figure 6.12. The steady state error in angular displacement is obviously reduced by MSO as shown in Figure 6.11a, as well as the error in angular velocity is also smoothen with always smaller in magnitude as shown in Figure 6.11b. Noting that the error shown Figure 6.11a physically represents an angle that aligns the frame B and D together

−1 −1 by a single rotation. This error angle is obtained from 2 sin (qe) or 2 cos (ψe).

96 102 100 with NN compensation with NN compensation w/o NN compenstation w/o NN compenstation

10-1

10-2

1 (rad/sec)

10 ω

Error (deg) 10-3 Error of

10-4

100 10-5 0 5 10 15 20 25 30 0 5 10 15 20 25 30 t (sec) t (sec) (a) Error in angular displacement. (b) Magnitude of error in angular velocity.

Figure 6.11: Comparison of performance between with and without MSO.

0.1 x-axis 0 y-axis z-axis

-0.1

-0.2

-0.3

-0.4 input torque (N.m)

-0.5

-0.6

-0.7 0 5 10 15 20 25 30 t (sec) Figure 6.12: Control input torque with MSO.

The predicted uncertainty by MSO given at equation (5.24) along with the optimal value of prediction given at equation (5.18) are shown in Figure 6.13 . The predicted value rapidly adapts from zero to the optimal value at the initial time. However, the predicted value still have small error from the optimal value at the final time which cannot clearly see from the plot. This small error has the magnitude of 0.0210 rad2/s.

97 3 3 x-axis x-axis y-axis y-axis 2.5 2.5 z-axis z-axis /sec)

2 2 2

1.5 1.5 /sec) 2

(rad 1 1 * f

0.5 0.5 Predicted Uncertainty (rad 0 0

-0.5 -0.5 0 5 10 15 20 25 30 0 5 10 15 20 25 30 t (sec) t (sec) (a) Optimal value of uncertainty prediction. (b) Predicted value by MSO.

Figure 6.13: Performance of MSO

Example 2: Moving point masses In order to make a comparison, this example is selected from Ref. [48]. The moment of inertia matrix known to the controller is selected to be a constant matrix of

  21.1 1.9 1.4     2 Jc =  1.9 17.8 2.9  kg.m     1.4 2.9 15.5

However, the real moment of inertia of the system varies with time as there are two

unknown moving masses within the spacecraft. these two masses, m1 = 1 and m2 = 2 kg, are moving as following

 T 2 ρ1 = 0.5 + 0.5 sin (0.1t), 0, 0 ,  T 2 ρ1 = 0, 0.8 + 0.8 sin (0.1t), 0 m

98 So, we can compute the inertia matrix and the rate of change from equation (3.33) and (3.40)

with a value of J0 from following,

  20 1.2 0.9     2 J0 =  1.2 17 1.4  kg.m     0.9 1.4 15

Both masses are assumed to be point masses so J1 = J2 = 0. In this example, there is no disturbances so d = 0. The control gains are chosen to

be Kp = 20 and Kd = 24.5 with the same observer parameters of Γ = 100, P is identity,

σ = 0.001 and K2 = 10I. At the beginning, desired orientation is align with the inertial reference frame as

 T QD0 = 0 0 0 1

and initial orientation error of following

 T p Qe0 = 0.1826 0.1826 0.1826 1 − 3(0.1826)2 .

The initial angular velocity of the desired frame and error are ωD0 = 0 and

 T ωe0 = 0.001 0.001 0.002 rad/s

 T 2 The desired motion is governed by the angular acceleration of ω˙ D = r(t) 1 1 1 rad/s , where

d  2 2  r(t) = 0.3 cos(0.3t)(1 − e−0.01t ) + (0.08π + 0.006 sin(0.3t)) te−0.01t dt = e−0.01t2 0.0078t cos(0.3t) − (0.0016π + 0.00012 sin(0.3t))t2 + 0.096 sin(0.3t) + 0.08π

− 0.09 sin(0.3t)

99 Lastly, the initial weight of the neural network and ωˆ e are a matrix and vector of zeros. The performance of the controller is shown in Figure 6.14. The controller with MSO yields the better performance due to the smaller errors on both angular displacement and velocity. At the final time t = 400 s, the error in angular displacement is 0.002074 degrees

−5 which is equivalent to the norm of |qe| = 1.81 × 10 , and the error in angular velocity is 2.684 × 10−5 rad/s. The errors from the controller with MSO are similar to the results from

−5 −3 Ref. [48] which are in the order of 10 for qe and order of 10 for ωe. It is worth to mention that even though the position vectors of masses, m1 and m2 are available to the controller in Ref. [48], the proposed controller do not have the information.

102 100 with NN compensation with NN compensation w/o NN compenstation w/o NN compenstation 101 10-1

100 10-2

-1 (rad/sec) -3

10 ω 10 Error (deg)

-2 -4 10 Error of 10

10-3 10-5

10-4 10-6 0 50 100 150 200 250 300 350 400 0 50 100 150 200 250 300 350 400 t (sec) t (sec) (a) Error in angular displacement. (b) Magnitude of error in angular velocity.

Figure 6.14: Comparison of performance between the controllers with and without MSO.

The control input is shown at Figure 6.15. The high transient of the control, input comes from the selection of the high Kp and the error qe at the initial time. However, this gain is chosen in order to make a comparison with an existing adaptive controller. The performance of MSO in uncertainty prediction is shown at Figure 6.16. Example 3:Mass depletion and a constant disturbance In this example, we consider the situation that a spacecraft is leaving the Earth’s shadow. The attitude control and electric propulsion subsystem are activated after idling during the eclipse. The structure comprises of the main body and a fuel tank for the electric

100 10

0 0

-10 -10

-20 -20

-30 -30

-40 -40

-50 -50 input torque (N.m) input torque (N.m) -60 -60 -70 x-axis -70 x-axis -80 y-axis y-axis z-axis -80 z-axis -90 0 50 100 150 200 250 300 350 400 0 10 20 30 40 50 60 t (sec) t (sec) (a) Control input. (b) Initial transient of control input.

Figure 6.15: Control input and its transient period.

0.2 0.15 x-axis x-axis y-axis y-axis 0.1 z-axis 0.1 z-axis /sec)

0 2 0.05

-0.1 /sec) 2 0

(rad -0.2 * f -0.05 -0.3 Predicted Uncertainty (rad -0.1 -0.4

-0.5 -0.15 0 50 100 150 200 250 300 350 400 0 50 100 150 200 250 300 350 400 t (sec) t (sec) (a) Optimal value of uncertainty prediction. (b) Predicted value by MSO.

Figure 6.16: Performance of MSO prediction

 T propulsion which is spherical of radius 0.2 m. and placed at ρ1 = 0 0 −0.3 m as depicted in Figure 6.17. The inertia matrix of the main body is known to be

  947.9167 0 0     2 J0 =  0 947.9167 0  kg.m     0 0 562.5

101 Main Body

misalignment

propulsion thrust

Figure 6.17: Problem configuration.

The moment of inertia in the controller is selected to be the value when the tank is fully load with fuel of 400 kg. So, from equation (3.33), it has a value of following.

2 J = J + m r2I + m ρT ρ I − ρ ρT  c 0 5 1 1 1 1 1 1   990.3167 0 0     2 =  0 990.3167 0  kg.m     0 0 568.9

At the initial time of the simulation, half of the fuel has been used and the remaining fuel is being burned with the rate ofm ˙ = −6.84 × 10−5 kg/s by electric engines. Therefore, the mass of the fuel as a function of time is m(t) = 200 − 6.84 × 10−5t. As mentioned earlier, the center of mass of the spacecraft is assumed not to be varied by the reduction of fuel. Now equation (3.33) and (3.41) can be applied for computing J and J˙. Next, the thrust vector from the electric engine does not passing through the center of mass. So this generates the disturbance torque and can be computed by d = r×F where r is a vector from the center of mass to a point along the direction of thrust and F is thrust vector as  T depicted in Figure 6.17. In this simulation, r and F is selected to be r = 0.5 0.5 0

102  T m and F = 0 0 2 N., so we have

 T d = 1 −1 0 N.m

    The desired motion of spacecraft is QD0 = 0 0 0 1 , ωD0 = 0 0 0.1 rad/s   2 and ω˙ D0 = 0 0 0 rad/s . Due to the de-activation of the attitude control subsystem during eclipse, spacecraft has highly random rotational errors at the initial time. This errors  √ √ √ √    are Qe0 = − 0.15 0.25 0.05 0.55 , ωe0 = 5 4 8 rad/s. The parameters for controller are chosen to be similar with the first example as

Kp = 0.5, Kd = 0.5, Γ = 100, P is identity, σ = 0.001 and K2 = 10I. And the initial ˆ value of the observer as same as other examples of W0 = 0 and ωˆ e = 0. The comparison of performance between with and without MSO is shown in Figure 6.18. Inverse control with MSO gives the smaller steady state error and better velocity tracking performance.

103 102 with NN compensation with NN compensation w/o NN compenstation w/o NN compenstation 100 102

10-2 101

10-4

0 (rad/sec)

10 ω 10-6 Error (deg)

-1 10 Error of 10-8

10-2 10-10

10-3 10-12 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100 t (sec) t (sec) (a) Error in angular displacement. (b) Magnitude of error in angular velocity.

Figure 6.18: Comparison of performance between the controllers with and without MSO.

Let consider the Figure 6.19, initially controller produces high control input. This comes from the nature of inverse control that try to decelerate fast spinning motion of a large object into the desired motion. This problem can be avoid by selecting a motion of

103 D frame that match with initial condition and gradually reduce the velocity. At the final time, the controller produces an steady output for compensating the disturbance torque from the propulsion subsystem. However, a small mismatch of error prediction depicted in Figure 6.20 causes the steady state error in angular displacement. The magnitude of this error at the final time is 1.414×10−5 rad/s2. As shown in Figure 6.20b, the MSO generates a large transient prediction during the 0 - 20 seconds. However, the performance of controller during the period still better than the controller without MSO as shown in Figure 6.18.

×104 1.5 10

1 5

0.5 0 0

-5 -0.5 input torque (N.m) input torque (N.m) -10 -1

x-axis x-axis -15 -1.5 y-axis y-axis z-axis z-axis

0 1 2 3 4 5 6 7 8 20 30 40 50 60 70 80 90 100 t (sec) t (sec) (a) Transient duration of control input. (b) Steady state duration of control input.

Figure 6.19: Control input.

×10-3 1.5 0.02 x-axis x-axis y-axis 0.01 y-axis 1 z-axis z-axis

0 /sec) 2 0.5 -0.01 /sec) 2 0 -0.02 (rad * f -0.03 -0.5

-0.04 Predicted Uncertainty (rad -1 -0.05

-1.5 -0.06 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100 t (sec) t (sec) (a) Optimal value of uncertainty prediction. (b) Predicted value by MSO.

Figure 6.20: Performance of MSO prediction

104 CHAPTER 7

ATTITUDE CONTROL TESTBED DESIGN

When spacecraft are in the space, they experience the micro-gravity and near-zero atmospheric friction. However, the attitude determination and control system (ADCS) is one of the systems in spacecraft that can practically be tested, examined and validated in laboratory. The testbed, therefore, needs specific configurations that mimics the spatial at- titude dynamics of micro-gravity and almost-frictionless rotation. In this chapter we discuss the design of a attitude control testbed for ADCS that is actuated by momentum wheels. 7.1 Background A spacecraft’s ADCS is used to reorient, stabilize or tracking desired orientation depended on the mission concept. In order to achieve goals, ADCS has to encounter compli- cations of external disturbances, inaccurate system model or noisy measurement feedback. ADCS can exerts control torque to spacecrafts by several equipments. The first equipment is the thrusters which propel some fuel and propellant through nozzles. The exerting torque, then, is generated by thrust and offsets of thrust vector to the spacecraft center of mass. Definitely, the thrusters has a limitation of limited on-board fuel, however this types of actuators does not requires extensive electric energy. Therefore, for the deep-space mission where the solar energy is hardly harvested, thrusters are still the main actuators for this type of missions. For example, Cassini spacecraft, which investigated outter in solar systems, used thrusters as the main actuator. The second equipment is magnetic torque coils which acts on the Earth’s magnetic field. Obviously, this type of actuators needs to be in the strong Earth’s magnetic field. So its applications are mostly limited to the LEO. The third equipment is momentum wheels which are common an ADCS actuator. Momentum wheels do not produce external torques but they alter angular mo- mentum of the spacecraft by storing it in wheel rotation. Their drawbacks are that they

105 can be saturated after storing to much momentum in a certain direction and they requires electric power. So they usually operate in the region that solar energy can be harvested. ADCSs are usually specifically designed to meet the mission requirements of satellite operators making each ADCS unique. For example, deep space missions requires the electric power consumption. Some payloads require a very precise orientation within order of an arc-second, while some payloads need the accuracy within an order of 20 degrees. The size and mass of spacecrafts affect the torque capabilities of ADCS. The large satellite require the high torque capability which the smaller size requires less torque capability. Due the variety of ADCS requirements, ADCSs are needed to be newly designed to serve the mission, this comes a risk of failure. The ADCS testbed can identify the failures and saves the valuable mission. There are two main categories of air bearing, the planar and spherical. The planar air bearing testbeds provide degree of freedom in one rotational and two translational directions. So they cannot fully serve the attitude control testbed purposes that are to validate attitude controllers in three rotational directions. Therefore, we select the spherical air bearing testbeds and further discuss their state of design. 7.1.1 State of Spherical Air Bearing Testbed There are three shapes of spherical air bearing testbeds, tabletop, umbrella and dumb- bell shapes as shown in Figure 7.1 [85]. All shapes mimic the rotational frictionless motion by floating on compressed air layer glazing on hemispherical socket. As it floats in concave socket, all three translational directions are constrained. For comparison of each shape, con- sider the Figure 7.1a, the tabletop shape has the least degree of freedom due to the top flat table which restricts the rotation in roll and pitch directions. However, it is the simplest design with a semi-spherical surface at the bottom. Next, the umbrella shape in Figure 7.1b has the similar degree of freedom as tabletop except that it has smaller restriction in roll and pitch directions. The last shape, dumbbell shape in Figure 7.1c, has the most degree

106 (a) Tabletop shape [85]. (b) Umbrella shape [85].

(c) Dumbbell shape [85].

Figure 7.1: Shapes of spherical air bearing. of freedom because it can freely rotate in roll and yaw directions. However, it still has a constraint in the pitch direction as similar as the tabletop shape. For example of the tabletop testbeds, a satellite simulator (SimsatII) was developed and operated by The Air Force Institute of Technology at Wright-Paterson Air Force Base, as depicted in Figure7.2a [85]. Massachusettes Institute of Technology’s Space Systems Laboratory (MITSSL) has developed a small attitude control testbed with the tabletop configuration as depicted in Figure 7.2b [86]. An example of dumbbell shape is depicted in Figure 7.2c. This testbed was developed by engineers at the University of Michigan and called Triaxial Attitude Control Testbed or TACT [87]. 7.2 Testbed Design The design of attitude control testbed is discussed in this section. The air bearing shape that is selected is tabletop shape manufactured by PI MOTION | POSITIONING [88] due the simplicity of the tabletop shape. The model A-654.045 depicted in Figure 7.3 can

107 (a) Simsat II testbed [85]. (b) MITSSL testbed [86].

(c) TACT testbed [87].

Figure 7.2: Examples of spherical attitude control testbeds. handle up to 160 kg at the nominal air pressure of 550 kPa which is enough for nanosatellites [89]. The air bearing can make a maximum roll and pitch angle of 45 degrees. Next, the platform design that fixed with the air bearing is separated into mechanical design and electrical design segments. 7.2.1 Mechanical Design As mention earlier, the air bearing platform is selected to be tabletop. Most of the components are mounted on the top of the air bearing. In order to emulate the micro gravity environment, there is a crucial condition that the center of mass (CM) of the platform necessarily be coincided with the center of rotation of the air bearing. The deviation of the CM means that there is a moment arm from the rotational center and gravitational force.

108 (a) Air bearing. (b) Air bearing pedestal.

Figure 7.3: Air bearing structure.

This causes an external torque that perturbs motion of the testbed. The design of the testbed needs to reduce the deviation as much as possible and have options for tuning the CM location.

(b) The testbed. (a) The testbed setting on pedestal.

Figure 7.4: Designed air bearing structure.

The complete mechanical design of the testbed is shown in Figure 7.4. Figure 7.4a shows the overall appearance when the testbed is set on the pedestal, while Figure 7.4b

109 shows close up mechanical design of the testbed with the basis vectors of body-fixed axes. The total mass of the testbed calculated by the design software is 13.5 kg. The software also calculates the moment of inertia about the center of rotation as follows

  0.234 0 0     2 J =  0 0.234 0  Kg.m (7.1)     0 0 0.303

Design of Momentum Wheels The momentum wheel are used for storing angular momentum or actuating the mo- tions of the platform. The wheels have to have a reason mass and moment inertia for angular momentum storage and they are connected with motors, so each pair has relatively large mass compared to other components. In order to keep CM at the center of rotation, they needs to be symmetrically located about an vertical axis. In order to completely control the rotation in three dimensional spaces, at least three momentum wheels are required and spinning axes of three wheels have not to be in the same plan. Moreover, if there are three wheels, the most effective configuration is that these three wheels are orthogonal to each other.

o o 35.264 35.264

120o

o o 120 35.264

Figure 7.5: Spinning directions of momentum wheels.

110 Therefore, to satisfy the two conditions of symmetrical placement and orthogonal orientation, the three spinning axes of wheels are designed to be as shown in Figure . The projections of three axis on the horizontal plane have 120 degree span where the projection of an axis aligns with x axis. In order to satisfy, the symmetrical condition, the upward tilting angle for all axes has to be equal. We knows all axes have to be orthogonal to each other. If we impose the zero dot product of orthogonal vectors, we can formulate an equation to determine the upward tilting angle as follows

 T  T 0 = cos Φ 0 sin Φ · cos 120 cos Φ sin 120 cos Φ sin Φ (7.2)

= −0.5 cos2 Φ + sin2 Φ (7.3)

= −0.5 + tan2 Φ (7.4) √ Φ = tan−1( 0.5) = 35.264◦ (7.5)

where Φ is tilting upward angle of all spinning axes. We also add a redundant wheel whose spinning axis aligns with vertical axis at center of the platform. This additional wheel allows engineers to test the control law if one of the main three wheels fails. Next, the momentum wheels are designed to be made of stainless steel which has relatively high density of 8 g/cm3. The dimension of momentum wheel is given in Appendix. Each wheel has moment about its spinning axis of 3.55 × 10−3 Kg.m2. Actually, the momentum wheels are an equipment that transform the electrical energy into the rotational energy of the wheels. The transformation is performed by dc motors which are electro-mechanical devices, so they also involve with the electrical design. Then, the motors and momentum wheels will be further discussed later in electrical design. CM Adjustment As mention earlier, the CM is need to be locate at the center of rotation as possible in order to eliminate gravitational disturbance. In Figure 7.4b, the momentum wheels have

111 relatively high masses compared to other components and locate on the top of the platform. So the masses needed to be added at the bottom of the platform in order to compensate the upper masses. As depicted in Figure Figure 7.4b, three stacks of stainless steel plate are mounted with aluminum frames. These stacks can be adjusted up and down along the grooves of the frames. The dimension of plates is given in Appendix A. Each plate has the mass of 0.2 kg, so each stack which consists of 7 plates has the mass of 1.4 kg. Due to that the number of plates in each stack can be added or removed, this can be consider to be the coarse adjustment of the CM along the horizon plane. Let us consider the Figure 7.4b again, there are small red, green, and blue rectan- gular prisms mounted on the top aluminum frames. The dimension of prisms is given in Appendix A. they are made of stainless steel with the mass of 30 g each. These masses are designed for the fine CM adjustment. The red pair, green pair and blue pair finely adjust the CM along X, Y and Z axes, respectively. However, large electrical components can be used as the coarse balancing masses, for example battery packs. Moreover, the feature of aluminum frame that easily connect additional structures allows engineers to attach extra masses to balancing the platform. Maximum Inclining Angle According to the specification of the air bearing, the maximum inclining angle is 45 degrees. If the platform rotate beyond the this limitation, it could fall out of the pedestal and be damaged. Therefore the bottom ring is designed for limiting the rotation as shown in Figure 7.6. If the platform tilts to the limiting angle, bottom ring will touch the pedestal and it cannot further tilt beyond the angle. By incorporating the bottom ring, this mechanism limits the pitch and yaw angle to about 32 degrees which has 13 degrees safety angle before reaching the maximum inclination of the air bearing. The bottom ring is made of clear acrylic sheet with 5 mm thickness and the dimension is also given in Appendix A.

112 Figure 7.6: Limiting mechanism for roll and pitch angles.

7.2.2 Electrical Design In this section, we discuss about operating concepts, electrical components and its essential specifications. For the ease of understanding, the schematics that given in Ap- pendix B are referred. All electric connections is divided into two portion, the power and electronic connections. The power connections supply the electric power to the motors and on-board devices from batteries while the electronic connections establish communications between electric devices. Let us briefly discuss the power and electronic connection. The electric power is supplied from the three on-board batteries. One battery supplies powers to two DC buck converters that regulate the voltage to digital level of 5V. Other two batteries, each of them separately supplies the two motor drivers. Each of the three batteries connects with a 10 A fuse to protect the batteries from overload current or short circuit. Next, main micro controller, Arduino Mega 2560, connects to inertial mearsurement unit (IMU), two slave arduino uno, real time clock module (RTC) and a micro computer. The main Arduino board uses serial peripheral interface (SPI) to communicate with the two slave Arduino boards and IMU. It uses inter-intergrated Circuit (I2C) and one external interrupt pin to connect with RTC module and universal serial bus (USB) to connect with the micro computer. Two slave Arduino boards, each of them connects with a motor driver and two motor encoders. The dc motor connects with the slave Arduino by the serial port. The two slave

113 Arduino boards control the DC motor drivers by the speed command from the main micro controller. Then, each of motor encoders connects with the slave Arduino by connecting one wire to an external interrupt pin and another wire to general input-output pin. Each slave Arduino board counts pulsing signals from two motor encoders. The further detail is separately given for each device one by one: Battery and Charger

(a) Li-Po battery.

(b) Charger. (c) Fireproof bag.

Figure 7.7: Li-Po battery and charging equipments.

There are three on-board batteries, All of them are 5.5 Ah 35C 4S Lithium-Polymer batteries (Li-Po) from a brand FLOUREON. The battery has the mass of 0.54 Kg and the dimension of 16 × 4.6 × 3.5 cm as shown in Figure 7.7a. The 4S batteries stands for 4 cells in series so the nominal operating voltage equals to 4(3.7) = 14.8 V. The 35C gives the maximum current that battery is able to continuously deliver. The 35C and capacity of 5.5 Ah means that the battery can steadily deliver 35(5.5) = 192.5 A. which is enormous amount

114 of electric current. This is the reason why 10 A fuses are required to protect batteries from unexpected short circuit. The batteries are considered to be fully-charged when batteries have 4.2 V. per cell, or 16.8 V. for these 4S batteries. Charging above this voltage will damage the cell. The batteries are considered to be half-charged when batteries have 3.7 V. per cell, or nominal 14.8 V. for these batteries. The batteries are considered to be discharged at 3.0 V. per cell, or 12.0 V. for these batteries. Discharging below this voltage will definitely damage the cell. In order to safely charge the battery, a charger that is specifically designed is needed. The balance port, white small connector in Figure7.7a, has to be connected to the charger when battery is charged. This port allows the charger to balance the voltage and charging current. The safe charging rate is 1C which is equal to 5.5 A charging current for these bat- teries. The number of cell count, which is 4S, need to be carefully checked every time before charging. Additionally the battery should be kept in fireproof bag, shown in Figure 7.7c, while charging. DC Buck Converter

Figure 7.8: DC buck converter.

The power supply from battery is the range of 12.0 - 16.8 V which is the operating voltage for digital devices. Two DC buck converters are used for regulating the voltage at 5.0 V. Each of them can supply up to 3 A. at 5 V. The total required current of all devices is around 4 A., so a pair of them is used for supplying the operation. The picture of selected DC buck converter is shown in Figure 7.8. Both of them are supply by a battery.

115 DC Motor Driver A battery, which can provides only a constant voltage, has to connect with DC motor drivers in order to supply motors with a controllable voltage level from zero to maximum voltage. Then, motors are driven by the various voltage levels from the DC motor driver. DC motor drivers adjusts the output voltage by applying the Pulse Width Modulation (PWM) which is a technique that adjusting the turning on and off duration over a short period.

Figure 7.9: DC buck converter.

The testbed uses two DC motor drivers from Pololu model TReX DMC01 depicted in Figure 7.9. Each of them can control up to 2 motors with a maximum continuous current of 13 A. per channel [90]. Its operating voltage is from 6 to 16 V. They are separately supplied by a battery. It can switch the direction of motors with 7-bits resolution or 128 voltage steps in each direction. Each of them connects to a slave Arduino board via TTL (0-5 V logic level) serial interface over maximum baud rate of 115200 bits/s. The reason why the dc motor drivers are controlled by slave arduino boards in stead of the main one is the significant time consumption of serial interface. The protocol for controlling the board can be obtained from Ref. [90]. Motors Momentum wheels, which are the actuators of the platform, are a motor connecting with a flywheel. In general, brush dc motors can be modeled as a simple linear system of a

116 Resistor Inductor

DC Motor

Input Voltage M

Figure 7.10: Simple Linear model of DC motor.

resistor and a inductor as depicted in Figure 7.10. We formulate a relationship as follows

VI − VR − VL − VM = 0 (7.6)

where VI is supply voltage, VR, VL and VM are voltage across resistor, inductor and motor, respectively. VM is modeled to be proportional to the motor speed with a parameter of motor voltage constant Ke. Now, from basic electrical rules, we have

VI − iR − iL˙ − Keωs = 0 (7.7)

From the dynamic of motor, we have

τe − τf = Jsω˙ s (7.8)

where τe is torque generated by motor and τf is rotational friction. τe is modeled to be proportional to motor current i with a parameter of motor torque constant of Kt, and τf is model to be proportional to speed with a constant of viscous damping factor b. So we can

117 rewrite equation (7.8) as

Kti − bωs = Jω˙ s. (7.9)

From equation (7.7) and (7.9), we have the dynamic model of the dc motor as

        i˙ − R − Ke i 1    L L     L    =     +   VI (7.10) ω˙ Kt − b ω 0 s Js Js s

Figure 7.11: Brush DC motor.

The motors used in the platform are brush dc motors, model 8453S042-SP from PITTMAN [91] as shown in Figure 7.11. The motors are driven by adjustable voltage from DC motor drives. The maximum input voltage is 24 V. The motor has specifications as follows [91]

R = 2.74 Ω,L = 2.6 × 10−3 H

Ke = 0.2346 V/Hz,Kt = 0.0374 N.m/A

−5 −3 2 b = 2.1184 × 10 N.m/Hz,Js = 3.55 × 10 Kg.m

Noting that Js is the designed inertia of the wheel discussed earlier. Now by substituting motor specifications into equation (7.10), we have the dynamics of momentum wheels as follows

118         i˙ −1.0538 × 103 −90.2308 i 384.6154           =     +   VI (7.11) ω˙ s 12.4279 −0.0070 ωs 0

where i and ωs, VI have the dimensions of A., Hz, and V., respectively. The motors have an encoder attached at the bottom. There are six wires from the motors but only red and black are the power lines of the motors, while the other four belong to incremental encoder which will be discussed next. Motor Incremental Encoder The incremental encoders are a device that provides pulses while motor is spinning. By simply counting pulses, the controller can detect the number of revolutions. There are 2 channels in the motors which are channel A and B from the blue and violet wire, respectively. The other wires, white and green, are 5 volt supplying from dc converters and ground.

channel A

channel B

Figure 7.12: Concept of incremental encoder.

The two channel outputs are used for determining the direction of the rotation. They produce the square waves that have 90◦ phase offset to each other as shown in the Figure 7.12. Assuming rotor is rotating clockwise as shown by green direction, if we keep checking the signal of channel B at the raising edge of channel A, it is always low signal. Conversely, assuming rotor is rotating counterclockwise as shown by red arrow, at the raising edge of channel A, the phase B is always high. By this principle, we can count the pulse from the channel A and check the direction from channel B to track the rotation of the rotor. The

119 encoder coming with the motor has 500 pulse per revolution. As a summary, the interrupt function for counting encoder is shown at Algorithm 1.

Algorithm 1 Counting incremental encoders Require: current position {this is a global 32-bit signed volatile variable} Require: Interrupt from raising edge of Ch#A if correspoding Ch#B is true then add 1 to current position else subtract 1 from current position end if

Slave Arduino Board Now, all the devices attaching to the slave Arduino Board have been discussed, so let us discuss about the slave Arduino Board. There are two slave Arduino Boards on the platform. They are Arduino Uno which uses ATmega328 running at 16 MHz as a controller which is shown in Figure 7.13. 5V DC is supplies to the boards from the two buck converters. Each of the board has to do 3 tasks:

• tracking the position of two motors by detecting raising edges of both encoder channel A by through external interrupt pins and checking direction from corresponding encoder channel B.

• sending motor positions and receiving motor speed commands from main controller through SPI interruption.

• sending motor speed commands to DC motor driver.

Generally, the two slave Arduino controllers are in idle mode and keep counting pulses by interruption. If the main Arduino needs to execute a command, it will wake the corresponding slave Arduino up by SPI interrupt service routine. Then, the main and slave Arduino controllers do the transactions through SPI. After transaction is complete, the slave Arduino send the speed command to motor driver and go back to idle mode. By referring

120 Figure 7.13: Arduino Uno. to schematic given in Appendix B, The main function of slave Arduino is summarized at Algorithm 2.

Algorithm 2 Slave Arduino Require: SPI.h set pin2 and 3 to internal pull up {Pin 2, and 3 are external int 0 and 1, respectively} set SPI in slave mode attach interrupt from raising edge of pin2 and3 to ISR attach interrupt from SPI loop if transaction done flag is set then process data from master transfer motor speed to drive reset transaction done flag end if do nothing, wait for interruptions end loop

In the endless loop of Algorithm 2, most of the time, the two slave controllers wait for the interruptions from pulses in Algorithm 1 and SPI transaction in Algorithm 3. Noting that the given pseudo codes do not present every detail, they only give the rough guideline for the implementation. Inertia Measurement Unit The inertial measurement unit includes a triaxis gyroscope and triaxis accelerometer. So it can measure the angular velocity and acceleration of the platform. The IMU selected for the testbed is model ADIS16365 which is a industrial grade IMU [92]. It requires 5

121 Algorithm 3 SPI ISR of Slave Arduino Require: SPI.h Require: count {Global volatile integer variable} store data from SPDR register load encoder data to SPDR register byte by byte count++ if count == 8 then reset count to zero set transition done flag end if

V. power supply and SPI interface. So it is connected with the main controller via SPI interface with 5 V. power supply from DC converters. Though, it is able to measure the angular rate up to ±300◦ per second, it is set to output at the smallest range of ±75◦ per second since the testbed would not rotate beyond the maximum speed. With the smallest bandwidth setup, the IMU can provide the highest precision at 0.0125◦ per second resolution. the accelerometer can measure up to ±18 g’s at 3.38 × 10−3 g’s resolution. The complete specification for the IMU can be found at Ref. [92]. In order to determine the orientation, the method called error-state Kalman filter may be used [93]. This method combines the data from accelerometer and gyroscope together by using Kalman filter on the quaternion.

Figure 7.14: Inertia Measurement unit.

Real Time Clock Module The real time clock module is designed for generating a pulse at every certain interval. For this platform, the controller is designed to initiate the calculation at every 50 ms which

122 is equivalently 20 Hz. The RTC module is from SparkFun which uses chip number DS1307 as shown in Figure 7.15. The module communicates with main MCU via I2C protocol. The module generates the square-wave output through the pin named SQW with the selectable frequencies of 1 Hz., 4.096 kHz, 8.192 kHz, and 32.768 kHz. The generated square wave is connected to the interrupt pin of the micro controller. Then, the control can accurately initiate the computation for each time interval by counting interrupts from the square wave. If the generated square wave from RTC is 4.096 kHz, the closest integer for 50 ms interval is 4096 [86].

Figure 7.15: Real-time clock module.

Main Micro Controller The main micro control is the center of controlling unit of the platform. It is Ar- duino Mega2560 which uses microcontroller model ATmega2560 with 16 MHz clock speed as depicted in Figure 7.16. The main micro controller operates in the real-time manner by counting the 4.096 kHz square-wave from the RTC. Once the number reaches 4096 pulses, the controller initiates the communication and computation. However, the duration that Arduino Mega spends for operating tasks is needs to be less than 50 ms. In each sampling interval, the tasks of Arduino Mega are:

• sending the motor speed commands to the first Arduino Uno via SPI protocol.

• receiving the angular positions of the motors that are connected to the first Arduino Uno.

• sending the motor speed commands to the second Arduino Uno via SPI protocol.

123 Figure 7.16: Arduino Mega2560.

• receiving the angular positions of the motors that are connected to the second Arduino Uno.

• reading the data from the IMU.

• computing the experimenting control algorithm, or determining motor for the next interval.

• sending experimenting data to the micro computer.

• checking the user command from the micro computer.

• waiting for the next interval.

Noting that while the tasks are performing, the interrupting square-wave signal is simulta- neously counted by the Arduino Mega. Micro Computer The micro computer is Raspberry Pi model 3B as depicted in Figure 7.17 running the operating system of Raspbian. It is connected with onboard monitor, wireless keyboard and mouse. The main purposes are for collecting the experimenting data and sending user input command to the main microcontroller.

124 Figure 7.17: Raspberry Pi 3 model B.

125 CHAPTER 8

CONCLUSIONS

8.1 Thesis Summary Electric propulsion systems provide the great advantage of fuel efficiency over tradi- tional chemical propulsion systems. This advantage allows mission engineers to design lighter and lower-cost satellites. An electric propulsion system, as the name suggests, requires elec- tric power for generating thrust. The power demand is usually high, on the order of 10 KW for 1 N. of magnitude of generated thrust. Due to the high electric power consumption of thrusters, satellites that potentially have the capability of incorporating electric thrusters are of the communication type. This class of satellites usually operates in the geosynchronous equatorial orbit. Typically, satellites are transferred to the destination orbit (GEO) after initially being placed in the geosynchronous transfer orbit. Then, the engines perform an orbital maneuver to relocate the satellites into the GEO. However, the main challenge for uti- lizing an electric thruster in orbit transfer is the low magnitude of thrust generated onboard. The transfer time can be on the order of several months before arriving at the destination orbit of the GEO. Optimization of such trajectories is a challenging process. Therefore, a new robust numerical methodology for generating a sub-optimal trajectory in an automated way is developed here. In this work, a novel set of orbital parameters has been proposed. This proposed set does not have singularity at the GEO, in contrast to the set of classical orbital elements. The proposed set utilizes the 2-1-3 Euler’s angle rotation sequence to avoid singularity at the equatorial plane instead of the 3-1-3 sequence of classical orbital elements. Five of the six variables in the proposed set vary slowly due to perturbations and are useful in solving the optimal control problem.

126 A novel robust numerical method for generating a low-thrust trajectory was devel- oped, based on the proposed set of orbital parameters. The methodology applies the closed- loop guidance scheme with unconstrained optimization by minimizing the deviation of the current orbit and the destination over a revolution. The robustness of the methodology is demonstrated by convergence of the direct optimization over a variety of initial orbits and transferring conditions. The reasonable initial guess, which generally is required for numerical optimization, is not essential and is negligible for this methodology. Moreover, by formulating the problem into an unconstrained optimization, the methodology rapidly generates solutions on order of several seconds. The performance of the algorithm is also verified, by comparing it with the existing methodology. The sub-optimality gap for the circular initial orbits are less than 10 percent with the higher gap of 25 percent in elliptical orbits. Due to the robustness and rapidity of trajectory generation, the methodology is fur- ther developed into the closed-loop guidance control over the planning horizon. The earth’s oblateness and the moon’s gravity are considered to be unknown. Furthermore, the accuracy of optimization is also developed by using the constrained optimization problem. The solu- tion from the unconstrained optimization problem is propagated by an ordinary differential equation solver and then used as the initial guess for the constrained method. The simula- tion shows that the solution from the unconstrained problem with the ordinary differential equation propagation is adequately accurate to serve as the initial guess, due to the con- vergence of the solution at each planning horizon. Trajectories under the uncertainties can be obtained without the difficulty of solution convergences. The constrained optimization improves the performance over the unconstrained algorithm by reducing the deviation from the GEO at each revolution. In terms of attitude control, an attitude-tracking controller is proposed. This con- troller utilizes the attitude error dynamic that is represented in terms of quaternions as the state variables. The controller uses the inverse full-state feedback controller as the main

127 algorithm. In the absence of uncertainties, the inverse feedback control is mathematically proven to guarantee asymptotic stability. Furthermore, in order to improve performance in the presence of uncertainties, the modified state observer is appended to the inverse con- troller. The estimating error and estimating state variables are proven to be bounded. The main purpose of the appended observer is to improve the performance under uncertainties in the moment of inertia and those due to external disturbances. The controller with the appended observer shows improvement in performance by yielding lower steady-state errors in all simulations. Moreover, the control performance in handling uncertainty of the moment of inertia is then compared with an adaptive controller specifically designed for the task. As a result, both control techniques provide similar results and performances. Finally, an attitude testbed that aims for testing control algorithms in practice is designed. The conceptualized platform floats on a hemispherical thin layer of air and has the actuators of four momentum wheels. All wheels are symmetrically and orthogonally placed on the platform. One of the wheels is considered to be redundant and can be used for testing the control algorithm in the event of wheel failure. In terms of mechanical design, the center of mass of the platform, which needs to be located at the rotating point, can be shifted by adding mass. The electric components are powered by three lithium polymer batteries. The platform has the main controller Arduino Mega 2650 for arithmetic computation. The data is managed and displayed by Raspberry Pi. This platform has an onboard six degrees of freedom inertial sensor, which measures three axes of acceleration and angular velocity. 8.2 Future Work The future work is categorized into as follows: 8.2.1 Low-Thrust Trajectory Generation Due to the longer transfer time of the low-trust trajectory, spacecrafts have more exposure to the hazardous environment of Van Allen radiation belts during the transfer. Longer exposure time means greater doses of radiation that degrade onboard electrical com- ponents, such as solar cells and semi-conductors. A tool for generating trajectories that has

128 a minimum radiation dose from the transfer would help the mission designer evaluate wider possibilities. Furthermore, a tool that generates the minimum fuel-expenditure trajectory would also allow the mission designer to evaluate more scenarios. Therefore, the develop- ment of tools that provide optimal low-thrust trajectories in various scenarios would open up a new practical mission. From the existing literature, the proposed methodology for generating a low-thrust trajectory still has an optimality gap. This gap could be reduced by fine-tuning the weighting parameters in the deviation function. These parameters could be further modeled as a function of the current orbit. In other words, a methodology could be developed by using adaptive weighting parameters. In general, electric engines have operational constraints of the duty cycle. In the proposed methodology, the thrusters are deactivated during eclipses. This means that the methodology has the potential of incorporating the operational constraint of a duty cycle. This condition could be incorporated by computing the remaining operating time before a revolution and finding the optimal orbit portion for the remaining thrusting period. 8.2.2 Attitude Controller Currently the proposed attitude controller requires a full-state feedback. However, the measurement of attitude orientation is not always available. Orientation sensors are the sun sensor or star tracker, which generally have a specified operational range, or they are used for calibrating the estimation value. The modified state observer also has the potential to estimate the state that cannot be directly measured. Therefore, the attitude controller could be extended to scenarios where only the angular velocity is available. Currently, the micro-controllers or small computers are very flexible for implement- ing the control system. Also they can be accessed at a very low cost with a variety of computational power and functions. Therefore, the proposed controller, which is based on the continuous time domain, should be simulated in the discrete output with a sampling

129 time. It should be assumed that the sensing input to the controller is obtained at a certain sampling frequency. In large satellites, it is practical to control the orientation by a combination of gas propulsion and momentum wheels. The proposed controller could be further developed by considering the actuation from momentum wheels and their rotation effects. 8.2.3 Attitude Control Testbed The testbed design has been proposed. Future work would involve construction and implementation. After that, an evaluation of the platform is needed including the dynamics of the momentum wheel, the mass and center of masses of the platform, and the friction of the air-bearing platform. The inaccuracy of this information could affect the performance of the testing control law.

130 REFERENCES

131 REFERENCES

[1] Wikimedia Commons, Van Allen Radiation Belt, 2006, File:Van Allen radi- ation belt.svg. URL: https://commons.wikimedia.org/wiki/File:Van_Allen_ radiation_belt.svg.

[2] Byers, D. C. and Dankanich, J. W., “Geosynchronous-earth-orbit communication satel- lite deliveries with integrated electric propulsion,” Journal of Propulsion and Power, Vol. 24, No. 6, 2008, pp. 1369.

[3] Manzella, D., “Low cost electric propulsion thruster for deep space robotic missions,” 2007 NASA Science Technology Conference, 2007, pp. 07–0116.

[4] Petro, E. M. and Sedwick, R. J., “Survey of Moderate-Power Electric Propulsion Sys- tems,” Journal of Spacecraft and Rockets, 2017.

[5] Birkan, M. and MICCI, M., “Survey of electric propulsion thruster applicability to near earth space missions,” International Electric Propulsion Conference, 20 th, Garmisch- Partenkirchen, Federal Republic of Germany, 1988, pp. 374–382.

[6] Clark, S. “Boeing reveals government’s all-electric satellite purchase,” [online]. 2014. URL: https://spaceflightnow.com/news/n1403/12boeing702sp/ [cited 28 October 2017].

[7] Dudney, R., “Rescue in Space,” Air Force Magazine, January 2012, pp. 38-41.

[8] Killinger, R., Kukies, R., Surauer, M., Tomasetto, A., and van Holtz, L., “ARTEMIS orbit raising inflight experience with ion propulsion,” Acta Astronautica, Vol. 53, No. 4-10, 2003, pp. 607–621.

[9] Fitzgerald, A., “The Effect of Solar Array Degradation in Orbit-Raising with Electric Propulsion,” International Electric Propulsion Conference, Seattle, WA, Sep 1993.

[10] Edelbaum, T. N., “Propulsion requirements for controllable satellites,” ARS Journal, Vol. 31, No. 8, 1961, pp. 1079–1089.

[11] Flandro, G., “Asymptotic solution for solar electric low thrust orbit raising with eclipse penalty,” Anaheim, CA, Aug 5-9 1974.

[12] Lawden, D. F., Optimal trajectories for space navigation, Butterworths, 1963.

[13] Wiesel, W. E. and Alfano, S., “Optimal many-revolution orbit transfer,” Journal of Guidance Control Dynamics, Vol. 8, 1985, pp. 155–157.

132 REFERENCES (continued)

[14] Russell, R. P., “Primer vector theory applied to global low-thrust trade studies,” Journal of Guidance Control and Dynamics, Vol. 30, No. 2, 2007, pp. 460–472.

[15] Betts, J. T., “Survey of numerical methods for trajectory optimization,” Journal of Guidance control and dynamics, Vol. 21, No. 2, 1998, pp. 193–207.

[16] Liu, H. and Tongue, B. H., “Indirect spacecraft trajectory optimization using modified equinoctial elements,” Journal of guidance, control, and dynamics, Vol. 33, No. 2, 2010, pp. 619.

[17] Thorne, J. D. and Hall, C. D., “Approximate initial Lagrange costates for continuous- thrust spacecraft,” Journal of Guidance Control and Dynamics, Vol. 19, 1996, pp. 283– 288.

[18] Thorne, J. D. and Hall, C. D., “Minimum-time continuous-thrust orbit transfers using the Kustaanheimo-Stiefel transformation,” Journal of guidance, control, and dynamics, Vol. 20, No. 4, 1997, pp. 836–838.

[19] Marasch, M. W. and Hall, C. D., “Application of Energy Storage to Solar Electric Propulsion Orbital Transfer,” Journal of Spacecraft and Rockets, Vol. 37, No. 5, 2000, pp. 645–652.

[20] Dutta, A., Libraro, P., Kasdin, N. J., and Choueiri, E., “A direct optimization based tool to determine orbit-raising trajectories to GEO for all-electric telecommunication satellites,” AIAA/AAS Astrodynamics Specialist Conference, 2012, p. 4589.

[21] Falck, R. D. and Dankanich, J. W., Optimization of low-thrust spiral trajectories by collocation, Vol. 4423, National Aeronautics and Space Administration, Glenn Research Center, 2012.

[22] Betts, J. T., “Very low-thrust trajectory optimization using a direct SQP method,” Journal of Computational and Applied Mathematics, Vol. 120, No. 1, 2000, pp. 27–40.

[23] Conway, B. A., “A survey of methods available for the numerical optimization of con- tinuous dynamic systems,” Journal of Optimization Theory and Applications, Vol. 152, No. 2, 2012, pp. 271–306.

[24] Lane, S. H. and Stengel, R. F., “Flight Control Design Using Non-linear Inverse Dy- namics,” Automaica, Vol. 24, No. 4, 1988, pp. 471–483.

133 REFERENCES (continued)

[25] Petropoulos, A. E. and Longuski, J. M., “Shape-based algorithm for automated design of low-thrust, gravity-assist trajectories,” Journal of Spacecraft and Rockets, Vol. 41, No. 5, 2004, pp. 787–796.

[26] Wall, B. J. and Conway, B. A., “Shape-based approach to low-thrust rendezvous tra- jectory design,” Journal of Guidance, Control, and Dynamics, Vol. 32, No. 1, 2009, pp. 95.

[27] De Pascale, P. and Vasile, M., “Preliminary design of low-thrust multiple gravity-assist trajectories,” Journal of Spacecraft and Rockets, Vol. 43, No. 5, 2006, pp. 1065.

[28] Vasile, M., De Pascale, P., and Casotto, S., “On the optimality of a shape-based ap- proach based on pseudo-equinoctial elements,” Acta Astronautica, Vol. 61, No. 1, 2007, pp. 286–297.

[29] Novak, D. M. and Vasile, M., “Improved shaping approach to the preliminary design of low-thrust trajectories,” Journal of Guidance, Control, and Dynamics, Vol. 34, No. 1, 2011, pp. 128.

[30] Abdelkhalik, O. and Taheri, E., “Shape based approximation of constrained low-thrust space trajectories using Fourier series,” Journal of Spacecraft and Rockets, Vol. 49, No. 3, 2012, pp. 535–546.

[31] Kluever, C. A., “Simple guidance scheme for low-thrust orbit transfers,” Journal of Guidance Control and Dynamics, Vol. 21, 1998, pp. 1015–1017.

[32] Petropoulos, A. E., “Simple Control Laws for Low-Thrust Orbit,” AIAA/AAS Astro- dynamics Specialist Conference and Exhibit, Big Sky, MT, Aug 2003.

[33] Petropoulos, A. E., “Low-Thrust Orbit Transfers Using Candidate Lyapunov Functions with a Mechanism for Coasting,” AIAA/AAS Astrodynamics Specialist Conference and Exhibit, Providence, RI, Aug 2004.

[34] Vadali, S. and Junkins, J., “Optimal open-loop and stable feedback control of rigid spacecraft attitude maneuvers,” Journal of the Astronautical Sciences(ISSN 0021-9142), Vol. 32, 1984, pp. 105–122.

[35] Wie, B. and Barba, P. M., “Quaternion feedback for spacecraft large angle maneuvers,” Journal of Guidance, Vol. 8, No. 3, 1985, pp. 360–365.

134 REFERENCES (continued)

[36] Joshi, S., Kelkar, A., and Wen, J.-Y., “Robust attitude stabilization of spacecraft us- ing nonlinear quaternion feedback,” IEEE Transactions on Automatic control, Vol. 40, No. 10, 1995, pp. 1800–1803.

[37] Creamer, G., DeLaHunt, P., Gates, S., and Levenson, M., “Attitude determination and control of Clementine during lunar mapping,” Journal of Guidance, Control and Dynamics, Vol. 19, No. 3, 1996, pp. 505–511.

[38] Bhat, S. P. and Bernstein, D. S., “A topological obstruction to continuous global sta- bilization of rotational motion and the unwinding phenomenon,” Systems & Control Letters, Vol. 39, No. 1, 2000, pp. 63–70.

[39] Crassidis, J., Vadali, S., and Markley, L., “Optimal variable-structure control tracking of spacecraft maneuvers,” NASA CONFERENCE PUBLICATION, NASA, 1999, pp. 201–214.

[40] Mayhew, C. G., Sanfelice, R. G., and Teel, A. R., “Quaternion-based hybrid control for robust global attitude tracking,” IEEE Transactions on Automatic Control, Vol. 56, No. 11, 2011, pp. 2555–2566.

[41] Cortes, J., “Discontinuous dynamical systems,” IEEE control Systems, Vol. 28, No. 3, 2008.

[42] Salcudean, S., “A globally convergent angular velocity observer for rigid body motion,” IEEE transactions on Automatic Control, Vol. 36, No. 12, 1991, pp. 1493–1497.

[43] Costic, B., Dawson, D., De Queiroz, M., and Kapila, V., “Quaternion-based adap- tive attitude tracking controller without velocity measurements,” Journal of Guidance, Control, and Dynamics, Vol. 24, No. 6, 2001, pp. 1214–1222.

[44] Akella, M. R., “Rigid body attitude tracking without angular velocity feedback,” Sys- tems & Control Letters, Vol. 42, No. 4, 2001, pp. 321–326.

[45] Tayebi, A., “Unit quaternion-based output feedback for the attitude tracking problem,” IEEE Transactions on Automatic Control, Vol. 53, No. 6, 2008, pp. 1516–1520.

[46] Junkins, J. L., Akella, M. R., and Robinett, R. D., “Nonlinear adaptive control of spacecraft maneuvers,” Journal of Guidance, Control, and Dynamics, Vol. 20, No. 6, 1997, pp. 1104–1110.

135 REFERENCES (continued)

[47] Ahmed, J., Coppola, V. T., and Bernstein, D. S., “Adaptive asymptotic tracking of spacecraft attitude motion with inertia matrix identification,” Journal of Guidance Con- trol and Dynamics, Vol. 21, No. 5, 1998, pp. 684–691.

[48] Thakur, D., Srikant, S., and Akella, M. R., “Adaptive attitude-tracking control of space- craft with uncertain time-varying inertia parameters,” Journal of Guidance, Control, and Dynamics, 2014.

[49] Kang, W., “Nonlinear H∞ control and its application to rigid spacecraft,” IEEE Trans- actions on Automatic Control, Vol. 40, No. 7, 1995, pp. 1281–1285.

[50] Dalsmo, M. and Egeland, O., “State feedback H∞-suboptimal control of a rigid space- craft,” IEEE Transactions on Automatic Control, Vol. 42, No. 8, 1997, pp. 1186–1191.

[51] Luo, W., Chu, Y.-C., and Ling, K.-V., “H∞ inverse optimal attitude-tracking control of rigid spacecraft,” Journal of Guidance, Control, and Dynamics, Vol. 28, No. 3, 2005, pp. 481–493.

[52] Kuang, J. and Leung, A. Y. T., “H∞ Feedback for Attitude Control of Liquid-Filled Spacecraft,” Journal of Guidance, Control, and Dynamics, Vol. 24, No. 1, 2001.

[53] Sanyal, A., Fosbury, A., Chaturvedi, N., and Bernstein, D. S., “Inertia-free spacecraft attitude tracking with disturbance rejection and almost global stabilization,” Journal of guidance, control, and dynamics, Vol. 32, No. 4, 2009, pp. 1167.

[54] Weiss, A., Kolmanovsky, I., Bernstein, D. S., and Sanyal, A., “Inertia-free spacecraft attitude control using reaction wheels,” Journal of Guidance, Control, and Dynamics, 2013.

[55] Rajagopal, K., Mannava, A., Balakrishnan, S., Nguyen, N., and Krishnakumar, K., “Neuroadaptive model following controller design for non-affine non-square aircraft system,” Proceedings of the AIAA Guidance, Navigation, and Control Conference, Chicago, IL, USA, 2009, pp. 10–13.

[56] Darling, J., Searcy, J., and Balakrishnan, S., “Modified state observer for atmospheric reentry uncertainty estimation,” AIAA Guidance, Navigation, and Control Conference, 2012, p. 4759.

[57] Harl, N., Rajagopal, K., and Balakrishnan, S., “Neural network based modified state ob- server for orbit uncertainty estimation,” Journal of Guidance, Control, and Dynamics, 2013.

136 REFERENCES (continued)

[58] Rajagopal, K., Balakrishnan, S., Steck, J., and Kimball, D., “Robust adaptive control of a general aviation aircraft,” AIAA Atmospheric Flight Mechanics Conference, 2010, p. 7942.

[59] Subba Reddiar Pappu, V., Steck, J. E., Rajagopal, K., and Balakrishnan, S. N., “Mod- ified State Observer Based Adaptation for a General Aviation Aircraft-Simulation and Flight Test,” AIAA Guidance, Navigation, and Control Conference, 2014, p. 1297.

[60] Subba Reddiar Pappu, V., Steck, J. E., Steele, B. S., Rajagopal, K., and Balakrish- nan, S. N., “Hardware-In-Loop and Flight Testing of Modified State Observer Based Adaptation for a General Aviation Aircraft,” AIAA Guidance, Navigation, and Control Conference, 2015, p. 1997.

[61] Cao, C. and Hovakimyan, N., “Design and Analysis of a Novel L1 Adaptive Controller, Part I: Control Signal and Asymptotic Stability,” 2006 American Control Conference, June 2006, pp. 3397–3402.

[62] Cao, C. and Hovakimyan, N., “Design and Analysis of a Novel L1 Adaptive Controller, Part II: Guaranteed Transient Performance,” 2006 American Control Conference, June 2006, pp. 3403–3408.

[63] Cao, C. and Hovakimyan, N., “Novel L1 Neural Network Adaptive Control Architecture With Guaranteed Transient Performance,” IEEE Transactions on Neural Networks, Vol. 18, No. 4, 2007, pp. 1160–1171.

[64] Yucelen, T. and Haddad, W. M., “Low-frequency learning and fast adaptation in model reference adaptive control,” IEEE Transactions on Automatic Control, Vol. 58, No. 4, 2013, pp. 1080–1085.

[65] Yucelen, T., De La Torre, G., and Johnson, E. N., “Adaptive spacecraft control: Sta- bility, performance, and robustness,” AIAA Guidance, Navigation, and Control (GNC) Conference, 2013, p. 4934.

[66] Sreesawet, S. and Dutta, A., “A Novel Methodology for Fast and Robust Computation of Low-Thrust Orbit-Raising Trajectories,” AAS/AIAA Space Flight Mechanics Meeting, San Antonio, TX, Feb 2017.

[67] Sreesawet, S. and Dutta, A., “Fast and Robust Computation of Low-Thrust Orbit- Raising Trajectories,” Journal of Guidance, Control, and Dynamics, Vol. 41, No. 9, 2018, pp. 1888–1905.

137 REFERENCES (continued)

[68] Sreesawet, S. and Dutta, A., “Low-thrust orbit-raising trajectories considering eclipse constraints,” AAS/AIAA Space Flight Mechanics Meeting, Williamsburg, VA, Jan 2015.

[69] Sreesawet, S. and Dutta, A., “Mission Scenario Analysis for All-Electric Satellites,” AIAA SciTech Forum, Kissimmee, FL, Jan 8-12 2018, AIAA 2018-0722.

[70] Sreesawet, S. and Dutta, A., “Receding Horizon Control for Spacecraft with Low-Thrust Propulsion,” The 2018 American Control Conference, Milwaukee, WI, Jun 27-29 2018.

[71] Sreesawet, S., Venkatasubramani, S. P., Dutta, A., and Steck, J. E., “Neural Network Based Adaptive Controller for Attitude Control of All-Electric Satellites,” AAS/AIAA Space Flight Mechanics Meeting, Vail, CO, Aug 2015.

[72] Chang, D. E., Chichka, D. F., and Marsden, J. E., “Lyapunov-based transfer between elliptic Keplerian orbits,” Discrete and Continuous Dynamical Systems Series B, Vol. 2, No. 1, 2002, pp. 57–68.

[73] Sreesawet, S., A new algorithm to generate low-thrust spacecraft trajectories, Ph.D. thesis, Wichita State University, 2014.

[74] Battin, R. H., An introduction to the mathematics and methods of astrodynamics, AIAA, 1999, pg. 488–489.

[75] Walker, M., Ireland, B., and Owens, J., “A set modified equinoctial orbit elements,” Celestial Mechanics and Dynamical Astronomy, Vol. 36, No. 4, 1985, pp. 409–419.

[76] Betts, J. T., “Optimal low–thrust orbit transfers with eclipsing,” Optimal Control Ap- plications and Methods, Vol. 36, No. 2, 2015, pp. 218–240.

[77] Dutta, A., Libraro, P., Kasdin, N., and Choueiri, E., “Minimizing total radiation flu- ence during time-constrained electric orbit-raising,” International Symposium on Space Flight Dynamics, Pasadena, CA, Oct-Nov 2012.

[78] Hughes, P. C., Spacecraft attitude dynamics, Courier Corporation, 2012.

[79] Darling, J., Balakrishnan, S. N., and D’Souza, C. N., “Sigma point modified state ob- server for nonlinear uncertainty estimation,” AIAA Guidance, Navigation, and Control (GNC) Conference, 2013, p. 4866.

138 REFERENCES (continued)

[80] Rajagopal, K., Balakrishnan, S. N., Nguyen, N. T., and Krishnakumar, K. S., “Time de- lay margin analysis of modified state observer based adaptive control,” AIAA Guidance, Navigation, and Control (GNC) Conference, 2013, p. 4755.

[81] Kluever, C. A. and Oleson, S. R., “Direct approach for computing near-optimal low- thrust earth-orbit transfers,” Journal of Spacecraft and Rockets, Vol. 35, No. 4, 1998, pp. 509–515.

[82] Kluever, C. A. and Conway, B., “Low-Thrust Trajectory Optimization Using Orbital Averaging and Control Parameterization,” Spacecraft Trajectory Optimization, 2010, pp. 112–138.

[83] Dutta, A., Kasdin, N. J., Choueiri, E., and Francken, P., “Minimizing dis- placement damage dose during electric orbit raising of satellites,” Journal of Guidance, Control, and Dynamics, Vol. 39, No. 4, 2016, pp. 963–969.

[84] Graham, K. F. and Rao, A. V., “Minimum-Time Trajectory Optimization of Low- Thrust Earth-Orbit Transfers with Eclipsing,” Journal of Spacecraft and Rockets, Vol. 53, No. 2, 2016, pp. 289–303.

[85] Snider, R. E., Attitude control of a satellite simulator using reaction wheels and a PID controller, Master’s thesis, Air Force Inst of Tech Wright-Patterson AFB School of Engineering and Management, OH, Mar 2010.

[86] Crowell, C. W., Development and Analysis of a Small Satellite Attitude Determination and Control System Testbed, Master’s thesis, Massachusetts Institute of Technology, MA, Jul 2011.

[87] Cho, S., Shen, J., and McClamroch, N. H., “Mathematical models for the triaxial at- titude control testbed,” Mathematical and Computer Modelling of Dynamical Systems, Vol. 9, No. 2, 2003, pp. 165–192.

[88] PI Motion Position, PIglide HB Hemispherical Air Bearings User Manual, Jun 2016, Model A-645-045. URL: https://www.physikinstrumente.com/en/products/ air-bearings-stages/a-65x-piglide-hb-hemispherical-air-bearing-900712/.

[89] Buchen, E. and Depasquale, D., “2014 Nano / Microsatellite Market Assess- ment,” SpaceWorks Enterprises, Inc, 2014. URL: http://www.sei.aero/eng/ papers/uploads/archive/SpaceWorks_Nano_Microsatellite_Market_Assessment_ January_2014.pdf.

139 REFERENCES (continued)

[90] Pololu Corporation, Pololu TReX Users Guide, 2015, TReX DMC01. URL: https: //www.pololu.com/docs/0J1.

[91] Pittman Motors, Brush DC Motor 8543S042 Product Detail, 2015, P/N: brush- dc-motors-8543S042-SP. URL: https://prototypes.haydonkerk.com/ecatalog/ brush-dc-motors/en/brush-dc-motors-8543S042-SP.

[92] Analog Devies, Six Degrees of Freedom Inertial Sensor, 2009, Data Sheet ADIS16360/ADIS16365. URL: http://www.analog.com/media/en/ technical-documentation/data-sheets/ADIS16360_16365.pdf.

[93] Sol`a, J., “Quaternion kinematics for the error-state Kalman filter,” CoRR, Vol. /1711.02508, 2017. URL: http://arxiv.org/abs/1711.02508.

140 APPENDICES

141 APPENDIX A

DRAWING OF AIR BEARING PLATFORM 142 143 144 145 146 147 148 149 APPENDIX B

WIRING SCHEMATIC OF AIR BEARING PLATFORM

1 2 3 4 5

10A Fuse 5V 3A regulator +5V 5V 3A regulator +5V 1 2 IN OUT IN OUT AR2 Arduino_UNO GND GND +5V IMU1 IMU_J1 ENC1 LiPo Batt A5 24 Motor_Encoder RST CLK +5V 11 D0/RX A4 23 CS Dout White A 12 D1/TX A3 22 A DNC Din Green 13 D2/Ext Int0 A2 21 GND GND Violet 14 D3/Ext Int1 A1 20 GND Vcc Blue AR1 15 D4 A0 19 ARDUINO-MEGA Vcc Vcc 16 D5 +5V VIN 13 17 ENC2 VIN 13 D6 Motor_Encoder 5V@0 5V 14(TX3) 14 18 D7 +5V 5V@1 5V 15(RX3) 15 White 5V@2 5V 16(TX2) 16 VIN 32 Green 3.3V 3.3V 17(RX2) 17 GND 31 Violet AREF AREF 18(TX1) 18 GND 30 Blue RESET RESET 19(RX1) 19 1 D8 5V 29 A0 A0(RX0) 20(SDA) 20 2 D9 3V3 28 +5V A1 A1(TX0) 21(SCL) 21 3 D10/SS RESET 27 A2 A2 22 22 4 D11/MOSI IOREF 26 MD1 A3 A3 23 23 5 D12/MISO POWER 25 Motor_Driver A4 A4 24 24 6 D13/SCK/LED Rx A5 A5 25 25 7 GND Tx A6 A6 26 26 8 AREF A7 27 9 G 150 A7 27 SDA SO B A8 A8 28 28 10 SCL B SI A9 A9 29 29 A10 A10 30 30 A11 A11 31 31 A12 A12 32 32 A13 A13 33 33 A14 A14 34 34 A15 A15 35 35 0 0(RX0) 36 36 1 1(TX0) 37 37 2 38 AR3 2/Ext Int4 38 Arduino_UNO ENC3 3 3 39 39 +5V Motor_Encoder 4 4 40 40 White 5 5 41 41 A5 24 Green 6 6 42 42 11 D0/RX A4 23 Violet 7 7 43 43 12 D1/TX A3 22 Blue 8 8 44 44 13 D2/Ext Int0 A2 21 9 9 45 45 14 D3/Ext Int1 A1 20 10 10 46 46 15 D4 A0 19 ENC4 11 47 16 C 11 47 D5 +5V Motor_Encoder C 12 12 48 48 17 D6 White GND@0 GND 49 49 18 D7 Green GND@1 GND 50/MISO 50 Violet GND@2 GND 51/MOSI 51 VIN 32 Blue GND@3 GND 52/SCK 52 GND 31 GND@4 GND 53/SS 53 GND 30 +5V 1 D8 5V 29 2 D9 3V3 28 3 27 MD2 D10/SS RESET Motor_Driver 4 D11/MOSI IOREF 26 5 D12/MISO POWER 25 Rx 6 D13/SCK/LED Tx 7 GND G 8 AREF SO 9 SDA SI RTC_Module +5V 10 SCL 5V GND D SQW D SCL SDA TITLE: Electronic Schematic REV: 1.0

Date: 2018-09-07 Sheet: 1/1 EasyEDA V5.7.26 Drawn By: Suwat Sreesawet 1 2 3 4 5