Well, I've actually thought it "What If?" and thought would be pretty cool to make a real cleaning MO bot.
If you're intrested I am working on a turf cutting robot for quite some time now ( as often as I got the spare money ).
Here is a blueprint for an engine control you can use with small DC motors:
http://www.typologycentral.com/forums/nt-rationale/10421-your-daily-invention-5.html#post431473
It's working pretty good so far, I now need mechanical parts to build my design for the robot and since they are very expensive on the miniature basis I somewhat got distracted from my project into the new one to build a cnc mill. I am currently working on that, therefore my turf cutting project is put to rest for the moment.
For navigation: if you are intrested the 2 major ways to realize a navigation are, like you said a camera that does recognize colors and the other way is GPS. The colors thing most of the times needs a prepainted path what sucks, nevertheless the camera could be adjusted to identify certain underground. You do then require collision sensors, those are electrical contacts mounted on a spring that conduct voltage when the spring is pressed down and the bot notices a collision. That way you can let it map a room on its own thru trial and error and after an initial phase he will clean the room on a preprogrammed path.
The other thing is GPS. That's the most easiest way to programm it, but its imprecise, cause there is a time lag between sender and receiver (satelitte in orbit). You cant build a turf cutting robot with that if you dont want it to end in the pond.
Therefore there is one more cool thing to do, but it requires a very advanced knowledge of electronics. You build an induction coil field. That means you lay out a square of not to strongly isolated copper wire in your garden. Then you mount a coil on the robot, which will need some Volts. Then you create, by letting a current flow thru the copper wire, an electric field the coil moves in and that way the bot can measure its excat position anytime no matter where he is. With some mathematics you can devise a coordinate system for the bot and set it up with a premapped map so it doesnt go pond diving

.
I tho havent looked deeper into the induction coil thing yet. The next thing on my list will be the cnc mill, cause I can earn some money with the parts I built with that real quickly.