High-Level Project Summary
We created an open-source debris and satellites tracking system with the prediction of objects coordinates and risk collisions. Our solution leads to preventing debris and satellites collisions, which will save space missions in the future.
Link to Project "Demo"
Link to Final Project
Detailed Project Description
Our tracking system includes all known debris and satellites from the Space Track database. In this project, we achieved a unique combination of mapping all known objects orbiting Earth, predicting coordinates and risk collisions of objects, and comfortable usage of visualized data.
Background and Importance
With more than 27,000 objects in the Earth's orbits [1], the hectic space traffic has raised concerns about potential disruption to scientific research and our lives. Except for space exploration, satellites work as an indispensable part of our daily life: from navigation and communication to weather reports. However, the debris increases the probability of an impending collision between 'the dead' and working satellites and threatens current and future missions [3]. Collisions among debris can cause a series of fragmentation and may pollute the orbit resource eventually.
One of the solutions is to know the exact position of the debris. Understanding what the space junk is and where it is at a high degree of precision can improve the accuracy of collision prediction, thus avoiding unnecessary precautions [8]. The challenge is that the prediction ability of the analytic model degrades quickly over time, requiring keeping the debris monitored, which is unfeasible for finite observation resources and a large amount of debris down to centimeter size [8].
We address the problem by developing a machine-learning algorithm to characterize the orbiting patterns of satellites and predict their coordinates in real-time. The satellite catalog from Space Track [2] enables us to experiment with our time-evolved orbiting prediction method.
Data & Methodology
Data Collection
The first step in our project was to create a program that would collect and update debris and satellite data. We developed an asynchronous data collection service called Poller, which is responsible for fetching debris and satellite data from Space Track API general perturbations (GP) class [11] in JSON format. When the service starts, to retrieve the newest propagable element set for all the debris and satellites, it fetches API data per last 30 days following the recommendation on the Space Track website [2]. Due to the need for fast data retrieval by the rest of the system, having fetched the data, Poller dumps it into a Redis database. Afterward, the database is updated periodically with data for the past hour that is fetched every second. The service itself is decoupled from the rest of the system for potential scalability and fault tolerance. Moreover, to obtain a sufficiently long time series for our ML model training, it is capable of dumping data to some persistent storage like Elasticsearch.
Machine Learning approach
In the process of implementing our solution, we came up with an idea on how to reduce the risk of debris-satellite collisions. The quality of analytical predictions quickly degrades over time due to the accumulation of error and computational limitations. The debris coordinate error can lead to unexpected collisions and therefore create a significant risk for space missions.
We decided to apply recurrent neural networks to analyze time series of debris and satellite positions and predict their coordinates in the future. We trained the LSTM model using debris location and velocity as input features. Our model managed to predict ASTRO H debris (Id: 2016-012H). These are preliminary results as we are completing our historical data collection from Space Track to train the model on the bigger dataset and working on the implementation of new input features such as debris mass, shape, density Potentially our ML approach will be able to improve debris coordinate predictions, lower the computational resources needed for such calculations, and reduce the risk of space collisions.
Visualization
We used Plotly Dash [10] to visualize data in our project. In the 3D visualization, you can see the information about each orbiting object, such as Name, Data of Launch, and Owner Country. Also, orbits and collision alarms are available in the visualization.
Graphical User Interface
Our graphical user interface provides a useful сonnection between a scientific approach to the project and a comfortable user experience. We use open-source data from the Space Track database and display it in a comprehensible way in real-time. That is why even inexperienced space explorers are able to use our tool to learn more about the space trash problem. At this point, we use only open source data available on the internet. However, in the future we are planning to add different levels of authentification: for authorized (for scientific and tracking purposes) and average users.
All parts of our projects are realized using Python language and our code is available on GitHub.
Space Agency Data
The articles and information on the website of NASA and CSA are all useful for the project. We learned a lot about the space debris problem using NASA resources. Also, we included the links to these sources in our 3D visualization. The importance of satellites (CSA source [4]) motivates us to work harder on the trash problem. We really need to track the risk of collisions! Mentioned resources (and many more) are listed in the reference section.
We also adopt orbit parameters and basic information of known satellites and debris from Space-Track, as suggested on the Space App webpage [9].
Hackathon Journey
Let us tell you a story full of challenges and unexpected turns. A story about real friendship, support, and a wish to hug the unknown. A story about how our team accepted the challenge and accomplished it.
Once upon a time (~two weeks ago), Yunting and Oleksandra first came across information about space junk (from the NASA website [1]). We were deeply impressed with the destructive effects of debris and satellite collisions. Then we started browsing for more information and found the NASA Space apps challenge [9] "Mapping Space Trash in Real-Time". Oleksandra called Ihor, her boyfriend, immediately “Say no more. We are in!" - Ihor said.
We asked friends to join the team for this challenge. Vlad, Ihor's best friend, started considering the technical aspects to solve the problem. Timothy was thinking about a video demonstration. Our hacking-the-challenge plan was ready on Friday, right before the start of the hackathon.
But even a brilliant plan sometimes does not work out perfectly.
On the first day of the hackathon, we found that some of the debris [2] does not have a robust data set for our machine learning algorithm to use as the training set. The periodic tracking of certain debris contains gaps over time, rendering insufficient source data to characterize its intrinsic period. We tried to improve our algorithm and looked for appropriate, integrated data sets. But checking all available up-to-day objects (around 19,000) in two days is impossible. We were stuck. You probably want to ask: "How did you overcome that?" Well, we asked for help from experts! We thank Dominique Poulin, Viqar Abbasi, and Shivani Hegde, who advised picking a shorter tracking period to cover more samples and train our model. Besides, they suggested including other parameters, such as atmospheric drag at different altitudes, to increase the accuracy of debris propagation over time. What a relief! We were on the right track to solve the challenge! So, we decided to get up earlier to complete our work together before submission on Sunday!
However, on the second day of the hackathon, Oleksandra's laptop went crazy when she tried to finish our demo video and help with the graphical user interface. What's worse, the laptop did not even save some of the presentation slides! So, the guys needed to do GUI, and Oleksandra had to remake the slides. Though a bit hectic, we learned to save our progress with copies and work in groups for complex tasks. The support and optimism help even if your teammate's computer crashed. We are also grateful to Jasnoor Bedi for informational updates and Donya Naz Divsalar for calling for our attention to collect open sources for the educational use of the project.
Our approach to developing the project was to split tasks into smaller pieces. For example, Oleksandra can make a video, but she does not have proper diction to make a good background voice record. That is why Timothy recorded it. Yunting found extremely great databases but she could not upload them into our visualization. So, Vlad, as a proficient programmer, completed things with Earth visualization and tracking satellites. Ihor had multiple tasks constantly helping other team members and coping with machine learning algorithms.
References
- Nasa source: General information about the problem
- Space Track: Space Track database
- Nasa source: Impact and images of debris
- CSA source: Importance of satellite
- Skyfield 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)
- The quest to conquer Earth’s space junk problem.
- Space Apss Challenges.
- Plotly
- Space track API
Tags
#map #mapping #Earth #globe #debris #3D #risk #collision #prediction #ML #AI #satellites
Global Judging
This project has been submitted for consideration during the Judging process.

