Projects

Waste Recognition System

 The Waste Recognition System is an automated recycling bin that is capable of separating bottles from regular waste. We designed a device that utilized image recognition to determine whether or not an item placed into its compartment is a bottle. If so, it uses a motor system to move the object into the recycling bin. If not, it moves it into the waste bin. The system also features fullness detection. By leveraging the capabilities of ultrasonic sensors attached to the bin, we were able to indicate to the user when either of the bins were full by using an LED light.

My Role on the Team

 I was responsible for designing and implementing the image recognition functionality of the project using a Raspberry Pi unit. I installed an open-source image recognition software called OpenCV via the command line onto the Raspberry Pi. Once I got the basic object recognition functionality up and running, I was able to redesign the code to suit our project's needs. Once completed, I integrated the motor controls with the image recognition software and refactored the code to decrease the system's response delay by about 40%.

Demonstration

 In the video below, my team member, Alejandro Aloma, demonstrates the functionality of our Waste Recognition System. The System utilizes image recognition to analyze captured frames from a camera inside the System. From there, it compares each object inserted into the trash chute and determines whether or not it is a bottle. If it is a bottle, it moves the item to the recycling bin, and if not, it sends it to the regular trash bin. Each container also has an ultrasonic sensor attached to determine its fullness. Once the height of the trash within each container reaches a predetermined level, the LED light lights up to indicate that the container is full.

Proof of Concept

 The Proof of Concept video follows the team's design decisions concerning the Waste Recognition System. We discussed how we chose between three concepts developed by the team, the components used to implement the functionality of the project, and an under-the-hood demonstration of the project to show how its various parts are connected and work together.