As the developers behind Cloud Pickup, we are very irritated and concerned by the amount of trash that turns up on curbs and streets. We believe that this frustration is a sentiment shared by much of the population. We also feel that despite some of the government initiatives that employ people to keep the streets clean, no one likes to clean up after another person, no one wants to do it, and thus no one feels happy about seeing garbage in their daily lives.
What it does
The purpose of our robot prototype is to pick up litter as well as predict where litter is most likely to end up. Our robot is provided with a designated area to search for and pick up trash, as well as data from previous analyses of the area and instructions to follow from a virtual simulation. In the interest of time we assume that through numerous scans pinpointing the location of litter, our robot has developed an understanding of where trash appears more often. With this knowledge, our robot can pursue its targets more effectively by following more optimized and straightforward paths.
How we built it
We first focused on building the virtual simulation and the Artificial Intelligence of our robot. Developing our AI would involve collecting data from external sources, so for simplicity reasons we created a dataset that would mimic a real-world data set. Most litter eventually clumps up together under curbs or other obstructions, so we assumed that most of our data samples would cluster together as well, including noise to account for the stray individual pieces of litter that may also be encountered. For the first part of the program, we selected DBSCAN as our unsupervised machine learning model as it best met our requirements in not only clustering our data an arbitrary number of times but also identifying the outliers. Coordinates of important places within the area were established with this method and were then used in our second part of the program to find an optimal path using a greedy search algorithm in the interest of time and simplicity. The result we finally obtain from this program would be a path for the robot to follow using coordinates as a reference.
Challenges we ran into
One of the challenges we’ve faced was trying to find the most accurate machine learning algorithm to detect where the trash is in the map was a challenge. We first used K-means clustering and KNeighborsRegressor. But we then realized it was difficult to guess the correct number of clusters there will be in a test set when given random data. It was only until we used Density-based spatial clustering (DBSCAN) where we could group points together and identify outliers in the data as well without giving the algorithm a certain amount of expected clusters.
Accomplishments that we're proud of
We are proud about being able to execute this ambitious idea with a team that did not know each other before this event. This required lots of coordination, work ethic and determination on our end, which we are very proud of.
What we learned
The people who worked on the ML portion had studied the theory behind Machine Learning through online courses. It was very good experience getting outside of the theoretical world of ML where they had to apply concepts they learned towards solving problems the team faced in this project. We have also learned how to use IoT devices and Firebase to communicate with each other to be able to send commands to the robot.
What's next for Cloud Pickup
Future: Navigate through obstacles to get difficult trash (e.g. some hanging off stuff). The same technique we used for trash could be applied to wildfires and drones. Maybe the drones will drop water or chemicals in areas most suspect to wildfires.