This is the first robot that I
built. It is called a Boe-Bot. It is a very easy to build little robot kit that
comes with a great introduction to the Basic Stamp microcontroller. I highly
recommend that anyone interested in robotics buy one. After you complete the
large manual of fun experiments and little projects you can always add-on with
custom parts. As you can see, my Boe-Bot is not standard in the least, I
actually have another idea or two to add-on but after about 500 lines of code,
my microcontrollers memory is full. That is one of the few disadvantages of the
Basic Stamp, there is not a lot of room for programs.
The add-ons I incorporated into
my robot are the following:
RF receiver with a transmitter connected through
another BS2 to my computer
Ultrasound distance sensor mounted on a servo
Three line sensors
“Sticky Tires” mounted on the servo wheels since the
rubber bands they supply die after a while
Infrared remote control paired with a receiver on the
robot.
IR proximity sensors mounted on the front corners of
the robot
7.2v rechargeable battery.
The way my Boe-Bot is set up is
with a series of switches. Depending on how the switches are flipped, it
changes the program. There are a total of 6 programs, so here is a summary of
what each of them does.
1. Line following – Just like the
name implies, this is a line following program. What makes this line following
special is it samples the conditions of the line, and the surrounding area
before it starts. This allows the robot to work on all different types of line:
Dark on light, light on dark, or even dark on a darker surface.
2. Infrared remote controlled – Using
a simple universal remote control (programmed to work with a Sony TV) you can
drive the robot. Using the 1-9 buttons on the remote, the robot moves in all
directions. It is also programmed so when you use the volume buttons the
ultrasound sensor will turn left and right.
3. Autonomous navigation – Using
the ultrasound sensor, and the IR sensors, the robot can avoid objects. The
ultrasound sensor is always looking forward until something gets to close. It
then does a 180 degree scan, determines the best path to take, and turns that
way. Meanwhile, if one of the IR sensors picks up something, the robot will
turn away from it.
4. Autonomous navigation without
the IR sensors – This has the same base program as the other autonomous
navigation program, but with out the IR sensors. To pick up the slack of the IR
sensors, the ultrasound sensor now does a 90 degree scan while traveling. If
something gets into its path it does its 180 degree scan, determines the best
path to take, and turns that way.
5. Object Following – Using the
IR sensors on the corners, this is a very simple program. By placing an object
like a piece of paper or a hand in front of robot, it will turn towards the
object. It will even run towards the object if it is too far away, and back up
if it is too close.
6. Wireless RF controlled – I
wrote a simple visual basic program to talk to the robot. This program allows
the robot to go forward, backwards, turn, and even look around and center the
ultrasound sensor. My computer is connected to a small board containing a BS2
and an RF transmitter. All it does is relay the information between my computer
and the robot. Before I bought the RF transmitter and receiver, I actually had
the program allow the user to drive the robot around and take distance samples
from the robot. The only draw back was the robot had to be connected to the
computer via a serial cable.
I later entered this robot in the line following competition
for the Robotics Club at The University of Pittsburgh in the fall of 2007. It
won Second place.
If you would like to learn more,
don’t hesitate to ask. Here is a video of my robot in action.
Update: November 9, 2009
I installed a CMUCam3 from work onto my boebot. I wrote a quick program to track brightly colored objects, in order to keep them in the middle of the screen. I also wrote a program for line following but it has problems with shadows and changing light conditions. Below is a picture of my setup as well as a video of the object follower program.