Robot that seeks out and connects to recharge station

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.

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:

  1. When the battery was low, it would initiate a beeping signal (and go into seek-charger mode), for both the owner's awareness, plus...
  2. ...which activated a receiver to trigger a strobe light on the charging station.
  3. Buster would look for this strobe light, and drive toward it.
  4. 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!

:slight_smile:

I also have a few of those books! I am also interested in this charger station project. I am in the process of building another robot. This will be the first with a micocontroller. It is also my first time using an Arduino. It will also be my first legged robot.

Would it be possible to use 2 microphones on the robot, then use 2 speakers at the station to play 2 different tones. A left side tone, on the left, and a right side tone for the right. That could line the robot up correctly. The station could sit in an unused corner to help even more. As for the "hook" up of the battery, a bumper system seems to be a good bet, with a great design. A low voltage circuit for the batteries on the robot, and a low current circuit for the station should work well too. Then it is a matter of programming.

The main problem I am having is, I would like this robot to be able to walk up the stairs. The thought I am stuck on is, "When the batteries are low, how does the robot know it is upstairs and needs to go downstairs to the charger station."

Maybe some kind of mapping should be done to greatly improve the odds of the robot finding the station. I wonder what would be involved in mapping a 3000 sqft house?

Anyways, good luck.

breagle:
I also have a few of those books! I am also interested in this charger station project. I am in the process of building another robot. This will be the first with a micocontroller. It is also my first time using an Arduino. It will also be my first legged robot.

Would it be possible to use 2 microphones on the robot, then use 2 speakers at the station to play 2 different tones. A left side tone, on the left, and a right side tone for the right. That could line the robot up correctly. The station could sit in an unused corner to help even more. As for the "hook" up of the battery, a bumper system seems to be a good bet, with a great design. A low voltage circuit for the batteries on the robot, and a low current circuit for the station should work well too. Then it is a matter of programming.

That might work if the "tones" were ultrasound, so-as to allow great directionality of the beams...

breagle:
The main problem I am having is, I would like this robot to be able to walk up the stairs. The thought I am stuck on is, "When the batteries are low, how does the robot know it is upstairs and needs to go downstairs to the charger station."

The easiest and likely best solution would be to have a charging station on both floors.

breagle:
Maybe some kind of mapping should be done to greatly improve the odds of the robot finding the station. I wonder what would be involved in mapping a 3000 sqft house?

Depending on what you are trying to do, it could be simple - or it could be very complex:

:slight_smile:

I'd start with an IR homing beacon. You could get a universal IR remote control from walmart for $5 and an IR reciever module from Radio shack and start experimenting.

Just a theory.
Couldn't you get the robot to follow one of the aforementioned beacons towards the recharge station and have lines in front of the station for a precise lineup? This way, you wouldn't have to deal with lines all over your house or the inaccuracies of beacons.

its a more expensive route but a chargeing "pad"(like they have for cell phones) would make a charge connection easier.

I think maybe the bigger the pad, the easier it will be to get the connection. My wife is not thrilled about the idea of lines being anywhere or that would help too. I am leaning towards the stereo echolocation. Or whatever it is called. I am waiting on servos, and then I am gonna get started on sketches.

I honestly would use the old school style. At specified time station make noise, robot "hears" noise via piezo buzzers(I like piezo buzzers cause there easy to use and multifunctional). This style would be as easy a set up as photoresistor "eyes".
Which is some thing you might want to think about, that is use photo resistors or LEDs in reverse bias. Have a solar cell(s) and solar engine circuit, then use the "eyes" to track light and "sleep" when power is low. This is a concept I have done, more in BEAM robotics but it works.

You could use an IR system such as this one : http://www.robot-mobile-irbot.com/borne-rechargement-robot.htm

Your base emits ir light that your robot looks for, when it finds it, it runs to it until it lose it.

Is IR better then ultrasound? I already have ultasound recievers and was thinking of using them.

I think that sounds reflect much more than IR, so your robot could get lost...

When it comes to IR and ultra sound it's kinda a personal preference thing. What I do know about IR and 'sound is; IR has farther distance but narrow field where sound is a shorter distance but bigger view field. So now think about your house... Is it a "open" set up or narrow halls? The right sensor for the right application is key to optimizing what it's intended to do.

IR is also susceptible to interference from sunlight. So if your home is very open to the sun, you may have problems with IR sensors working reliably as well.

Hi!
I make a similar robot...
it is based to a receiver and transmitter
transmitter is a simple wire which have a square wave generated by NE555
and the receiver is a L-C circuit 1mH-22nF ca. 32-33Khz resonating :slight_smile:
the signal is send to a not logic port and it squaring the signals...
excuse me for my bad english....
alessandro