• Non ci sono risultati.

Descrizione dello script per il flyby

La sintassi della function powerflyby `e creata in modo da avere in input i valori delle velocit`a di ingresso e di uscita dalla sfera di influenza (le trasformazioni galileane rispettivamente della velocit`a finale dell’arco di traiettoria precedente e della velocit`a iniziale dell’arco di traiettoria successivo) e il valore che indichi attorno a quale pianeta viene effettuato il flyby. Tutte le caratteristiche di ciascun pianeta sono fornite prima dell’esecuzione dello script tramite un’impostazione delle variabili come globali.

4 – Il Flyby

al ∆v fornito, il raggio al periasse trovato e per comodit`a, soprattutto durante le fasi di test degli script, viene imposto come output anche il parametro errore.

La sintassi di richiamo della function risulta

[dvp,rperi,errore]=poweredflyby(vinfin,vinfout,pianeta)

Il raggio di periasse che risolve il sistema viene trovato tramite il metodo di Newton-Raphson impostando la funzione di cui trovare lo zero come

f (rp) = arcsin  a i ai− rp  + arcsin  a o ao− rp  − α (4.10)

ad ogni ciclo dovr`a essere valutata anche la sua derivata

df = ai (rp− ai) q r2 p− 2airp + ao (rp− ao) q r2 p− 2aorp (4.11)

il nuovo raggio al periasse ad ogni iterazione sar`a quindi dato da

rp(k + 1) = rp(k) +

f (k)

df (k) (4.12)

Con questa formulazione, specialmente poich´e la derivata risulta sempre negativa, c’`e la possi- bilit`a di ottenere rp(k + 1) < 0 . Questo non ha senso fisico, e poich´e l’eventuale funzione valutata

al passo successivo risulterebbe immaginaria, non c’`e possibilit`a che le iterazioni riportino da sole rp su valori realistici. Si impone quindi un controllo su ciascuna iterazione tale che

se rp(k + 1) < 0 ⇒ rp(k + 1) = 0.5rp(k)

altrimenti l’algoritmo procede normalmente. Esso viene fermato quando o il valore dell’ultima valutazione della funzione `e minore della tolleranza assegnata oppure quando la differenza tra gli ultimi 2 valori del raggio al periasse `e minore del valore di tolleranza. Nel caso nessuna di queste due condizioni viene raggiunta nel giro di 30 iterazioni il ciclo si interrompe lasciando la segnalazione dell’errore. La figura 4.5 ne illustra lo schema di flusso.

La convergenza verso un raggio di periasse che risolva il sistema avviene solitamente in meno di 10 iterazioni (5 o 6 in media). Nelle figure 4.6 e 4.3 sono illustrati i valori di rp e di f

4 – Il Flyby

Figura 4.5. Funzionamento dell’algoritmo di flyby

Se, anche se si `e notato che il caso `e piuttosto raro, le velocit`a di ingresso e di uscita nella sfera di influenza sono parallele, la traiettoria non deve essere deviata durante il flyby. Dal punto di vista dell’orbita iperbolica pu`o succedere solo quando il periasse dell’orbita risulta prossimo allo 0. Ovvero se

δ ' π ⇒ rp' 0

Questa opzione viene eliminata immediatamente nella procedura, evitando quindi calcoli inutili che porterebbero ad un risultato gi`a noto. In questo caso il raggio al periasse viene impostato come 1/3 del raggio limite. Viene inoltre segnalata l’impossibilit`a di compiere il flyby tramite la variabile errore posta uguale a 1

Le condizioni riguardo alla fattibilit`a o meno del flyby vengono invece lasciate in sospeso: il raggio di periasse del flyby viene dato come output sia che il flyby risulti fattibile o no, sar`a poi

4 – Il Flyby 1 1.5 2 2.5 3 3.5 4 4.5 5 1.5 1.55 1.6 1.65 1.7 1.75 iterazioni rp

Figura 4.6. Convergenza del raggio di periasse

1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 iterazioni f

Figura 4.7. Convergenza della funzione f

nella funzione di fitness che si valuter`a quando il flyby `e possibile, e quindi il ∆v calcolato non subisce variazioni, o quando non lo `e, nel qual caso vengono applicate le funzioni di penalizzazione (vedi il paragrafo 6.3)

Capitolo

5

La Simulazione della missione

Ora che si dispone di script per tutte le fasi della missione, occorre riunirli in una function che possa calcolare il ∆v necessario per eseguire tutte le manovre richieste. Occorre in pratica creare uno script che permetta alle varie function di “dialogare” tra di loro: gli output del calcolo delle effemeridi devono diventare gli input del calcolo degli archi di orbita di Lambert; le velocit`a trovate da quest’ultimo devono essere gli ingressi per il calcolo della traiettoria di flyby. Infine dai risultati opportuni deve essere ricavata la variazione totale di velocit`a.

5.1

Le unit`a di misura

Le dimensioni e le quantit`a con cui abbiamo a che fare generalmente nei problemi di natura spaziale, specialmente in un problema dove si trattano orbite interplanetarie, se espresse nelle unit`a di misura convenzionali risultano avere valori molto alti: solitamente si utilizzano infatti i km per le distanze e i km/s per quel che riguarda la velocit`a. Pu`o allora essere conveniente utilizzare un diverso sistema di unit`a in cui le grandezze fondamentali siano dell’ordine dell’unit`a. Questo `e lo scopo del sistema delle unit`a canoniche, le cui grandezze fondamentali sono l’unit`a di distanza DU, l’unit`a di tempo TU e l’unit`a di massa MU. Queste unit`a vengono definite sulla basa di una un’orbita di riferimento, solitamente corrispondente con un’orbita circolare dalla dimensione caratteristica. Nel caso di problemi eliocentrici questa orbita `e l’orbita circolare il cui raggio corrisponde al raggio medio dell’orbita terrestre, ottenendo quindi che la velocit`a caratteristica altro non `e che la velocit`a media della Terra. L’unit`a canonica di distanza `e quindi definita come l’unit`a astronomica

5 – La Simulazione della missione

(per comodit`a in seguito l’unit`a di distanza eliocentrica sar`a indicata solamente come AU) Le altre unit`a vengono definite in modo tale che il parametro gravitazionale risulti unitario

µ =1AU

3

1T U2

Ottenendo quindi che l’unit`a di tempo canonica `e data da

1T U = s

AU3

µ

con questa notazione si pu`o notare che il periodo orbitale della Terra espresso in unit`a canoniche solari risulta semplicemente T = 2π e quindi l’unit`a canonica di velocit`a risulta

1V U = 1AU 1T U

Rapportando queste unit`a alle unit`a del sistema metrico abbiamo che :

1AU = 1.4959965 · 108km (5.1)

1T U = 5.0226757 · 106sec = 58.13 giorni 1V U = 29.784852 km/s

Se il corpo attrattore principale dovesse essere un pianeta e non il sole si `e soliti definire l’ unit`a canoniche di distanza come il raggio medio del corpo primario R, quindi:

1DU = R

e facendo sempre in modo che la costante gravitazionale risulti unitaria il tempo `e definito come:

1T U = s

R3

µ

L’unit`a di massa non `e univocamente definita, poich´e l’introduzione di una massa `e importante solo quando si abbandona l’ipotesi di moto kepleriano, altrimenti `e un parametro che non entra in gioco.

5 – La Simulazione della missione

Nel caso della Terra abbiamo che le unit`a canoniche corrispondono ai seguenti valori:

1DU = 6378.136km (5.2)

1T U = 806.78sec 1V U = 7.90536828 km/s

Nella stesura tutti gli script realizzati sono stati scritti in modo tale da poter effettuare calcoli sia utilizzando le unit`a di misura pi`u usuali (km per le distanze e km/s per le velocit`a) sia le unit`a di misura canoniche. MatLab `e ovviamente in grado di gestirle entrambe senza particolari problemi, in quanto la memorizzazione delle variabili, eseguita di default come double, permette di raggiungere valori molto pi`u alti, ( per la precisione pu`o gestire numeri fino a 1.797693134862316 · 10308) e con una precisione molto alta, l’utilizzo di unit`a canoniche pu`o in ogni caso rendere pi`u veloci i calcoli effettuati.

Documenti correlati