|TenaciousA Source Code||63.79 KB|
Tenacious A is one of "twins" -- a pair of hacked Morphibian R/C toys. These can be had for about US$21, are differentially steered, four-wheel drive, with lots of room inside for circuitry, sensors, etc. The are designed to be waterproof, and while I had to remove some of the water proofing to make room for infrared sensors, they are very tough physically and can be handled by kids, can fall off tables, run straight into walls and keep going. We made the subsumption programming very robust; these guys don't get trapped.
My goal with these 'bots was to keep them cheap, cheap, cheap, cheap and also have a matched pair that could run some experiments with our in-house infrared communications protocol. These are esp. useful, because unlike some of the larger 'bots and nests, these puppies must use their IR leds/detectors for obstacle sensing AND tx/rx of IR data. Gets quite tricky "talking with your eyes" and without mistaking IR communication (or interference) for actual obstacles. Last week's tests were great -- Tenacious A communicated clearly, sees obstacles, and rarely sees "ghosts" when "seeing" with his "eyes/ears".
Total cost to build, including the platform itself, was around US$30. Circuitry is pretty simple -- an L293D motor driver and an SX for basic control. A small 5v boost regulator module boosts the 3AA NiMH rechargeables to 5v for the electronics. A whisker contact on the back and a piezo speaker up top round things out. In an effort to save power wherever possible, most circuitry (leds, IR detector, etc) are powered from the SX pins rather than the main rails -- this lets the SX shut down as much as possible when the 'bot "goes to sleep". The Morphibians all have these great white LED headlights -- full PWM with fading is set up for both to make the 'bot expressive.
The small green LED above the left rear wheel is both a "heartbeat" LED and a light detector -- I've become a huge fan of using regular LEDs as light detectors. The light readings are what set overall brightness for the LED headlights, so they only come on in the dark. Quite effective when the 'bot runs from a well lit area to a dark corner, under the couch, etc. Technically, Tenacious B (the twin to the 'bot shown here) is on the bench getting some final touches installed. I'll photograph both of them side by side sometime in the next week. I really wish I had decent video of a lot of this stuff in action, but our video camera gave up the ghost late last year, and our still camera doesn't shoot very clear video (though I've been experimenting and trying to squeeze better quality out of it in this regard).
A .zip archive with my SX firmware and associated libraries is attached to this post.
The jagged hole aft of the batteries allows for inserting an SX key for programming.
The small red PC is a boost regulator circuit (1-4v in, 5v out) picked up online.
Last note -- Tenacious B is much neater in appearance (second time around, y'know). I had much more trouble with the optics on the IR obstacle detectors than I would have thought -- basically this platform is so low that is was quite tricky to place the IR leds and detector so they would reliably see obstacles without reflecting from the floor. Hence the nasty duplicate holes up front where I tried different placements. Oh well.