1° Forum di Astronomia Amatoriale Italiano

Il primo forum di astrofili per astrofili, nato nel 2000!
Oggi è giovedì 28 marzo 2024, 13:10

Menu

* Home
* Iscriviti
* La Bacheca
* F.A.Q.
* Cerca
* Login/Logout 

Login

Nome utente:
Password:

 Ho dimenticato la password

In Linea

Visitano il forum: Nessuno e 18 ospiti

Regolamento

regolamento

Links

*
Astrocafè

Segnala bolide
* Meteoblue.com
* Previsioni seeing
* Il Meteo.it
Help Forum
 

Tutti gli orari sono UTC + 1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 2 messaggi ] 
Autore Messaggio
MessaggioInviato: mercoledì 29 marzo 2023, 20:06 
Avatar utente

Iscritto il: sabato 25 giugno 2016, 18:41
Messaggi: 94
Località: Valle d'Aosta
Tipo di Astrofilo: Strumentofilo
Applicazione Android per la Rilevazione del Rientro di Satelliti

La maggior parte dei satelliti artificiali che si trovano in LEO (Low Earth Orbit), se non attivamente controllati tende a perdere progressivamente quota.
Questo è dovuto a diversi fenomeni, ma i principali sono la non sfericità della terra e l’attrito atmosferico.
Allegato:


In alcuni casi il rientro avviene in maniera controllata, in modo da far precipitare eventuali resti in zone a basso rischio, senza recare alcun danno a cose o persone. In altri casi invece il rientro è totalmente incontrollato e virtualmente l’oggetto può rientrare in qualsiasi punto del pianeta nei limiti dell’inclinazione orbitale del satellite.
Anche in questi casi la probabilità di danni è minima, tuttavia se si è sufficientemente fortunati è possibile ammirare il momento del rientro
(video).

Seppur il rischio che un rientro rechi danni è minimo, risulta essenziale il monitoraggio in tempo reale di questi eventi. Sia per il continuo aumento del numero di satelliti in orbita che per una validazione dei modelli usati per la predizione.
Il sito principale dove vengono pubblicati questi dati è spaceTrack. Oltre ad i dati di decadimento i TIP (Tracking and Impact Prediction), vengono pubblicati anche i dati orbitali dei satelliti, i TLE (Two Line Elements).
Tramite apposite query è possibile ottenere questi dati ed effettuare ulteriori elaborazioni.

Lo scopo di questa app. sarebbe quello di notificare l’utente del possibile passaggio sopra il suo orizzonte di un satellite in rientro e quindi la possibilità di osservarlo (non tanto il rischio di essere colpiti!)

Funzionemento in Sintesi

La app. è stata scritta in python, ed è possibile buildarla e generare un .apk utilizzando le librerie kivy.
Il meccanismo principale si basa sulle seguenti operazioni:
  • Richiesta dei dati TIP da spaceTrack
    Un elemento TIP riporta: NORAD_CAT_ID, MSG_EPOCH, INSERT_EPOCH, DECAY_EPOCH, WINDOW, REV, DIRECTION, LAT, LON, INCL, NEXT_REPORT ID, HIGH_INTEREST
  • Vengono estratti i TIP piu recenti dei relativi satelliti
  • Da gli ID dei satelliti viene costruita una query per ottenere i relativi dati TLE dei vari satelliti in via di decadimento
  • Utilizzando la libreria SkyField, viene costruito il modello orbitale del satellite dai dati TLE e si calcolano gli orari dei vari passaggi del satellite sulla location selezionata dall’utente.
  • Si determina se tali passaggi rientrano in una finestra temporale determinata dalla decay epoch, dall’incertezza del calcolo di quest’ultima e altri parametri.
  • Se all’ultimo dato TIP del satellite (solitamente 1 ora prima della decay epoch) ci sono passaggi visibili, viene inviata una notifica all’utente, a questo punto è possibile visualizzare più precisamente il passaggio con un altro software (la app. di Stellarium ad esempio).
  • Viene calcolato il tempo del prossimo aggiornamento sulla base della decay epoch dei vari satelliti

Al momento è stata implementata tutta la parte di pull dei dati e del calcolo dei passaggi visibili.

Il prototipo della app si presenta in questo modo
Allegato:
red1.png
red1.png [ 19.02 KiB | Osservato 2977 volte ]

Allegato:
red2.png
red2.png [ 26.41 KiB | Osservato 2977 volte ]


Al momento si tratta di una versione molto rudimentale, dove è ancora da implementare il meccanismo di automatizzazione. Infatti per ora l'aggiornamento avviene solo tramite un pulsante.

To Do List

  • Implementazione di un servizio android in back ground per l’esecuzione automatica anche ad app spenda
  • Implementazione delle notifiche
  • Tabella interattiva
  • Abbellimento della GUI
  • Rilascio versione 1.0 su playstore o .apk
  • Rilascio di documentazione e codici sorgente


LAVORI IN CORSO: Seguiranno aggiornamenti!


Top
  Profilo    
 
MessaggioInviato: mercoledì 26 aprile 2023, 22:52 
Avatar utente

Iscritto il: sabato 25 giugno 2016, 18:41
Messaggi: 94
Località: Valle d'Aosta
Tipo di Astrofilo: Strumentofilo
UPDATE #1

Ecco il primo aggiornamento:

Il meccanismo primario della app è stato implementato quasi completamente: servizio automatico e notifiche.
Servirà un certo periodo di tempo per testare il tutto in modo da vedere che nei vari casi d'uso non si presentino errori strani o crash.

Tuttavia è emerso un problema relativo all'esecuzione del servizio che si occupa di prendere i dati dal sito Space-Track.
Infatti, quando lo smartphone entra in modalità di riposo per evitare consumi eccessivi della batteria la mggior parte dei servizi in esecuzione vengono sospesi.
Dato che in questo caso è l'applicazione che deve effettuare una richiesta di dati in un istante futuro preciso, non è possibile utilizzare un timer interno al contesto del servizio o della app (un delay ad esempio). Questo perchè non appena il sistema va in riposo anche il conteggio del timer relativo al delay si sospende, per poi riprendere esclusivamente quando il sistema si risveglia.

Effettuare una richiesta continua di dati dal sito non sarebbe efficiente e potrebbe causare uno sforamento dei limiti di richiesta imposti dal sito.

Per aggirare il problema è stato implementato un meccanismo in cui ogni N secondi con N suff. piccolo (60 sec) il servizio controlla se la data attuale è maggiore della data impostata per l'aggiornamento, se tale condizione è vera allora viene effettuata la richiesta di dati.
Tale meccanismo non risolve completamente il problema della sospensione, infatti anche in questo caso l'aggiornamento può subire ritardi più o meno gravi.
Nella documentazione per lo sviluppo Android a quanto pare, l'utilizzo di servizi che bypassano lo stato di sospensione è fortemente sconsigliato, o comunque da evitare il più possibile. Per questo motivo l'implementazione di un tale meccanismo mi è al momento poco chiara.

Al momento la schermata principale della app e quella delle impostazioni si presentano cosi:
Allegato:
red3.png
red3.png [ 32.49 KiB | Osservato 2609 volte ]

Allegato:
red4.png
red4.png [ 20.24 KiB | Osservato 2609 volte ]


Il cerchietto rosso evidenzia l'icona del servizio, al momento non ha nessun logo è solo una palletta bianca.
E' stato aggiunto anche uno switch per attivare e disattivare il servizio di agg. automatico.


In contemporanea sto lavorando anche al display di alcuni grafici:

Allegato:
Sat_Bar.png
Sat_Bar.png [ 15.14 KiB | Osservato 2609 volte ]

Allegato:
sat_map.png
sat_map.png [ 147.13 KiB | Osservato 2609 volte ]


To Do List

    Done Implementazione di un servizio android in back ground per l’esecuzione automatica anche ad app spenda
    Done Implementazione delle notifiche
  • Tabella interattiva
  • Abbellimento della GUI
  • Aggiornamento automatico anche con device in stnadby
  • Rilascio versione 1.0 su playstore o .apk
  • Rilascio di documentazione e codici sorgente


LAVORI IN CORSO: Seguiranno aggiornamenti!


Top
  Profilo    
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 2 messaggi ] 

Tutti gli orari sono UTC + 1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBBItalia.net basata su phpBB.it 2010