Weekly Status Reports

Abigael Status Report (3/15/25)

Abigael Status Report (3/15/25)

This week I continued to work on the ML model, however I am behind where I would like to be. To counter this, I plan to devout a significant period of Sunday and Monday to capstone work. I have been working with the python library 

Team Status Report (3/15/25)

Team Status Report (3/15/25)

This week, our team has set a goal of being able to combine the subsystems so we have end to end operation, even if there are some bugs, by the end of next week (Friday the 21st). In order to realistically achieve this goal, we’ve 

Emma Status Report (3/15)

Emma Status Report (3/15)

This week, I have spent my time developing the computer interface with Tkinter and the back end connection between the GUI and Raspberry Pi. I am using a socket server to connect the Raspberry Pi and computer, which allows the computer to send commands to the GPIO pins that control the motor, and accept frames from the camera for the live video feed. I decided that the motors would be controlled by a button on the Tkinter. When the user wants to go forward, they would press the turn on button, which turns on the motors. The button is tied to a function in python, that sends a signal to the Raspberry Pi to turn on the GPIO pin connected to that motor. There is a stop button that turns off the motor in a similar fashion. Right now, I have only implemented one motor for testing the connection between the Pi and computer. I implemented the control of the motors before figuring out frame transmission.

For the live video stream, I am running into bugs with the code. At first, the image frames were not getting to the computer. I realized that the client was not sending requests for frames consistently to the Pi, so I created a “Start Live” button on the GUI for testing, that sends requests to the Pi for frames. Then, I was running into an issue where the client would receive one image, then the program would freeze. I was able to debug this and realized that I was only sending one frame on the Pi server end, so I put the frame sending functionality into a loop. Now, there is live streaming from the camera to the computer. The frame rate is significantly better than when we controlled the camera using other methods, which is a big improvement. We were concerned before about the frame rate being too slow, but now we are confident that this frame rate would meet our design requirements (prior to testing). 

There are still bugs in the interface that need to be fixed. Right now the Pi is sending frames well, but it does not get and process requests to change the GPIO pin status. I am still investigating the cause and coming up with a solution. I might need to separate the motor control and live stream onto two port connections, or slow down the frame transmission to recognize other requests. Also, I think the frames being sent are not holding all of the pixels correctly, because the color is not coming through correctly. It makes reds look purple, and the lighting is fairly dark. I will have to edit the client code that accepts the frames to make sure it takes the whole image without stopping short.

Next week, I will continue to try and debug the interface and work with Maddie to integrate the Z direction movement. As a team we are also planning on putting together the above water boat. I am still on schedule, and do not anticipate any risks moving forward. I think that the code will just take some more time to finalize and implement the functionality we desire.

Link to Video of Interface:

https://docs.google.com/videos/d/1ms-IpJHWIhEZ1yQMVdBUI3owfcwymd0b25iK6jW3Zs0/edit?usp=sharing

Maddie Status Report (3/15/25)

Maddie Status Report (3/15/25)

This week has definitely been a bit slower than I intended. I’ve faced some issues with parts being ordered/delivered, which has slowed progress on working on the Z-direction movement. That being said, I have constructed a makeshift spool which should allow for us to still 

Maddie Status Report (3/8/25)

Maddie Status Report (3/8/25)

Over the last two weeks, most of my time went towards working on the design report, as well as continuing to work on the image stitching algorithm. Because of some travel hiccups, I did not get everything that I planned in my last status report 

Emma Status Report (3/8/25)

Emma Status Report (3/8/25)

This week I worked on setting up the motors for the boat. I soldered the wires to the motors, set up the circuit with the motor drivers and the Raspberry Pi, and turned the motors on and off using remote terminal commands. I also spent time looking at code examples of how to turn the terminal commands into a continuous loop and how we can integrate the button presses on the application with the motor control. In particular, I found a library function that changes the voltage that the GPIO pins have when they are turned on, which would control the speed of the motor. Next I will be playing with this voltage to see how fast the motors turn with different voltages. Also next week I will be putting together the code for the application and testing the functionality with both the motor circuit and the camera circuit. Once I am done with the code, I will look into the resolution of the images and responsiveness of the system to user inputs. I am currently on schedule and do not see any risks moving forward. 

 

This week I also worked a lot on the design report. I wrote the introduction, some of the use case requirements, made diagrams for the system implementation and explained how the application will look. I also wrote about design trade offs and how I ended up choosing the processor, camera, motors, and motor drivers.

Abigael Status Report (3/8/25)

Abigael Status Report (3/8/25)

This week I worked on figuring out how to process images in python for the ML color detection algorithm. I was able to get the RGB pixel value from a JPEG image using the Pillow library and from this step am able to self group 

Team Status Report #4 (3/8/25)

Team Status Report #4 (3/8/25)

This week (3/2-3/8) our team enjoyed a super fun spring break! Prior to that (2/23-3/1), we focused on finalizing our design details and plan in the design report. Emma set up and tested the motors for the boat, Maddie worked on the image recombination code, 

Abigael Status Report 2/22

Abigael Status Report 2/22

This week, I worked on writing some beginning code for classifying coral health. I am planning on having the code sort samples first by color (blue/pink etc.) and then divide into healthy/unhealthy/at risk. Right now I am still considering the best way to process the whole image, or if I should involve some sort of preimage processing to account for the background color. With Emma taking the lead on setting up the camera during her work with the Raspberry Pi, I am still on schedule. I plan on being involved with the camera testing next week and if we cannot get the desired quality with the camera we ordered, I have figured out how to use my GoPro as a livestream camera and will work to set that up with the Raspberry Pi.

Team Status Report #3 (2/16-2/22)

Team Status Report #3 (2/16-2/22)

This week, our team presented the design review slides (shout out to Maddie!). We also have been working independently on our specific parts of the project. Emma was successful at setting up the Raspberry Pi and configuring the camera. We took our first photo and