Abigael Status Report (3/29/25)
This week, I spent most of my time working with the team to prepare for the interim demo. As our current motors are not waterproof and our new ones will not be in for the demo, we had to come up with a way to …
Carnegie Mellon ECE Capstone, Spring 2025 - Abigael O'Donnell, Emma Hoffman, Maddie Burroughs
This week, I spent most of my time working with the team to prepare for the interim demo. As our current motors are not waterproof and our new ones will not be in for the demo, we had to come up with a way to …
This week, most of my time was spent working on the general boat structure in preparation for our interim demo. Our propeller motors ended up not being waterproof and all of the waterproof motors that we could purchase were either too expensive or wouldn’t come …
This week, our team made the discovery that our propeller motors – which were marketed as waterproof – are, in fact, not waterproof and cannot be submerged in water as we planned. As a team, we researched new motors and other solutions, ultimately landing on extending the axles such that the motors are above water and at an angle. Implementing this design change before interim demos was important, and required all hands on deck.
As a team, we scavenged campus for the parts we needed, including longer motor axles, various sized axle adapters, etc. Techspark and IDeATe were both very helpful in this endeavor 🫶!!
Most of the work done to implement this update was pretty communally tackled by the team – notably, Abie specifically led the charge on 3D printing an adapter for the motor axle to the longer one that we sourced, Emma worked on restructuring our propellor and figuring out how to angle the new set-up, and Maddie focused on making holes in our beloved boat and waterproofing. Attaching them at the correct angle, and in such a way that didn’t restrict movement, was a team effort. After the interim demo, we will be focusing on waterproofing our systems and making seamless connection between the photos being generated and the image stitching algorithm. Also, we will complete testing procedures.
We also discussed options for our final demonstration that we are still working on. We are considering purchasing a pool to demonstrate our boat and camera system, or setting up our station inside the UC pool. The latter option might not be possible because there is scheduled recreational swim time during the final demo time, but we will ask the aquatics director anyway.
This week, I spent time getting ready for the interim demo. Last week, I had finished a majority of my subsection, but I refined some of it to improve functionality, and thought about what there is left to do before the final demonstration. First, I …
This week we finally got our stepper motor and drivers in! Most of this week was spent setting up the motor; one of the drivers (the one I opened first) seems to have an issue with it where two of the pins are shorted. So …
This week, we dedicated our lab lesson on Monday to building the structure of the boat using a plastic bowl and foam board. As mentioned last week, while we were originally planning on starting with a foam raft and later implementing a foam board boat, Professor Gloria suggested the bowl as a way to simplify our design as we know it is buoyant and waterproof. For additional stability, and to help protect our electronics, we added foam board to the sides using a waterproof sealant. We have not attached our motors to the board yet, as they are not waterproof (boo false advertising), however we have ordered new brushed motors. As a group, we feel that we are in a good place for the upcoming interim demo. Our next steps will include waterproofing our electronics and attaching the boat to the underwater unit.
Emma spent time on the motor control and video streaming, and was able to get both working successfully! Last week, there were several bugs in the implementation, which resulted in the socket server of the Raspberry Pi failing to run the livestream and control the motors at the same time. This week, she separated the motor control from the video feed, using an Arduino Nano and Arduino Cloud to remotely control the motors over Wi-Fi at a distance of 10 feet, which is a requirement our project. She was also able to improve the framerate and color clarity for the video streaming on the Raspberry Pi and pick out new motors for our boat.
Abie spent time on the ML algorithm and was able to implement code that used a KNN model from an external library (scikit-learn) to classify groups of pixels as one of two coral types, pink or blue, and then classify each coral color type as one of four categories: bleached, partially bleached, pale, and healthy. Her next steps include adding more training data for the model and increasing the ability of the model to exclude the background from the sections being classified.
Maddie spent time engineering a waterproof sleeving for our underwater cables and redesigning the spool that we will use to control the z-direction of our project. Our stepper motor and driver came in this week, so she was also able to finally set-up the stepper motor with position tracking code as well as continue working on the image recombination code.
This week, our group focused on starting to build out our boat model. Based on suggestions from Prof Gloria, we decided to use a plastic base in order to create a first prototype that will be stable in the water, rather than going with our …
This week, I was able to work on motor control and video streaming. Going into the week, the motor control and video stream were not working together. I spent a long time on Monday debugging the socket server to try and allow us to have …
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 pillow for image processing, and now I need to implement classification part using a KNN model. I also need to finalize the way in which the images are fed into the code to be processed as depending on the number of images extracting for the camera and sent for processing, this could be a lot of data to run. I have designed a KNN model before, so I am confident I can get this working within the next two days. My next plan of action after that is to work with Emma to transfer the images from the camera to a laptop for processing and help the team to build the boat and integrate our parts for our mini demo deadline of this upcoming Friday.
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 …