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 Multiple Gravity Assist (MGA) Trajectories Optimal control and MGA mission design Search space pruning Examples Conclusions Introduction: the Cassini Huygens mission The Cassini spacecraft is the first to explore the Saturn system of rings and moons from orbit. Cassini entered orbit on 30 June 2004. •. European Space Agency's Huygens probe The 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 Source of image: http://saturn.jpl.nasa.gov Introduction The mission sequence was EVVEJS with orbit insertion in Saturn Source of image: http://saturn.jpl.nasa.gov Introduction Source of video: http://saturn.jpl.nasa.gov Basics of mission design A central aspect of the design of missions such as Cassini Huygens is the optimisation of the trajectory. It is important to calculate trajectories from Earth to other planets/asteroids/comets that are fuel and, ideally, time efficient Basics of mission design Objective is to maximise the mass of the probe that may be used for scientific payload Desired velocity for leaving Earth’s gravitational field determines maximum mass of probe Amount of thrust required by probe determines the proportion of the probe that must be fuel Gravity assist trajectories allow significant reductions in both launch velocity and thrust Basics of space mission design Spacecraft are provided with sets of propulsive devices so they can maintain stability, execute manoeuvres, and make minor adjustments in trajectory. The propulsive action is often impulsive, but there are now low thrust engines which provide continuous thrust over extended periods of time. Gravity assist manoeuvres In a gravity-assist manoeuvre, angular momentum is transferred from the orbiting planet to a spacecraft approaching from behind the planet in its progress about the sun. These manoeuvres can be powered (impulsive thrust is applied) or unpowered. This gives extra velocity to the spacecraft and yields fuel and time savings in a mission. Gravity assist manoeuvres Other manoeuvres Deep space manoeuvres (impulsive) Low thrust arcs Orbit insertion (braking) Optimal control and mission design 1. 2. 3. 4. The trajectory design problem has all the ingredients to generate optimal control problems: Nonlinear dynamics (orbital mechanics) An objective function Control action (thrust) Inequality constraints Dynamics Interplanetary travel requires the understanding of the “restricted N-body problem”. If the spacecraft is sufficiently close to a celestial body, it is possible to approximate the dynamics by neglecting the influence of other celestial bodies, and to analyse the dynamics as a “restricted two-body problem”. The region inside which this approximation is valid is known as the sphere of influence of the celestial body. If the spacecraft is not inside the sphere of influence of a planet or moon of the solar system, it is considered to be under the influence of the sun only. Dynamics Because the sphere of influence of the sun is much larger than that of the planets, when studying MGA trajectories we may consider one main attracting body (the sun) and then join the various trajectories using what is known as the “patched conics” approach. Hence the problem may be reduced to a sequence of “restricted two-body problems” In the unforced case the restricted two body problem admits solutions that are known to be conics (elliptic, parabolic or hyperbolic orbits). The forced case is becoming relevant with the new “lowthrust engines” and other recent propulsion concepts. Dynamics – Lambert problem The problem of travelling between two points with a preassigned time-of-flight along a ballistic trajectory is called “Lambert Problem” Solution gives the spacecraft velocity vector at the beginning and at the end of the arc. Under certain assumptions the solution is unique. Numerical integration is avoided. r r r3 r (t0 ) rA , r (t1 ) rB Gravity assist calculations A gravity assist model is used to calculate the impulsive thrust required at periapsis during a swingby This impulse is often required to keep a safe distance from the planet. The angle a and the periapsis radius rp are related. The patched conics approach Simplifying Assumptions Preliminary mission design Its goal is to allow exploration of different mission options, rather than calculate an very accurate trajectory Several simplifying assumptions are used Spacecraft mass is negligible compared with celestial bodies Sun/planets are point masses Spacecraft transfers between planets are perfectly elliptical Instantaneous hyperbolic transfers occur at planets We will concentrate on MGA trajectories with powered gravity assists, but without deep space manoeuvres or low thrust arcs. These assumptions yield a constrained continuous optimisation problem with one dimension per planet involved Simplified Search Space Decision vector, x = [t0, T1, T2, … ,TN+1] t0 is the launch date from first planet T1 is transfer time to from first to second planet T2 is transfer time to second to third planet And so on… N is the number of planets where a gravity assist manoeuvre is performed. Each element of x can be bounded, so we are looking for x within a hyper-rectangle: xI I 0 I 1 I N 1 Ephemeris Given an arrival (or departure) time at a planet, say t1, planetary ephemeris are used to provide the desired position of the spacecraft at t1. There are publicly available ephemeris routines and solar system object databases which can be used to determine the position of celestial bodies as a function of time. Problem formulation For a mission with N gravity assist manoeuvres, find: x [t0 , T1 , T2 , to minimise: , TN 1 ] I N 1 f (x) Vi ( x) subject to: i 0 V0 (x) V0max Vi (x) Vi max , i 1, rp ,i (x) rpmin i 1, ,i , VN 1 (x) VNmax 1 Launcher thrust constraint ,N ,N Thrust constraint at each GA Periapsis radius constraint at each GA Braking manoeuvre constraint Objective Function The objective function f(x) seeks to minimise the total thrust / maximise payload. Thrust is measured as instantaneous changes of velocity provided by the engine. The initial thrust is provided by a launcher which then separates from the probe. Evaluating the objective function x=[t0, T1,...TN+1] Ephemeris routine (N+2) r={r0, r1,...rN+1} Lambert solver (N+1) Gravity {v1in , v1out , vinN , vout N } assist solver {a1,...a N } (N) vN+1 Eccentricity, e Radius of periapse, rp v0 Braking manoeuvre {v1,…,vN} {rp1,...rpN} vN+1 Objective function and constraints f(x) Constraint violations Local minima The number of local minima grows with the number of stages of an MGA mission. Local minima located with SQP in the EJS transfer problem The presence of a large number of local minima calls for the use of global optimisation techniques Pruning the search space Previous work has shown that the vast majority of this search space I corresponds to infeasible solutions How can we identify these infeasible regions and prune them from the search space? Overview of Gravity Assist Space Pruning (GASP) Algorithm Deterministic algorithm Relies on efficient grid sampling of the search space Exploits domain knowledge to effectively constrain space User defined constraints on launch energy, gravity assist thrusts, swingby periapsis radii, and braking thurst Provides intuitive visualisation of high dimensional MGA search spaces Allows simple identification of solution families Produces a set of reduced box bounds (between 6 and 9 orders of magnitude smaller than original space) Example: Earth-Mars transfer Consider an Earth-Mars transfer -1200<t0<600 MJD2000, 25<T1<525 days Grid sampled at resolution of 10 days Effect of launch velocity constraint V0max 5 km/s V max 0 5 km/s V0max 10 km/s Note: Arrival time = Departure time + transfer time (t0+T1) Adding a Braking Constraint Adding a braking manoeuvre constraint at Mars of 5 km/s yields only 4% of the search space valid. Optimising launch windows Reduced box bounds automatically calculated for each launch window Each launch window has been optimised separately using Differential Evolution Different solution families can be examined separately and then the most appropriate chosen GASP algorithm For single interplanetary transfer Initial velocity constraint Braking manoeuvre constraint Allows simple identification of prospective departure/arrival windows. Significantly reduces the search space. How can these ideas be applied to multiple gravity assists? Two and more phases… Infeasible Arrival Times Therefore, it must be infeasible to depart from the next planet on these dates… Complete GASP Algorithm Perform sampling as sequence of 2D spaces Earth departure/Mars arrival Mars departure/Venus arrival Apply initial velocity constraint to first phase Forward constraining through all phases Apply braking manoeuvre constraint Backward constraining through all phases Invalidate arrival dates based on departure dates Forward constraining Infeasible arrival date constrains departure from the planet on that date Horizontal axis constrains vertical in the next phase Phase (k + 1) Phase k 2000 MJD2K Invalidate corresponding departure date Invalid arrival date 1000 MJD2K Earth departure 1000 2000 Mars departure Scaling of GASP algorithm GASP algorithm scales polynomially – this is due to the characterisation of the search space as a sequence of connected 2D search spaces This is true both in memory requirements and computational expense Copes well with the curse of dimensionality Example: EVVEJS Trajectory Lower bound: 250000 fold reduction in size of search space EVVEJS With New Bounds EVVEJS Optimised Differential Evolution was applied to the reduced bounds Best solution found was 5225.7m/s Launch velocity: 3737m/s Probe velocity: 1488 m/s A direct transfer requires launch velocity of approx 10000m/s Conclusions Introduced the multiple gravity assist problem Showed relations to optimal control and gave a formulation for a specific MGA problem with no deep space manoeuvres or low thurst arcs. Have described the Gravity Assist Space Pruning algorithm (GASP) Computationally efficient deterministic method for pruning infeasible solutions with polynomial time and space complexity Allows effective visualisation of high dimensional search space Identifies launch windows which can be optimised separately Acknowledgements The work presented here comes from a project commissioned by the European Space Agency under contract No. 18138, Project Ariadna 4101. Special thanks to Darren Myatt, Slawek Nasuto (Reading), Mark Bishop (Goldsmiths), and Dario Izzo (ESA). The final report of this project can be downloaded from: http://www.esa.int/gsp/ACT/doc/ACT-RPT-03-4101-ARIADNAGlobalOptimisationReading.pdf