Building a vaccuum cleaner involves more responcibility than one can possibly handle. Will it work? Will it try to kill you? Will it fall in love with your lawn mover and run away?
In other words, one needs to stop and think hard. You know, like when a child wants a doggy, and you tell him to get a rock first, to walk it, to feed it; and when, two weeks later, the rock dies of starvation, you tell your kid: "no, see, you are just not ready".
And possibly, running a simulation or two might help.
Let's build a robotic vacuum cleanersimulator, one that can be used to figure out how many sensors it really needs (three) and which room exploring algoritm is better. That's it. Simple?
We are going to build something more or less intelligent, so our robot will need some software. And to test it, we are going to build a computer model, not a big deal in that particular case, but definitely a time saver, when it comes to "real" robotics.
For modeling purposes, we are going to use Java Script. This language is simple and elegant, it is very popular (which means it looks good in your resume), and it is supported by Web browsers, allowing us to put the resulting model online.
The model contains a 3 bedroom / no washroom appartment with some furniture in it. Our robot moves, leaving a clean green floor behind.
As Browsers' Java Script allows it, I have created a panel on the left, where you can edit the code, in case you want to improve the alrorithm (which is by all means far from being perfect).
It is also possible to copy the entire page to your local computer and perform improvements there, using your favourite editor. Please respect my copyright, that's all I am asking.
There are four code snippets for you to explore, with the algorithm being slightly different.
As for the algorithm itself, it is something slightly more advanced than "bump-and-run" strategy, the VC tries to follow walls and to move in spirals.
If you like this site, please consider refering to it in social networks. Good luck :)