atatistcheff:
I'm in the process of brainstorming a wheeled robot. It will do the typical trick of driving aimlessly around the floor avoiding objects via IR or ultrasonic sensors. One thing I'd like to do is have the bot seek out and navigate to a charging station after a set time or maybe after the batteries reach a certain discharge level.
I got this idea from a book I had about - sheesh, about 25 years ago. It was called "Build Your Own Working Robot." In fact it's still available on Amazon although it's not in print anymore. I just ordered it even though a lot of the contents aren't going to apply to the Arduino. Anyway I digress...
The question I have is has anyone investigated or even implemented a "return to base" behavior? I'm thinking some sort of line following will be needed to get it aligned with the charging contacts in the base station but we're going to need to get it in the general area since I can't have lines on the floor all over my house.
Any thoughts ore experiences are welcome.
The way Buster was designed to do this in David L. Heiserman's book was the following:
- When the battery was low, it would initiate a beeping signal (and go into seek-charger mode), for both the owner's awareness, plus...
- ...which activated a receiver to trigger a strobe light on the charging station.
- Buster would look for this strobe light, and drive toward it.
- Once inside the charging nest, the charge would occur, Buster would stop, and the beeping/strobe would be shut off (saving everyone's nerves).
In addition there was some bumpers and other tricks done to help Buster get into place, according to Heiserman. I'm not sure how good or accurate the system was; probably OK.
What you could do is replace the beeping with a radio, ultrasonic, or IR light transmitter to initiate the sequence (all have pros and cons), and put an IR filter over a strobe light for the charger signal (or use high-brightness IR LEDs) to home in on. You could mount the seeking "eye" or "camera" (whichever) on a pan/tilt mount to look for the charger signal to help home-in on. You could create a "narrow-beam" IR path to help guide your robot into the charger. You could also attempt to design the charger to make it so that the robot, no matter how "stupid" it is getting there, finds attachment to the charger nearly foolproof (to do this, you may have to think about the design of your robot, in addition to that of the charger).
You might want to pick up Heiserman's other books in his "robotics" series; they are all very interesting, covering all aspects of a form of artificial intelligence that Heiserman termed "Robot Intelligence"/"Machine Intelligence". Since he designed all of this to work with microcomputers of his day (which had about the same processing power as an Arduino), they actually make a perfect fit. I did an interview with Heiserman which you may find interesting; there, on my site, you can find a list of all the other books as well:
Robot Intelligence: An Interview With A Pioneer @ phoenixgarage.org
Good luck with your project!
