The Thanksgiving Break for me was quite productive. I brought home all of our stuff in order to be able to work on teh project and I made quite a bit of progress. I made two major changes to the software pipeline: 1) the complementary filter implementation we were using originally suffers from drift in the presence of high frequency noise in the gyroscope (which will happen on a drone) and so I properly implemented a kalman filter based approach that results in next to no drift for the IMU and 2) I realized that our original formulation of the PID which was to minimize the error in the angular position of the drone is very unresponsive and not how it is done on professional drones. Instead, these drones implement a rate controller which minimizes the error in angular rate, which is what I changed my PID implementaiton to. With this, our drone is now very stable in both roll and pitch and we are close to trying a hover test after we integrate the radio comms to allow for autonomous takeoff and landing.
We still have about two weeks to demo day and while this is definitely crunch time, I think the immense progress made over the break will help us finish this project.