Route mapping

I wonder if designing a robot that would be able to make a map of the house would be feasible. Basically, you send it a signal saying 'BEDROOM' and it goes there. I would do the first programming by navigating with a joystick. It would on,y need to know relative data, as it's charging station is on the floor. What it would store would be move 125cm and then 90 degrees and then 398cm and 45 degrees.

I suggest you enroll in this course, just starting up, spot on for your query. https://www.edx.org/course/ethx/ethx-amrx-autonomous-mobile-robots-1342

bushn: I wonder if designing a robot that would be able to make a map of the house would be feasible.

Yes - it's feasible - but it isn't easy.

bushn: Basically, you send it a signal saying 'BEDROOM' and it goes there. I would do the first programming by navigating with a joystick. It would on,y need to know relative data, as it's charging station is on the floor. What it would store would be move 125cm and then 90 degrees and then 398cm and 45 degrees.

And how do you propose to deal with wheel slip? Or obstacles in the way?

Relative navigation and dead reckoning can get you only so far; you (and your robot) will ultimately run into problems in a very short time.

Solutions to the issue vary; for instance, routing can be made simpler via incorporating a line following system (either a physical line drawn throughout the house, or perhaps something more invisible - such as a buried signal wire, or invisible ink/dye lines of some nature); such lines also don't need to be on the floor, either - they can be on the walls, or the ceiling.

You could incorporate barcodes, qr codes, or other forms of fiducial markers to be able to tell orientation and location information to the robot as it enters/exits rooms, hallways, and other areas (of course, this requires some form of machine vision system as well).

You could have active IR beacons in each room, which the robot could look for to know what direction it is facing, and what room it is in (each beacon sends a coded signal to tell the robot information about the beacon and room).

None of this would deal with potential collisions with known or unknown obstacles (a shoe in the way, for instance, or a chair that's been moved, etc). How you would navigate around those would need to be taken into account.

State-of-the-art (mainly research currently) systems don't use these kinds of "tricks", though - they instead use something much more complex and difficult to understand - a range of techniques known as "SLAM" (Simultaneous Localization and Mapping):

http://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping

You would do well to read the PDF shown in the above article entitled "SLAM for Dummies" - it gives a really good overview of the basics of the technique.

Alternatively, there is the course posted earlier by MarkT - I don't know anything about that course, but I did take the following course back in 2012:

https://www.udacity.com/course/cs373

...which was taught by Sebastian Thrun; given his DARPA Grand Challenge winning robots, as well as his work on Google's Self Driving Vehicle - you couldn't ask for a better instructor on this topic. I found the course enlightening and instructive on learning a number of techniques that are often questioned here on these forums, including Kalman Filters and PID - you learn about those techniques, and several others, and by the end of the course incorporate them all into a simple SLAM algorithm to cause a simulated car to navigate a simple maze with obstacles from one location to another while avoiding them - all coded in Python.

I would use my ultrasonic sensor for object avoidance. If my robot is in the kitchen I want it to be able to travel to the front room etc. I like the idea of ir beacons but how am I supposed to implement them? Also, what about GPS?