constrained low-thrust satellite formation-flying using...

79
Constrained Low-Thrust Satellite Formation-Flying Using Relative Orbit Elements Autonomous Guidance and Control of the NetSat Satellite Formation- Flying Mission Lukas Maximilian Steindorf Space Engineering, masters level (120 credits) 2017 Luleå University of Technology Department of Computer Science, Electrical and Space Engineering

Upload: others

Post on 04-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

Constrained Low-Thrust Satellite

Formation-Flying Using Relative Orbit

Elements

Autonomous Guidance and Control of the NetSat Satellite Formation-

Flying Mission

Lukas Maximilian Steindorf

Space Engineering, masters level (120 credits) 2017

Luleå University of Technology

Department of Computer Science, Electrical and Space Engineering

Page 2: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 3: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

Constrained Low-ThrustSatellite Formation-FlyingUsing Relative Orbit Elements

Autonomous Guidance and Control for theNetSat Satellite Formation-FlyingMission

LukasM. Steindorf

Master’s ThesisAthesis submitted for thedegreesTeknologieMasterexamenmed Huvudområde Rymdteknik (MSc with a Majorin Space Technology) at LuleåUnivesity of TechnologyandMaster of Science (MSc) at the University ofWürzburg

Constrained Low-ThrustSatellite Formation-FlyingUsing Relative Orbit Elements

Autonomous Guidance and Control for theNetSat Satellite Formation-FlyingMission

LukasM. Steindorf

Master’s ThesisAthesis submitted for thedegreesTeknologieMasterexamenmed Huvudområde Rymdteknik (MSc with a Majorin Space Technology) at LuleåUnivesity of TechnologyandMaster of Science (MSc) at the University ofWürzburg

Constrained Low-ThrustSatellite Formation-FlyingUsing Relative Orbit Elements

Autonomous Guidance and Control for theNetSat Satellite Formation-FlyingMission

LukasM. Steindorf

Master’s ThesisAthesis submitted for thedegreesTeknologieMasterexamenmed Huvudområde Rymdteknik (MSc with a Majorin Space Technology) at LuleåUnivesity of TechnologyandMaster of Science (MSc) at the University ofWürzburg

Constrained Low-ThrustSatellite Formation-FlyingUsing Relative Orbit Elements

Autonomous Guidance and Control for theNetSat Satellite Formation-FlyingMission

LukasM. Steindorf

Master’s ThesisAthesis submitted for thedegreesTeknologieMasterexamenmed Huvudområde Rymdteknik (MSc with a Majorin Space Technology) at LuleåUnivesity of TechnologyandMaster of Science (MSc) at the University ofWürzburg

Page 4: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 5: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

Constrained Low-ThrustSatellite Formation-Flying

Using Relative OrbitElements

Autonomous Guidance and Control for theNetSat Satellite Formation-Flying Mission

by

Lukas M. Steindorfto obtain the degree of Master of Science

at the University of Würzburg,at the Luleå University of Technology,

to be defended publicly in B202 in the Department of Computer Sciences of the Universityof Würzburg on Thursday December 15, 2016 at 05:00 PM.

Student numbers: 2054126 (University of Würzburg)910519 (Luleå Univesity of Technology)6108026 (Stanford University)

Project duration: June 1, 2016 – December 1, 2016Thesis committee: Prof. Dr. S. D’Amico, Stanford University

J. Scharnagl, Zentrum für TelematikProf. Dr. K. Schilling, University of Würzburg, examinerProf. Dr. R. Emami, Luleå Univesity of Technology, examiner

An electronic version of this thesis is available at http://repository.ltu.se/.

Page 6: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 7: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

Affidavit

I hereby confirm that my thesis entitled “Constrained Low-Thrust Satellite Formation-FlyingUsing Relative Orbit Elements" is the result of my own work. I did not receive any help orsupport from commercial consultants. All sources are applied and specified in the thesis.Furthermore, I confirm that this thesis has not yet been submitted as part of another ex-amination process neither in identical nor in similar form.

Lukas M. SteindorfStanford, November 2016

iii

Page 8: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 9: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

Abstract

This thesis proposes a continuous low-thrust guidance and control strategy for satelliteformation-flying. Stabilizing feedback based on mean relative orbit elements and Lya-punov theory is used. A novel feedback gain matrix inspired by the fuel-optimal impulsivesolution is designed to achieve near-optimal fuel consumption. A reference governor is de-veloped to autonomously guide the spacecraft through the relative state-space in order toallow for arbitrarily constrained satellite formations. Constraints include desired thrust lev-els, time constraints, passive collision avoidance and locally constrained state-space areas.Keplerian dynamics are leveraged to further decrease fuel consumption. Simulations showfuel consumptions of only 4% higher delta-v than the fuel-optimal impulsive solution. Theproposed control and guidance strategy is tested in a high-fidelity orbit propagation simu-lation using MATLAB/Simulink. Numerical simulations include orbit perturbations such asatmospheric drag, high-order geopotential, solar radiation pressure and third-body (Moonand Sun) effects. Test cases include reconfiguration scenarios with imposed wall, thrustand time constraints and a formation maintenance experiment as flown by TanDEM-X, theTanDEM-X Autonomous Formation-Flying (TAFF) experiment.

v

Page 10: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 11: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

Contents

1 Introduction 11.1 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Quasi-Nonsingular Relative Orbit Elements 5

3 Linear DynamicModel 73.1 Reduced Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Control Strategy 94.1 Stabilizing feedback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.1.1 Continuous Low-Thrust Control in Near-Circular Orbits . . . . . . . . . . . . 94.1.2 Continuous Low-Thrust Control in Eccentric Orbits . . . . . . . . . . . . . . . . 10

4.2 Controlling the Along-Track Separation Rate. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Constraints 155.1 Time constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.2 Thrust Constraint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.3 Circular No-Entry-Zone Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.4 Passive Collision Avoidance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.5 Wall Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

6 Guidance Strategy - Reference Governor 196.1 The Global Potential Field and its Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.2 Lyapunov Threshold for the Time Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.3 Lyapunov Threshold for the Thrust Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . 236.4 Wall Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.4.1 Lyapunov Threshold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246.4.2 Gradient of the Potential Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.5 Circular No-Entry-Zone Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256.5.1 Lyapunov Threshold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256.5.2 Gradient of the Potential Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6.6 Passive Collision Avoidance Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266.6.1 Lyapunov Threshold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266.6.2 Potential Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

7 Implementation 297.1 Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297.2 Propagator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

7.2.1 Pseudo Measurement and State Estimation . . . . . . . . . . . . . . . . . . . . . . . 317.3 Feedback Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.3.1 Reference Governor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377.4 Thruster Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

vii

Page 12: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

viii Contents

8 Examples 498.1 Thrust Constraint and Optimality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498.2 Reconfiguration with Wall Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538.3 Formation Maintenance (TAFF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558.4 Time Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

9 Conclusion andWay Forward 59

Bibliography 61

A Matrices 63

B Derivation of theOut-of-Plane Delta-v Lower Bound 67

Page 13: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

�Introduction

Space Science and Technology is currently undergoing a change to distributed mission ar-chitectures to reduce development costs, development time and enabling possibilities forhigh fidelity experiments and new mission concepts. Often the relative motion of coop-erating spacecrafts has to be reconfigured while collisions have to be precluded. While allflown spacecraft formation-flying missions so far have only consisted of two spacecrafts,except for the NASA Magnetospheric Multiscale Mission [20] that flies four spacecrafts in atetrahedal formation with the smallest distance of 10km at apogee. The German researchinstitute Zentrum für Telematik and the University of Würzburg are successfully engaginginto satellite design and operation since 2005 [18]. The University Würzburg’s experimen-tal (UWE) satellites were kicked off with the UWE-1 satellite, the first German cubesat inoperation [2]. UWE-1 established a telecommunication link before its follow-up missionUWE-2 proved its attitude and orbit determination capabilities in 2009 [19]. The first atti-tude control was demonstrated with UWE-3 in 2013 [4, 18]. UWE-3 performs autonomousattitude determination and control in real-time. The current cubesat in development isthe UWE-4, which will be equipped with a low-thrust electrical propulsion system for orbitcontrol. The NetSat mission is a technology demonstration aimed to fly satellite formationsconsisting of four cubesats, which allow 3D-formations (e.g. cartwheel formations for digi-tal elevation models). The first milestone will be the NetSat-0 mission, which will launch anupgraded UWE-4 version in close proximity to the - by that time - already orbiting UWE-4spacecraft. NetSat-0 shall demonstrate relative navigation capabilities before the next mis-sions will show formation guidance, navigation and control.

This thesis addresses the problem of guidance and control for satellite formation-flyingmissions using low-thrust actuators. The fundamental goal is to establish autonomousreconfiguration of arbitrarily constrained satellite formations with near-optimal fuel con-sumption. Constraints include passive collision avoidance, desired thrust levels, perform-ing a reconfiguration under time constraints and locally constrained state-space areas.With the miniaturization trend of spacecraft and electric propulsion systems, thrust levelsare now found in the µN range. This requires control to be applied continuously, a strategyprone to high fuel use. Therefore this thesis proposes a first-of-its-kind continuous low-thrust guidance and control strategy with a new approach to minimize fuel consumption.The strategy is to be implemented in the NetSat mission of the University of Würzburg.

1

Page 14: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

2 1. Introduction

NetSat intends to prove the feasibility to operate a formation of four cubesats as a clear en-abling technology for scientific experiments, as well as commercial applications.

In contrast to the available body of literature, which primarily focuses on near-circular ap-plications of satellite formations, this paper presents a control strategy that is applicableto closed orbits of arbitrary eccentricity. Autonomous low-thrust reconfiguration guidanceof constrained satellite formations is addressed in relative orbit element state-space. Morespecifically, the contributions to the state-of-the-art of this thesis are 1) a stabilizing feed-back control law based on mean relative orbit elements (ROE) and Lyapunov theory, 2) afeedback gain matrix, which enables the spacecraft to autonomously apply thrust at fuelefficient locations, 3) the design of a reference governor that guides the spacecraft throughthe ROE state-space in order to ensure that all constraints imposed on the formation-flyingmission are satisfied at all times and 4) an autonomous algorithm to leverage Keplerian dy-namics to achieve near-optimal fuel consumption.

Continuous satellite formation control literature explores multiple approaches, includingproportional derivative [16], model predictive [9], linear quadratic [14], Lyapunov [17] andadaptive [15] controllers. These control strategies largely assume near-circular referenceorbits and allow arbitrary thrust vectors (not fuel efficient). Furthermore, optimality is atits best guaranteed with respect to sub-optimal cost functions (linear quadratic control).This work is primarily inspired by the fuel-optimal impulsive solution using the mean ROEdescription and an explicit reference governor developed for unmanned aerial vehicles. Inparticular, the research of Chernick et al. [5] and Nicotra et al. [13]. The research presentedin this thesis provides a feasible control strategy based on Lyapunov theory in mean ROEstate-space and an application of a reference governor based on potential fields.

1.1. ApproachFirst, a linear dynamic model valid for closed orbits of arbitrary eccentricity is developedin mean quasi-nonsingular relative orbit element state-space that makes use of the workperformed by D’Amico et al. [5, 11, 21]. Inspired by results of the fuel-optimal impulsivesolution [5] the control strategy does not make use of radial thrust in the co-rotating or-bital frame centered at the reference spacecraft. Thus, a reduced linear dynamic modelis developed that only allows thrust into the along-track and normal orbit directions. Thealong-track separation is controlled by leveraging Keplerian orbit dynamics, a difference inthe semi-major axis leads to a relative drift of the along-track separation. This is leveragedto achieve an absolute change of the along-track separation by controlling the differencein the semi-major axis. Furthermore, the state is augmented with the rate of change ofthe difference in the semi-major axis in order to account for differential drag. A feedbackcontroller based on Lyapunov theory is developed with a novel feedback gain matrix, whichautonomously feeds back tracking errors at fuel-efficient locations separated by half a orbitperiod to stabilize the system at the applied reference. Furthermore, the feedback gain ma-trix is defined in a way that allows the thrust inputs to be centered around the fuel-optimallocations.

Page 15: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

1.1. Approach 3

Next, a reference governor is developed in relative orbit element state-space. The maintasks of the reference governor are 1) to guide the relative spacecraft state through the ROEstate-space to a desired reference and 2) to enforce and satisfy all constraints imposed onthe relative spacecraft state. The first task is accomplished using attractive (for the desiredreference) and repulsive (for the constraint boundaries) potential fields. Thus, a potentialfield map is generated which is used by the reference governor to guide the applied ref-erence to the desired reference. The second task is realized by translating all constraintsimposed on the relative state into a single constraint, called the Lyapunov threshold. Thereference governor ensures that all constraints are satisfied as long as the Lyapunov thresh-old is not violated. Potential fields and Lyapunov thresholds are developed for arbitrary wallconstraints (locally prohibited state-space areas), the thrust constraint and for the passivecollision avoidance constraint. The thrust constraint is important such that thrusters arenot operated in saturation and to make the controller predictable. Thus, the desired thrustpeak value can be defined as a function of the desired reconfiguration time.

Finally, the guidance and control strategy is numerically validated using a high-fidelity sim-ulation subject to orbit perturbations such as atmospheric drag, high-order geopotential,solar radiation pressure and third-body (Moon and Sun) effects. The true relative state po-sitions and velocities are corrupted by realistic GPS sensor noise, that is then filtered by anExtended Kalman Filter. An actuator model represents a low-thrust Field Emission Elec-tric Propulsion (FEEP) system [3] that is currently being developed by the Universities ofWürzburg and Dresden and is going to be used on the NetSat mission. Results show thatdelta-v consumption is about 4% higher than the impulsive lower-bound and the recon-figuration time is well predictable and therefore adjustable. Overall, the work presented inthis thesis enables reasonable continuous low-thrust guidance and control of constrainedand perturbed satellite formations in arbitrary closed orbits. It further paves the way forautonomous, active collision avoidance and reconfiguration guidance of satellite swarms.

Page 16: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 17: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

�Quasi-Nonsingular Relative Orbit Elements

This thesis deals with the relative motion of two spacecraft. One spacecraft is defined to bethe chief spacecraft and the other one is defined to be the deputy spacecraft. The only dif-ference between both spacecraft in the context of this thesis is the fact the chief spacecraft isthe center spacecraft. The motion of the deputy spacecraft is then described with respect tothe chief/center spacecraft and is expressed within the RTN frame. The RTN orbital frame(see figure 2.1), which is located at the position of the center spacecraft and is composed

of unit vectors in radial direction≥

R = r = r

kr k

¥

, normal direction≥

N = n = R £ v

kvk

¥

and the

along track direction°

T = t = N£R¢

that is tangential to the orbit for e = 0. This frame isalso referred to as to co-rotating orbital frame. The absolute orbits of the chief and thedeputy spacecraft are defined by mean classical orbit elements Æ (semi-major axis a, ec-centricity e, inclination i , argument of the ascending node ≠, argument of the periapsis !and the mean anomaly M)

Æ=

0

B

B

B

B

B

B

B

@

aei≠!M

1

C

C

C

C

C

C

C

A

. (2.1)

The relative motion can conveniently be described using nonlinear combinations of themean classic orbit elements Æ of the chief and deputy spacecraft. This combination is thequasi-nonsingular relative orbit element (ROE) set ±Æqns and is given by [6]

±Æqns =

0

B

B

B

B

B

B

B

@

±a±∏±ex

±ey

±ix

±i y

1

C

C

C

C

C

C

C

A

=

0

B

B

B

B

B

B

B

@

(a °ac )/ac

u °uc + (≠°≠c )cos ic

ex °exc

ey °eyc

i ° ic

(≠°≠c )sin ic

1

C

C

C

C

C

C

C

A

, (2.2)

where the subscript (.)c denotes the chief spacecraft. Throughout this thesis ±(.) denotesa relative orbit element and ¢(.) an actual arithmetic difference or error. The parametersex and ey are defined by ex = e cos! and ey = e sin!, the mean argument of latitude isgiven by u =!+M . The first component of the ROE state is normalized by the semi-major

5

Page 18: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

6 2. Quasi-Nonsingular Relative Orbit Elements

axis of the chief spacecraft. Thus, a non-dimensional state is created, which is composedof the relative semi-major axis ±a, the relative mean longitude ±∏, the eccentricity vector±e = e °ec and the inclination vector ±i = i ° ic . The vectors ±e and ±i are defined by

±e =µ

±e cos'rp

±e sin'rp

±ex

±ey

, ±i =µ

±i cosµran

±i sinµran

±ix

±i y

, (2.3)

with relative perigee 'rp and relative ascending node µran. ROEs allow geometric interpre-tation of the relative motion in the RTN orbital frame. The amplitudes of the relative motionare given by ack±ek in radial (R) direction, 2ack±ek in along-track (T ) direction and ack±ikin out-of-plane (N ) direction (see figure 2.2). Offsets in along-track and radial direction aregiven by ac±∏ and ac±a respectively [7]. For elliptic orbits this motion is superimposed byan additional mode of twice the frequency and amplitude proportional to the eccentricityof the center spacecraft ec [5].

Figure 2.1: RTN frame shown for the general case of a closed eccentric orbit. For e = 0 both the along-trackdirection T and the velocity are parallel (T = v ). The right handed coordinate frame is composed from therectangular unit vectors R, T and N.

Figure 2.2: Geometric interpretation of quasi-nonsingular ROEs for near-circular orbits. The projection ofthe relative motion into the rt-plane (in-plane motion) is shown on the left. The projection into the rn-plane(out-of-plane motion) is shown on the right.

Page 19: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

�Linear Dynamic Model

The full state-space model (with three control inputs and six state outputs augmented withthe differential rate of change ±a of the differential semi-major axis ±a) of the relative mo-tion of a controlled spacecraft with respect to a reference spacecraft is given by

± ˙Ʊa

= A

±Æ±a

+∑

B

01x3

u , (3.1)

where u = (ur ,ut ,un)T is the vector of control accelerations in the RTN orbital frame. Theplant matrix is given by A = A J2+ Adrag+ AKepler [Eqs. (A.1), (A.3) and (A.5)]. A J2, Ad and Ak

[references [21] and [5]] describe the behavior of the ROEs under the influence of the Earth’soblateness effect J2, differential drag and Keplerian motion, respectively. The control inputmatrix B 2R6x3 is given by equation (A.7) [5]. In order to accurately include the differentialaerodynamic drag into the control law it is essential to properly initialize ±a. This can bedone by in-situ measurements of the differential semi-major axis by tracking the differenceover a few orbits without any applied maneuvers.

3.1. Reduced ModelThe study of the control input matrix B (equation (A.7)) shows that a change of the eccen-tricity vector (±e) is most efficiently achieved by applying tangential thrust only. Similar, thedifference in the semi major axis ±a is most efficiently controlled by tangential thrust only.This suggests to control the system given by equation (3.1) without radial thrust. Note, that±∏ can only be controlled by radial thrust and therefore waiving radial thrust would meanthe loss of full controllability. In this situation it is convenient to use a reduced model and tocontrol ±∏ by leveraging Keplerian dynamics. This can be done by augmenting the state-space with ±∏ [8] or by changing the applied reference (see section 4.2) that will then befollowed by a stabilizing feedback controller to maintain full controllability of the completeROE set ±Æ . The reduced model is given by

±Æ±a

= A

±Æ±a

+∑

B

01x3

u , (3.2)

where the reduced ROE vector is defined as ±Æ =£

±a,±ex ,±ey ,±ix ,±i y§T and the control

input u = (ut ,un)T is the control acceleration in along-track and normal direction of the

7

Page 20: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

8 3. Linear Dynamic Model

co-rotating RTN-frame. The reduced plant matrix is now A = A J2+Ad (equations (A.2) and(A.4)). Note, that Keplerian dynamics have no influence on ±Æ. The reduced control inputmatrix is B (see equation A.8).

Page 21: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

�Control Strategy

4.1. Stabilizing feedbackThe feedback controller has to stabilize the system at an applied reference ±Æa . This ap-plied reference is not necessarily the desired reference ±Æref. The proposed reference gov-ernor in section 6 ensures at steady-state ±Æa = ±Æref, if the imposed constraints on therelative state allow. A control law which ensures the relative spacecraft state to asymptoti-cally tend the applied reference is given by

u =°B

? [A±Æ+P (±Æ°±Æa)] . (4.1)

Let the system described by equation (3.2) be subject to the control law given in (4.1) withP being positive definite. A Lyapunov function candidate is given by

V (±Æa ,±Æ) = 12

(±Æ°±Æa)T (±Æ°±Æa) ,

= 12¢±ÆT¢±Æ . (4.2)

By taking the derivative of eq. (4.2) and substituting eq. (4.1) into eq. (4.2) one can proofthat eq. (4.2) indeed is a Lyapunov function:

V (±Æa ,±Æ) =¢±ÆT¢±Æ ,

=¢±ÆT (±Æ°±Æa) ,

=¢±Æ (A (Æc )±Æ+B (Æc )u °0) ,

=¢±Æ°

A (Æc )±Æ+B (Æc )°

°B

? [A±Æ+P (±Æ°±Æa)]¢¢

,

=°¢±ÆTP¢±Æ , (4.3)

which is negative definite. Note, that ±Æa is changed during reconfigurations (±Æa 6= 0).However, for slow reconfigurations (low-thrust) and for steady state (±Æa = ±Æref) one canconsider ±Æa to be constant.

4.1.1. Continuous Low-Thrust Control in Near-Circular OrbitsTo improve fuel efficiency, the Lyapunov feedback gain matrix P is designed such that itdetermines fuel efficient locations to apply control inputs

9

Page 22: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

10 4. Control Strategy

P = 1k

0

B

B

B

B

B

@

cos(J )N 0 0 0 00 cos(J )N 0 0 00 0 cos(J )N 0 00 0 0 cos(H)N 00 0 0 0 cos(H)N

1

C

C

C

C

C

A

, (4.4)

where k 2 R+ is an arbitrary large scaling scalar, J = u ° ui p , H = u ° uoop and u = M +!is the mean argument of latitude. The exponent N 2 N|N mod 2 = 0^ N > 2 defines towhich extent the control inputs are centered around the fuel optimal locations (argumentof latitudes) to control the in-plane (±a, ±e) motion at ui p and the out-of-plane (±i ) motionat uoop . The fuel optimal location can be determined as shown in [5] and according tofigure 4.1. The optimal locations for near-circular orbits to apply thrust are given by

ui p = atan2µ

¢±ey

¢±ex

, (4.5)

uoop = atan2µ

¢±i y

¢±ix

. (4.6)

4.1.2. Continuous Low-Thrust Control in Eccentric OrbitsThe fuel-optimal true argument of latitude µi p to apply tangential thrust in closed eccentricorbits for in-plane reconfiguration is found by numerically solving the following expression[5]

tan°

µi p¢

1+ ey£

2+ex cos°

µi p¢

+ey sin°

µi p¢§

sin°

µi p¢

1+ ex£

2+ex cos°

µi p¢

+ey sin°

µi p¢§

cos°

µi p¢

=¢±ey tan(ic )+ex¢±i y

¢±ex tan(ic )°ey¢±i y, (4.7)

where µ = !+ f with f being the true anomaly. The optimal true argument of latitudeµoop to apply thrust into the normal direction of the RTN-frame in order to reconfigure theout-of-plane motion is given by

µoop = atan2µ

¢±i y

¢±ix

. (4.8)

The feedback gain matrix for eccentric orbits is given by

P = 1k

0

B

B

B

B

B

@

cos(J 0)N 0 0 0 00 cos(J 0)N 0 0 00 0 cos(J 0)N 0 00 0 0 cos(H 0)N 00 0 0 0 cos(H 0)N

1

C

C

C

C

C

A

, (4.9)

with J 0 = µ° µi p and H 0 = µ° µoop . The user-defined parameters k and N are the same asin equation (4.4).

Page 23: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

4.2. Controlling the Along-Track Separation Rate 11

Figure 4.1: Determination of the fuel optimal location (mean argument of latitude) to apply tangential thrustfor a reconfiguration of the eccentricity vector (left side) and to apply normal thrust for a reconfiguration ofthe inclination vector (right side) for near-circular orbits. The desired state is indicated by a white dot and thecurrent state by a black dot.

4.2. Controlling the Along-Track Separation RateThe relative mean longitude (or the along-track separation) ±∏ can only be actively con-trolled via thrust into the radial direction of the RTN frame. Yet, if no radial thrust is to beapplied, it can be passively controlled by leveraging natural (Keplerian) orbit dynamics

±∏=°32

n±a , (4.10)

where n is the mean motion. The difference in the semi-major axis can be effectively con-trolled by tangential thrust (see equations (A.7) and (A.8)). Once a difference in the semi-major axes is established, both satellites will drift towards to or away from each other (seefigure 4.2). The desired change of ±∏ is then only a matter of time and not a matter of thrustany longer. This work assumes desired relative motion that is bounded, that is ±aref = 0.The more time constrained a reconfiguration is, the higher should be ±a in order to achievea change of the relative mean longitude ±∏, because the drift of ±∏ is proportional to theestablished difference in the semi-major axis ±a. The more fuel constrained a reconfigura-tion is the smaller should be ±a to reconfigure ±∏, because the control effort to be applied isproportional to the desired change ±a. When ¢±∏ becomes zero also ±∏ref should becomezero (see figure 4.2). A function that ensures this property and is centered at the desiredreference ±∏ref is given by

±∏ref =

8

<

:

minn

|¢±∏|ø ,±∏des

o

, if ¢±∏∏ 0

°minn

|¢±∏|ø ,±∏des

o

, if ¢±∏< 0, (4.11)

where ø 2R+ is an arbitrary large scaling factor, which sets the slope of the set point for ±∏(see figure 4.2 (right)). Equation (4.11) is a function of the current error in the along-trackseparation ¢±∏ and ±∏des, which is given by

±∏des =32

n|±ades| . (4.12)

Page 24: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

12 4. Control Strategy

In order to derive ±ades it is important to understand that tangential thrust required forreconfiguring the eccentricity vector also affects ±a. It is not possible to perform a recon-figuration of the eccentricity vector without affecting the difference in semi-major axis. Themagnitude of the change of the semi-major axis ¢±atan due to a tangential thrust input isgiven by

¢±atan = 2

ac nq

1°e2c

(1+ec cos fc ) ·¢vtan , (4.13)

where the velocity change ¢vtan = ¢vorbit/2. The velocity change ¢vorbit for one orbit isderived in the next section and is given by equation (5.6). The factor of 1/2 is required toonly consider one continuous control input that is centered at one of the two fuel-optimallocations for reconfiguring the eccentricity vector (see figure 4.3). Now, the desired changein the semi-major axis is set to

|±ades| =|¢±atan|

2. (4.14)

Now, the desired drift ±∏des can be determined using equation (4.12). Once ±∏ref is deter-mined, using equation (4.10) it can be translated into a desired difference of the semi-majoraxes ±aa

±aa =°23±∏ref

n, (4.15)

±aa is then applied to the controller for tracking and thus the along-track separation ±∏ iscontrolled as well. In order to get the true difference of the semi-major axis ±a to oscillateabout±ades with a magnitude of¢±atan (equation (4.13)) the tracking error¢±aa = ±a°±aa

is limited to

|¢±amaxa | = |¢±atan|

2(4.16)

and can be enforced by adjusting the feedback gain matrix P (equation (4.4)) such that theerror feedback is set to zero if the maximum error |¢±amax

a | is violated

P|¢±aa |∏|¢±amaxa | =

1k

0

B

B

B

B

B

@

0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 cos(H)N 00 0 0 0 cos(H)N

1

C

C

C

C

C

A

. (4.17)

Now, no more tangential thrust is applied that would further destabilize ±a. In this case,thrust will again be applied half an orbit period later when both ¢±aa and ¢±e can bestabilized at the mean argument of latitude u = ui p . The problem is shown in figure 4.3. Iftangential thrust stabilizes both the eccentricity vector ±e and the differential semi-majoraxis ±a (location u1 in figure 4.3) the feedback gain matrix P in equation (4.4) is applied. Iftangential thrust stabilizes the eccentricity vector ±e and destabilizes the differential semi-major axis ±a (location u2 in figure 4.3) and if |¢±aa | ∏ |¢±amax

a | the feedback gain matrixP|¢±aa |∏|¢±amax

a | in equation (4.17) is applied. Since the differential semi-major axis ±a isallowed to oscillate around the applied set point ±aa by the magnitude |¢±amax

a | also therelative mean longitude (along-track separation) ±∏ oscillates. As soon as the eccentricityvector is reconfigured to steady state, also ±a converges to ±aref = 0 and the along-trackseparation error ¢±∏ becomes zero without further oscillations.

Page 25: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

4.2. Controlling the Along-Track Separation Rate 13

Figure 4.2: Keplerian drift of the along-track separation ±∏ (left side) and control design of the differentialsemi-major axis±a set-point as a function of the along-track separation error¢±∏ (right side). The red dashedlines on the right side correspond to different ø values in equation (4.11). A higher ø yield a steeper transition.

Figure 4.3: Absolute orbit with fuel optimal locations to apply thrust u1 and u2. Conflict of interests betweenstabilizing the error in semi-major axis ¢±a (red control inputs, note no direction change - always in along-track or anti-along-track direction for a constant error¢±a) and stabilizing the error in the eccentricity vector¢±e (green control inputs, note direction change each half orbit period).

Page 26: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 27: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

�Constraints

5.1. Time constraintMission requirements usually impose time constraints on reconfigurations. The proposedcontrol strategy allows to calculate a desired thrust level input that is required in order toachieve a desired ¢v change. The feedback gain matrix in equation (4.4) defines the shapeof the applied control inputs (see figure 5.1). The control inputs are characterized by acosine shape centered at the fuel-optimal location with the even and positive exponent N .The ¢v change for one orbit period ¢v2º of such continuous control accelerations is givenby

¢v2º = ud

Z2º

0cos(u)N du , (5.1)

with ud being the desired control acceleration and u the mean argument of latitude. Thisintegral can be solved using the reduction formula

Z

cos(u)N du = sin(u)cos(u)N°1

N+ N °1

N

Z

cos(u)N°2du . (5.2)

Figure 5.1: Control inputs of form ud cos(u)N . Hatched area represents delta-v change of one orbit period,ud is the desired control input.

15

Page 28: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

16 5. Constraints

Note that N is an even number. Therefore, the term sin(u)cos(u)N°1, with an odd expo-nent for the cosine, can always be expressed in terms of sin(k ·u) with k being an evennumber. An example for N = 3 is

14

sin(u)cos(u)3 = 14

£

sin(u)cos(u) ·cos(u)2§ ,

= 14

12

sin(2u) ·µ

12+ 1

2cos(2u)

∂∏

,

= 116

sin(2u)+ 116

sin(2u)cos(2u) ,

= 116

sin(2u)+ 132

sin(4u) . (5.3)

For the integration constants 0 to 2º these expression (5.3) becomes zero. Since sin(u)cos(u)N°1

only has odd exponents, the first summand of equation (5.2) is always zero and can be ne-glected. Equation (5.2) is rewritten as

Z2º

0cos(u)N du = N °1

N

Z2º

0cos(u)N°2du . (5.4)

Now, one can easily see that this reduction formula can be applied sequentially until the ex-ponent N °2 is "reduced" to N °2 = 2, which is given for N = 4. This product of a sequenceis given by

¢v2º = ud

4Y

i=N ,N°2,···

i °1i

·Z2º

0cos(u)2du

Ø

Ø which can be rewritten as

= ud

4Y

i=N ,N°2,···

i °1i

·Z2º

0

12+ 1

2cos(2u)du

Ø

Ø substitute x = 2u anddx

du= 2

= ud

4Y

i=N ,N°2,···

i °1i

·µ

12

Ø

Ø

0+ 1

2

Z2º

0cos(x)

dx

2

Ø

Ø adjust integration boundaries

= ud

4Y

i=N ,N°2,···

i °1i

·µ

º+ 14

sin(x)Ø

Ø

Ø

0

Ø

Ø resubstitute x = 2u

= ud

4Y

i=N ,N°2,···

i °1i

·µ

º+ 14

sin(2u)Ø

Ø

Ø

0

Ø

Ø simplify

¢v2º = udº ·√

4Y

i=N ,N°2,···

i °1i

!

h≥ms2 · rad

¥.

orbiti

. (5.5)

In order to obtain the desired units a conversion into the time domain has to be performed

¢vorbit =¢v2º ·T

h≥ms

¥.

orbiti

, (5.6)

where T is the chief’s orbit period. For a desired reconfiguration with a required optimaltotal velocity change ¢vopt

i p for the in-plane reconfiguration and ¢voptoop for the out-of-plane

Page 29: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

5.1. Time constraint 17

reconfiguration are given by

¢vopti p = ac n · k¢±ek

2¥see [5], (5.7)

¢voptoop = ac n

1°ec

¥k¢±ik , (5.8)

with ¥ =q

1°e2c . See the derivation of equation (5.8) in appendix B. In order for equa-

tion (5.7) to hold true it is important that ¢±a2(1+ec ) is smaller than k¢±ek

2¥2 . For reconfigurationsfrom one bounded formation to another bounded formation this restriction is always sat-isfied. Since the proposed control strategy can only apply thrust into either the tangentialdirection or the normal direction for a reconfiguration the number of orbits after which thereconfiguration shall be completed has to be split up into a part for the in-plane and theout-of-plane reconfiguration

#orbitsi p = k¢±ek2(1°ec )k¢±ik+k¢±ek ·#orbits , (5.9)

#orbitsoop = 2(1°ec )k¢±ik2(1°ec )k¢±ik+k¢±ek ·#orbits . (5.10)

By defining ¢v2º = ud ·¢v2º the velocity change that is required during one orbit period isgiven by

¢vopt

# orbits= ud¢v2º ·

T

h≥ms

¥.

orbiti

, (5.11)

with the only unknown being ud . Solving for ud yields

ud = ¢vopt ·2º¢v2º ·T ·#orbits

hms2

i

,

ud = ¢vopt ·2ºº ·T ·#orbits

4Y

i=N ,N°2,···

i

i °1

hms2

i

,

ud = 2¢vopt

T ·#orbits

4Y

i=N ,N°2,···

i

i °1

hms2

i

. (5.12)

The desired thrust levels into the normal ud ,oop and the tangential direction ud ,i p are there-fore given by

ud ,i p =2¢vopt

i p

T ·#orbitsi p

4Y

i=N ,N°2,···

i

i °1

hms2

i

, (5.13)

ud ,oop =2¢vopt

oop

T ·#orbitsoop

4Y

i=N ,N°2,···

i

i °1

hms2

i

. (5.14)

Note to ensure that the thrusters are capable of producing the desired control accelerationud . Furthermore, since the along-track separation is only passively controlled by leverag-ing Keplerian dynamics as described in section 4.2, the maximum error in the along-trackdirection |¢±∏| has to be smaller than

|¢±∏|∑ 32

n|±aa | ·#orbits ·T . (5.15)

For the definition of ±aa see equation (4.15).

Page 30: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

18 5. Constraints

5.2. Thrust ConstraintThe NetSat cubesats are equipped with a low-thrust level propulsion system - nano fieldemission electrical propulsion (NanoFEEP) - with a maximum combined thrust level of80µN [3]. It is important that the thrusters are not operated in saturation. Therefore athrust constraint is formulated that ensures that a user defined thrust level is not exceeded.Note, that the time constraint and the thrust constraint are mutually exclusive. The thrustconstraint is given by

kFk ∑ Fdesired , (5.16)

where Fdesired has to be within the thruster levels, but larger than the relative dynamic per-turbations such that a reconfiguration or formation maintenance is still possible.

5.3. Circular No-Entry-Zone ConstraintDefine a circular boundary of radius ri 2 R, centered at xi 2 R2 for any combination of twoROEs

Ø

Ø

Ø

Ø

G

Ti ±Æ°xi

Ø

Ø

Ø

Ø

2 ∏ ri , (5.17)

with Gi 2 N2x5 and ri > 0. Gi defines the ROE vector elements to be constrained with allelements being zero but two elements which corresponds to the constrained elements is 1.Example: For constraining ±e one has to define

G =µ

0 1 0 0 00 0 1 0 0

∂T

, (5.18)

such that G

T±Æ= ±e.

5.4. Passive Collision AvoidanceFor satellite formations it is convenient to acquire passive collision safety by defining asafety distance " in the rn-plane of the RTN frame. The minimum relative distance forbounded motion (±a = 0) in the rn-plane throughout one orbit period is given by [6]

±r minr n =

p2|±e ·±i |

°

±e2 +±i 2 +|±e +±i | · |±e °±i |¢1/2

∏ " , (5.19)

which is applicable for near-circular orbits and for ±a = 0.

5.5. Wall ConstraintWall constraints describe limits for state-space variables that restrict the correspondingstate to enter these restricted areas. Those constraints can be formulated using [13]:

c

Ti ±Æ∑ di , (5.20)

c

Ti ±Æ∏ di , (5.21)

with ci 2 N1x6 and di 2 R+. ci defines the ROE vector element to be constrained with allelements being zero but one element which corresponds to the constrained element is 1.An example for constraining ±ix one has to define

c =°

0 0 0 1 0¢T

, (5.22)

such that c

T±Æ= ±ix .

Page 31: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

6Guidance Strategy - Reference Governor

This section deals with the guidance of the applied reference ±Æa , at which the Lyapunovcontroller stabilizes the relative state, in order to satisfy the constraints imposed on the re-configuration. A reference governor (RG) that will guide the applied reference ±Æa throughthe ROE state-space while ensuring the satisfaction of the constraint set is developed. TheRG uses an attractive potential field that is directed to the desired reference ±Ær and theconstraints are realized by repulsive potential functions. Together both the repulsive andthe attractive fields compose a potential field map ¡ with gradient Ω at current applied ref-erence ±Æa . Thus, the ROE state is guided along this gradient to the desired state with-out violating any constraints. Following the potential field gradient Ω ensures that thesteady state error is minimum without violating the constraint set (see figure 6.1). Therate of change at which the applied reference is guided |±Æa |, is controlled by formulat-ing a Lyapunov threshold ° for the Lyapunov function given by equation 4.2. The Lya-punov threshold represents a maximum allowed tracking error since the Lyapunov valueV = 0.5¢±ÆT

a¢±Æa is a function of the tracking error itself. A Lyapunov threshold °i isderived for each constraint that is imposed on the relative satellite state and the most re-strictive Lyapunov threshold

°= min{°i } (6.1)

is to be enforced by the RG [12]. Note that the derived Lyapunov thresholds °i are suitedfor the specific Lyapunov function in use and change if a different Lyapunov function isused. All °i are derived in the following sections. If the Lyapunov value V is smaller thanits threshold ° all constraints are satisfied. Thus all constraints are translated into a singleconstraint

V ∑ ° , (6.2)

which can be enforced using [13]

±Æa = ∑ [°°V ] ·Ω , (6.3)

where ∑ 2 R+ is an arbitrary large scalar. Equation (6.3) is the central equation of the RG.If the Lyapunov value V gets close to the Lyapunov threshold, the change of the appliedreference tends to zero, because of limV !° [°°V ] = 0, giving the system time to convergeto the applied reference. If the ROE state is exactly at the applied reference V = 0 the change

19

Page 32: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

20 6. Guidance Strategy - Reference Governor

Figure 6.1: Path planning using a potential field map (blue path) and using only line-of-sight to desiredreference (black path). Since no constraint is to be violated the line-of-sight approach has a large steady stateerror. A potential field map ensures that the steady state error is minimized.

of the applied reference is maximized such that ±Æa reaches ±Ær as quickly as possible. Thevector field is given by [12]

Ω =rrr¡ . (6.4)

The operator rrr(.) denotes taking the partial derivatives with respect to the applied refer-ence ±Æa ;

rrr=µ

@

@±a,

@

@±ex,

@

@±ey,@

@±ix,@

@±i y

a

.

The vector field is a conservative function that tends to zero at ±Æa = ±Ær and goes to infin-ity at the constraint boundaries. Since the sum of conservative functions is also conserva-tive,Ω can be constructed by taking into account separate terms for each defined constraint[12]. After all potential field gradients are found the vector field Ω is given by

Ω =°rrr¡°NX

i=1rrr¡i , (6.5)

where ¡ is the global attractive potential field (see section 6.1) and ¡i are the repulsivepotential fields of the constraints. A potential function for the constraints is given by [12]

¡i =

8

<

:

°®2i (≥i°Ci )2

(≥2i °®

2i )Ci

, if Ci ∑ ≥i

0, otherwise, (6.6)

where Ci is the margin of the constraint i , which is to be enforced, and with an arbitrarysmall safety margin®i 2R+ and influence distance ≥i 2R+, where ≥i >®i , 8i = 1, ..., N . Thegradient of this potential function is derived as

Page 33: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

6.1. The Global Potential Field and its Gradient 21

Figure 6.2: Plot of the global potential field and gradient magnitudes for both the global attractive field (left)and the constraints (right). Note that the gradient magnitude for the global attractive field is unity for k±Æa °±Ær k ∏ ¥. Furthmore, as soon as the relative state approached a constraint’s safety margin ® the constraintsgradient magnitude becomes °1 and is able to negate the global potential field (equilibrium, the constraintcannot be violated). The Local repulsive fields are only considered if the distance to the constraint is less thanthe influence region ≥ (dotted line parts do not contribute).

rrr¡i =°2®2

i (≥i °Ci )rrrCi · (≥2i °®

2i )Ci °®2

i (≥i °Ci )2 · (≥2i °®

2i )rrrCi

°

≥2i °®

2i

¢2C 2

i

,

=®2

i (≥i °Ci )rrrCi [°2Ci ° (≥i °Ci )]

(≥2i °®

2i )C 2

i

,

=°®2

i (≥i °Ci )(≥i +Ci )

(≥2i °®

2i )C 2

i

rrrCi ,

=°®2

i (≥2i °C 2

i )

(≥2i °®

2i )C 2

i

rrrCi . (6.7)

Equation (6.7) is derived as a function of rrrCi , which is referred to as the directional param-eter from here on. It provides the directional gradient information of the potential field andis derived for each constraint in the following sections.

6.1. The Global Potential Field and its GradientThe global attractive potential function is given by

¡=(

||±Æa °±Ær ||, if ||±Æa °±Ær ||∏ ¥12||±Æa°±Ær ||2

¥ + 12¥, otherwise

, (6.8)

where ¥ ∏ 1 and ¥ 2 R is an arbitrary small user defined number [12]. The motivation forthe two conditions and the definition of ¥ is shown in figure 6.3. The second condition inequation (6.8) is important such that the directional derivative of the global potential field(the vector field which determines the change of the applied reference ±Æa becomes zero

Page 34: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

22 6. Guidance Strategy - Reference Governor

Figure 6.3: Geometrical visualization of user defined parameter ¥. If the error of the applied reference to thedesired reference ¢±Æa = ±Æa °±Æref becomes smaller than ¥, the magnitude of the vector field of the globalpotential field tends to zero. For ¢±Æa ∏ ¥ the magnitude of the vector field is always unity. See equation(6.11).

for ±Æa = ±Ær. In the following a step-by-step derivation of the gradient of ¡ is shown. Forthe case of ||±Æa °±Ær || < ¥ the gradient is

rrr¡=rrr∑

12¥

(±aa °±ar )2 + (±exa °±exr )2 + (±ey a °±eyr )2 + (±ixa °±ixr )2 + (±i y a °±i yr )2¥

+ 12¥

,

= 1¥

(±aa °±ar )

√10000

!

+ (±exa °±exr )

√01000

!

+ (±ey a °±eyr )

√00100

!

+ (±ixa °±ixr )

√00010

!

+ (±i y a °±i yr )

√00001

!

,

= ±Æa °±Ær

¥. (6.9)

For the case of ||±Æa °±Ær ||∏ ¥ the gradient of the global potential field is derived as

rrr¡=rrr≥

(±aa °±ar )2 + (±exa °±exr )2 + (±ey a °±eyr )2 + (±ixa °±ixr )2 + (±i y a °±i yr )2¥0.5

=rrrp

W ,

= @¡

@±aa

√10000

!

+ @¡

@±exa

√01000

!

+ @¡

@±ey a

√00100

!

+ @¡

@±ixa

√00010

!

+ @¡

@±i y a

√00001

!

,

= 12

W °0.5 ·2(±aa °±ar )

√10000

!

+ 12

W °0.5 ·2(±exa °±exr )

√01000

!

+ 12

W °0.5 ·2(±ey a °±eyr )

√00100

!

,

+ 12

W °0.5 ·2(±ixa °±ixr )

√00010

!

+ 12

W °0.5 ·2(±i y a °±i yr )

√00001

!

,

= 1p

W

(±aa °±ar )

√10000

!

+ (±exa °±exr )

√01000

!

+ (±ey a °±eyr )

√00100

!

+ (±ixa °±ixr )

√00010

!

+ (±i y a °±i yr )

√00001

!

,

= ±Æa °±Ær

||±Æa °±Ær ||. (6.10)

Page 35: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

6.2. Lyapunov Threshold for the Time Constraint 23

Thus, the gradient can be given in a single equation by

rrr¡(±Æa ,±Ær ) = ±Æa °±Ær

max{||±Æa °±Ær ||,¥}, (6.11)

which is unitary if ||±Æa °±Ær ||∏ ¥ and tends to zero for ||±Æa °±Ær || < ¥.

6.2. Lyapunov Threshold for the Time ConstraintThe time constraint can be enforced without a potential field and only a Lyapunov thresh-old °thrust. The applied control thrust is proportional to the tracking error ¢±Æ (see thecontrol law in equation 4.1). Based on the current tracking error direction Ωe = ¢±Æ

|¢±Æ| , andassuming that this error direction is constant one can calculate the control input uc that isgoing to be applied by the controller per unit error in this direction

uc = kB

?P Ωek . (6.12)

The error into the current tracking error direction that is required in order to yield thedesired control acceleration ud can therefore be determined using equation (6.12) and isgiven by

k¢±Æreqk=ud

uc, (6.13)

which can easily be transferred into the Lyapunov form of equation 4.2 to yield the Lya-punov threshold for the maximum thrust constraint by

°time =12k¢±Æreqk2 ,

= 12

µ

ud

kB

?PΩek

∂2

. (6.14)

The inverse of the control input matrix B

? and the feedback gain matrix P are calculatedat the fuel-optimal mean arguments of latitude for in-plane reconfigurations ui p and forout-of-plane reconfigurations uoop .

6.3. Lyapunov Threshold for the Thrust ConstraintThe Lyapunov threshold for the thrust constraint is derived the same way as the Lyapunovthreshold for the time constraint (see equation (6.15)). The only difference that the desiredcontrol input is no longer a function of time, but a constant user defined value

°thrust =12

µ

Fdesired/ms/c

kB

?PΩek

∂2

, (6.15)

with ms/c being the spacecraft mass. It is important to note, that either the time or thethrust constraint can be applied at a time. It is not possible to enforce both the time andthe thrust constraint at the same time.

Page 36: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

24 6. Guidance Strategy - Reference Governor

6.4. Wall ConstraintA wall constraint is defined as one of the 5 ROE vector elements to be constrained to bealways larger or always smaller than a defined value d . The constrained ROE vector elementis defined by ci 2N5 with all elements being zero but one element which corresponds to theconstrained element is 1 (e.g. for constraining ±i y one has to define c = (0,0,0,0,1)T, thusc

T±Æ= ±i y ).

6.4.1. Lyapunov ThresholdThe margin of the constrained element of ±Æa is given by

Ci = |c Ti ±Æa °di | , (6.16)

where di is the boundary of the wall constraint (see equation 5.20). Now the error of theROE vector element should not become larger than this margin. But since the Lyapunovfunction V is of scalar nature one cannot determine into which direction the current track-ing error ¢±Æ is based just on the knowledge of V . Only information of the tracking errorsize is provided. Therefore, all components of the tracking error vector ¢±Æ contribute toeach defined constraint, even though if not all components are constrained. This makes allconstraints more restrictive. The Lyapunov threshold is found by rewriting the margin inthe Lyapunov function form V = 1

2 ·¢±Æ2. The result for wall constraints is given by

°i (±Æa) = 12

C 2i ,

°i (±Æa) = 12

(c

Ti ±Æa °di )2 . (6.17)

6.4.2. Gradient of the Potential FieldFor the wall constraint of form (5.20) ci±Æ∑ di the directional parameter rrrCi is calculatedas

rrrCi =rrr(di °c

Ti ±Æa) ,

=°c

Ti@±Æa

@±aa°c

Ti@±Æa

@±exa°c

Ti@±Æa

@±ey a°c

Ti@±Æa

@±ixa°c

Ti@±Æa

@±i y a,

=°c

Ti

10000

!

°c

Ti

01000

!

°c

Ti

00100

!

°c

Ti

00010

!

°c

Ti

00001

!

,

=°ci . (6.18)

Thus, the gradient of the potential field of form (6.7) for this constraint is

rrr¡i =°®2

i (≥2i °C 2

i )

(≥2i °®

2i )C 2

i

rrrCi ,

rrr¡i =®2

i (≥2i °C 2

i )

(≥2i °®

2i )C 2

i

ci . (6.19)

Page 37: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

6.5. Circular No-Entry-Zone Constraint 25

For the wall constraint of form (5.21) the directional parameter rrrCi is calculated as

rrrCi =rrr(°di +c

Ti ±Æa) ,

=+c

Ti@±Æa

@±aa+c

Ti@±Æa

@±exa+c

Ti@±Æa

@±ey a+c

Ti@±Æa

@±ixa+c

Ti@±Æa

@±i y a,

=+c

Ti

10000

!

+c

Ti

01000

!

+c

Ti

00100

!

+c

Ti

00010

!

+c

Ti

00001

!

,

=+ci . (6.20)

Thus, the gradient of the potential field of form (6.7) is given by

rrr¡i =°®2

i (≥2i °C 2

i )

(≥2i °®

2i )C 2

i

rrrCi ,

rrr¡i =°®2

i (≥2i °C 2

i )

(≥2i °®

2i )C 2

i

ci . (6.21)

The only difference to equation (6.19) is a change of sign.

6.5. Circular No-Entry-Zone ConstraintThe circular no-entry-zone constraint can be either applied on the eccentricity vector orthe inclination vector, or arbitrary combinations of two of their elements. It is not possibleto define such a constraint for ±a due to the necessity to accurately track ±aref in order tobe able to control relative mean longitude ±∏. Remember, the ROE vector elements to beconstrained are defined by Gi 2N2£5 with all elements being zero but two elements whichcorresponds to the constrained elements is 1 (e.g. for constraining ±e one has to define

G =µ

0 1 0 0 00 0 1 0 0

∂T

, (6.22)

such that G

T±Æ= ±e).

6.5.1. Lyapunov ThresholdThe margin of the constrained elements of ±Æa is given by

Ci = kG

Ti ±Æa °xik° ri , (6.23)

where xi and ri are the center and radius of the no-entry-zone respectively. In analogy toequation (6.17) the Lyapunov threshold for constraint 5.17 can be expressed by

°i =12

C 2i ,

°i =12

°

kG

Ti ±Æa °xik° ri

¢2. (6.24)

Page 38: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

26 6. Guidance Strategy - Reference Governor

6.5.2. Gradient of the Potential FieldThe directional parameter rrrCi is calculated as

rrrCi =rrr(kG

Ti ±Æa °xik° ri ) ,

=rrrh

£

(GT±Æ(1)°x(1))2 + (GT±Æ(2)°x(2))2§0.5 ° ri

i

, (6.25)

=rrrhp

W ° ri

i

,

= 1

2p

W

@W@±aa

@W@±exa

@W@±ey a

@W@±ixa

@W@±i y a

¥T,

the outer derivative of W is of

form 2(Gi±Æ°xi ) and the inner derivative is 1 if it is the partial derivative

of one of the constrained ROE vector elements. By multiplying

with Gi all partial derivates of the non constrained ROE vector elements

become zero, as mathematically correct,

=Gi ·2

°

G

Ti ±Æ°xi

¢

2p

W,

=Gi

°

G

Ti ±Æ°xi

¢

kGi±Æ°xik. (6.26)

Thus, the gradient of the potential field of form (6.7) is given by

rrr¡i =°®2

i (≥2i °C 2

i )

(≥2i °®

2i )C 2

i

rrrCi ,

rrr¡i =°®2

i (≥2i °C 2

i )

(≥2i °®

2i )C 2

i

Gi°

G

Ti ±Æ°xi

¢

kGi±Æ°xik. (6.27)

6.6. Passive Collision Avoidance Constraint6.6.1. Lyapunov ThresholdFor small integration time steps the tracking error direction ¢±Æ

|¢±Æ| can be assumed to beconstant. Based on the difference between the minimum distance in the rn-plane of theactual relative state and the defined minimum cross-track separation ±r min

r n (±Æ)° ri themaximum allowable tracking error ¢±Æmax can be determined by performing a first or-der Taylor expansion of equation 5.19 at the actual relative state ±Æ (see equations (A.9) -(A.12)). The maximum allowable separation is given by

¢±Æmax =¢±Æ

0

B

@

1°±r min

r n (±Æ)° rih

@±r minr n

@±ex

@±r minr n

@±ey

@±r minr n

@±ix

@±r minr n

@±i y

i

±Æ·¢±Æa

1

C

A

. (6.28)

The numerator is the current margin of the actual separation and the allowed minimumseparation. The denominator describes the unit change of ±r min

r n if the error is increasedinto the current tracking error direction (assumption of constant tracking error direction).Therefore the fractional expression of equation (6.28) expresses how much more the cur-rent tracking error is allowed to become larger. Due to the negative nature of this fraction

Page 39: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

6.6. Passive Collision Avoidance Constraint 27

the term given in brackets will be greater than 1 and the solution is the maximum error thatis allowed for the constraint to be satisfied.Note that for the passive collision avoidance constraint only tracking errors of the eccen-tricity vector ±e and the inclination vector ±i are of concern (for this constraint: ±Æ =[±e

T ±i

T]T). Furthermore, it is noteworthy that a tracking error not always results in asmaller minimum distance in the rn-plane. In fact, an increase of the tracking error in thecurrent tracking error direction can increase the minimum cross-track separation. There-fore, only if the change of ±r min

r n is negative based on the current tracking error, equation(6.28) is applicable. Thus, the Lyapunov constraint °r n is determined by

°r n =

8

<

:

12¢±Æ

Tmax¢±Æmax, for

h

@±r minr n

@±ex

@±r minr n

@±ey

@±r minr n

@±ix

@±r minr n

@±i y

i

±Æ·¢±Æa < 0

1, elsewhere. (6.29)

6.6.2. Potential FieldIn the presence of uncertainties of in the along-track separation ±∏ it is convenient toachieve passive collision avoidance by establishing a minimum separation in the rn-planeof the RTN frame. Such a minimum separation is geometrically represented by a circle withradius " in the rn-plane and mathematically formulated by constraint 5.19. Constraint 5.19can be reformulated by the following three expressions [10]

k±ek ∏ " , (6.30)

k±ik ∏ " , (6.31)

k±e ·±ik ∏ "p

±e2 +±i 2 °"2 . (6.32)

The argument of the passive collision avoidance constraint is chosen to be the inequalitywith the least margin to its boundary

Crn = min

8

>

>

<

>

>

:

k±ek°"k±ik°"k±e ·±ik°"

p±e2 +±i 2 °"2

. (6.33)

The idea is to negate the global potential field (for the eccentricity and the inclination vec-tor) if one of these constraints is approaching zero and to establish collision safety in thert-plane instead of having collision safety in the rn-plane (which is about to be violateddue to a reconfiguration). If collision safety is established in the rt-plane the reconfigu-ration can proceed. Collision safety in the rt-plane is provided by satisfying the followingconstraint [10]

|±∏|∏ 2 ·k±ek+" (6.34)

and is visualized in figure 6.4. Now, if the relative state has to be guided through an area thatviolates rn-plane safety, the global potential field has to be negated and the reference forthe along-track separation ±∏ has to be updated such that equation (6.34) is satisfied. Thepotential field for the rn-plane collision safety is constructed the same way as the potentialfield for the locally constrained state-space areas (equation (6.6)), including a safety margin

Page 40: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

28 6. Guidance Strategy - Reference Governor

Figure 6.4: Collision safety guaranteed in the rt-plane. Left: Safe along track separation for a given eccentric-ity vector. Right: Relative motion projected in the rt-plane[10].

®rn and an influence region ≥rn and is given by

¡rn =

8

<

:

°®2rn(≥rn°Crn)2

(≥2rn°®2

rn)Crn, if Crn ∑ ≥rn and |±∏| < 2 ·k±ek+"

0, otherwise. (6.35)

The gradient of ¡rn shall negate the gradient of the global potential field rrr¡ at the safetymargin which is given by

rrr¡rn =¡r n ·°

°rrr¡¢

. (6.36)

Note, that ¡rn has a magnitude of 1 at the safety margin. If collision safety has to be estab-lished in the rt-plane, the safe along-track separation ±∏safe is given by

±∏safe =(

2 ·k±ek+", if Crn ∑ ≥rn and |±∏| < 2 ·k±ek+" and ±∏> 0

°2 ·k±ek°", if Crn ∑ ≥rn and |±∏| < 2 ·k±ek+" and ±∏∑ 0, (6.37)

which distinguishes the two cases ±∏ > 0 and ±∏ ∑ 0. As soon as the constraint marginbecomes smaller than the influence region (Cr n ∑ ≥r n) the desired along-track separation±∏ref has to be redefined to

±∏ref = ±∏safe (6.38)

until passive collision safety is established again (Cr n > ≥r n).

Page 41: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

�Implementation

This section shows how the theory of the previous sections is implemented in MATLAB/simulink.The full model can be seen in figure 7.1. In the following sections each of the colored blocksis described, starting with the initialization of the simulink model.

7.1. InitializationThe simulink model is started using a matlab script in which all parameters for the simula-tion are set. The reference spacecraft orbit is defined in mean orbital elements and is thenconverted to osculating orbit elements. The relative spacecraft orbit is defined in meanROE and is then converted to classical orbit elements and finally to osculating orbit ele-ments. The desired reference is defined in mean ROEs.

1 %2 % I n i t Constrained Formation Flying Model3 %4 % Credit : This code i s generated using function of S3 programmed5 % by Duncan Eddy , Stanford University6

7

8 c lear a l l ;9 c l c

10 load ( ’ eop_data_final ’ )11 load ( ’ggm01s ’ )12

13 mass = 1 . 3 ; % kg14

15 d2r = pi /180; % degree to radian conversion16 %% center spacecraft mean orbit defintion17 a = 6892e3 ; % [m]18 e = 0.0001384;19 i = 97.4* d2r ;20 OMEGA = 266.1539* d2r ;21 omega = 89.1198* d2r ;22 M = 45.88* d2r ; % i n i t a l mean anomaly23

24 oec_mean = [ a e i OMEGA omega M] ;25 oec_osc = sff_mean2osc (oec_mean) ; %convert mean to osc26

27 %% r e l a t i v e spacecraft mean ROE d e f i n i t i o n in [m]28 o f f s e t = 0 ;29 ada = 0+ o f f s e t ;30 adlambda = 712;31 adex = 400;32 adey = 400;33 adix = 100;

29

Page 42: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

30 7. Implementation

Figure 7.1: Simulink Model including full dynamic propagation, pseudo measurement, Lyapunov controllerand a reference governor.

34 adiy = 500;35

36 roe = [ ada adlambda adex adey adix adiy ] ’ ;37 oed_mean = sff_roe2oe (oec_mean , roe ) ; % convert ROE to mean oe38 oed_osc = sff_mean2osc (oed_mean) ; % convert mean to osc39

40 % number of o r b i t s to estimate d r i f t of semi°major axis :41 dr i f t_est imation = 3 ;42 % number of o r b i t s for reconfiguration a f t e r estimation of semi°major axis43 % d r i f t44 o r b i t s = 35;45

46

47 sim_step = 20; % simulation time step s i z e in [ s ]48 sim_end = ( o r b i t s +3) *5650; % end time of simulation [ s ]49

50 %% reference ROE s t a t e d e f i n i t i o n in [m]51 ada = 0+ o f f s e t ;52 adlambda = 212;53 adex = 200;54 adey = 200;55 adix = 0 ;56 adiy = 200;57

58 roe_ref = [ ada adlambda adex adey adix adiy ] ’ ;59

60 %% define feeedback matrix parameters61 N = 14;62 nom = 500;63 % set ECI variance / noise64 position_variance = 10;65 velocity_variance = . 1 ;66 % set extended kalman f i l t e r67 P = 1* eye ( 6 ) ;

Page 43: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

7.2. Propagator 31

Figure 7.2: Propagation Block.

68 ProcessNoiseCovVec = .001* ones ( 6 , 1 ) ;69 MeasNoiseCovVec = 20*ones ( 6 , 1 ) ;70

71 % s t a r t simulink72 load_system ( ’ NetSat_model ’ ) ;73

74 set_param ( ’ NetSat_model ’ , ’ AlgebraicLoopSolver ’ , ’ LineSearch ’ ) ;75 set_param ( ’ NetSat_model ’ , ’SimulationCommand ’ , ’ S t a r t ’ ) ;

7.2. PropagatorThe propagator can be seen in figure 7.2. The main blocks satellite 1 and satellite 2 areprovided by the S3 toolbox. Included force models are perturbation effects caused by thirdbody moon, third body Sun, solar radiation pressure, aerodynamic drag, relativity, tides,empirical accelerations. The Earth’s gravity model is applied using Degree and Order of 120.The control inputs generated by the controller of the relative spacecraft can be included asempirical accelerations provided in the RTN frame.

7.2.1. Pseudo Measurement and State EstimationThe pseudo measurement block (figure 7.3) has four inputs; two spacecraft positions in theECI reference frame and three noise sources. Using S3 the osculating ECI positions are firstconverted to osculating classical orbit elements and then into mean orbit elements. Themean orbit elements are used to determine the ROE state. Gaussian Noise with a varianceof 10m is added to the true ROE state and an extended Kalman filter (figure 7.4) is usedto perform relative state estimation. Absolute state estimation is under development atthe University of Würzburg and will be implemented for a proper simulation of the NetSatmission. In this case the noise source will be added as noise in the Earth-centered Earth-fixed (ECEF) reference frame.

1 function [ mean_roe_updated , P_updated , new_time , z , y ] = fcn ( mean_oe_chief , u_RTN_dep , u_RTN_chief ,ProcessNoiseCovVec , MeasNoiseCovVec , Measurement , x_apriori , P_apriori , t , old_time )

2 coder . e x t r i n s i c ( ’ s3_meantoecc ’ ) ;3 coder . e x t r i n s i c ( ’ s3_ecctotrue ’ ) ;

Page 44: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

32 7. Implementation

Figure 7.3: Pseudo measurement of the relative state.

Figure 7.4: Relative State Estimation using an extended Kalman filter.

Page 45: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

7.2. Propagator 33

4 mean_roe_updated = zeros ( 6 , 1 ) ;5 z = zeros ( 6 , 1 ) ;6 y = zeros ( 6 , 1 ) ;7 P_updated = zeros ( 6 , 6 ) ;8 %simstep = 0 ;9 J2 = 1.08263e°3;

10 R_EARTH = 0.6378136300e7 ;11 MU_EARTH = 0.3986004415e15 ;12 new_time = t ;13 simstep = t ° old_time ;14

15 a = mean_oe_chief ( 1 ) ;16 e = mean_oe_chief ( 2 ) ;17 inc = mean_oe_chief ( 3 ) ;18 OMEGA = mean_oe_chief ( 4 ) ;19 omega = mean_oe_chief ( 5 ) ;20 M = mean_oe_chief ( 6 ) ;21 PHI = eye ( 6 ) ;22 Q2 = diag ( ProcessNoiseCovVec ) ; % Process Noise Covariance Matrix23 R = diag ( MeasNoiseCovVec ) ; % Measurement Noise Covariance Matrix24 i f t ==025 x_aprior i = Measurement ;26 end27 % s t a t e t r a n s i t i o n matrix PHI28 n = sqrt (MU_EARTH/a^3) ;29 eta = sqrt (1°e^2) ;30 gamma = 3/4* J2 * (R_EARTH) ^2* sqrt (MU_EARTH) ;31 E = 1+eta ;32 F = 4+3* eta ;33 G = 1/ eta ^2;34 P2 = 3* cos ( inc ) ^2°1;35 Q = 5* cos ( inc ) ^2°1;36 S = sin (2* inc ) ;37 T = sin ( inc ) ^2;38 kappa = gamma/a ^(7/2) / eta ^4;39 dot_omega = kappa*Q;40 omega_f = omega + dot_omega* simstep ;41

42 ey0 = e* sin (omega) ;43 ex0 = e* cos (omega) ;44 eyf = e* sin ( omega_f ) ;45 exf = e* cos ( omega_f ) ;46

47

48 PHI ( 2 , 1 ) = °7/2*kappa*E*P2* simstep°3/2*n* simstep ;49 PHI ( 3 , 1 ) = 7/2*kappa* eyf *Q*T ;50 PHI ( 4 , 1 ) = °7/2*kappa* exf *Q*T ;51 PHI ( 6 , 1 ) = 7/2*kappa*S* simstep ;52

53 PHI ( 2 , 3 ) = kappa* ex0 *F*G*P2* simstep ;54 PHI ( 3 , 3 ) = cos ( dot_omega* simstep )°4*kappa* ex0 * eyf *G*Q* simstep ;55 PHI ( 4 , 3 ) = sin ( dot_omega* simstep ) +4*kappa* ex0 * exf *G*Q* simstep ;56 PHI ( 6 , 3 ) = °4*kappa* ex0 *G*S* simstep ;57

58 PHI ( 2 , 4 ) = kappa* ey0 *F*G*P2* simstep ;59 PHI ( 3 , 4 ) = °sin ( dot_omega* simstep )°4*kappa* ey0 * eyf *G*Q* simstep ;60 PHI ( 4 , 4 ) = cos ( dot_omega* simstep ) +4*kappa* ey0 * exf *G*Q* simstep ;61 PHI ( 6 , 4 ) = °4*kappa* ey0 *G*S* simstep ;62

63 PHI ( 2 , 5 ) = °kappa*F*S* simstep ;64 PHI ( 3 , 5 ) = 5*kappa* eyf *S* simstep ;65 PHI ( 4 , 5 ) = °5*kappa* exf *S* simstep ;66 PHI ( 6 , 5 ) = 2*kappa*T* simstep ;67 % control input matrix68 E = s3_meantoecc (M, e ) ;69 f = 0 ;70 f = s3_ecctotrue (E , e ) ;71 theta = f +omega ;72 e_x = ( ex0+exf ) / 2 ;73 e_y = ( ey0+eyf ) / 2 ;

Page 46: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

34 7. Implementation

Figure 7.5: Feedback controller.

74 B = [ 2/ eta *e* sin ( f ) 2/ eta *(1+ e* cos ( f ) ) 0 ;75 °2*eta ^2/(1+e* cos ( f ) ) 0 0 ;76 eta * sin ( theta ) eta *((2+ e* cos ( f ) ) * cos ( theta ) + e_x ) /(1+e* cos ( f ) ) eta * e_y * sin ( theta ) / tan

( inc ) /(1+e* cos ( f ) ) ;77 °eta * cos ( theta ) eta *((2+ e* cos ( f ) ) * sin ( theta ) + e_y ) /(1+e* cos ( f ) ) °eta * e_x * sin ( theta ) /

tan ( inc ) /(1+e* cos ( f ) ) ;78 0 0 eta * cos ( theta ) /(1+e*

cos ( f ) ) ;79 0 0 eta * sin ( theta ) /(1+e*

cos ( f ) ) ] ;80 B = 1/n*B ; % add /a i f s t a t e i s given dimensionless ! !81

82 % Measurement S e n s i t i v i t y Matrix83 H = eye ( 6 ) ; % usually populated , here s t a t i c ° sensor model !84

85 %% time update86 x = zeros ( 6 , 1 ) ;87 x = PHI* x_aprior i + B* (u_RTN_dep°u_RTN_chief ) * simstep ;88 % State Error Covariance Matrix89 P = PHI* P_apriori *PHI’+Q2;90

91 % modeled observation92 z = H* x ;93 % new measurement a v a i l ab l e ? here only every 10 seconds assumed94 %i f mod( t , 1 0 ) <295 %% measurement update96 K = P*H’ / (H*P*H’+R) ;97 x = x+K* ( Measurement°z ) ;98 P_updated = ( eye ( 6 )°K*H) *P * ( eye ( 6 )°K*H) ’+K*R*K ’ ;99 %else

100 % P_updated = P ;101 %end102 % Kalman updated observation103 y = H* x ;104 mean_roe_updated = x ( : ) ;105 end

7.3. Feedback ControlThe Lyapunov feedback control of the reduced model can be seen in figure 7.5. The bluebox shows the calculation of the reduced state error. The yellow black has multiple sub-

Page 47: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

7.3. Feedback Control 35

functions to calculate the plant matrix A (equation (A.2)), the control input matrix B (equa-tion (A.8)) and the feedback gain matrix P (equation (4.4)). The controller block simply cal-culates the desired control inputs based on the control law given in equation (4.1) and itsC++ S-function code is given below.

1 // filename . cpp2 //3 //4 // Created by [ ] on [ ] .5 //6 //7

8 #include <iostream >9

10 #define S_FUNCTION_NAME fft_sfun_Lyapunov11 #define S_FUNCTION_LEVEL 212

13 #include " s3_vector . h"14 #include " s3_matrix . h"15 #include <cmath>16 #include " simstruc . h"17

18 #define PI 3.1415926535897932384619

20 s t a t i c void m d l I n i t i a l i z e S i z e s ( SimStruct *S )21 {22 ssSetNumSFcnParams ( S , 0) ;23 i f (ssGetNumSFcnParams( S ) ! = ssGetSFcnParamsCount ( S ) ) {24 return ; /* Parameter mismatch reported by the Simulink engine */25 }26

27 i f ( ! ssSetNumInputPorts ( S , 7) ) return ;28 ssSetInputPortDirectFeedThrough ( S , 0 , 1) ;29 ssSetInputPortDirectFeedThrough ( S , 1 , 1) ;30 ssSetInputPortDirectFeedThrough ( S , 2 , 1) ;31 ssSetInputPortDirectFeedThrough ( S , 3 , 1) ;32 ssSetInputPortDirectFeedThrough ( S , 4 , 1) ;33 ssSetInputPortDirectFeedThrough ( S , 5 , 1) ;34 ssSetInputPortDirectFeedThrough ( S , 6 , 1) ;35

36 i f ( ! ssSetInputPortMatrixDimensions ( S , 0 , 5 , 5 ) ) {37 return ; }38 ssSetInputPortVectorDimension ( S , 1 , 5 ) ;39 // ssSetInputPortMatrixDimensions ( S , 2 , 2 , 5 ) ;40 ssSetInputPortMatrixDimensions ( S , 2 , 2 , 5 ) ;41 ssSetInputPortVectorDimension ( S , 3 , 5 ) ;42 ssSetInputPortVectorDimension ( S , 4 , 6 ) ;43 ssSetInputPortMatrixDimensions ( S , 5 , 5 , 5 ) ;44 ssSetInputPortVectorDimension ( S , 6 , 5 ) ;45

46 i f ( ! ssSetNumOutputPorts ( S , 1 ) ) return ;47 // i f ( ! ssSetOutputPortMatrixDimensions ( S , 0 , 5 , 5 ) ) {48 // return ; }49 i f ( ! ssSetOutputPortVectorDimension ( S , 0 , 3 ) ) {50 return ; }51 // ssSetOutputPortVectorDimension ( S , 1 , 3) ;52 // ssSetOutputPortVectorDimension ( S , 2 , 1) ;53 // ssSetOutputPortVectorDimension ( S , 3 , 1) ;54

55 ssSetNumSampleTimes ( S , 1) ;56

57 /* Take care when specifying exception free code ° see sfuntmpl . doc */58 // sssSetOptions ( S , SS_OPTION_EXCEPTION_FREE_CODE) ;59 }60

61 s t a t i c void mdlInitializeSampleTimes ( SimStruct *S )62 {63 ssSetSampleTime ( S , 0 ,INHERITED_SAMPLE_TIME) ;64 ssSetOffsetTime ( S , 0 , 0 . 0 ) ;

Page 48: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

36 7. Implementation

65 }66

67 s t a t i c void mdlOutputs ( SimStruct *S , int_T t i d )68 {69 InputRealPtrsType Amatrix = ssGetInputPortRealSignalPtrs ( S , 0 ) ;70 InputRealPtrsType ROE= ssGetInputPortRealSignalPtrs ( S , 1 ) ;71 InputRealPtrsType BINV= ssGetInputPortRealSignalPtrs ( S , 2 ) ;72 InputRealPtrsType ERROR= ssGetInputPortRealSignalPtrs ( S , 3 ) ;73 InputRealPtrsType OE_CHIEF= ssGetInputPortRealSignalPtrs ( S , 4 ) ;74 InputRealPtrsType PFEED= ssGetInputPortRealSignalPtrs ( S , 5 ) ;75 InputRealPtrsType myDrag= ssGetInputPortRealSignalPtrs ( S , 5 ) ;76 // InputRealPtrsType xRTN = ssGetInputPortRealSignalPtrs ( S , 1 ) ;77 double * out_dep = ( double * ) ssGetOutputPortRealSignal ( S , 0 ) ;78 // double * out_chief = ( double * ) ssGetOutputPortRealSignal ( S , 1 ) ;79 // double * out2 = ( double * ) ssGetOutputPortRealSignal ( S , 2 ) ;80 // double * out3 = ( double * ) ssGetOutputPortRealSignal ( S , 3 ) ;81

82 // Vector R( 3 ) , T( 3 ) , N( 3 ) ;83 // Vector r ( 3 ) , v ( 3 ) , rtn ( 3 ) ;84 // Matrix R_RTN2ECI( 3 , 3) ;85

86 Vector roe ( 5 ) , error ( 5 ) , oe_chief ( 6 ) , drag ( 5 ) , u_2 ( 2 ) ; // , u_2 ( 2 ) ;87 Matrix Aplant ( 5 , 5 ) , Binv ( 2 , 5 ) , P( 5 , 5 ) ;88 // double e_pass , M_pass , w_pass , tol , E0 , E1 , f ;89

90

91 for ( i n t i =0; i <6; i ++) {92 oe_chief ( i ) = *OE_CHIEF[ i ] ;93 }94

95

96 for ( i n t i =0; i <5; i ++) {97 drag ( i ) = *myDrag[ i ] / oe_chief ( 0 ) ;98 roe ( i ) = *ROE[ i ] / oe_chief ( 0 ) ;99 error ( i ) = *ERROR[ i ] / oe_chief ( 0 ) ;

100 for ( i n t j =0; j <5; j ++) {101 Aplant ( i , j ) = * Amatrix [ i +5* j ] ;102 P( i , j ) = *PFEED[ i +5* j ] ;103 i f ( i <2) {104 Binv ( i , j ) = *BINV[ i +2* j ] ;105 }106 }107 }108

109

110 u_2 = °Binv * ( Aplant * roe+drag+P* error ) ;111

112 // Vector control_out ( 3 ) ;113 // control_out ( 0 ) = error ( 1 ) ;114 // ontrol_out ( 1 ) = error ( 2 ) ;115 // control_out ( 2 ) = 0 ;116 // Vector t e s t ( 3 ) ;117

118 out_dep [ 0 ] = 0 ;119 out_dep [ 1 ] = u_2 ( 0 ) ;120 out_dep [ 2 ] = u_2 ( 1 ) ;121

122 //out_dep [ 0 ] = 0 ;123 //out_dep [ 1 ] = u_2 ( 0 ) ;124 //out_dep [ 2 ] = u_2 ( 1 ) ;125 // out_chief [ 0 ] = 0 ;126 // out_chief [ 1 ] = °u_2 ( 0 ) / 2 ;127 // out_chief [ 2 ] = °u_2 ( 1 ) / 2 ;128 // out2 [ 0 ] = sqrt (pow( out_dep [ 0 ] , 2 ) +pow( out_dep [ 1 ] , 2 ) +pow( out_dep [ 2 ] , 2 ) ) ;129 // out3 [ 0 ] = out2 [ 0 ] / 1 . 3 ;130 /*131 for ( i n t i =0; i <5; i ++) {132 for ( i n t j =0; j <5; j ++) {133 out3 [ ColMajor ( i , j , 5 , 5 ) ] = Aplant ( i , j ) ;134 }

Page 49: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

7.3. Feedback Control 37

Figure 7.6: Reference Governor Simulink block.

135 }136 */137

138 }139

140 s t a t i c void mdlTerminate ( SimStruct *S ) { }141

142 # i f d e f MATLAB_MEX_FILE /* I s t h i s f i l e being compiled as a MEX° f i l e ? */143 #include " simulink . c" /* MEX° f i l e i n t e r f a c e mechanism */144 # else145 #include " cg_sfun . h" /* Code generation r e g i s t r a t i o n function */146 #endif

7.3.1. Reference GovernorThe reference governor (RG) can be seen in figure 7.6. It is programmed to enforce andsatisfy the discussed constraints. The RG is initialized with the initial reduced mean ROEstate. The RG calculates the rate and direction of change of the applied reference whichis then integrated. One can see at the top right of figure 7.6 how the integrated appliedreference is then forwarded to the output of this block. It is shown that the RG in fact onlyaffects four of the five states of the reduced model, which correspond to the eccentricityand the inclination vectors. The applied reference for the difference in the semi-major axisis calculated in the same RG Simulink block, but actually is the solution of equation (4.15)in order to control the along-track separation ±∏.

1 function [ da_des , da , reset , orbit_counted_new , counter_new , lambda_start , da_variation , u_ip , in_plane ,switched_new ] = fcn ( roe_mean , ref_des , oe , ref_app ,N,nom, orbit_counted , orbit_count , t , counter_old ,lambda_save , orbits , d r i f t _ e s t ,m, switched_old )

2 % i n i t i a l i z e var iables3 coder . e x t r i n s i c ( ’ s3_meantoecc ’ ) ;4 coder . e x t r i n s i c ( ’ s3_ecctotrue ’ ) ;5 da = zeros ( 5 , 1 ) ; % d e r i v a t i v e of applied reference6 counter_new = 0 ;7 switched_new = 0 ;8 dv_ip =0;9 u_ip =0;

10 in_plane = 1 ;

Page 50: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

38 7. Implementation

11 da_variation =0;12 P = zeros ( 5 , 5 ) ;13 counter_new = counter_old + 1 ;14 lambda_start = 0 ;15 da_des = 0 ;16 orbit_counted_new =1;17 re set = 0 ;18 % required constants19 GM_EARTH = 0.3986004415e15 ;20 % mean motion21 n = sqrt (GM_EARTH/oe ( 1 ) ^3) ;22

23

24 % reduced desired reference25 ref_des_red = [ ref_des ( 1 ) ; ref_des ( 3 ) ; ref_des ( 4 ) ; ref_des ( 5 ) ; ref_des ( 6 ) ] ;26 % reduced actual ROE mean s t a t e27 roe_red = [ roe_mean ( 1 ) ; roe_mean ( 3 ) ; roe_mean ( 4 ) ; roe_mean ( 5 ) ; roe_mean ( 6 ) ] ;28 % absolute error between desired reference and currently applied reference29 r e f _ e r r = ref_app°ref_des_red ;30 % actual error31 err_actual = roe_red°ref_des_red ;32

33 %% GLOBAL POTENTIAL34 % i f the dif ference between the applied and the desired reference i s35 % greater than eta=1 m the global potential direction i s unified .36 % i f i t i s smaller than 1 m i t tends to zero37 eta = 1 ; % see explanation above38

39

40 % equation 4641 i f norm( ref_app°ref_des_red ) >=eta42 pot = (°ref_des_red+ref_app ) /norm( ref_app°ref_des_red ) ;43 e lse44 pot = (°ref_des_red+ref_app ) / eta ;45 end46

47 %% passive c o l l i s i o n avoidance48 % define passive c o l l i s i o n s a f e t y distance to 80 m49 epsilon = 80; % [m]50 % passive c o l l i s i o n avoidance only a function of the e c c e n t r i c i t y and the51 % i n c l i n a t i o n vector52 de = [ roe_red ( 2 ) ; roe_red ( 3 ) ] ;53 di = [ roe_red ( 4 ) ; roe_red ( 5 ) ] ;54 % rn°plane separation , three condition to be s a t i s f i e d , equations 66 , 67 ,55 % 6856 c1 = max(norm( de )°epsilon , 0 ) ;57 c2 = max(norm( di )°epsilon , 0 ) ;58 c3 = max(norm( dot ( de , di ) )°epsilon * sqrt (norm( de ) ^2+norm( di )^2°epsilon ^2) , 0 ) ;59 % enforce most r e s t r i c t i v e margin . whichever one i s closer to s a f e t y60 % distancce61 c_rn = min ( [ c1 ; c2 ; c3 ] ) ;62 % define influence region : e f f e c t of t h i s potential f i e l d w i l l a f f e c t as63 % soon as the smallest enforced parameter from equations 66 ,67 ,68 becomes64 % <= epsilon + ceta_rn ( here 95 m) 165 ceta_rn = 15;66 % define the s a f e t y distance Upsilon . At Upsilon the repulsive potential67 % f i e l d w i l l be °1, and negate the global a t t r a c t i v e potential f i e l d . After68 % the movement of the applied reference i s stopped , f i r s t the along track69 % separation i s increased u n t i l c o l l i s i o n s a f e t y in the rt°plane i s70 % provided . Only i f that i s given , the applied reference moves further71 % towards the desired reference through the unsafe region in the rn°plane .72 % As soon as c o l l i s i o n s a f e t y in the rn°plane i s once again established ,73 % the along°track separation i s controlled back to the desired reference .74 Upsilon_rn = 10;75 % check whether in influence region , i f yes , c o l l i s i o n s a f e t y in rn°plane76 % i s not provided77 i f c_rn<ceta_rn78 % check whether c o l l i s i o n s a f e t y in the rt°plane i s not yet already79 % provided80 i f abs ( roe_mean ( 2 ) ) <= (2*norm( de ) +epsilon )

Page 51: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

7.3. Feedback Control 39

81 % c o l l i s i o n s a f e t y in rt°plane i s not provided . Now, check whether82 % the actual along°track separation i s negative or p o s i t i v e such83 % that the proper s a f e t y distance can be set for the temprary new84 % reference separation , equation 7385 i f roe_mean ( 2 ) <086 ref_des ( 2 ) = min([°2*norm( de )°epsilon ; lambda_save ; ref_des ( 2 ) ] ) ;87 e lse88 ref_des ( 2 ) = max( [ 2 *norm( de ) +epsilon ; lambda_save ; ref_des ( 2 ) ] ) ;89 end90 % safe t h i s distance to know i t during the next time step91 lambda_start = ref_des ( 2 ) ;92

93 % calculate the magnitude of the potential f i e l d ( the d i r e c t i o n a l94 % information i s given into the negative direction of95 % the a t t r a c t i v e the global potential f i e l d ) , equation 7196 magnitude_1 = °Upsilon_rn ^2*( ceta_rn°c_rn ) ^2/( ceta_rn^2°Upsilon_rn ^2) / c_rn ;97 % t h i s i s j u s t a s a f e t y check . By d e f i n i t i o n t h i s magnitude can98 % never become p o s i t i v e as long as equation 71 i s only applied for99 % inside the influence region . But i t s a numerical simulation , j u s t

100 % to be sure , since a p o s i t i v e value would have severe impacts on101 % guidance . Preclusio :102 i f magnitude_1 > 0103 magnitude_1 = 0 ;104 end105 % c a l u l a t e the actual error of the a c t i a l along°track separation to106 % the newly defined s a f e t y separation107 c_lam = roe_mean ( 2 )°ref_des ( 2 ) ;108 % i f the error i s smaller than 25 m proceed with de , di109 % reconfiguration , otherwise stop i t . The 25 m are defined because110 % the along°track separation i s only passively controlled by111 % leveraging Keplerian dynamics . The accuracy to control the112 % along°track separation i s about +° 8m113 i f abs ( c_lam ) > 25114 pot_rn = max( [ magnitude_1 ; °1]) * pot ;115 e lse116 pot_rn = zeros ( 5 , 1 ) ;117 end118 else119 pot_rn = zeros ( 5 , 1 ) ;120 i f roe_mean ( 2 ) <0121 ref_des ( 2 ) = min([°2*norm( de )°epsilon ; lambda_save ; ref_des ( 2 ) ] ) ;122 e lse123 ref_des ( 2 ) = max( [ 2 *norm( de ) +epsilon ; lambda_save ; ref_des ( 2 ) ] ) ;124 end125 lambda_start = ref_des ( 2 ) ;126 end127 else128 pot_rn = zeros ( 5 , 1 ) ;129 end130 % i f t h i s constraint i s not desired for a simulation , uncomment the next131 % l i n e :132 % pot_rn = i n f ;133

134

135 %% EXAMPLE CONSTRAINT 1 :136 % c i r c u l a r no°entry°zone constraint for the e c c e n t r i c i t y vector137 Upsilon = 15; % 15 m before the actual constrained area the potential138 % f i e l d increases s i g n i f i c a n t l y139 zeta = 100; % 100 m before the actual constrained area the potential140 % w i l l be added to the global potential141 r_1 = 40; % 40 m radius of no°entry°zone constraint142 x_1 = [ 0 ; 3 5 0 ] ;% center of constrained area143

144 G_1 = [0 0 0 1 0 ; 0 0 0 0 1 ] ’ ; % equation 6 , defining that the145 % i n c l i n a t i o n i s enforced146 C_1 = norm(G_1 ’ * ref_app°x_1 )°r_1 ; % equation 41 , constraint form 6147 i f C_1 < zeta148 % equation 48 , constraint form 6149 nu_1 = G_1 * ( G_1 ’ * ref_app°x_1 ) /norm( ( G_1 ’ * ref_app°x_1 ) ) ;150 % equation 43

Page 52: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

40 7. Implementation

151 pot_1 = °Upsilon ^2*( zeta^2°C_1^2)/(°Upsilon^2+zeta ^2) /C_1^2*nu_1 ;152 e lse153 pot_1 = zeros ( 5 , 1 ) ; % equation 43154 end155 Gamma_1 = 0 . 5 * (norm(G_1 ’ * ref_app°x_1 )°r_1 ) ^2; % equation 24156

157 % i f you dont want to use t h i s constraint , uncomment the next two l i n e s158 pot_1 = zeros ( 5 , 1 ) ;159 Gamma_1 = i n f ;160 %% EXAMPLE CONSTRAINT 2 :161 % wall constraint : dex >= 300 m.162 Upsilon = 6 ; % dex should stop at 310 m163 zeta = 10; % dex applied reference s t a r t s being164 % affected at dex = 300+50 = 350 m165

166 c_2 = [0 1 0 0 0 ] ’ ; % equation 9167 d_2ip = 294; % equation 9168 C_2 = °d_2ip+c_2 ’ * ref_app ; % equation 41 , constraint form 9169 nu_2 = c_2 ; % equation 48 , constraint form 9170 i f C_2 < zeta171 % equation 43172 pot_2 = °Upsilon ^2*( zeta^2°C_2^2)/(°Upsilon^2+zeta ^2) /C_2^2*nu_2 ;173 e lse174 pot_2 = zeros ( 5 , 1 ) ; % equation 43175 end176 % threshold for constraint i =2177 Gamma_2 = 0 . 5 * ( c_2 ’ * ref_app°d_2ip ) ^2; % equation 22178 % i f you dont want to use t h i s constraint , uncomment the next two l i n e s179 % pot_2 = zeros ( 5 , 1 ) ;180 % Gamma_2 = i n f ;181

182 %% Maximum Thrust Constraint :183 % maximum thrust i s here set to 12e°6N184

185 err = roe_red°ref_app ;186 error=err ;187 dv_ip = n* 0 . 5 * sqrt ( ( err_actual ( 2 ) ) ^2+( err_actual ( 3 ) ) ^2) ;188 e = oe ( 2 ) ;189 o r b i t s _ i p = norm( err_actual ( 2 : 3 ) ) /(2*(1°e ) *norm( err_actual ( 4 : 5 ) ) +norm( err_actual ( 2 : 3 ) ) ) * o r b i t s ;190 orbits_oop = 2*(1°e ) *norm( err_actual ( 4 : 5 ) ) /(2*(1°e ) *norm( err_actual ( 4 : 5 ) ) +norm( err_actual ( 2 : 3 ) ) ) * o r b i t s ;191 % time l e f t for reconfiguration192 o r b i t s _ l e f t _ i p = o r b i t s _ i p +orbits_oop+ d r i f t _ e s t °orbit_count ;193 orbits_ lef t_oop = orbits_oop+ d r i f t _ e s t °orbit_count ;194 i f orbits_lef t_oop < 1195 orbits_ lef t_oop = 1 ;196 end197 i f o r b i t s _ l e f t _ i p < 1198 o r b i t s _ l e f t _ i p = 1 ;199 end200

201

202 Int1 =1;203 for i = 1 : 1 :N/2°1204 Int1 = Int1 * (N°(2*( i °1)+1) ) /(N°2*( i °1) ) ;205 end206

207 Int = Int1 * pi ;208 T = 2* pi /n ;209

210

211 u_ip = dv_ip *2* pi /T/ Int / o r b i t s _ l e f t _ i p ;212 F_ip = u_ip *m;213

214

215 da_variation = Int1 * u_ip *oe ( 1 ) / 2 ;216 da_variation = dv_ip / o r b i t s _ l e f t _ i p /n ;217 da_max = da_variation / 2 ;218

219 dv_oop = n* sqrt ( ( err_actual ( 4 ) ) ^2+( err_actual ( 5 ) ) ^2) ;220 u_oop = dv_oop*2* pi /T/ Int / orbits_lef t_oop ;

Page 53: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

7.3. Feedback Control 41

221 F_oop = u_oop*m;222

223 % thrust constraint224 %225 u_ip = 20e°6;226 u_oop = 20e°6;227 orbits_ lef t_oop = 0 ;228 da_variation = u_ip *T/2/n* Int1 ;229 da_max = da_variation / 2 ;230 %}231 %{232 da_variation2 = dv_ip /n ;233 da_max2 = da_variation2 / 2 ;234

235 i f da_variation2 <da_variation236 da_variation = da_variation2 ;237 da_max=da_max2 ;238 end239 %}240

241 % optimal mean argument of la i tudes to apply thrust242 u_ip_opt = atan2(°error ( 3 ) ,°error ( 2 ) ) +pi ;243 u_oop_opt = atan2(°error ( 5 ) ,°error ( 4 ) ) ;244

245 a_pass = oe ( 1 ) ;246 e_pass = oe ( 2 ) ;247 i_pass = oe ( 3 ) ;248 omega_pass = oe ( 5 ) ;249 M_opt = u_ip_opt°omega_pass ;250 E_act_ip = s3_meantoecc (M_opt , e_pass ) ;251 E_act_oop = s3_meantoecc(°omega_pass+u_oop_opt , e_pass ) ;252 f = 0 ;253 f = s3_ecctotrue ( E_act_ip , e_pass ) ;254 eta_act = sqrt (1°e_pass ^2) ;255 theta_ip = f +omega_pass ;256 e_x = e_pass * cos ( omega_pass ) ;257 e_y = e_pass * sin ( omega_pass ) ;258

259 % control input matrix260 B = zeros ( 5 , 2 ) ;261 B( 1 , 1 ) = 2/ eta_act *(1+ e_pass * cos ( f ) ) ;262 B( 2 , 1 ) = eta_act *((2+ e_pass * cos ( f ) ) * cos ( theta_ip ) + e_x ) /(1+ e_pass * cos ( f ) ) ;263 B( 3 , 1 ) = eta_act *((2+ e_pass * cos ( f ) ) * sin ( theta_ip ) + e_y ) /(1+ e_pass * cos ( f ) ) ;264 B( 2 , 2 ) = eta_act * e_y * sin ( theta_ip ) / tan ( i_pass ) /(1+ e_pass * cos ( f ) ) ;265 B( 3 , 2 ) = °eta_act * e_x * sin ( theta_ip ) / tan ( i_pass ) /(1+ e_pass * cos ( f ) ) ;266 B( 4 , 2 ) = eta_act * cos ( theta_ip ) /(1+ e_pass * cos ( f ) ) ;267 B( 5 , 2 ) = eta_act * sin ( theta_ip ) /(1+ e_pass * cos ( f ) ) ;268

269 B = 1/a_pass /n*B ;270 Binv_ip = pinv (B) ;271

272 % equation 26273 d_2ip = u_ip ;%°norm( Binv_ip *A* ref_app /oe ( 1 ) ) ;274 f = s3_ecctotrue ( E_act_oop , e_pass ) ;275 theta = f +omega_pass ;276 B = zeros ( 5 , 2 ) ;277 B( 1 , 1 ) = 2/ eta_act *(1+ e_pass * cos ( f ) ) ;278 B( 2 , 1 ) = eta_act *((2+ e_pass * cos ( f ) ) * cos ( theta ) + e_x ) /(1+ e_pass * cos ( f ) ) ;279 B( 3 , 1 ) = eta_act *((2+ e_pass * cos ( f ) ) * sin ( theta ) + e_y ) /(1+ e_pass * cos ( f ) ) ;280 B( 2 , 2 ) = eta_act * e_y * sin ( theta ) / tan ( i_pass ) /(1+ e_pass * cos ( f ) ) ;281 B( 3 , 2 ) = °eta_act * e_x * sin ( theta ) / tan ( i_pass ) /(1+ e_pass * cos ( f ) ) ;282 B( 4 , 2 ) = eta_act * cos ( theta ) /(1+ e_pass * cos ( f ) ) ;283 B( 5 , 2 ) = eta_act * sin ( theta ) /(1+ e_pass * cos ( f ) ) ;284

285 B = 1/a_pass /n*B ;286 Binv_oop = pinv (B) ;287 d_2oop = u_oop ;%°norm( Binv_oop*A* ref_app /oe ( 1 ) ) ;288 P=zeros ( 5 , 5 ) ;289 i f error ( 1 ) >0290 i f cos ( theta_ip °(u_ip+pi ) ) >0

Page 54: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

42 7. Implementation

291 P( 1 , 1 ) = cos ( theta_ip°u_ip ) ^N;292 e lse293 P( 1 , 1 ) =0;294 end295 else296 i f cos ( theta_ip°u_ip ) >0297 P( 1 , 1 ) = cos ( theta_ip°u_ip ) ^N;298 e lse299 P( 1 , 1 ) =0;300 end301 end302 i f abs ( error ( 1 ) ) >20303 i f error ( 1 ) >0304 i f cos ( theta_ip °(u_ip+pi ) ) >0305 P( 2 , 2 ) = cos ( theta_ip°u_ip ) ^N;306 P( 3 , 3 ) = cos ( theta_ip°u_ip ) ^N;307 e lse308 P( 2 , 2 ) =0;309 P( 3 , 3 ) =0;310 end311 else312 i f cos ( theta_ip°u_ip ) >0313 P( 2 , 2 ) = cos ( theta_ip°u_ip ) ^N;314 P( 3 , 3 ) = cos ( theta_ip°u_ip ) ^N;315 e lse316 P( 2 , 2 ) =0;317 P( 3 , 3 ) =0;318 end319 end320 else321 P( 2 , 2 ) = cos ( theta°u_ip ) ^N;322 P( 3 , 3 ) = cos ( theta°u_ip ) ^N;323 end324

325 P( 4 , 4 ) = cos ( theta°u_oop) ^N;326 P( 5 , 5 ) = cos ( theta°u_oop) ^N;327

328

329

330 %P = eye ( 5 ) ;331 P=P/nom;332 % the following section divides the constraint for the maximum thrust into333 % the in°plane and the out°of°plane . This i s done because i t i s assumed334 % that thrusters are a v a i l a b l e in both the along°track direction and the335 % normal direction of the RTN frame . Therefore also equation 31 has to be336 % divided into those two regimes . I perform t h i s by s t i l l applying equation337 % 31 as given , but s e t t i n g the the elements of the feedback gain matrix to338 % zero that do not belong to the in°plane motion i f the threshold for the339 % thruster into the along°track direction i s calculated . The same i s done340 % with the error ( also for equation 31)341 Pin = P ;342 err_in = err ;343 err_in ( 1 ) =0;344 err_in ( 4 : 5 ) =0;345 err_out = err ;346 err_out ( 1 : 3 ) =0;347 Pout = P ;348 Pout ( 1 : 3 , 1 : 3 ) =0;349 Pin ( 4 : 5 , 4 : 5 ) = 0 ;350 % equatino 31351

352 Gamma_3ip = 0 . 5 * ( d_2ip /norm( Binv_ip * Pin * err_in /norm( err_in ) /oe ( 1 ) ) ) ^2;353 Gamma_3oop = 0 . 5 * ( d_2oop/norm( Binv_oop* Pout * err_out /norm( err_out ) /oe ( 1 ) ) ) ^2;354

355 u_ip_opt = atan2(°error ( 3 ) ,°error ( 2 ) ) ;356 M_opt = u_ip_opt°omega_pass ;357 E_act_ip = s3_meantoecc (M_opt , e_pass ) ;358 f = s3_ecctotrue ( E_act_ip , e_pass ) ;359 theta_ip = f +omega_pass ;360 B = zeros ( 5 , 2 ) ;

Page 55: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

7.3. Feedback Control 43

361 B( 1 , 1 ) = 2/ eta_act *(1+ e_pass * cos ( f ) ) ;362 B( 2 , 1 ) = eta_act *((2+ e_pass * cos ( f ) ) * cos ( theta_ip ) + e_x ) /(1+ e_pass * cos ( f ) ) ;363 B( 3 , 1 ) = eta_act *((2+ e_pass * cos ( f ) ) * sin ( theta_ip ) + e_y ) /(1+ e_pass * cos ( f ) ) ;364 B( 2 , 2 ) = eta_act * e_y * sin ( theta_ip ) / tan ( i_pass ) /(1+ e_pass * cos ( f ) ) ;365 B( 3 , 2 ) = °eta_act * e_x * sin ( theta_ip ) / tan ( i_pass ) /(1+ e_pass * cos ( f ) ) ;366 B( 4 , 2 ) = eta_act * cos ( theta_ip ) /(1+ e_pass * cos ( f ) ) ;367 B( 5 , 2 ) = eta_act * sin ( theta_ip ) /(1+ e_pass * cos ( f ) ) ;368 B = 1/a_pass /n*B ;369 Binv_ip = pinv (B) ;370 i f error ( 1 ) >0371 i f cos ( theta_ip °(u_ip+pi ) ) >0372 P( 1 , 1 ) = cos ( theta_ip°u_ip ) ^N;373 e lse374 P( 1 , 1 ) =0;375 end376 else377 i f cos ( theta_ip°u_ip ) >0378 P( 1 , 1 ) = cos ( theta_ip°u_ip ) ^N;379 e lse380 P( 1 , 1 ) =0;381 end382 end383 i f abs ( error ( 1 ) ) >20384 i f error ( 1 ) >0385 i f cos ( theta_ip °(u_ip+pi ) ) >0386 P( 2 , 2 ) = cos ( theta_ip°u_ip ) ^N;387 P( 3 , 3 ) = cos ( theta_ip°u_ip ) ^N;388 e lse389 P( 2 , 2 ) =0;390 P( 3 , 3 ) =0;391 end392 else393 i f cos ( theta_ip°u_ip ) >0394 P( 2 , 2 ) = cos ( theta_ip°u_ip ) ^N;395 P( 3 , 3 ) = cos ( theta_ip°u_ip ) ^N;396 e lse397 P( 2 , 2 ) =0;398 P( 3 , 3 ) =0;399 end400 end401 else402 P( 2 , 2 ) = cos ( theta°u_ip ) ^N;403 P( 3 , 3 ) = cos ( theta°u_ip ) ^N;404 end405

406 P( 4 , 4 ) = cos ( theta°u_oop) ^N;407 P( 5 , 5 ) = cos ( theta°u_oop) ^N;408 P=P/nom;409 Pin = P ;410 err_in = err ;411 err_in ( 1 ) =0;412 err_in ( 4 : 5 ) =0;413 err_out = err ;414 err_out ( 1 : 3 ) =0;415 Pout = P ;416 Pout ( 1 : 3 , 1 : 3 ) =0;417 Pin ( 4 : 5 , 4 : 5 ) = 0 ;418 %Gamma_3ip_new = 0 . 5 * ( d_2ip /norm( Binv_ip * Pin * err_in /norm( err_in ) /oe ( 1 ) ) ) ^2;419 %i f Gamma_3ip_new < Gamma_3ip420 % Gamma_3ip = Gamma_3ip_new ;421 %end422 %423 for f =0:2/ pi /20:2* pi424 theta = f +omega_pass ;425 e_x = e_pass * cos ( omega_pass ) ;426 e_y = e_pass * sin ( omega_pass ) ;427 B = [ 2/ eta_act *(1+ e_pass * cos ( f ) ) 0 ;428 eta_act *((2+ e_pass * cos ( f ) ) * cos ( theta ) + e_x ) /(1+ e_pass * cos ( f ) ) eta_act * e_y * sin ( theta ) / tan ( i_pass ) /(1+

e_pass * cos ( f ) ) ;

Page 56: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

44 7. Implementation

429 eta_act *((2+ e_pass * cos ( f ) ) * sin ( theta ) + e_y ) /(1+ e_pass * cos ( f ) ) °eta_act * e_x * sin ( theta ) / tan ( i_pass )/(1+ e_pass * cos ( f ) ) ;

430 0 eta_act * cos ( theta ) /(1+ e_pass * cos ( f ) ) ;431 0 eta_act * sin ( theta ) /(1+ e_pass * cos ( f ) ) ] ;432 B = 1/a_pass /n*B ;433 Binv = pinv (B) ;434 i f error ( 1 ) >0435 i f cos ( theta°(u_ip+pi ) ) >0436 P( 1 , 1 ) = cos ( theta°u_ip ) ^N;437 e lse438 P( 1 , 1 ) =0;439 end440 else441 i f cos ( theta°u_ip ) >0442 P( 1 , 1 ) = cos ( theta°u_ip ) ^N;443 e lse444 P( 1 , 1 ) =0;445 end446 end447 i f abs ( error ( 1 ) ) >20448 i f error ( 1 ) >0449 i f cos ( theta°(u_ip+pi ) ) >0450 P( 2 , 2 ) = cos ( theta°u_ip ) ^N;451 P( 3 , 3 ) = cos ( theta°u_ip ) ^N;452 e lse453 P( 2 , 2 ) =0;454 P( 3 , 3 ) =0;455 end456 else457 i f cos ( theta°u_ip ) >0458 P( 2 , 2 ) = cos ( theta°u_ip ) ^N;459 P( 3 , 3 ) = cos ( theta°u_ip ) ^N;460 e lse461 P( 2 , 2 ) =0;462 P( 3 , 3 ) =0;463 end464 end465 else466 P( 2 , 2 ) = cos ( theta°u_ip ) ^N;467 P( 3 , 3 ) = cos ( theta°u_ip ) ^N;468 end469 P( 4 , 4 ) = cos ( theta°u_oop) ^N;470 P( 5 , 5 ) = cos ( theta°u_oop) ^N;471 P=P/nom;472 Pin = P ;473 Pout = P ;474 Pout ( 1 : 3 , 1 : 3 ) =0;475 Pin ( 4 : 5 , 4 : 5 ) = 0 ;476 Gamma_3ip_new = 0 . 5 * ( d_2ip /norm( Binv_ip * Pin * err_in /norm( err_in ) /oe ( 1 ) ) ) ^2;477 Gamma_3oop_new = 0 . 5 * ( d_2oop/norm( Binv_oop* Pout * err_out /norm( err_out ) /oe ( 1 ) ) ) ^2;478 i f Gamma_3ip_new < Gamma_3ip479 Gamma_3ip = Gamma_3ip_new ;480 end481 i f Gamma_3oop_new < Gamma_3oop482 Gamma_3oop = Gamma_3oop_new;483 end484 end485

486 %Gamma_3ip = i n f ;487 %Gamma_3oop = i n f ;488

489

490 %}491 %% CONTROL dot ( delta lambda)492 % [ t h i s part does not e x p l i c i t l y belong to the Reference Governor ]493 % error in delta lambda494 Dl = roe_mean ( 2 )°ref_des ( 2 ) ;495 % construct reduced actual and desired ROE s t a t e without delta lambda496 kappa2 = 20000; % pseudo time497 i f norm( err_actual ) < 20

Page 57: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

7.3. Feedback Control 45

498 kappa2 = 4000;499 end500 ddl_max = da_max*3/2*n ; % maximum allowed dot ( delta lambda) equation 15501

502 i f Dl > 0503 ddl = °min( abs ( Dl ) /kappa2 , ddl_max ) ; % equation 17504 else505 ddl = min( abs ( Dl ) /kappa2 , ddl_max ) ; % equation 17506 end507

508 da_des = °2*ddl /3/n ; % equation 16 solved for delta a509

510

511 %% threshold 4512 Upsilon = 6 ; % diy should stop at 310 m513 zeta = 10; % diy applied reference s t a r t s being514 % affected at dix = 300+20 = 320 m515

516 c_4 = [0 0 0 0 1 ] ’ ; % equation 9517 d_4 = 394; % equation 9518 C_4 = °d_4+c_4 ’ * ref_app ; % equation 41 , constraint form 9519 nu_4 = c_4 ; % equation 48 , constraint form 9520 i f C_4 < zeta521 % equation 43522 pot_4 = °Upsilon ^2*( zeta^2°C_4^2)/(°Upsilon^2+zeta ^2) /C_4^2*nu_4 ;523 e lse524 pot_4 = zeros ( 5 , 1 ) ; % equation 43525 end526 % threshold for constraint i =2527 Gamma_4 = 0 . 5 * ( c_4 ’ * ref_app°d_4 ) ^2; % equation 22528 % Gamma_4 = i n f ;529 %% vector f i e l d530 rho = °pot°pot_2°pot_4 ;%°pot_rn;%°pot_2°pot_4 % equation 51531 %% Lyapunov value532 error_inplane = err ( 1 : 3 ) ;533 error_crossplane = err ( 4 : 5 ) ;534 V_inplane = 0 . 5 * ( error_inplane ’ * error_inplane ) ;535 V_crosstrack = 0 . 5 * ( error_crossplane ’ * error_crossplane ) ;536

537 kappa = .01* eye ( 5 ) ; % a r b i t r a r y p o s i t i v e s c a l a r538

539 i f t ==0540 Gamma_3ip = i n f ;541 Gamma_3oop = i n f ;542 end543 %% in plane reference : Lyapunov threshold544 % check whether constraint i =2 i s a f f e c t i n g the in°plane motion545 i f norm( [ 0 1 1 0 0 ] * c_2 )546 Gamma_2ip = Gamma_2;547 e lse548 Gamma_2ip = i n f ;549 end550 % check whether constraint i =1 i s a f f e c t i n g the in°plane motion551 %{552 i f norm( [ 0 1 1 0 0 ; 0 1 1 0 0] *G_1)553 Gamma_1ip = Gamma_1;554 e lse555 Gamma_1ip = i n f ;556 end557 %}558 % check whether constraint i =4 i s a f f e c t i n g the in°plane motion559 i f norm( [ 0 1 1 0 0 ] * c_4 )560 Gamma_4ip = Gamma_4;561 e lse562 Gamma_4ip = i n f ;563 end564

565 Gamma = min ( [ Gamma_2ip ; Gamma_3ip ; Gamma_4ip ] ) ; % equation 51566

567 para1 = max(Gamma°V_inplane , 0 ) ; % check how close the r e l a t i v e s t a t e

Page 58: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

46 7. Implementation

568 i f para1== i n f % i s to a constraint569 para1 =1;570 end571 i f norm( r e f _ e r r ( 2 : 3 ) ) >0.1572 da = kappa* para1 * rho ; % equation 20573 da ( 4 : 5 ) =0;574 e lse575 da = zeros ( 5 , 1 ) ;576 end577 switched = switched_old ;578 i f (norm( err_actual ( 4 : 5 ) ) > 4 | | ( ( orbit_count°orbits_lef t_oop ) <0) ) && switched % 314=4 before579 da = zeros ( 5 , 1 ) ;580 in_plane = 0 ;581 switched_new = 1 ;582 end583

584 da_save = da ( 1 : 3 ) ;585 %% out of plane reference586 % check whether constraint i =2 i s a f f e c t i n g the out°of°plane motion587 i f ( [ 0 0 0 1 1] * c_2 )588 Gamma_2oop = Gamma_2;589 e lse590 Gamma_2oop = i n f ;591 end592 % check whether constraint i =1 i s a f f e c t i n g the out°of°plane motion593 %{594 i f norm( [ 0 0 0 1 1 ; 0 0 0 1 1] *G_1)595 Gamma_1oop = Gamma_1;596 e lse597 Gamma_1oop = i n f ;598 end599 %}600 % check whether constraint i =4 i s a f f e c t i n g the in°plane motion601 i f norm( [ 0 0 0 1 1 ] * c_4 )602 Gamma_4oop = Gamma_4;603 e lse604 Gamma_4oop = i n f ;605 end606

607 Gamma = min ( [Gamma_2oop;Gamma_3oop;Gamma_4oop] ) ; % equation 51608 Gamma_out = Gamma_4oop;609 %Gamma = Gamma_3oop;610 Gamma_oop = Gamma;611 para1 = max(Gamma°V_crosstrack , 0 ) ; % check how close the r e l a t i v e s t a t e612 % i s to a constraint613 i f para1== i n f614 para1 =1;615 end616 i f norm( r e f _ e r r ( 4 : 5 ) ) >0.1617 da = kappa* para1 * rho ; % equation 20618 da ( 1 : 3 ) =0;619 e lse620 da = zeros ( 5 , 1 ) ;621 end622 da ( 1 : 3 ) = da_save ;623 % re set the reference governor once per orbit in order to take account of624 % orbit perturbations . otherwise the r e a l t i v e s t a t e would always have to625 % follow a t r a j e c t o r y that i s determined by the i n i t i a l position . By626 % r e s e t t i n g the reference governor t h i s i s avoided .627 i f ~ r eset628 i f mod( orbit_count , 1 ) <=.1 && ~orbit_counted629 re set = 1 ;630 end631 i f mod( orbit_count , 1 ) >.1632 orbit_counted_new =0;633 e lse634 orbit_counted_new =1;635 end636 end637 i f counter_new == 100

Page 59: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

7.4. Thruster Block 47

Figure 7.7: Thruster Model.

638 re set = 1 ;639 end640

641 end

7.4. Thruster BlockThe thruster block consists of two parts. The task distribution and the remaining fuel cal-culation (see figure 7.7). The task distribution makes sure that only thrusts are appliedwhich are greater than 0.24µN, which corresponds to the smallest thrust level that can beperformed by the nanoFEEP [3] thruster system. The remaining fuel calculation uses thenanoFEEP thruster characteristics to calculate how much fuel mass is required for a desiredthrust level as a function of the corresponding specific impulse.

Page 60: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 61: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

8Examples

8.1. Thrust Constraint and OptimalityThis example shows a reconfiguration from an initial state-space configuration to a desiredone with only the thrust constraint being imposed on the relative state. The thrust is re-stricted to peak at 26µN. The initial configuration ac±Æ0 and the desired configurationac±Æref are given as

ac±Æ0 =

0

B

B

B

B

B

B

B

@

ac±aac±∏ac±ex

ac±ey

ac±ix

ac±i y

1

C

C

C

C

C

C

C

A

0

=

0

B

B

B

B

B

B

B

@

071240040020

500

1

C

C

C

C

C

C

C

A

[m] , ac±Æref =

0

B

B

B

B

B

B

B

@

ac±aac±∏ac±ex

ac±ey

ac±ix

ac±i y

1

C

C

C

C

C

C

C

A

ref

=

0

B

B

B

B

B

B

B

@

0212200200

0200

1

C

C

C

C

C

C

C

A

[m] . (8.1)

The initial configuration is indicated in figure 8.6 as circles and the desired configuration ismarked by black crosses. The initial chief’s classical orbit parameters are given as a near-circular low Earth regressive polar orbit as

Æc,0 =

0

B

B

B

B

B

B

B

@

ac

ec

ic

≠c

!c

Mc

1

C

C

C

C

C

C

C

A

0

=

0

B

B

B

B

B

B

B

@

6892 [km]0.000138497.400000±

266.153900±

89.119800±

45.880000±

1

C

C

C

C

C

C

C

A

. (8.2)

49

Page 62: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

50 8. Examples

The delta-v lower bound are derived with equations (5.7) and (5.8) from ¢±e and ¢±i as

¢vl b = ac n

¥·µk¢±ek

2+ (1°ec )k¢±ik

(8.3)

= n

¥·µkac¢±ek

2+ (1°ec )kac¢±ik

(8.4)

=

q

µ/a3c

q

1°e2c

µ

12

q

(ac¢±ex)2 + (ac¢±ey )2 +q

(ac¢±ix)2 + (ac¢±i y )2

(8.5)

= 0.0011 [s°1]p

1°0.00013842

µ

12

p

(200[m])2 + (200[m])2 +p

(20[m])2 + (300[m])2

(8.6)

= 0.4878hm

s

i

, (8.7)

with µ = 3.986 ·1014h

m3

s2

i

. Figure 8.2 shows the actual fuel consumption of the reconfigu-ration, which is given by ¢v = 0.5070 [m/s]. This fuel consumption corresponds to a 3.9%higher fuel consumption than the optimal delta-v lower bound¢vl b . It is important to notethat the lower bound was calculated without accounting for relative orbit perturbations.Therefore the achieved reconfiguration in a simulation environment that includes all orbitperturbations provided by S3 with the actual required delta-v of 0.5070 [m/s] is a very goodresult. Furthermore, figure 8.2 indicates the that both spacecraft require the same amountof delta-v which results in an equal fuel consumption. The deputy spacecraft requires 2.2%more delta-v than the chief spacecraft.The thruster levels can be seen in figure 8.3. The red dashed line indicates the desired thrustpeak level of 26µN. One can see that the constraint is satisfied with minor and acceptableviolations for the normal thrust applied by the deputy spacecraft at orbits 23 and 24. It isnoticeable that the thrust level drops just before the out-of-plane reconfiguration finishes(orbit 19) and at the end of the in-plane reconfiguration as well (orbit 30). This is due to thesmall remaining errors, remember that the thrust level is proportional to the tracking error¢±Æa (see section 6.2). Figure 8.5 provides a closer view to the thrust inputs shown in figure8.3. The cos N (u) is recognizable and also the peak of the control inputs at the desired peaklevel. For this simulation N = 14 was chosen.Figure 8.4 shows the mean quasi-nonsingular ROE error. This figure shows how first theout-of-plane variables ±ix and ±i y are controlled into the desired configuration, while theeccentricity vector rotates due to the differential Earth’s oblateness effect. The inclinationvector is controlled to a stable configuration with ±ix = 0 such that once the desired con-figuration is achieved it will remain stable. Furthermore, one can see how the along-trackseparation ±∏ is successfully controlled by leveraging Keplerian dynamics to the desiredreference. The overshoot of 17.1m of ¢±∏ corresponds to 3.4%.The whole reconfiguration can be seen in figure 8.6. The yellow line corresponds to thepath of the inclination vector, the red line top the taken path of the eccentricity vector andthe blue line corresponds to the path of the differential semi-major axis and the along-track separation. One can see how the inclination vector is reconfigured on a straight pathbetween desired and initial configuration. This behavior is desired as the length of thepath taken in that graphical representation is proportional to the required delta-v . Duringthe initial period at which the inclination is controlled one can see how the eccentricity

Page 63: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

8.1. Thrust Constraint and Optimality 51

Figure 8.1: Relative position of the deputy spacecraftwith respect to the chief spacecraft shown in theRTN frame.

Figure 8.2: Delta-v consumption of deputy and chiefspacecraft given in [mm/s]

Figure 8.3: Thrust output levels and desired thrustlevel.

Figure 8.4: Mean quasi-nonsingular relative orbit el-ment error given in [m].

vector rotates freely clockwise from (400[m], 400[m]) to (429[m], 368[m]). After orbit 20(see figure 8.4 to compare) the out-of-plane has finished and the in-plane reconfigurationstarts. It can be seen how the eccentricity vector is now controlled on a straight path tothe desired reference. It is noticeable that this path experiences small perturbations. Onecan see how the the along-track separation (horizontal drift of the blue line) is passivelycontrolled by controlling the difference of the semi-major axes ±a (vertical drift of the blueline).

Page 64: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

52 8. Examples

Figure 8.5: Display of the cos N (u) shape of the control inputs. Here the control inputs into the normaldirection of the RTN frame of the deputy (red) and the chief (purple) are shown.

Figure 8.6: Relative orbit element state-space. Three two-dimensional vectors (inclination vector(yellow),eccentricity vector (red), [±∏, ±a]-vector (yellow)) are shown and together describe the complete six-dimensional state.

Page 65: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

8.2. Reconfiguration with Wall Constraints 53

8.2. Reconfiguration with Wall ConstraintsThis example investigates the reconfiguration under imposed wall constraints on both ±ex

and ±i y . The absolute orbit parameters of the chief spacecraft, the initial and the desiredrelative configuration are the same as in example 8.1. The x-component of the eccentricityvector is constrained to be always larger than 300m. This constraint is formulated by

c

T1 ac±Æ∏ d1 , (8.8)

0

B

B

B

B

B

@

01000

1

C

C

C

C

C

A

T

ac±Æ∏ 300m . (8.9)

The y-component of the inclination vector is constrained to be always larger than 400m,which is formulated by

c

T2 ac±Æ∏ d2 , (8.10)

0

B

B

B

B

B

@

00001

1

C

C

C

C

C

A

T

ac±Æ∏ 400m . (8.11)

Figure 8.7 shows the reconfiguration in ROE state-space. One can see how the both the in-clination vector (yellow line) and the eccentricity vector (red line) first are directed straightinto the direction of the reference. A rotation of the eccentricity vector is noticeable inthe beginning - clockwise drift of red line at initial position. This is due to the differentialEarth’s oblateness perturbation and due to the fact that first the inclination vector is con-trolled while the eccentricity vector remains uncontrolled during that time period. Pleasenote, that this restriction (only tangential or normal thrust) is derived from the mission de-sign of NetSat. NetSat is designed to provide only uni-directional thrust. The controller iscapable of controlling both the eccentricity and inclination vectors simultaneously. Veryclose to the defined wall constraints both vectors start deflecting and one could argue thatthis deflection should take place well before the boundary. This can easily be achieved bydefining a larger influence zone ≥i . For this simulation ≥= 4m was chosen. Usually a largerinfluence region of ≥ = 100m is chosen to get a better and more fuel-efficient approach tothe constraint boundary. But the intention of this example is to show how the vectors driftalong the constraint boundaries while minimizing the error to the desired reference.

Page 66: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

54 8. Examples

Figure 8.7: Reconfiguration shown in ROE state-space with two wall constraints.

Page 67: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

8.3. Formation Maintenance (TAFF) 55

Table 8.1: Continuous Low-Thrust formation keeping compared to flight results of TanDEM-X AutonomousFormation Flying experiment.

Relative control error delta-v/orbitExperiment/Simulation [m] (RMS/max) [mm/s]

TAFF R: 1.3/3.7 T:3.5/13.4 0.870Low-thrust using true state R: 1.2/2.0 T:3.8/6.8 0.865

Low-thrust using estimated state 1.2/2.9 T:4.3/13.5 0.943

8.3. Formation Maintenance (TAFF)This example shows the formation keeping capabilities of the stabilizing control utilizingthe feedback gain matrix showed in equation 4.4. The TanDEM-X Autonomous FormationFlying (TAFF) [1] experiment is simulated using the full perturbation model provided by S3

and fine integration steps of 0.5s. The experiment is to maintain a phasing orbit with thefollowing desired reference given in meters:

a±Æ0,r =

0

B

B

B

B

B

B

B

@

0°123

68387

0°449

1

C

C

C

C

C

C

C

A

[m] (8.12)

Continuous formation maintenance performance is highly dependent on accurate stateestimation since estimation errors are of the same order of magnitude as tracking errors.Therefore, in order to reflect the performance of the designed controller two simulationsare performed based on the true and the estimated state.

The TAFF experiment only maintained the in-plane motion of the formation in order tokeep a single configuration of the spacecraft. For that reason, in this simulation the thrustin cross-track direction is set to zero to obtain comparable results. TAFF’s formation main-tenance experiment with the highest accuracy is used as a comparison here. Control wasapplied twice each three orbits. For the Synthethic Aperture Radar experiments it is im-portant that no thrust is applied during the experiments. Thus, this comparison is onlyused to validate the formation capabilities and the delta-v consumption of the continuouslow-thrust control strategy.

Figures 8.8 to 8.11 show the formation keeping performance using the the estimated rela-tive state as input for the controller. One can see that the eccentricity vector has a constantoffset and all other all orbit elements have a zero mean error offset. The thrust stays withinits boundaries F ∑ 80µN and is equally distributed between both spacecraft (see delta-vconsumption). Thrust inputs to re-orient the eccentricity vector are separated by half aorbit periods as given by the intelligent feedback gain matrix.

Page 68: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

56 8. Examples

Figure 8.8: Relative position of the deputy spacecraftwith respect to the chief spacecraft shown in theRTN frame.

Figure 8.9: Delta-v consumption of deputy and chiefspacecraft given in [mm/s]

Figure 8.10: Thrust output levels and desired thrustlevel.

Figure 8.11: Mean quasi-nonsingular relative orbit el-ement error given in [m].

8.4. Time ConstraintIn this example a reconfiguration is performed with an imposed time constraint of 35 orbitsreconfiguration time. The initial and final relative states are given by

ac±Æ0 =

0

B

B

B

B

B

B

B

@

ac±aac±∏ac±ex

ac±ey

ac±ix

ac±i y

1

C

C

C

C

C

C

C

A

0

=

0

B

B

B

B

B

B

B

@

0612400400100500

1

C

C

C

C

C

C

C

A

[m] , ac±Æref =

0

B

B

B

B

B

B

B

@

ac±aac±∏ac±ex

ac±ey

ac±ix

ac±i y

1

C

C

C

C

C

C

C

A

ref

=

0

B

B

B

B

B

B

B

@

0212200200

0200

1

C

C

C

C

C

C

C

A

[m] . (8.13)

Figure 8.12 shows the relative orbit element error over time. During the first orbit periodno control inputs are applied in order to estimate the semi-major axis drift due to atmo-spheric drift. Therefore the reconfiguration has to be finished after 36 instead of 35 orbits.Equations (5.9) and (5.10) are online to calculate number of orbits required for the in-plane

Page 69: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

8.4. Time Constraint 57

Figure 8.12: Relative orbit element errors shown over time. The left black dashed line indicates the start of theout-of-plane reconfiguration. The right black dashed line indicates the start of the in-plane reconfiguration.The red dashed line is located at 36 orbits and represents the time constraint.

and the out-of-plane reconfiguration so to yield the same thrust level that has to be appliedinto the tangential and normal direction, respectively, as shown by

#orbitsi p = k¢±ek2(1°ec )k¢±ik+k¢±ek ·#orbits ,

=p

(200[m])2 + (200[m])2

2(1°0.00013)p

(100[m])2 + (300[m])2 +p

(200[m])2 + (200[m])2·35 ,

º 11 ,

#orbitsoop = 2(1°ec )k¢±ik2(1°ec )k¢±ik+k¢±ek ·#orbits ,

= 2(1°0.00013)p

(100[m])2 + (300[m])2

2(1°0.00013)p

(100[m])2 + (300[m])2 +p

(200[m])2 + (200[m])2·35 ,

º 24 .

The actual thrust levels can be seen in figure 8.13. The thrust levels for the in-plane re-configuration (blue and yellow lines) are of the same magnitude as the thrust levels for theout-of-plane reconfiguration (red and purple lines). There are three thrust peaks noticablenear the end of the in-plane reconfiguration. This behavior occured when the along-trackseparation error ±∏ is controlled to zero and the applied reference for the differnce in thesemi-major axis ±aa changes too quickly. Further tuning of the ø parameter in equation(4.11) is required. A larger øwould prevent the thrust peaks, but on the other hand it wouldtake longer until ¢±∏ is controlled to zero. Overall, figure 8.12 shows that the reconfigura-

Page 70: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

58 8. Examples

Figure 8.13: Thrust levels of a time constraint reconfiguration.

tion in fact is performed in 35 orbits. This figure is also suitable to see the effect of differen-tial J2 onto the relative state as seen in the ROE state-space. The most significant effect ofthe differential J2 perturbation is the rotation of the eccentricity vector which is representedby the yellow and purple lines. During the first period in which the out-of-plane reconfigu-ration takes place (between the two black dashed lines) one can see how the x-componentof the eccentricity vector increases while the y-component decreases (rotation). As soonas the in-plane reconfiguration starts the eccentricity vector is controlled to the desiredreference.

Page 71: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

�Conclusion and Way Forward

This thesis enables satellite-formation flying for satellites equipped with continuous low-thrust propulsion systems. The proposed control and guidance strategy are entirely au-tonomous and impose only minor demands on the attitude control system. Thrust is onlyapplied into the tangential and normal direction of the co-rotating orbital frame. Thus,no thrust profiles have to be followed by the attitude control system. Furthermore, ana-lytic solutions for the calculation of fuel-optimal thrust locations allow to run the code on-line. A simulation environment in MATLAB/Simulink is provided with example code anda Simulink library for formation-flying which augments the high-fidelity S3 propagator de-veloped by Duncan Eddy at Stanford University. It has been shown that the continuouscontrol strategy performs near-optimal as compared to the fuel-optimal impulsive solu-tion with an increase in fuel consumption of about 4%. The discussed constraints can beenforced using the proposed reference governor.

Next steps include the extension of this work to swarms of satellites. Problems will arisefor the fuel balancing of all spacecraft involved in the swarm. Ideas in order to solve thisproblems are to 1) assign pairs of spacecraft in a swarm formation that will apply the pro-posed control strategy of this thesis in order to achieve the same fuel consumption and to2) find an autonomous on-board algorithm that is smart in finding a virtual center of theformation to which all other spacecraft pairs keep or reconfigure their states. This way it ispossible to find a virtual center that ensures equal fuel consumption between already bal-anced spacecraft pairs. Furthermore, a repulsive potential field may be imposed on eachspacecraft for active collision avoidance to move forward the passive collision approachshown in this thesis. In the proposed control strategy only Keplerian dynamics are lever-aged in order to achieve near-optimal fuel consumption. The way forward is to leveragethe differential J2 effect as well if time constraints allow. The full rotation of the eccentricityvector due to differential J2 occurs in about one month of time. If the rotation is beneficialfor a reconfiguration it is wise to wait and use this perturbation. An algorithm has to bedeveloped to do this autonomously.

59

Page 72: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 73: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

Bibliography

[1] J. Ardaens, S. D’Amico, D. Ulrich, and D. Fischer. Tandem-x autonomous formationflying system. Proc. 3rd Int. Symp. on Formation Flying, Missions and Technologies,2008.

[2] R. Barza, Y. Aoki, and K. Schilling. Cubesat uwe-1 technology tests and in-orbit results.57th International Astronautical Congress, 2006.

[3] D. Bock, A. Kramer, P. Bangert, and K. Schilling. Nanofeep on uwe platform - formationflying of cubesats using miniaturized field emission electric propulsion thrusters. JointConference of 30th ISTS, 34th IEPC and 6th NSAT, 2015.

[4] S. Busch, P. Bangert, and K. Schilling. “attitude control demonstration for pico-satelliteformation flying by uwe-3. 4S-Symposium, 2014.

[5] M. Chernick and S. D’Amico. New closed-form solutions for optimal impulsive controlof spacecraft relative motion. AAS, 2016.

[6] S. D’Amico. Autonomous formation flying in low earth orbit. PhD Thesis, 2010.

[7] S. D’Amico and O. Montenbruck. Proximity operations of formatiln flying spacecraftusing an eccentricity/inclination vector separation. Journal of Guidance, Control andDynamics, 2006.

[8] S. De Florio, S. D’Amico, and G. Radice. Virtual formation method for precise au-tonomous absolute orbit control. Journal of Guidance, Navigation and Control, 2014.

[9] W. Dunbar and R. Murray. Model predicitive control of coordinated multi-vehicle for-mations. Proceedings of the 41st IEEE Conference on Decision and Control, 2002.

[10] A. Koenig, T. Guffanti, and S. D’Amico. New state transition matrices for relative mo-tion of spacecraft formations in perturbed orbits. AIAA Space and Astronautics Formand Exposition, SPACE, 2016.

[11] A. W. Koenig, T. Guffanti, and S. D’Amico. New state transistion matrices for relativemotion of spacecraft formations in perturbed orbits. AIAA Space and AstronauticsForm and Exposition, 2016.

[12] M. Nicotra, M. Bartulovic, and E. Garone. A distributed explicit reference governor forconstrained control of multiple uavs. IFAC PapersOnLine, 2016.

[13] M. Nicotra, R. Naldi, and E. Garone. A robust explicit reference governor for con-strained control of unmanned aerial vehicles. American Control Conference, 2016.

61

Page 74: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

62 Bibliography

[14] J. Pluym and C. Damaren. Dynamics and control of spacecraft formation flying: Ref-erence orbit selection and feedback control. Proceedings of the 13th Canadian Astro-nautics Conference, 2006.

[15] M. Queiroz, V. Kapila, and Q. Yan. Adaptive nonlinear control of multiple spacecraftformation flying. Journal of Guidance, Control, and Dynamics, 2000.

[16] A. Robertson, G. Inalhan, and J. How. Formation control strategies for a separatedspacecraft interferometer. Proceedings of the American Control Conference, 1999.

[17] H. Schaub, S. R. Vadali, J. L. Junkins, and K. T. Alfriend. Spacecraft formation flyingcontrol using mean orbit elements. Journal of the Astronautical Sciences, 2000.

[18] K. Schilling, P. Banger, P. Busch, S. Dombrovski, S. Freimann, A. Kleinschrodt,A. Kramer, T. Nogueira, D. Ris, J. Scharnagl, and T. Tzschichholz. Netsat: A fourpico/nano-satellite mission for demonstration of autonomous formation flying. 66thInternational Astronautical Congress, 2015.

[19] M. Schmidt, K. Ravandoor, K. Kurz, S. Busch, and K. Schilling. Attitude determinationfor the pico- satellite uwe-2. Proceedings IFAC World Congress, 2008.

[20] A. Surjalal Sharma and Steven A. Curtis. Magnetospheric multiscale mission. In A. S.Sharma and P. K. Kaw, editors, Nonequilibrium Phenomena in Plasmas, chapter 8,pages 179–196. Springer, The Netherlands, 2005.

[21] J. Sullivan, A. Koenig, and S. D’Amico. Improved maneuver-free approach to anglesonly navigation for space rendezvous. AAS, 2016.

Page 75: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

AMatrices

Plant matrix for the differential Earth oblateness effect is given by [10]

A J2(Æc ) = ∑

0

B

B

B

B

B

B

B

B

B

@

0 0 0 0 0 0 0°7

2 EP 0 exGF P eyGF P °F S 0 072 eyQ 0 °4exeyGQ °(1+4e2

yG)Q 5ey S 0 0°7

2 exQ 0 (1+4e2xG)Q 4exeyGQ °5exS 0 0

0 0 0 0 0 0 072 S 0 °4exGS °4eyGS 2T 0 00 0 0 0 0 0 0

1

C

C

C

C

C

C

C

C

C

A

(A.1)

The plant matrix for the differential Earth oblateness effect for the reduced model is givenby

A J2(Æc ) = ∑

0

B

B

B

B

B

B

B

@

0 0 0 0 0 072 eyQ °4exeyGQ °(1+4e2

yG)Q 5ey S 0 0°7

2 exQ (1+4e2xG)Q 4exeyGQ °5exS 0 0

0 0 0 0 0 072 S °4exGS °4eyGS 2T 0 00 0 0 0 0 0

1

C

C

C

C

C

C

C

A

(A.2)

!= ∑Q; ∞= 34

J2R2epµ; ¥=

p

1°e2; ∑= ∞

a7/2c ¥4

c

ex = ec cos(!c ); ey = ec sin(!c ); E = 1+¥c ; F = 4+3¥c ; G = 1

¥2c

P = 3cos(ic )2 °1; Q = 5cos(ic )2 °1; S = sin(2ic ); T = sin(ic )2

Differential drag plant matrix [10]:

Adrag =

2

4

06x6 105x1

01x7

3

5 (A.3)

The differential drag plant matrix for the reduced state is given by

63

Page 76: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

64 A. Matrices

Adrag =

2

4

05x5 104x1

01x6

3

5 (A.4)

The plant matrix for relative Keplerian dynamics is given by

AKepler =

2

4

007x6°1.5n

05x1

3

5 (A.5)

where n is the mean motion. The plant matrix describing the relative Keplerian motion forthe reduced model is given by

AKepler = 06x6 (A.6)

Control input matrix for quasi-nonsingular ROE:

B (Æc ) = 1an

2

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

4

2¥e sin f 2

¥ (1+e cos f ) 0

° 2¥2

1+e cos f 0 0

¥sinµ ¥(2+e cos f )cosµ+ex

1+e cos f¥ey

tan isinµ

1+e cos f

°¥cosµ ¥(2+e cos f )sinµ+ey

1+e cos f°¥extan i

sinµ1+e cos f

0 0 ¥ cosµ1+e cos f

0 0 ¥ sinµ1+e cos f

3

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

5

(A.7)

Control input matrix for quasi-nonsingular ROE of the reduced model (used in the refer-ence governor):

B (Æc ) = 1an

2

6

6

6

6

6

6

6

6

6

6

6

6

4

2¥ (1+e cos f ) 0

¥(2+e cos f )cosµ+ex

1+e cos f¥ey

tan isinµ

1+e cos f

¥(2+e cos f )sinµ+ey

1+e cos f°¥extan i

sinµ1+e cos f

0 ¥ cosµ1+e cos f

0 ¥ sinµ1+e cos f

3

7

7

7

7

7

7

7

7

7

7

7

7

5

(A.8)

where f is the true anomaly and µ = f +!.

Page 77: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

65

@±r minr n

@±ex= a

2p

2

µ

±e2 +±i 2 °q

±e4 +±i 4 °2±e2±i 2 cos°

'°µ¢¢

∂°1/2 ∑

2±ex

° 12

°

±e4 +±i 4 °2±e2±i 2 cos°

'°µ¢¢¢°1/2

4±e2±ex

°4±ex±i 2 cos°

'°µ¢¢

°4±i 2±ey sin°

'°µ¢¢

¥

(A.9)

@±r minr n

@±ey= a

2p

2

µ

±e2 +±i 2 °q

±e4 +±i 4 °2±e2±i 2 cos°

'°µ¢¢

∂°1/2 ∑

2±ey

° 12

°

±e4 +±i 4 °2±e2±i 2 cos°

'°µ¢¢¢°1/2

4±e2±ey

°4±ey±i 2 cos°

'°µ¢¢

+4±i 2±ex sin°

'°µ¢¢

¥

(A.10)

@±r minr n

@±ix= a

2p

2

µ

±e2 +±i 2 °q

±e4 +±i 4 °2±e2±i 2 cos°

'°µ¢¢

∂°1/2 ∑

2±ix

° 12

°

±e4 +±i 4 °2±e2±i 2 cos°

'°µ¢¢¢°1/2

4±i 2±ix

°4±ix±e2 cos°

'°µ¢¢

+4±e2±i y sin°

'°µ¢¢

¥

(A.11)

@±r minr n

@±i y= a

2p

2

µ

±e2 +±i 2 °q

±e4 +±i 4 °2±e2±i 2 cos°

'°µ¢¢

∂°1/2 ∑

2±i y

° 12

°

±e4 +±i 4 °2±e2±i 2 cos°

'°µ¢¢¢°1/2

4±i 2±i y

°4±i y±e2 cos°

'°µ¢¢

°4±e2±ix sin°

'°µ¢¢

¥

(A.12)

Page 78: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative
Page 79: Constrained Low-Thrust Satellite Formation-Flying Using ...ltu.diva-portal.org/smash/get/diva2:1067924/FULLTEXT02.pdf · Constrained Low-Thrust Satellite Formation-Flying Using Relative

BDerivation of the Out-of-Plane Delta-v

Lower Bound

The change of the inclination vector as a result of a maneuver into the normal direction ofthe RTN frame is described by the Gauss Variational Equations given in equation (A.7) as

k¢±ik=£

|¢±ix |2 +|¢±i y |2§0.5

, (B.1)

k¢±ik=∑µ

¥

ac n

cos(µ)1+ec cos f

¢vn

∂2

¥

ac n

sin(µ)1+ec cos f

¢vn

∂2∏0.5

, (B.2)

k¢±ik=∑

¥2¢v2n

a2c n2(1+e cos f )2

°

cos 2µ+ sin 2µ¢

∏0.5

, (B.3)

k¢±ik= ¥¢vn

ac n(1+e cos f ). (B.4)

Solving equation (B.4) for ¢vn and renaming ¢vn =¢vi p yields

¢vi p = ac n(1+e cos f )¥

k¢±ik , (B.5)

which is minimized for f =±º

¢vopti p = ac n(1°e)

¥k¢±ik . (B.6)

67