Just got my robot rolling around for the first time using the Sharp GP2Y0A21YK0F mounted on a servo which sweeps 110 degrees. If it detects something close it stops and backs up. The thresholds is 1.1 volts. It works most of the time but alot of the times, when nothing in front if it, it stops and backs up. Thinking that one reading may be off, I now take 10 readings and find the average and then decide what to do. I also added some caps across the power supply for noise reduction. But it still seems to now and then gives me a false detection.
So I was thinking about removing from the servo which is mounted on the top center and mounting two Sharp IR units at the top two corners and mounting a sonar ranger on the servo and use it to sweep instead of the IR unit. I haven't played with the sonar unit yet but from what I have read, you need to average its readings too.
Lastly, wheels and legs on chairs are bad as the sensor can't detect so I was planning on adding an IR sensor below the robot to catch things like chair wheels and anything else that is only a few inches high.
Photos of the robot are at:
http://www.joecool.org/arty_the_robot.htmP.S. Looking at the spec sheet, it looks like one can not take a new reading quicker than about every 55 ms. So I need to ensure I am waiting enough time before taking readings.