Assignment 3: Fetch Bot
- Yavneeka Patel
- Feb 11, 2015
- 2 min read
The aim of this project was to build a light following robot that would eventually have the ability to "fetch" an object and bring it back to the owner based on the light sources.
Part 1a: design and setup (hardware)
Components:
2 x continuous rotation servo motors
3 x photoresistors
3 x 10k ohm resistors
3 x LEDs (pick the same color)
1 x 200 ohm resistor
1 x Arduino Uno
1 x breadboard
jumper wires
______________________________________________________________________________________________
Design:




The design basically has everything LED on one side of the breadboard and everything Photoresistor on the other. I seperated the two halves with a credit card and my one card to ensure that the light from the LEDs would not throw off my photoresistor readings too badly.
I used the basic setup for photoBot (shown below) with the additional adjustment of placing a photoresistor in the center (not shown in the diagram below).

___________________________________________________________________________________________________________
Part 1b: design (software)
The thought process behind the logic for the movements:
Stop if all photoresistors are receiving the same amount of light.
Forward if light is brighter in the center than in the left and right.
Backwards if the left and right photoresistors are receiving the same amount of light, and this amount is greater than the amount reaching the center photoresistor.
Right turn if there is more light reaching the right photoresistor than the center photoresistor, which in turn receives more light than the left photoresistor.
Left turn if there is more light reaching the left photoresistor than the center photoresistor, which in turn receives more light than the right photoresistor.
Move NorthEast if the center photoresistor and the right photoresistor are receiving the same amount of light, which is greater than the amount of light reaching the left photoresistor.
Move NorthWest if the center photoresistor and the left photoresistor are receiving the same amount of light, which is greater than the amount of light reaching the right photoresistor.
Move SouthEast if the right photoresistor gets more light than the center photoresistor, which is receiving the same amount of light as the left photoresistor.
Move SouthWest if the left photoresistor gets more light than the center photoresistor, which is receiving the same amount of light as the left photoresistor.
Part 2: implementation to determine light status
Video Demonstrating the LEDs:
Part 3: implementation of new movement functions
Video Demonstrating the Movements:
Part 4: putting it all together
What I think is the best take:
Alternative take:
I have additional takes of individual portions of movements working correctly. Please ask if you want to see these. I chose not to include them because I thought it would make the post too long!
Additional Thoughts
Problems:
In a given room, the light is different, so calibrating the sensors was difficult. This made testing hard as well.
Hardware did not always run how it was supposed to.
Backwards motion was difficult because the photosensors were so close together, therefore my logic sometimes did not hold.
Bonding Experience!
Picture of Claire and I coding late at night!
Video of Yada dancing during our robotics break!

Recent Posts
See AllSo we've made it to the very end. Through all the ups and downs and we're all still standing. It was an amazing semester and I made some...
/** *Java Speech Grammar Format (JSGF) file *This file holds all the words that the program will recognize **/...
/* * Copyright 2013 Carnegie Mellon University. * Portions Copyright 2004 Sun Microsystems, Inc. * Portions Copyright 2004 Mitsubishi...
Comments