I'm working on a design for a something to impress and entertain my niece Caroline, who has recently gotten involved with robots. Caroline is eleven; my impression is that she hasn't done any ground-up robot construction, but she does seem to have enjoyed a Lego-based program at her school.
So... I have an old Radio Shack "Street Quake" R/C truck I've dug out of my collection of thrift-store $2 specials, and I'm wondering how I can come up with "something" that is:
- Interesting and/or amusing to an eleven-year-old, - Autonomous, and - Cheap.
My first thought was a simple "wandering truck" that would occasionally go to sleep, then wake up, and wander some more. Its main goals would be to (a) move randomly so it looked like it was exploring and (b) not run into too many walls.
Then I discovered Bert Van Dam's 'web site and read his article on "Tom", a Subsumption-based robot that "chased" things, and things started falling into place. Here's what I hope I'll be able to make this truck do:
1) Wander about exploring and not cause too much damage. 2) Find a dark place and hide ("sleep") for a while. 3) Chase moving objects (based on distance) 4) "Play" with humans (and possibly dogs and cats) by moving toward them, following if they move away, and running away if they come close.("Tom" has a rather full array of sensors, but I'm hoping I can get similar results with fewer, and a smaller investment.)
Well, after several days exploring odd places on the 'web, I haven't been able to come up with a simple, clear, and inexpensive way to tell if my robot is facing a warm-blooded creature. I've looked at E-fields, radiometers, thermopiles, pyrometers, and all sorts of noncontact temperature measuring devices with prices from $40 to $500 (I even looked into a gadget called a capaciflector); the best I've been able to come up with is sticking a pair of Fresnel-domed PIR motion detectors on the front of the truck. (Panasonic/ Matsushita's 'MP' series have some really nice features, but they're in the $30-$45 range).
I could do worse: somewhere in my collection is my father's Garden Frog which croaks when it "detects people", apparently by rapid changes in the intensity of light falling on it (think "CdS photoresistor"), but even that involves detecting motion. I'm curious as to whether anyone can suggest another approach. Detecting the presence of humans (e.g. "occupancy") seems to still be an Interesting Problem; I've seen USENET newsgroup discussions on the topic as far back as 1997.
The PIR approach has some problems. First, because it detects changes in temperature, it can't detect a nonmoving human. Second, it's not much help in determining range, and third, even when motion is present I'm not sure I can tell which direction the human is moving. How about a $10 noncontact ranging IR thermometer? "There's a 98.6 degF object 2.64 meters away" would be really nice, since I could use the range measurement to "chase" or "avoid".
Since I'm still at the GedankenRobot stage (the point where many of my best creations seem to get stuck) it's not hard to change my design. Any suggestions will be welcomed.
- * *
A note on the R/C truck. I wan't thrilled with having to cobble up an L293D/PWM arrangement, but it looks like I can re-use the trucks existing -- and designed exactly for the motors and batteries -- drive electronics. This is one of many _many_ R/C and IR/C vehicles built around the Realtek TX2/RX2 and TX2C/RX2C chipsets, and it _looks_ like all I'll have to do is desolder the chip and solder in a 16-pin header for a cable.
Tracing a PC board to build some idea of its circuit is a long, tedious project (I've done it a few times, but it's never fun); it's simpler to throw the whole assembly away and start again. Even worse, you have to do it again for the next R/C vehicle. On the other hand, patching into the circuit through _known_ points (the RX2 pins) is not only straightforward but it's a _reusable_ technique. In fact, if I had the companion TX2 board, I could control the truck from _it_ and connect it to the RX2 board with a two-wire cable.
Will an AVR output pin properly drive the transistors controlling the L/R steering motor and the drive motor? Guess I'll find out, but even the _thought_ of accomplishing that kind of re-use warms my auld Scots heart.
- * *
If anyone's curious, here are a few pointers to some of the items I've mentioned:
Bert Van Dam's 'web site
Discussion thread on finding Fresnel lenses
Enjoy...
Frank McKenney, McKenney Associates Richmond, Virginia / (804) 320-4887 Munged E-mail: frank uscore mckenney ayut minds pring dawt cahm (y'all)
-- Copper wire was invented when two Scotsmen found the same penny.
--