Rocket Landing Spot CNN Algorithm
April 2021 - May 2021
In this project, I built a CNN Algorithm that could classify “safe“ and “unsafe“ spots for rocket landing on the moon, and pick the most optimal safe landing spot.
I used a dataset from Kaggle.com of 10000+ generated moon surface images accompanied by the coordinates of bounding boxes for every rock or boulder in each moon surface image. I created and trained a classification CNN using Tensorflow that would output a confidence level between 0 and 1, 0 being safe and 1 being unsafe. I tried many architectures for the CNN, and ended up settling on a 14-layer structure composed of a series of 2D convolutional layers and 2D max pooling layers followed by a series of deep layers.
I programmed an algorithm that would pass 4 different sliding windows of different sizes over the greater image given of the surface of the terrain. In each instance of each sliding window, the algorithm would feed in the snippet of the image that the sliding window captured into the previously mentioned CNN. If a specific spot was classified as “safe“ by all 4 sliding windows, then it would be marked as a safe landing spot. The safe landing spot that is closest to the initial rocket trajectory would be chosen as the desired landing spot.
The final version of the algorithm ended up being 319 lines of code, but all versions considered, I wrote 1000+ lines of code.