Tutte le prove sono state effettuate su un notebook che monta un processore Intel®core ™i3 M350 a 2.27 GHz Nei casi pi`u semplici di una missione con doppioflyby e senza considerare rivoluzioni
8 – Prove e Risultati
multiple, utilizzando una popolazione di 50 individui si `e notato che l’algoritmo trova il risultato in tempi compresi tra i 3 e gli 8 minuti. Anche nei casi in cui vengono considerati pi`u flyby l’algoritmo presenta tempi lunghi ma comunque accettabili,dell’ordine di 20 - 30 minuti Purtroppo nella totalit`a dei casi l’algoritmo non `e arrivato in realt`a a convergenza ma si `e fermato prima al raggiungimento dei 400 cicli in cui non ci sono stati miglioramenti nel valore della funzione di fitness.
Per i casi invece che considerano rivoluzioni multiple i tempi si allungano notevolmente arri- vando nei casi pi`u semplici a tempi attorno ai 50 - 60 minuti, mentre per i casi che prevedono molti flyby, e molte orbite con rivoluzioni multiple si arriva anche a tempi di 4 o 5 ore. In questi casi pi`u impegnativi per`o il tempo si allunga anche per una sorta di protezione aggiunta per evitare che il processore lavori a temperature troppo alte. Il parametro raffreddamento se attivato immette una pausa di 30 secondi ogni 30 cicli completi.
Capitolo
9
Conclusioni e sviluppi futuri
Abbiamo visto come `e stato sviluppato un algoritmo in grado di cercare le traiettorie ottime per trasferimenti interplanetari che sfruttino uno o pi`u flyby. La risoluzione del problema di Lambert `e fondamentale in questo tipo di problema, esso rappresenta il primo passo nonch`e il cuore del risolutore numerico. Poich´e tutte le missioni interplanetarie hanno come scopo lo studio scientifico di un pianeta o dei suoi satelliti appare chiaro come il tipico problema di meccanica del volo spaziale sia rappresentato dal problema di Lambert: si conoscono la posizione iniziale (la posizione della Terra), la posizione finale (dove si trova il pianeta obiettivo) ed (eventualmente) il tempo richiesto dalla missione. Nel nostro caso il tempo della missione `e proprio il parametro su cui andiamo ad agire per trovare la traiettoria che richiede il minor consumo.
Grazie all’algoritmo della Particle Swarm Optimization abbiamo inoltre notato come siamo riusciti ad implementare un metodo, che, anche se in molti casi richiede tempi di calcolo piuttosto lunghi e non assicura la convergenza all’ottimo, rappresenta il miglior compromesso tra una ricerca globale ed una convergenza locale. Questo fatto lo rende l’algoritmo ideale per problemi come l’ottimizzazione delle traiettorie interplanetarie, non `e raro infatti che la ricerca venga effettuata su finestre temporali molto ampie. La caratteristica di non richiedere uno o pi`u punti iniziali per la ricerca `e in questo contesto la sua migliore caratteristica: gi`a dalle prime iterazioni infatti l’algoritmo esplora tutto lo spazio di ricerca grazie a particelle generate in modo casuale entro i confini. Inoltre, grazie alla possibilit`a di decidere il numero di particelle coinvolte nella ricerca, pu`o essere variato a seconda delle dimensioni del dominio del problema. In questa tesi sono stati utilizzati valori di popolazione compresi tra 50 e 90, numeri abbastanza grandi, date le dimensioni usualmente grandi dello spazio di ricerca, ma non eccessive per limitare il tempo di esecuzione dell’algoritmo. Nulla ci impedisce di aumentare questo numero in caso di necessit`a se non appunto
9 – Conclusioni e sviluppi futuri
l’aumento dei tempi di calcolo che pu`o risultare eccessivo e immotivato.
La ricerca dell’ottimo nel caso si considerino rivoluzioni multiple `e risultata buona, ma riscontra tempi di calcolo eccessivamente lunghi, data la molteplicit`a di traiettorie da valutare. Questo pu`o rappresentare un buon punto di partenza in cui cercare di lavorare creando in futuro un algoritmo rapido anche in queste situazioni.
Un’altro punto che pu`o essere sicuramente migliorato `e il calcolo delle effemeridi; esso infatti si basa sulla risoluzione del semplice problema di Keplero, i dati da cui si parte sono quelli relativi all’anno 2000. Non vengono considerati per`o i moti di lungo periodo e quindi le variazioni di questi parametri. Questo pu`o portare ad errori nella valutazione della posizione dei pianeti se si considerano tempi molto lunghi per la missione. In letteratura si trovano numerosi metodologie, tra cui sviluppi polinomiali delle leggi di variazione che permettono di calcolare in modo pi`u preciso i parametri orbitali e quindi le posizioni.
Appendice
A
I disegni dell’orbita
Le figure non servono solo a dare un senso a crudi numeri estratti dal calcolatore, ma offrono anche un semplice e valido modo per controllare se questi risultati sono esatti (o per lo meno se sono realistici); gi`a in precedenza si pu`o aver notato come tramite i grafici sia stato pi`u veloce e a volte intuitivo verificare il funzionamento degli algoritmi sviluppati.
A.1
Il procedimento
Il secondo passo dopo lo sviluppo degli algoritmi `e stato quello di creare uno script che rappresen- tasse graficamente la traiettoria seguita dalla sonda, per una visualizzazione migliore si rappresenta in modo tridimensionale utilizzando la function plot3 di MatLab. Questa funzione permette di rappresentare su un grafico punti e linee in 3 dimensioni assegnando le coordinate x,y,z del punto singolo o 3 vettori (di lunghezza uguale) che contengano rispettivamente le coordinate x, le y e le z di ciascun punto della linea.
Dall’algoritmo che risolve il problema di Lambert abbiamo come output le due velocit`a iniziale e finale dell’orbita di trasferimento (indicata con il pedice t) ~vit, ~vf t, ma il metodo pi`u semplice per
disegnare un’orbita si ha partendo dai suoi 6 elementi orbitali classici; infatti tramite l’equazione 3.3 possiamo ottenere subito le 3 componenti cartesiane della posizione del pianeta o della sonda. Se poi facciamo variare il parametro ν da 0 a 2π possiamo ottenere tutti i punti dell’orbita. Nello script preparato questo viene effettuato solitamente con una precisione di 1 grado ottenendo quindi 360 valutazioni dell’orbita: rappresentando poi tutti i punti si ottiene il disegno dell’orbita compiuta; in pratica l’orbita percorsa viene discretizzata in 360 punti.
A – I disegni dell’orbita
La posizione istantanea del pianeta `e fornita gi`a in coordinate cartesiane dal calcolo delle effemeridi (questo permette di non dover avere il parametro di anomalia vera per il pianeta). Nel calcolo del problema di Lambert per ricavare i valori dei parametri orbitali corrispondenti si fa uso della function parametriorbitali il cui funzionamento `e descritto in 3.4; questa, come il nome stesso dice, calcola i parametri orbitali a, e, i, Ω, ω, ν0 dai quali tramite l’equazione 3.3 si calcolano
le componenti cartesiane di ciascun punto della discretizzazione, inizialmente in un sistema di riferimento pericentrico bidimensionale, poi, grazie alla matrice di trasformazione ricavata tramite 3.3 nel sistema eliocentrico.
Lo script in realt`a viene eseguito in 3 fasi distinte nelle quali
1. viene disegnata l’ orbita del pianeta di partenza, su di essa viene inoltre segnata tramite un simbolo specifico la posizione del pianeta nell’istante della partenza della sonda
2. si ripete il procedimento precedente con riferimento al pianeta obiettivo. 3. si disegna l’orbita di trasferimento seguita dalla sonda
nel caso dell’orbita di trasferimento si rappresenta solo l’arco percorso dalla sonda facendo variare l’angolo di anomalia vera non da 0 a π ma da ν0 a ν0+ θ dove ν0 rappresenta l’anomalia
iniziale e θ rappresenta l’angolo percorso
i pianeti vengono inoltre rappresentati tramite una sorta di codice di simboli e di colori che permette di capire immediatamente quali pianeti vengono coinvolti nella missione questi simboli sono:
• un punto nero per rappresentare Mercurio • una x gialla per Venere
• un asterisco azzurro per la Terra • un rombo rosso per Marte • un quadrato nero per Giove • un cerchio giallo per Saturno • una stella azzurra per Urano • un triangolo blu per Nettuno • una x nera per Plutone
A – I disegni dell’orbita
Si identifica inoltre la posizione del sole tramite un cerchio rosso.
Si `e preferito utilizzare tutti simboli diversi per una comprensione pi`u chiara anche nel caso di stampe in bianco e nero. Nel caso di Plutone l’utilizzo di un simbolo gi`a utilizzato `e giustificato dal rarissimo utilizzo del pianeta e dalla difficolt`a di una confusione con Marte.
Il procedimento utilizzato negli script `e descritto nello schema di figura A.1
Figura A.1. schema logico dello script per disegnare le orbite
Nello specifico il programma esegue le seguenti azioni:
• disegna il punto di partenza del trasferimento, ovvero la posizione del pianeta di partenza alla data specificata, secondo la notazione di simboli e colori espressa in precedenza
• disegna la posizione del pianeta di arrivo, corrispondente al punto finale dell’orbita di trasfe- rimento
• tramite i parametri ottenuti dalla posizione e velocit`a del pianeta di partenza, dopo aver generato un vettore di 360 elementi equispaziati da 0 a 2π per l’anomalia vera, si calcola il vettore che rappresenta le coordinate di tutte le posizioni del pianeta, disegnandone l’orbita completa.
A – I disegni dell’orbita
• Si ricavano i parametri dell’orbita di trasferimento; si identifica se `e stata selezionata la soluzione corrispondente alla traiettoria “corta” (con θ compreso tra 0 e π, ovvero col para- metro short=0) o alla traiettoria “lunga” (con θ compreso tra π e 1π, ovvero col parametro short=1)
• Si genera un vettore, questa volta di 1000 elementi per avere una maggiore precisione nella rappresentazione di ci`o che pi`u interessa, che rappresenta gli angoli spazzati dalla sonda, facendo variare l’anomalia vera dal valore iniziale ν0 al valore iniziale ν1= ν0+ θ; quindi si
calcolano le coordinate del vettore posizione per ogni angolo spazzato e viene rappresentato sul grafico.
• Viene anche rappresentata la posizione del sole tramite un cerchio nell’origine degli assi cartesiani
• Vengono quindi identificati gli assi cartesiani e le loro unit`a di misura (che possono essere Km o UA a seconda delle variabili globali impostate) e ne viene limitata la dimensione nel caso vengano disegnati punti al di fuori della zona di interesse (ovvero poco fuori dall’orbita di Plutone)