The rangefinder megathread

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?

Expensive. I had access to one for a couple days. It was purely awesome.

It worked well and response was exceptionally fast but at 2400 bucks it was way beyond a hobby bot.

Since then i started looking at things like this http://www.eng.buffalo.edu/ubr/ff03laser.php but have not had the time to invest in it.

The distance sensors i do use are IR,Ultrasonic and Magnetic.

I prefer a combo of IR/Utrasonic in most solutions. Some things absorb sound some things dont reflect light so well.

Magnetic?

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.

Why not use object recognizing camera?
I have experience with the IR sharp and the PING modules.

Because that requires LOTS of processing power.

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.

[/ol]

I almost forgot: you can download a great book on DSP techniques for free at; [url]http://www.dspguide.com/[/url]

I have done object finding with a camera. Like find the red ball and what not. They have cameras that do the processing for you once you program them. This is the one i used to find the red ball.
http://www.parallax.com/Store/Robots/RoboticAccessories/tabid/145/ProductID/29/List/0/Default.aspx?SortField=ProductName,ProductName
It works good but is limited in its scope.
http://cmucam.org/ is what is based on so with coding i am sure it can be expanded on.

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.