Let's Make Robots!

Returning to home base

I have an idea for a robot that would also involve it going to a wall charger when the batteries get low. I have an idea for it to send out an IR signal when the batteries get weak. The signal is received by the charging unit and it turns on a laser light. When the robot roams through the beam it detects it and uses it to align itself with the charging unit.

Does anyone else have any ideas for getting a robot to return to a "home base"? As always I like ideas that are as cheap as possible so they can be easily copied. I know GPS could be used but like I said I like cheap ;) Feel free to discuss ANY idea no matter how absurd. If I use your idea you get nothing but a THANK YOU when I document my robot and a chance to see your idea implemented. Hey we're open source and I'm on a budget!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

This is a site of someone who mde a cleaner robot with a docking station.

 

http://www.schursastrophotography.com/robotics/dockinglogic.html

 

 

 

When I was researching how I would get my robot to charge itself I found this robot.

The castors contact a ground plate and the feelers touch a positive plate on the wall. It can switch the charge current on and off with an IO pin and a few transistors. I think the inductors act like capacitors and just help smooth it out when it switches current on and off.

The iRobot strategy with this is to have a sprung suspension. There are exposed contacts on teh charging base and also on the bottom of the vacuum cleaner. When its juice goes low, it searches for an IR beacon on the charging base (which is emitting all the time at no great cost). When it finds it, it reves up to it and up a slight slope to the dock. Because it's on a sprung suspension, it doesn't lose traction with the ground, but makes electrical contact with the "ground" at the top of the slope.

You may want to have a look at the way WowWee did it with the Rovio. The base is a triangular shape, the mast sticking up in the back has an IR led pointing forward. Rovio's head lifts up to align the 'bot to the dock then backs into place There are little "walls" on the sides that help push the 'bot into the center.

For Charging;

Here's a photo of the base. When the Rovio is fully backed into position the back wheel pushes down on the large button in the center, which raises the two contact posts out of the base. There's a switch inside so the charging posts are not energized when in the down position, only when up.

A photo of Rovio's belly. The two charging posts pop up and contact the two silver squares on the underside of the bot. Some (closed-source) code in the Rovio automatically stops charging when full. Admittedly, it's not always very good at restarting the charge when the batteries die down again.

For Docking;

I already mentioned the base design with the mast. They also have the TrueTrack beacon in the dock. This thing shines a couple IR points on the ceiling. As long as Rovio can see both those dots it can triangulate its position in relation to the charging dock, and auto-navigate home when it needs to (or is asked to).

I know of at least one other person doing a similar thing (without licensing NorthStar from Evolution Robotics). She's got IR reflective, binary encoded dots painted on the ceiling in every room of the house. The 'bot uses a camera looking up, and can always tell which room it's in, and how to get to another specific point from there (with some mapping help).

I'll admit, Rovio's navigation is not really a spectacular performer. It does give some ideas of how to, and how not to, get a 'bot to self dock. I believe with sufficient access to the Rovio's internals the hobbyist community could make the docking/charging/navigating procedures work perfectly. (<rant>in other words, if WowWee would actually abide by the GPL and release the code like they're supposed to</rant>)

 

Disclaimer: The photos are mine from my early review of Rovio for another (WowWee-centric) site.

You can have the robot on while charging and have it monitor the battery charge using an analog input as long as you have a regulator between the battery and everything else.

As for guiding the bot, I was thinking of making it like a slot car but upside down. Have a pin in the charger and a V shaped guide underneath the robot. If your bot is tracking a light source to the charger then it should line up well enough for the guide pin to finish the job.

I thought of something like a funnel to make it line up. A pin is pushed toward a funnel and the bot moves as the pin is pushed to either side to dock in place. So far good ideas! When I actually start building I'll have options which is good because I prefer to repurpose parts instead of running out and buying things.

I have been using this sensor with great results. Take an IR sensor such as the 3-pin 38khz unit used by picaxe and stick it in the end of a narrow tube. I have used 1/4 copper tubing, painted the inside matte black and then squished the non-sensor end down to a narrow vertical slit. Make sure the IR sensor is light-tight and sealed to the end of the tube. Voila, now the IR sensor will only detect a signal coming from directly in front of it. Stick that puppy on a servo and you will now know the direction it is pointing --i.e a bearing. From there it should just be a matter of the sensor finding your charging station straight ahead, a little object-finding code (say, to find each edge and see if it is the right width to then know it is indeed the base) and a regular distance sensor to know how far away.

By the way, skip the whole robot sends out code to turn on laser thing, I would just have the base send out a constant signal -The bot can pick it up if it's code says to. 

One more: The picaxe IR codes include up to 127 different sendable commands... Instead of using distance sensors to "find" the base, I don't see why you couldn't have a beacon on each side of the base that the bot could triangulate on --Shouldn't be that hard to code...

IR bounces everywhere. It would be hard to detect if the IR it is seeing it from the sensor or if it bounced off a wall. Aim your TV remote at the wall and press the power button. You TV likely turned on or off even though the remote isnt pointed at it. When I was playing with IR I had the remote under the table and the picaxe picked up the signal.
...finding your way to the home base doesn't sound too unreasonable (sure I've seen IR beacons for landmarks before); how to you propose to attach to the power supply once you're there, though? For my robot it'd actually be impossible- the battery needs to be unplugged to charge, so even if the robot was dextrous enough to do that itself it'd still die halfway through the procedure! Assuming you have batteries that can be recharged whilst in use (plenty of consumer electronics have that, I suppose) there's still the fiddly business of attaching the charger. I know the roomba vacuum cleaner can do all this though, so a solution certainly exists despite my negativity!

This will be confusing but here is my rough idea that hasn't left the planning stages of my mind:

The charging station has a plate with 2 leads attached that can be pushed forward an inch and retracted by an inch. When charging it is forward. It makes contact with the robot which when charging cuts power to the bot itself. Likely using a relay to accomplish this. When the charger detects that the batteries are full it retracts an inch which breaks the connection to the bot.

The PIC then regains battery power and "reboots" The first thing the robot does when it reboots is to drive backward and roam some more. Thus power is cut at time of charge and the charger disengages itself when batteries are full. The bot would have a similar charging plate that aligns somehow. The challenge is getting them to line up properly with some sort of guide so the two positive terminals align as well as the 2 ground terminals. Similar to sticking a plug in a socket, but when the device is charged the socket withdraws from the plug.

Confused yet because I am ;)