The goal is to have the robot completely autonomous, so no beacons or markers on the ceiling, although I like the idea of the charging station having a beacon so help locate it. The station might also have a wireless link to the robot (not sure if it's useful enough to include). Memory shouldn't be problem as the robot will have an SD card. Also, the control board is going to be custom, so I'm not limited to regular arduino hardware. I think a Raspberry Pi is overkill for this, and it'll probably be so easy to implement with one that it wouldn't be any fun to build!
zoomkat:
Just have it map the charging station before it starts to roam, then just have it return to that part of the map it made.
But how will it map the area and follow the map it it doesn't know how far it's moving? Or am I misunderstanding something?
The robot will have a pivoting ultrasonic sensor to determine how far away things are. If it could accurately determine its rotation, it could travel in a zig-zag pattern in hallways (and zig-zag to and from a wall in an empty room) so that there is always something moving in view of the sensor. Then, with some math I could figure out the total distance traveled down the hallway/along the wall. A compass IC would be best suited for getting rotation, right?