<<

Multi-revolution Transfers in

Bruno Miguel Tomás Correia

Thesis to obtain the Master of Science Degree in

Supervisors: Prof. Paulo Jorge Soares Gil Prof. Ron Noomen

Examination Committee

Chairperson: Prof. Filipe Szolnoky Ramos Pinto Cunha Supervisor: Prof. Paulo Jorge Soares Gil Member of the Committee: Prof. João Manuel Gonçalves de Sousa Oliveira

June 2016 ii To my family and friends.

”The important thing is to not stop questioning. Curiosity has its own reason for existing.” - Albert Einstein

iii iv Acknowledgments

This report is the result of an one-year project developed in two different countries, having started in The Netherlands while in Erasmus and finished here in Portugal. During this journey, some people helped in the actual topic of the thesis while others provided support even without having any knowledge about space engineering. Firstly, I am grateful to my two amazing supervisors who helped me a lot in both phases of this process. To professor Ron Noomen, who provided me this fascinating topic, I would like to thank for the support provided while studying in Delft University of Technology (TU Delft) even when he had no obligation to do so. To professor Paulo Gil, who accompanied me during the entire process while abroad and specially after returning to Instituto Superior Tecnico´ (IST), I would like to thank for accepting me as a MSc Thesis student and for all the assistance given and the ideas provided to help improving this work. Finally, I would like to thank to my family and friends for the help, support and understanding shown.

v vi Resumo

”Sera´ poss´ıvel melhorar trajectorias´ interplanetarias´ com a inclusao˜ de multi-revoluc¸oes˜ quando comparado com aquelas em que apenas revoluc¸oes˜ parciais sao˜ usadas?” Este e´ o mote para o desen- volvimento desta tese. Assim sendo, e´ feita uma comparac¸ao˜ entre aquelas trajectorias´ que por norma sao˜ utilizadas e as que incluem multi-revoluc¸oes˜ onde a sonda completa pelo menos uma revoluc¸ao˜ a` volta do Sol antes de interagir com um planeta. Uma poss´ıvel reduc¸ao˜ no delta-V necessario´ levara´ a melhorias nos racios´ entre a massa da payload e a massa total da sonda, podendo melhorar futuras missoes˜ espaciais. Metodos´ de optimizac¸ao˜ sao˜ usados para minimizar o delta-V necessario´ para uma transferenciaˆ interplanetaria´ envolvendo multiplos´ swing-bys, incluindo apenas manobras impulsivas quando a sonda interage com os planetas. O codigo´ desenvolvido para este fim usa as bibliotecas PyGMO e PyKEP como base de desenvolvimento. Tresˆ casos sao˜ estudados, comec¸ando por uma transferenciaˆ directa para Marte. Depois, uma missao˜ para Mercurio´ e´ estudada usando nao˜ so´ transferenciasˆ directas como tambem´ incluindo um swing-by em Venus.´ A ultima´ missao˜ tem como destino Jupiter,´ sendo primeiro estudadas trajectorias´ sem multi-revoluc¸oes˜ com diferentes sequenciasˆ planetarias´ a fim de obter a melhor delas, sobre a qual multi-revoluc¸oes˜ sao˜ incorporadas. Todos estes casos estudados levaram a melhorias do delta- V necessario´ com o uso das multi-revoluc¸oes,˜ especialmente a missao˜ para Jupiter´ onde melhorias tambem´ foram encontradas ao n´ıvel da durac¸ao˜ da viagem e da data de partida da Terra. Deste modo, a resposta a` pergunta apresentada inicialmente e´ afirmativa.

Palavras-chave: transferenciaˆ interplanetaria,´ multi-revoluc¸oes,˜ optimizac¸ao,˜ swing-by, delta-V.

vii viii Abstract

”Is it possible to improve the design of interplanetary trajectories by using multi-revolutions when comparing to the cases where only single-revolutions are used?” This is the question this thesis intends to answer by comparing solutions using just ”standard” single-revolution transfers with those including multi-revolutions, where the spacecraft makes at least one complete revolution around the Sun before interacting with a planet. If the delta-V budget reduces, then better payload to total mass ratios arise, which can improve future space missions. Optimization methods are used here to optimize the delta-V budget of an interplanetary transfer defined as a multiple (MGA) problem, including only impulsive manoeuvres when close to the planets the spacecraft interacts with. To do this, PyGMO and PyKEP toolboxes are used as a base of the implemented code. Three cases are analysed here, starting with a direct transfer mission to Mars. Then, a mission to Mercury is studied using both direct transfers and others with a swing-by at Venus. The final case is that of a mission to Jupiter, being first analysed different planetary sequences having single-revolutions only; multi-revolutions are then included to the best solution obtained, a VEEGA trajectory. In all these cases better solutions were found in terms of delta-V budget by including multi-revolutions, specially the Jupiter mission where improvements were obtained not only in the delta-V (and mass) budget of the mission, but also in the duration of the transfer and departure . So, the answer to the initial question is affirmative.

Keywords: interplanetary transfer, multi-revolutions, optimization, MGA problem, delta-V budget.

ix x Contents

Acknowledgments...... v Resumo...... vii Abstract...... ix List of Tables...... xiii List of Figures...... xv Nomenclature...... xvii

1 Introduction 1 1.1 Motivation...... 1 1.2 State of the Art...... 2 1.3 Thesis Outline...... 3

2 Fundamentals of Orbital Mechanics5 2.1 The Two-body Problem...... 5 2.1.1 Circular and Elliptical ...... 6 2.1.2 Parabolic Orbits...... 7 2.1.3 Hyperbolic Orbits...... 7 2.2 Interplanetary Transfers...... 8 2.3 Orbital Manoeuvres...... 10 2.4 Gravity Assist Manoeuvres (Swing-bys)...... 12 2.4.1 Unpowered Gravity Assist...... 12 2.4.2 Powered Gravity Assist...... 14 2.5 Lambert’s ”Orbital Boundary-value Problem”...... 16 2.5.1 Izzo’s Final Form of Lambert’s Problem...... 17 2.5.2 Single-revolution versus Multi-revolutions...... 19 2.5.3 Izzo’s Approach to Solve Lambert’s Problem...... 20

3 The Multiple Gravity Assist Trajectory Problem 21 3.1 Problem Definition and Notation...... 21 3.2 General Form of the Problem and Simplifications...... 22 3.3 Final Form of the Problem...... 23

xi 4 Optimization 27 4.1 Optimization in the Design of Interplanetary Missions...... 27 4.2 Differential Evolution (Global)...... 28 4.2.1 Method Description...... 29 4.2.2 Variants of the Method...... 30 4.2.3 Control Parameters Selection...... 31 4.3 Simulated Annealing with Adaptive Neighbourhood (Global)...... 31 4.3.1 Method Description...... 32 4.3.2 Control Parameters Selection...... 33 4.4 Compass Search (Local)...... 33 4.4.1 Method Description...... 33

5 Implementation 35 5.1 Description of the MGA Problem Implementation...... 35 5.2 Description of the Optimization Implementation...... 38 5.3 Validation...... 41 5.3.1 Test I: MGA Problem...... 41 5.3.2 Test II: Optimization Process...... 42

6 Results and Discussion 45 6.1 Description of the Studied Cases...... 45 6.2 Interplanetary Transfer to Mars...... 46 6.2.1 Results for a Direct Transfer...... 46 6.2.2 Discussion...... 47 6.3 Interplanetary Transfer to Mercury...... 49 6.3.1 Results for a Direct Transfer...... 49 6.3.2 Results for a Transfer with Swing-by at Venus...... 50 6.3.3 Discussion...... 51 6.4 Interplanetary Transfer to Jupiter...... 54 6.4.1 Results for the Single-revolution Transfers...... 54 6.4.2 Results for a VEEGA Trajectory with Multi-revolutions...... 56 6.4.3 Discussion...... 57

7 Conclusions 61 7.1 Achievements and Final Remarks...... 61 7.2 Future Work...... 62

Bibliography 63

xii List of Tables

5.1 Planetary data used during the simulations...... 39 5.2 Control parameters for the optimization algorithms used in the archipelago...... 40 5.3 Comparison of the results for the Cassini1 problem for validation of the MGA class..... 42 5.4 Comparison of the results for the Cassini1 and Rosetta problems for validation of the optimization process...... 43

6.1 Boundaries for the optimization variables for a direct transfer from Earth to Mars...... 46 6.2 Results obtained for a direct transfer from Earth to Mars...... 47 6.3 Boundaries for the optimization variables for a direct transfer from Earth to Mercury.... 49 6.4 Results obtained for a direct transfer from Earth to Mercury...... 49 6.5 Boundaries for the optimization variables for a transfer from Earth to Mercury with a gravity assist at Venus...... 50 6.6 Results obtained for a transfer from Earth to Mercury with a gravity assist at Venus..... 50 6.7 Boundaries for the optimization variables for different single-revolution transfers from Earth to Jupiter...... 54 6.8 Boundaries for the optimization variables for a transfer from Earth to Jupiter using a VEEGA trajectory...... 56 6.9 Results obtained for a transfer from Earth to Jupiter using a VEEGA trajectory...... 57

xiii xiv List of Figures

2.1 Velocity vector diagram for an unpowered gravity assist...... 12 2.2 In-plane geometry for an unpowered swing-by as viewed in the planetocentric frame.... 13 2.3 Maximum change in specific energy of a spacecraft during a swing-by...... 14 2.4 In-plane geometry for a powered swing-by as viewed in the planetocentric frame...... 15 2.5 Example of an elliptical solution for Lambert’s problem with certain boundary conditions.. 16 2.6 Non-dimensional transfer time curves as a function of x for different values of λ and M.. 19

3.1 Sketch of the different phases in the multiple gravity assist (MGA) trajectory followed by the spacecraft...... 24

5.1 Structure of the MGA class containing the MGA Problem...... 37 5.2 Archipelago used for optimization and consisting of seven islands in rim topology...... 40

6.1 Detailed information of best solution obtained for a direct single-revolution transfer from Earth to Mars...... 48 6.2 Detailed information of best solution obtained for a direct transfer from Earth to Mars having one complete revolution...... 48 6.3 Detailed information of best solution obtained for a direct transfer from Earth to Mercury having two complete revolutions...... 51 6.4 Detailed information of best solution obtained for a transfer from Earth to Mercury with a swing-by at Venus with single-revolutions only...... 52 6.5 Detailed information of best solution obtained for a transfer from Earth to Mercury with a swing-by at Venus with one complete revolution in the first leg...... 53 6.6 Detailed information of best solution obtained for a transfer from Earth to Mercury with a swing-by at Venus having one complete revolution in both legs...... 53 6.7 Delta-V budget and duration for the best solutions for an interplanetary mission from Earth to Jupiter involving only single-revolutions...... 55 6.8 Detailed information of best solution obtained for a transfer from Earth to Jupiter using a VEEGA trajectory with single-revolutions only...... 58 6.9 Detailed information of best solution obtained for a transfer from Earth to Jupiter using a VEEGA trajectory with one complete revolution between both Earth swing-bys...... 60

xv xvi Nomenclature

Acronyms

ACT ESA’s Advanced Concepts Team

CS Compass Search

DE Differential Evolution

DSM Deep Space Manoeuvre

ESA European Space Agency

GA Gravity Assist manoeuvre

GTOP Global Trajectory Optimization Problems database

JPL NASA’s Jet Propulsion Laboratory

LEO Low Earth

MGA Multiple Gravity Assist problem

MGA-1DSM Multiple Gravity Assist problem with 1 Deep Space Manoeuvre per leg

MJD2000 Modified Julian Day starting on January 1, 2000

NASA National Aeronautics and Space Administration

PaGMO Parallel Global Multiobjective Optimizer

PyGMO Python Parallel Global Multiobjective Optimizer

SA Simulated Annealing

SA-AN Simulated Annealing with Adaptive Neighbourhood

SoI Sphere of Influence

TOF Time Of Flight

UTC Universal Time Coordinated

VEEGA Venus-Earth-Earth Gravity Assist trajectory

xvii Greek symbols

α Gravity assist: deflection angle [rad]

β Gravity assist: hyperbolic encounter angle [rad]

∆ Optimization: step range (CS) [-]

∆... Change in... [various]

γ Turning angle in a plane change manoeuvre [rad]

λ Lambert solver: non-dimensional parameter [-]

µ Gravitational constant of a body [m3/s2]

ψ Lambert solver: non-dimensional auxiliary variable [-]

θ in an orbit [rad] Roman symbols

E Specific energy of a body [J/kg]

~i Unit vector [-]

~p Optimization: decision vector [various]

R~ Position vector of a planet [m]

~r Position vector of the orbiting body (spacecraft) [m]

T~ Thrusting force acting on the spacecraft [N]

V~ Velocity vector of a planet [m/s]

~v Velocity vector of the orbiting body (spacecraft) [m/s]

~v∞ Hyperbolic excess velocity [m/s]

~x State vector of the spacecraft [various] a Semi-major axis of the orbit [m]

B Gravity assist: impact parameter [m] c Lambert solver: Chord connecting the initial and final positions [m]

CR Optimization: crossover constant (DE) [-]

D Optimization: problem dimension [-]

E in an elliptical orbit [rad] e Eccentricity of the orbit [-]

xviii F Optimization: scale factor (DE) [-] f Objective/cost function during optimization [various]

G Newtonian constant of gravitation [m3/(kg.s2)]

G Optimization: generation of the population [-] g Gravitational acceleration [m/s2]

H Hyperbolic anomaly in an hyperbolic orbit [rad]

Isp Specific impulse of the thrusters [s] lb Optimization: lower bound of a parameter [various]

M Lambert solver: number of complete revolutions around the Sun [-] m Mass of a body [kg]

Nε Optimization: number of temperature reduction cycles (SA-AN) [-]

NP Optimization: population size [-]

NS Optimization: number of same step vector parameter change cycles (SA-AN) [-]

NT Optimization: number of step vector change cycles (SA-AN) [-]

P Optimization: probability density function [-] p Semi-latus rectum of an orbit [m]

R Optimization: temperature reduction coefficient (SA-AN) [-] r Radius (distance) from the central body [m]

Rp Equatorial radius of a planet [m] rT Optimization: temperature reduction coefficient (CS) [-]

S Lambert solver: solution (x1 or x2) to use for multi-revolution case [-] s Lambert solver: semi-perimeter [m]

T Duration of an interplanetary leg [s]

T Lambert solver: non-dimensional transfer time [-]

T Optimization: temperature (SA-AN) [-] t Departure/encounter/arrival epoch [MJD2000/UTC] ub Optimization: upper bound of a parameter [various] x Lambert solver: non-dimensional iteration variable [-] y Lambert solver: non-dimensional auxiliary variable [-]

xix xx Chapter 1

Introduction

1.1 Motivation

In the last decades, mankind has witnessed the advent of space exploration. At this moment, all eight planets in the Solar System have been visited by probes from Earth and even Pluto was visited last year by the probe [1]. One of the major challenges is to send heavier and more capable instruments to better analyse the different bodies orbiting the Sun. Multi-revolution transfers using high thrust propulsion, where the probe flies at least one complete revolution around the Sun between two planets, may provide better trajectory solutions in terms of the mass budget required for the interplanetary mission when comparing to a transfer with single-revolutions only. For that reason, the main question to be answered in this thesis is the following: is it possible to improve the design of an interplanetary trajectory by using multi-revolutions when comparing to the cases where only single-revolutions are used? This is one of several strategies to achieve the goal of a better ratio between payload mass and the total mass of the spacecraft, which translates into an increase of the payload mass that can be delivered to a certain planet or a decrease of the propellant mass needed to deliver a specific payload to its des- tination. However, this strategy may secondarily improve or deteriorate other mission’s characteristics such as the launch and/or departure windows and the overall duration of the interplanetary transfer. Single-revolution transfers are those in which the interplanetary trajectory leg connecting two bodies only completes a portion of a full revolution around the Sun, in other words, the initial position of the orbit is only acquired once, at the beginning [2]. On the other hand, multi-revolution transfers correspond to those cases where the initial position of the orbit is repeated at least once, meaning that the satellite makes one or more complete revolutions around the Sun in the same orbit before changing it by means of manoeuvres or encounters with other bodies such as intermediate planets. The reason for using multi-revolutions is the possibility of obtaining better geometry conditions for the trajectory, leading to a decrease in the delta-V and mass budgets. This is particularly relevant when employing intermediate swing-bys since more bodies are included in the trajectory design. Moreover, the introduction of these cases increases the degrees of freedom when designing the mission’s trajectory.

1 Besides those advantages, the use of multi-revolutions may bring a major drawback which is the considerable increase in the total time required to arrive at the target planet. Therefore, this scheme will only be considered when analysing missions to inner planets/bodies, up to the Asteroid Belt between Mars and Jupiter, or in the initial segments of a multiple gravity assist trajectory to the outer planets such as Jupiter and so forth, which still occur in that inner region.

1.2 State of the Art

Since the first successful interplanetary mission, Mariner 2, launched from Earth and arriving at Venus on December 14, 1962 [3], many other probes have left the Earth heading to different targets (planets and others) in the Solar System. The great majority of them used high thrust propulsion in order to escape the Earth and arrive at their destination. From all of those high thrust missions, most of them, if not all, only used single-revolution transfers, even when using multiple gravity assists such as the Galileo mission to Jupiter [4] or the Cassini-Huygens mission to Saturn [5]. Although knowledge of multi-revolution transfers exists for a long time, probably the same time as the knowledge of the single-revolution ones, they are not so commonly applied in missions, being merely treated as a theoretical result. The reason for this is the increase in the transfer time required and the difficulties introduced in the trajectory design process due to the increase in number of variables and cases to optimize. Nevertheless, it may be advantageous to study those trajectories where at least one of their legs consists of a multi-revolution transfer because of the possibility of decreasing the overall delta-V budget which translates in improvements in the payload to total . Another interesting option is to use low thrust (electric) propulsion where gases are accelerated by means of electrical heating and/or by electromagnetic body forces which then accelerate the spacecraft

[6]. Here, the goal is attained mainly by the higher values of specific impulse Isp of those thrusters [7] instead of reducing the delta-V budget. This technique is becoming more and more attractive because of its advantages even if, just like in the high thrust multi-revolution case, the duration increases due to the low thrust provided [7]. Deep Space 1 launched in 1998 to asteroid 9969 Braille and Borrelly was the first successful deep space low thrust mission [8]. From that moment, other missions used low thrust as main propulsion system, such as the Dawn mission to the asteroids Ceres and Vesta [9]. Unlike chemical (high thrust) propulsion, electrical propulsion systems require much more power to operate, increasing the total power budget of the space probe and also correspond to much more complex systems. The electrical power can be obtained from solar energy whenever the spacecraft is at relatively small distances from the Sun (inner Solar System). However, for missions to the outer Solar System where the energy from the Sun is small, nuclear power sources are required: a nuclear reactor for heavy probes or a device heated by the decay of radioisotopes for lighter ones [10]. Another disadvantage of this particular strategy is that for huge changes in velocity, such as those required to inject the satellite into an interplanetary transfer (acceleration) or to inject it into an orbit around the target planet (deceleration), it is required thrusting forces which are, usually, beyond the capability of these low thrusters, even if they are more efficient in terms of propellant mass usage.

2 These two solutions addressed, multi-revolutions with high thrust propulsion and low thrust propul- sion, compete to the yet ”standard” high thrust single-revolution interplanetary trajectories. But, due to the requirements of better mass budgets in the future, they may see their importance increased, as it is already seen for the low thrust case with the increasing number of missions conducted. Lastly, although they both present the disadvantage of increasing the duration of the interplanetary flight, the multi-revolution solution uses the simpler high thrust systems and does not need to have secondary thrust systems due to the increase distances from the Sun for missions to the outer planets or the need to use nuclear propulsion, which still is a controversial topic for political and safety reasons [11]. This means that if better solutions using high thrust multi-revolution transfers are found when comparing to the single-revolution cases, maybe this strategy will start to be used more often in future space missions.

1.3 Thesis Outline

The structure of this work is presented now. Some fundamental concepts of orbital mechanics, which are the basis of every preliminary space mission design process, are studied in Chapter2. It is laid out in Chapter3 the actual problem to be optimized, using the different optimization methods presented in Chapter4. The implemented code is described and validated in Chapter5. Then, Chapter6 concerns with the results obtained for the different practical cases studied and respective discussion. Finally, Chapter7 contains the conclusions drawn regarding the topic of this thesis. By the end of reading this thesis the reader should be able to understand what multi-revolution transfers are and how they influence the overall design of an interplanetary trajectory. Further, it has answered the question presented in the second paragraph of Section 1.1 by analysing several cases of interplanetary missions departing from Earth and targeting three different planets in the Solar System: Mercury, Mars and Jupiter. The study of those cases is made by using a code to be developed in python and which optimizes interplanetary trajectories using high thrust. The PyGMO (Python Parallel Multiobjective Optimizer) [12] and PyKEP [13] toolboxes provided by the Advanced Concepts Team of the European Space Agency (ESA) are used as the basis for the development of that code since they already present functions and classes regarding some astrodynamics and optimization methods which facilitates its implementation.

3 4 Chapter 2

Fundamentals of Orbital Mechanics

In order to understand the different models used and to correctly analyse the results obtained regard- ing the different interplanetary transfers, it is essential to know some basic concepts of orbital mechanics and that is the goal of this chapter. It is divided into sections regarding different concepts of astrodynam- ics, starting from the simplest model of orbital motion up to the derivation of Lambert’s problem which plays an important role in the preliminary design of interplanetary trajectories.

2.1 The Two-body Problem

The simplest model for the motion of bodies in the Universe, such as the motion of planets around the Sun, is that of a two-body problem where the only force acting upon a certain body is the gravitational force of another body [7]. Under this model, the motion of body i due to the gravitational acceleration of body j in a non-rotating reference frame with origin in the latter is governed by the following equation:

d2~r m + m = −G j i ~r, (2.1) dt2 r3 where ~r is the position of body i with respect to body j, mi and mj are the masses of both bodies and G is the Newtonian constant of gravitation [14]. In the case of the motion of a spacecraft around a planet or the motion of any celestial body in the Solar System around the Sun, the mass of the orbiting body is much smaller when comparing to the mass of the body governing that motion, i.e., mi  mj; therefore, the mass of the secondary body mi can be neglected in first approximation. Using the notation µ = Gmj, where µ is the gravitational constant of body j, the final equation for the acceleration of the orbiting secondary body is obtained in the reference frame considered [7]: d2~r µ = − ~r. (2.2) dt2 r3

This model, given by Equation (2.2), provides a closed solution (unlike models involving more than two bodies) whose orbit, flown by the secondary body, corresponds to a Keplerian orbit. This type of

5 orbits are defined by the following expression [7]:

p r = , (2.3) 1 + e cos θ being r the radius from the main body to the secondary one, p the semi-latus rectum, e the eccentricity of the orbit and θ the true anomaly, which is the angle between the radius and the direction of closest approach to the main body. The eccentricity of the orbit defines its geometry:

e = 0 : circle

0 < e < 1 : ellipse

e = 1 : parabola

e > 1 : hyperbola.

Circular orbits are a particular case of elliptic orbits where both the semi-major and the semi-minor axes are equal. So, they can be treated as a single case considering just that e < 1. Also, parabolic orbits are a limit case between elliptical and hyperbolic ones and they are inherently unstable since a small is sufficient to change it to one of the other two cases with e 6= 1 [7]. Further details about each type of Keplerian orbit are presented in Sections 2.1.1 through 2.1.3.

2.1.1 Circular and Elliptical Orbits

Circular and elliptical orbits are the only closed Keplerian orbits, which means that the orbiting body will continue to repeat that same orbit unless some perturbation changes its motion. Further, the specific energy of the body in that orbit is constant and negative (E < 0). If the semi-major axis of the orbit is denoted by a, with 0 < a < ∞, then the semi-latus rectum is given by [7]:

p = a(1 − e2) (2.4)

Also, the minimum and maximum distances from the orbiting body to the central body, also known as periapsis and apoapsis, are given by

rp = rmin = a(1 − e) (2.5a)

ra = rmax = a(1 + e). (2.5b)

Substituting p in Equation (2.3) by its expression in (2.4), it is possible to rewrite the equation of the orbit as a(1 − e2) r = , (2.6) 1 + e cos θ where it becomes clear that for a , where the eccentricity is zero, the radius is always constant and equal to the semi-major axis. On the other hand, the difference between the periapsis and apoapsis distances increases as the eccentricity increases.

6 Another important result regarding the velocity of body i in its orbit is obtained from the Vis Viva Equation [7], v2 µ µ E = − = − , (2.7) 2 r 2a by mathematically manipulating it to obtain the following expression for the velocity v in an elliptical orbit:

s 2 1  v = µ − . (2.8) r a

For circular orbits, this velocity is always constant and simply given by

rµ v = , (2.9) c a meaning that the velocities at periapsis and apoapsis can be uniquely obtained from the local circular velocity vc and the eccentricity of the orbit [7]:

rµ 1 + e √ v = · = v 1 + e (2.10a) p a 1 − e c,p rµ 1 − e √ v = · = v 1 − e, (2.10b) a a 1 + e c,a corresponding them to the maximum and minimum velocities, respectively.

2.1.2 Parabolic Orbits

Even considering the approximation of a two-body problem and all its assumptions, these orbits are impossible to maintain due to their unstable nature. Nevertheless, they represent the limit from which the orbit is no longer closed and the orbiting body can escape the central body. When in a parabolic orbit, the orbital energy is equal to zero (E = 0) and the body comes from or arrives at an infinite distance with zero velocity with respect to the main body. In interplanetary missions, the most interesting result about these specific orbits is the velocity at periapsis since it represents the minimum velocity that a spacecraft has to possess in order to be able to leave the planet. This velocity, also known as , is related to the local circular velocity and it is given by [7]: r2µ √ v = = 2v . (2.11) esc r c

2.1.3 Hyperbolic Orbits

Lastly, hyperbolic orbits are those whose eccentricity is greater than 1 and with positive specific energy (E > 0). In this orbit, a body departs from or arrives at an infinite distance still with a non-zero

finite velocity v∞ (corresponding to the minimum velocity in the trajectory) and has a maximum velocity at the periapsis. If the the semi-major axis is now considered to be negative instead of positive (a < 0), then all equations presented in Section 2.1.1 can still be used.

7 The magnitude of the velocity at an infinite distance from the central body, r → ∞, can be fully determined by the semi-major axis of the orbit [7]:

µ v2 = C = − . (2.12) ∞ 3 a

Moreover, the velocity at periapsis is also given by Equation (2.10a) and, for that reason, the ratios between vp and v∞ and between vp and the local circular velocity vc are respectively given by

v re + 1 p = (2.13) v∞ e − 1 and v √ p = e + 1 . (2.14) vc,p

One final remark about the instantaneous velocity of a certain body in an hyperbolic orbit is that it is always completely determined by the local escape velocity vesc and the velocity at infinity [7], being the following relation true for every point along the orbit:

2µ v2 = v2 + v2 = + C . (2.15) esc ∞ r 3

This relation is very important in the design of interplanetary missions since one usually knows the value of v∞ and by knowing the radius with respect to the central planet, its velocity can be easily de- termined. Furthermore, this relation is used to obtain the impulses required to provide to the spacecraft so that it enters a specific interplanetary trajectory, starting with a hyperbolic orbit leaving the departure planet (assuming that the initial orbit and the hyperbolic orbit share the same orbital plane).

2.2 Interplanetary Transfers

When in an interplanetary mission, the spacecraft is launched from a departure planet and accel- erated to a velocity higher than the local escape velocity such that it enters a hyperbolic arc to leave the vicinity of that planet. When the distance from the home planet is sufficiently large (in relation to its radius), the gravitational attraction from the Sun becomes the main force driving the motion of the probe, in its heliocentric trajectory at this point. This trajectory is designed according to the goals of the mission. While approaching the targeted planet, its gravitational attraction becomes more and more relevant until it eventually surpasses that of the Sun and becomes the main force acting on the spacecraft. At a small distance from the planet, the spacecraft can either just execute a flyby around it or be decelerated to enter an elliptical or circular orbit around it [7]. In a direct interplanetary trajectory the spacecraft leaves the departure planet and flies directly to the target one in a heliocentric transfer, not strongly interacting with any other celestial body in the Solar System (by entering its sphere of influence). On the other side, missions to the outer planets or even Mercury usually use non-direct trajectories where the probe executes one or more swing-bys (gravity

8 assists) along the way. For missions to Mercury these intend to decelerate the spacecraft so that is reaches closer distances to the Sun, while for missions to the outer planets these manoeuvres are employed to accelerate it to reach such great distances. The Sphere of Influence (SoI) of a planet is the region of space around that planet in which its gravi- tational attraction is greater than that of the Sun [14]. Laplace proven that such volume is approximately a sphere centred in the planet and with radius

 2/5 mp RSoI ≈ ρ , (2.16) mSun where mp and mSun are, respectively, the masses of the planet and the Sun and ρ is the distance between them [7]. For the inner planets RSoI is less than 1% of the distance from the Sun to the planet, while for the outer planets such percentage increases up to 6.2% for Jupiter. Nevertheless, it can still be assumed as a first order approximation that in the heliocentric reference frame this radius is negligible, being contracted to a single point at the position of the planet. When comparing to the radius of the planets, RSoI is much larger, changing between 46 times for Mercury and 350 times for Neptune. If a complete and precise determination of the motion of the spacecraft is to be obtained, then a many-body problem must be solved using numerical methods due to its high complexity. Nevertheless, for preliminary designs of interplanetary missions such as those considered here, a simpler model is to be applied which not only produces solutions faster than using a more complex model but also provides better physical insight about the problem itself. This model is the patched conic approximation in which the motion of the spacecraft is divided into different segments/conics depending on whether the probe is within the sphere of influence of a planet (or other celestial body in the Solar System) or in the heliocentric phase of its trajectory (outside any sphere of influence) [7, 14]. Other simplifications can be added to obtain even simpler models, for example, it can be assumed that all planets orbit the Sun in the same plane, meaning that the problem is reduced from three to two dimensions. For an interplanetary transfer from Earth to a planet, the spacecraft’s trajectory is, according to the patched conic approximation, a succession of three two-body problems, being described as follows [7]:

1. Inside the Earth’s sphere of influence, a non-rotating planetocentric reference frame is used to study not only the launch and/or the in which the probe is initially, but also the hyper- bolic orbit to leave the vicinity of the planet. At a great distance, where it crosses the sphere of

influence, the velocity of the spacecraft is almost equal to v∞.

2. Despite being very large when compared to the radius of the Earth, the sphere of influence in the heliocentric reference frame it is very small; so, it is assumed to be a single point. After crossing

the sphere of influence with velocity ~v ≈ ~v∞, the velocity of the spacecraft in this heliocentric reference frame is

~vE = V~E + ~v∞ (2.17)

where V~E is Earth’s velocity in that same frame. From this moment, the space probe travels in a

heliocentric trajectory until it reaches the sphere of influence of the target planet with velocity ~vp.

9 3. After crossing the sphere of influence of the planet, a new change in reference frame is performed to a non-rotating planetocentric one. Here, the spacecraft approaches the planet in a hyperbolic arc whose velocity at infinity can be defined as

~v∞ = ~vp − V~p , (2.18)

being V~p the velocity of that planet in the heliocentric frame. After reaching the periapsis of the hyperbolic orbit, the spacecraft can either be injected in a final elliptical/circular orbit around the planet or just perform a flyby, leaving the planet in that same .

As indicated by the name of the model, the different arcs (conics) flown by the spacecraft and which compose the overall interplanetary trajectory must be patched in order to obtain a somewhat continu- ous trajectory from the departure planet till the arrival at its final destination. This is done through an appropriate choice of orbital parameters and epochs for departure, possible encounters and arrival at the target planet. The key parameters in the design of an interplanetary mission are the target planet, the desired flight time and the launch and/or departure windows [14]. Moreover, for a mission departing from Earth the spacecraft can be directly injected into a hyperbolic orbit by the upper stages of the launcher or be inserted in a (LEO) from which it after injects itself in the departing orbit. The design of the mission is a fundamental step in its performance since it defines the spacecraft mass and, consequently, its size [15]. Although a complete three-dimensional motion is considered in this thesis, by using the 3D of the planets in the Solar System provided by JPL (Jet Propulsion Laboratory) [16], it is assumed that the initial/final orbit is in the same plane as the departing/approaching hyperbolic orbits defined by the heliocentric transfer phase.

2.3 Orbital Manoeuvres

Orbital manoeuvres can be distinguished in two main categories: change in the translational motion (orbit) of the spacecraft or change in its rotational motion to control the attitude of the spacecraft. Due to the nature of this work, only manoeuvres intended to change the orbits of the spacecraft are considered. In addition, it is assumed that all of them consist of impulsive manoeuvres, meaning that the change in the state of the spacecraft, more properly in its velocity vector, occurs instantaneously. This assumption is quite reasonable as a first order approximation when using high thrust propulsion systems where the thrust provided is considerably large. The thrust required to accelerate or decelerate the spacecraft can either be applied closer to a planet or another celestial body, i.e., inside its sphere of influence, or it can be applied when the spacecraft is in a heliocentric transfer. The latter case corresponds to the so called Deep Space Manoeuvres (DSM) and they are mainly used for corrections in the trajectory of the probe so that it correctly reaches its destination.

10 An impulse provided by the thrusters changes the velocity of the spacecraft in ∆~v, without changing its position, at the cost of consuming fuel and the mass of the spacecraft suddenly drops. If the mass immediately before the impulse is equal to m0 then, after the manoeuvre, the final mass of the spacecraft and the fuel mass consumed are given by Tsiolkovsky’s equation [17]:

 ∆v  mf = m0 exp − (2.19a) g0Isp   ∆v  ∆mfuel = m0 1 − exp − , (2.19b) g0Isp

2 where g0 = 9.80665 m/s is the gravitational acceleration near the surface of the Earth and Isp (in seconds) is the specific impulse of the thrusters.

For an impulsive manoeuvre, where the position remains the same during the instantaneous thrusting phase, the change in the orbital energy per unit of mass of the spacecraft, its specific energy, is equal to the change in its [7]:

1 1 ∆E = ∆K = (v2 − v2) = (∆v)2 + ~v · ∆~v, (2.20) 2 f i 2 i which means that the manoeuvre is more efficient, i.e, it requires less thrust for higher change in specific energy, if the impulsive shot is applied when the velocity of the spacecraft ~vi is maximum and it is directed along the direction of that velocity (the same direction to accelerate and opposite direction to brake). Therefore, these manoeuvres should be applied at the periapsis of the orbits for maximum efficiency.

If a change in orbital plane is required, which is a manoeuvre that usually requires a great amount of

∆v and propellant mass, then the expression for the impulsive shot required to change from ∆~vi to ∆~vf , which make an angle between them equal to γ, is given by [14]:

q 2 2 ∆v = vi + vf − 2vivf cos γ . (2.21)

It can be easily proved from Equation (2.21) that if the initial and final velocities have the same magni- tude, the expression for the impulse necessary simplifies to

γ ∆v = 2v sin . (2.22) i 2

Equation (2.22) shows that a pure change in the orbital plane, without changing the magnitude of the velocity, should be executed whenever the velocity is minimum since the impulse required is proportional to that velocity. Also, the bigger the angle γ, the costly the manoeuvre gets.

For a change in magnitude and direction, the optimum solution is very close to a complete change in magnitude at the periapsis where the velocities are maximum and a complete change in direction at the apoapsis for elliptical orbits or at an infinite distance for hyperbolic orbits. Theoretically speaking, a plane change at a infinite distance in a parabolic arc would not require any impulsive manoeuvre since vi = v∞ = 0.

11 2.4 Gravity Assist Manoeuvres (Swing-bys)

Planets and other celestial bodies in the Solar System, apart from the Sun, can be used to increase or decrease the heliocentric energy and velocity of a spacecraft due to an exchange of momentum between both bodies. The conservation of momentum dictates that for such gravitational interaction the following expression must remain valid [18]:

i ~ i f ~ f ms~vs + mpVp = ms~vs + mpVp , (2.23)

where ms and mp are, respectively, the masses of the spacecraft and of the planet and ~vs and V~p are their velocities in an ”inertial” reference frame (heliocentric). The index i refers to the moment immediately before the interaction while the index f refers to the moment immediately after. Equation (2.23) shows that not only does the heliocentric velocity of the spacecraft changes, but also that of the planet. Nevertheless, since mp  ms, the change in V~p is residual. Three main categories of gravity assists exist: unpowered, powered and aerogravity assist [18]. In the first case, the only force acting on the spacecraft during the interaction is the gravitational pull from the planet. On the other side, a powered gravity assist manoeuvre also includes the application of thrust and an aerogravity assist uses the atmosphere of the planet to help changing the energy and velocity of the spacecraft. Only the first two cases will be further considered in this thesis.

2.4.1 Unpowered Gravity Assist

In the case of an unpowered swing-by, where no thrust is applied during the entire manoeuvre, the spacecraft flies a unique hyperbolic trajectory around the planet and energy conservation in the plan- in out etocentric reference frame implies that ||~v∞|| = ||~v∞ ||. Despite having the same magnitude, those velocities at an ”infinite” distance from the planet have different directions and it is that difference that leads to a change in the orbital energy of the probe in the heliocentric frame. This can be better under- stand by looking at the velocity vector diagram presented in Figure 2.1.

Figure 2.1: Velocity vector diagram for an unpowered gravity assist, taken from Melman [18]. The velocities ~v∞ correspond to the velocities of the spacecraft in the planetocentric reference frame upon crossing the SoI of the planet, with heliocentric velocity V~p. The vectorial sum of those velocities leads to the heliocentric velocities of the spacecraft ~vs immediately before and after the swing-by.

12 In the heliocentric reference frame, this manoeuvre is assumed as an ”instantaneous” change in the state of the spacecraft through a change in its velocity at the point where the encountered planet is. However, when zooming in to the planetocentric reference frame, a more complex geometry arises, as shown in Figure 2.2.

Figure 2.2: In-plane geometry for an unpowered swing-by as viewed in the planetocentric frame, taken from Melman [18]. The hyperbolic arc flown by the spacecraft inside the planet’s sphere of influence is presented in red. B~ represents the impact parameter, ~rp points to the periapsis of the orbit where the velocity of probe is ~vp. The angle α is the deflection of ~v∞ during the manoeuvre and β is the angle between the direction of motion of the planet around the Sun and the direction of the periapsis of the hyperbolic arc.

Using the patched conic approximation for the mission’s design, no information about where the interplanetary trajectory of the spacecraft intersects the sphere of influence of the planet can be obtained and, consequently, no information about the impact parameter B (closest distance of the planet to the incoming assymptote) or radius of periapsis rp can be directly obtained. So, these two parameters, related by the expression [7] s 2 4 ! µ B v∞ rp = 2 1 + 2 − 1 , (2.24) v∞ µ are usually left as optimization variables.

By choosing a value for the radius of periapsis rp (or the respective impact parameter B), the following expression holds for the turning (or deflection) angle α of the hyperbolic excess velocity ~v∞ during the manoeuvre [7] α 1 1 1 sin = = 2 = , (2.25) rpv∞ q B2v4 2 e 1 + ∞ µ 1 + µ2 where e is the eccentricity of the hyperbolic orbit. This means that the heavier the planet is or closer the swing-by occurs, the more ~v∞ will bend.

13 The change in the heliocentric specific energy of the spacecraft during the manoeuvre is given by [7]

2Vpv∞ cos β ∆E = 2 ; (2.26) rpv∞ 1 + µ using β = 0 and the periapsis radius equal to the radius of the planet Rp, the maximum theoretical change in specific energy is 2Vpv∞ ∆Emax = 2 . (2.27) Rpv∞ 1 + µ Figure 2.3 presents a plot with the maximum change in the specific orbital energy of a spacecraft after swing-by at five different planets in the Solar System as a function of ||~v∞||. Although it is not plotted, the curve for the Earth is very similar to that of Venus, being always just a little bellow. It can be noticed that the best planets for gravity assist manoeuvres in terms of energetic efficiency are Jupiter, Venus, Saturn and Earth itself.

Figure 2.3: Maximum change in the specific energy of a spacecraft during a swing-by, taken from Cor- nelisse et al. [17] and obtained using Equation (2.27). Only five planets are represented: Venus, Mars, Jupiter, Saturn and Uranus. The curve for Earth follows closely the curve of Venus, being always a little bellow it. Mercury and Neptune are not represented here since they are not very efficient due to the low mass of Mercury and the low orbital velocity of Neptune.

2.4.2 Powered Gravity Assist

If the incoming and outgoing hyperbolic excess velocities are perfectly match in terms of magnitude, in out ||~v∞|| = ||~v∞ ||, and the required turn angle αreq can be provided by just choosing the right radius of periapsis, without going bellow a certain minimum safety radius of periapsis r˜p, then an unpowered in out swing-by is sufficient to match the incoming and outgoing hyperbolic arcs. However, if ||~v∞|| 6= ||~v∞ || and/or the required turn angle is bigger than the maximum value αmax obtained from Equation (2.25) with rp =r ˜p, thrust is necessary to match both arcs, leading to a powered swing-by, whose geometry in the planetocentric frame is presented in Figure 2.4.

14 Figure 2.4: In-plane geometry for a powered swing-by as viewed in the planetocentric frame, taken from Melman [18]. The trajectory now consists of two different hyperbolic arcs matched at the periapis ~rp common to both of them. The half-turn angles from the arrival and departing orbits are now different.

Assuming for now that αreq ≤ αmax, it is only necessary to match the magnitude of the hyperbolic excess velocities of the spacecraft when crossing the sphere of influence of the planet. This match is in entirely made in the periapsis of the trajectory at an altitude such that α = αreq. Since α /2 is different out from α /2, a more complex expression relating α and rp is obtained starting from Equation (2.25):

αin αout 1 1 α = + = arcsin in 2 + arcsin out 2 . (2.28) 2 2 rp(v∞ ) rp(v∞ ) 1 + µ 1 + µ

This deflection α, as given by Equation (2.28), must be equal to the angle between those incoming and outgoing velocities , i.e., in out ~v∞ · ~v∞ α = arccos in out . (2.29) ||~v∞||.||~v∞ ||

To find α from Equations (2.28) and (2.29), an iterative process is required due to the presence of the arcsine functions. Once rp is found, being greater than r˜p because of the assumption of having

αreq ≤ αmax, the impulsive shot required at periapsis is easily obtained from the equations derived for hyperbolic orbits in Section 2.1.3:

s s 2µ 2µ out in out 2 in 2 ∆vp = |vp − vp | = + (v∞ ) − + (v∞) . (2.30) rp rp

If, unlike in the previous case, it is obtained a periapsis altitude smaller than the minimum safety value, because of having αreq greater than αmax obtained from Equation (2.28) with rp =r ˜p, a second impulsive shot must be provided and added to the already obtained ∆vp to get the delta-V budget of the manoeuvre. This second impulse is applied immediately after entering or immediately before leaving the sphere of influence of the planet, where the velocity is smaller, and it serves to rotate the incoming or the outgoing hyperbolic excess velocity by an angle δα = αreq − αmax, so that the swing-by can be correctly executed at the minimum altitude allowed. The magnitude of this second shot is given by

δα ∆v = 2vin/out sin , (2.31) δα ∞ 2

in/out where v∞ is the smallest of both hyperbolic excess velocities.

15 2.5 Lambert’s ”Orbital Boundary-value Problem”

Lambert’s ”orbital boundary-value problem”, also known as Lambert’s problem, is an important result in orbital mechanics and it is widely used in the design of space missions. In simple words, it consists of finding the orbit of a body under an inverse-square central gravitational force (when a point mass is considered) that brings it from point P1 to point P2 in a certain amount of time ∆t [19]. It becomes clear why it is considered a boundary-value problem: knowing the boundaries of the trajectory, it is desired to find the trajectory itself. A simple sketch of a solution corresponding to an elliptical orbit passing through points P1 and P2 is presented in Figure 2.5.

Figure 2.5: Example of an elliptical solution for Lambert’s problem with certain boundary conditions, taken from Battin and Vaughan [19]. The arc to be flown starts in P1 and ends in P2 and takes a certain amount of time ∆t. The main body is located in the focus F of the ellipse. Also, c is the chord connecting both positions and θ is the central angle.

For interplanetary missions, this result plays a fundamental role in the preliminary stages of the mission design, more properly in the heliocentric phases of the trajectory. If the position of the departure planet at t1 is ~r1 and the position of the target planet at t2 is ~r2, then the solution of this particular Lambert’s problem corresponds to the orbit that the spacecraft has to travel around the Sun so that it rendezvous with the target planet at epoch t2; therefore, the transfer time is ∆t = t2 − t1. The original theorem, which is just a reformulation of Kepler’s equation for elliptical orbits [7], was discovered by J.H. Lambert in 1761 and was only applicable to elliptical orbits. It can be stated as follows: the time required to travel an elliptical arc depends exclusively on the semi-major axis a of the orbit, the sum of the radius of both positions r1 + r2 and the distance between those positions c = ||~r2 − ~r1|| [7]. This theorem was only mathematically proven in 1778 by J.L. Lagrange. Since then, many have studied this problem with the intention of making it more general and with applications to the actual design of space missions, especially with the beginning of the space era in the middle of the 20th century [20]. Among those contributions, special emphasis should be given to

16 the work of Lancaster and Blanchard [21], presented in the late 60s, for its unified form of the problem including also a simple procedure for its resolution. Later, Gooding [22] built upon that work to present a high precision and more efficient procedure for all possible geometries of the problem, requiring only three iterations to obtain that high resolution. Finally, Izzo [20] published in 2014 an even better algorithm to solve the problem, built upon those two works mentioned, using a different technique for choosing the initial guesses of the parameters used in the iterative process, making it even more efficient.

2.5.1 Izzo’s Final Form of Lambert’s Problem

From all the different approaches existing to solve Lambert’s problem, either referred in the last paragraph or not, the one that has been chosen to use in this thesis is that of Izzo [20]. The rea- son for this selection is that it is very general, considering elliptical, parabolic and hyperbolic solutions and single-revolution and multi-revolution solutions, being also one of the most efficient in terms of the computational cost required to obtain high precision results. Moreover, this specific Lambert solver is already implemented and tested in PyKEP,simplifying the implementation of the code as presented later in Chapter5. Only the main results and equations for this final form of the problem are presented here. The reader is invited to read Izzo’s article, mentioned in the last paragraph, to get a complete derivation of the procedure if interested in that. In addition, the equations derived and presented here consider both elliptical and hyperbolic orbits. In the case of parabolic orbits, Battin’s work [19] is used by the author to obtain the solution and can be also seen in both articles, not being presented here. The derivation starts from Kepler’s equation for the transfer time between two points for both elliptical and hyperbolic orbits:

 q a3  (E2 − E1 + e cos E1 − e cos E2 + 2Mπ) (elliptical) ∆t = t − t = µ (2.32) 2 1 q  −a3  µ [e cosh H2 − e cosh H1 − (H2 − H1)] (hyperbolic) where M is the number of complete revolutions (M ≥ 0 for elliptical orbits and M = 0 for parabolic and hyperbolic ones) and Ei and Hi are, respectively, the eccentric and hyperbolic anomalies at epoch ti and related to the true anomaly θi by [7]

E r1 − e θ tan i = tan i (2.33a) 2 1 + e 2 H re − 1 θ tanh i = tanh i . (2.33b) 2 e + 1 2

The final equation to be solved makes direct and indirect use of several parameters related to the boundary conditions of the problem. One of them is the semi-perimeter of the triangle formed by the position vectors ~r1, ~r2 and the vector ~c connecting them:

r + r + c s = 1 2 . (2.34) 2

17 A non-dimensional parameter λ is also used and it is related to that semi-perimeter s and chord c of the triangle by √ r r θ r c λ = 1 2 cos = 1 − ; (2.35) s 2 s

λ ∈ [−1, 1] is positive for θr ∈ (0, π) and negative for θr ∈ (π, 2π), where θr is the transfer angle reduced to the interval (0, 2π).

The transfer time ∆t is also made non-dimensional by using

r2µ T = ∆t (2.36) s3 in order to obtain a completely non-dimensional equation for the final form of the problem. Also, the different parameters s, λ and T can be known a priori from the conditions of the problem.

With all those parameters defined, the final form of the problem is given by the following equation:

! 1 ψ + Mπ T = − x + λy , (2.37) 1 − x2 p|1 − x2| where x is the variable to which the problem is solved, being also non-dimensional and related to the semi-major axis of the orbital solution by s x = 1 − . (2.38) 2a

This variable lies in the interval (−1, 1) for elliptical orbits and is bigger than 1 for hyperbolic ones. For x = 1 the solution is a parabolic arc but a different method should be used due to the cancellation of the numerator and denominator in Equation (2.37), leading to a lack of precision in the results.

The non-dimensional auxiliary variables y and ψ, used to simplify the writing of Equation (2.37), are obtained from the variable x and the parameter λ. The former is simply given by y = p1 − λ2(1 − x2), while the latter must be computed regarding the type of orbit: for elliptical solutions it is obtained from

cos ψ = xy + λ(1 − x2) (2.39a) p sin ψ = (y − λx) 1 − x2 (2.39b) and for hyperbolic solutions it is obtained from

cosh ψ = xy − λ(x2 − 1) (2.40a) p sinh ψ = (y − λx) x2 − 1 . (2.40b)

Once the solution x, and corresponding value for y, is obtained through an iterative process, as explained later in Section 2.5.3, the actual orbit to be flown can be computed by knowing the initial and

final positions (~r1 and ~r2) from the problem’s definition and the initial and final velocities (~v1 and ~v2) computed from

~vi = vr,i~ir,i + vt,i~it,i , (2.41)

18 where the unit vectors are obtained from ~r1 and ~r2, as explained in Izzo [20]. Besides those unit vectors, the other parameters in Equation (2.41) are obtained using the following expressions:

vr,1 = γ[(λy − x) − ρ(λy + x)]/r1 (2.42a)

vr,2 = −γ[(λy − x) + ρ(λy + x)]/r2 (2.42b)

vt,1 = γσ(y + λx)/r1 (2.42c)

vt,2 = γσ(y + λx)/r2 , (2.42d)

p p 2 where γ = µs/2, ρ = (r1 − r2)/c and σ = 1 − ρ are just auxiliary parameters.

2.5.2 Single-revolution versus Multi-revolutions

To help understand the solution space of Lambert’s problem as derived by Izzo in terms of the universal variable x, it is presented in Figure 2.6 the curves for T with respect to x for different values of the parameter λ and different values of complete revolutions (M ≥ 0). It is clearly noticed how multi-revolutions can only occur for elliptical solutions, where |x| < 1. A unique solution is always obtainable for the single-revolution case (M = 0) with λ 6= 1. However, in a multi-revolution case, with a certain value for M, there are zero, one or two solutions depending on M T and Tmin, which is the minimum transfer time needed for the existence of a solution with M complete revolutions and whose value increases with M. If T < Tmin, no solution exists. On the other hand, if T > Tmin then two solutions x1 and x2 (with x1 < x2) are obtainable. In the limit case of having

T = Tmin, both solutions converge to xTmin , leading to a single solution for the problem. It is easily shown that if Mmax is the maximum value for which solutions exist, then the total number of solutions for

Mmax Mmax that particular problem is 2Mmax + 1 if T > Tmin or 2Mmax if T = Tmin .

Figure 2.6: Non-dimensional transfer time curves as a function of x for different values of λ and M, taken from Izzo [20]. The different curves correspond to the solution of Equation (2.37) for different values of the parameters λ and M and of the variable x.

19 2.5.3 Izzo’s Approach to Solve Lambert’s Problem

Equation (2.37) cannot be solved implicitly and, for that reason, an iterative process must be adopted to obtain an approximate solution x˜ as close as possible to the actual solution x. Using x as the iterative variable, Householder iterations are employed to obtain the solution of the problem, rewritten now as

! 1 ψ + Mπ f(x) = − x + λy − T = 0 , (2.43) 1 − x2 p|1 − x2| where y and ψ are found from x during each iteration using the equations presented in Section 2.5.1. Starting from an initial guess x0, at each iteration the new value of x is obtained from the previous one using [f 0(xk)]2 − f(xk)f 00(xk)/2 xk+1 = xk − f(xk) , (2.44) [f 0(xk)]3 − f(xk)f 0(xk)f 00(xk) + f 000(xk)[f(xk)]2/6 where the first three derivatives of f with respect to x are computed recursively as follows:

df 1  x f 0 = = 3x(f + T ) − 2 + 2λ3 (2.45a) dx 1 − x2 y d2f 1  1  f 00 = = 3(f + T ) + 5xf 0 + 2λ3(1 − λ2) (2.45b) dx2 1 − x2 y3 d3f 1  x  f 000 = = 7xf 00 + 8f 0 − 6λ5(1 − λ2) . (2.45c) dx3 1 − x2 y5

Knowing the iteration variable and the iterative algorithm, the only step left is the definition of the initial guess for x, which depends on considering a single-revolution or a multi-revolution case. This is the most relevant improvement that Izzo brought, leading to a more efficient algorithm. For the single-revolution case, where only one solution exists, the initial guess for the iteration variable should be determined by  2/3 T0   T − 1 if T ≥ T0  0  x = 5T1(T1−T ) , 5 + 1 if T ≤ T1 (2.46)  2T (1−λ )  log (T /T )  T0  2 1 0 T − 1 if T1 < T < T0 √ 2 being T0 = arccos λ + λ 1 − λ the value of T obtained from Equation (2.37) with x = 0 (and M = 0) 3 and T1 = 2(1 − λ )/2 the value of T for x = 1 obtained from Battin and Vaughan [19]. Contrary to the previous situation, the multi-revolution case brings two solutions to the same bound- ary conditions and for a specific number of complete revolutions M, assuring that the non-dimensional transfer time T is bigger than a certain minimum value Tmin, for which a single solution exists and bel- low that no solutions can be obtained. Assuming that T > Tmin, i.e., two solutions exist, then the initial guesses to search for the first and second solutions (with x1 < x2) are obtained from

Mπ+π 2/3 0 8T − 1 x1 = (2.47a) Mπ+π 2/3 8T + 1 8T 2/3 0 Mπ − 1 x2 = . (2.47b) 8T 2/3 Mπ + 1

20 Chapter 3

The Multiple Gravity Assist Trajectory Problem

The complete motion of a spacecraft in an interplanetary transfer is complex and can be modelled as an N-body problem with N being large enough for not allowing a complete analytic solution. Therefore, it is necessary to find simpler models allowing faster searches for solutions. These models should be simple enough so that solutions can be found, but accurate enough to make sure that those solutions found have physical meaning. The multiple gravity assist trajectory problem, studied here, uses the patched conic approximation and allows direct trajectories as well as those with one or more swing-bys.

3.1 Problem Definition and Notation

The multiple gravity assist (MGA) trajectory problem is an interplanetary trajectory design optimiza- tion problem to minimize the propellant and total masses required to deliver a certain payload mass to a celestial body (planet, asteroid or comet) or to maximize the payload mass that can be delivered regarding the capabilities of the launcher used [23]. This is equivalent to maximizing the ratio between the final and initial masses of the spacecraft, mf /ms. The spacecraft leaves a departure celestial body and travels to the target body and the trajectory can be direct or have N swing-bys along the way. The notation used for the rest of not only this chapter but the thesis itself is the same as presented in the works of Izzo [2] and Addis et al. [24]. Therefore, the state vector of the spacecraft is used in Cartesian coordinates and it is given by

h i ~x = ~r ~v m , (3.1) where ~r and ~v are, respectively, the position and velocity vectors of the spacecraft and m is its mass.

Each component of that state vector is denoted as xi. The positions and velocities of the celestial bodies are denoted by capital letters, R~ i and V~ i, to distinguish from those of the spacecraft. Hence, the departure planet has index i = 0, the next N swing-by manoeuvres occur at the bodies with indexes

21 i = 1, 2, ..., N and the target celestial body corresponds to index i = N + 1. Each phase of the interplanetary trajectory corresponds to the interplanetary leg where the space- craft is at that moment. During those phases the state vector of the spacecraft is represented by ~xi, where i is the phase index. Further, each leg’s index i corresponds to a transfer from the celestial body with index i − 1 to the one with index i. Moreover, if the subscript ”s” represents the start of a phase and the subscript ”f” its end, then the state vectors of the spacecraft at those phases’ extremes are given by

 i i i ~xs = ~x (ts) , (3.2)  i i i ~xf = ~x (tf )

i i th where ts and tf are the starting and ending epochs of the i phase.

3.2 General Form of the Problem and Simplifications

Using the notation presented in Section 3.1, the most general version of the problem to be optimized can be expressed as [2]:

Z tf Optimize: φ(ts, tf , ~xs, ~xf ) + L(~x(t), ~u(t), t)dt (3.3) ts Subjected to: ~x˙ = ~a(~x,t) + ~u(t) dynamic conditions,

G(ts, tf , ~xs, ~xf ) ≤ 0 boundary conditions,

~u ∈ U(~x,t) propulsion conditions, where ~a(~x,t) are the accelerations due to the external forces applied on the spacecraft and ~u(t) is the control acting through the propulsion system. This propulsion system produces a thrust T~i at time ti where the spacecraft’s instantaneous mass is mi. Also, the function to be optimized can have two terms: the first term φ depending only on the initial and final conditions of the problem and the second term R Ldt depending on the actual trajectory to be followed by the spacecraft. As presented in Equation (3.3), the general form of the problem is very difficult to handle and hardly any solution can be found or, at least, in a reasonable amount of computation time. For that reason, several simplifications are assumed to obtain a simpler yet representative model of that problem, whose solutions can be achieved in a acceptable amount of time. The simplifications used to define the actual MGA problem that will be used until the end of this thesis are [2]:

• Outside the spheres of influence of the planets, the only external force acting on the spacecraft is due to the (point mass) gravitational attraction exerted by the Sun and whose acceleration is given by µ ~a(~r) = − Sun ~r, (3.4) r3

where µSun is the gravitational constant of the Sun. This assumes that the frame used is centred in the Sun, i.e., an heliocentric reference frame.

22 • The sequence of celestial bodies visited by the spacecraft (including the departure and target ones) and the number of multi-revolutions per interplanetary leg must be provided by the user as an input, not being an optimization parameter.

• The interactions with the different celestial bodies (except the Sun) only occur inside their spheres of influence, being these reduced to single points in the heliocentric reference frame.

• The gravity assist manoeuvres are treated as instantaneous discontinuities in the state of the i i+1 i i i+1 i spacecraft. So, the change in state vector is given by ∆~x = ~xs − ~xf and ∆t = ts − tf = 0.

• The only constraint in the swing-by trajectories around the planets is in the minimum (safety) value allowed for the radius of periapsis of the approaching and departing hyperbolic arcs.

• All manoeuvres executed are assumed to be impulsive due to the use of high thrust propulsion, i.e., they change the velocity of the spacecraft instantaneously.

• Thrust is only executed at the beginning of the trajectory (to put the spacecraft in a departing hyperbolic orbit), in the end to insert it in an orbit around the target planet (if rendezvous is required instead of just a flyby) and during the powered gravity assist manoeuvres at the intermediate bodies. Therefore, the total delta-V budget for the mission is given by

N dep X i arr ∆vtotal = ∆v + ∆v + ∆v , (3.5) i=1

meaning that no Deep Space Manoeuvres (DSM) are considered in this thesis for the sole purpose of only treating the influence of multi-revolutions when comparing to single-revolutions.

3.3 Final Form of the Problem

By applying all the simplifications presented in the last section to the general problem, given by Equation (3.3), it is possible to obtain a much simpler optimization problem to analyse, which still well represents the actual trajectory of the spacecraft in its interplanetary flight. Just like for the general form, the final form of the MGA optimization problem can be given in a similar way to Equation (3.3). This mathematical way of writing the problem is [2]

Optimize: f(~p) (3.6)

Subjected to: G(~p) ≤ 0 boundary conditions,

i i rp ≥ r˜p phase matching conditions.

In Equation (3.6), f is the problem’s objective/cost function to be minimized and usually corresponds to the delta-V or mass budgets, ~p is the decision vector with the optimization variables of the problem (defined later) and G(~p) represents the boundaries for those different variables in that decision vector,

23 i i usually their upper and lower bounds. The parameters rp and r˜p are, respectively, the actual radius of periapsis at the different gravity assists bodies and its minimum safety value. Figure 3.1 presents a sketch of the phases of the trajectory followed by the spacecraft from departure till arrival at its destination. Although it displays at least one gravity assist manoeuvre, direct transfers are also possible by setting N to be zero. If there are N swing-bys in the whole trajectory, it is clear that the number of interactions with celestial bodies is N + 2 and that the number of interplanetary legs (phases of the trajectory) is N + 1. A more detailed explanation of different crucial aspects in this problem is presented next.

Figure 3.1: Sketch of the different phases in the multiple gravity assist (MGA) trajectory followed by the i spacecraft. The variables t represent the encounter epochs and Ti are the durations of the different phases (interplanetary legs).

Decision Vector

There are several ways to define the decision vector ~p to be optimized by using different but related sets of parameters. The one used here is one of the simplest vectors containing only the departure epoch tdep and the durations of the different legs T i with i = 1, 2, ..., N + 1. This is only possible because it is assumed that the swing-by trajectories are designed (within the problem definition) to exactly match the incoming and outgoing hyperbolic orbits. So, the decision vector can be written as

h i ~p = tdep T 1 T 2 ... T N+1 . (3.7)

Spacecraft Mass and Objective Function

After the application of an impulsive manoeuvre, the total mass of the spacecraft decreases because of the consumption of fuel, whose mass also decreases. The final value of the total mass after the execution of a manoeuvre ∆v can be obtained from Equation (2.19a); therefore, the instantaneous total mass of the spacecraft at epoch t, which initially has mass m0, is given by

" dep 0 PN i i arr N+1 # ∆v H(t − t ) + i=1 ∆v H(t − t ) + ∆v H(t − t ) m(t) = m0 exp − , (3.8) g0Isp where H(t) is the Heaviside step function [2] and ti with i = 0, 1, ..., N + 1 are the instants (epochs) at which the impulsive manoeuvres are applied.

24 Many times the main goal of the MGA problem is the maximization of the ratio between the payload mass and the total mass of the spacecraft or, in other words, the minimization of the ratio between the total mass and payload mass. Since no payload is expelled during the overall trajectory and the thrusting conditions remain the same (the specific impulse Isp is constant), this is equivalent to the minimization of the the delta-V budget of the mission due to the exponential behaviour present in Equations (??) and (3.8). For that reason, the objective function to be minimized later is

N dep X i arr f(~p) = ∆vtotal = ∆v + ∆v + ∆v . (3.9) i=1

Encounter Epochs and Mission’s Duration

The encounter epochs between the spacecraft and the different celestial bodies it interacts with (plan- ets, asteroids or ) is important to determine R~ i and V~ i. Those epochs can be easily computed from the variables in the decision vector using

i X ti = tdep + T k , (3.10) k=1 where tarr = tN+1. Moreover, the total duration of the interplanetary trajectory, also known as time of flight, is just the sum of the durations of the different segments of the overall trajectory:

N+1 X i TOF = ∆ttotal = T . (3.11) i=1

Departure from the Initial Body

The departure from the initial body can be treated in two different ways: 1) the launcher puts the spacecraft directly in its leaving (hyperbolic) orbit or 2) the launcher puts the spacecraft in a parking orbit with semi-major axis adep and eccentricity edep and only then the spacecraft is injected into the departing orbit. In the first case, no impulsive manoeuvre is required from the spacecraft itself, ∆vdep = 0, but then dep v∞ becomes a constraint regarding the characteristics of the launcher used. In the second case, the propulsion system of the spacecraft has to provide the required impulse, given by

s s 2µ µ 1 + edep ∆vdep = v − v = dep + (vdep)2 − dep · . (3.12) p,hyperbolic p,initial adep(1 − edep) ∞ adep 1 − edep

Interplanetary Legs (Arcs)

During the transfer between two celestial bodies, the spacecraft follows a Keplerian orbit governed by the gravitational force of the Sun. Therefore, the ith interplanetary arc of the overall trajectory is a solution of Lambert’s problem for a transfer from body i − 1 to body i in a transfer time T i seconds. This

25 is mathematically described as  ~r˙ i = ~v i   ˙ i µSun . (3.13) ~v = − r3 ~r   i ~ i i i ~ f i ~rs = R (ts), ~rf = R (tf )

i i The total number of solutions for that specific transfer is equal to 2(1 + 2Mmax), where Mmax is the maximum number of complete revolutions (multi-revolutions) the spacecraft can travel for the problem’s conditions. Only posigrade orbits are considered since retrograde ones require huge delta-V budgets; this reduces the number of solutions in half. Hence, the total number of solutions for the entire trajectory N+1 i and with the same decision vector ~p is equal to Πi=1 (1 + 2Mmax).

Gravity Assist Manoeuvres

Each gravity assist manoeuvre, at a certain celestial body and at time ti, is considered as an in- i i+1 stantaneous change in the state vector of the spacecraft. Since it is considered that tf = ts , then the position vector remains the same. The mass of the spacecraft only decreases if an impulsive manoeuvre is executed during the manoeuvre; otherwise, it remains constant. Finally, the velocity changes to match the initial velocity of the next heliocentric leg. i If the new velocity can be obtained by just varying the value of rp, not being required to go bellow i in the safety value r˜p, then the impulsive manoeuvre is only performed at the periapsis to match ||~v∞|| and out i ||~v∞ ||, if necessary. However, if the change in direction is such that the value of rp must be smaller than i i i r˜p, then it is used rp =r ˜p and an additional impulse is executed immediately after entering the sphere of influence of the planet or immediately before leaving it just to decrease the required turning angle from i i i αreq to αmax determined by r˜p.

Arrival and Rendezvous with the Target Body

Once the spacecraft arrives at its destination, two options exist and they will depend on the require- ments of the space mission: 1) the spacecraft can just perform a flyby around that body (as the New Horizons did upon encountering Pluto [1]) or 2) it is inserted into an elliptical/circular orbit around that body with semi-major axis aarr and eccentricity earr. In the first case, no impulsive manoeuvre is nec- essary, meaning that ∆varr = 0. However, the second case requires a deceleration of the spacecraft through an impulse opposite to the velocity’s direction and with magnitude

s 2µ rµ 1 + earr ∆varr = v − v = arr + (varr)2 − arr · . (3.14) p,hyperbolic p,final aarr(1 − earr) ∞ aarr 1 − earr

26 Chapter 4

Optimization

Optimization is the process of obtaining the best solution(s) for a certain problem from a set of possible solutions regarding some criteria and constraints coming from the problem’s definition [25]. Depending on the problem, the optimum solution can be either the maximum or the minimum of a certain objective function. In the latter case, the objective function is also known as cost function. Depending on the nature of the problem, the optimization can either be linear or non-linear, single- or multi-variable and single- or multi-objective. Different algorithms exist to perform this important step in many design problems, being some better than others depending on the characteristics of the problem analysed.

4.1 Optimization in the Design of Interplanetary Missions

Optimization is an important step in almost every fields of engineering, especially when designing something, for instance a car or even software. In space missions, this process is crucial since there are an infinite number of possible solutions for an interplanetary mission’s trajectory but only some are feasible and met all the different constraints imposed. When considering the optimization of space missions, one may distinguish between two different categories: systems optimization and trajectory optimization. The former is related to the performance parameters of the space systems, such as the propulsion and control systems, while the latter concerns with the launcher, trajectory and manoeuvres applied to the overall space system [26]. Due to the nature of this work, it is clear that it falls in the category of trajectory optimization since the entire study is made to optimize the interplanetary trajectory with no assumptions whatsoever on the spacecraft itself, except considering high thrust propulsion leading to the assumption of impulsive manoeuvres. The topic of optimization of interplanetary trajectories is very rich and there is a lot of previous work done in this field by different people around the globe. However, this thesis is based on the works of Izzo [2], Izzo et al. [23] and Addis et al. [24] because of the similarities and consistency of the derivations of the problem to be analysed as well as the optimization methods to be used. Moreover, Izzo [2] presents a very complete description of the MGA and MGA-1DSM problems and also several results for some practical examples using different optimization algorithms. Furthermore, the problem transcription

27 considered there is the same one used in the toolboxes PyGMO and PyKEP used to develop the code, which simplifies a lot its implementation as described in Chapter5. Due to the still very complex mathematical model for the multiple gravity assist trajectory problem as defined in Chapter3, it is not practical to use calculus based optimization schemes which require to know not only the objective function itself but also its derivatives; therefore, stochastic and/or heuristic optimization methods are used instead to find solutions as good as possible in terms of minimization of the total delta-V budget of the space mission. To obtain full advantage of the optimization phase, it is used not only global optimization but also local optimization. Global optimization serves to find the global optimum solution for a certain problem. On the other side, local optimization is intended to find local optimum solutions in a subset of the entire search space, which may not correspond to the global optimum. Here, local optimization is used to refine the best solutions found with the global optimization process. Several algorithms can be applied to optimize the MGA problem. Also, a large variety of algorithms are already implemented in PyGMO [12] such as Differential Evolution (DE), Particle Swarm Optimiza- tion (PSO), Genetic Algorithms (GA) and others. In Izzo [2], the author states that the two best global optimization algorithms for the analysis of the MGA problem are Differential Evolution and Simulated Annealing with Adaptive Neighbourhood (SA-AN). For that reason, and being known the relevance of the author in the studies of interplanetary missions optimization, in this thesis those two optimization algorithms will be adopted. Further, for local optimization it is used the Compass Search (CS) algo- rithm because of its simplicity. A more detailed explanation about those three methods is presented in Sections 4.2 to 4.4.

4.2 Differential Evolution (Global)

Differential Evolution (DE) was first presented in the work of Storn and Price [27] and corresponds to a metaheuristic method used for global optimization over continuous search spaces. As stated in the mentioned article, which is the basis of the derivations presented in this entire section, this algorithm is designed to fulfil the following requirements, generally demanded for a minimization algorithm:

1. Able to treat nonlinear, non-differentiable and multimodal objective functions by using stochastic search techniques.

2. Simple and robust method with just a few optimization control variables.

3. Good convergence proprieties.

4. Allows parallelization to decrease the computation times by using independent perturbations for the decision vectors of a population.

After many tests have been conducted for comparison of this algorithm with others (evolutionary algorithms, annealing methods and the method of stochastic differential equations), in most cases the DE outperformed those other optimization techniques. This positive outcome results from obtaining

28 better final minimum solutions with less function evaluations, being more efficient. In addition, as stated in Section 4.1, it is one of the best methods to study the multiple gravity assist trajectory problem.

4.2.1 Method Description

Differential Evolution is a direct search method which tries to find the optimum solution for the de- 1 2 D cision vector ~popt = {p , p , ..., p }, which minimizes (or maximizes if maximization is required) the cost (objective) function f(~p). That function is D-dimensional if the vector ~p has D independent vari- ables/parameters to optimize [28]. It is a direct search method because it does not require any informa- tion about the gradient of the objective function. Also, its principle of search for the best solution is that of using the difference vector of two randomly selected vectors in the population to perturb a third one.

If the population is constituted of NP elements (individuals), each can be represented as

1 2 D ~pi,G = {pi,G, pi,G, ..., pi,G} (4.1)

where i = {1, 2, ..., NP } is the index representing that element in the population and at generation G. The number of elements in the population remains constant during the entire optimization process.

Once the first generation (G = 0) is defined, through uniform selection over the entire search space, the process is just a repetition of three steps which evolve the population from that initial generation till a maximum value Gmax. These three important steps are mutation, crossover and selection [27].

Mutation

Construction of a new (mutant) vector, ~vi,G+1, from three different randomly chosen elements of the current population and also different from ~pi,G itself. The arbitrarily chosen vectors, with random indices r1, r2, r3 ∈ {1, 2, ..., NP }, produce the new vector using the relation

~vi,G+1 = ~pr1,G + F (~pr2,G − ~pr3,G) , (4.2) where F is a real constant parameter from the interval (0, 1]. This step and, consequently, the following two are executed for each element in the population at the current generation.

Crossover

”Mixing” of the mutant vector obtained in the previous step with the corresponding original element

~pi,G to produce a new possible member for the population in the next generation. It can already be stated that the minimum number of population elements required for this method to work is four (NP ≥ 4).

If the two vectors ~pi,G and ~vi,G+1 are represented as in Equation (4.1) as well as the resulting vector

29 ~ui,G+1, then each element of the new vector with index j = {1, 2, ..., D} is given by

 vj (j) ≤ CR j = (i) j  i,G+1 if rand or rnbr ui,G+1 = , (4.3)  j pi,G if rand(j) > CR and j 6= rnbr(i) where CR ∈ [0, 1] is the crossover constant (specified by the user) and which is compared to the random number obtained with rand(j) ∈ [0, 1] to see whether the parameter of the new vector comes from the original vector or the mutant one. The comparison of j to the randomly chosen index rnbr(i) ∈

{1, 2, ..., D} is only to make sure that ~ui,G+1 receives at least one parameter from the mutant vector; otherwise, it could stay equal to the original one.

Selection

Decision on whether the new element ~ui,G+1 should be part of the new generation of the population by replacing ~pi,G or not. It is based on the greedy criterion, in other words, if the new vector improves the value of the objective function then ~pi,G+1 = ~ui,G+1, if not, then ~pi,G+1 = ~pi,G.

4.2.2 Variants of the Method

Besides the standard (original) implementation as described in Section 4.2.1, there are other variants for the DE method which may or may not improve the overall optimization process. The notation used to classify the different variants of the method is [27]:

DE/x/y/z (4.4) where x = {rand, best, rand to best} specifies the vector to be used in the mutation step (randomly chosen, best in the entire population or between them), y = {1, 2} the number of difference vectors to be used in the mutation and z = {exp, bin} defines the crossover scheme (exponential or binomial crossover) [27, 28]. PyGMO has 10 different variants of the DE algorithm implemented [12], corresponding to ten different combinations of the x, y and z parameters in (4.4). The first five variants are equal to the last five differing only in the crossover scheme used, respectively, exponential and binomial crossover. Apart from that, the only change in the algorithm is in the mutation process represented by Equation (4.2)[28]:

• Variants 1 and 6: DE/best/1/exp and DE/best/1/bin

~vi,G+1 = ~pbest,G + F (~pr1,G − ~pr2,G) (4.5)

• Variants 2 and 7: DE/rand/1/exp and DE/rand/1/bin

~vi,G+1 = ~pr1,G + F (~pr2,G − ~pr3,G) (4.6)

30 • Variants 3 and 8: DE/rand to best/1/exp and DE/rand to best/1/bin

~vi,G+1 = ~pr1,G + F (~pbest,G − ~pr1,G) + F (~pr2,G − ~pr3,G) (4.7)

• Variants 4 and 9: DE/best/2/exp and DE/best/2/bin

~vi,G+1 = ~pbest,G + F (~pr1,G − ~pr2,G) + F (~pr3,G − ~pr4,G) (4.8)

• Variants 5 and 10: DE/rand/2/exp and DE/rand/2/bin

~vi,G+1 = ~pr1,G + F (~pr2,G − ~pr3,G) + F (~pr4,G − ~pr5,G) (4.9)

4.2.3 Control Parameters Selection

In order to have a more efficient optimization process using Differential Evolution, a certain set of control parameters is needed to improve the process of finding optimum solutions. This method presents four control parameters: the maximum number of generations Gmax, the size of the population NP , the mutation constant F and the crossover constant CR. The maximum number of generations is specified by the user and since each generation presents a better or equal optimum solution with respect to the previous generations, the bigger the value of Gmax the bigger the possibility of obtaining better solutions. The number of elements in a population, depending on the variant used, must be greater or equal to 4 or 6. However, good results are more likely to occur when using more elements, increasing also the optimization time. So, a good choice for NP is between 5D and 10D, where D is the dimension of the objective function. F equal to 0.5 is a good initial choice, but if the process converges prematurely then the values of NP and/or F should be increased. As for CR, 0.1 is a good initial choice; nevertheless, a value of 0.9 or 1.0 should be tested first to see if a quick solution can be found [27].

4.3 Simulated Annealing with Adaptive Neighbourhood (Global)

Simulated Annealing with Adaptive Neighbourhood (SA-AN) was first presented by Corana et al. [29] and it is derived from the original Simulated Annealing (SA) method first introduced in the work of Kirkpatrick et al. [30]. The analogy between this metaheuristic algorithm and the annealing of metals (changes of state while minimizing energy) is the reason for its name [25]. The SA method, only defined for minimization of cost functions defined in a discrete domain, starts with a coarse search over the entire search space looking for the region where the global minimum should be found and then performs a finer search over that region. The SA-AN variation allows it to handle functions defined over a continuous domain by introducing adaptive moves along the coordinate (parameters) directions [29]. To solve the issue of becoming trapped around a local minimum, SA-AN allows uphill jumps under the control of a probabilistic criterion defined as the Metropolis criterion [30], which always accepts downhill moves and only accepts uphill moves with a decaying exponential probability density function depending

31 on the magnitude of that jump. Despite presenting higher cost in terms of function evaluations when comparing to other optimization methods, it is more reliable in finding a solution and presents better results when the cost function is ill-conditioned with a huge number of local minima [29].

4.3.1 Method Description

The Simulated Annealing with Adaptive Neighbourhood algorithm is employed to minimize a certain cost function f(~p), where ~p = (p1, p2, ..., pD) is the D-dimensional decision vector. Each parameter pj must be inferiorly and superiorly bounded, i.e., lbj ≤ pj ≤ ubj. The objective function f must be bounded as well but it is not required for it to be continuous. Without loss of generality, it is considered here the case in which there is only one element in the population since more elements are treated the same way and independently from each other. The entire description made here is based on Corana et al. [29].

Starting from ~p0, the algorithm generates a series of new vectors ~pi tending to the global minimum of f. The next point ~pi+1 is obtained from ~pi through random moves centred in that vector and performed sequentially along every direction. The motion along the jth parameter is mathematically given by

0 p [j] = pi[j] + r v[j] , (4.10) where ~p 0 is the intermediate vector which is accepted or rejected according to the Metropolis criterion: 0 0 if ∆f = f(~p ) − f(~pi) ≤ 0 then the new point is accepted and ~pi+1 = ~p ; otherwise, accept the new point with an acceptance probability  ∆f  P (∆f) = exp − , (4.11) T where T is the temperature parameter. The step vector ~v represents the maximum magnitude allowed for the moves along the D parameters of ~p and r ∈ [−1, 1] is a random uniformly distributed number. After each move along a certain parameter pj is tested, accepted or not, the process proceeds to the next parameter pj+1 in the decision vector until it is reached j = D. However, if the new parameter’s value in ~p 0 falls outside the search space, a new point is chosen until one between lbj and ubj is obtained. Once the motion along all directions is executed, the process starts again from the first parameter

(j = 1). This overall cycle is repeated NS times using the same step vector ~vm, after which it is updated using the expression presented in Corana et al. [29]. This overall cycle is repeated NT times using the same temperature parameter Tk, after which it is reduced by a reduction coefficient rT ∈ (0, 1), i.e.,

Tk+1 = rT Tk , (4.12)

meaning that a temperature reduction occurs every NT NSD moves attempts. After the temperature is reduced, this most external cycle starts using the best solution found so far, ~popt.

If after Nε temperature reduction cycles there is no improvements in the objective function f above a certain threshold ε, the iterative process finishes and the current ~popt is returned as the ”global” minimum fopt = f(~popt). It can be seen that the SA-AN algorithm is more complex than the Differential Evolution one, not only in the procedure but also in the number of control parameters required.

32 4.3.2 Control Parameters Selection

Apart from the initial element ~p0 from which the optimization starts (either one or more elements in the population), it is required to define eight control parameters for this method: the initial temperature

T0 and its reduction coefficient rT ; the initial step vector ~v0 and the varying criterion ~c used to update it; the number of steps until changing the step vector NS and until the reduction in temperature NT occurs; the termination criterion threshold ε and the number of cycles without relevant improvements Nε. As presented in Corana et al. [29], reasonable values for some of the control parameters are the j following: NS = 20, NT = max(100, 5D), Nε = 4, rT = 0.85 and c = 2 for j = 1, 2, ..., D. The other three variables are completely defined by the user, such as the initial magnitude of the steps allowed, as defined in ~v0. ε will only depend on the precision required by the user and the smaller the value the more it takes to converge. Lastly, the initial temperature T0 will affect the search since at higher temperatures only the gross behaviour of the objective function is important and as the temperature decreases, finer details of that function are considered.

4.4 Compass Search (Local)

Compass Search (CS) is a very simple local optimization algorithm which uses direct search to find the local optimum. It was one of the earliest examples of direct search optimization used in a digital computer [31]. Its simplicity relies on the fact that it is a derivative-free method, in other words, it is not required to have any information about the gradient of the objective function. Being a local optimizer, it is inefficient when first analysing the multiple gravity assist trajectory problem, which presents a great number of local minima, existing the risk of becoming trapped around a local minimum, returning a non- global optimum solution. Still, it can be used after the application of a global optimization algorithm, such as those in Sections 4.2 and 4.3, just to refine the optimum solution found previously. The principle behind this method’s search for the local minimum (considering a minimization problem) it the following [31]: 1) try steps in the positive and negative directions of each parameter in the decision vector and 2) if one of these steps returns an improvement to the cost function, this step becomes the new solution; if none of them returns a better solution, try again but with smaller steps. Despite being slow, its simplicity and robustness when near a local and/or global minimum makes it a good choice to use after the use of global optimization methods. This process is only suited for single-objective box constrained problems.

4.4.1 Method Description

Different variations of this method exist, differing only in small aspects. The one described here is that used in the actual algorithm’s code in the C++ PaGMO (Parallel Global Multiobjective Optimizer) toolbox [32] and which is then exposed to Python leading to the PyGMO toolbox [12]. The methodology followed in that code is very similar to the one presented in the book of Griva et al. [33] but with some changes regarding the choice of the magnitude of the steps and as soon as a better solution is found

33 with one step, it automatically jumps to that solution and the process repeats (even if it is not the best of all possible steps in that iteration). Four parameters control the optimization process and must be defined by the user at the beginning: the maximum number of evaluations max eval > 0, the start range ∆start ∈ (0, 1), the stop range

∆stop ∈ (0, 1) and the reduction coefficient R ∈ (0, 1). From the way this method evolves, it is clear that

∆stop ≤ ∆start. The population inserted inside the method can be composed of just one element or many of them; however, only the best element in that population is further optimized. The overall process corresponds to a cycle which only stops when the number of evaluations (starting in 0) reaches its maximum max eval or the current range ∆ (initially equal to ∆start) falls below ∆stop. Inside this cycle there is another one through all the D parameters of the decision vector and which performs the steps in the different directions. As soon as a better solution is found (the objective function is reduced) that sub-cycle stops making the transition of the vector to that new solution and the number of evaluations performed is increased by 1. If after all parameters have been tried to move up or down and no improvement has been found, the current range ∆ is decreased as given by

∆new = R ∆old. (4.13)

The parameters’ moves, either up or down, are tested in the same order as they appear in the decision vector ~p. For each one, it is first tested to move up and only if no improvements are obtained it is tested to move down. This moves are executed in the following way:

j j j j pnew = p ± ∆(ub − lb ). (4.14)

The parameter changed is the jth one, which has a lower bound lbj and an upper bound ubj. Due to the way the new values are obtained and a local optimization intention, the values for the ranges should be small, for example: ∆start = 0.01 and ∆stop = 0.00001.

34 Chapter 5

Implementation

With the problem to be optimized defined in Chapter3 and the optimization algorithms selected and described in Chapter4, it is time to implement the code to use later for the analysis of practical cases of interplanetary missions. A description of the process by which that code optimizes multiple gravity assist trajectory problems is presented here. Moreover, the code is tested to assure that there are no implementation errors. In addition, the PyGMO and PyKEP toolboxes are used as the basis for the code development and more information about them can be found in [12, 13, 34, 35].

5.1 Description of the MGA Problem Implementation

The multiple gravity assist trajectory problem is implemented in a python script and consists entirely of a class type variable with all the parameters, variables and functions/methods defined inside. It makes use of several functions already implemented in PyKEP such as Izzo’s Lambert solver, some predefined astronomical constants, functions to deal with epochs and with the ephemeris of the planets (computed using JPL’s data [36]) and functions for plotting the orbits of those planets and of the interplanetary transfers. It also inherits from the base class as used by all PyGMO problems. The definition of the MGA class is made of 10 functions which completely execute all that may be requested during the simulations performed. These methods use the PyKEP functions referred before as well as a function called swingby DV() which computes the total delta-V required during a gravity assist manoeuvre according to the specifications of Section 3.3 and using the formulas from Section 2.4. A more detailed explanation about each one of those methods and the parameters used by them is presented next:

• init (): constructs an instance of the MGA class with initialization of all the parameters relevant for the problem. It is called every time a new instance of that class is created and the user can either completely define the parameters, as inputs, or create it with default values and then change them with different methods. The parameters of the problem are:

– seq: sequence (list) of planets in the interplanetary transfer including the departure and target ones, each stored as an instance of a class containing the values for the different planetary

35 parameters including its name, radius, safe radius, ephemeris, its gravitational constant and that of the Sun.

– M: list containing the number of complete revolutions around the Sun for each interplanetary leg, M i ≥ 0, with i = 1, ..., N + 1.

– S: list with the specification of which Lambert solution to use, only for the multi-revolution i i cases where S = 1 corresponds to x1 and S = 2 to x2, where x1 < x2, with i = 1, ..., N + 1.

– t dep: list with the departure window defined by the minimum and maximum departure epochs (in MJD2000 after being converted from UTC using the appropriate function from PyKEP).

– T legs: list including two lists with the lower and upper bounds for the durations of the different interplanetary legs (in days).

– rp dep: radius of periapsis of the parking orbit around the departure planet (in kilometres).

– e dep: eccentricity of the parking orbit around the departure planet.

– rp arr: radius of periapsis of the insertion orbit around the target planet (in kilometres).

– e arr: eccentricity of the insertion orbit around the target planet.

• set sequence(): sets the sequence seq of planets as well as the number of complete revolutions around the Sun M and which Lambert solution to use S for each interplanetary leg.

• set departure window(): sets the departure window t dep for the mission from the minimum and maximum departure epochs provided.

• set parking orbit(): sets the parking orbit around the departure planet by defining the radius of periapsis (in kilometers) and its eccentricity.

• set insertion orbit(): sets the insertion orbit around the target/arrival planet by defining the radius of periapsis (in kilometers) and its eccentricity.

• human readable extra(): presents general information about the problem to the user, more prop- erly, the sequence of planets and the lists M and S.

• objfun impl(): function defined implicitly and used later by PyGMO’s optimization algorithms to obtain the value of the objective function for a specific decision vector ~p.

• detailed info(): displays to the user complete information about the interplanetary transfer for a specific decision vector ~p, such as the encounter epochs and the partial and total delta-Vs.

• plot(): plots the trajectory for that particular multiple gravity assist problem and for a specific deci- sion vector ~p.

It is possible to understand that the strategy used to deal with the initial and final phases of the mission is to assume that the spacecraft is already in a parking orbit around the departure planet and that it is inserted into an orbit around the target one, meaning that ∆vdep and ∆varr are taken into account in the delta-V budget of the interplanetary mission.

36 It is presented in Figure 5.1 a simple structure of the MGA class with the methods it contains and respective inputs. It corresponds to the actual python code implemented but with the body of each function replaced by (...) for simplicity.

Figure 5.1: Structure of the MGA class containing the multiple gravity assist trajectory problem. It is only presented the class itself and the headers of the 10 functions/methods implemented inside with respective inputs.

The last three functions mentioned before use more or less the same sequence of steps to obtain the trajectory and respective results from a specific decision vector ~p. The only difference is that the first one only returns the delta-V budget to the optimization process, while the second and third ones do not return anything but display information about the trajectory obtained and plot that interplanetary trajectory, respectively. The total delta-V required for the interplanetary trajectory, obtained from a certain decision vector ~p, is computed as follows:

1. Obtain the epochs ti in which encounters between the spacecraft and the planets occur from the decision vector (tdep and T i with i = 1, ..., N + 1) using Equation (3.10).

2. Determine, for each encounter, the state vector (position and velocity) of the planet in the helio- centric reference frame from its ephemeris.

3. Compute the first Lambert arc solution between the departure planet and the target planet for a di- rect transfer or the first swing-by planet for an indirect transfer, according to M 1 and S1. Determine the heliocentric velocities of the probe at the beginning and ending of that orbit.

dep 4. Determine ~v∞ from the velocity at the start of the first arc and the velocity of the departure planet. dep dep dep dep Determine the initial impulse ∆v from Equation (3.12), where a (1 − e ) = rp .

5. Cycle to compute the remaining interplanetary legs and the impulses required during the gravity assist manoeuvres (for N > 0):

37 th in,i 5.1. Determine the incoming hyperbolic excess velocity at the i swing-by, ~v∞ , from the velocity at the end of the ith interplanetary leg and the velocity of the ith planet during the encounter.

5.2. Compute the (i + 1)th Lambert arc solution between the ith and (i + 1)th planets, according to M i+1 and Si+1. Determine the heliocentric velocities of the probe at the start and end of that orbit.

th out,i 5.3. Determine the outgoing hyperbolic excess velocity at the i swing-by, ~v∞ , from the velocity at the start of the (i + 1)th interplanetary leg and the velocity of the ith planet during the encounter.

5.4. Obtain the impulse ∆vi required during the gravity assist to exactly match the previous and next interplanetary legs using the expressions from Section 2.4.

arr 6. Determine ~v∞ from the velocity at the end of the last leg and the velocity of the target/arrival arr arr arr arr planet. Determine the final impulse ∆v from Equation (3.14), where a (1 − e ) = rp .

7. Sum all the impulses required, as presented in Equation (3.9), to obtain the total delta-V budget for this specific solution.

One of the problems when dealing with multi-revolutions is that there is always a minimum duration for a certain number of complete revolutions to be possible. A simple way for solving that problem is just letting the decision vector to have any values inside, within the boundaries of its parameters, and i i as soon as an invalid solution is obtained (Mmax is smaller than the required M ), the function exits and 100 returns a value for ∆vtotal equal to 10 . This means that a solution so bad is rapidly excluded by the optimization algorithms. Nevertheless, the boundaries for the durations of the interplanetary legs should take into account the number of complete revolutions to be executed.

5.2 Description of the Optimization Implementation

The optimization of a well-defined multiple gravity assist trajectory problem, using the different algo- rithms presented in Chapter4, makes use of PyGMO’s strategy as explained later in this section. This process is implemented in a script containing the overall main function of the code, which consists of a sequence of steps to be executed whenever a simulation is performed. These steps can be summarized as follows:

1. Import the required functions/methods from PyGMO and PyKEP and the MGA class previously created and defined in a different script.

2. Define the different objects for the planets in the Solar System using the ephemeris obtained from JPL’s data [36] and the values from Table 5.1.

3. Define the instance of the MGA class to analyse by defining the sequence of planets, the multi- revolutions to use or not (and which Lambert solutions to use), the departure window, the lower and upper bounds for the interplanetary legs’ duration and the parking and insertion orbits.

38 4. Choose between optimizing the MGA problem defined in the last step or to analyse a specific solution for that same problem:

(a) If optimization is intended, the algorithms are defined and the optimization of the function defined in objfun impl() takes place with the display of detailed information of the optimum solution found in the end.

(b) If a specified solution is provided to be analysed, detailed information is presented using the detailed info() method of the MGA class and the plot of the trajectory is displayed using the plot() function.

Table 5.1: Planetary data used during the simulations. The safe radius for Venus, Earth, Mars, Jupiter and Saturn were obtained from the Cassini1 example from PyGMO [37], while for the other planets the minimum safe altitude is just assumed to be 10% of the planet’s radius. The values for the radius of the different planets and of the gravitational constants were taken from Wertz [14]. Planet Radius Safe Radius Planet’s Gravit. Const. Sun’s Gravit. Const. 3 2 3 2 Name Rplanet [km] Rsafe [km] µplanet [km /s ] µSun [km /s ] Mercury 2439.7 2683.7 2.2034×104 Venus 6051.8 6351.8 3.249×105 Earth 6378.14 6778.1 3.98600441×105 Mars 3397.0 3797.0 4.2832×104 1.3271243×1011 Jupiter 71492.0 671492.0 1.2669×108 Saturn 60268.0 70000.0 3.7934×107 Uranus 25559.0 28114.9 5.7951×106 Neptune 24764.0 27240.4 6.8354×106

Referring now only to the optimization process itself, which is the topic of this section, it consists of the same strategy used for all other problems in PyGMO and which can be described as follows: create an archipelago with several islands, which may be connected between them or not, and each of those islands contains a population of several individuals where a single optimization algorithm acts indepen- dently. This strategy takes advantage of the parallel optimization capability of modern computers, which decreases a lot the overall optimization time. Using the algorithms defined in Chapter4, an archipelago with seven islands is created and arranged in a rim topology as shown in Figure 5.2. This topology consists of a ring of external islands connected only to their neighbours and to the central island which is connected to all of them; the external is- lands use global optimization algorithms (Differential Evolution and Simulated Annealing with Adaptive Neighbourhood), while the inner island uses local optimization (Compass Search). The process in which the optimization occurs can be viewed more or less like an evolutionary process as seen in nature where a repetition of a sequence of two steps occur as many times as specified by the user: first each population from each island evolves independently and completely according to the algorithm defined there and then migration occurs between the different islands in the archipelago according to a certain migration scheme (and only between islands connected to each other). Every island sends their best solutions found to their neighbours, replacing the worst solutions in those islands so that a constant population size is maintained.

39 Figure 5.2: Archipelago used for the optimization process and consisting of seven islands in a rim topology. The external islands use global optimization (Differential Evolution and Simulated Annealing with Adaptive Neighbourhood), while the inner island employs a local optimization algorithm (Compass Search).

It is only left to discuss the different control parameters for the different islands. The population size of each island is constant throughout the archipelago and equal to 500, so that the search space can be more or less fully analysed, meaning that the total number of individuals in the archipelago is 3500. The control parameters for all optimization methods used are presented in Table 5.2 and they are chosen based on tests performed using PyGMO’s racing method which evaluates different algorithms (even if it is the same one but with different control parameters) to see which set of parameters for each optimization method produces a more efficient algorithm [12].

Table 5.2: Control parameters for the optimization algorithms used. The difference between islands us- ing Differential Evolution is the variant used (see Section 4.2.2). The parameters for Simulated Annealing are those corresponding to the actual inputs of the code (PyGMO’s implementation is a little different from the description in Section 4.3 since it has a maximum number of iterations instead of waiting for the difference between consecutive best solutions to be smaller than a certain threshold ε). Island Type Algorithm Population Size Parameters Number max eval = 1000 Local ∆ = 0.01 1 Compass Search start Optimization ∆stop = 0.00001 R = 0.5

T0 = 10 Global Simulated Annealing with N = 5 2, 4, 6 500 S N = 20 Optimization Adaptive Neighbourhood (each) T rT = 0.9

Gmax = 500 Global CR = 0.9 3, 5, 7 Differential Evolution Optimization F = 0.5 variant = 4, 7, 9

40 5.3 Validation

Before starting the simulation process to obtain the results, it is necessary to test the implemented code and to validate it. This is a fundamental step in every code development process since a small implementation error can lead to great errors in the results obtained or, even worse, small errors which are imperceptible to the user, who may think that those results are correct when they are not. To benchmark the code in the scripts with the main function, where the optimization process is ex- ecuted, and with the MGA class, where the multiple gravity assist trajectory problem is defined, two separate tests will be conducted: the first will test the MGA Problem by using an example from ESA’s Global Trajectory Optimization Problems (GTOP) database and the second will test the optimization pro- cess with two problems from PyGMO whose optimum solutions are known. Being both tests successful, it can be assumed that the code is well implemented and that no errors are expected to occur during the actual simulations.

5.3.1 Test I: MGA Problem

This first test serves to check if the MGA class is correctly implemented or not and to see that, every function it contains should be tested. However, since the first seven methods only serve to define variables and display simple information, their tests were made when coding and there is no need to show the results here. In addition, the last three functions are extremely similar so there is no need to present here the tests conducted for all of them; therefore, only those regarding the detailed info() function are mentioned. This choice is based on the completeness of the information obtained with that function, instead of just analysing the final result (∆vtotal) or the corresponding trajectory plot. The example used to compare the results obtained with the code is the Cassini1 problem from the GTOP database [38]. The reason for this decision is that it also corresponds to a MGA problem defined the same way as in Chapter3, meaning that the results obtained can be directly compared to evalu- ate this thesis’ code. Also, it is referred in several articles related to the optimization of interplanetary transfers such as those of Izzo [2] and Izzo et al. [23], meaning that the results presented there are reliable. Cassini1 is a multiple gravity assist trajectory problem related to the Cassini spacecraft launched in October 15, 1997 to Saturn [5]. The goal is to minimize the delta-V budget of the trajectory con- sisting of the planetary sequence Earth, Venus, Venus, Earth, Jupiter and Saturn (N = 4) with in- jection of the spacecraft into a around the target planet with rp equal to 108950 km and eccentricity of 0.98. The boundaries for each optimization variable in this problem can be found in Izzo [2] along with some more information about the problem. The best known solution for this multiple gravity assist problem is ∆vtotal equal to 4930.6 m/s corresponding to the decision vector ~p = (−789.8117, 158.3020, 449.3859, 54.7490, 1024.3621, 4552.308) [37]. This decision vector is directly in- serted in the code implemented and the results obtained are compared to those from GTOP database for that same decision vector. Before starting the test, it is necessary to manually insert the positions and velocities of the planets

41 during the encounters because the Cassini1 problem defined in PyGMO use different ephemeris from those defined in PyKEP and used in this thesis. In spite of being similar, they produce deviations in the results. Moreover, this problem does not consider the parking orbit around the Earth, meaning that dep dep instead of adding ∆v to the delta-V budget of the mission, it is added v∞ . With these two changes in the code, the results obtained should match almost exactly those of GTOP for a good behaviour of the code. Table 5.3 presents a comparison between the results obtained with the developed code and those from the GTOP database using the Matlab script provided in their website [38]. It can be seen that the errors obtained are in the order of millimetres per second, which are negligible. Thus, this test is successful and the MGA class is well implemented and is ready to be employed in the analysis of multiple gravity assist problems.

Table 5.3: Comparison of the results for the Cassini1 problem for validation of the MGA class. Its is compared the different impulses required for the best known solution between the output of the code and the results obtained with the Matlab script provided in GTOP’s database [38]. Impulses GTOP’s value Output of the code Error Required [m/s] [m/s] [m/s] ∆vdep 2754.636 2754.636 0.000 ∆v1 1090.647 1090.655 0.008 ∆v2 615.766 615.766 0.000 ∆v3 0.008 0.014 0.006 ∆v4 0.008 0.000 0.006 ∆varr 469.583 469.590 0.007 ∆vtotal 4930.648 4930.661 0.013

5.3.2 Test II: Optimization Process

The validation of the optimization process is the second test performed. Due to the use of algorithms already implemented and validated from PyGMO, it is only necessary to see whether the archipelago structure defined in Section 5.2 can effectively find the optimum solutions for this type of problems concerning interplanetary missions or not. For that reason, two different problems completely defined in PyGMO are used to analyse the optimization code’s efficiency. The first problem considered is the Cassini1 one also used in Section 5.3.1, which is indeed a MGA problem. The best known solution is also presented there. One important aspect about this particular problem containing 6 optimization variables is that it presents a deceptive local minimum at 5303.4 m/s with great power of attraction for the optimization methods; so, it is necessary to have powerful optimization algorithms capable of overcoming this obstacle and find the actual global optimum solution for this problem. The second problem tackled is the Rosetta mission to the Comet 67P/Churyumov-Gerasimenko and launched in March 2, 2004 [39]. Despite being a multiple gravity assist trajectory problem, it also considers one Deep Space Manoeuvre during each interplanetary leg, being of the type MGA-1DSM problem. The goal here is also the minimization of the mission’s delta-V budget for the interplanetary

42 trajectory with the same planetary sequence of the actual mission: Earth, Earth, Mars, Earth, Earth and comet. Being a MGA-1DSM problem with 5 interplanetary legs, the number of optimization variables is 22 (hard optimization problem), whose boundaries can also be found in Izzo [2]. The best known solution for this particular problem is 1343 m/s. With the execution of 20 independent tests, in which during each test the archipelago is allowed to evolve 10 times, a total of 20 ”global optimum” solutions are obtained for each problem. The best, worst and average of those ”optimum” solutions for both problems are presented in Table 5.4. It can be noticed that the best known solutions for the Cassini1 and Rosetta problems are indeed obtained by the optimization process used in the code, meaning that it is able to analyse such difficult problems as the ones studied later on.

Table 5.4: Comparison of the results for the Cassini1 and Rosetta problems for validation of the opti- mization process. It is presented the best, worst and average value of the optimum solution found in the 20 tests made for each problem as well as the best known solution for those two problems. Output of the code [m/s] GTOP’s value Problem [m/s] Best Average Worst Cassini 1 4930.6 4930.6 4978.2 5303.4 Rosetta 1343.0 1343.0 1591.4 1885.1

43 44 Chapter 6

Results and Discussion

To answer the question from which this thesis kicks off it is necessary to study different cases of interplanetary missions to see whether better solutions can be obtained by introducing multi-revolution transfers in their design or not. Besides displaying the results retrieved for the cases studied, it is also presented a discussion about those same results. It can be already stated that despite having different target planets, all cases consider the departure planet to be the Earth, which is true for all interplanetary missions flown in the past, present and still to occur in the near future.

6.1 Description of the Studied Cases

In order to obtain conclusive results about the possible improvements gained from introducing multi- revolutions to the overall trajectory of an interplanetary mission, it is necessary to select different cases so that clear conclusions can be drawn from the results. Sections 6.2 to 6.4 present the results obtained for the three different cases chosen to be analysed. Further, the order in which these different missions appear is related to the complexity of the interplanetary , starting from the simplest case of a mission to Mars, followed by a mission to Mercury and ending in a more complex mission to Jupiter. The first and simplest case considered here is a space mission to Mars. The choice of such target planet is related to the fact that a great amount of space missions have that same destination which means that it still is an attractive destination. Moreover, it is a good example to compare a direct transfer, from Earth to the red planet, having single-revolution and multi-revolution transfers. Then, a mission to Mercury is evaluated. Contrary to the previous mission, this one intends to go to a planet closer to the Sun than the Earth. Mercury was chosen instead of Venus so that two different sub-cases can be studied: one considering a direct transfer from Earth to Mercury and another with a gravity assist manoeuvre at Venus. The last and most complex case is that of a mission to Jupiter. This represents those cases of mis- sions to the outer planets where several swing-bys are employed to reduce the high delta-Vs required. In this case it is only feasible to use multi-revolutions in the initial legs of the trajectory. It is studied first single-revolution transfers to obtain the best case to be then compared to the multi-revolution cases.

45 All different cases considered for the three interplanetary missions studied in Sections 6.2 to 6.4 are tested (optimized) 5 times and, in each one of them, the archipelago is allowed to evolved 10 times so that the actual global optimum solutions are most likely to have been found. Only the best results from all five tests for each of the different trajectories considered are presented in those sections. The discussion of the results obtained is entirely made within each section, since global conclusions about this topic are presented in Chapter7. Finally, to have comparable results from the multi-revolution and the ”standard” single-revolution strategies, the same boundaries for the departure epoch from Earth are used. That departure must occur between January 1, 2020 and December 31, 2024, i.e., 5 years span so that a great number of optimum possibilities can occur for each case. The other parameters in the decision vector have their own boundaries defined according to the number of multi-revolutions per interplanetary leg as well as the planets from and to which the space probe travels.

6.2 Interplanetary Transfer to Mars

A space mission from Earth to Mars is the first practical case analysed here. Also, only direct transfers from Earth to the red planet are considered, i.e., no gravity assist manoeuvres occur (N = 0) leading to a single interplanetary leg connecting both planets. This means that the delta-V budget to be minimized is simply the sum of ∆vdep and ∆varr. The initial parking orbit around the Earth is circular dep (e = 0) and at an altitude of 200 km (rp = 6578.14 km). The final insertion orbit around Mars is arr also circular but with 300 km of altitude (rp = 3697.0 km). The results and respective discussion is presented next.

6.2.1 Results for a Direct Transfer

By just considering direct transfers from Earth to Mars, the trajectory consists of a single interplan- etary leg, meaning that there are two optimization variables: the departure epoch tdep (inserted in Uni- versal Time Coordinated but converted to MJD2000 to be used in the code) and the duration T 1 of the interplanetary transfer, which is also the duration of the overall trajectory. The boundaries for these two variables are presented in Table 6.1, taking into account the number of complete revolutions as defined 1 1 by M . Moreover, the maximum value selected for that parameter is Mmax = 2.

Table 6.1: Boundaries for the optimization variables for a direct transfer from Earth to Mars. The lower and upper bounds for the duration of the interplanetary leg consider the number of multi-revolutions. Boundaries: Earth → Mars transfer Optimization Variable Lower Bound Upper Bound tdep [UTC] 2020-Jan-01 00:00:00 2024-Dec-31 23:59:59 M 1 = 0 100 600 T 1 [days] M 1 = 1 300 1000 M 1 = 2 500 1400

46 With the problem completely defined, the simulations are executed for every possible trajectory with M 1 equal to 0, 1 or 2. This leads to five different cases: one is the single-revolution transfer with M 1 = 0 and two for each value of M 1 greater than zero. The best solutions found for each of the five cases are presented in Table 6.2 where it is presented the departure date from Earth as well as the transfer time and the delta-V budget required. The discussion of these results is entirely made in Section 6.2.2.

Table 6.2: Results obtained for a direct transfer from Earth to Mars. The vector M~ contains the number of multi-revolutions for each leg and the vector S~ the Lambert solution used in the multi-revolution case. Results: Earth → Mars transfer Multi-revolutions Lambert solution Departure Epoch Transfer Duration Delta-V budget per leg M~ per leg S~ [UTC] [years] [m/s] 0 – 2024-Sep-30 22:02:25 0.91079 5724.7 1 2021-Nov-23 21:40:39 2.18041 5884.3 1 2 2024-Jan-31 10:55:09 1.87970 6979.6 1 2023-Oct-16 02:32:14 3.81765 5679.8 2 2 2021-May-01 20:03:16 3.12049 6095.7

6.2.2 Discussion

With the results obtained from the simulations made for a direct transfer from Earth to Mars, whose results are presented in Table 6.2, some conclusions about this particular interplanetary mission can be retrieved. The following aspects are worth mention: Firstly, the use of multi-revolutions in direct transfers increases the duration of the flight between both planets for the optimum solution found when comparing to the transfer time required for a single- revolution transfer. Therefore, the latter corresponds to the minimum optimum transfer time for a transfer to Mars. Only one case involving multi-revolutions led to a better solution in terms of delta-V budget with respect to the single-revolution solution. This solution with M 1 = 2 and S1 = 1 saves 44.9 m/s in delta-V but increases the transfer time more than four times from less than 1 year to almost 4 years. Therefore, despite anticipating the departure epoch in 1 year from September 2024 to October 2023, the little savings in ∆vtotal do not compensate in principle the increase in the duration of the mission. It seems that the best overall solution for this mission is indeed the single-revolution transfer. Nonethe- less, it can only leave the Earth by the end of 2024 (end of the departure window defined), reaching Mars in mid 2025. One solution to solve this problem is an earlier mission using one complete revolution around the Sun (M 1 = 1 and S1 = 1). That solution increases in 159.6 m/s the delta-V budget and the transfer time to nearly 2 years and 2 months; however, the departure epoch is anticipated in three years to November 2021 and the arrival at Mars also happens sooner, in the beginning of 2024, meaning that the spacecraft reaches Mars before it would depart from Earth using the single-revolution case. In conclusion, if the departure and arrival epochs are not important parameters in the mission design and the delta-V budget and actual duration of the transfer assume a more relevant role, then the single- revolution transfer should be employed. On the other hand, if the departure from Earth and arrival at

47 Mars must occur as soon as possible, then the multi-revolution solution with M 1 = 1 and S1 = 1 is an interesting option to use at the cost of a small increase in the global delta-V budget of the mission. More information about these two cases can be seen, respectively, in Figure 6.1 and Figure 6.2.

Figure 6.1: Detailed information and plot of the best solution obtained for a direct single-revolution transfer from Earth to Mars, meaning that M 1 = 0.

Figure 6.2: Detailed information and plot of the best solution obtained for a direct transfer from Earth to 1 1 Mars having one complete revolution, meaning that M = 1, and using the solution x1, i.e, S = 1.

48 6.3 Interplanetary Transfer to Mercury

The second case evaluated is that of an interplanetary mission to Mercury. Unlike the previous case, two different planetary sequences are considered now: a direct transfer from Earth to Mercury and another with a swing-by at Venus in between; therefore, the overall delta-V budget of the mission is composed of either two or three impulses. Just like in the transfer to Mars, the spacecraft is initially in a circular parking orbit at 200 km of altitude and is inserted in a circular orbit around the target planet at arr an altitude of 300 km (rp = 2739.7 km). Both cases are treated separately but the discussion of the results is done together since they share the same goal of bringing the probe from Earth to Mercury.

6.3.1 Results for a Direct Transfer

The results for the direct trajectory from Earth to Mercury are presented here. Therefore, the overall interplanetary trajectory consists of a single leg, like in the transfer to Mars studied before, and the number of optimization variables in the decision vector is two: the departure epoch tdep and the duration of the transfer between both planets T 1. The boundaries for those variables are presented in Table 6.3, where a maximum of two complete revolutions around the Sun is considered.

Table 6.3: Boundaries for the optimization variables for a direct transfer from Earth to Mercury. The lower and upper bounds for the duration of the interplanetary leg consider the number of multi-revolutions. Boundaries: Earth → Mercury transfer Optimization Variable Lower Bound Upper Bound tdep [UTC] 2020-Jan-01 00:00:00 2024-Dec-31 23:59:59 M 1 = 0 50 300 T 1 [days] M 1 = 1 150 600 M 1 = 2 200 900

Five different cases must be evaluated for this direct transfer: the single-revolution case with a single solution and two solutions for M 1 equal to 1 or 2 (one or two complete revolutions around the Sun). The best solutions found for these five cases are displayed in Table 6.4, including the departure epoch from Earth as well as the transfer time and delta-V budget required to reach Mercury. The discussion of these results is made in Section 6.3.3 together with those for a trajectory with a swing-by at Venus.

Table 6.4: Results obtained for a direct transfer from Earth to Mercury. The vector M~ contains the number of multi-revolutions for each leg and the vector S~ the Lambert solution used in the multi-revolution case. Results: Earth → Mercury transfer Multi-revolutions Lambert solution Departure Epoch Transfer Duration Delta-V budget per leg M~ per leg S~ [UTC] [years] [m/s] 0 – 2024-May-09 00:04:00 0.32474 13532.1 1 2023-May-11 03:55:43 0.83575 12930.6 1 2 2024-May-12 11:01:56 0.78159 13596.6 1 2022-May-11 12:40:44 1.34887 12771.6 2 2 2022-May-17 10:40:36 1.33080 13125.4

49 6.3.2 Results for a Transfer with Swing-by at Venus

If a gravity assist manoeuvre is performed at Venus, to reduce the total delta-V budget of the transfer from Earth to Mercury, the trajectory consists of two interplanetary legs leading to a three-dimensional problem to be optimized, whose variables are the departure epoch tdep, the duration T 1 of the first interplanetary leg from Earth to Venus and the duration T 2 of the second interplanetary leg from Venus to Mercury. The boundaries for these three variables are presented in Table 6.5, taking into consideration the number of complete revolutions for each leg.

Table 6.5: Boundaries for optimization variables for a transfer from Earth to Mercury with swing-by at Venus. The lower and upper bounds for the duration of the legs consider the number of multi-revolutions. Boundaries: Earth → Venus → Mercury transfer Optimization Variable Lower Bound Upper Bound tdep [UTC] 2020-Jan-01 00:00:00 2024-Dec-31 23:59:59 M 1 = 0 50 600 T 1 [days] M 1 = 1 200 800 M 1 = 2 300 1000 M 2 = 0 30 400 T 2 [days] M 2 = 1 100 600 M 2 = 2 200 800

Having two interplanetary legs means a greater number of cases to be analysed in order to consider all cases. Moreover, the sum of the complete revolutions around the Sun for both legs must be less or equal to 2, that is, M 1 + M 2 ≤ 2. For that reason, 13 cases exist, whose best solutions found are presented in Table 6.6. Those thirteen cases are the single-revolution one, two for each of the cases where M~ is equal to (1, 0), (2, 0), (0, 1) or (0, 2) and the final four solutions for M~ = (1, 1).

Table 6.6: Results obtained for a transfer from Earth to Mercury with a gravity assist at Venus. The vector M~ contains the number of multi-revolutions for each leg and the vector S~ the Lambert solution used in the multi-revolution case. Results: Earth → Venus → Mercury transfer Multi-revolutions Lambert solution Departure Epoch Transfer Duration Delta-V budget per leg M~ per leg S~ [UTC] [years] [m/s] 0,0 –,– 2020-Aug-02 05:04:36 0.75477 10754.5 1,– 2023-Jul-03 16:01:19 1.40654 9811.0 1,0 2,– 2024-Jul-15 04:19:32 1.19069 13096.9 1,– 2020-Jun-15 23:37:08 2.05996 10164.1 2,0 2,– 2022-Jul-14 11:01:05 1.99481 11483.4 –,1 2023-Jul-20 01:18:57 1.11738 10633.9 0,1 –,2 2024-Dec-29 08:59:27 0.83224 10285.0 –,1 2021-Dec-04 16:50:07 1.63607 10694.3 0,2 –,2 2024-Dec-31 23:59:59 1.29719 10940.6 1,1 2020-Jun-27 08:49:38 1.77535 10080.8 1,2 2023-Feb-24 13:17:17 1.51357 11063.7 1,1 2,1 2021-Jun-19 18:24:39 1.61133 11303.7 2,2 2023-Mar-12 14:34:35 1.47913 11443.1

50 6.3.3 Discussion

It is presented now the discussion of the results obtained for the interplanetary mission to the closest planet to the Sun. This discussion is made for both trajectories considered: direct transfer from Earth to Mercury, whose results are presented in Table 6.4, and that including a gravity assist manoeuvre at Venus, corresponding to the results in Table 6.6. The following aspects are worth mention: Once again, the use of multi-revolutions in direct transfers increases the transfer time between both planets for the optimum solution found when comparing to the transfer time of the corresponding single- revolution transfer. Therefore, the latter corresponds to the minimum transfer time for the optimum solution for a transfer to Mercury. In all five cases considered for a direct transfer from Earth to Mercury the delta-V budget is very high, being always above 12500 m/s. Furthermore, only one of the cases with multi-revolution transfers led 1 to a worst result in terms of ∆vtotal when comparing to the single-revolution case: the one with M = 1 and S1 = 2. The other three cases improved the solution obtained at the cost of increasing the duration of the transfer. It is clear, from the results presented in Table 6.4, that the best solution for a direct transfer is that in which the spacecraft makes two complete revolutions around the Sun before arriving at Mercury and 1 1 using the Lambert solution x1, i.e., M = 2 and S = 1. The reason for this statement is the fact that despite increasing the transfer time in 1 year from 4 months to 1 year and 4 months, it decreases the delta-V budget required in 760.5 m/s to 12771.6 m/s and anticipates the departure from Earth in 2 whole years from May 2024 to May 2022, meaning that the spacecraft reaches Mercury even before it would have been launched in the single-revolution case. Detailed information regarding this best solution found is displayed in Figure 6.3.

Figure 6.3: Detailed information and plot of the best solution obtained for a direct transfer from Earth to 1 1 Mercury having two complete revolutions, meaning that M = 2, and using the solution x1, i.e., S = 1.

51 Even the best solution obtained for a direct transfer from Earth to Mercury is very expensive in terms of delta-V budget and, for that reason, gravity assist manoeuvres are used to decrease that value. In this thesis, an interplanetary trajectory with a swing-by at Venus is used in order to analyse and compare the effect of multi-revolution transfers in both direct and indirect transfers, achieving also a smaller value for ∆vtotal. The results obtained show indeed that the best solutions found for all cases except one lead to better results, even when comparing to the best solution found for direct transfers. Also, these better solutions occur without increasing considerably the duration of the transfer.

There are three most interesting cases, from the thirteen analysed, corresponding to the single- revolution and two multi-revolutions cases: one with M~ = (1, 0) and S~ = (1, −) and another one with M~ = (1, 1) and S~ = (1, 1). The reasons for that selection of best cases is presented next.

The single-revolution case, whose detailed information is displayed in Figure 6.4, corresponds to the fastest transfer of all thirteen cases and the departure epoch, in mid 2020, is very close to the beginning of the departure window; therefore, it is the solution in which the spacecraft reaches Mercury sooner. However, it does not correspond to the most advantageous transfer in terms of delta-V budget.

Figure 6.4: Detailed information and plot of the best solution obtained for a transfer from Earth to Mercury with a swing-by at Venus with single-revolutions only, meaning that M 1 = M 2 = 0.

The solution with minimum delta-V budget to bring the spacecraft from Earth to Mercury and insert it in the desired orbit is that with one complete revolution around the Sun from Earth to Venus and a single- revolution transfer between Venus and Mercury, M~ = (1, 0) and S~ = (1, −). The savings in delta-V with respect to the previous case are 943.5 m/s, being this the only solution where ∆vtotal is below 10000 m/s. Nevertheless, this solution increases the duration of the transfer in almost 8 months and, even worse, delays the departure epoch in 3 years from mid 2020 to mid 2023, meaning that the spacecraft arrives at Mercury more than 3 years later. More information about it is presented in Figure 6.5.

52 Figure 6.5: Detailed information and plot of the best solution obtained for a transfer from Earth to Mercury with a swing-by at Venus with one complete revolution in the first leg between Earth and Venus, meaning 1 2 1 that M = 1 and M = 0, corresponding the former to the solution x1, i.e., S = 1.

The last interesting case is that which results from a compromise between the following parameters: departure epoch, total duration and delta-V budget. That solution involves one complete revolution 1 2 1 around the Sun in each leg and both using the Lambert solution x1, that is, M = M = 1 and S = S2 = 1. Detailed information about it can be seen in Figure 6.6. With respect to the single-revolution case, this new solution leads to savings of 673.7 m/s in the delta-V required to execute the interplanetary transfer at the cost of increasing the transfer time in almost 1 year which, in addition to an 1 month earlier departure, delays the arrival at Mercury in 11 months.

Figure 6.6: Detailed information and plot of the best solution obtained for a transfer from Earth to Mercury with a swing-by at Venus having one complete revolution in both legs, meaning that M 1 = M 2 = 1, and 1 2 using in both of them the solution x1, i.e, S = S = 1.

53 It is clear now that the use of a gravity assist at Venus brings major advantages to the trajectory when comparing to a direct transfer from Earth to Mercury. Moreover, if the arrival epoch at the target planet is the most important parameter in the design, the solution to be used should be the one in Figure 6.4.

If, on the other side, ∆vtotal is also an important parameter for the mission, then the solution to be used should be the one presented in Figure 6.6.

6.4 Interplanetary Transfer to Jupiter

Jupiter is one of the most attractive planets to explore, not only the planet itself but also its moons which together form the Jovian System. The interest and complexity in the exploration of this system within the Solar System is the main reason for its selection as the third and final practical case studied. Nevertheless, only the interplanetary transfer from Earth to Jupiter is considered and not the trajectory upon reaching the planet. For that reason, it is assumed the same parking orbit on Earth as in the two previous cases and an injection into a highly elliptical orbit with e = 0.9 and periapsis at an altitude of arr 600000 km (rp = 671492.0 km). Due to the complexity of the trajectory and the great number of possible planetary sequences starting on Earth and targeting Jupiter, this case is studied in a different way: first it is studied all the planetary se- quences possible from direct transfers (N = 0) up to those with three swing-bys (N = 3) and considering only single-revolution transfers; then, a search is conducted to find solutions involving multi-revolutions which surpass the best solutions found for the single-revolution cases.

6.4.1 Results for the Single-revolution Transfers

Since it is first studied only single-revolution transfers from Earth to Jupiter, to obtain the best so- lutions in terms of minimizing the delta-V budget, several planetary sequences are considered and optimized using the boundaries in Table 6.7. The departure window is the same as for all previous cases and for each interplanetary leg (it can be just one for a direct transfer or more for trajectories with swing-bys) the duration T i must lie within 50 and 2000 days.

Table 6.7: Boundaries for the optimization variables for the different single-revolution transfers from Earth to Jupiter. It is only considered trajectories from direct transfers (N = 0) up to those with three swing-bys (N = 3). Therefore, the number of interplanetary legs varies between 1 and 4. Boundaries: Earth → Jupiter transfer (single-revolutions) Optimization Variable Lower Bound Upper Bound tdep [UTC] 2020-Jan-01 00:00:00 2024-Dec-31 23:59:59 T i [days] 50 2000

A great number of possibilities for the trajectory from Earth to Jupiter exist. If it is only considered Venus, Earth and Mars as swing-by planets and a maximum of three gravity assist manoeuvres, then there are 40 different cases to analyse: 1 direct transfer, 3 transfers with one swing-by, 9 with two swing- bys and 27 with three swing-bys. Unlike the previous cases, due to the structure of results, they are

54 organized in a plot containing, for each planetary sequence, the total delta-V budget and total duration for the optimum solution found. This plot can be seen in Figure 6.7.

Figure 6.7: Delta-V budget and duration for the best solutions found for an interplanetary mission from Earth (E) to Jupiter (J) involving only single-revolution transfers. It is only considered trajectories from direct transfers (N = 0) up to those with three swing-bys (N = 3). The planets considered for the swing-bys are Venus (V), Earth (E) and Mars (M).

55 6.4.2 Results for a VEEGA Trajectory with Multi-revolutions

For the trajectories from Earth to Mars and Mercury presented in Sections 6.2 and 6.3, it was found that better solutions in terms of delta-V were always obtained with multi-revolutions when comparing to the corresponding single-revolution case. Therefore, it is expected here that at least one case with M i > 0 also leads to a better solution when comparing to the corresponding single-revolution case.

For that reason, it is clear the reason for analysing here the VEEGA (Venus-Earth-Earth Gravity Assists) trajectory with multi-revolutions: if a better solution is found with this particular planetary se- quence, then that solution is also better than all other single-revolutions transfers. This means that, despite not being sure of whether that is the overall optimum solution for the transfer or not, the use of multi-revolutions produce better solutions than using only single-revolutions to go from Earth to Jupiter.

This planetary sequence involving three swing-bys, one at Venus and then two on Earth, has four interplanetary legs which corresponds to five optimization variables: the departure epoch tdep and the durations for those four segments of the trajectory T i, with i = 1, 2, 3, 4. The boundaries for all those variables can be seen in Table 6.8. It is considered that the first three legs (within the inner Solar System) can have 0, 1 or 2 complete revolutions around the Sun, while the last one can only be a single-revolution transfer to go to the outer Solar System and reach Jupiter.

Table 6.8: Boundaries for the optimization variables for a transfer from Earth to Jupiter using a VEEGA trajectory. The lower and upper bounds for the duration of the legs consider the number of multi- revolutions. Boundaries: Earth → VEEGA → Jupiter transfer Optimization Variable Lower Bound Upper Bound tdep [UTC] 2020-Jan-01 00:00:00 2024-Dec-31 23:59:59 M 1 = 0 50 1000 T 1 [days] M 1 = 1 200 1300 M 1 = 2 400 1600 M 2 = 0 50 1000 T 2 [days] M 2 = 1 200 1300 M 2 = 2 400 1600 M 3 = 0 50 1000 T 3 [days] M 3 = 1 200 1300 M 3 = 2 400 1600 T 4 [days] M 4 = 0 500 2000

The fact that the trajectory consists of four interplanetary legs leads to the most complex trajectory analysed so far and to a great number of cases to study so that all possible cases are analysed. Once P4 i again, the sum of all multi-revolutions used must be less or equal to 2, i=1 M ≤ 2. This means that a total of 25 cases exist, whose best solutions found are presented in Table 6.9. These cases correspond to the single-revolution transfer, two solutions for each of the cases where M~ is equal to (1, 0, 0, 0), (2, 0, 0, 0), (0, 1, 0, 0), (0, 2, 0, 0), (0, 0, 1, 0) or (0, 0, 2, 0) and four solutions for each of the cases where M~ is equal to (1, 1, 0, 0), (1, 0, 1, 0) or (0, 1, 1, 0).

56 Table 6.9: Results obtained for a transfer from Earth to Jupiter using a VEEGA trajectory. The vector M~ contains the number of multi-revolutions for each leg and the vector S~ the Lambert solution used in the multi-revolution case. Results: Earth → VEEGA → Jupiter transfer Multi-revolutions Lambert solution Departure Epoch Transfer Duration Delta-V budget per leg M~ per leg S~ [UTC] [years] [m/s] 0,0,0,0 –,–,–,– 2023-May-18 07:32:42 6.49128 5686.9 1,–,–,– 2021-Mar-14 02:41:52 8.17927 5642.6 1,0,0,0 2,–,–,– 2023-Oct-20 04:15:39 8.55666 9669.8 1,–,–,– 2021-Apr-03 11:43:28 8.65739 5734.1 2,0,0,0 2,–,–,– 2020-Mar-21 15:54:59 6.80626 5920.1 –,1,–,– 2020-Mar-21 15:59:11 9.93585 6070.4 0,1,0,0 –,2,–,– 2023-Apr-23 06:27:59 6.62904 5222.1 –,1,–,– 2023-May-23 15:00:13 5.73760 11761.1 0,2,0,0 –,2,–,– 2020-Mar-07 23:34:07 7.09794 5029.3 –,–,1,– 2024-May-31 20:57:27 6.74195 7654.3 0,0,1,0 –,–,2,– 2020-Mar-10 17:51:37 6.01515 5029.4 –,–,1,– 2024-Jun-08 15:42:05 7.31540 8108.9 0,0,2,0 –,–,2,– 2023-May-12 07:55:19 8.56813 5091.3 1,1,–,– 2020-Oct-24 07:10:13 8.18729 10927.1 1,2,–,– 2024-Jun-30 00:10:04 7.12222 5417.2 1,1,0,0 2,1,–,– 2023-Apr-23 17:06:56 9.08791 9949.7 2,2,–,– 2021-Jun-06 11:08:41 7.10061 5101.1 1,–,1,– 2021-Mar-26 13:01:58 8.31972 5791.8 1,–,2,– 2021-May-18 14:03:43 7.18781 5054.0 1,0,1,0 2,–,1,– 2023-Oct-13 01:51:04 7.41312 9003.4 2,–,2,– 2021-May-24 05:14:20 7.18474 5039.8 –,1,1,– 2020-Apr-19 11:12:58 8.37979 6321.7 –,1,2,– 2020-Mar-29 05:11:49 7.90757 5486.5 0,1,1,0 –,2,1,– 2023-Apr-09 09:13:22 7.72436 5967.6 –,2,2,– 2021-Oct-21 14:48:03 6.11077 7943.8

6.4.3 Discussion

This section serves to present the discussion of the results obtained for the interplanetary mission to the biggest planet in the Solar System. This discussion is made not only for the analysis of the single- revolution transfers, studied in Section 6.4.1, but also for the VEEGA transfer with multi-revolutions, as presented in Section 6.4.2. The following aspects are worth mention:

When designing an interplanetary trajectory to the outer planets, gravity assist manoeuvres are very often employed so that the delta-V budget can be reduced to make the mission feasible. To this mission to Jupiter, where a maximum of three swing-bys is used and occurring only in Venus, Earth or Mars, 40 cases exist and they were analysed using only single-revolution transfers. As expected, the fastest trajectory corresponds to the direct transfer from Earth to Jupiter.

By looking at Figure 6.7, it becomes clear that there is no explicit relation between the planetary sequence used and the outcome in terms of ∆vtotal of the best solution found. This results from the fact that some planets may be more propitious for good solutions than others for certain departing and

57 encounter epochs but be less favourable for different epochs. From the 39 non-direct transfer cases studied, 29 of them led to a worse minimum solution in terms of ∆vtotal than that obtained for the direct transfer taking even more time to arrive at Jupiter. On the other side, 10 of those cases decreased the delta-V budget required, increasing the duration of the transfer as well.

The best solution obtained using only single-revolution transfers between planets is that of a VEEGA trajectory which departs from Earth, executes one swing-by at Venus and then two on Earth before flying to Jupiter. This trajectory is the same one applied in the Galileo mission to that same target planet [4]. More information about this best solution found with single-revolutions is presented in Figure 6.8.

When comparing with the direct transfer, the use of these three gravity assist manoeuvres leads to savings of 2051.2 m/s in ∆vtotal, which then translates into great savings in propellant mass and probably in the total cost of the mission, which is usually a top-level requirement for the design. However, the duration of the transfer increases from 2.43 years to 6.49 years, which is still quite reasonable for missions to the outer planets of the Solar System.

Figure 6.8: Detailed information and trajectory plot of the best solution obtained for a transfer from Earth to Jupiter using a VEEGA trajectory with single-revolutions only, which means that M 1 = M 2 = M 3 = M 4 = 0.

58 From the two previous missions considered to Mars and Mercury, improvements in the delta-V budget of an interplanetary trajectory can be expected with the introduction of multi-revolutions. Therefore, the case considered here is the one that led to the best solution using single-revolutions only since if a better solution is found with respect to that best solution, then it is also better than all the other single- revolutions cases. In fact, several better solutions were obtained as seen in Table 6.9, meaning that the introduction of multi-revolution transfers can be advantageous for the mission. Two very interesting results were obtained with the multi-revolution VEEGA cases considered when comparing to the single-revolution one: firstly, smaller values of ∆vtotal were obtained for several cases and, secondly, some cases produced smaller transfer times for the optimum solutions found, something that was not expected at the beginning of this thesis. The latter happened due to better geometry condi- tions between the planets, leading to optimum solutions with faster multi-revolutions transfers between planets when comparing to those of the optimum solution of the single-revolution case. The most amazing consequence of including multi-revolutions in a mission to Jupiter is the appear- ance of a specific trajectory solution which is better than the single-revolution case in all four aspects of the mission: departure epoch, duration of the transfer, arrival epoch and delta-V budget. This extraor- dinary solution only uses one multi-revolution in the overall trajectory, between both swing-bys here on 1 2 4 3 3 Earth, and with the Lambert solution x2, meaning that M = M = M = 0 and M = 1 with S = 2. Detailed information about this case is displayed in Figure 6.9. The advantages of this solution with respect to the other 24 are:

• Departure Epoch: Earliest departure from Earth in the beginning of 2020, almost at the start of the departure window considered, while the single-revolution transfer only leaves the Earth in mid 2023.

• Duration of the transfer: Decreases in almost 6 months the transfer time when comparing to the ”standard” case, taking only 6 years to arrive at Jupiter. It is also the second smallest value in all 25 cases considered, being the minimum duration equal to 5.73 years but requiring more than the

double of ∆vtotal required.

• Arrival at Jupiter: The earliest departure in addition to one of the smallest transfer times makes it the solution to first arrive at Jupiter. It reaches its destination 3 years and 8 months before the arriving there by a spacecraft flying the best trajectory found with single-revolutions only.

• Delta-V budget: If all values obtained for ∆vtotal are rounded up to metres per second, then this solution presents the minimum value along with another one but which takes one more year to arrive at Jupiter, leaving both the Earth at almost the same time. Savings of 657.5 m/s in the delta-V budget with respect to the ”standard” single-revolution case is considerable, making it a very attractive option.

• One last advantage of this case is the fact of using only unpowered swing-bys, which carry less risks than powered swing-bys. Also, only two manoeuvres are required: one to enter the hyperbolic orbit leaving the vicinity of the Earth and another to enter a highly around Jupiter.

59 Figure 6.9: Detailed information and plot of the best solution obtained for a transfer from Earth to Jupiter using a VEEGA trajectory with one complete revolution in the third leg between both Earth swing-bys, 1 2 4 3 3 meaning that M = M = M = 0 and M = 1, corresponding the latter to the solution x2, i.e., S = 2.

60 Chapter 7

Conclusions

7.1 Achievements and Final Remarks

The starting point for this thesis can be described as the question presented in Chapter1 and to be answered as the work progressed, being repeated now to remember the readers: is it possible to improve the design of an interplanetary trajectory by using multi-revolutions when comparing to the cases where only single-revolutions are used? To answer that question, a code was developed in the python programming language to optimize multiple gravity assist trajectories with both single-revolution and multi-revolution transfers. That code was then used to study three cases of missions respectively to Mars, Mercury and Jupiter and the results obtained pointed to an affirmative answer. The most amazing consequence of this outcome is that using the same high thrust propulsion sys- tems in addition to the use of multi-revolutions may decrease the delta-V budget of a space mission when comparing to the ”standard” single-revolution high thrust case, especially when several gravity assist manoeuvres are employed. This decrease in ∆vtotal translates into improvements in the mass budget of the spacecraft, with the possibility of sending a certain payload to some planet, comet or asteroid in the Solar System with less propellant mass, reducing the overall cost of the mission. On the other side, the inclusion of multi-revolutions leads most of the times to increasings in the duration of the transfer which, in turn, increase the cost of the mission and may even nullify the savings gained from the lower delta-V and mass budgets. Nevertheless, it may happen that not only does the delta-V budget decrease but also the transfer time, as seen in the mission to Jupiter. Moreover, this strategy may bring better (sooner) departure epochs to leave the Earth and to an earlier arrival at the target planet, which may be a fundamental criterion in the design of a space mission. When considering only direct transfers from the Earth to a target planet, it is certain that multi- revolution transfers increase the transfer time; so, the only aspects that may improve are the delta-V budget and the departure and arrival epochs. The use of multiple gravity assist manoeuvres with an appropriate choice of the planetary sequence may improve a lot the design of the trajectory in terms of the delta-V budget, cost and actual feasibility of the mission, even if it becomes more complex. The inclusion of multi-revolutions may further improve that design.

61 7.2 Future Work

All the objectives proposed for this thesis were strictly met and successful results were obtained since an affirmative answer was obtained to the motto question. Nonetheless, some future work can still be done in this topic of high thrust multi-revolution transfers for an even stronger relevance in the design of future space missions. The following three aspects can be considered as the next steps in the study of this specific strategy:

• Inclusion of more complex and more complete trajectory models for interplanetary transfers, namely, the use of deep space manoeuvres and aerogravity assists.

• Test this strategy for other target planets and even comets and asteroids to show how comprehen- sive it can be.

• Take the best solutions obtained with multi-revolutions and adapt them to the complete model, whose solution is obtained from numerical integration of the equations of motion including other perturbing forces affecting the spacecraft’s trajectory.

Finally, as low thrust propulsion has seen its importance recognized in the last two decades, multi- revolutions should also start to be considered more and more often in the design of future space missions since they may provide better solutions than other transfer types.

62 Bibliography

[1] New Horizons mission to Pluto. National Aeronautics and Space Administration website. URL https://www.nasa.gov/mission_pages/newhorizons/main/index.html. Accessed 5 January 2016.

[2] D. Izzo. Global Optimization and Space Pruning for Spacecraft Trajectory Design. In B. A. Conway, editor, Spacecraft Trajectory Optimization, chapter 7, pages 178–199. Cambridge University Press, 2010. URL http://www.esa.int/gsp/ACT/doc/MAD/pub/ACT-RPR-MAD-2010-% 28CambridgePress%29GlobalOptimizationAndSpacePruningForSpacecraftTrajectoryDesign. pdf. Accessed 12 october 2015.

[3] Mariner 2 mission to Venus. NASA’s Jet Propulsion Laboratory website. URL http://www.jpl. nasa.gov/missions/mariner-2/. Accessed 6 January 2016.

[4] Galileo mission to Jupiter. NASA’s Jet Propulsion Laboratory website. URL http://www.jpl.nasa. gov/missions/galileo. Accessed 6 January 2016.

[5] Cassini-Huygens mission to Saturn. NASA’s Jet Propulsion Laboratory website, . URL http: //www.jpl.nasa.gov/missions/cassini-huygens/. Accessed 6 January 2016.

[6] R. G. Jahn. Physics of Electric Propulsion. McGraw-Hill, first edition, 1968.

[7] K. F. Wakker. Fundamentals of Astrodynamics. Institutional Repository Library Delft University of Technology, January 2015. ISBN 978-94-6186-419-2.

[8] Deep Space 1 mission to asteroid 9969 Braille and comet Borrelly. NASA’s Jet Propulsion Lab- oratory website. URL http://www.jpl.nasa.gov/missions/deep-space-1-ds1/. Accessed 6 January 2016.

[9] Dawn mission to Vesta and Ceres. NASA’s Jet Propulsion Laboratory website. URL http://www. jpl.nasa.gov/missions/dawn/. Accessed 6 January 2016.

[10] E. Y. Choueiri. New Dawn for Electric . Scientific American, 300:58–65, February 2009.

[11] R. G. Jahn and E. Y. Choueiri. Electric Propulsion. Encyclopedia of Physical Science and Technol- ogy, 5, 2002.

63 [12] PyGMO. European Space Agency’s Advanced Concepts Team, . URL http://esa.github.io/ pygmo/. Accessed 27 November 2015.

[13] PyKEP. European Space Agency’s Advanced Concepts Team, . URL https://esa.github.io/ pykep/. Accessed 27 November 2015.

[14] J. R. Wertz. Orbit and Constellation Design and Management. Microcosm Press and Springer, 2009. ISBN 978-1-881883-07-8. Second Printing.

[15] W. J. Larson and J. R. Wertz. Space Mission Analysis and Design. Microcosm Press and Kluwer Academic Publishers, third edition, 1999. ISBN 1-881883-10-8.

[16] JPL Solar System Dynamics. NASA’s Jet Propulsion Laboratory website. URL http://ssd.jpl. nasa.gov/. Accessed 5 December 2015.

[17] J. W. Cornelisse, H. F. R. Schoyer,¨ and K. F. Wakker. Rocket Propulsion and Spaceflight Dynamics. Pitman Publishing Limited, first edition, 1979. ISBN 0-273-01141-3.

[18] J. Melman. Trajectory Optimization for a Mission to Neptune and Triton. Master’s thesis, Delft University of Technology, January 2007. URL http://repository.tudelft.nl/view/ir/uuid% 3Ab9319341-ae54-4b38-a25c-3972f3ac9062/. Accessed 8 September 2015.

[19] R. H. Battin and R. M. Vaughan. An Elegant Lambert Algorithm. Journal of Guidance, Control and Dynamics, 7(6):662–670, 1984.

[20] D. Izzo. Revisiting Lambert’s problem. and Dynamical As- tronomy, 121(1):1–15, January 2015. URL http://www.esa.int/gsp/ACT/doc/MAD/pub/ ACT-RPR-MAD-2014-RevisitingLambertProblem.pdf. Accessed 02 November 2015.

[21] E. R. Lancaster and R. C. Blanchard. A unified form of Lambert’s theorem. National Aeronautics and Space Administration, September 1968.

[22] R. Gooding. A procedure for the solution of Lambert’s orbital boundary-value problem. Celestial Mechanics and Dynamical Astronomy, 48(2):145–165, 1990.

[23] D. Izzo, V. M. Becerra, D. R. Myatt, S. Nasuto, and J. M. Bishop. Search space pruning and global optimisation of multiple gravity assist spacecraft trajectories. Journal of Global Optimization, 38 (2):283–296, May 2007. URL http://www.esa.int/gsp/ACT/doc/MAD/pub/ACT-RPR-MAD-2007-% 28JOGO%29SearchSpacePruningAndGlobalOptimisation.pdf. Accessed 22 October 2015.

[24] B. Addis, A. Cassioli, M. Locatelli, and F. Schoen. Global Optimization for the Design of Space Tra- jectories. URL http://www.optimization-online.org/DB_FILE/2008/11/2150.pdf. Accessed 10 october 2015.

[25] T. F. Edgar, D. M. Himmelblau, and L. S. Lasdon. Optimization of Chemical Processes. McGraw-Hill, second edition, 2001. ISBN 0-07-039359-1.

64 [26] S. Kemble. Interplanetary Mission Analysis and Design. Springer, first edition, 2006. ISBN 3-540- 29913-0.

[27] R. Storn and K. Price. Differential Evolution - A Simple and Efficient Heuristic for Global Optimiza- tion over Continuous Spaces. Journal of Global Optimization, 11(4):341–359, December 2007.

[28] J. Brest, V. Zumer,˘ and M. S. Maucec.˘ Self-Adaptive Differential Evolution Algorithm in Constrained Real-Parameter Optimization. In IEEE Congress on Evolutionary Computation, 2006.

[29] A. Corana, M. Marchesi, C. Martini, and S. Ridella. Minimizing Multimodal Functions of Continuous Variables with the ”Simulated Annealing” Algorithm. ACM Transactions on Mathematical Software (TOMS), 13(3):262–280, September 1987.

[30] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by Simulated Annealing. Science, 220 (4598):671–680, May 1983.

[31] T. G. Kolda, R. M. Lewis, and V. Torczon. Optimization by Direct Search: New Perspectives on Some Classical and Modern Methods. SIAM Review (SIREV), 45(3):385–482, August 2003.

[32] PaGMO. European Space Agency’s Advanced Concepts Team, . URL https://esa.github.io/ pagmo/. Accessed 27 November 2015.

[33] I. Griva, S. G. Nash, and A. Sofer. Linear and Nonlinear Optimization. Society for Industrial and Applied Mathematics, second edition, 2009. ISBN 978-0-898716-61-0.

[34] D. Izzo. PyGMO and PyKEP: open source tools for massively parallel optimization in astrodynam- ics (the case of interplanetary trajectory optimization). In International Conference on Astrody- namics Tools and Techniques, ICATT 2012. URL http://www.esa.int/gsp/ACT/doc/MAD/pub/ ACT-RPR-MAD-2012-%28ICATT%29PyKEP-PaGMO-SOCIS.pdf. Accessed 19 November 2015.

[35] F. Biscani, D. Izzo, and C. H. Yam. A global optimisation toolbox for massively parallel engineering optimisation. In International Conference on Astrodynamics Tools and Techniques, ICATT 2010. URL http://arxiv.org/pdf/1004.3824v1.pdf. Accessed 19 November 2015.

[36] Ephemeris of the Planets in the Solar System. NASA’s Jet Propulsion Laboratory website. URL http://ssd.jpl.nasa.gov/txt/p_elem_t1.txt. Accessed 5 December 2015.

[37] Cassini 1 example from GTOP Database. ESA’s Advanced Concepts Team website, . URL http: //www.esa.int/gsp/ACT/inf/projects/gtop/cassini1.html. Accessed 12 February 2016.

[38] Global Trajectory Optimization Problems (GTOP) Database. ESA’s Advanced Concepts Team web- site. URL http://www.esa.int/gsp/ACT/inf/projects/gtop/gtop.html. Accessed 12 February 2016.

[39] Rosetta mission to Comet 67P/Churyumov-Gerasimenko. ESA’s website. URL http://www.esa. int/Our_Activities/Space_Science/Rosetta/Rosetta_factsheet. Accessed 9 January 2016.

65 66