Categoria: Meccanica celeste

Sfera d’influenza

Consideriamo un sistema isolato con due soli corpi di massa m1 ed m2 di cui si vuole calcolare le loro traiettorie: grazie agli studi di Keplero sappiamo che il problema ha una soluzione unica. I loro moti appartengono alla famiglia delle coniche: iperbole o parabola se le traiettorie sono aperte, ellissi per traiettorie chiuse.


Il mondo reale è ben diverso, ci sono molti corpi che interagiscono e le equazioni di Keplero non si possono usare; supponendo anche solo di dover pianificare una missione dalla Terra alla Luna dobbiamo considerare tre oggetti: la Terra, la Luna e il nostro modulo spaziale1 di massa m3. Se consideriamo invece i viaggi interplanetari, come per esempio quello delle Voyager, il problema è ancora più complicato: come calcolare la traiettoria di m3?

La soluzione è suddividere la traiettoria in più segmenti di volo ognuno dei quali è costituito da due corpi ed un terzo corpo che disturba i primi due. Lo scopo è stabilire in che parte della traiettoria quale dei due corpi m1 o m2 influenza in maniera dominante la traiettoria del terzo corpo m3 e quale può essere considerata un disturbo gravitazionale. Si introduce quindi il concetto di sfera d’influenza (SOI) nota anche come sfera di Laplace: un modello matematico usato per la pianificazione della traiettorie di sonde spaziali. Ho notato che in letteratura c’è molta confusione al riguardo, con diverse definizioni spesso fuorvianti: per esempio ci sono fonti dove riportano come SOI la regione in cui l’effetto gravitazionale di m1 su m3 termina e rimane solo l’effetto gravitazionale di m2. Questa definizione è errata in quanto la gravità è una forza sempre presente.

La SOI si basa su due componenti di forze: l’azione gravitazionale di corpo principale ed un’azione di disturbo che agiscono su un terzo corpo in moto all’interno dello spazio gravitazionale dei primi due.

Sia un sistema di tre corpi Terra-Luna-CSM di massa mT, mL ed mC rispettivamente in un sistema di riferimento inerziale rispetto alla Terra. Sia inoltre rTC il vettore Terra-CSM, rLC il vettore Luna-CSM ed rTL il vettore Terra-Luna. Calcoliamo l’effetto del sistema Terra-CSM con la perturbazione della Luna rispetto ad un sistema di riferimento inerziale terrestre.
Procediamo con l’impostazione del sistema di due equazioni: nella prima esprimiamo con \overrightarrow{F}{principale, T} il contributo principale della Terra sul CSM, mentre con la seconda equazione \overrightarrow{F}{perturbazione, T} consideriamo due contributi: quello che la Luna esercita sul CSM (primo termine) e quello perturbativo della Luna sugli altri due corpi:

	\begin{dcases}
		\overrightarrow{F}_{principale, T} = G \frac {(m_{T} + m_{C})} { {\lVert \overrightarrow{r_{TC}} \rVert}^{3} } \overrightarrow{r_{TC}}\\
		\overrightarrow{F}_{perturbazione, T} = - G m_{L}  \left[ \frac{\overrightarrow{r_{LC}}} {{\lVert \overrightarrow{r_{LC}} \rVert}^{3}} + \frac{\overrightarrow{r_{TL}}} {{\lVert \overrightarrow{r_{TL}} \rVert}^{3}} \right]
	\end{dcases}

Stesso ragionamento per il sistema di riferimento selenocentrico per il sistema Luna-CSM con la perturbazione gravitazionale della Terra. Consideriamo l’azione principale della Luna \overrightarrow{F}{principale, L} sul CSM mentre con la seconda equazione \overrightarrow{F}{pertrbazione, L} consideriamo due contributi: quello che la Terra esercita sul CSM (primo termine) e quello perturbativo della Terra sugli altri due corpi (secondo termine):

	\begin{dcases}
		\overrightarrow{F}_{principale, L} = \frac {G (m_{L} + m_{C})} { {\lVert \overrightarrow{r_{LC}} \rVert}^{3} } \overrightarrow{r_{LC}}\\
		\overrightarrow{F}_{perturbazione, L} = - G m_{T}  \left[ \frac{\overrightarrow{r_{TC}}} {{\lVert \overrightarrow{r_{TC}} \rVert}^{3}} + \frac{\overrightarrow{r_{TL}}} {{\lVert \overrightarrow{r_{TL}} \rVert}^{3}} \right]
	\end{dcases}

Quando l’effetto gravitazionale perturbativo dovuto alla presenza della Luna (qui sopra in blu) e subìto dalla Terra rispetto all’azione principale della Terra su mC (qui sopra in rosso) è minore dell’effetto perturbativo dovuto alla presenza della Terra e subìto dalla Luna (vedere disegno a lato in verde) rispetto all’azione principale della Luna (vedere disegno a lato in rosso) su mC allora la traiettoria mC è descritta dalla sola azione della Terra.
Il corpo mC si trova in SOI terrestre.
In colore si è cercato di esprimere le “azioni gravitazionali” mentre il tratto corsivo indica i vettori di distanza.
Disegno di Giorgia Rizzi
Quando l’effetto gravitazionale perturbativo dovuto alla presenza della Terra (in verde) e subìto dalla Luna rispetto all’azione principale della Luna su mC (qui sopra in rosso) è minore dell’effetto perturbativo dovuto alla presenza della Luna e subìto dalla Terra (vedere disegno a lato in blu) rispetto all’azione principale della Terra (vedere disegno a lato in rosso ) su mC allora la traiettoria mC è descritta dalla sola azione della Luna.
Il corpo mC si trova in SOI lunare.
In colore si è cercato di esprimere le “azioni gravitazionali” mentre il tratto corsivo indica i vettori di distanza.
Disegno di Giorgia Rizzi

Siano dati tre corpi mT, mL ed mC (m_{T} > m_{L} e m_{L} \gg m_{C}). Un corpo celeste mC si trova nella sfera di influenza del corpo 1 di massa mT rispetto ad un secondo corpo celeste 2 di massa mL se:

		\begin{equation}
			\textcolor{red}{\frac{\overrightarrow{F}_{perturbazione, T}}{\overrightarrow{F}_{principale, T}} < \frac{\overrightarrow{F}_{perturbazione, L}}{\overrightarrow{F}_{principale, L}}}
		\end{equation}

Ovvero mC si trova in SOI del corpo mT se il rapporto tra il disturbo gravitazionale subìto da mT e l’azione gravitazionale principale esercitata da mT è minore rispetto al rapporto tra il disturbo gravitazionale subìto da mL e l’azione gravitazionale principale esercitata da mL.

Non esiste ovviamente nulla di fisico che separa la due regioni, né si avverte alcun cambiamento di forza all’interno del corpo mC: questo concetto era ben noto anche agli astronauti delle missioni Apollo in viaggio per la Luna.
Nel programma Apollo il passaggio in SOI lunare segnava l’istante di tempo in cui avveniva il cambiamento del sistema di riferimento di coordinate BRCS (Basic Reference Coordinate System) usato a terra al MCC (Mission Control Center) da terrestre a lunare. Questo cambiamento procurava apprensione ai visitatori e giornalisti presenti nella piccola tribuna situata dietro ai banchi (trenches) della Sala di Controllo a Houston perché i vettori di stato p e v del CSM cambiavano improvvisamente valore dando l’impressione ai non addetti ai lavori che fosse successo qualcosa di pericoloso a bordo.

La geometria della regione della SOI in realtà non è una sfera ma piuttosto uno sferoide in quanto, essendo un calcolo vettoriale, dipende dalla direzione di arrivo di mC. A seconda delle semplificazioni che si vogliono introdurre, esistono delle formule che forniscono un valore approssimato del raggio di SOI RSOI. La formula qui sotto fornisce ad esempio il valore di RSOI per un pianeta di massa mL rispetto ad un pianeta di massa mT. La variabile d rappresenta la distanza fra i due corpi mT ed mL: nel nostro caso la distanza media Terra-Luna.

	R_{SOI} \simeq d \left( \frac{m_{L}}{m_{T}} \right)^{\frac{2}{5}}
Immagine che mostra le differenze tra la SOI e sfera di Hill della Luna.
Il raggio della SOI lunare è più grande del raggio della sfera di Hill. Grafico dell’autore.

Sostituendo le costanti note della Terra e della Luna si ottiene un valore approssimativo di RSOI in linea con quanto riportato nell’Apollo Flight Journal 13 al GET (Ground Elapsed Time) 059:01:53.

  • RSOI della Luna: 66193,29 km (35741,53 nmi), ovvero un valore che comprende la sua sfera di Hill.
  • RSOI della Terra: 924402,75 km (499137,74 nmi), ovvero un valore che comprende l’orbita lunare.

All’interno del Sistema Solare il pianeta con la sfera di influenza più grande non è Giove (\simeq 482 \times 10^{15} km) bensì Nettuno (\simeq 865 \times 10^{15} km): questo perché la sua maggiore distanza dal Sole compensa pienamente il fatto di avere una massa più piccola rispetto al gigante del Sistema Solare nonostante quest’ultimo risenta maggiormente dell’effetto gravitazionale del Sole.

Nota: per la presente discussione si e fatto riferimento ai lavori di John D. Cook e di Matthew Peet citati in bibliografia.

Bibliografia

  • Apollo 13 Flight Journal, NASA
  • Spacecraft Dynamics and Control, Matthew M. Peet – Arizona State University. Interplanetary Mission Planning.
  • Sphere of Influence John d. Cook.

Note

  1. Come ad esempio il CSM del programma Apollo in viaggio per la Luna. ↩︎

Analisi dei NEA – Conclusione

Concludiamo gli articoli sui NEA con un’ultima analisi: l’obiettivo è quello di presentare un modello statistico Y = M(X) in grado di classificare i NEA in una delle quattro classi: Aten, Amor, Apollo ed Atira. Per una breve descrizione del funzionamento degli algoritmi presenti si veda anche l’articolo precedente qui.

  • dati di input: componenti (semiasse maggiore, perielio, afelio) del dataset
  • dati di output: componente (classe di appartenenza) del dataset.

La classe è stata codificata in un numero secondo il seguente schema:

Classe NEACodifica numerica
per l’algoritmo di ML
Amor0
Apollo1
Aten2
Atira3

Vengono presentati i risultati di tre modelli:

  • Decision Tree
  • K-Neighbors
  • Random Forest

Decision Tree: la descrizione del modello è la stesso descritto in precedenza usato per la classificazione in base alla pericolosità.

Diagramma generato dall’autore in linguaggio Python con le librerie scikit-learn

Risultati Decision Tree: la matrice di confusione ha una dimensione 4 x 4 prodotto cartesiano delle quattro classi. Il contenuto della diagonale principale indica il numero di NEA che il modello ha correttamente identificato con la stessa classe fornita dal dataset iniziale. Il contenuto della matrice nella posizione (i, j) con i ≠j rappresenta il numero di NEA appartenente alla classe i ma che il modello identifica erroneamente di classe j. Il modello identifica correttamente tutti i NEA di classe Atira (codice = 3 nella matrice), mentre sbaglia completamente a classificare I NEA di classe Aten (codice = 2 nella matrice) Non è possibile disegnare il diagramma di colore in quanto il modello ha tre variabili di ingresso e quattro possibili valori di uscita e non è rappresentabile su un piano o nello spazio.

K-Neighbors: la descrizione del modello è la stesso descritto in precedenza usato per la classificazione in base alla pericolosità. Come in precedenza viene dapprima stimato il valore di K ottimale usato nel modello predittivo: sono stati valutati dieci classificatori K-Neighbors (K \in [1 \dots 10] ) e selezionato il valore di K per il quale l’accuratezza è massima. Il modello ottimale si ottiene per K = 9.

Risultati K-Neighbors: questo modello presenta un’accuratezza migliore fra quelli analizzati per questa classificazione: i risultati sono superiori sia rispetto al modello precedente che al successivo.

Random Forest: questo classificatore implementa un algoritmo che combina l’output di più strutture ad albero decisionali per raggiungere un unico risultato. Si costruisce una serie di strutture ad albero decisionali e ogni struttura ad albero è un insieme composto da un campione di dati tratto da un set di addestramento con sostituzione. La classificazione avviene a maggioranza: la variabile categoriale più frequente. Stessi campioni del dataset possono appartenere a diversi sottoinsiemi di analisi.

Gli algoritmi di Random Forest hanno tre iperparametri principali, che devono essere impostati prima dell’addestramento.

  • dimensione dei nodi
  • numero di strutture ad albero
  • numero di caratteristiche campionate
Diagramma generato dall’autore in linguaggio Python con le librerie scikit-learn

Risultati Random Forest: l’algoritmo offre un’accuratezza intermedia fra quelli analizzati: anch’esso riesce a classificare i NEA di tipo Atira e Amor ma classifica erroneamente tutti i NEA di tipo Apollo.

Il modello K-Neighbors presenta la migliore accuratezza, riuscendo a classificare correttamente una buona percentuale di NEA di tipo Aten.

Per ottenere risultati ancora migliori si può pensare di introdurre modelli più complessi utilizzando algoritmi di Deep Learning e reti neurali (la cui descrizione ed utilizzo esula dagli scopi di questo articolo)


Si conclude l’analisi mostrando I passaggi dei NEA pericolosi negli anni passata e futuri: ove presente viene indicato anche il diametro medio dell’oggetto celeste e la distanza minima di passaggio espresso in distanza media Terra-Luna (384.400 Km).

Molti oggetti nel passato recente sono transitati a distanza molto ravvicinata da noi: nel 2020 l’asteroide VT42020 VT4 è transitato a solo 0,01754 volte la distanza Terra-Luna. Nel 2029 è previsto l’incontro con 99942 Apophis, un NEA pericoloso di cui molto si è discusso: allo stato attuale però la sua pericolosità è stata declassata.

Diagramma generato dall’autore in linguaggio Python con le librerie scikit-learn
Diagramma di avvicinamento di Apophis nel 2029
generato dall’autore

L’incontro avverrà nell’Aprile 2029 e data l’elevata numerosità dei NEA (si suppone ce ne siano ancora migliaia da catalogare) l’incontro o il passaggio ravvicinato della Terra con un NEA è un evento normale.

Mediamente ogni anno ci sono circa 1600 passaggi ravvicinati di NEA alla Terra: nella prima settimana di Gennaio 2024 la Terra ha incontrato 24 NEA.

Dal database del CNEOS si evidenzia che quest’anno la Terra incontrerà ben 24 NEA catalogati come pericolosi: il più grande di essi è NK42013 di classe Apollo con un diametro minimo stimato di 460 metri che passerà ad una distanza di 8.5 volte la distanza media Terra-Luna (circa 3.300.000 Km).

Diagramma generato dall’autore in linguaggio Python con le librerie scikit-learn

NK42013 è un asteroide comunque con le dimensioni molto piccole in confronto a quello che 65 milioni di anni fa fu la concausa che portò all’estinzione dei dinosauri.

Domanda: supponete che un asteroide on un diametro compreso fra 10 e 20 Km è destinato ad entrare in atmosfera e ad impattare sulla Terra. Avete a disposizione solo una settimana prima dell’incontro. Cosa fareste nel tempo rimasto?

Bisogna preoccuparsi?
Fonte: https://stock.adobe.com/it/

Bibliografia

  • Hazardous Asteroid Classification with Machine Learning using Physical and Orbital, Arjun Ramakrishnan
  • BBC Scienze – Dicembre 2023, Gennaio 2024
  • OpenSpace Datasets for Asteroids and Comets

Analisi dei NEA – Parte II

Dopo aver introdotto l’argomento nel precedente articolo, procediamo alla costruzione di due sistemi di classificazione con supervisione dei NEA.

L’obiettivo è di classificare i NEA per:

  • pericolosità (PHA, non PHA)
  • tipo (ATE, APO, AMO ed IEO)

A partire dal dataset iniziale, per entrambe le classificazioni vengono eseguiti i seguenti passi:

  • si filtra il dataset mantenendo le componenti X sono necessari alla classificazione:
    • moid, H per la classificazione di pericolosità
    • a, q, Q per la classificazione di tipo
  • si identifica la componente Y di stima (oggetto della stima):
    • per la classificazione di pericolosità (PHA)
    • classe per la classificazione di tipo
  • si sostituisce l’etichetta della componente di stima con una enumerazione, per ognuna delle due analisi.
  • si normalizzano i dati in un’unica scala commensurabile uguale ad ogni caratteristica: una distribuzione N(\mu = 0, \sigma = 1)
  • si suddivide il dataset in due parti:
    • X_{train} = 40\% del dataset X usato come training per l’algoritmo
    • X_{test} = 60\% del dataset X usato come test e validazione dell’algoritmo.
    • Y_{train} = 40\% del dataset Y usato come training per l’algoritmo.
    • Y_{test} = 60\% del dataset Y usato come test e validazione dell’algoritmo: costituisce la baseline di riferimento.
  • si costruisce il modello matematico Y_{train}= M (X_{train})
  • Si applica il modello M per stimare Y_{pred} = M (X_{test})
  • Si valuta la bontà del modello confrontanto Y_{pred} con Y_{test} costruendo la matrice di confusione
  • Si calcolano i principali indici statistici (metriche) di validazione: precisione, accuratezza ed F1.

Le tre principali metriche sono rappresentate da:

  • accuratezza: che risponde alla domanda quanto le predizioni sono vere?
  • precisione: che risponde alla domanda fra tutte quelle positive/negative, quante sono vere?
  • richiamo: ovverora tutte quelle che dovrebbero essere previste come vere, quante lo sono veramente? (errore del primo tipo)
  • indice F1: misura statistica che combina richiamo e precision.

L’obiettivo è presentare un modello statistico Y = M (X) in grado di classificare i NEA in due classi: NEA pericolosi (PHA) o NEA non pericolosi (non PHA). Vengono presentati i risultati di tre modelli:

  • Support Vector Machine (SVM)
  • K-Neighbors
  • Decision tree

Per maggiori dettagli riguardo il principio di funzionamento di ogni modello si rimanda ai link visualizzati nei diagrammi presenti nelle figure sottostanti.

Modello SVM
Fonte: https://www.javatpoint.com/
Modello K-Neighbors
Fonte: https://www.kdnuggets.com
Modello Decision Tree
Fonte: https://www.kdnuggets.com

SVM: questo classificatore separa i punti usando un iperpiano con il massimo margine di separazione. L’algoritmo lavora in maniera iterativa individuando l’iperpiano ottimale (massimo) che separa il dataset in due zone entro i quali i nuovi dati verranno classificati minimizzando l’errore.

Diagrammi generati dall’autore in linguaggio Python con le librerie scikit-learn

Risultati SVM: Il modello possiede un’accuratezza del 96,9232%. Classifica molto bene i NEA della classe PHA, tuttavia presenta poca precisione. La matrice di confusione mostra che il modello presenta molti errori, in particolare sulla diagonale secondaria si evidenzia la presenza di molti falsi positive e falsi negativi. Ci sono 239 NEA che il modello identifica come non pericolosi quando in realtà nel dataset principale lo sono: si tratta di un errore grave, in quanto il modello sottovaluta il problema. Meno rilevante, ma non secondario, è il secondo tipo di errore: il modello identifica come pericolosi 124 NEA che in realtà non lo sono. In entrambi i casi è necessaria un’analisi approfondita con un modello più efficace oppure uno studio approfondito da parte degli astronomi.1 Sulla diagonale principale della matrice di confusione abbiamo il numero dei NEA correttamente identificati come PHA (598) oppure non PHA (10837).

Viene riportato anche il diagramma di colore, dove sulla ascissa viene espresso il moid, sull’ordinate H (magnitudine assoluta). Ogni punto colorato sul grafico rappresenta il valore della componente pericolosità: verde scuro per non PHA, verde chiaro per PHA. Viene disegnato anche l’iperpiano che separa le due classi con i margini massimi: essendo l’iperpiano per definizione una retta, esso non è in grado di dividere in maniera netta ed esclusiva la componente di previsione PHA, introducendo gli errori di valutazione evidenziati precedentemente.

K-Neighbors: questo classificatore usa il concetto di prossimità per fare previsioni sul raggruppamento a cui appartiene il dato in esame basandosi sull’ipotesi che punti ‘simili’ possono trovarsi vicini tra loro. L’assegnazione avviene per maggioranza (o per superamento di una soglia percentuale) analizzando i K punti più vicini ad ogni element del dataset. Serve quindi introdurre il concetto di distanza e definire una metrica per l’assegnamento della classe. Ci sono diverse metriche che si basano sulle seguenti definizioni di distanza:

  • Distanza di Hamming
  • Distanza di Manhattan
  • Distanza Euclidea (usata in questa analisi)

K rappresenta il parametron di prossiimità in base al quale cambia il numero dei vicini e quindi, l’associazione con la classe di appartenenza e la bontà del classificatore. Nel presente lavoro sono stati valutati dieci classificatori KNeighbors (K \in [1 \dots 10] ) e selezionato il valore di K per il quale l’accuratezza è massima. Il modello ottimale si ottiene per K = 5.

Risultati K-Neighbors: l’accuratezza di questo modello è del 99,7796%. Ci sono meno falsi positivi e falsi negativi. Solo 16 NEA vengono classificati come non pericolosi mentre in realtà lo sono. Il diagramma di colore mostra le due regioni di classificazione con la linea di separazione: la separazione non può essere lineare ma segue un percorso a zigzag perchè dipende dal concetto di associazione di prossimità calcolato punto per punto.

Albero decisionale: questo classificatore genera un albero così costituito:

  • ogni nodo rappresenta un attributo
  • ogni diramazione una regola di decisione basata su una metrica
  • ogni foglia un risultato (previsione)

L’algoritmo parte dalla radice e partiziona il dataset in funzione del valore di un attributo e procede in maniera iterativa: il processo è simile al procedimento decisionale dell’essere umano. Le principali metriche utilizzate per le definizioni di attributo ed assegnamento dei nodi (le regole di decisione ad ogni livello) si basano sulla definizione e quantità di informazione. Ci possono usare diverse metriche per quantificare l’informazione:

  • Information Gain (si basa sulla qunatità di entropia)
  • Gain Ratio (si basa sulla preferenza)
  • Gini Index (si basa su concetto di probabilità ed è la metrica usata in questa analisi)
Diagrammi generati dall’autore in linguaggio Python con le librerie scikit-learn

Risultati Albero decisionale: l’accuratezza di questo modello è del 99,7796%. Il modello identifica correttamente lo stesso numero di NEA pericolosi e non (diagonale principale) ma sbaglia a classificare lo stesso numero complessivo di NEA. C’è una differenza principale rispetto al modello KNeighbors: il numero di NEA identificati erroneamente come non pericolosi quando in realtà essi lo sono (errore peggiore), sono un numero più basso quindi il modello è considerato leggemente migliore. Il diagramma di colore mostra le due regioni di classificazione le linee di separazione associate ad ogni livello di decisione dell’albero.

I modelli KNeighbors e Decision Tree presentano la migliore accuratezza, tuttavia il secondo fornisce i risultati migliori in quanto riesce a minimizzare il numero NEA realmente pericolosi ma erroneamente catalogati come NON pericolosi.

(continua)


Bibliografia

  • Hazardous Asteroid Classification with Machine Learning using Physical and Orbital, Arjun Ramakrishnan
  • BBC Scienze – Dicembre 2023, Gennaio 2024
  • OpenSpace Datasets for Asteroids and Comets
  1. Prendere decisioni avventate esclusivamente sulla base dei risultati ad un modello di A.I. senza ulteriori analisi di un essere umano può portare a decisione errate o conseguenze gravi ↩︎