So in my last post about my new robot companion I wrote about what I was putting together. Now that I have it all together, my next step is to check all the inputs and the outputs to make sure that the connections are, well, connected. Nothing more embarrassing that expecting a motor to turn on and turn clock wise at a given RPM only to find out that a LED turns on, or worse, nothing happens at all.
One of the first things I checked was the wheel gimbals. Yes, I made the robot able to retract its drive wheels. The first question I had to ask myself was why. My answer is, why not? It’s my robot, and I will try if I want to. Let me tell you it took a lot more effort than I thought to get the wheels to move up and down than I initially thought. Not only does it need a reversing circuit, but limit switches to prevent it from over extending itself one way or another. Oh, and it had to be small. Anyway, it works.
The next question after why is when. Sure I did it and it works, but what occasion would call for my little robot to bow down or rise to the occasion? I figure that like most computers the robot would spend a great time asleep. There is no reason why it should be doing anything while I am not around. After all this is a companion robot, not a task orientated robot. It won’t be sweeping the floors, or working an assembly line. It will be serving only one purpose in our household, and that is to entertain me. Oh, and possibly screwing with the cats, but that is essentially the same thing.
I installed a PIR sensor on the robots face. The sensor is a miniature version of the alarm sensors found in security systems, its job is to sense body heat. Oh, PIR stands for Passive InfraRed. This one is set for detecting humans at a range of 15 feet or less.
I tested the system by writing a program to put the robot to sleep if it fails to detect any motion of human beings for four seconds. Then if it does sense a person it has to sense them for a full two seconds before waking up. Here is a video of this working autonomously through the robot controller.
I am not using any remote control, other than just walking into the room.
I guess the next step is to figure out what I want it to do. Part of the fun is the programming but also writing personality. I am thinking about three distinct modes of operation. First is sentry mode, where it simply looks for an excuse to do something, like chase the cat. Second I want an explorer mode, where it attempts to move around without getting into too much trouble. Lastly I would like it to do some drawing. I always enjoyed Spirograph when I was a kid; I bet I can do that one better without the limitations of gears and such.
A robot with a pen, and lots of math…. fun stuff!