Machine Learning Based Space Debris Web Tracker

High-Level Project Summary

We created 3D renders of Earth, which also displays and locates every known debris object orbiting Earth in real time. We combined and elaborated datas to make sure that every object’s location is displayed in real-time. With 3D-Earth on the back, it builds up the realistic aspect of our program. It allows users to click on specific space debris and find out its velocity, location, and direction.

Detailed Project Description

Background

“Space Debris is any piece of machinery or debris left by humans in space.”


To be honest, we all thought that space debris was a term that was quite distant from us. That was why we, the Stargazers, were shocked to hear the news about space debris falling to our planet. It was lucky to hear that no one got hurt from it, but the news evoked our cautiousness towards space debris. That triggered us to research space debris, and we were shocked to find that there were more than 60,000 pieces of orbital debris in outer space. In fact, according to the Department of Defense, their Space Surveillance Network (SSN) sensors detected a significant amount of “space junk”. It not only was a potential threat because of falling into Earth but also was large enough to threaten human spaceflight or robotic missions. We definitely knew that keeping our eyes on them as necessary. That is the primary reason why we decided to tackle the challenge of making an application that displays and locates every known debris object orbiting Earth in real-time.


Purpose

Ultimately, the best way to clear this out is to eliminate all the trash outside. However, we all know that it is impossible to wipe all of them at once. There are tons of space debris roaming around the space, and it is impossible to destroy all of them at once. Yet, we do believe that tracking locations of space debris allow us to be aware of the danger. It not only prevents us from falling spacecraft but also reduces the risk of colliding with them when we send spacecraft for an expedition. That will definitely reduce the possibility of significant damage, in both economic and safety aspects. Furthermore, it could also be used to get rid of space debris efficiently. We hope that this program contributes to the goal of eliminating space debris and allows progress on outer space science.


Main Feature:

As you can see from the title, our program is based on “Machine Learning” code. Its primary function is to compute and locate the position of space junks. It collects data from space-track.org, which originated from NASA. To be more specific, it collects “orbital 31e data” in real-time. We utilized machine learning to interpret the data from NASA in order to reinforce the accuracy of the SGP4 model. While undergoing such a process, we noticed that the “Random Forest Regression” was the most suitable machine learning code to use. We considered using “decision tree” as well, but its decision boundary was too ambiguous and overfitting. By utilizing the “Random Forest Method”, we managed to build a precise and more efficient model.   


Algorithm Theory: 

To develop the algorithm for locating specific points, we explored Keplerian Elements and Elliptical Orbits. Before we actually dig in, let me introduce you to the Kepler Orbit. Kepler orbit is a “orbit of an celestial body at a specific time”. By employing such conceptions, as well as data we extracted, we were able to track down the accurate movement of the space debris. The movement varies by its mean anomaly (fraction of an elliptical orbit’s period that the object would have moved in a corresponding circular orbit), semimajor axis, eccentricity, inclination, longitude of ascending node, and argument of periapsis(closest point the object comes to the center of mass).

 

ese six Keplerian Elements, our algorithm calculates the three-dimensional vector, showing the movement of space debris. Simplified Perturbations Model (SGP models), the model expression two-line element sets, is used to represent the movement. It also considers variables like the perturbation caused by Earth’s shape, drag, and radiation, or gravitation effects from other celestial bodies. So our next task was to decide the type of perturbation model we would use. We found out that Simple General Perturbation (SGP) fitted best on our program, so we chose to use that. 

he next step was to think about the appropriate way to write the code for debris tracking and design a machine learning model. We implemented SGP4, a tracking algorithm implemented in Rust Library. Our primary goal was to use these values and represent them in cartesian form of the vector. The value itself was hard to calculate by our hands, but thanks to programs, we successfully figured out values required for calculating the movement. With this program, we can track down velocity and time of the space debris. We integrated Python, Java Script, and HTML to actually build the code. It really was a hard challenge, but we managed to finish it.

Space Agency Data

The data from “space-track.org” is used to collect the necessary data. It collects “orbital 31e data” in real-time. With values from that data, we built an algorithm to calculate velocity, location, and direction. It also allowed us to reinforce the accuracy of the SGP4 model, making the program as realistic as possible. It acted as a catalyst for us to figure out the design of our program. As data was represented, it inspired us to find more efficient method to sort information.

Hackathon Journey

Dohyoung

Since it was the first time for me to apply mathematical knowledge (Linear Algebra/Calculus) from college to solve real-world problems, I personally consider this experience unique. I enjoyed analyzing the SGP4 algorithm and machine learning and endeavored to think of better methods to improve our program. By undergoing such tasks, my understanding of numerical analysis became more solid. 


Kunjoong (Charlie)

This year, I was able to join the Space App Challenge for the first time. Our team chose a challenge named “Mapping Space Trash in Real-time. I was glad that I had the opportunity to make connections between programming and astronomy. Since this was my first approach to astronomy, I had to go through multiple challenges. However, thanks to my teammates who stayed beside me, I was able to cheer myself up and continue researching. As a result, I could increase my knowledge in javascript, especially three js, and have more interest in the astronomical environment. 


Yoojun

Frankly, I worried a lot when we embarked on our journey of making space apps. It was my first time developing apps and utilize websites. I was afraid of being a burden to them. I thank my team members for supporting me and helping me to learn the skills I needed. If it weren't for them, I would not be able to have such a wonderful experience. Even if I was working late, they waited for me patiently and guided me during the entire project. Their passion enabled me to work on the project and learn more skills necessary. It is undeniable that we all worked hard, and we know that we did our best. I enjoyed working on this project, and it taught me a lot of lessons. I appreciate that I was part of this team.  

References

Project Description


Development

  • Visual Studio, Visual Studio Code
  • Python, HTML, CSS, Javascript (Three.js, React.js, Express.js)
  • Web Hosting by heroku.com


Design


Codes

  • Github: https://github.com/TheStargazers21


Data


Orbital Calculation & SGP4 Modeling

Tags

#ML #3D #Globe #Track #Spacedebris

Global Judging

This project has been submitted for consideration during the Judging process.