This project is part of the payload challenge for NASA’s 2022 Student Launch Initiative competition. The challenge emulates flying a vehicle to a new planet and landing on it for the first time. Provided that the rocket lands in a ~5000’x5000’ landing area that is broken down into 20x20 grids each measuring up to 250’x250’, the team must locate the grid cell corresponding to the rocket’s final location.
Given that this is a space mission to a new location, the payload has the following restrictions:
The team decided to build a state estimation system with a Kalman filter in python on a Raspberry Pi. This payload design earned a score of 6/7 for “Superior Quality for Payload Design” by NASA judges. The details of this estimator are below.
The mechanical design and final prototype can be seen below.
The estimator utilizes this circuit to estimate the rocket’s final position.
Note: the inclusion of the GPS module is strictly for having a “true” position to compare against estimator results during testing and at the final launch. It is used to train the estimator during test flights and check the accuracy of the output.
This flow chart shows how the main estimation loop is implemented in python.
Since the estimator has a down facing camera, it is deployed after the rocket separates for the recovery event. The two stages of flight relevant to the payload are detailed in this diagram.
An autonomous payload deployment mechanism was developed to launch the estimator out of the rocket after the rocket separates. Read more about this project here.
The team flew the full-scale rocket up to ~3800ft as shown by the video above. While the target apogee for this rocket was 4800ft, this was still a big launch for the team. Unfortunately, the logged data and footage logged by the payload were corrupted and the team was only able to retrieve footage from after the separation event.
I believe the cause of this issue is the Raspberry Pi’s SD card connection. The forces from the deployment charges as well as the initial pulling of the parachutes must have produced large enough vibrations that caused the SD card to wiggle and be momentarily disconnected. This causes an abrupt shutdown and restart without appropriately storing the flight data currently in memory. The on-board footage in the video is what remained after the restart.
In any case, this was the first time in 4 years that the team has launched a functioning payload on a full-scale rocket. Given more time, the payload subteam could have easily ironed out the bugs and made a more reliable and flight ready system. Regardless, this was a huge accomplishment for the team.