Mike's |
||||||||||||||||||||||||||
|
Flamebot
v2.0
Flamebot is one of my coolest robots.
It was designed to participate in the 2001 WCRG Fire Fighting robot
competition. In the contest, the robot must, by
itself, seek out a candle in the "maze" and extinguish it. My
bot did it in a record 20 seconds! Of course, the 2002 event was a
different story... more on that later! During that event, my sensors
were overcome by the bright ambient light and caused Flamebot to try and put
out the sun instead of the candle! ;-) If you have any questions as all
or would like to view the code, by all means please e-mail me!
Sensors
The object and line sensors all
operate on the same principle. First, a pulse of modulated Infrared (IR)
light is sent out from the LED portion of the sensor. This light will
reflect off of any objects which are not black or really dark in colour.
The second part of the sensor is the 3 lead square shape with
a dome on the front. This is the Panasonic 4062 IR reciever. The
4062 has a filter on it so it only responds to light modulated at
38khz. This means it is not affected by ambient light near the same wavelength.
When it recieves IR light, it's output pin goes low. The Basic Stamp detects this and
then conducts the appropriate operation.
The line sensor operates on the principle that white
will reflect IR while black will not. Since the floor of the WCRG maze
is black with white lines painted at the entrance to each room, the bot can tell
when it enters a room.
The flame sensors are simply two
phototransistors run through the analog to digital convertor. A voltage
between 0 and 6 volts into the ADC shows up as a number between 0 and 1024
in the microcontroller. The brighter the light/flame, the higher the
number. A comparison to the static value with room lighting and the
dynamic value when a flame
is present allows a accurate determination of the location
of the flame when the room is artificially lit. When it is sunlit as
it was in the 2002 WCRG, the sensors go bonkers. This is something I plan to
fix by the 2003 WCRG.
Navigation
Flamebot is primarily a wall follower with some dead
reckoning built in. It will follow either the left or right wall as
selected with a switch. Once it enters a room, it switches to dead reckoning.
That means it will go x feet forward, turn, etc all from memory instead
of relying on sensory input. Once it searches a room, it leaves and then returns to
it's previous wall following state.
Extinguisher
When I was building flamebot, the
heater coil in my Mom's hairblower died. Instead of offering to fix it
(I'm bad....) I asked if I could have it instead. Well, now that the
heating coil and much of the plastic and extra electronics are removed, I
have a very effective extinguisher capable of extinguishing the flame
almost immediately from when it is spotted. It is powered by 2 nine volt
batteries in series. Normally this wouldn't be a very good idea due to the
high current draw from the motor in the hairblower. But because of the low
duty cycle (on time) I decided it would be okay. After all, it is only on
for a maximum of
5 seconds every run.
Motors and
Wheels
The motors are modified hobby servos
with the mechanical stops removed and the trimpot disconnected from the
shaft. The wheels are custom made from a wood/carboard sandwhich material.
The rubber bands were crazy glued to the rims to provide a bit of
traction. I used to use the standard BOE bot wheels, but I decided the
best way to increase the speed of Flamebot was to increase the diameter of
the wheels. It worked
quite well, Flamebot flys!
What's next?
Flamebot has been a great success and
learning experience for me. I plan to improve it's flame sensors so it
doesn't fail next year! Also, I plan to clean up the breadboard and object
sensors. In the messy state it is now, Flamebot often shorts out because
the leads on the object sensors touch. I plan to put the sensors on a PCB
from the Solarbotics Bicore experimenter's kit. (which I coincidentally
won
at the 2002 games!)
|