EnguerranVidal / PySatTracker

This projects focuses on using Norad provided TLE format data in order to track satellites orbiting around Earth and predict their overhead-passings using an analytical propagation estimator.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PySatTracker Project (2020/2022)

Github Stars Github Watchers

GitHub license GitHub last commit Github issus open Github issus closed HitCount

Python 3.9 GitHub repo size wakatime

PRESENTATION

This project vows to create a software capable of tracking known satellites with a huge accuracy as well as allowing the pursue of propagating a specified orbit using perturbations calculations. It will consist of two different systems :

  • a satellite tracker using TLE Data for quick predictions for known satellites in the NORAD Database.
  • a satellite propagator using ephemeride or user-inputted data in order to predict their future orbits, accounting for various perturbations such as the Moon and Sun, solar radiation or the roughness of the geoid.

SATELLITE TRACKER

This satellite tracker uses TLE Data provided by NORAD in order to estimate the position of satellites at certain times. We used to be doing the estimation in a simple naive way although the estimator needs a SGP4 algorithm in order to provide accurate results.

TLE Data:

TLE or Two Line Element is a format capable of transmitting info about a satellte's position easily created and updated regularly by NORAD. It gives us an access to some values of our satellite's orbit through some Keplerian parameters that can be propagated through a SPG4 estimator taking into account perturbations of the satellite's trajectory. However, given the amount of perturbations changing a satellite's trajectory and also the possibility of maneuvers, this data has a low life expectancy. Our code updates its NORAD TLE database by downloading it directly from the Celestrak website where many categories can be found. We managed to associate an active satellites database with many famous debris families such as the Iridium 33 debris. These multiple databases can be switched on/off via the Tracker/Preferences option through checkboxes as shown right below :

SGP4 Estimator

Keplerian parameters from TLE Data cannot be used as is and need a specific algorithm in order to estimate the associated orbit. This is the role of the SGP4 estimator algorithm. It is provided by the sgp4 Python library in our case.

INSTALLATION

git clone https://github.com/EnguerranVidal/PySatTracker.git
cd PySatTracker
pip install -r requirements.txt

USING THE CODE

To start the GUI, the following command can be entered :

python3 main.py

FUTURE VERSION ?

I first announced the new version to be finilized around the end of Summer 2021 but the GUI and my attempts at creating my own SGP4 propagator lengthen the amount of work needed. But since some personal projects have been finished and college gave me a slight breaks between exams and assignements, I could finally get back to it and finish this version with a SGP4 estimator (not home made however). The promised GUI is finally done, with a lot of work still needed in creating the 3D view and propagator mechanics as well as expand the amount of shown data.

Future additions are as follows :

  • Display some info on selected satellites, already found a database for this purpose.
  • A satellite propagator for orbit prediction takin into account multiple perturbations such as the Moon and Sun, drag, the geoid potential and Solar radiation pressure.
  • A way of creating our own satellite and implementing it into the system.
  • Get the ground-track display to be more interactive, repsonding to selection on the map for displaying the ground-track for example.
  • An interactive 3D display of each satellite trajectory.
  • A over-head passings polar plot, possibly a tool giving multiple passages throughout the TLE data lifespan.
  • Creating a play/pause/forward bar for time management/travel to see past trajectories.
  • Better the GUI visually through the use of custom themes from ttkthemes

About

This projects focuses on using Norad provided TLE format data in order to track satellites orbiting around Earth and predict their overhead-passings using an analytical propagation estimator.

License:MIT License


Languages

Language:Python 100.0%