RobotBox is a community for robot builders to show off their projects. Add yours today.
Building a Scanning Laser Rangefinder
I've been thinking a lot lately about building a scanning laser rangefinder (some people call these LIDARs). The problem is that such systems are very expensive - we're talking anywhere from $2,500 to $10,000 (acutally it looks like Hokuyo has a laser rangefinder for $1200). There's all sorts of neat innovations, like Mesa Engineering's 3D rangefinder camera (which is $10k), but there seems to be very little innovation on bringing the cost of these systems down to a hobbiest or experimenter level. Perhaps Neato Robotic's 2D scanning laser rangefinder will be accessible, but they don't appear to be willing to sell it apart from their robot (which is $400).
So, the question is, how hard would it be to build a scanning laser system for under $500?

I started puttering around looking at various components and ways of designing such a system. Part of the difficulty is that if you measure the time-of-flight (TOF), or the time it takes for a laser pulse to go out to the target and back, you need a very fast digitizer - light travels ~1ft/ns (or 1 billion feet in 1 second). Since you're measuring out and back distance, you can cut the tolerance in half, but that's still a huge problem. Another option is to modulate the light with a RF sinusoid (say, 10 MHz), then look at the phase difference between the outgoing and received light. At 10 MHz, the wavelength is c/f, or (3e8 m/s)/(10e6 1/s) = 30 meters. This is a better option from a speed point-of-view, but it has the troubling problem of phase ambiguity (i.e. how do you know if the light traveled 1 wavelength, or 2, etc., since it's a sinusoid that repeats). You also have to balance the sensitivity of your measurement system vs. the maximum distance you can measure.

A third option is to set up an oscillator that toggles every time the pulse is received - turn on the laser, turn off the laser when the return pulse is seen, turn on the laser when the return pulse stops, repeat) - then measure the oscillating frequency to extrapolate the time-of-flight. There's a working setup and schematic for this system on this Sparkfun forum thread. The difficulty here is that the laser ends up having a high duty cycle and can have issues with eye safety.
I finally contacted Maxim IC looking for some parts to try a phase-based time of flight measurement (option 2 above). I ended up chatting with one of their design engineers who told me they were working on a reference design for a TOF-based hand-held rangefinder (a "digital tapemeasure", like the kind you can buy at a home improvement store). They just sent me a rough draft of the reference design paper, and are shipping me a loaner unit to test. Cool!
The design from Maxim uses a unique (to me) approach of indirectly measuring the time-of-flight of the pulse. At the signal to start the outgoing pulse, two RC charging circuits are started, once the pulse is emitted the first charge circuit is stopped. This is your reference. Once the return pulse is detected, the second charge circuit is stopped. This process is then repeated several times to average the data and get a better signal-to-noise ratio. Once a sufficient number of measurements are taken, the voltage difference between the two capacitors is measured. This voltage measurement is proportional to the total time-of-flight of the laser and can easily be converted to a distance measurement! Neat, huh?
So, based on this design, a rotating mirror assembly, and some control circuitry, I think it's possible to build a useful scanning rangefinder at an affordable price. Stay tuned for developments.
- gallamine's blog
- Login or register to post comments
Recent comments
- hahaha thank you! I'm new on
5 weeks 4 days ago - Good stuff!
Back in high
5 weeks 4 days ago - Thank you for the link,the
7 weeks 20 hours ago - great,man!
8 weeks 4 days ago - brilliant, have you ever
9 weeks 1 day ago - very good project,
11 weeks 19 hours ago - me too haha, awesome project!
11 weeks 19 hours ago - very interesting man! do you
11 weeks 19 hours ago - very nice robot! do used an
11 weeks 20 hours ago - awesome :D
11 weeks 20 hours ago


Comments
I was wondering how this was
I was wondering how this was progressing. Also if there is anything I could do to help? I think this would be a great project to share with the rest of the robotics world.
Actually, things haven't
Actually, things haven't progressed too much. There are two pressing things:
1) I need to calculate if it's possible to make this eye-safe. If you're good with math, then I can send you some information on this calculation.
2) I need to take the schematic from the Maxim documentation and do a board layout. The demo unit they sent me doesn't have any points that are easily read from a microcontroller to get the distance.
I'll welcome any help :)
Very cool indeed! I look
Very cool indeed! I look forward to reading about your results.