Alright guys, there’s been a TON of robots popping up ot the site just recently, and one thing that they all have in common (other than FEZ, that is 8)) is that they all have some sort of rangefinder system.
So, I figured, why not start a rangefinder thread?
I’ll start the thread off with a question: Has anyone here ever played with laser rangefinders?
Yeah a more powerful version if the small metal detector sold here. Used for metal type area of course.
Reason to use IR
You do not care about incredibly accurate ranging
The sensor will not be used outside in the sun or you can compensate for bad/bright lighting.
You need a narrow beam width and care about a reflection at set distances.
You wont have dark colored objects around.
Reasons to use Sonic
You need accurate wide range of distances of obstacles, no matter what color they are
The robot will not encounter sound absorbing materials as obstacles like sponges or shag carpets on your walls.
You will be using the ultrasonic sensor inside or outside
Non constant use. So you can filter out ghost signals that bounce.
it wont be windy :>
Reason to use BOTH.
If you look at the list closely they can cover each other in most situations.
Ultra sonics and IR have ranges they can be used. many models exist for each of them using the right models for the application is key. Buying a ultra sonic that can detect 30 feet out is all fin and good but if you can correct your self in 6 inches it useless to spend that money. Buying IR range finder the goes out to 30 inches and down to 15 inches means you are blind if you turn into something that is less then a foot away.
One thing you should consider no matter what type of sensor your using are ways to filter the data to make useful information from it. For both IR and US sensors you can wind up getting lots of ‘noise’ mixed in with good data. Doing a lot of really fancy DSP methods may not work well on a platform like NETMF (that is the reason they have dedicated chip architectures for that sort of stuff.)
There are some simpler things you can do to sort out bogus readings though.
[ol]
Sample at least twice as fast as you really need the data.
Consider the rate of change (slope) between two data points. For a range sensor it does not make sense for it to read 10cm and then 1000cm if there is no way your device can move that fast.
Look out for outliers: if the range data you expect to get back is between values X and Y then any reading outside that range is nonsense.
Do an easy/fast statistical analysis of the data. You could do a mean, a running average, etc.
I have started to play with roborealm on a team project with the dprg. It moves the camera processing to a computer that sends data to the robot in response. As i use it more i can provide some feedback. We are intending to do complete room mapping recognize furniture and what not.