Avoris

High-Level Project Summary

Project:A web application by using debris data provided by celestrak and spacetrack and mapping the data on the NASA Web WorldWind for display and using Machine Learning algorithm to predict the debris position in the futureHow it helpsIt shows the debris orbital path of debris and predicts the debris path and position to avoid any collision from itSpace Debris1. It's harmful and dangerous to the future space mission2. It can not only affect the future space mission but also affect the satellite that is currently in space 3. It can also be harmful to the astronauts in the ISS4. It will be very dangerous and costly for space travelknowing debris path and location can help avoid it

Detailed Project Description

Our objective was to develop a web application that would map the space debris of space debris around the globe, their location, their orbital path, and also a prediction of their location.


Our project uses flask python web framework as backend and when root home page is visited it sends an HTTP request to celestrak API

request to

URL = 'https://celestrak.com//NORAD/elements/gp.php'

with query

NAME='DEB' it returns all the tracked object with DEB in their name which indicates they are debris.

FORMAT='3LE' as python sgp4 package work with this format to take an orbital parameter and calculate debris position and velocity vector.


https://celestrak.com//NORAD/elements/gp.php?NAME=DEB&FORMAT=3LE'


it returns a 3LE formatted data which contains this request is formed as:



which is then saved in a file named 'data.txt'


As the data contain multiple blank lines which makes it difficult to process line by line so we read all.

We have read all the lines in a list loop through them and applied the strip method to remove any nonspace character then check if the line was not empty and join them with return character: '\n'


After cleaning the lines we loop through-lines from index 0 to end taking 3 steps at a time

and taking slices of lines list at each index and unpacking three values which are

name, row1, row2 for each debris data at each step.


after getting TLE data we used the sgp4 package to satellite objects from sgp4.API module Satrec class twoline2rv method by passing the row1 and row2, then passing the current date to jday method which returns Julian day and frame of reference started class object and pass the r

or the backend, we have used, then use satellite object sgp4 method and pass Julian day and reference frame to get the position and velocity vector


We have not been able to display this data to the 3d virtual globe.


Python 3.7.9

  1. Flask as our web framework
  2. requests module to make an HTTP request
  3. sgp4 package to work with the TLE format and orbital parameters


For the front-end, we have used

  1. HTML/CSS and javascript
  2. Web WorldWind 3D virtual globe API in JavaScript for the web, developed by NASA to display the debris data.


We have used python flask for our backend we have to make HTTP requests we have

The data on all the mapped debris in the orbit was obtained/requested from the CelesTrak and space-track.org through the CelesTrak API in the Two-Line Element(TLE) Format. The preprocessing of the data was done in Python using the Sgp4 module, which helped us obtain the

Space Agency Data

We have used CelesTrak and space-track data through CelesTrak API. we requested the data for all the current mapped debris in orbit the format of the data was TLE: Two Line Elements


It consisted of the name and the orbital parameters of the debris which was used to calculate the position and space vector of the

debris.


We have used NASA WorldWind Web to map the debris to display 3d visualization of the data.

Hackathon Journey

It's a mixed feeling we are frustrated that we don't know how to make something work but we are also learning a lot of stuff I did know about or even think was possible.


First I broke down the project into steps

1. collect the data: for this, we referred to the given resources in the project description but didn't know how to get the data we have to look for the cells track API after that find the query parameter to get the debris data at first It was not clear how to get the data about the debris

for that, we looked at the possible Parameter such as CATNR and INTDES but both of them were unique we needed something which was common in debris data that when we used NAME parameter with 'DEB' as value and we got all data which contained 'DEB' in their name.


2. Parsing the data:

a. We had no idea about the TLE format or even if it exists but sure it does for parsing that we again referred to the description page and got sgp4 it is a model to work with orbital parameter and it works with data in TLE format we got the data.


b. The TLE formatted data we stored the TLE data in a text file but when stored each line was stored with a blank line following it. This made it hard to parse the file as we needed both the first and second row for working but we have not found the way around it.

References

  • Space Track: Space Track database
  • Celestrak API: Get the debris data in 3TLE format
  • Nasa source: General information about the problem
  • Nasa source: Impact and images of debris
  • CSA source: Importance of satellite
  • Sky field source: Helpful material to obtain latitude, longitude, altitude
  • NASA source: The latest orbital debris research and news
  • The UCS Satellite Database (May 1, 2021 Release): www.ucsusa.org/satellite_database

Tags

#Space app Challenge #ML#Fun#Great Challenges