gtoc7 - european space agency
TRANSCRIPT
GTOC7�7th Global Trajectory Optimisation Competition�– Multi-Spacecraft Main-Belt Asteroid Tour –�
Organised by Profs. Lorenzo Casalino & Guido Colasurdo
Politecnico di Torino & Università di Roma “Sapienza” 20 May – 17 June, 2014
Results and Methods of the JPL Team (Team 19):
Anastassios Petropoulos, Gregory Lantoine, Damon Landau, Daniel Grebow, Try Lam, Nitin Arora, Drew Jones, Juan Senent, Mark Jesick, Juan Arrieta,
Aline Zimmer, Eric Gustafson, Julie Bellerose, Thomas Pavlak, Mar Vaquero, Jeffrey Stuart, Gregory Whiffen, Paul Finlayson, Jon Sims, Eugene Bonfiglio
Jet Propulsion Laboratory, California Institute of Technology, California, U.S.A.
GTOC7 Workshop
Rome, Italy 06 March 2015
© 2015 California Institute of Technology. Government sponsorship acknowledged
GTOC7 • Four weeks to solve problem: 20 May – 17 June 2014 • Rendezvous with as many asteroids as possible, given:
– 16,256 Main-Belt Asteroids – 3 probes, to be dropped from a mothership which they must rejoin – 10-year launch window 2021-2030, 12-year mission duration – Launch v-infinity <= 6km/s, – Launch mass = 24,000 kg, composed of
• 6,000 kg Mothership dry • 12,000 kg propellant for Mothership • 3 x 2,000 kg wet-mass probes (daughters) (800 kg dry)
– Daughter TOF <= 6yrs (from separation to rejoining with Mother)
– Mother: max 10 impulses total, Isp = 900 s – Daughters: Low-thrust, Isp = 3000 s, Thrust <= 0.3 N – Only Daughters’ asteroid rendezvous count, & only if separated
– Secondary objective: Maximise sum of final Daughter masses
AEP / March 06, 2015 2
Broad Search Methods – Traj Building Blocks • GTOC5-style optimiser-in-the loop trajectory build up was tried but
was too onerous – GTOC7 asteroid-to-asteroid legs could be estimated, unlike GTOC5 legs
• Daughter-Chain Backbone – Mothership rendezvous with 1st asteroid, drops off 1st daughter
– Daughter 1 goes to as many asteroids as possible – Mothership rendezvous with final asteroid of D1 – D2 and D3 chains then built to go to final asteroid of D1 chain – … and variations on this theme
• Mother-Traj Backbone – Mothership drops off Daughters in asteroid ‘clusters’ (to be defined) – Daughters pick asteroids that will take them closer to the final ‘cluster’ – … variations in clusters and drop-off sequence
• Daughter-Chain Backbone much more successful – Clusters not populous enough – Competition for asteroids amongst daughters not severe enough to matter
AEP / March 06, 2015 3
Broad Search Methods – Asteroid Selection
• Lambert based – STAR – Lambert arcs between all asteroid pairs at discrete points in time – Ant Colony Optimisation (ACO) – GTOC5-style asteroid-chain build-up
• Phase-free – Q function (proximity quotient): ‘best-case quadratic minimum time-to-go’, orbit
element coupling – he metric: ‘distance’ between orbits based on angular momentum and
eccentricity vectors – Projective cost as well (for AàB, Pick based also on cost BàZ, where Z is a
desired final asteroid)
• Borg cube – Asteroid close approaches, plotted as AstNum x AstNum x Date
• Asteroid Clumping in orbit elements
AEP / March 06, 2015 4
Broad Search Methods – ‘Glue’ and Overview
• AF (Awesome Filter), Slayer – Executables to give next asteroids ranked by DV
• Q & he scripts to give ranking of next asteroids • BBC (Backbone crusher)
– Takes a D1 backbone and tries to fit to it precomputed long chains for D2, D3
• STAR and ACO
AEP / March 06, 2015 5
ACO
STAR Malto ‘Gtool’ Malto
Global Search
Independent optimization
Multiple s/c optimization
Validation & Submission
Malto BBC
Slayer he Q
AF
Ant Colony Optimization (ACO)
• Classic ACO: – Biology inspired probabilistic search algorithm – Finds good paths through graphs
• Defined by a sequence of discrete variables • Good for constant edge-cost graphs (e.g. Travelling Salesman
Problem) • Not so good for: Mixed-Variable Optimisation, path-dependent edge-
costs, NL constraints
AEP / March 06, 2015 7
Modified ACO Highlights
1) Previous generation information used if and only if the partial sequence exactly matches – Constraint violating partial sequences added to Tabu list
• Probability of re-visiting sequence = 0% – Increased probability of ‘partially’ repeating Feasible sequences
• Inversely proportional to the cost of those solutions
2) ACO divorced from the underlying problem – Continuous problem evaluated after each generation forms sequences – ACO ‘knows not’ the meaning of the integer values its selecting
3) Current ‘Queue’ can depend on partial sequence
AEP / March 06, 2015 8
GTOC7 Sub-Problem
• Given ‘backbone’ chain (seed), find companion chains – Having same start & end asteroids – Completely unique interior asteroids – Some flexibility on start/end epochs
• Implementation – Modified ACO first yields integer sequences – Each integer = an index to an ordered list of Lambert arcs on given leg
• Ordered by lowest ΔV – Lamberts evaluated via Fortran parallel routine “slayer” – Phase-free metrics (Q-law) used to prune the set of targets
AEP / March 06, 2015 9
N N N
L L L
q
Phase-free-metric Prune
slayer
• This implementation must be solved in serial… Enumerating the combinations is insane!!
p*L*M Lamberts
p*L*M Lamberts
• With ACO sequence (e.g. 1-3-2), Lambert evaluations are: Mpq ⋅⋅~
00 t, Af t, fA
p*M Lamberts
p*L Lamberts
MM M
asteroids all ofSet =N
M = Phase-free metric pruned set of asteroids
state starting a from arcsLambert best of #=L
grid TOF of izeSp =
chain ofLength =q
}
} 1
3
2
GTOC7 Sub-Problem
• Optimisation – Minimize Total ΔV – Constrain: total TOF , single leg ΔV, total ΔV – Adjusted constraints such that ‘feasible’ solutions mostly converge in Malto
• 6.8 years, 3.0 km/sec, 21.0 km/sec
• Sample result:
– Seed (14 asteroid-chain):
– Find D2 chains, excluding interior seed asteroids: (12-ast chains)
– Repeat for D3, excluding interior asteroids from D2 … – This seed with D2 and D3 companions, led to 35 point solution
AEP / March 06, 2015 11
STAR Method
• Compute ‘all’ Lambert-arc transfers between all asteroid pairs and also Earth-asteroid on a time grid: – Matlab code, vectorised and highly tuned – Man-in-the-loop still needed (next slide) – One Linux Workstation, 8 cores (only sometimes fully used)
Comp Time (given previous chains), hrs
Asteroid Chain Length
12* 2 6 7 4 8 8 9 12 10 12 11 8 12 4 13 <1 14
Total Time: <~3 days
* A GPU implementation took about 4-5 hrs
AEP / March 06, 2015 12
How to make half a billion 13-asteroid chains�(STAR)
1) Don’t worry if it’s possible, “creativity is embarrassing” 2) Break down the problem
– All ast-ast transfers are rendezvous, so each leg can be computed independently
– Grid up encounter times in 10-day increments – only 42 trillion combinations!
– …but the 13 million time/asteroid nodes can be stored in RAM 3) Filter, filter, filter
– d < fudge*0.5*a*t^2 (d is distance between asteroids at arrival) – If it’s infeasible for 200 days, 190 days won’t fly either – Derive an analytic approximation for min feasible acceleration
4) Blow up your hard drive
Flight (me on single leg, days
No. of Sol’ns
AEP / March 06, 2015 13
Constant acceleration approximation
• Assume gravity is same on Lambert and low-thrust arcs, i.e. solar tide is negligible
• Solve for accelerations and switch time that nullify V∞ with |a1|=|a2|
• Iterate to get ΔV (& acceleration) as function of coast time
Lambert sol’n
V∞1
V∞2
Asteroid 1 Velocity
Asteroid 2 Velocity
Constant accelera(on with single direc(on switch
a2
a1
• Derived acceleration and given thrust mag provide initial mass
• Combine with DV to get appx of final mass as function of initial mass
• Much better predictor of feasibility and performance than Lambert alone for little additional computation
Lambert ΔV, km/s
Max
Arr
ival
Mas
s on
leg,
kg
AEP / March 06, 2015 14
…13+ links
5) Now have final mass as function of initial mass for all possible asteroid transfers
6) Match end asteroid of transfer(s) 1 to beginning asteroid of transfer(s) 2
– only consider transfers that are feasible for the current masses – filter out chains with duplicates or low end mass – Wash, Rinse, Repeat
7) Problem gets big (TB+) approaching 10-asteroids – need to use hard drive efficiently – sort files by asteroid #, only read in one asteroid at a time to link – could be done in parallel
8) 34 million unique 13-asteroid sequences – filtered from 480M with unique times
9) 175 thousand unique 14-asteroid sequences 10) No feasible 15-asteroid sequences found
AEP / March 06, 2015 15
‘Single-Spacecraft’ formulation
• Mother rendezvous with asteroids A0 and Af • Daughters start at A0 and end at Af • Mother and daughter trajectories are optimized independently
M
Di
E
Ai1
A0 Af
A0 Af
i=1,2,3
AEP / March 06, 2015 16
Multiple s/c formulation
• Mother no longer needs to rendezvous with A0 and Af • All daughter sequences start and end with their mother • Mother is coasting when daughters are released and picked up • Problem can be solved using ‘Gtool / OptiFor’ (with SNOPT solver)
– Different discretization and control scaling between mother & daughters – Objective function is the sum of the daughter final masses
• Initial guess from standard formulation (Malto or ConstantAcc/Lambert)
M
Di
E A0 Af
Af
Xm20 = Coast(Xm1f, tm20-‐tm1f) tm1f < tm20
Xd10 = Coast(Xm1f, td10-‐tm1f) tm1f < td10 < tm20
Xdff = Coast(Xm2f, tdff-‐tm2f) tdff > tm2f
Ai1 Ai2 AEP / March 06, 2015 17
Daughter asteroid sequences
• All daughter sequences start and end with their mother (-1) • The daughters should not visit the same first and last asteroids
– But that is the case with the standard formulation • Several combinations must be run to decide the best way to chop off
the unnecessary repeats from the daughter sequences – Mini-combinatorial problem !
• Example: our submitted 36-pt solution – Initial guess from STAR & Malto
800 kg 834 kg 777 kg
810 kg 827 kg 804 kg
800 kg 868 kg 800 kg
14-13-13-length ast chains
13-12-11
12-13-11 è J=36
Gtool masses
AEP / March 06, 2015 18
35-pt solution bumpy road
• 34-pt – 14-ast backbone D1 from STAR & BBC, 12-ast D2 and D3 from ACO + Malto
• 35-pt
– One asteroid (12538) added to D2 with close approach tool – Bug: one repeated asteroid !
• True 35-pt, J’~2555kg – New D2 sequence from ACO using 12538 and without repeated asteroid
808 kg 792 kg 785 kg
804 kg 869 kg 903 kg
795 kg 818 kg 928 kg
801 kg 831 kg 923 kg
14-12-12
14-11-11
14-11-10
14-11-10
AEP / March 06, 2015 19
JPL’s Submitted Solution
J = 36, J’ = 2,450.257 kg
AEP / March 06, 2015 20
−4 −3 −2 −1 0 1 2 3 4−3
−2
−1
0
1
2
3
NBCP: Return of probe 3 (5/30/2034) tof: 3704.9 days
X (AU)
mother
Depart:Earth (4/12/2024) tof: 0.0 days v'
: 6.00 km/s Y (A
U)
Mother Mf = 8027.16 kg 8 impulses
1st release (D2) Mf = 826.62 kg
JPL’s Submitted Solution
J = 36, J’ = 2,450.257 kg
AEP / March 06, 2015 21
2nd release (D1) Mf = 816.93 kg
3rd release (D3) Mf = 806.70 kg
−4 −3 −2 −1 0 1 2 3 4
−3
−2
−1
0
1
2
3
X (AU)
daughter3_new
Y (A
U)
Asteroid or MotherShipmatchpoint
A Brief Timeline of J At JPL
AEP / March 06, 2015 22
Day 0 Day 28
EAAA STAR & Malto
5
EA7
GTOC5-style Malto
7 9
EA
12
11
EA
13
EA13 ConstAcc EA14 Prelim. STAR
14
J=28 BBC
18
J=32 ACO
20
STAR +
J = ’35’ (34, bug!)
ACO, Gtool, Malto
24
EA14 Full STAR
25 26
J =
35
Day 27.5 J = 36 Gtool
Day 28 J = 36
Gtool, Malto
Gtool hiatus STAR hiatus
Trajectory Animation���
Legend��
Yellow-Red Central Body – Sun�Blue Line – Earth’s orbit�
Big Blue Dot – Earth�Big Magenta Dot – Mothership�
�Small Red Dots (fading) – Unvisited Asteroids�
Green/Red/Blue squares – Asteroids Visited by 1st/2nd/3rd probe releases�Green/Red/Blue ‘X’ – 1st/2nd/3rd Probe (release order)�
AEP / March 06, 2015 23