Levy_Dorian_A 22KB Apr 22 2014 06:34:40 AM

advertisement
Litterbug
By Dorian Levy
IMDL Spring 2014
Table of Contents
Abstract
2
Introduction
3
Main Body
4
Behaviors
6
Experimental Layout and Results
7
Conclusion
8
Code
9
1
Abstract
Litter can be a major problem, especially on college campuses where there are 50,000 students
eating, drinking, and in many cases living. Picking up trash is vital to campus cleanliness, but
equally important is getting non trash recyclables into the appropriate collection areas. For my
project I am planning to build a robot that looks for trash, then decides if it is recyclable or not
and places in the corresponding area. I will call it the Litterbug.
The Litterbug will use a Beaglebone Black processor, sharp IR sensors, a webcam, bump
switches, and a pressure sensor. Using two sets of IR proximity sensors, one for collision
detection and one to determine if an object is within range, it will find objects to discard. It will
then use the camera to determine if it is a bottle or can, pick up the can, and place in one of
two designated areas.
2
Introduction
For my project I am planning to build the Litterbug, an autonomous robot that drives around
looking for trash to pick up. Because environment awareness is important, we should be
recycling whenever possible and this should apply to any processes we develop including trash
collecting robots.
This robot will be a recycling robot. It will drive around looking for plastic bottles to pick up and
recycle. Since the robot acts as a vehicle and drives it will have obstacle avoidance. Two sharp
IR proximity sensors located toward the outer edges of the front, near the wheels, will be able
to sense when the vehicle is too close to something, and will alert the vehicle to change course.
3
Main Body
Integrated System
The system will use two angled IR sensors located at the out edges of the robot near the
wheels to detect objects to avoid. A webcam will take pictures and send them to the
Beaglebone Black to be processed. Using OpenCV the processor will determine if a bottle is in
the picture
Mobile Platform
The mobile platform consists of an 8” x 12” frame with two 4.5” wheels, one located at
the center of each side. The wheels are placed at the center to allow for turning in place,
needed to drop off an object that has been picked up. There are also two castors, one front and
one rear for balance. Three long range IR sensors are located at the front of the platform. Two
for obstacle avoidance and one to determine if the object to be picked up the proper distance
from the claw. A well at the center contains the battery, processor and auxiliary components.
They are concealed by a cover that forms the top of the robot and allows for mounting of the
webcam.
Actuation
The robot is powered by two 25mm motors with 34:1 gear ratio, 4mm axles, and Hall
Effect wheel encoders. The motors turn two 4.5” wheels, one located at the center of each side.
If the outer IR sensors or the bump switches detect an object to be avoided the motors will
respond accordingly. If there is nothing within range of the sensors and no object to be picked
up the robot will drive forward to look for objects. . A small servo motor with two plastic gears
will operate the claw mounted front and center used to pick up objects. A small pressure sensor
is mounted in the claw to alert an object has been picked up.
Sensors
IR Sensors - Sharp GP2Y0A02, a long-range optical distance sensor we carry, featuring a
detection range of 8″ to 60″ (20 cm to 150 cm).
Webcam – The webcam is used to find plastic bottles. It does so by using cascade
training. 300 pictures of plastic bottles were taken, cropped, and their size documented
into an info file. OpenCV createsamples was then used to create a vector of positive
samlple. What this does is convert them to grayscale and resize them all to the same
size. Then 1000 negative pictures were downloaded from the internet. These photos
were looked through one at a time to make sure nothing resembling a plastic bottle was
in any of them. Once the positive and negative set were ready the OpenCV traincascade
function could be done. Through some trial and error 12 stages of training were
4
determined to have the highest positive rate and lowest false negative rate. The training
creates an xml file that is used in the cascade recognition function.
Pressure Sensor - This force-sensing resistor (FSR) from Interlink Electronics is a passive
component that exhibits a decrease in resistance when there is an increase in the force
applied to the circular active area (0.5"/12.7mm diameter), allowing you to create a
sensor that is able to detect force or pressure.
5
Behaviors
The litterbug takes a picture with it’s webcam and determines if there is a bottle in the
picture. If there isn’t, it turns 8 degrees and repeats. It does this until it finds a bottle or
completes a 360 degree turn. If no bottle is found it will drive a distance and repeat the search
process. It will avoid obstacles while driving. If a bottle is found, it will stop take another picture
and determine if the bottle is left of center, right of center, or on center. It will turn slightly to
try to center the bottle. This process also eliminates false positives because it needs to find the
bottle in three straight images to proceed. Once the bottle is lined up center the robot will drive
slowly towards it until the center proximity sensor determines it is in range for the claw. The
claw then closes on the bottle. A pressure sensor is in the claw to make sure the bottle is
grabbed. If the sensor is not triggered, the robot drives forward a short distance and try again.
If there is still no bottle in the claw, the robot will go back into search mode. If there is a bottle
in the claw, the camera will turn 180 degrees allowing the robot to drive in reverse to the drop
off location.
6
Experimental Layout and Results
At this point the robot is able to detect obstacles and react accordingly. The robot is
able to detect plastic bottles of different varieties. At first it was unable to pick them up
because the IR sensor beam was too narrow. I switched to an ultrasonic sensor and got much
better results. There is still a slight issue with the sensor being off center due to the claw servo,
causing bottles in the left claw to be pushed before being picked up and bottles on the right
claw sometimes closing early, but this is mostly taken care of with the pressure sensor.
7
Conclusion
At the time of writing this report the robot finds bottles and picks them up. The robot is
self-contained and operates all under its own power. It is not fully functioning yet because it
does not drop the bottles off yet, but it does find bottles of different kinds and is able to drive
up to them and grab them. I chose a project that was quite difficult for me, but learned a great
deal about robots and embedded systems, which was my goal for this class. I am hoping to have
more functionality by media day Wednesday.
8
9
Download