rangefinder - measure distance with laser

Hi all,

I' like to measure distance but the ultrasonic transceiver is not long range. Someone know how can I make a long rangefinder? I think the only one way is that, if I made a rangefinder with laser on transmitter and receiver ultrasonic sensor.

I think the hardest part of building a laser range finder (LRF) is the sensor that picks up the reflected beam off of the target, with modern MCUs the timing is not much of a problem. The signal reflected back by the target is very small and that is what makes the laser difficult to detect. Most commercial LRFs use an avalanche Avalanche photodiode - Wikipedia photodiode (APD) as the detector. Here http://www.edmundoptics.com/electro-optics/detector-components/avalanche-photodiodes/2646 is a price list of APDs from one of the larger optics vendors and you can see that they are not cheap, manufactures get a huge break when bought in production volumes.

Another option hobbyists have used is to use a visible laser and view the reflection by a video camera and process the imagery and do the geometry to determine the range. I am not at all well versed in this method but I believe it has been posted on this forum.

Not trying to discourage anyone, maybe there are other methods,

wade

thanks,

have you a example of this (with camera)?

John I'd like you to meet Google and Google I would like you to meet Google.

I googled "laser range finder using camera" and found this as the first hit https://sites.google.com/site/todddanko/home/webcam_laser_ranger

I guess my response started out a little smart -aXX'ed but as I have told a lot of younger engineers "If it were not for google I would have to know something" Google and an inquisitive mind may be the most powerful tool available. Google even spells things correctly for me.

wade

Someone know how can I make a long rangefinder?

How you determine "long"? Kilometer, light year?

In general, there are three main ways to create a LIDAR system:

  1. Reflection Trigonometry
  2. Phase-relation comparison
  3. Time-of-flight

Most of the commercial LIDAR systems you see out there use either methods 2 or 3; both are extremely difficult to implement as a hobbyist, requiring very high-speed counters or other interesting/complex circuitry. I barely understand them myself; the phase relation method involves modulating the laser beam, then detecting the reflected beam using a PIN avalanche diode or similar (as mentioned), and comparing the differences in phase relation, which corresponds to the distance. The time-of-flight method is just that: You start a high-speed counter (ghz) when you fire the laser and stop it when you detect the bounce; the faster your counter, the better accuracy you get (because light travels very fast over short distances).

Commercial version of these devices are extremely expensive.

For the hobbyist, that leaves the first option. How this works is that you have a laser and a sensor (a linear CCD or a web camera) set at a certain known distance apart, with both the laser and the sensor-at 90 degrees (perpendicular) to this baseline. When the laser is on, the sensor can "see" the laser dot, but where it perceives the dot horizontally will vary based on the distance to the object it reflects off of. This change in distance, once you know the baseline measurement between the sensor and the laser, can be used to calculate, via some simple trigonometry, the distance to the dot.

Now - of course the Arduino can't read a web camera directly, but a PC can - so there have been homebrew devices built that show you how this is done; this has already been posted.

You could modify this kind of system, though, to use a linear CCD sensor (maybe from an old scanner?). This is essentially what this recently released sensor from Parallax does:

http://www.parallax.com/Store/Sensors/ObjectDetection/tabid/176/ProductID/774/List/0/Default.aspx?SortField=ProductName,ProductName

Also - this kind of "reflection measurement" is done by the Sharp IR sensors (although I don't know if they use a linear array, or if they use a linear photo-sensor). I've wondered if one could "hack" a Sharp IR sensor, and use an IR laser, maybe with some extra lenses or something, and make a cheap laser distance sensor with such a device. Just an idea...

Another option (again homebrew) is this one:

http://letsmakerobots.com/node/2651

It again uses trig to measure the distance, but rather than a CCD, it uses a phototransistor that is fixed, and looks for the "pulse" of the laser (peak value) as it is "scanned" over the area via a motorized mirror scanner; by timing the mirror, one knows the angle of the mirror at the time of the pulse, and then bob's your uncle.

Here's another interesting way to make a low-cost laser rangefinder; again it uses trig - but also uses a camera, and some custom processing of the video image, by a CPLD and some other custom parts, to ultimately get 3D information out:

http://www.seattlerobotics.org/encoder/200110/vision.htm

...probably a bit complex, and I'm not sure such a thing could be ported to the Arduino - but it is interesting.

Finally - look into this option - which isn't cheap, but cheaper than all other 2D laser scanners: The Neato Robotics XV-11 vacuum cleaning robot has a spinning 2D LIDAR sensor that has been hacked (you can google for the various links); you can purchase an XV-11 for about $4-500.00 USD now. Believe me when I say that's the cheapest 2D LIDAR sensor you will find anywhere (think of it as purchasing a sensor that comes with extra robot parts attached). It uses a form of the reflection trigonometry method, but spins the entire module 360 degrees with a motor to scan a 2D circle, outputting the distance measurements.

thanks all,

I'd like to measure distance 150 meter or more.

One of my friends has started playing with the Arduino Uno as part of a project to make a scanning laser range finder. He is using a stepper motor to rotate a time-of-flight LRF that has been built using the DS00 LRF kit from LightWare.co.za. Since he is not an electronics expert, I've put together a shield that fits onto the Arduino Uno (called the Arduino_Laser_01) which will make it easier for him to learn about and use the LRF. This shield has all the electronics from the DS00 kit included and connects to one of the standard optical modules.

If anyone else is interested in a time-of-flight laser range finder shield I will make it available on the LightWare website in the next few weeks. I don't have a price yet but the typical performance is:

Range: >30m
Update rate: >20 readings per second
Resolution: 2cm

If you want to extend the measuring range of this shield to >100m then you can swop the laser for a higher power model and use larger optics. 8)

is it possible to tell me the chip of receiver? and the laser is I put 500mw laser diode I think is good. I'd like to find how much is the cost of receiver

and the laser is I put 500mw laser diode I think is good.

That's a very high power device - what safety measures are you employing?

wwbrown:
with modern MCUs the timing is not much of a problem.

Light travels 18.7 meters in a single arduino clock cycle.

john44:
is it possible to tell me the chip of receiver? and the laser is I put 500mw laser diode I think is good. I'd like to find how much is the cost of receiver

The Arduino_Laser_01 shield uses an avalanche photo diode to detect the return signal. This is then fed into a trans-impedance pre-amplifier followed by a programmable gain post amplifier. Timing is done by a derivative of the DS00VQ100 chip. It uses a pulsed laser with an average power of about 1mW (not like the 500mW CW type which is very dangerous as AWOL so rightly indicates).

I don't have a price for this shield yet. I will post it on the LightWare.co.za website when it's ready.

TRex:

wwbrown:
with modern MCUs the timing is not much of a problem.

Light travels 18.7 meters in a single arduino clock cycle.

Very few laser range finders measure the time-of-flight directly using a processor clock. Instead, they use delay lines, mixers, analog ramps and various other techniques.

Hi Laser Developer!

I am interested in your rangefinder!

Any news on that?

Thanks!

-Phil

Hi Phil,

Yes, the project is finished but I haven't had time to publish it on the website yet. You can see some results and pics on this thread:

http://arduino.cc/forum/index.php/topic,110549.0.html

If you've got ideas for a project or want more info please PM me.

I am new to Arduino and lasers, interested in LRF from quite some time and searching I landed on this valuable thread. Meantime I came across some information on "OptiLogic RS800 Industrial Laser Rangefinder w/ serial RS232 PC interface port OEM" at Opticsplanet. Needs expert advice to use this equipment for LRF implementation using arduino?

nomanshah:
I am new to Arduino and lasers, interested in LRF from quite some time and searching I landed on this valuable thread. Meantime I came across some information on "OptiLogic RS800 Industrial Laser Rangefinder w/ serial RS232 PC interface port OEM" at Opticsplanet. Needs expert advice to use this equipment for LRF implementation using arduino?

RS232 should be easy, the Arduino has a UART built right in to it. You just need the datasheet for the RS8000 to be able to decode the serial data.

Hi,

I'm also very interested in this project. I also want to build a prototype for which I would need to get the range up to 100 (or maybe 150) meters. Do you have any progress that you can share with us?

Thanks,
Ruben

1 Like