Our robot took its first steps today. Now there's a line I never thought I'd write. I read more science fiction than most people, I suspect, but somehow I never really thought I'd own a robot. But I do.
Come to think of it, this baby is our second. Several years ago we bought an iRobot Roomba.
Rommba sucks, but that's a good thing for a vacuum cleaner. In fact, it works very well indeed, and while initially we thought it was kinda expensive, it definitely has earned its keep, wandering around nibbling odds and ends and scarfing down cat hair. When it gets caught under the sofa it bleats, "Oh-oh" a few times, and then patiently goes to sleep until we rescue it. Free to roam, it even heads home to find its docking station when the battery runs low and it needs to literally recharge its batteries.
But the second little bundle of joy came into out lives when my son, in a geneologically confusing sorta way, gave us a brother for Roomba—iRobot Create. We call him Vroomba because of the way he tears around. Here you see a sibling decked in full regalia for a Popular Science contest. But why we call ours Vroomba needs some esplainin'.
To begin with, it took some effort—almost entirely dealing with @#$%^* Microsoft's operating system, but our robot recently took its first steps. I'm a proud Daddy, of course, because everything Vroomba knows, I taught him. At least if you don't count the low level machine language code embedded in his hardware. They're kinda like instincts, programmed in and all.
It took several hours over the last few weeks to figure out some arcane details of his serial COM ports. Setting them to 56700 baud, 8 bits, 1 parity bit, and no flow control was, by comparison, an easy task thanks to telephone modem experience back in Apple ][+ days. (Remember when 1200 baud was fast?)
Then I had to hook up a serial port adapter, which I fortunately had for a telescope, because the interconnect cable that came with it had a 9 pin DIN plug on one end and a standard serial plug on the other. But, of course, the adapter had its own drivers that had to be installed and configured. And of course @#$%* Microsoft did me a big favor and assigned the adapter to port 4, but it needed to be on 9.
Anyway, I finally figured out the solution to that, and then . . . nothing.
The computer and the robot did not play well together. Maybe the robot was deaf and maybe the computer was mute, but the result was they weren't communicating.
So yesterday was a day off, I rummaged around the web, and found a trial version of a commercial software package that tells you everything about what's going over all the COM, USB, BlueTooth, and any other comm links you might have on your computer. I installed it and discovered, guess what, they weren't communicating. Duh. Hell, I knew that.
At the moment I was ready to punch the computer right in the faceplate, the blue screen of death popped up and it died. Voodoo in action?
After a reboot, I cranked up the serial port monitoring program again, and idly typed in the same commands remembering that the definition of insanity is doing something over and over and expecting different results.
But it worked, there was traffic on the line. The message sent was the message received. If only it was so easy in a marriage!
Intoxicated with success, I sent the robot a short command to euphemistically open its eyes (blink a light).
And it did!
I danced the cat around the room in joy.
Casting caution aside, like a scene from a scary movie, I sent a string of commands to get Vroomba's attention, tell it what direction to move, and then sent a command that essentially meant, "Let's roll."
And it did!
Vroom was off!
Poetically, it promptly ran into a huge 1200 page book titled Windows XP Inside and Out that I'd thrown on the floor in disgust. The tome slowed Vroomba up a bit, but he dug in and pushed and pushed. I yelled encouragement, I clapped my hands, and then I needed a towel.
No I didn't wet myself. The robot serial cable dragged my beer off the edge of the table. And the bugger didn't even stop to say he was sorry. He just trudged on, and on, and on. The Energizer bunny personified, er . . . robotified.
But, as Isaac Asimov would have wanted, Vroomba unplugged himself and ground to a halt before he dragged my computer into the next room.
Today? Who knows, we might dance a jig and play music. But I need to keep an eye on him. Don't want Vroomba to catch a virus. His immune system isn't very robust.
Tomorrow? The sands of Mars or the mud of Titan!