Calcolare la distanza tra due satelliti partendo dai TLE

Domandina di Flight Dynamics: se ho i TLE di due satelliti (che posso trovare facilmente su internet), come faccio a calcolare la distanza relativa tra i due satelliti ad un tempo definito?

Se possibile mi servirebbero anche azimut ed elevation relative.

Sapete se c’è un software open source o freeware che faccia questo calcolo?

(So per certo che STK lo fa, ma la licenza è tutt’altro che gratuita e non posso usare la licenza da studenti visto che mi serve per lavoro)

Ho trovato anche dei tool che mi fanno questo calcolo tra un satellite qualunque, basato sui TLE, e un qualunque punto sulla superficie terrestre, basato su latitudine e longitudine; ma non riesco a trovare un tool che mi faccia il calcolo tra due satelliti

Per amor di precisione: a me serve calcolare la distanza tra un satellite in GEO ed uno in LEO

Grassie :kissing_heart:

2 Mi Piace

Scusa, non sono un esperto, ma non c’è in giro un tool che ti da la posizione del satellite a un determinato tempo partendo dal TLE?

Orbitrin ti posiziona i satelliti in base ai TLE nel momento che vuoi…ma non so se ti dice la distanza… forse vuoi una libreria in C per trafficare con i TLE ?

1 Mi Piace

Orbitron ti dice la distanza tra il sat e l’osservatore. Buzz, non so. io mi farei comperare una licenza di STK, senza se e senza ma… :wink:

1 Mi Piace

Sì, i propagatori TLE si trovano, ma poi dalle posizioni nei tre assi cartesiani devo fare la triangolazione per calcolare la distanza.

È un lavoro che probabilmente se ci metto su uno dei miei per un paio di settimane me lo fa in Python… Ma prima volevo provare se c’era una via facile :sweat_smile:

Se avessi a disposizione 100 k€ per una licenza sw li spenderei per qualcos’altro :kissing_heart:

A me serve una funzione molto base, che è una minima parte di quello che fa STK…

Orbitron è tra i tools che ti danno la distanza tra un TLE e un punto a terra, tipo una ground station.

Ma non ho trovato una funzione per calcolare la distanza tra due TLE…

I direi che il metodo più semplice, per calcolare solamente la distanza relativa dovrebbe essere:

  1. Propagare il TLE al tempo definito (come detto sopra qualcosa sul web si trova)
  2. Passare dal TLE a vettori di stato (cercando state vectors from orbital elements su google qualcosa si trova)
  3. Calcolare la distanza tra i due punti, ovvero semplicemente ||r1 - r2|| = sqrt((x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2)
2 Mi Piace

Invece questo mi sembra un lavoretto di un’ora… Sicuro sia così difficile? Linkami uno di questi tool.

1 Mi Piace

L’avevo fatto come esercizio su Matlab ai tempi del corso di meccanica del volo spaziale …
Se il programmatore che ci metti dietro è skillato e le equazioni di meccanica orbitale e geometria che deve utilizzare gli sono chiare, probabilmente 3/4 giorni sono sufficienti.

1 Mi Piace

Intanto ho trovato questo sito, che fa esattamente quello che serve a me ma solo tra due GEO (mentre a me serve tra GEO e LEO):
https://www.satellite-calculations.com/Satellite/satelliteseparation.php

Questo ad esempio è Orbitron:
http://www.stoff.pl/

Se cerchi TLE Orbit Propagator su Google trovi un sacco di librerie in Matlab o C++. Il propagatore dei TLE so chiama SGP4.

ESA offre anche una serie di sue librerie, tutte disponibili gratuitamente:
https://eop-cfi.esa.int/index.php/mission-cfi-software/eocfi-software

Ho anche trovato questo software open source sviluppato dalla NASA che dovrebbe essere qualcosa di simile ad STK e che potrebbe fare quello che cerco, ma non ho ancora avuto tempo di smanettarci. SI chiama GMAT (General Mission Analysis Tool):
https://software.nasa.gov/software/GSC-18094-1

Ho installato orbitron, e hai tutti i dati per calcolare la distanza facilmente. Per triangolazione intendi semplicemente questo?

d=\sqrt{r^2_1-2r_1r_2(\sin(θ_1)sin(θ_2)\cos(φ_1−φ_2)+cos(θ_1)cos(θ_2))+r^2_2}

Hai lon, lat e alt dei due satelliti, che sono i due angoli che appaiono nella formula e per i due r1 e r2 devi sommare il raggio terrestre e alt. Ti viene un piccolo errore per lo schiacciamento polare. È accettabile?

Purtroppo non sono tanto pratico in pyton da farti direttamente lo script.
Se ho semplificato troppo è solo perché non ho capito a fondo il tuo problema, non perché voglio banalizzare la domanda.

1 Mi Piace

L’errore non è un problema…

Però con Orbitron io non sono riuscito ad estrarre in un file longitudine, latitudine e altitudine di ogni satellite. Nella tabella a destra si vedono i valori in tempo reale, ma non ho trovato una funzione per propagare ed estrarre i dati.

E la funzione prediction è solo rispetto ad un punto a Terra…
O mi sto perdendo qualcosa?

Piano piano ci avviciniamo…
Aspetta, io avevo risolto la seconda parte del problema “linkami un tool che da la posizione da TLE e ti calcolo la distanza”. Ho installato il tool ma non ho investigato che effettivamente faceva quanto richiesto.

In parole povere ho dato per scontata questa tua affermazione.

Non ci siamo capiti :slight_smile:

si trovano un sacco di librerie matlab o c, come ad esempio quelle di esa che ho linkato sopra. Ma non sono tools fatti e finiti, nel senso di GUI da cui facilmente esportare le coordinate. Bisogna prendere le librerie e farle girare in matlab, c, o Python…

Ok, ci riprovo allora, intanto mi sto facendo una cultura, chissà se un giorno la potrò mai usare.

Allora, partiamo da GMAT stavolta. Crei il tuo satellite con le coordinate kepleriane (ce l’hai vero?).
In mission gli metti come stopping condition un elapsed time corrispondente alla data di quando vuoi sapere la posizione.

Poi in report, crei un report file aggiungendo data e coordinate, io ho messo queste ad esempio:
GMkube1.A1ModJulian GMkube1.EarthMJ2000Eq.X GMkube1.EarthMJ2000Eq.Y GMkube1.EarthMJ2000Eq.Z

Quando fai partire la simulazione hai le coordinate cartesiane del satellite alla data che vuoi tu. E con le coordinate cartesiane calcoli la distanza in modo elementare.

EDIT: anzi, se mi dai i due satelliti e le due date ci provo io

Questo lo fa anche orbitron. A me servono posizioni (e quindi la distanza) per 24 ore una volta ogni minuto. Cioè mi serve avere in forma tabellare l’evoluzione delle distanze per 24 ore di fila con una frequenza di campionamento di un minuto.

Puoi usare, per dire due satelliti a caso, Eutelsat 9B e Sentinel-1A :slightly_smiling_face:

I TLE li trovi ad esempio su n2yo:

Ok, capo! Per martedì è pronto! :rofl:
Per curiosità, dove lavori?

1 Mi Piace

In Airbus, sono l’operations manager di SpaceDataHighway :slight_smile:

Nonché il mitico Teflon Flight.