All,
In my quest for a cleaner house, I am building a mopping robot. I find that if my innovations make my wife's life easier, she is more likely to concur with financial outlays so this is the most recent project.
My idea is to use a swiffer mop, put it on the front intstead of wheels and have the robot run around ala the iRobot cleaning bot (Scooba I think is the model). My plan is not to have it be random in its cleaning but to go around obstacles, maintain a pattern like you would if you were mowing a lawn with overlap on each round to do a thorough cleaning, etc. I plan on using a WaveFront algorithm for the implementation.
So, to do that I need to know where it is and keep track of it in relation to where it started. I plan on using "dead reckoning" or calculate my position always from the beginning point based on direction and how far I have gone. I may later add in other navigation aids such as a compass, gps, hotspot with IR which I can use to triangulate position etc, but want to start with dead reckoning since it might be accurate enough if I can get the resolution I need. It appears that I need Wheel encoders with millimeter accuracy that can work in a dirty environment could be the solution, but there might be other ideas I hadn't thought of.
Sparkfun has a pretty good collection of different encoders. There is a solution that is $35/wheel which would work. They also have rotary encoders with a 1200 ppr which would work as well for $40/wheel. They also have rotary encoders for $4 (now we are talking!) but has a resolution of 24 ppr so resolution would not be accurate enough.
I had thought of possibly buying the $4 rotary encoder and mounting it with a 1/2" wheel. I would then have this mount horizontal to the actual 3.5" drive wheels so the 1/2" wheel would rub on the sidewalls. This would give me an accuracy of under 2 mm if I could keep constant contact with the wheel sidewalls which would probably be close enough (I probably could with a spring setup to keep it on it at all times. It will be touchy and take some fabrication to perfect but not terrible to do). The rotary encoder is panel mountable so with some silicon, I think I could control dirt and moisture getting to it.
Have I missed any solutions? Is my approach flawed? What have others done that has worked to solve this type of problem?
Regards,
Bill