MITSUBISHI ELECTRIC RESEARCH LABORATORIES https://www.merl.com

Electric Station Keeping, , and Management by MPC

Caverly, Ryan; Di Cairano, Stefano; Weiss, Avishai TR2020-153 December 02, 2020

Abstract We propose a model predictive control (MPC) policy for simultaneous station keeping, atti- tude control, and momentum management of a low-thrust nadir-pointing geostationary satel- lite equipped with reaction wheels and on-off electric mounted on boom assemblies. Attitude control is performed using an inner-loop SO(3)-based control law with the reac- tion wheels, while the outer-loop MPC policy maintains the satellite within a narrow station keeping window and performs momentum management using electric thrusters. For reducing propellant consumption, our MPC uses two different prediction horizons: a short horizon for the states associated with the orbit’s inclination and a longer horizon for all other states. Furthermore, to handle the on-off nature of the thruster while retaining low computational burden, we develop a strategy for quantizing the continuous thrust command, which also allows for trading off the number thrust pulses and fuel consumption. We validate the con- troller in a closed-loop simulation with the high-precision orbit propagation provided by the Systems Tool Kit (STK), and assess the robustness to model uncertainty and measurement noise.

IEEE Transactions on Control Systems Technology

c 2020 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.

Mitsubishi Electric Research Laboratories, Inc. 201 Broadway, Cambridge, Massachusetts 02139

1

Electric Satellite Station Keeping, Attitude Control, and Momentum Management by MPC Ryan J. Caverly, Member, IEEE, Stefano Di Cairano, Member, IEEE, and Avishai Weiss, Member, IEEE

Abstract—We propose a model predictive control (MPC) of closed-loop feedback control. As a result, a number of novel policy for simultaneous station keeping, attitude control, and autonomous feedback control strategies for electric propulsion momentum management of a low-thrust nadir-pointing geosta- have been proposed in recent years [8–20]. tionary satellite equipped with reaction wheels and on-off electric thrusters mounted on boom assemblies. Attitude control is In addition to station keeping, the lower thrust magnitude of performed using an inner-loop SO(3)-based control law with the electric propulsion systems enables their dual use in unloading reaction wheels, while the outer-loop MPC policy maintains the momentum stored in a satellite’s reaction wheels. Utilizing the satellite within a narrow station keeping window and performs same set of thrusters for both station keeping and momentum momentum management using electric thrusters. For reducing management eliminates the need for propellant consumption, our MPC uses two different prediction horizons: a short horizon for the states associated with the orbit’s thrusters, simplifying the propulsion design and reducing inclination and a longer horizon for all other states. Furthermore, satellite weight. When the same set of thrusters are used for to handle the on-off nature of the thruster while retaining low both station keeping and momentum management, they must computational burden, we develop a strategy for quantizing the be able to impart both forces and torques on the satellite. continuous thrust command, which also allows for trading off However, in many propulsion designs there are not enough the number thrust pulses and fuel consumption. We validate the controller in a closed-loop simulation with the high-precision thrusters to generate either pure forces or pure torques. For orbit propagation provided by the Systems Tool Kit (STK), and example, when considering a realistic thruster arrangement assess the robustness to model uncertainty and measurement with gimbaled thrusters located on the satellite’s anti-nadir noise. face [21–23], any thruster torque simultaneously creates a net body force. This effect couples the typically decoupled orbital and attitude dynamics. As with station keeping, conven- I.INTRODUCTION tional momentum unloading is often a manually (open-loop) in geostationary orbit (GEO) have tradition- controlled operation [24–26]. However, with the additional ally used chemical propulsion for station keeping maneuvers. difficulties associated with the dynamic coupling induced by Due to long GEO satellite lifetimes of twelve to fifteen years, the thrusters and the low thrust magnitude of the propulsion electric propulsion [1–3], a more fuel efficient alternative to system, manual operation of both momentum unloading and chemical propulsion, has recently become widely deployed station keeping, e.g. [27–31], may no longer be appropriate., on modern satellites [4]. Electric thrusters have significantly and advanced control approaches may be necessary. higher specific impulse than conventional chemical thrusters, Model predictive control (MPC) is a receding horizon meaning that they generate force more efficiently with respect control strategy that exploits a prediction model of the system to propellant mass, and can therefore be used to increase dynamics in order to attain a trajectory that minimizes a cost longevity, and/or increase payloads, and/or decrease function, possibly accounting for several control objectives, the cost of orbital insertion [5]. Conversely, high-efficiency subject to both state and control constraints over a finite future electric thrusters produce only a fraction of the thrust of prediction horizon [32]. MPC is well suited for simultaneous chemical propulsion systems. For station keeping applications station keeping and momentum management as it allows for in GEO, the magnitude of the thrust capabilities of the electric fuel-efficiency maximization, has the ability to meet tight SK propulsion system are approximately the same magnitude window and attitude error requirements, as well as stringent as the perturbation forces acting on the satellite [6]. Thus, constraints on available thrust, and has the capacity to coor- near-continuous operation of the electric propulsion system dinate between coupled orbital and attitude control. is required to counteract orbital perturbation-induced drift, In [20] the authors have investigated the potential of using posing new control challenges in their application. Whereas MPC for station-keeping, attitude control, and momentum conventional chemical thrusters may be fired open-loop once management of electric propulsion GEO satellites. The MPC every two weeks to compensate for GEO satellite drift [7], the prediction model developed is based on the linearization of near-continuous operation of electric thrusters suggests the use the satellite dynamics around their nominal operating con- dition. are used to represent the attitude of R. J. Caverly is with the Department of Aerospace Engineering and Mechanics, University of Minnesota, Minneapolis, MN 55455, USA. Email: the satellite relative to the nadir-pointing local-vertical, local- [email protected]. He was an intern at MERL during the develop- horizontal (LVLH) frame, and the Clohessy-Wiltshire Hill ment of this work. (CWH) equations are used for the satellite’s position and S. Di Cairano and A. Weiss are with Mitsubishi Re- search Laboratories, Cambridge, MA 02139, USA. Emails: velocity relative to a target location in GEO. The MPC policy {dicairano,weiss}@merl.com. enforces constraints relating to the size of the SK window, the 2 maximum allowed satellite attitude error, and the limits on of the thruster of any duration, i.e., not an impulse. The thrust magnitude. To handle perturbation forces, a predicted quantization can be incorporated directly within the control disturbance sequence is incorporated into the MPC model policy [9], which however results in solving mixed-integer lin- based on analytic expressions for such forces, which increases ear programs (MILPs), which are computationally expensive the fuel efficiency. and difficult to implement in real time, especially onboard of While obtaining positive results in terms of control per- the satellite. Even if executed on ground stations, MILP solvers formance and propellant usage, [20] requires the use of 12 with good performance usually have fairly complicated code, propulsion modulating thrusters that result in high cost and and hence are hard and time consuming to certify. A more difficult implementation and packaging. Thus, here we develop accessible approach is to compute continuous thrust com- a control architecture for a realistic thruster configuration. mands and implement a quantization scheme to transform the Specifically, we consider only 4 thrusters placed on the anti- continuous thrust commands into on-off thrust commands [14– nadir face of the satellite, which is usually free of equipment 16], [34] with limited impact on the system performance. and solar panels. The thrusters are gimbaled in order to be able Although PWM quantized control policies are capable of to produce pure forces, and forces and torques, as necessary yielding very similar -v to non-quantized cases, they for both station keeping and momentum management. Through require a large number of on-off thruster pulses, see, e.g., [14– several preliminary investigations, see, e.g., [33], [34] we 16], [34]. These approaches often achieve up to 30 pulses selected a configuration where the thrusters are mounted on per electric thruster per orbit, which results in approximately a boom assembly similar to [35]. As compared to placing 160, 000 on-off pulses per thruster over a typical 15 year thrusters directly on the satellite’s anti-nadir face [33], this satellite lifespan and that is an order of magnitude more than configuration achieves larger torque-free angles, i.e., the angles what allowed by current technology [37]. to thrust through the satellite’s center of mass, which limits Thus, for quantizing the command signal with a number the thrust in the orbit radial direction that is not useful for of cycles that is reasonable for the spacecraft life cycle, we control. Furthermore, the boom configuration achieves a wider propose a single-pulse quantization strategy with a feedback thruster range of motion without risk of plume impingement on period that may be larger than the controller time step. The North-South mounted solar panels. As “North-South” Station- single on-off thrust pulse is selected by solving for the on and Keeping (NSSK), i.e. thrusting in the out-of-plane direction, off thrust switching times that minimize the predicted state is dominant in fuel consumption, these two are expected to error induced by quantization, hence minimizing the deviation result in improved fuel efficiency. of the quantized policy from the non-quantized MPC policy. On the other hand the location, the number, and the on- The control architecture proposed in this paper is validated off nature of the thrusters provide significant challenges for using Systems Tool Kit (STK)/Astrogatorr, a high-fidelity the control policy that require several changes from the one orbit propagator in order to validate both our nonlinear model in [20]. First of all, due to the difference in the time scales and the applicability of our MPC design to real-world imple- between attitude control and station keeping and momentum mentation. In our simulations, we close the loop between the management, to robustly achieve all the specifications we MPC policy and the STK/Astrogator propagator where, during implement an inner-outer control architecture where an inner- each sampling period, the MPC policy computes the control loop SO(3)-based controller regulates the attitude, and the commands and sends them to the STK propagator, which uses outer-loop MPC controls the orbit and the momentum stored them to update the orbital position and returns the new satellite in the reaction wheels, also exploiting a closed-loop model conditions to the controller for use during the next sampling of the attitude dynamics. Second, for reducing delta-v, a fuel period. In parallel, the attitude of the satellite is simulated by efficiency measure that is independent of satellite mass and the continuous nonlinear differential equations for the reaction thruster efficiency, we propose a split-horizon MPC policy. In wheels torques commanded by the inner-loop controller and fact, while [5] claims that for a positional accuracy of 0.05– gimbaled thrusters torques commanded by MPC. 0.1 degrees, in the ideal case 41–51 m/s/year will be needed Following the presentation of some preliminaries and no- for NSSK depending on the epoch, the single-horizon MPC tation in this section, the paper proceeds1 in SectionII with policy in [20] restricted to only 4 nadir-mounted thrusters uses a description of the satellite model considered in this paper. about 59 m/s/year [34]. As it will be discussed later, the North- Section III describes the proposed MPC formulation, including South delta-v decreases with decreasing horizon, and hence the the form of the inner-loop attitude controller, the closed- split-horizon MPC policy uses a shorter prediction horizon for loop linearized satellite model, the split-horizon MPC policy, the states associated with the orbit’s inclination. This result in and the single-pulse thruster quantization scheme. Results of a significant improvement of delta-v, close to the ideal case simulations performed with STK are presented in SectionIV reported in [5]. Finally, we handle the on-off nature of the thrusters by developing a quantization scheme that also allows 1The propulsion and control architecture developed in this paper evolved for calibrating the trade-off between and the thruster cycles, through several preliminary results [33], [34], [38], [39]. This paper provides the final implementation that integrates all the effective elements discovered and hence the useful life of the thrusters, and the delta-v. in such preliminary investigations, while providing a much more detailed Even if some advanced electric propulsion systems can discussion on the split-horizon MPC policy and the single-pulse quantization throttle thrust [36], many electric propulsion systems only scheme, validates the system in simulations with the high-precision orbit propagation provided by STK, analyzes the effect of variations in several operate at full magnitude, that is, by pulsing on and off, parameters of the quantization scheme and assess in simulation the robustness where here a pulse is to be interpreted as an on-off cycle of the MPC policy to model uncertainties and measurement noise. 3 and simulations assessing the robustness of the MPC policy to B. Satellite Model different types of disturbances and error sources are performed The Earth-centered inertial (ECI) frame is defined as . in Section V-B. Concluding remarks are given in SectionVI. Fg The reference frame p is aligned with the , where nominally p 1 pointsF towards the Earth and p 2 points pg A. Preliminaries and Notation North. The angular−→ velocity of p relative to g is−→ω and the DCM describing the attitudeF of the spacecraftF (i.e.,−→ ) The following notation is used throughout the paper. A p relative to is C . The center of mass of the spacecraftF is reference frame is defined by a set of three orthonormal g pg a denoted byF point c in Fig. 2(a). The position of the spacecraft dextral basis vectors,F a 1, a 2, a 3 . An arbitrary physi- center of mass relative to a point w at the center of the Earth cal vector, denoted as {v−→, is−→ resolved−→ } in as v , where Fa a is given by r cw. The equations of motion of the satellite are vT   and−→ 1 2 3. a = va1 va2 va3 v = va1 a + va2 a + va3 a −→ The mapping between a physical−→ vector−→ resolved−→ in different−→ rcw reference frames is given by the direction cosine matrix cw g p 1 T thrust ¨rg = µ 3 + ag + Cpgfp , (1a) 3×3 T − cw mB (DCM) Cba SO(3), where SO(3) = C R C C = rg ∈ { ∈ | 1, det(C) = +1 and 1 is the identity matrix. For example, Bc pg pg× Bc pg  p thrust J ω˙ = ω J ω + Jsν Jsη + τ + τ , v = C v , where} v is v resolved in and C represents p p − p p p − p p b ba a b Fb ba (1b) the attitude of b relative−→ to a. Principle rotations about × i F F ˙ pg the axis by an angle are denoted as C C . Cpg = ωp Cpg, (1c) a α ba = i(α) − The−→ cross, uncross, and anti-symmetric projection operators ν˙ = η, (1d) used throughout this paper are defined as follows. The cross Bc × 3 where m is the mass of the spacecraft, J is the moment operator, ( ) : R so(3), is defined as B p · → of inertia of the spacecraft relative to point c and resolved in   T   0 a3 a2 p, ν = ν1 ν2 ν3 are the angular rates, × ×T − F a = a =  a3 0 a1 , η is the angular acceleration of the reaction wheels, J is the − − s a a 0 thrust 2 1 moment of inertia of the reaction wheel array, fp is the force − thrust T   3×3 T produced by the thrusters, τ is the torque produced by the where a = a1 a2 a3 and so(3) = S R S+S = p v { ∈ | thrusters. The term ap represents the external perturbations on 0 . The uncross operator, ( ) : so(3) R3, is defined as g } T · → the satellite. For satellites in GEO, the main perturbations are Av = a a a  , where A = a×. The anti-symmetric 1 2 3 solar and lunar gravitational attraction, which induce a drift projection operator P ( ): 3×3 so(3), is given by a R in orbital inclination; solar radiation pressure (SRP), which P (U) = 1 U UT, for· all U 3→×3. The physical vector a 2 R affects orbit eccentricity; and the anisotropic geopotential, that describing the position− of a point p∈relative to a point q is given is, Earth’s non-spherical gravitational field, which induces in- by r pq. Similarly, the angular velocity of relative to b a orbital-plane longitudinal drift [31],[40, Ch. 7]. Analytic ex- −→ ba F F is given by ω . In Section V-B, quantities that are uncertain pressions for these are given in [20, Eq. (10)]. Figure1 shows or feature measurement−→ noise are denoted with a tilde, (e.g., an annual time history of the disturbance force components ˜va is a noisy measurement of va). p for a 4000kg satellite in GEO. The term τp represents the SRP perturbation torque, which assumes total absorption, and II.PROBLEM STATEMENT AND SPACECRAFT MODEL is given by [41, p. 229]. Consider the satellite shown in Fig.2, which consists of a rigid bus equipped with three axisymmetric reaction wheels and four electric thrusters mounted on gimbaled booms. The satellite is nominally in a circular GEO orbit.

A. Control Objectives The control objectives considered in this work are to 1) minimize fuel consumption and 2) reduce the number of on- off thruster pulses, while ensuring that a) the satellite is maintained within the prescribed station- keeping window, b) a nadir-pointing attitude is maintained within a prescribed tolerance, c) stored in the reaction wheels is un- Fig. 1. Annual disturbance force components loaded, and d) the limitations of the thrusters (e.g., thrust magnitude, The thruster configuration is illustrated in Fig.2, where boom gimbal angle limits, power limitations) are enforced. four electric thrusters are mounted on two boom-thruster assemblies, one of which nominally points North, while the 4

δrh2 δrh3 c )

as an lat λ r anc −→ tan( 3

¯ h r !− 2 c 2 !−h p 2 3 −→ p 1 −→ p 2r¯tan(λ ) −→ long (a) Fig. 3. Illustration of the station keeping window described by 2 f −r¯tan(λlong) ≤ δrh2 ≤ r¯tan(λlong) and −r¯tan(λlat) ≤ δrh3 ≤ −→ − 1 r¯tan(λlat), with the view looking in the −→h direction towards Earth. The f 1 point c denotes the spacecraft’s center of mass. −→ T  i i with ui = sin(γa)f cos(γa)f and constant matrices t1  1 0  n × F f T − τ qic f an B = C 0 0 , B = r B . αn q a i ip   i p i r 1 n F1 −→ 0 1

q1 δi − βn γn C. Station Keeping Window (b) For the purposes of station keeping and for linearizing the Fig. 2. Schematic of (a) the spacecraft including three axisymmetric reaction spacecraft’s equations of motion, it is useful to express the wheels and four electric thrusters, and (b) the North-facing boom-thruster assembly. spacecraft’s position relative to the desired nominal circular GEO orbit. To this end, Hill’s frame, denoted by h, is defined by basis vectors h 1 aligned with the orbital radiusF and h 3 orthogonal to the orbital plane. The position of the spacecraft other nominally points South. A detailed view of the North- −→ −→ center of mass relative to a point at the center of the Earth, facing boom-thruster assembly is provided in Fig. 2(b). Each w resolved in is given by rcw. Defining the satellite’s nominal assembly has two fixed gimbal angles, α¯ and β¯ , a n, s , h h a a position inF a circular orbit resolved in as ¯r , yields the as well as an actuated gimbal angle γ , a n,∈ s {. The} g g a position error of the spacecraft F subscripts n and s refer to the gimbal angles associated∈ { } with the North-facing assembly and the South-facing assembly,  T cw δrh = δrh1 δrh2 δrh3 = rh Chg¯rg. (6) respectively. The position of the actuated gimbal of thruster i − relative to the spacecraft center of mass is r qic. The thrusters The station keeping window is given by [7, Ch. 5] are canted by fixed angles , , such that for δi i = 1, 2,−→3, 4 r¯tan(λlong) δrh2 r¯tan(λlong), a nominal gimbal angle , , each thruster fires − ≤ ≤ (7) γ¯a a n, s r¯tan(λlat) δrh3 r¯tan(λlat), through the center of mass of the∈ spacecraft. { } The force vector − ≤ ≤ i where r¯ = ¯r , and λlong and λlat are the maximum deviations produced by thruster i is f , and can be resolved in p as g F in longitudek andk latitude, respectively, that define the station −→ fi = f iCT C (γ )1 , (2) keeping window. An illustration of the station keeping window p − ip 2 a 3 is shown in Fig.3. Although no single component of δrh i i  T where f = f is the thrust magnitude, 13 = 0 0 1 , exactly captures the inclination i of the satellite’s orbit relative to the desired geostationary orbit, for small deviations from the Cip = CiaCap−→, Cia = C1(δi)C2(β¯i)C3(¯αa), Cnp = C3(π), center of the station keeping window, the coordinate δr is and Csp = C1(π)C3(π). The torque generated by the thruster h3 on the spacecraft is given by a good surrogate for the inclination. The inclination of the r × orbit can be approximated as sin(i) δrh3/ δ h . For small i qic i ≈ k k τp = rp fp. (3) inclination angles, which is the case here since the station keeping window is small compared to the geostationary orbit The net force and torque applied to the spacecraft by the four radius, this becomes i δr / δr . This approximation thrusters can be written as h3 h is relevant in the split-horizon≈ k MPCk policy presented in 4 X Section III-D, where the states δrcw and δr˙cw use a different fthrust = Bf u , (4) h3 h3 p i i prediction horizon than the rest of the system states. i=1 and III.MPCFORMULATION 4 × thrust X qic τ τp = rp Bi ui, (5) Next, we describe the control architecture that includes i=1 an inner-loop controller commanding the reaction wheels to 5

Simulated Spacecraft Dynamics Predicted rcw; r_cw Orbital Dynamics g g Disturbances u Simulation in STK Split-Horizon mpc Thruster t Linearized States MPC Policy Quantization C !pg pg; p ; ν Attitude Dynamics Simulation in Matlab Cpd !pd !pg η p , p Inner-Loop ν Attitude Controller x~dist δr; δr_; δθ; δ!; ν; x~dist Extract Linearized States

Fig. 4. Block diagram of the proposed control architecture, including the simulation model used in SectionIV for assessing the closed-loop performance. control the attitude, a split horizon MPC policy that com- observer states. The closed-loop linearized equations of motion mands the thrusters to perform station keeping and momentum are management based on the prediction model of the satellite in × p 1 T thrust closed-loop with the inner-loop controller, and a quantization δ¨rh = 2ω¯p δr˙h Ωδrh + ah + Cdhfp , − − mB scheme that controls the on-off behavior of the thrusters based × δθ˙ = ω δθ + δω, on the commands issued by MPC and the limitations of the − 0  × × Bc−1 ×  propulsion system. δω˙ = K1 ω¯ ω¯ + J Kν ω¯ K δθ − p p p p −  −1  + K + ω¯ × JBc K δω − 1 p − p ν A. Inner-Loop Attitude Controller Bc−1 thrust (11) J Cdist˜xdist + τ , − p p The reaction wheels are directly actuated by the spacecraft −1 Bc × × ×  ν˙ = Js Jp K1 ω¯p ω¯p + Kν ω¯p K δθ attitude controller, which is seen as an inner-loop controller −  − − by the MPC policy. The disturbance torque is modeled as J−1 JBc K + ω¯ × K + ω¯ ×JBc − s p − 1 p − ν p p described by the LTI system Bc ×  −1 × −1 Jp ω¯p δω Js ω¯p Jsν + Js Cdist˜xdist, x˙ dist = Adistxdist, − − p (8) ˙ × τ = C x . ˜xdist = Adist˜xdist + Bdistδω + Bdist K1 ω¯p δθ, p dist dist − T   T and estimated by the observer where ω¯p = 0 0 n , Cpd = CpgCdg is the attitude error between C and the desired nadir-pointing C , ˆx˙ A ˆx B u τˆp C ˆx pg dg dist = dist dist + dist dist, p = dist dist, C is parameterized by a Euler angle sequence pd v (9) pg 3 2 1 udist = ω + K1S, S = Pa (Cpd) , T  − − p − with angles δθ = δφ δθ δψ , K = Kν K1 + Kp, and τ p τ p T Ω = diag 3n2, 0, n2 . The closed-loop linearized model is where ˆp is the estimate of p , K1 = K1 > 0, Bdist = {− } −1 T written in state-space form as PdistCdist is designed such that (Adist, Bdist, Cdist) is positive T real, and Pdist = Pdist > 0 satisfies the Lyapunov equation x˙ = Ax + Bu + B w, (12) T T w AdistPdist + PdistAdist = Qdist, Qdist = Qdist 0. The attitude − ≥ T  T T T T T T  T controller is [42] where x = δr δr˙ δθ δω ν ˜xdist , u =  T T T T T h pT i ×   u u u u , and w = a 0 0 0 0 0 . The µ = ωpg JBcωpg + J ν JBc K S˙ + ωpd×ωpg , 1 2 3 4 h 1 p p p s p 1 p p thrust thrust − relationship between u and the terms fp and τp is given µ = τˆp, (10) 2 − p in (4) and (5). The discrete-time form of the closed-loop µ = K ωpd + K S K S, linearized model (12) with time step ∆t is 3 − ν p 1 − p T T x A x B u B w (13) where Kν = Kν > 0, Kp = Kp > 0, and the attitude control k+1 = d k + d k + w,d k. input is η = J−1 (µ + µ + µ ). See Figure4 for a block s 1 2 3 Equation (13) is used along a prediction horizon k = 1,...,N. diagram of the− control architecture and how the inner-loop During the prediction horizon, the disturbances w , k = controller interfaces with the spacecraft dynamics and other k 1,...,N can be approximated as the disturbances associated components of the MPC policy. with the satellite at its desired position, since the satellite will be kept very close to the desired position during correct B. Closed-Loop Linearized Model operation. The MPC policy prediction model is obtained by lineariz- ing the spacecraft dynamics in closed-loop with the attitude C. MPC Input and State Constraints controller about a nominal circular orbit with mean motion n, The magnitude of the force produced by each thruster must i nadir-pointing attitude, zero reaction wheel speeds, and zero satisfy f fmax, where fmax is the maximum allowable p 2 ≤ 6

thrust. To reduce the computational burden, the quadratic Effect of horizon on ∆v of point-mass satellite constraint is conservatively approximated by linear constraint 75 i fmax Total ∆v f √ . Furthermore, the thrusters must fire away from 70 N-S ∆v p ∞ 2 ≤ i 65 the spacecraft bus, which is enforced by the constraint fi 0. ≤ (m/s) 60 Thus, we impose the input constraints v ∆ 55 fmax T umin u umax, umax = [1 ... 1] , umin = 0. (14) 50 ≤ ≤ √2 10 15 20 25 30 35 40 Horizon length (hours) There is an additional physical constraint that the gimbal angle (a) γn must be identical for the pair of inputs u1 and u2 at any time instant, since they share this angle. The same is true for γs Effect of N1 on ∆v of point-mass satellite with the pair of inputs u3 and u4. Based on our preliminary 65 studies, this constraint is ignored in the MPC policy and is addressed in the quantization scheme in Section III-E. 60 55 The prescribed station keeping window and the maximum (m/s) v allowable attitude error are enforced as state constraints. Since ∆ 50 Total ∆v the closed-loop linearized orbital dynamics equation of motion N-S ∆v 45 is given in Hill’s frame, the station keeping window constraint 10 20 30 40 50 60 70 80 is formulated as N1 (hours) (b) δ¯rmin δ¯r δ¯rmax, δθmin δθ δθmax. (15) ≤ ≤ ≤ ≤ T ◦ where δ¯rmin = δ¯rmax, δ¯rmax = [ r¯tan(λlong)r ¯tan(λlat)] , Fig. 5. Plots of annual ∆v with a point-mass satellite and a ±0.01 station − ∞ keeping window for varying (a) N = N and (b) N with N = 15 hours. and δθmin = δθmax. 1 2 1 2 −

cw cw D. Split-Horizon MPC Policy δrh3 and δr˙h3 are at the end of the state column matrix. The state constraints xmin and xmax are based on the station keeping The split-horizon MPC policy is and attitude constraints. The bounds xmin,2, xmax,2 are identical ∗ to xmin, xmax, but the out-of-plane bounds u(t) = κMPC(x(t)) = u0|t (16) T   where ∗ , are the optimal control inputs δrmin = r¯tan(λlong) , uk|t k = 0,...N2 1 −∞ − −∞ − T   computed by solving, δr = r¯tan(λlong) , max ∞ ∞ N1−1 ∗ T X  T T  are relaxed. The control input sequence is u(t + j) = uj|t, x P x x Qx u Ru ∗ min N1|t 1 N1|t + k|t k|t + k|t k|t Ut j = 0,...,Nfb 1, where t is the minimizer of (17), and k=0 − U Nfb is the number of time steps between control updates. N2−1 T X  T T  The development of a split-horizon MPC policy is motivated + x P2xN |t + x Q2xk|t + u Ruk|t N2|t 2 k|t k|t by a study on the effect of the prediction horizon on the yearly k=N1 ∆v required to keep a point-mass satellite equipped with 12 s.t. x = A x + B u + B w , k+1|t d k|t d k|t w,d k|t electric thrusters and orbital dynamics described by (1) within x0|t = x(t), wk|t = wˆ t(t + k), a 0.01◦ station keeping window. A plot of the yearly ∆v for ± xmin x | xmax, 0 k N1, a non-split prediction horizon (N = N ) ranging from 5 hours ≤ k t ≤ ≤ ≤ 1 2 to hours is shown in Fig. 5(a), where hour. The xmin,2 xk|t xmax,2,N1 < k N2, 40 ∆t = 1 ≤ ≤ ≤ total ∆v clearly increases with decreasing horizon, however, umin u umax, (17) ≤ k|t ≤ it is observed that the North-South (N-S) component of ∆v cw where N1 is the prediction horizon of the states δrh3 and decreases with decreasing horizon. This decrease in N-S ∆v cw δr˙h3 , N2 is the prediction horizon of the remaining states, is masked in the total ∆v by a larger increase in East- = u ,..., u , Q = QT 0 and R = RT > 0 are West (E-W) ∆v with decreasing horizon. The split-horizon Ut { 0|t N2−1|t} ≥ constant state and control weighting matrices, and wˆ i(j) is the MPC policy was developed to address this counterintuitive open-loop predicted disturbance column matrix at time j based behavior to retain the best performance in each component on data at time i. The matrix Q2 is the same as Q, except the of the station keeping problem. The plot of Fig. 5(b) is very cw cw rows and columns associated with the states δrh3 and δr˙h3 similar to the plot of Fig. 5(a), but only the prediction horizon are set to zero. The matrices P1 and P2 are constructed from N1 is varied while N2 = 15 hours is held constant. This the matrix P = PT > 0, which is the solution to the discrete- plot shows that both the total ∆v and the N-S ∆v decrease time algebraic Riccati equation. The matrix P1 contains the with decreasing N1 under 12 hours. The total ∆v and the cw rows and columns of P associated with the states δrh3 and N-S ∆v also decrease with increasing N1 over 12 hours, cw δr˙h3 and zeros the others, while P2 does the opposite, so that however such decrease is minimal unless N1 is larger than P1 + P2 = P. This is possible since P is block-diagonal under several days. Indeed, the optimal ∆v performance could be a coordinate transformation that reorders the states such that achieved by performing predictions using the full nonlinear 7

u model over an infinite horizon, but the resulting policy would u quant be too computationally demanding, especially for on-board max u implementation. On the other hand, we can achieve suitable mpc performance with a short prediction horizon over the linear dynamics (13) while remaining computationally feasible. It is postulated that the decrease in ∆v observed for shorter t t t t N1 is due to the choice of coordinates used to represent 0 1 2 f the satellite’s orbital dynamics, which only provide for an approximation of the orbital inclination. When the prediction Fig. 6. Single quantized on-off thrust pulse (uquant) over one feedback period with three discrete time steps (Nfb = 3) for a given thruster. model has some inaccuracies, a longer prediction horizon, which relies more on such model, may delay the control action The predicted states of the system at time based on the until the satellite approaches the edges of the station keeping tf quantized thrust inputs are given by window, away from the orbital nodes, where propulsion is less efficient. Instead, a shorter prediction horizon relies less 4 ANfb∆t X A(tf −t2,i) on the prediction model, yielding a more aggressive control xquant(tf ) = e x(t0) + e Bd,i(t1,i, t2,i)umax,i, action when the satellite crosses the orbital nodes, which is i=1 also more fuel efficient. (18) Using orbital elements for prediction would allow for di- where

( ¯umpc,t ,i rectly representing the orbit’s inclination, at the price of solv- f 0 u¯ N  max ¯u mpc,t0,i fb u = mpc,j|t0,i k k ≥ , ing nonlinear optimization problems, and hence increasing, max,i k k 0 u¯mpc < Nfb possibly excessively, the computational burden. Investigating k ,t0,ik a choice of coordinates such that the inclination can be directly N −1 represented without increasing excessively the computational Xfb u¯ = u , burden may be the subject of future research. mpc,t0,i mpc,j|t0,i j=0

h i uT uT uT uT uT E. Thruster Quantization mpc,j|t0 = mpc,j|t0,1 mpc,j|t0,2 mpc,j|t0,3 mpc,j|t0,4 , The low-thrust electric thrusters considered for this space- and  > 0 is the tolerance below which the MPC input craft are operated with on-off pulses. The control input gen- is considered to be zero. The calculation of umax,i involves erated by the MPC policy described in Section III-D is a averaging the MPC inputs of the ith thruster over the feedback continuous thrust value for each thruster, which cannot be period, which gives a single gimbal angle for each thruster used directly with on-off thrusters, or in the propulsion system within the feedback period. assembly shown in Fig.2, the latter due to not enforcing the The predicted states of the system evolution based on the constraint on the joint angles γn, γs on the different booms. MPC inputs can be expressed as

As such, the control input must be quantized to on-off pulses Z tf ANfb∆t A(tf −τ) that satisfy the physical constraints of the thrusters and the xmpc(tf ) = e x(t0) + e Bumpc(τ)dτ propulsion system assembly. In our initial investigation [34] t0 ANfb∆t we developed a PWM quantization scheme with a fixed = e x(t0) + CNfb−1umpc,0:Nfb−1|t0 , (19) frequency of five on-off pulses per time step with varying where C = ANfb−1B A B B  pulse widths, such that the average thrust matched the constant Nfb−1 d d d d d is the controllability matrix, A = ···eA∆t is the thrust of the MPC control input over each time step. The PWM d discrete-time A matrix calculated with time step ∆t, scheme works well, but leads to a large number of on-off R ∆t A(∆t−τ) Bd = 0 e dτB is the discrete-time B matrix pulses, on the order of 30 pulses per thruster per orbit. Such T calculated with time step ∆t, and umpc − | = number of pulses results in more than 160, 000 pulses within h ,0:Nfb i1 t0 a 15 year lifetime of the satellite, which may be too much uT uT uT . The mpc,0|t0 ··· mpc,Nfb−2|t0 mpc,Nfb−1|t0 for many existing electric propulsion thrusters [37]. Thus, to error between the two predicted states at tf is given by reduce the number of on-off pulses, a single pulse quantization e = xmpc(t ) xquant(t ) scheme over a feedback period is proposed in this section. f − f As shown in Fig.6, consider the quantization of a piece- = CNfb−1umpc,0:Nfb−1|t0 (20) 4 wise constant control input sequence, umpc, over a time step X A(tf −t2,i) beginning at time and ending at time , e Bd,i(t1,i, t2,i)umax,i. t0 tf = t0 + Nfb∆t − + i=1 where Nfb Z is the number of discretization time steps in ∈ a feedback period, and only a single pulse of magnitude fmax The switching times for each thruster must satisfy t0 t1,i < is applied at the ith thruster starting at time t and ending at t t , i = 1, 2, 3, 4. Additionally, there is a requirement≤ 1,i 2,i ≤ f time t2,i, and t0 t1,i < t2,i tf . The thruster on and off that not more than one thruster on the North or South-facing times are solved to≤ minimize the≤ predicted state error due to boom-thruster assembly should fire at any given time, which quantization at the end of the feedback period. is further motivated by the fact that these thrusters share the 8

gimbal angle γa, a n, s , and hence their directions cannot geostationary orbit is considered, with a mass of 4000 kg, and be independently controlled.∈ { } This results in a constraint on reactions wheels each with a mass of 20 kg, a radius of 0.75 m, the switching times of the thrusters to enforce that they never and a thickness of 0.2 m. The nominal gimbal angles of the ◦ overlap. As the firing order of the thrusters may have an impact boom-thruster assemblies are α¯n =α ¯s = β¯n = β¯s = 0 and ◦ on the predicted state error, different orders of thruster firings γ¯n =γ ¯s = 40.14 . Further details of the physical parameters are considered: 1 before 2 and 3 before 4 (Mode 1), as well relating to the boom-thruster assemblies can be found in [34]. as 2 before 1 and 4 before 3 (Mode 2). Defining the design The performance constraints considered in simulation in- variable clude a maximum thruster magnitude of 0.1 N, a station keeping window of 0.05◦ in both latitude and longitude, and tT = t t t t t t t t  , 1,1 2,1 1,2 2,2 1,3 2,3 1,4 2,4 a maximum allowable± attitude error of 0.02◦ in yaw, pitch, ± the thruster switching constraints can be written and roll. Simulations are performed for 425 orbits beginning T as At,it bt,i, i = 1, 2, where b = at an epoch of Jan. 1, 2000, but only results from the last  ≤  t,i 0 0 0 0 t0 tf t0 tf 0 0 , 365 orbits are presented and used for analysis, in an effort to − − remove any transient behavior. 1 1 0 0 0 0 0 0    − The MPC policy uses a split prediction horizon with N1 = At 0 0 1 1 0 0 0 0  At,i = , At =  −  , 5 hours, N2 = 20 hours, a discretization time step of ∆t = A¯ t,i 0 0 0 0 1 1 0 0   1 hour, a feedback period of Nfb = 1 time step, and weighting 0 0 0 0 0− 0 1 1 − matrices of Q = diag Qr, Qr˙ , Qθ, Qω, Qν , Q˜xdist and R = { −9 } 2 and the contents of A¯ t,i depend on the thruster-firing mode Rthrust + Rtorque, where Qr = 10 diag 0, 1, 1 1/m , Qr˙ = 2 2 −3 2 · {−3 }2 2 considered. The matrix At and the first four rows of bt,i 0 s /m , Qθ = 10 1 1/rad , Qω = 10 1 s /rad , Qν = −2 2 2 · 10· 2 ensure that t1,i t2,i, while A¯ t,i and the last six rows of 10 1 s /rad , Q˜xdist = 0, Rthrust = 10 1/N , Rtorque = ≤ 10 · T τ τ τ τ b determine the thruster firing order. The contents of A¯ 10 L L, where L = diag B1 , B2 , B3 , B4 . The inner-loop t,i t,i · { } for Modes 1 and 2, respectively, are attitude controller gains are K1 = 1 1 1/s, Kp = 20 1 N m, · · ·   Kν = 500 1 N m s. The observer dynamics of the inner-loop 1 0 0 0 0 0 0 0 · · · ¯ ¯ ¯ − attitude controller are chosen as Adist = diag Adist, Adist, Adist  0 0 0 1 0 0 0 0 ¯ ¯ ¯ { }   and Cdist = diag Cdist, Cdist, Cdist , where  0 0 0 0 1 0 0 0 { } A¯ t,1 =  −  ,  2   0 0 0 0 0 0 0 1 ¯ 0.001 ωd   Adist = − − ,  0 1 1 0 0 0 0 0 1 0.001 − − 0 0 0 0 0 1 1 0 ¯   − ωd = 2π rad/day, and Cdist = 1 0 . The observer matrix   ¯ ¯ −1 ¯ T T 0 0 1 0 0 0 0 0 Bdist is given by Bdist = PdistCdist, where Pdist = Pdist 0 − ¯ T ¯ ≥  0 1 0 0 0 0 0 0 satisfies the Lyapunov equation AdistPdist + PdistAdist = Qdist   −3 −  0 0 0 0 0 0 1 0 with Qdist = 10 1. A¯ t,2 =  −  . ·  0 0 0 0 0 1 0 0 Simulation of the orbital dynamics is preformed using    1 0 0 1 0 0 0 0 Systems Tool Kit (STK)/Astrogator, a high-fidelity orbit prop- −0 0 0 0 1 0 0 1 agator developed by Analytical Graphics, Inc., while the − attitude dynamics are simulated using the nonlinear model If no thrusters are on during the feedback period, then all in (1b), (1c), and (1d) in continuous time using a high precision thrust commands are set to zero for the entire period and ODE integrator2. A block diagram of the simulation setup in no optimization problem is solved. Otherwise, the following closed loop with the MPC policy is provided in Fig.4. optimization problem is solved. A simulation is first performed with a non-quantized ver- T min e We, subject to At,1t bt,1, (21) sion of the proposed MPC policy (i.e., the quantization of t1,i, t2,i, i=1,2,3,4 ≤ Section III-E is omitted), which yields a ∆v of 64.9 m/s. where W = WT 0 is a weighting matrix. The same opti- Because there is no constraint on the thrusters firing simultane- mization problem≥ is then solved with the constraint A t ously, there are instances in simulation where different gimbal t,2 ≤ bt,2 instead of At,1t bt,1. The solution that results in a angles are used for the two North or South facing thrusters, smaller cost function value≤ is used as the optimal solution to which is physically unrealizable. This issue is resolved by the the quantization scheme. quantization scheme proposed in Section III-E. The selection of W greatly influences the quantization A second simulation is performed with the quantized MPC results, as it determines which predicted state errors to focus policy of Section III with identical control parameters as on minimizing. In practice, it is observed that a suitable value the previous simulation and the weighting matrix W = −10 of W is one that scales the magnitudes of the states to be diag Wr, Wr˙ , Wθ, Wω, Wν , W˜xdist , where Wr = 10 roughly the same, thus providing equal importance to the error { } · in the different states. 2Currently, it is not possible to perform major changes in the attitude control code of STK and the attitude control module cannot be used by the general IV. SIMULATION RESULTS public due to Export Control limitations. Thus, we simulate the attitude in parallel by a high precisions ODE integrator. Overall, given that the attitude In this section, the MPC policy formulated in Section III is is kept in a tight range around the equilibrium, the continuous time nonlinear implemented in simulation. A spacecraft orbiting the Earth in a ODE is precise enough for its simulation. 9

Latitude vs Longitude Attitude Error 0.02 0.05 0 0.04 (deg)

0.03 δφ −0.02 0 50 100 150 200 250 300 350 0.02 0.02 0.01

0 0 (deg)

−0.01 δθ −0.02 Latitude (deg) −0.02 0 50 100 150 200 250 300 350 0.02 −0.03

−0.04 0 (deg) −0.05 δψ −0.02 −0.05 0 0.05 0 50 100 150 200 250 300 350 Longitude (deg) Time (orb)

(a) (b)

Reaction Wheel Speed Thrust 150 100 ν1 1 ν2 ν 2 100 3 80 3 4 60 50 (mN)

i 40 f

Speed (rad/s) 0 20

−50 0 0 50 100 150 200 250 300 350 360 360.5 361 361.5 362 362.5 363 363.5 364 364.5 365 Time (orb) Time (orb) (c) (d)

∆vi in frames i, total ∆v =66.7991m/s 20 F Gimbals 1 40.2 2 15 3 4 40.15

(m/s) 10 (deg) i v i a γ ∆ 40.1 5 1 2 3 4 0 40.05 0 50 100 150 200 250 300 350 360 360.5 361 361.5 362 362.5 363 363.5 364 364.5 365 Time (orb) Time (orb) (e) (f)

Fig. 7. One year simulation using the quantized MPC policy of Section III with (a) station keeping window, (b) spacecraft attitude error, (c) reaction wheel speeds, (d) thrust forces over the last 5 orbits, (e) accumulation of ∆v for each thruster, and (f) gimbal angles over the last 5 orbits.

(a) (b)

Fig. 8. Images from the STK simulation taken on (a) May 12, 2000 (orbit 72) and (b) July 30, 2000 (orbit 151). The red square represents the station keeping window, the green trail shows the satellite position over the last 5 orbits, and the size of the satellite is not to scale for illustrative purposes. 10

3 2 6 2 2 4 2 diag 1, 1, 10 1/m , Wr˙ = 10 1 s /m , Wθ = 10 1 1/rad , each time step. For reducing computational burden and code { −1 } 2 2 · 2 2 · Wω = 10 1 s /rad , Wν = 10 1 s /rad , and W˜x = 10 1. complecity, the MPC prediction model used in this paper relies · · dist · The results of this simulation are included in Fig.7, where a on a linearization about ν3 = 0 rad/s and does not recompute ∆v of 66.8 m/s is achieved with an average of 2.98 pulses per the matrix Ad as ν3 deviates from 0 rad/s. thruster per orbit. Figs. 7(a), 7(b), 7(c) show that constraints are satisfied throughout the simulation. The quantized nature V. QUANTIZATION SCHEMEAND ROBUSTNESS of the thrust inputs is observed in Fig. 7(d). Images from the ASSESSMENT STK simulation taken at two difference times are provided in This section presents in-depth numerical analyses of the Fig.8 to illustrate how the satellite moves within the station parameters used in the single-pulse quantization scheme of keeping window. Section III-E and the robustness of the proposed MPC policy As mentioned earlier, the idealized ∆v for NSSK depends to realistic model uncertainties and measurement noise. Due to on the epoch and station keeping window size, requiring the large number of data points tested, numerical simulations approximately 41–51 m/s/year [5]. Allowing an additional 5% are not performed with STK, but instead with the nonlinear ∆v for “East-West" Station-Keeping (EWSK) and momentum spacecraft dynamic model presented in (1), which was been management and translating the idealized range to account validated using STK in [20]. Acceleration perturbations due to for the nominal cant angle of the thruster boom assemblies by ◦ Earth’s oblateness, solar and lunar gravitational attraction, and dividing it by cos(40.14 ), we arrive at an expected total ∆v solar radiation pressure are included in the simulation based consumption of 56–70 m/s/year. We find our result of 66.8 on the numerical values in [43]. Solar radiation pressure is m/s (and 2.98 pulses per thruster per orbit) to be squarely also considered in the calculation of a disturbance torque, and within that range, indicating that we are as close to the is calculated as done in [44, p. 229], with a mean surface ideal as possible despite adding additional limitations due to area of 200 m2, surface reflectance of 0.6, solar facing area quantization. The fuel consumption with the quantized MPC 2 of Sfacing = 37.5 m , and a solar radiation constant of policy is significantly lower than the previous result for the −6 2 Csrp = 4.5 10 N/m . The results presented in this section same satellite configuration in [34], which required an annual are given as× a percent increase or decrease in performance of ∆v of 79.8 m/s (and 30 pulses per thruster per orbit). This ∆v or pulses/thruster/orbit. savings is predominantly∼ due to the novel split-horizon MPC policy. TableI summarizes and compares the ∆v values and features of the results obtained in this work to that of the A. Analysis of Quantization Scheme idealized case and our prior work, highlighting whether the The selection of the parameters used in the single-pulse ∆v result accounts for EWSK, the thruster geometry of Sec. quantization scheme of Section III-E is discussed and analyzed II, and quantized thrust values. numerically in simulation. The quantization parameters con- sidered in this analysis include the thrust cutoff value (), the TABLE I number of time steps between feedback (Nfb), the weighting ∆v SUMMARY FOR THE MPC POLICIESINTHISWORKCOMPAREDTO matrix used in the quantization objective function (W), and THOSEOFTHEIDEALIZEDCASEANDPRIORWORK adding an additional constraint preventing the overlapping of any thruster pulses. Sec.II ∆v EWSK On-Off 1) Thrust Cutoff Value (): The thrust cutoff value, , Geometry (m/s) determines the smallest thrust magnitude to quantize as an Ideal [5] N N N 41–51 on-off thruster pulse, whereas every thrust smaller than  is simply ignored. A lower bound on  may be determined by Ref. [20] N N N 59 the specifications of the thruster, as on-off electric thrusters Policy III-D N N N 46 often have a minimum pulse width. However, using the lowest applied to [20] possible value of  may not yield the best ∆v performance and/or a reasonable number of thruster pulses. Simulations Ideal [5] accounting Y Y N 56–70 for Sec.II geometry are performed with cutoff values in the range 0.001 mN Policy III-D Y Y N 64.9  1 mN to quantify the effect of varying  on perfor- mance,≤ ≤ and the results are presented in Fig.9. Fig.9 shows Ref. [34] Y Y Y 79.8 that the relationships between  and the performance indices Policy III-E Y Y Y 66.8 ∆v and the number of on-off pulses per thruster per orbit is non-trivial. A small value of  can yield reasonable ∆v, but results in many thruster pulses (e.g., a 5.6% increase in ∆v It is worth noting in Fig. 7(c) that the reaction wheel speed and 452% increase in the number of pulses/thruster/orbit with ν3 deviates from the equilibrium point ν3 = 0 rad/s used  = 0.001 mN compared to the baseline of  = 0.01 mN). A in the linearization of the MPC prediction model in (11), small value of  also helps reduce the effect of quantization eventually reaching a steady-state value of 100 rad/s. The MPC on momentum management. For example, Fig. 10 shows that prediction model could be improved by periodically updating with  = 0.001 mN the reaction wheel speeds are much the linearization about a new equilibrium point with a non- more similar to the reaction wheel speeds without quantization zero value of ν3, i.e., updating Ad in the prediction model at than with  = 0.01 mN, and momentum management is 11

30 500 20 0

400 15 20 -20 300 10 200 10 -40 100 5

0 0 0 -60 10-3 10-2 10-1 100 1 1.5 2 2.5 3

Fig. 9. Effect of varying  in quantization scheme. Fig. 11. Effect of varying Nfb in quantization scheme.

Reaction Wheel Speed TABLE II 30 ν1 EFFECT OF VARYING W IN QUANTIZATION SCHEME ν2 ν 20 3 Pulses 10 % ∆v % W2 14.6 97.4

Speed (rad/s) 0 W3 1.5 36.7 −10 0 50 100 150 200 250 300 350 Time (orb)

(a) illustrate the effect of Nfb on performance, simulations are performed with a non-split horizon of N1 = N2 = 20 hours Reaction Wheel Speed 60 with Nfb = 1, Nfb = 2, and Nfb = 3. The results in Fig. 11 ν1 ν2 demonstrate how using N = 2 reduces the number of pulses 40 ν3 fb by 54.4%, but increases ∆v by 1.1% compared to Nfb = 1. 20 The selection of Nfb = 3 yields a more significant increase 0 of 16.0% in ∆v and a less significant decrease of 48.5% Speed (rad/s) −20 in the number of thruster pulses compared to Nfb = 1. As

−40 demonstrated, tuning Nfb typically allows for a tradeoff in 0 50 100 150 200 250 300 350 Time (orb) ∆v and the number of thruster pulses, but this tuning may be restricted depending on the problem at hand. (b) 3) Weighting Matrix (W): The selection of the weighting Fig. 10. STK simulation results: reaction wheel speeds with (a) non-quantized matrix used to formulate the objective function in the quanti- split-horizon MPC policy and (b) quantized split-horizon MPC policy with zation scheme has a significant influence on the quantization  = 0.001 mN. results, as the value of W dictates which state errors to focus on minimizing during quantization. Three different choices of clearly occurring. A large value of  will typically result W are examined in this section: W1 is the same as W used in 1/2 in a relatively lower number of thruster pulses, but a large SectionIV, W2 = W1 , and W3 = 1. Results of W2 and W3 ∆v (e.g., a 27.2% increase in ∆v and 110% increase in the relative to W1 are given in TableII, where both W2 and W3 number of pulses/thruster/orbit with  = 1 mN compared to the increase ∆v and the number of thruster pulses. Based on the baseline of  = 0.01 mN). The choice of  ultimately depends authors’ experience, it is beneficial to use a weighting matrix on the problem at hand, and is shown to be an important that normalize all of the states to roughly the same order of tuning parameter in obtaining optimal performance. In our magnitude, which is how W1 was chosen. simulations, the optimum is achieved by an intermediate value 4) Overlapping of Pulses: In some circumstances, most ( = 0.01 mN). likely due to power limitations [17], it may be required that 2) Number of Time Steps Between Feedback (Nfb): A no thrusters fire simultaneously. An additional constraint can feature of the proposed quantization scheme is that a single be placed on the thruster pulse times to ensure that no thruster pulse can be generated for a feedback period that spans pulses overlap. In this case, three thruster-firing-order modes more than one discrete time step. The number of time steps are considered: 1 2 3 4 (Mode 1), 2 1 4 3 (Mode − − − − − − between feedback periods is determined by the positive integer 2), and 3 4 1 2 (Mode 3). More modes would be − − − parameter Nfb. It is observed in simulation that there is an required if all possible permutations of the firing order were upper bound on Nfb determined by the controller parameters, considered, but typically only two thrusters fire within a given beyond which the error induced by quantization becomes too time step (excluding the combinations 1-3 and 2-4), so this large to satisfy state constraints. For the controller parameters is unnecessary. The constraints are written as At,it bt,i, T  ≤  used in SectionIV with a split horizon of N1 = 5 hours i = 1, 2, 3, where bt,i = 0 0 0 0 t0 tf 0 0 0 , T  T ¯ T  − and N2 = 20 hours, only Nfb = 1 is feasible. Therefore, to At,i = At At,i , At is defined in Section III-E, and the 12

TABLE III MEASUREMENTNOISEROBUSTNESSASSESSMENTRESULTS

Meas. Sensor Bias Standard Deviation % ∆v % Pulses Baseline – – – 0 0 cw ˜rg GPS bri = 0 m σri = 10 m 22.6 77.9 cw ˜rg GPS with KF bri = 0 m σri = 10 m 1.81 24 cw ˜rg TLE bri = 50 m σri = 500 m 71 66.3 ˙cw ˜rg GPS with KF br˙i = 0 m/s σr˙i = 0.1 m/s 1.8 4.9 cw ˙cw ˜rg and ˜rg GPS with KF bri = 0 m, br˙i = 0 m/s σri = 10 m, σr˙i = 0.1 m/s 21.9 94.8 δθ˜ Tracker b = 3 10−5 deg σ = 3 10−3 deg 2 4.5 θ × θ × ω˜ pg High-Acc. Gyro b = 1 10−9 rad/s σ = 1 10−10 rad/s 12.1 26.6 p ωi × ωi × ω˜ pg Low-Acc. Gyro b = 5 10−3 rad/s σ = 2 10−7 rad/s 25.5 124.3 p ωi × ωi × ν˜ Tachometer bνi = 0.06 rad/s σνi = 1.6 rad/s 5.9 40

contents of A¯ t,i depend on the thruster-firing mode considered. of handling situations with limited power, although, with an The matrix At and the first four rows of bt,i ensure that increase in fuel consumption. t1,i t2,i, while A¯ t,i and the last six rows of bt,i determine ≤ ¯ the thruster firing order. The contents of At,i for Modes 1, 2, B. Robustness Assessment and 3, respectively, are In this section, the robustness of the proposed MPC policy is  1 0 0 0 0 0 0 0 analyzed and tested subject to various forms of measurement −  0 0 0 0 0 0 0 1 noise and uncertainty in the thruster and the spacecraft models.   A¯ t,1 =  0 1 1 0 0 0 0 0 , 1) Measurement Noise: In practice, sensors will be used  −   0 0 0 1 1 0 0 0 to measure the states of the system either directly or indi- 0 0 0 0− 0 1 1 0 rectly. Each measurement inherently features some level of − noise, which leads to uncertainty in the system states. The  0 0 1 0 0 0 0 0 − purpose of the measurement noise analysis presented here  0 0 0 0 0 1 0 0   is not necessarily to improve the uncertainty in the states A¯ t,2 =  1 0 0 1 0 0 0 0 , −  by designing filters or estimators, but to determine whether  0 1 0 0 0 0 1 0 the levels of measurement noise that can be tolerated by the 0 0 0 0 1 0− 0 1 − proposed MPC policy are realistic. The measurement noise  0 0 0 0 1 0 0 0 considered includes the translational position and velocity −  0 0 0 1 0 0 0 0 of the spacecraft, the attitude and angular velocity of the   A¯ t,3 =  0 1 1 0 0 0 0 0 . spacecraft, and the angular rates of the spacecraft’s reaction  −   1 0 0 0 0 0 0 1 wheels. −0 0 0 0 0 1 1 0 The measurement of the spacecraft’s position is given − cw cw T by ˜rg = rg + wr, where wr (br, Vr), br = The procedure to solve for the optimal switching times t1,i,   2 ∼2 N2 br br br , and V = diag σ , σ , σ . In this anal- , , is similar to the procedure outlined in x y z r rx ry rz t2,i i = 1, 2, 3, 4 ysis, two levels of uncertainty are{ considered:} 1) GPS-level Section III-E, but instead solutions for the three thruster-firing- accuracy [45](b = 0 m and σ = 10 m, i = x, y, z), order modes are found. The solution that yields the lowest cost ri ri and 2) two-line element (TLE) [46] or ground-based antenna function value is chosen as the optimal set of switching times. ranging data [47](bri = 50 m and σri = 500 m, i = x, y, z). A simulation is performed using these additional constraints The measurement of the spacecraft’s velocity is given ˙cw cw T to ensure that no thruster pulses overlap, which increases by ˜rg = r˙g + wr˙ , where wr˙ (br˙ , Vr˙ ), br˙ =   2 ∼2 N2 ∆v by 18.5% and increases pulses/thruster/orbit by 105.6%. br˙ br˙ br˙ , and Vr˙ = diag σ , σ , σ . For this anal- x y z { r˙x r˙y r˙z } Enforcing these constraints at all times clearly degrades the ysis, GPS-level accuracy is considered, where br˙i = 0 cm/s performance. However, it is interesting that the proposed and σr˙i = 10 cm/s, i = x, y, z. control policy can handle this situation, as the power limitation The measurement of the spacecraft’s attitude is perturbed may be due to unforseen circumstances, such as a special fault by the DCM C˜, such that C˜ pg = CC˜ pg. An axis-angle param- T recovery mode. In such a situation, the quantization constraints eterization is used to define C˜ = cos wθ1+(1 cos wθ) aˆaˆ + × 2 − in Section III-E can be implemented for most of the orbit and sin wθaˆ , where wθ (bθ, σθ ), aˆ = a/ a 2, a (0, 1). the constraints outlined in this section can be implemented Measurement noise associated∼ N with the usek k of a star∼ N tracker −5 during the intervals in which there is a limitation on power. is considered, where bθ = 3 10 deg and σθ = 3 Thus, the simulation shows that our control strategy is capable 10−3 deg [48–50]. × × 13

25 125 TABLE IV 20 100 MASS UNCERTAINTY ROBUSTNESS ASSESSMENT RESULTS

15 75 wm (kg) % ∆v % Pulses 10 50 400 1.4 10.1 5 25 − +400 1.2 17.6 0 0

-5 -25 -20 0 20 40 60 80 100 TABLE V CENTER OF MASS UNCERTAINTY ROBUSTNESS ASSESSMENT RESULTS

Fig. 12. Thruster magnitude uncertainty robustness assessment results. cc˜ T rp (cm) % ∆v % Pulses [0.5 0 0] 2.6 16.1 30 150 [5 0 0] 15 428.5 [0 0.5 0] 0.3 30 20 100 [0 5 0] 1.2 19.9 [0 0 0.5] 20.6 91.8 10 50 [0 0 5] 25.5 113.1 [ 0.5 0 0] 9.4 79.4 − 0 0 [ 5 0 0] 8.6 573.8 0 100 200 300 400 − [0 0.5 0] 20.3 95.1 − [0 5 0] SK constraints violated Fig. 13. Thruster delay robustness assessment results. − [0 0 0.5] 13.3 76.4 − [0 0 5] 17.8 82.4 − The measurement of the spacecraft’s angular velocity is pg pg given by ω˜p = ωp + wω, where wω (bω, Vω), T   ∼2 N 2 2 b = b b b , and Vω = diag σ , σ , σ . ω ω1 ω2 ω3 { ω1 ω2 ω3 } clearly more robust to perturbations that increase the thruster Measurement noise associated with a high-accuracy rate gyro- magnitude, which is intuitive, as additional unexpected control −9 −10 scope [51](bωi = 1 10 rad/s and σωi = 1 10 rad/s, authority is available in this case. ) and a low-accuracy× rate × [52]( i = 1, 2, 3 bωi = Time delays are implemented in simulation as t˜1,i = t1,i+δt −3 rad/s and −7 rad/s, ) are 5 10 σωi = 2 10 i = 1, 2, 3 and t˜2,i = t2,i + δt, i = 1, 2, 3, 4, where δt is the time delay, considered.× × and t˜1,i and t˜2,i are the delayed “on time” and “off time” of the The measurement of the spacecraft’s reaction wheel speeds thruster pulse, respectively. Results of simulations with time is given by ν˜ = ν + wν , where wν (bν , Vν ), delay values of 0 δt 420 s are presented in Fig. 13, which T   2 ∼2 N 2 ≤ ≤ bν = bν1 bν2 bν3 , and Vν = diag σν1 , σν2 , σν3 . Re- illustrate that a time delay of 20 seconds can be tolerated with { } alistic measurement noise from a reaction wheel tachometer less than a 1% increase in ∆v and less than a 16% increase is considered, where bνi = 0.06 rad/s and σνi = 1.6 rad/s, in the number of thruster pulses, while time delays of up to i = 1, 2, 3 [53]. 2 minutes can be tolerated with less than a 10% increase in Results with the various individual measurement noises are ∆v and around 4 pulses/thruster/orbit. presented in Table III, where it is shown that the MPC policy Misalignment of the thrusters is common on satellites due to is particularly sensitive to translational position and velocity the extreme forces and vibrations experienced during launch. measurements, but remains robust to realistic measurement C˜ ia = C1(δi)C2(β˜a)C3(˜αa), where α˜a and β˜a are constant noise when a simple Kalman filter is implemented. angles that are randomly assigned prior to simulation using 2) Thruster Model Uncertainty: The actual thrusters of α˜ (¯α , σ2 ), β˜ (β¯ , σ2 ). Twelve simulations a ∼ N a α a ∼ N a β the spacecraft are not ideal, and will contain some amount are performed with σα = σβ = 0.1 deg, which yields an of uncertainty. Specifically, uncertainty in the magnitude of average ∆v increase of 7.9% and an average increase in the thrust, time delays in the thruster pulse, and thruster pulses/thruster/orbit of 74.2%. misalignment are considered in this section. 3) Model Uncertainty: Another source of uncertainty con- Uncertainty in the magnitude of the thrust may be due sidered in this robustness assessment is in the spacecraft’s to a leaking or stuck valve, uncertainty in the thruster con- mass and center of mass. Simulations are performed with troller, etc. Thruster magnitude uncertainty is modeled as m˜ B = mB + wm, where mB is the nominal spacecraft mass, f˜ = f + b . The results of simulations performed with m˜ B is the uncertain spacecraft mass, and 0.1mB w max max f − ≤ m ≤ values 0.16fmax bf fmax are presented in Fig. 12, 0.1mB. The center of mass of the spacecraft is also perturbed − ≤ ≤ cc˜ T  cc˜ cc˜ cc˜  cc˜ which show that the MPC policy is robust to a significant as rp = rp1 rp2 rp3 , where 5 cm rpi 5 cm, amount of thruster magnitude uncertainty. The MPC policy is i = 1, 2, 3. Results with these perturbations− ≤ are presented≤ in 14

TablesIV andV. The MPC policy is shown to be quite robust [15] R. Vazquez, F. Galivan, and E. F. Camacho, “Pulse-width predictive to both types of mass uncertainty, particularly to uncertainty control for LTV systems with application for spacecraft rendez-vous,” Control Engineering Practice, vol. 60, pp. 199–210, March 2017. in the total mass and the location of the center of mass in the [16] C. Gazzino, C. Louembet, D. Arzelier, N. Jozefowiez, D. Losa, C. Pittet, p 1 direction. and L. Cerri, “Integer programming for optimal control of geostationary −→ station keeping of low-thrust satellites,” LAAS Report 16341, July 2017. [17] C. Gazzino, D. Arzelier, C. Louembet, L. Cerri, C. Pittet, and D. Losa, VI.CONCLUSIONS “Long-term electric-propulsion geostationary station-keeping via integer programming,” Jour. Guidance, Control, and Dynamics, vol. 42, no. 5, The novel split-horizon MPC policy presented in this paper pp. 976–991, 2019. is shown to be effective in performing simultaneous station [18] C. Gazzino, D. Arzelier, L. Cerri, D. Losa, C. Louembet, and C. Pit- keeping and momentum management of a GEO satellite. tet, “A three-step decomposition method for solving the minimum- fuel geostationary station keeping of satellites equipped with electric Quantization of the thruster is performed using a single- propulsion,” Acta Astronautica, vol. 158, pp. 12–22, May 2019. pulse quantization method, which reduces the number of [19] L. Li, J. Zhang, Y. Li, and S. Zhao, “Geostationary station-keeping with pulses compared to PWM methods and results in control electric propulsion in full and failure modes,” Acta Astronautica, 2019, to appear. inputs that are implementable with existing electric propulsion [20] A. Weiss, U. V. Kalabic,´ and S. Di Cairano, “Station keeping and technology. Robustness assessment studies demonstrated the momentum management of low-thrust satellites using MPC,” Aerospace performance of the control policy with various forms of Science and Technology, vol. 76, pp. 229–241, May 2018. [21] J. Climer. Boeing: World’s first all-electric propulsion satellite uncertainty and measurement noise, which further validates begins operations. [Online]. Available: https://boeing.mediaroom.com/ the proposed method. 2015-09-10-Boeing-World-s-First-All-Electric-Propulsion-Satellite-Begins-Operations [22] D. Losa, M. Lovera, J.-P. Marmorat, T. Dargent, and J. Amalric, “Station keeping of geostationary satellites with on-off electric thrusters,” in Proc. ACKNOWLEDGMENT 2006 IEEE Int. Conf. on Control Applications, 2006, pp. 2890–2895. [23] B. M. Anzel, “Method and apparatus for a satellite station keeping,” The authors would like to thank Dr. Alex Walsh and Dr. U.S. Patent 5 443 231, August 22, 1995. David Zlotnik for contributions to initial studies related to this [24] N. Gopalswamy, J. M. Davila, F. Auchère, J. Schou, C. M. Korendyke, work, while they were interns at Mitsubishi Electric Research A. Shih, J. C. Johnston, R. J. MacDowall, M. Maksimovic, E. Sittler, et al., “Earth-affecting solar causes observatory (easco): a mission at the Laboratories. -earth l5,” in SPIE Optical Engineering+ Applications. Int. Society for Optics and Photonics, 2011, p. 81480Z. [25] A. Verma, A. Fienga, J. Laskar, H. Manche, and M. Gastineau, “Use of REFERENCES radioscience data to improve planetary ephemeris and to test [1] D. M. Goebel and I. Katz, Fundamentals of Electric Propulsion: Ion general relativity,” Astronomy & Astrophysics, vol. 561, p. A115, 2014. and Hall Thrusters. John Wiley & Sons, 2008, vol. 1. [26] D. R. Stanbridge, K. E. Williams, A. H. Taylor, B. R. Page, C. G. Bryan, [2] M. Sabbadini, M. Buoso, and G. Saccocia, “Electric propulsion,” Tech. D. W. Dunham, P. Wolff, B. G. Williams, J. V. McAdams, and D. P. Rep., 2002. Moessner, “Achievable force model accuracies for messenger in mercury [3] K. E. Clark, “Survey of electric propulsion capability,” Jour. Spacecraft orbit,” Astrodynamics 2011, Adv. the Astronautical Sciences, vol. 142, and , vol. 12, no. 11, pp. 641–654, 1975. 2011. [4] W. A. Hoskins, R. J. Cassady, O. Morgan, R. M. Myers, F. Wilson, D. Q. [27] T. N. Edelbaum, “Optimum low-thrust rendezvous and station keeping,” King, and K. deGrys, “30 years of electric propulsion flight experience at AIAA Journal, vol. 2, no. 7, pp. 1196–1201, 1964. aerojet rocketdyne,” in 33rd Int. Electric Propulsion Conf., Washington [28] A. Sukhanov and A. Prado, “On one approach to the optimization of DC, 2013. low-thrust station keeping manoeuvres,” Adv. Space Research, vol. 50, [5] M. Martinez-Sanchez and J. E. Pollard, “Spacecraft electric propulsion- no. 11, pp. 1478–1488, 2012. an overview,” Jour. Propulsion and Power, vol. 14, no. 5, pp. 688–699, [29] V. M. Gomes and A. F. Prado, “Low-thrust out-of-plane orbital station- 1998. keeping maneuvers for satellites,” Mathematical Problems in Engineer- [6] H. Kuninaka and K. Kajiwara, “Overview of JAXA’s activities on ing, vol. 2012, 2012. electric propulsion,” in Proc. 32nd Int. Electric Propulsion Conf., [30] F. Topputo and F. Bernelli-Zazzera, “Optimal low-thrust stationkeeping Wiesbaden, Germany, 2011, p. 332. of geostationary satellites,” in Proc. of Confederation of European [7] E. M. Soop, Handbook of Geostationary Orbits. Springer, 1994. Aerospace Societies Conf., 2011, pp. 1917–1925. [8] A. Sukhanov and A. Prado, “On one approach to the optimization of [31] D. Losa, “High vs low thrust station keeping maneuver planning for low-thrust station keeping manoeuvres,” Adv. Space Research, vol. 50, geostationary satellites,” Ph.D. dissertation, École Nationale Supérieure no. 11, pp. 1478 – 1488, 2012. des Mines de Paris, 2007. [9] M. Leomanni, A. Garulli, A. Giannitrapani, and F. Scortecci, “All- [32] J. B. Rawlings and D. Q. Mayne, Model predictive control: Theory and electric spacecraft precision pointing using model predictive control,” design. Nob Hill Pub. Madison, Wisconsin, 2009. Jour. Guidance, Control, and Dynamics, vol. 38, no. 1, pp. 161–168, [33] A. Walsh, S. Di Cairano, and A. Weiss, “MPC for coupled station 2015. keeping, attitude control, and momentum management of low-thrust [10] C. Gazzino, D. Arzelier, L. Cerri, D. Losa, C. Louembet, and C. Pittet, geostationary satellites,” in Proc. American Control Conf., Boston, MA, “Solving the minimum-fuel low-thrust geostationary station keeping 2016, pp. 7408–7413. problem via the switching systems theory,” in 7th European Conf. for [34] D. Zlotnik, S. Di Cairano, and A. Weiss, “MPC for coupled station Aeronautics and Space Sciences, Milano, Italy, July 2017. keeping, attitude control, and momentum management for GEO satellites [11] C. Gazzino, D. Arzelier, D. Losa, C. Louembet, C. Pittet, and L. Cerri, using on-off electric propulsion,” in Proc. IEEE Conf. on Control “Optimal control for minimum-fuel geostationary station keeping of Technology and Applications, Kohala Coast, Hawai’i, 2017, pp. 1835– satellites equipped with electric propulsion,” IFAC Papers Online, 1840. vol. 49, no. 17, pp. 379–384, 2016. [35] R. L. Corey and D. J. Pidgeon, “Electric propulsion at space sys- [12] Y. Ulybyshev, “Long-term station keeping of in lunar halo tems/loral,” in Proc. 31st Int. Electric Propulsion Conf., paper IEPC- orbits,” Jour. Guidance, Control, and Dynamics, vol. 38, no. 6, pp. 1063– 2009-270, 2009. 1070, 2014. [36] D. A. Herman, “NASA’s evolutionary xenon thruster (next) project [13] A. Garulli, A. Giannitrapani, M. Leomanni, and F. Scortecci, “Au- qualification propellant throughput milestone: Performance, erosion, and tonomous low-earth-orbit station-keeping with electric propulsion,” Jour. thruster service life prediction after 450 kg,” 2010. Guidance, Control, and Dynamics, vol. 34, no. 6, pp. 1683–1693, 2011. [37] D. M. Goebel, J. E. Polk, I. Sandler, I. G. Mikellides, J. Brophy, W. G. [14] M. Leomanni, E. Rogers, and S. B. Gabriel, “Explicit model predictive Tighe, and K. Chien, “Evaluation of 25-cm xips c thruster life for deep control approach for low-thrust spacecraft proximity operations,” Jour. space mission applications,” in Proc. 31st Int. Electric Propulsion Conf., Guidance, Control, and Dynamics, vol. 37, no. 6, pp. 1780–1790, 2014. Ann Arbor, MI, 2009. 15

[38] R. J. Caverly, S. Di Cairano, and A. Weiss, “Split-horizon MPC for Stefano Di Cairano (SM’15) received the Master’s coupled station keeping, attitude control, and momentum management (Laurea) and the Ph.D. degrees in information en- of GEO satellites using on-off electric propulsion,” in Proc. American gineering in 2004 and 2008, respectively, from the Control Conf., Milwaukee, WI, 2018, pp. 652–657. University of Siena, Italy. During 2008-2011, he [39] ——, “Quantization of an MPC policy for coupled station keeping, was with Powertrain Control R&A, Ford Research attitude control, and momentum management of GEO satellites,” in Proc. and Advanced Engineering, Dearborn, MI, USA. European Control Conf., Limassol, Cyprus, 2018, pp. 3114–3119. Since 2011, he is with Mitsubishi Electric Research [40] A. H. de Ruiter, C. Damaren, and J. R. Forbes, Spacecraft dynamics Laboratories, Cambridge, MA, USA, where he is and control: An introduction. John Wiley & Sons, 2012. currently a Distinguished Research Scientist, and the [41] A. H. J. de Ruiter, C. J. Damaren, and J. R. Forbes, Spacecraft Dynamics Senior Team Leader of Control for Autonomy. His and Control: An Introduction. Chichester, West Sussex, U.K.: John research focuses on optimization-based control and Wiley & Sons, Ltd, 2013. decision-making strategies for complex mechatronic systems, in automotive, [42] A. Weiss, I. Kolmanovsky, D. S. Bernstein, and A. Sanyal, “Inertia- factory automation, transportation systems, and aerospace. His research inter- free spacecraft attitude control using reaction wheels,” Jour. Guidance, ests include model predictive control, constrained control, path planning, hy- Control, and Dynamics, vol. 36, no. 5, pp. 1425–1439, 2013. brid systems, optimization, and particle filtering. He has authored/coauthored [43] A. Weiss, U. Kalabic,´ and S. Di Cairano, “Model predictive control more than 150 peer-reviewed papers in journals and conference proceedings for simultaneous station keeping and momentum management of low- and has 35 patents. thrust satellites,” in Proc. American Control Conf., Chicago, IL, 2015, Dr. Di Cairano was the Chair of the IEEE CSS Technical Committee on pp. 2305–2310. Automotive Controls and of the IEEE CSS Standing Committee on Standards. [44] A. H. J. de Ruiter, C. J. Damaren, and J. R. Forbes, Spacecraft Dynamics He is the inaugural Chair of the IEEE CCTA Editorial Board and was an and Control: An Introduction. Chichester, West Sussex, UK: John Wiley Associate Editor of the IEEE TRANS.CONTROL SYSTEMS TECHNOLOGY. & Sons, 2013. [45] S. C. Wu, T. P. Yunck, S. M. Lichten, B. J. Haines, and R. P. Malla, “GPS-based precise tracking of Earth satellites from very low to geosynchronous orbits,” in Proc. Telesystems Conf., Washington, DC, 1992. [46] T. Flohrer, H. Krag, and H. Klinkrad, “Assessment and categorization of TLE orbit errors for the US SNN catalogue,” in Proc. Advanced Maui Optical and Space Surveillance Technologies Conf., Maui, Hawai’i, 2008. [47] Y. Hwang, B.-S. Lee, H.-Y. Kim, H. Kim, and J. Kim, “Orbit deter- mination accuracy improvement for geostationary satellite with single station tracking data,” ETRI Journal, vol. 30, no. 6, pp. 774–782, 2008. [48] H. L. Fisher, M. D. Shuster, and T. E. Strikwerda, “Attitude determi- nation for the mission,” Astrodynamics 1989, pp. 139–150, 1990. [49] S. Lee, G. G. Ortiz, and J. W. , “Star tracker-based acquisition, tracking, and pointing technology for deep-space optical communica- tions,” Interplanetary Network Progress Report, vol. 42, no. 161, pp. 201–214, 2005. [50] W. Jiongqi, X. Kai, and Z. Haiyin, “Low-frequency periodic error identification and compensation for star tracker attitude measurement,” Chinese Jour. Aeronautics, vol. 25, no. 4, pp. 615–621, 2012. [51] M. Wang, C. Fan, B. Yang, S. Jin, and J. Pan, “On-ground processing of Yaogan-24 remote sensing satellite attitude data and verification using geometric field calibration,” Sensors, vol. 16, no. 8, p. 1203, 2016. Avishai Weiss is a Principal Research Scientist in [52] J. C. Springman and J. W. Cutler, “Flight results of a low-cost attitude the Control and Dynamical Systems group at Mit- determination system,” Acta Astronautica, vol. 99, pp. 201–214, 2014. subishi Electric Research Laboratories, Cambridge, [53] C. M. Pong, “High-precision pointing and attitude estimation and con- MA. He received his Ph.D. in Aerospace Engineer- trol algorithms for hardware-constrained spacecraft,” Ph.D. dissertation, ing in 2013 from the University of Michigan and Massachusetts Institute of Technology, Cambridge, MA, 2014. holds B.S. and M.S. degrees from Stanford Uni- versity in Electrical Engineering (2008) and Aero- nautics and Astronautics (2009). His main research interests and contributions are in the areas of space- craft orbital and attitude control, constrained control, model predictive control, and time-varying systems, in which he has authored over 45 peer-reviewed papers and patents.

Ryan J. Caverly received the B.Eng. degree in mechanical engineering (Hons.) from McGill Uni- versity, Montreal, QC, Canada, in 2013, and the M.Sc.Eng. and Ph.D. degrees in aerospace engineer- ing from the University of Michigan, Ann Arbor, MI, USA, in 2015 and 2018, respectively. He is currently an Assistant Professor of Aerospace Engineering & Mechanics at the Univer- sity of Minnesota, Minneapolis, MN, USA. Prior to joining the University of Minnesota, he worked as an intern and then a consultant for Mitsubishi Electric Research Laboratories in Cambridge, MA, USA. His research interests include dynamic modeling and control systems, with a focus on robotic and aerospace applications.