Team Status Report for 12/07/2024

The most significant risks that could jeopardize the success of the project are the PID controller not working and various filtering issues. Currently we are running into issues with the PID not able to get the drone to hover exactly level, instead it is drifting off to the side. We are managing these risks by working on the drone itself as diligently as possible to showcase the controller working to some degree.  We have enough to showcase at the final show, but our contingency plan is to make the drone manually controlled.

The major change that we have made to this system is using a manually controlled drone to showcase the PID controller. This change was necessary as we cannot immediately get the lawnmower operation working even though we have the algorithm ready. Our new schedule is having everything done by Wednesday.

Unit tests for CV:
* Yolov8n is able to get camera feed
* Yolov8n is able to detect any object (can be wrong)
* Yolov8n is able to detect any object correctly
* Yolov8n is able to detect object we want to detect
* Yolov8n is able to detect object image coordinates correctly

Unit Tests for Tracking:
* Tracking is able to receive image input
* Tracking is able to receive image coordinate for bbox
* Tracking is able to parse the inputs into ints
* Tracking is able to ouptut the distance vectors from the object detect
* Tracking is able to compute the direction

Unit Test for Radio:
* Radio is able to receive bytes
* Radio is able to send bytes
* Radio range testing

Unit Tests for Drone IMU:
* Drone IMU calibaration
* Drone IMU Kalaman filter outputs correct values
* Drone IMU Kalaman filter with IMU reading cause no drift
* Drone IMU maintains correct readins after vigorus movements
* Drone controlls operating at 200+Hz

Unit Tests for Drone PID:
* Drone PID controller is able to get set point error
* Drone PID controller is able to utilize kalman filter data to calculate D
* Drone PID controller is able to calculate error required for I value
* Drone PID controller shows the drone trying to compensent with only P value
* Drone PID controller shows drone’s leveling gets dampned with addition of D value
* Drone PID controller shows I value is able to take care of steady state error

Raspberry Pi enclosure
Drone midair
Drone Hover Test

Gaurav’s Status Report for 12/07/2024

This week, I worked on creating an enclosure for the raspberry pi to place it on the drone. I also helped Ankit and Bhavik train the PID controller for the drone to get it hovering for our video. My part of the project is more or less done now, so I would say that my progress is on schedule. By next week the project will have been due so completion.

Ankit’s Status Report for 12/07/2024

This past week I spent a lot of time working on fixing high frequency noise in the controller. I noticed quite a few oscillations around the setpoint which I hypothesized were being caused by high frequency noise in the gyro that was interacting with the D term. To solve this, I implemented a Exponential Moving Average on the gyro readings in order to smooth them out (although this causes a bit of lag) and implemented a variable gain schedule to provide better stability. We are very close to hovering

Team Status Report 11/30/2024

The most significant risks that could jeopardize the success of the project is getting the PID controller working. We recently had a major breakthrough in the calibration process and we have two axes currently working with our setup. We hope to have a hovering drone soon. Although this is behind schedule, we have the path planning code and the tracking code ready to use as soon as the hovering drone part is working. We are managing the risks by having absolutely everything else ready.

No major changes were made to the design of the system.

 

Gaurav’s Status Report for 11/30/2024

This week, I worked on creating the enclosure for the Raspberry Pi 5 so that we can drill it onto the drone to test the entire system. Currently I found an STL file of the case online, so I will make some modifications to that to make a way to drill it onto the drone.

Our progress is slightly behind because the PID training took longer than expected. However, the rest of the parts are more or less ready to go as soon as we finish that. My personal progress is on schedule.

By next week, I hope to have the raspberry pi mounted on the drone and all the CV working.

 

As I was implementing our project, I found it necessary to learn how a PID controller works to better help my teammates get their parts working. I also had to learn how an AI model works to better understand the documentation behind the Hailo App and try to figure out if it is necessary to design our own Hailo application for our data set. In order to learn these tools, I watched a lot of videos and took light notes. This helped me stay concentrated on the videos themselves as they explained how the drone controller works. For the Hailo application, I simply just sat and read the documentation.