Climate change is an environmental issue, but is also inherently a social issue. Because of climate change, in the near future entire communities will be displaced, young children and the elderly will be more vulnerable due to an inherently unequal capacity for adaptation, and already struggling farmers That's why it's so important for citizens of the Earth to practice the 3 R's: reduce, reuse, and recycle.

What it does

The Recyclodroid is an advanced robotic device that uses image recognition to move around to to determine if certain objects it comes across in its path are recyclable. With an environmentally-friendly build and environmentally-friendly mission, the Recyclodroid is an automated advocate for recycling and environmental-awareness.

How I built it

To build my project, I first assembled the mechanical structure of Recylodroid. With a webcam firmly attached with multiple adhesives to a reused plastic case of a calculator, Gatorade caps and reused toy Lego wheels, this DIY robot is environmentally friendly and relatively easy to assemble.

To capture pictures, I used the fswebcam package for the Arch distribution of Linux, to ouput a jpg for the Clarifai API to analyze. Clarifai's image recognition API is a powerful and advanced image recognition system that outputs a JSON file of what it "sees" using machine learning algorithms. For example, if one were to apply the Clarifai API to an apple, Clarifai might "see": "fruit", "red", "not a person", etc.

Based on this outputted JSON file, I looked through the "names" to see whether any key words, such as "glass", "plastic", etc. would appear. Since glass and plastic are recyclable, if any of these key words show up in the JSON file, the Node.js file outputs "true", otherwise "false" for whether or not that particular object is recyclable.

For ease of access I created a shell script to execute all of these tasks for the Recyclodroid to perform. To further add to user functionality, I added a manual PIR motion sensor mode for the user to wirelessly control the Recyclodroid from afar.

Challenges I ran into

I didn't have any motor drivers/h-bridges with me, so I was not able to control the motor to allow the robot to move. I also originally wanted to use a pcDuino 3 (mini PC) to control the robot autonomously through Wi-Fi (i.e. a web server), but due to unknown reasons (corrupted SD card, bad connections, etc.) I was unable to implement the pcDuino. I also tried using the Raspberry Pi and BeagleBone Black platforms, but those didn't work either after hours of troubleshooting.

Accomplishments that I'm proud of

Despite all the challenges I ran into, I managed to get my project working in the end and learned a lot about the Clarifai API.

Managing to get this thing to work.

What I learned

I learned a lot about JavaScript and using the Clarifai API - I definitely want to implement it in my future projects. I also learned shell scripting and got a lot of experience with building a robotic device out of undesirable yet environmentally-friendly materials.

What's next for Recyclodroid

Use of wireless camera, perhaps build my own image classifier, differentiating between different types of recyclables.

Share this project: