Video length is 16:48

Harnessing the Power of Machine Learning for Improving the Safety of Outer-Space Travel

Amber Yang, Stanford University

Orbiting satellites and spacecraft in low earth orbit are subject to the collision dangers of more than 500,000 pieces of space debris, which can have an even greater impact on space vehicles if it is not tracked beforehand to allow the spacecraft to maneuver away from collision zones. However, current covariance-driven tracking tactics are vulnerable to orbital variations of space debris clouds, which orbit collectively, due to constantly changing astrodynamics subject to nonlinear celestial disturbances. In Amber Yang’s research, the Iterative Closest Point (ICP) algorithm is applied to register the space debris clouds from two successive motion scans as two point clouds for geometric alignment, which provides kinematic patterns of space debris clouds to train an artificial neural networks (ANN) system. The machine-learning backpropagation algorithm performs pattern recognition using an ANN to predict dynamic changes of the ICP kinematic patterns for accurate point-cloud tracking. Yang discusses how MATLAB® provides a cohesive environment for training and testing innovative applications to artificial intelligence.

Published: 16 Mar 2018

So the premise of my research focuses on machine learning and, in specific, artificial neural networks. And today, the whole topic of machine learning has been thrown around. And we've seen numerous applications of it.

So just for some background for those of you who may not be too familiar with it, the topic of machine learning was first coined by Arthur Samuel in 1959. And essentially, machine learning is the field of study that gives computers the ability to learn without being explicitly programmed. And artificial neural networks is used for computing systems based on connections.

So machine learning is commonly used for classification, for grouping. But today, I'm going to be talking about this application that I used. And I actually used artificial neural networks to identify, classify, and predict future orbits of space debris. So it hasn't really been seen before, how artificial neural networks have been used for tracking objects. But that's what I focused on.

So in order to understand the importance of this research, we must first understand the problem. And the problem is that there are hundreds of thousands of space debris orbiting in low Earth orbit that pose intense collision threats to orbiting spacecraft, such as the International Space Station.

So how many of you guys have seen the movie Gravity? Even though it may not be too scientifically accurate, you get the idea of how big of a deal space debris can be to the billions of dollars that we're putting up there in space. And there's something called the Kessler syndrome, which predicts that the number of space debris orbiting in low Earth orbit will only exponentially increase as time goes on, as these space debris samples that are already up there continue to collide with each other.

The traditional orbital tracking methods rely on something called the extended Kalman filter, or the EKF system. The EKF is a mathematical model that is manually updated every single time the space debris orbit changes. However, tracking thousands of space debris is a highly nonlinear problem.

Because there's so many of them, they're orbiting at extremely high altitudes. And they're extremely small sometimes. So the fact that the current state of art uses this mathematical model to track space debris, even though it is and has been effective, there can be improvements made to it.

Yes, oh, sorry. So what I decided to do was implement artificial neural networks to learn patterns in the orbits of space debris. So my question was that, are there inherent geometrical patterns that can be noticed in the orbits of debris that can be used for pattern recognition for artificial neural networks over time?

And my research has been divided into two phases. The first phase, I utilized artificial neural networks, specifically back-propagation, to track individual space debris samples. So for those of you who aren't sure what back-propagation is, it's essentially a type of artificial neural networks in where the input and output data are initially both presented to the neural network.

The neural network learns the conductivity and the weights that are related in between the input and the output. And then the goal is that once the input data changes, the neural network will still be able to produce an output.

So I did a lot of simulations and analysis of the orbits of space debris. And I ultimately decided to narrow down the orbit of the space debris to the five Keplerian elements, which are known as semimajor axis, eccentricity, inclination, argument of perigee, and the right ascension of ascending node. So these five elements were first defined by Johannes Kepler. And they can define any single orbit of a space debris.

So I decided to use those as the input data for my neural network system. And for this first phase of my research, I focused on 1,000 space debris samples. And I looked at how much those Keplerian elements were changing over time. Specifically, my orbital recognition system was divided into two separate ANNs.

The first one is called the target detection artificial neural network. And that subsystem was mostly involved in identification and classification of space debris. The second part of my orbital recognition system was the trajectory prediction ANN, which was utilized for predicting a future orbit of space debris.

So I decided to use 1,000 space debris samples that I was able to actually obtain from publicly available data online. And what I saw was that when I narrowed it down and looked at how each specific Keplerian element was changing, I noticed that there were geometric patterns that are inherent in every single orbit.

So if you look at the five pictures that I've shown, you can see that the orbit changes every single time a Keplerian element changes. So those would serve as the patterns for my artificial neural network system. And all of the plots, by the way, have been generated using MATLAB. So that's why I love MATLAB so much. It was very easy and friendly to use.

So my back-propagation method, as what I mentioned earlier, was that I initially took 1,000 space debris samples. And I used that as my input data with five Keplerian elements. And my output data was actually a 1-by-3 index array.

So one of the biggest problems that NASA is facing right now is that since space debris orbits change so rapidly, it's really hard to identify a space debris sample as being space debris A, for example, after it has changed orbit. So I wanted to see if my neural network could take in input data and recognize and identify it as being the same space debris sample even after the orbit had changed.

So this is the breakdown for the neural nets that I used. For the target detection ANN, I had five input layers and three—I have one input layer and one output layer with five neurons and three neurons in each. And then I had three hidden layers with 75 neurons inside.

So for the input data, I was able to eventually garner a 89% identification accuracy rate. But the really powerful thing about neural networks is that they can constantly be retrained. So any missed case that was identified the first time, I was able to refeed back into my artificial neural network. And I was eventually able to garner around a 94% identification accuracy for my target detection neural network.

And the results can be seen here. So these are the 1,000 space debris samples that I obtained. And you can see that my neural network is coming into play. Anything circled in red was successfully identified and classified after the orbit of the space debris changed. Anything in green was not successfully identified the first time. I can take all of those green misidentified space debris samples, replug it back into the neural network, and then have it improve in accuracy.

So moving on to the trajectory prediction artificial neural network. This artificial neural network focused mostly on predicting a future orbit of space debris. So what I did was I looked at the five past orbits of the space debris sample. And I looked at the delta changes of the Keplerian elements in between each orbit. And I fed that in as the input data from my neural network system. I allowed my neural network to go through training.

And eventually, I hoped that my output layer would produce a future delta change of the space debris sample in terms of the Keplerian elements. I could then take that delta change from the output, add it onto the last known Keplerian elements, and predict a future orbit for the space debris sample. So I was actually able to predict a future orbit for space degrees for about two weeks in advance. So this is extremely useful for tracking and collision avoidance.

So here are the results of my trajectory prediction ANN. So in the first plot, we see that I varied the degree anomalies between the data input that I gave in for every one degree. And the bottom two, I varied it for every 0.2 degrees. So I found that my trajectory prediction results were more accurate in the bottom two graphs because I varied it over a smaller degree of true anomaly.

And what's really interesting is that in the two columns on the right, I actually started tracking the orbit with a rotation translation of 45 degrees. So my neural network was still able to predict a future orbit of space debris using extrapolation, even though it hadn't learned those previous 45 degrees of space debris samples.

So this is a result of my trajectory prediction. It's not very clear in the image. But there is a green line that is the actual orbit of the space debris. And the red circles are where my artificial neural network predicted the green line would go. And MATLAB really allowed me to look at my simulation results in a very clear manner and compare it very easily.

And ultimately, I was able to create a collision avoidance system. So the space debris sample is orbiting and coming on the right. And then you can also see two satellites orbiting on the left. So I'm able to see whenever the two orbits collide in enough time in advance to warn spacecraft in—functioning spacecraft that there might be a collision in the future.

So moving on to phase two of my research. What I realized when I was completing phase one of my research was that space debris samples oftentimes orbited very close to each other. And they actually formed a cloud of space debris samples. And instead of just individually feeding in large amounts of data to a neural network, I wanted to see if I could track an entire cloud of space debris together.

So I decided to use was implement something called the iterative closest points algorithm so I could simplify a large group of debris into just a few data points. So over here, I was analyzing the space debris samples that I collected from online.

And I looked at over 2,559 space debris samples. And I made a criteria that a cloud would be any samples within a distance of 3,500 kilometers with each other and inclination from between 0.5 to 1.5 radians around the cloud center. And I looked at that one cloud sample for the rest of my research. The data that I took in was given in terms of the two line element samples. So that's essentially in terms of the position and velocity vectors. And then I was able to use this for my neural networks.

So here is just some definitions enumerating what the iterative closest points or ICP algorithm is about. So the ICP algorithm is a method used to register a geometric alignment and relationship between two different scans of something at two different points in time. So in the past, it's been used a lot for MRI scans.

If a person is lying in an MRI and they move their face, the iterative closest points algorithm is used to find an alignment between the points on that person's face. So it hasn't really been used for object tracking before. And I utilized that for identifying a geometric relationship between a cloud of space debris samples at two different points in time.

So it's best understood with these graphs. So if you look at the graph on the farthest left and the top, you see that those are two space debris clouds. It's one space debris cloud at two different points in time, actually. And then the ICP approach utilizes something called a binary k-d tree algorithm to identify a point relationship between each point in the two different clouds. And it does this iteratively until the ICP finds a minimum mean square distance between the points in the two clouds.

And then once it does this, I applied something called the singular value decomposition algorithm to find a rotational and a translational relationship between the cloud. So I'm able to see how much the space debris cloud has rotated and translated between two different points in time.

And that actually served as the input data for my neural network. I took the past few increments of change of the rotation and the translation matrix at different points in their true anomaly of the space debris. I looked at the delta changes.

And I used that similar method I used for my individual space debris tracking, where I essentially took the delta change of the rotation and translation matrices, put that in as my input, and allowed my neural network to learn and produce a future delta change of how much the rotation and translation of the space debris would change over a certain amount of time.

And I did this for varying degrees of true anomaly. I did it from 0.1 degrees true anomaly all the way up to 2 degrees true anomaly. And what I found was when I did a sensitivity analysis that when I had a smaller degree increment between the true anomalies, I found that my ICP was able to converge very quickly and find a minimum means square distance in less than 30 seconds, which shows how efficient this method is.

And after analyzing the overall total tracking error of my space debris cloud, the group was—overall, there was around an 80 arcsecond error. But in considering for an individual space debris sample, I had around a 10 arcsecond tracking error. The current methods that are being used by NASA have around a 20 arcsecond tracking error. So this is a significant increase in the improvement and accuracy of tracking space debris samples.

So in conclusion, my artificial neural network approach to tracking space debris has been valified. When I looked at my individual space debris samples, I saw that it was very, very effective in classification and identification, but also in predicting where a single space debris sample would go at a future point in time. For my cloud debris samples, I utilized the ICP algorithm and the SVD algorithm for the first time for object-oriented tracking. And I was able to achieve very effective results from that too.

Future works—I am actually trying to utilize CNNs or convoluted neural networks for deep learning. I know that has also been talked around—talked about today. I also am planning on trying to find a method of using my artificial neural networks to track space debris, even if there is no radar data available. So in a radar denial environment, I still want to be able to track space debris.

So that's what I am working on right now. My contact information is yanga@stanford.edu. That's Y-A-N-G-A @stanford.edu. If you have any questions or would like to talk to me more about my research, please reach out to me.