The original idea was to make a kind of creepy anteroom in a gallery through which the guests to a reception would have to pass (one at a time) in order to get to the show and the refreshments. Upon entering, each person would be confronted by a cat-sized robotic insect that would advance aggressively to cut off the guest's passage through the room. The bug would approach to within a few feet and make menacing gestures and sounds, but would not actually attack the guest. At this point the guest could respond by calling the bug's bluff, in which case the bug would respond by backing off and continuing to express disapproval, but the guest could proceed through the room to the reception. If, however, the guest hesitated too long or actually retreated, the bug would maintain the approach distance and signal others like itself; which would emerge from concealment and also confront the guest. Finally, should the guest attempt to seize or attack the bug, it would retreat rapidly. Actually laying hands on the bug would result in the bug's defending itself, probably by chemical means (compressed air driven Obsession for Men).
What I actually have so far is an all aluminium six-legged frame driven by 12 servos. The dimensions are 18" long X 11" wide X 7" high. The weight with all batteries, circuit board etc. is 3lbs. 5.1oz. Control of the 12 servos (2 for each leg) is provided by one Microchip Technologies PIC16F84 microcontroller and two external logic chips (CMOS 4017 decade counters). The logic circuits are powered by a 9v battery regulated to 5v by a 78L05 regulator. The servos are powered by a 1500 mAH nicad RC car battery pack at 7.2v.
The setup as of now can walk continuously and avoid objects in front of it for just about 1/2 hour at max speed, which ain't very fast. I have written PIC assembly code for controlling walking forward and reverse,stop and hold, turn in place left,turn in place right, turn on the fly left, turn on the fly right, and a few static postures.
All of it works, but I've unimplemented everything but walk forward and reverse, stop, turn in place right and turn in place left because, while I have some code written for higher functions, the sensory system is limited to the front antennae sensing objects it walks into and an infrared sensor at the front
Of the13 available I-O pins on the PIC16F84 the 5 in PortA will be input from the higher level, giving 32 possible commands for coordinated actions. The 12 servos are controlled by a PWM scheme out of PortB pins 0 and 1. PortB pin2 is used only as a reset output for the 4017s. The other 5 pins in PortB are available for input from the leg position sensors, but I would really love to have 6 so I can close the loop and have real adaptive walking without having to squeeze in a serial routine. But I can't find a 2pin solution that resets the4017s reliably.
I program the microcontrollers using the old Mac IIX with a wonderful little shareware program called MacPIC and a cheapie programmer board by Francis Deck. This is the fourth version of the bug. All the others suffered from either severe mechanical problems or, in the case of version 2, the very powerful linear steppers that I started out with became obsolete when my surplus supplier went out of business. You may be familiar with these little microcontrollers, I don't know. If you have any interest in this stuff or any advice to offer I would really be glad to provide more details or hear your suggestions.
Right now, though, the task at hand is to make sure the mechanical platform is not going to bust right away, tweak the timing and speed, find the optimal battery locations to get the best balance and that kind of stuff. Sooo, the bug actually walks pretty good, but a lot left to do.
As for future improvements, I am currently working on an " eye" with 16 photoresistors. The current version, however, may be too large to successfully mount and control. In the meantime, I have begun construction of the carapace.
[Return to Robot Index]