global optimisation and search space pruning in spacecraft trajectory design
DESCRIPTION
Global optimisation and search space pruning in spacecraft trajectory design. Victor Becerra Cybernetics The University of Reading, UK. Semi-plenary talk IEEE Colloquium on Optimisation for Control, Sheffield, UK, 24 April 2006. Introduction. Introduction Basics of Space Mission Design - PowerPoint PPT PresentationTRANSCRIPT
Global optimisation and Global optimisation and search space pruning in search space pruning in
spacecraft trajectory spacecraft trajectory designdesignVictor BecerraVictor BecerraCyberneticsCybernetics
The University of Reading, UKThe University of Reading, UKSemi-plenary talk
IEEE Colloquium on Optimisation for Control, Sheffield, UK, 24 April 2006
IntroductionIntroduction IntroductionIntroductionBasics of Space Mission DesignBasics of Space Mission DesignMultiple Gravity Assist (MGA) TrajectoriesMultiple Gravity Assist (MGA) TrajectoriesOptimal control and MGA mission designOptimal control and MGA mission designSearch space pruningSearch space pruningExamplesExamplesConclusionsConclusions
Introduction: the Cassini Huygens Introduction: the Cassini Huygens missionmission
Source of image: http://saturn.jpl.nasa.gov
•.
The Cassini spacecraft is the first to explore the Saturn system of rings and moons from orbit.
Cassini entered orbit on 30 June 2004.
The European Space Agency's Huygens probe explored Titan's atmosphere in January 2005.
The instruments on both spacecraft are providing scientists with valuable data and views of this region of the solar system
IntroductionIntroduction
Source of image: http://saturn.jpl.nasa.gov
The mission sequence was EVVEJS with orbit insertion in Saturn
IntroductionIntroduction
Source of video: http://saturn.jpl.nasa.gov
Basics of mission designBasics of mission design
A central aspect of the design of missions such A central aspect of the design of missions such as Cassini Huygens is the optimisation of the as Cassini Huygens is the optimisation of the trajectory.trajectory.
It is important to calculate trajectories from Earth It is important to calculate trajectories from Earth to other planets/asteroids/comets that are fuel to other planets/asteroids/comets that are fuel and, ideally, time efficientand, ideally, time efficient
Basics of mission designBasics of mission design Objective is to maximise the mass of the probe Objective is to maximise the mass of the probe
that may be used for scientific payloadthat may be used for scientific payload Desired velocity for leaving Earth’s gravitational field Desired velocity for leaving Earth’s gravitational field
determines maximum mass of probedetermines maximum mass of probe Amount of thrust required by probe determines the Amount of thrust required by probe determines the
proportion of the probe that must be fuelproportion of the probe that must be fuel Gravity assist trajectories allow significant Gravity assist trajectories allow significant
reductions in both launch velocity and thrustreductions in both launch velocity and thrust
Basics of space mission designBasics of space mission designSpacecraft are provided with sets of Spacecraft are provided with sets of
propulsive devices so they can maintain propulsive devices so they can maintain stability, execute manoeuvres, and make stability, execute manoeuvres, and make minor adjustments in trajectory. minor adjustments in trajectory.
The propulsive action is often The propulsive action is often impulsiveimpulsive, , but there are now but there are now low thrust engineslow thrust engines which which provide continuous thrust over extended provide continuous thrust over extended periods of time.periods of time.
Gravity assist manoeuvresGravity assist manoeuvres In a In a gravity-assist manoeuvregravity-assist manoeuvre, angular , angular
momentum is transferred from the orbiting planet momentum is transferred from the orbiting planet to a spacecraft approaching from behind the to a spacecraft approaching from behind the planet in its progress about the sun. planet in its progress about the sun.
These manoeuvres can be powered (impulsive These manoeuvres can be powered (impulsive thrust is applied) or unpowered.thrust is applied) or unpowered.
This gives extra velocity to the spacecraft and This gives extra velocity to the spacecraft and yields fuel and time savings in a mission.yields fuel and time savings in a mission.
Gravity assist manoeuvresGravity assist manoeuvres
Other manoeuvresOther manoeuvres
Deep space manoeuvres (impulsive)Deep space manoeuvres (impulsive)Low thrust arcsLow thrust arcsOrbit insertion (braking) Orbit insertion (braking)
Optimal control and mission designOptimal control and mission design
The trajectory design problem has all the The trajectory design problem has all the ingredients to generate optimal control ingredients to generate optimal control problems:problems:
1.1. Nonlinear dynamics (orbital mechanics)Nonlinear dynamics (orbital mechanics)2.2. An objective functionAn objective function3.3. Control action (thrust)Control action (thrust)4.4. Inequality constraintsInequality constraints
DynamicsDynamics Interplanetary travel requires the understanding of the Interplanetary travel requires the understanding of the
““restricted N-body problem”.”. If the spacecraft is sufficiently close to a celestial body, it If the spacecraft is sufficiently close to a celestial body, it
is possible to approximate the dynamics by neglecting is possible to approximate the dynamics by neglecting the influence of other celestial bodies, and to analyse the the influence of other celestial bodies, and to analyse the dynamics as a “restricted two-body problem”.dynamics as a “restricted two-body problem”.
The region inside which this approximation is valid is The region inside which this approximation is valid is known as the known as the sphere of influencesphere of influence of the celestial body. of the celestial body.
If the spacecraft is not inside the sphere of influence of a If the spacecraft is not inside the sphere of influence of a planet or moon of the solar system, it is considered to be planet or moon of the solar system, it is considered to be under the influence of the sun only.under the influence of the sun only.
DynamicsDynamics Because the sphere of influence of the sun is much larger Because the sphere of influence of the sun is much larger
than that of the planets, when studying MGA trajectories than that of the planets, when studying MGA trajectories we may consider one main attracting body (the sun) and we may consider one main attracting body (the sun) and then join the various trajectories using what is known as then join the various trajectories using what is known as the “the “patched conics” approach.” approach.
Hence the problem may be reduced to a sequence of Hence the problem may be reduced to a sequence of “restricted two-body problems” “restricted two-body problems”
In the unforced case the restricted two body In the unforced case the restricted two body problem admits solutions that are known to be problem admits solutions that are known to be conics (elliptic, parabolic or hyperbolic orbits). conics (elliptic, parabolic or hyperbolic orbits).
The forced case is becoming relevant with the new The forced case is becoming relevant with the new ““low-thrust engines” and other recent propulsion ” and other recent propulsion concepts.concepts.
Dynamics – Lambert problemDynamics – Lambert problem The problem of travelling The problem of travelling
between two points with a pre-between two points with a pre-assigned time-of-flight along a assigned time-of-flight along a ballistic trajectory is called ballistic trajectory is called “Lambert Problem”“Lambert Problem”
Solution gives the spacecraft Solution gives the spacecraft velocity vector at the beginning velocity vector at the beginning and at the end of the arc.and at the end of the arc.
Under certain assumptions the Under certain assumptions the solution is unique.solution is unique.
Numerical integration is Numerical integration is avoided.avoided.
3
0 1( ) , ( )A B
rr t r r t r
rr
Gravity assist calculationsGravity assist calculations A gravity assist model is A gravity assist model is
used to calculate the used to calculate the impulsive thrust required impulsive thrust required at periapsis during a at periapsis during a swingbyswingby
This impulse is often This impulse is often required to keep a safe required to keep a safe distance from the planet.distance from the planet.
The angle The angle and the and the periapsis radius periapsis radius rrp are are related.related.
The patched conics approachThe patched conics approach
Simplifying AssumptionsSimplifying Assumptions Preliminary mission design
Its goal is to allow exploration of different mission options, rather Its goal is to allow exploration of different mission options, rather than calculate an very accurate trajectorythan calculate an very accurate trajectory
Several simplifying assumptions are usedSeveral simplifying assumptions are used Spacecraft mass is negligible compared with celestial bodiesSpacecraft mass is negligible compared with celestial bodies Sun/planets are point massesSun/planets are point masses Spacecraft transfers between planets are perfectly elliptical Spacecraft transfers between planets are perfectly elliptical Instantaneous hyperbolic transfers occur at planetsInstantaneous hyperbolic transfers occur at planets
We will concentrate on MGA trajectories with We will concentrate on MGA trajectories with powered gravity assists, but , but withoutwithout deep space manoeuvres or or low thrust arcs..
These assumptions yield a constrained continuous These assumptions yield a constrained continuous optimisation problem with one dimension per planet optimisation problem with one dimension per planet involvedinvolved
Simplified Search SpaceSimplified Search Space Decision vector, Decision vector, xx = [ = [tt00, , TT11, , TT22, … ,, … ,TTN+N+11]]
tt00 is the launch date from first planet is the launch date from first planet TT11 is transfer time to from first to second planet is transfer time to from first to second planet TT22 is transfer time to second to third planet is transfer time to second to third planet And so on…And so on… NN is the number of planets where a gravity assist is the number of planets where a gravity assist
manoeuvre is performed.manoeuvre is performed. Each element of Each element of xx can be bounded, so we are looking can be bounded, so we are looking
for for xx within a hyper-rectangle: within a hyper-rectangle:0 1 1N x I I I I
EphemerisEphemerisGiven an arrival (or departure) time at a Given an arrival (or departure) time at a
planet, say planet, say tt11, , planetary ephemeris are are used to provide the desired position of the used to provide the desired position of the spacecraft at spacecraft at tt11..
There are publicly available ephemeris There are publicly available ephemeris routines and solar system object routines and solar system object databases which can be used to databases which can be used to determine the position of celestial bodies determine the position of celestial bodies as a function of time.as a function of time.
Problem formulationProblem formulationFor a mission with For a mission with NN gravity assist manoeuvres, find: gravity assist manoeuvres, find:
0 1 2 1[ , , , , ]Nt T T T x Ito minimise:to minimise:
1
0
( ) ( )N
ii
f V x
xsubject to:subject to:
max0 0
max
min, ,
max1 1
( )
( ) , 1, ,
( ) , 1, ,
( )
i i
p i p i
N N
V V
V V i N
r r i N
V V
x
x
x
x
Periapsis radius constraint at each GAPeriapsis radius constraint at each GA
Launcher thrust constraintLauncher thrust constraint
Thrust constraint at each GAThrust constraint at each GA
Braking manoeuvre constraintBraking manoeuvre constraint
Objective FunctionObjective Function
The objective function The objective function ff((xx) seeks to ) seeks to minimise the total thrust / maximise minimise the total thrust / maximise payload.payload.
Thrust is measured as instantaneous Thrust is measured as instantaneous changes of velocity provided by the engine.changes of velocity provided by the engine.
The initial thrust is provided by a launcher The initial thrust is provided by a launcher which then separates from the probe.which then separates from the probe.
Evaluating the objective functionEvaluating the objective function
Ephemerisroutine(N+2)x=[t0, T1,...TN+1]
Lambertsolver(N+1)r={r0, r1,...rN+1}
Gravityassist solver
(N)
Objective function and constraints
{v1,…,vN}{rp1,...rpN}Braking
manoeuvre
vN+1
vN+1
1 1
1
{ , , , }{ ,... }
in out in outN N
N v v v v
v0
f(x)Constraintviolations
Eccentricity, e
Radius ofperiapse, rp
Local minimaLocal minima
Local minima located with SQP in the EJS transfer problem
The number of local minima grows with the number of stages of an MGA mission.
The presence of a large number of local minima calls for the use of global optimisation techniques
Pruning the search spacePruning the search space
Previous work has shown that the vast Previous work has shown that the vast majority of this search space majority of this search space corresponds corresponds to infeasible solutionsto infeasible solutions
How can we identify these infeasible How can we identify these infeasible regions and prune them from the search regions and prune them from the search space?space?
Overview of Gravity Assist Space Overview of Gravity Assist Space Pruning (GASP) AlgorithmPruning (GASP) Algorithm
Deterministic algorithmDeterministic algorithm Relies on Relies on efficientefficient grid sampling of the search space grid sampling of the search space Exploits domain knowledge to effectively constrain Exploits domain knowledge to effectively constrain
spacespace User defined constraints on launch energy, gravity User defined constraints on launch energy, gravity
assist thrusts, swingby periapsis radii, and braking assist thrusts, swingby periapsis radii, and braking thurst thurst
Provides intuitive visualisation of high dimensional Provides intuitive visualisation of high dimensional MGA search spacesMGA search spaces
Allows simple identification of solution familiesAllows simple identification of solution families Produces a set of reduced box bounds (between 6 Produces a set of reduced box bounds (between 6
and 9 orders of magnitude smaller than original space)and 9 orders of magnitude smaller than original space)
Consider an Earth-Mars transferConsider an Earth-Mars transfer -1200<-1200<tt00<600 MJD2000, 25<<600 MJD2000, 25<TT11<525 days<525 daysGrid sampled at resolution of 10 daysGrid sampled at resolution of 10 days
Example: Earth-Mars transferExample: Earth-Mars transfer
Effect of launch velocity constraintEffect of launch velocity constraint
max0 5 km/sV
max0 10 km/sV max
0 5 km/sV Note: Arrival time = Departure time + transfer time (t0+T1)
Adding a Braking ConstraintAdding a Braking Constraint Adding a braking manoeuvre constraint at Mars of 5 Adding a braking manoeuvre constraint at Mars of 5
km/s yields only 4% of the search space valid.km/s yields only 4% of the search space valid.
Optimising launch windowsOptimising launch windows
Reduced box bounds automatically calculated for each launch windowReduced box bounds automatically calculated for each launch window Each launch window has been optimised separately using Differential EvolutionEach launch window has been optimised separately using Differential Evolution Different solution families can be examined separately and then the most Different solution families can be examined separately and then the most
appropriate chosenappropriate chosen
GASP algorithmGASP algorithmFor single interplanetary transferFor single interplanetary transfer
Initial velocity constraintInitial velocity constraintBraking manoeuvre constraintBraking manoeuvre constraint
Allows simple identification of prospective Allows simple identification of prospective departure/arrival windows.departure/arrival windows.
Significantly reduces the search space.Significantly reduces the search space.How can these ideas be applied to How can these ideas be applied to
multiple gravity assists?multiple gravity assists?
Two and more phases…Two and more phases…
InfeasibleInfeasibleArrival TimesArrival Times
Therefore, it must be infeasible to Therefore, it must be infeasible to departdepart from the next planet on these dates…from the next planet on these dates…
Complete GASP AlgorithmComplete GASP Algorithm Perform sampling as sequence of 2D spacesPerform sampling as sequence of 2D spaces
Earth departure/Mars arrivalEarth departure/Mars arrival Mars departure/Venus arrivalMars departure/Venus arrival
Apply initial velocity constraint to first phaseApply initial velocity constraint to first phase Forward constraining through all phasesForward constraining through all phases Apply braking manoeuvre constraintApply braking manoeuvre constraint Backward constraining through all phasesBackward constraining through all phases
Invalidate arrival dates based on departure datesInvalidate arrival dates based on departure dates
Forward constrainingForward constraining Infeasible arrival date constrains departure from Infeasible arrival date constrains departure from
the planet on that datethe planet on that date Horizontal axis constrains vertical in the next Horizontal axis constrains vertical in the next
phasephase
Invalid arrival date
1000 MJD2K
2000 MJD2KPhase k
Invalidate corresponding departure date
1000 2000
Phase (k + 1)
Earth departure
Mar
s A
r riv
a l
Ven
us A
rri v
al
Mars departure
Scaling of GASP algorithmScaling of GASP algorithmGASP algorithm scales polynomially – this GASP algorithm scales polynomially – this
is due to the characterisation of the search is due to the characterisation of the search space as a sequence of connected 2D space as a sequence of connected 2D search spacessearch spaces
This is true both in memory requirements This is true both in memory requirements and computational expenseand computational expense
Copes well with the curse of dimensionalityCopes well with the curse of dimensionality
Example: EVVEJS TrajectoryExample: EVVEJS Trajectory
Lower bound: 250000 foldreduction in size of search space
EVVEJS With New BoundsEVVEJS With New Bounds
EVVEJS OptimisedEVVEJS OptimisedDifferential Evolution was applied to the Differential Evolution was applied to the
reduced boundsreduced boundsBest solution found was 5225.7m/s Best solution found was 5225.7m/s Launch velocity: 3737m/sLaunch velocity: 3737m/sProbe velocity: 1488 m/sProbe velocity: 1488 m/sA direct transfer requires launch velocity of A direct transfer requires launch velocity of
approx 10000m/sapprox 10000m/s
ConclusionsConclusions Introduced the multiple gravity assist problemIntroduced the multiple gravity assist problem Showed relations to optimal control and gave a Showed relations to optimal control and gave a
formulation for a specific MGA problem with no deep formulation for a specific MGA problem with no deep space manoeuvres or low thurst arcs.space manoeuvres or low thurst arcs.
Have described the Gravity Assist Space Pruning Have described the Gravity Assist Space Pruning algorithm (GASP)algorithm (GASP)
Computationally efficient deterministic method for Computationally efficient deterministic method for pruning infeasible solutions with polynomial time and pruning infeasible solutions with polynomial time and space complexityspace complexity
Allows effective visualisation of high dimensional search Allows effective visualisation of high dimensional search spacespace
Identifies launch windows which can be optimised Identifies launch windows which can be optimised separatelyseparately
AcknowledgementsAcknowledgements The work presented here comes from a project The work presented here comes from a project
commissioned by the European Space Agency commissioned by the European Space Agency under contract No. 18138, Project Ariadna 4101. under contract No. 18138, Project Ariadna 4101.
Special thanks to Darren Myatt, Slawek Nasuto Special thanks to Darren Myatt, Slawek Nasuto (Reading), Mark Bishop (Goldsmiths), and Dario (Reading), Mark Bishop (Goldsmiths), and Dario Izzo (ESA).Izzo (ESA).
The final report of this project can be The final report of this project can be downloaded from: downloaded from:
http://www.esa.int/gsp/ACT/doc/ACT-RPT-03-4101-ARIADNA-http://www.esa.int/gsp/ACT/doc/ACT-RPT-03-4101-ARIADNA-GlobalOptimisationReading.pdfGlobalOptimisationReading.pdf