Time of Flight Laser Project

12346

Comments

  • prof_brainoprof_braino Posts: 4,312
    edited 2011-10-23 - 23:16:34
    The signals travel in a zig-zag pattern between the boards so that stacking can continue indefinitely. ... The yellow row along the bottom edge is test points connected to the DS00VQ100 chip so that real time and expanded signals can be seen on an oscilloscope.

    That's a very good design. Very handy.
    I almost blew up the high voltage power supply during this test. I had forgotted that it was connected to a pin on the chip and it starting creating hundreds of volts as soon as the test design started running

    What were you saying about being "surrounded by blackened fields..."???
    high voltage generator for the APD bias. It easily reaches 200V DC and it will go well over 250V ... 150V DC the HV generator draws less than 10mA at 5V input. This efficiency is partly because the circuit uses a high quality inductor - always a good idea with a switch mode power supply.

    So, just how dangerous is this going to be? Is it "ouch" dangerous or "He's dead, Jim" dangerous? :)

    I don't know about the rest of the readers, but I don't think I would have had an opportunity to get involved with this technology were it not for this discussion.
    Thanks again for sharing with us.
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-10-24 - 00:33:14
    Catalina is RossH's C compiler for the prop. It might be interesting to see if the same C code ports over.

    The Arduino "C/C++" won't port directly to another C compiler, minor changes will be needed. However, the program doesn't use the interrupts on the Arduino so the structure should stay the same if used on a single cog in the Prop.
    So, just how dangerous is this going to be?

    Any high voltages are dangerous so I suggest that users don't handle the boards while the LRF is running. However, the HV supply can't deliver much current, <2 mA @ 150V. Information about dangerous current levels can be found here: http://www.physics.ohio-state.edu/~p616/safety/fatal_current.html
    Detect and measure
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-10-24 - 05:59:58
    Timer Module - update

    It's time but not as we know it...

    Previously we discussed the use of a "beat-frequency" to establish the expanded timebase of a repetitive signal. These beats are created by mixing the signal of interest with a local oscillator. The frequency of the local oscillator is very close to that of the main oscillator that controls the firing of the laser.

    In the earlier description it was assumed that the local oscillator was running at lower frequency than the main oscillator, giving a positive sign to the "mixed" or "downconverted" signal. You can think of this as meaning that the downconverted signal has a rotating phase vector that is turning in the clockwise direction.

    But what happens if the local oscillator is running at a higher frequency than the main oscillator? In this case we can view the downconverted signal as having a phase vector that is running anti-clockwise - it's a "negative frequency".

    This reversal in direction of the phase vector equates to the "time expanded" signal appearing reversed when viewed on the time axis. This means that if event B occurred after event A in real time, it will look as though event B occurs before event A on the time expanded axis.

    Apart from the fact that it's just such fun to mess around with time reversed signals, there is a practical use for this process. It makes it possible for a simple start/stop timer to measure the last signal in a train of pulses just as easily as measuring the first. All you do is use forward time expansion for "first return timing" and reverse time expansion for "last return timing."

    The DS00VQ100 chip handles the control of the oscillators in both forward and reverse time expansion modes. In order to signify which mode is active on any given reading a sign is attached to the Span value. If you remember, the Span is a count that represents the total range of measurement. The distance to a target is given by the equation:

    Distance to target [m] = range[m] x distance to target [counts] / Span [counts].

    The resolution of the time expanded signal is:

    Resolution [m] = range [m] / Span.

    If you want to use your own timer to work out distances then the time expansion sign is also available as a separate flag.


    Below is a graph take directly from the prototype LRF:

    Span graph.jpg


    The horizontal axis is the value fed into an 8 bit DAC that controls the frequency of the local oscillator. There is a similar DAC controlling the main oscillator but this is fixed at the mid point of 128. When the local oscillator DAC is below 128, the local oscillator is running faster than the main oscillator. When the local oscillator DAC is above 128 then the local oscillator is running slower that the main oscillator. This may sound the wrong way around but the circuit is designed this way for other reasons.

    The vertical axis shows the Span reading in counts. You can see that when the the local oscillator DAC is near zero, the Span is small and negative (low resolution, time reversed). As the DAC voltage climbs, the Span gets increasingly bigger in the negative direction (high resolution, time reversed). At a DAC value of 128 the local oscillator and the main oscillator are at the same frequency and the Span heads towards minus infinity.

    This is the point at which the local oscillator is at the same frequency as the main oscillator. The beat frequency becomes zero, the beat time becomes infinite and for the downconverted signals, time appears to stand still. This is the point of infinite time expansion. The sign is indeterminate.

    Increasing the local oscillator DAC value by one count pushed the frequency of the local oscillator below that of the main oscillator. The sign of the time expansion becomes positive and the Span is large (high resolution, time forward). As the DAC value increase further the Span reduces until, at the far right of the graph, there is a large difference in frequency between the local and main oscillators (low resolution, time forward).


    Once the laser and receiver are working, I will show oscilloscope traces of signals that are both forward and time reversed. Now you know that they were made by simply changing one DAC value...
    569 x 384 - 51K
    Detect and measure
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-10-24 - 09:52:55
    Laser Module

    The white spot in the picture below is the first laser light to come out of the laser module. It is invisible to the human eye but can be seen clearly with a digital camera.

    First light.JPG


    The laser (Osram SPL_LL85) is soldered onto the laser driver board by hand. The board is a simple design based on the recommendations given by Osram here:

    http://catalog.osram-os.com/catalogue/catalogue.do;jsessionid=58D71414E763BDEF19E0951E52991ECC?favOid=000000020000389200200023&act=showBookmark

    This hybrid laser is very easy to use because the high current circuitry needed to fire the laser is built into the laser package - you can actually see the capacitors and driving FET through the plastic housing. Like all lasers, this one should be handled carefully. It is very sensitive to static and also dangerous to your eyes when running. Once it is enclosed in the optical system it will be eye safe but while exposed like this it must be treated with respect.

    The pulse of light that comes out of the laser should look like the picture below taken from the Osram datasheet. The LRF that we are designing here uses the largest possible laser pulse in order to maximise the operating range. In addition, there is a better chance of a low cost PIN diode (instead of an expensive APD) working with a fatter pulse than with a skinny one.

    Laser Datasheet.jpg


    The actual optical pulse for the laser module is shown below. This was measured using a fast PIN diode with the laser pointing straight at it. Apart from a slight distortion on the trailing edge it looks very similar to the datasheet picture - the time axis scale is the same. The most important feature is the fast front edge which will help to give good accuracy when measuring distance.

    Laser Pulse.JPG


    The laser module is the quickest and easiest module to test. It either works or blows up, there is no middle ground. However, a critical feature of a well designed module is how little elecrical radiation it emits. This can show up as electrical noise that interferes with the amplifiers and timing circuits. Often, shielding is needed to prevent this. In this design there is no shielding and so far the interference looks very low. We won't really know for certain until the receiver is running. Maybe I should test that next...
    640 x 480 - 84K
    485 x 637 - 65K
    768 x 542 - 64K
    Detect and measure
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-10-25 - 11:09:54
    Eureka :smile:

    The first plot:

    In the first oscilloscope image below, the falling edge of the blue trace is synchronized to the laser firing signal as it comes out of the DS00VQ100 chip. The red trace shows the "zero" signal that comes out of the laser module as the laser fires. There is a delay as the firing signal travels from the chip, through the drivers and into the laser. The reason for having the zero pulse is so that this firing time delay can be subtracted from our return signal measurement to improve the accuracy.

    You can see from the image that the analog zero pulse has a steep front edge that is clean enough to use for accurate timing but unfortunately the back edge is rather slow and will be difficult to measure with any certainty.

    Zero Pulse - analog, real time.JPG



    The second plot:

    In order to fix the slow back edge problem of the zero pulse, it is fed through a very high speed comparator. The resulting "digital" signal (red trace) shown below is much cleaner, making it possible to measure the front edge and the back edge with good accuracy. From measurements on the oscilloscope, the front edge occurs about 32ns ± 5ns after the firing signal and the zero pulse is about 18ns ± 5ns wide.

    Whilst I was looking at this picture I noticed that the back edge is slightly distorted. Unfortunately, my oscilloscope is only able to resolve signals longer than 5ns so I couldn't see any real detail on the zero pulse.

    Zero Pulse - digital, real time.JPG



    The plot thickens:

    No prizes for guessing what the next picture shows. The blue trace is a time expanded reference signal. The falling edge corresponds with the moment that the firing signal leaves the chip whilst the period represents the maximum measuring range. The DS00VQ100 is programmable so the measuring range can be changed - in this image I've set it to measure a time interval of exactly 156.25ns. This means the time from one falling edge of the reference signal to the next falling edge is equivalent to 156.25ns in real time.

    The red trace shows the time expanded, digital zero pulse. Measuring directly from this time expanded image, it has a leading edge that is 32.4ms after the start which equates to 36.50ns in real time, and a width of 19.5ms which is 21.97ns in real time. The time expansion is set to 887680 times.

    The most striking feature of the image is the narrow second signal just after the zero pulse. This "glitch" is only 1.91ns wide which is why we couldn't see it on the real time traces above. The glitch is caused by the slow, wiggly back edge of the original, analog zero pulse - it causes the comparator to detect two signals instead of just one. This is typical of what noise does to an electronic system and it will have to be filtered out, something that the chip takes care of automatically.

    Zero Pulse - digital, time expanded.JPG


    The final plot:

    To complete the picture, so to speak, change one value in the chip and the zero pulse becomes time expanded and time reversed. The glitch now happens before the zero pulse...

    Zero Pulse - digital, time reversed and expanded.JPG
    Detect and measure
  • prof_brainoprof_braino Posts: 4,312
    edited 2011-10-25 - 20:44:18
    So it looks like it is detecting a nanosecond-range event, and scaling it up to millisecond range, and the measurements are within the expected range; and multiple readings of identical periodic events would increase the accuracy?

    WOW. You make it look so easy.

    In plot 3, am I getting this right?
    The red trace registers a delay of 32.4ms which means 36.50ns realtime, (36.5*887680=32400320) which is within plot#2 reading of 32+/-5ns
    The registered pulse width of 19.5ms means 21.97ns realtime, (21.97*887680=19502329) which is within plot#2 reading of 18+/-5ns

    But blue trace shows 170ms from falling edge to falling edge. I would think the time expansion factor would be more like 1,088,000
    I'm expecting 156.25ns * 887,680 = 138,700,000
    Or does this mean the sampling rate is independent of the time expansion factor?
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-10-26 - 00:14:00
    Ooops! I can do the complicated stuff but the simple stuff sometimes escapes me...

    Prof, you are correct - the edge to edge time should be 169.7ms. Recalculating:

    The time expansion is 169.7ms / 156.25ns = 1,086,080.

    The front edge is at 32.4ms => 29.83ns in real time. This matches the 'scope reading of 32±5ns.
    The width is 19.5ms => 17.95ns in real time. This matches the 'scope reading of 18±5ns.

    Sorry for the confusion.

    Yesterday was a very difficult day. I hadn't intended to test the "beat frequency oscillator sub-sampling mixer" system. I was going to get the receiver module working first. Then I noticed a problem on one of the internal reference signals that defines the zero point for all time based measurements. These kinds of timing problems do crop up occasionally because of the internal delays between gates. So I decided to re-test all the timing signals both by simulation and in the real chip. Then this image of the zero pulse jumped out of the oscilloscope trace. I knew at that moment that the design was going to work. No amount of simulation prepared me for the shock of seeing an actual time expanded signal for the first time. The adrenaline rush was intense and I couldn't hold the scope probes because my hands were shaking so much. It took the rest of the day for the nausea to die down. By the time I was able to post on the forum I don't think my brain had fully recovered.

    Let's see if I can do better today although my hands are still shaking.

    The trace below shows the same zero pulse signal as before but the time expansion number is different. The full range is still 156.25ns. To make sure that I get the numbers right this time I've left the timing cursors on the 'scope trace.

    The full range (blue line) is 1.732s. Yes, that's 1.732 seconds!

    The time expansion is therefore Tex = 1.732s / 156.25ns = 11,084,800 times

    The front edge of the zero pulse (red line) is at 324.0ms => 29.23ns in real time.

    This is slightly different from yesterdays result - there is a small reduction in the delay through the firing buffers. This is most likely because of a change in ambient temperature.


    Large time expansion.JPG


    This extreme time expansion is not particularly useful because it takes a long time to get a reading (1.7 seconds in this case). However, it is a good test of the stability of the oscillators and the mixer which is approaching ±10 parts per trillion. Ok, that's just too much for me I gotta go lie down somewhere...
    768 x 542 - 72K
    Detect and measure
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-10-26 - 10:07:27
    Receiver Module

    I've finally started working on the receiver module. There is lots to do on this module because it includes high sensitivity and high speed analog circuits. The amplifiers need to be "adjusted" to give maximum gain without going into oscillation, the APD noise control circuit needs testing, the AGC needs setting up and so on. So far everything is working but far from optimized.

    To check the return signal sensitivity I hooked the module up to some basic plastic optics and waved it out of the window, through the bushes, to the wall of the house next door. This is what the 'scope shows:

    Trees.JPG


    First the calculations:

    The maximum measuring range was set to 46.875m. As usual the reference signal is the blue trace in the picture.

    I put my hand in front of the LRF to get a zero datum point (there's no software to do this yet) then removed my hand and measured to the leading edge of the largest signal. This worked out to be a difference of 11.82m which is about right for the distance to the wall.

    The real point of showing this picture is to demonstrate why both forward and reverse time expansion can be useful. If the LRF was mounted on a robot that wanted to avoid the bushes, then forward time expansion would allow a timer to measure the first small pulse of the "fuzzy" return signal created by the bushes. However, if the objective was to measure to the wall, it would take a lot of processing to filter out the unwanted signal from the bushes. A much easier approach is to use reverse time expansion. That way the wall would be the first target and therefore easy to measure. This demonstrates the difference between "first return" timing and "last return" timing.
    768 x 542 - 71K
    Detect and measure
  • BeanBean Posts: 7,967
    edited 2011-10-26 - 11:20:04
    Timer Module - update

    I've also been testing the resolution of the beat-frequency-oscillator-mixer. The limiting resolution is determined by the frequency stability of the TCVCXO's (temperature controlled, voltage controlled, crystal oscillators). Over a period of several minutes the timing stability (without a software control loop) was better than ±2cm equating to a frequency stability of around 4ppb (parts per billion) which is better than expected. I think this is because the temperature is very constant and the circuits are running cool. Once in the field a software control loop will be needed to compensate for temperature changes.

    4 ppb is quite good for a TCVCXO over a couple minutes. But don't forget about other factors: Aging, supply variation, load variation, static G's, etc. These could create a much larger change.
    Aging can be several ppM per year (several ppB per day). And static G (tip over) can sometimes cause significant variation too.

    Bean
  • LawsonLawson Posts: 870
    edited 2011-10-26 - 11:40:39
    Cool results. How well do you expect the timing chip to deal with time varying signals or signals with just under nano-second of jitter? I could see this chip being quite useful as a general purpose device for tight timing measurements. The trasmitter laser for the Lidar's I work on currently use cavity q-switch to laser pulse time to jitter lock the main cavity to a seed laser. If the laser is well adjusted this time delay varies like a nano-second between just seeded and perfect, too small for the current controllers to see. (currently investigating a different way of doing this cavity lock because of this)

    Lawson
    micro-power experiments with the propeller.
    Drivers for TAOS TSL3301 line sensor Forum thread, and OBEX
    Lumen Electronic Jewelery Website
    My AWD motorcycle Website and action video
    What I'm paid to work on. UW Lidar Group.
    FME, a Spin-only floating point library with trig, exponential, and logarithm functions. OBEX and Forum.
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-10-26 - 13:52:54
    Bean:
    Absolutely! The reason for good short term stability in the crystals is so that the scale remains linear at large downconversion numbers. Over longer time periods the crystals drift all over the place as you have described. This is where the software controlled DACs come in, to provide long term re-adjustment. In practice this "long term" may be every few seconds, especially in a high vibration environment or where the temperature is changing rapidly.

    The trick that the DS00VQ100 uses is that it is not necessary for the time expansion number to be constant from one reading to the next. Instead, it is critical that you know exactly what the "Span" was for each measurement made. As long as the rate of change of the Span number is less than one count from the start of a measurement to the end then there is almost perfect linearity in the time and distance measurements. Extremely big time expansion numbers are more of a curiosity than of any value for accurate timing simply because the linearity becomes unreliable.

    Lawson:
    A brilliant question and one that I have grappled with for many years. If there's one thing that this particular timer design does it's break as many rules as possible. In the context of your question, the DS00VQ100 is different from most other ETS or sampling systems in that the local oscillator is TOTALLY decoupled from the main oscillator. What that means is that neither the firing time nor the return time have to be deterministic. As long as there is some statistical mean to either of these events then successive readings will provide improved resolution.

    You can think of the timer as a two stage system. In the first instance there is a "discrete" sampling or mixing process that relys on known INTERVALS between the sampling events. Then there is a second system that relys on statistically "random dither" in the start and stop times. Mathematically, it gives the best of both worlds because during the first stage the resolution is linearly dependant on the number of shots fired. This means that the timer can rapidly approach any arbitrarily defined resolution. Thereafter, the second stage kicks in where there is a square law relating the resolution to the number of shots.

    Simply put, if you want to increase the resolution of a noisy signal just average successive results.

    I'm not sure if this answers your question so please feel free to rephrase it if you think there may be something of use to you.
    Detect and measure
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-10-27 - 05:12:18
    LRF Data

    The oscilloscope traces that we have seen up to this point demonstrate the timing mechanism of the DS00VQ100 chip when applied to an LRF. The signals can be used directly by a host microprocessor to perform timing to targets of interest. Alternatively, the user can get the timing information in a digital form directly from the chip. The chip has a built-in timer that measures the time expanded signals and gives the results as count values.

    The chip uses a SPI bus for communication. Data from the micro to the chip is used to set parameters like the APD bias, the time expansion and the AGC values. Data from the chip to the micro contains information about the last reading taken. A complete printout is shown below followed by a typical looking 'scope image (not used for the data given).

    LRF_Data.JPG


    Data_Scope.JPG


    The data is sorted into columns and each line represents one reading. This data is recorded from a target a few meters from the LRF. All timer values are in counts taken from the falling edge of the blue reference trace. The columns have the following meanings:


    FW: Firmare - this is the hardware revision number of the DS00VQ100 chip.
    ZF: Zero Front - the number of timer counts to the front of the zero pulse.
    ZR: Zero Rear - the number of timer counts to the rear of the zero pulse.
    SF: Signal Front - the number of timer counts to the front of the first return signal.
    SR: Signal Rear - the number of timer counts to the rear of the first return signal.
    AN: APD Noise - a value indicating how much noise is produced by the APD at the current bias voltage as set by the user.
    SP: Span - the number of timer counts covering the entire measuring range including the sign of the time expansion (+ means forward, - means reverse).
    ST: Status - flags that indicate the states of various signals.

    The measuring range of the results shown was set to 23.4735m. So using the data from the bottom line, the distance to the front of the return signal can be calculated as follows:

    Dfront = (SF - ZF) / SP * 23.4735 = (1390 - 832) / 4257 * 23.4735 = 3.077m
    783 x 469 - 66K
    722 x 540 - 120K
    Detect and measure
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-10-27 - 12:51:49
    The $64,000 question...

    The following information is for market research purposes only and does not constitute an offer to sell.

    If you saw the following advert, would you buy one?

    For sale.

    Hobby or robotics Laser Range Finder:

    Range to normal surfaces >30m
    Best resolution <1cm
    Best update rate >100x per second
    Suitable for small or large robots and educational experiments.

    Product includes:

    Laser module - including Osram hybrid 14W pulsed laser
    Receiver module - including Hamamatsu APD
    Timer module - including DS00VQ100 chip
    Power module - suitable for battery operation
    Processor module - including Propeller chip and USB port
    Optical module - including lenses and narrow band optical filter

    Exclusions:
    The laser component cannot be shipped to the USA due to FDA restrictions.

    Introductory price:
    $333.33
    Price excludes postage and packaging
    Detect and measure
  • BeanBean Posts: 7,967
    edited 2011-10-27 - 17:49:30
    Exclusions:
    The laser component cannot be shipped to the USA due to FDA restrictions.

    This exclusion is going to all but kill any USA sales. What good is it without the laser ?

    Bean
  • prof_brainoprof_braino Posts: 4,312
    edited 2011-10-31 - 05:36:13
    Bean wrote: »
    This exclusion is going to all but kill any USA sales. What good is it without the laser ?

    Bean

    I think we can buy a laser locally, no? Its just the import that's the issue, yes? Edmund Scientific always has boat loads of lasers, or did Homeland security close them down to protect the children?

    In any case I'm still getting one of these chips, with or without the laser. Its just too cool to not have.
  • prof_brainoprof_braino Posts: 4,312
    edited 2011-11-03 - 05:51:54
    Here's a link to Bean's thread showing an experiment using the same technique as the DS00VQ100 chip, but uses two props.

    http://forums.parallax.com/showthread.php?135563-Measure-the-speed-of-electricity...

    Its not as stable(?), but demonstates the concept. (I link to it here as I kept losing the thread)
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-11-10 - 22:42:44
    Just a quick update - finalizing the software and doing performance tests.

    Range is tested to >55m. This was aimed at a tree, there's still plenty of power to go further.
    Measuring resolution is better than 1cm. The timer is very stable.
    Measuring accuracy is ± 10cm. This is not good enough yet, there is some noise in the receiver amplifiers. I expect this to get better than ±2cm once I've worked on it.
    Update rate is from 100 readings per second down to 1 reading per second. This is adjustable.
    Operating current is less than 200mA at 5V. Can be powered from a battery or directly from the USB port.

    Finished unit.jpg
    640 x 480 - 88K
    Detect and measure
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-11-15 - 12:57:28
    Just hit the roof of a house at 100m. Strong signal even with the 14W laser. Software completed. Still some work to do on accuracy.
    Detect and measure
  • logicmaxlogicmax Posts: 7
    edited 2011-11-15 - 13:27:02
    what did you use for your lensing solution for the laser diode transmitter. The SPL LL85 that you are using has a 15 degree in the parallel axis divergence and 30 degree in the perpendicular axis divergence. How did you compensate for the different divergence values. Did you use a fast axis collimator or just a large lens?
  • prof_brainoprof_braino Posts: 4,312
    edited 2011-11-15 - 20:50:36
    Just hit the roof of a house at 100m. Strong signal even with the 14W laser. Software completed. Still some work to do on accuracy.

    Is the house still standing? :) I keep remember "the fields are burnt black and ash is lying everywhere".

    Back on post 39, a maximum range of 180 meters was mentioned, is this still the upper limit?

    Regarding accuracy, is the measurement repeatable but "off" by +/- 20 cm, or will consecutive readings for the roof vary by +/- 20cm?

    Are you able to calibrate to a known large distance target?
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-11-15 - 23:05:20
    Did you use a fast axis collimator or just a large lens?

    Tying to keep it really simple - for this hobby grade LRF I've used very low cost plastic optics with a single, long focal length lens for the laser. I don't think it's worth the added cost and complexity to start correcting for laser astigmatism. That having been said, the idea behind this design is to make it modular so that users can change the optics to suit their requirements. If someone wants to push the limits then simply changing to glass lenses with a fast axis collimator would really boost performance.
    Is the house still standing?
    Prof, we're not setting fire to anything here!
    Back on post 39, a maximum range of 180 meters was mentioned, is this still the upper limit?

    The original DS00VQ100 chip design had a "timing" range limit of 180m but I have since extended this to 360m for users who want to add more powerful optics. The actual range limit of the LRF will depend upon both the quality of the optics and target reflectivity, so even the basic plastic optics will reach 360m on a reflective target like a road sign.

    My interest in testing the current LRF design out to 100m on an uncooperative target (a house roof) was to check that the optical system was working properly. As it turns out there was a minor mechanical misalignment in one of the parts that needed correcting. Once that was done, the LRF ran out of targets before it ran out of range. I'll have to find a longer test range somewhere to reach the real limit.
    Regarding accuracy, is the measurement repeatable but "off" by +/- 20 cm, or will consecutive readings for the roof vary by +/- 20cm? Are you able to calibrate to a known large distance target?

    This is an interesting question. I'll give final accuracy specs once the testing is complete but it should be closer to +/-2cm rather than +/-20cm. The repeatability (consistency of successive measurements to the same target) and long range "accuracy" (absolute linearity or "scale") is already extremely good - within a few centimeters. The problem is measuring inside the first few meters because of firing noise from the laser. I don't know yet what the short range accuracy this particular design will be. More days of testing needed...
    Detect and measure
  • logicmaxlogicmax Posts: 7
    edited 2011-11-16 - 13:32:09
    So since you used a simple lensing system, what does your output beam look like? Is it fairly Collimated? I am current using a SPL PL90-3 and the output is about .5 inches tall and 3 inches wide at about 10 meters. Also what did you use for an optical alignment of the laser to the Receiver?
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-11-16 - 23:02:26
    the output is about .5 inches tall and 3 inches wide at about 10 meters

    I don't know what lenses you're using (I guess small) but this beam divergence seems very big. Multichip devices like the SPL_PL90_3 can be tricky to collimate because of the relatively large emitting area. Often, you get three stripes that just refuse to behave. A simple way to handle it is to use a larger optical system with a long focal length and just ignore the energy losses around the edges.

    For example, a 50mm lens with 100mm focal length should collimate well out to 500m and beyond (with a three stack laser). I've tested the footprint of this arrangement at over 1000m and it was less than 3' across (half power points). That doesn't mean that there aren't better optical configurations, there are, but in my business it's all about the lowest cost per meter of range.

    For the LRF design discussed in this thread, I wanted to make an optical system that collimated well out to 50m using very light weight lenses. The reason for this is so that the LRF can be used in radio controlled aircraft, hence the use of acrylic lenses and a laser with a smaller emitting area. The actual collimation is pretty good with almost no measurable divergence at 10m.
    Also what did you use for an optical alignment of the laser to the Receiver?

    There are almost as many optical alignment arrangements as there are LRFs out there. The main problem is the three degrees of freedom for both the laser and the receiver. My approach is, again, to go for low cost. The LRF discussed here only has focus for the laser with both focus and alignment for the receiver. This means that there is no guarantee of front face perpendicularity for the outgoing laser beam but this isn't likely to be important for a hobby system.

    Also, whilst it is quite easy to do short range alignment by hand (the way I've been doing it up to now), if the system goes into production then it is much quicker to use an alignment "jig". This could clamp the laser and receiver modules, adjust their positions, and then a simple locking system in the LRF could hold them in place. The jig would then be removed.

    The alternative, building an alignment mechanism into the optical system of the LRF, tends to be much more complicated and expensive.
    Detect and measure
  • Laser DeveloperLaser Developer Posts: 140
    edited 2011-11-22 - 11:44:26
    LRF Error Chart.jpg


    The chart shows a first pass at testing the short range performance of the LRF. The X-axis is the distance to a target whilst the y-axis is the error in the reading. All units are in meters.

    Two targets, one black and the other white, were measured every half meter from the LRF. On the graph, the white target is shown as red circles whilst the black target is black crosses. The y-axis error bars are probably >1cm because it is difficult to position the targets with the necessary precision.

    Whilst this data does not yet take into account all possible targets at all possible distances, it is indicative of the real world performance of the LRF. Most of the residual errors are due to distortions in the amplifiers along with operator error in positioning the target.

    I'm very pleased with the timer which seems to be holding a sigma (statistical error) of <5mm. This set of data was collected by setting the timer resolution to +2cm and then averaging 16 readings. This gives a theoretical resolution of ±5mm. The actual resolution is very close to this theoretical number.

    It is likely that at far distances the errors will increase somewhat as the signal becomes very weak. However, for most practical applications this shouldn't be a problem.
    553 x 401 - 40K
    Detect and measure
  • Analog1Analog1 Posts: 17
    edited 2011-12-31 - 20:38:47
    For a short range (up to 5 feet) check out this TOF LIDAR solution.

    http://www.miremadi.com/styled/LDR-M10.html
  • ercoerco Posts: 19,394
    edited 2012-01-07 - 15:06:46
    Happy New Year!

    Is it just me, or did this thread run outta steam pretty quickly after that "not for sale in the USA" bombshell got dropped?
    "When you make a thing, a thing that is new, it is so complicated making it that it is bound to be ugly. But those that make it after you, they don’t have to worry about making it. And they can make it pretty, and so everybody can like it when others make it after you."

    - Pablo Picasso
  • Laser DeveloperLaser Developer Posts: 140
    edited 2012-01-08 - 00:49:24
    Happy New Year Erco!

    Aren't you running the risk of thread necromancy?

    This project has dropped off the radar because it looks like there is no commercial interest - either in the US or elsewhere. The FDA import restriction issue has been resolved but most of the companies and individuals that I have contacted to help bring the product to market don't want to take up the challenge. Also, as you have seen from the low hit rate on this thread, there doesn't seem to be much interest from potential end users either.

    The problem may be that the price and technical complexity put the product outside the hobby market. At the same time, those companies that supply robot parts to research organizations are happy to pay big bucks for the established products from Sick or Hoyuko.

    For now I'm creating documentation that explains the whole machine in enough detail that someone with little experience in optics or electronics will understand the fundamental principles. Hopefully this will be of use as a reference or a learning aid for those curious about laser range finders. In addition, I'll probably put the full electronic design and software online as an open source reference for those more familiar with electronics who want to have a crack at making their own LRF. This process is going to take a while because I can't really justify spending any more time and money on the project.
    Detect and measure
  • rpascoalrpascoal Posts: 6
    edited 2012-01-10 - 02:02:39
    Good year to all

    now, I wouldn't just blame the reduced of thread activity on lack of interest from potential buyers. It's certainly psychological. Sometimes people need to see a live demo with successful use or that it is backed up by a company that will "give your money back" in case it doesn't work as expected. Anyway, $300 is probably too much for hobby. I guess my threshold is <$100 figure raw bones project that doesn't even have the microcontroller high level interface, just the send receive and a datasheet :)

    These guys at http://www.miremadi.com/styled/LDR-M10.html want to sell something that has weak specs for $399!! I'd rather hack a golfing rangefinder just for the thrill. I would never buy it even if it does have the 10 year development time. It confuses me how they can expect to market a sensor that says it's time of flight, measures only from 10" to 4 ft, has been used in UAVs (yeah must be flying really low, like a crocodile), has an analogue output...

    Anyway I was interested on the subject, not because of the particular time domain chip. I want kHz sampling frequency to turn it into a 2D or 3D scanner and was hoping on using a more traditional time to digital converter. I'm quite sure that competition to the cheapest SICK ang Hokuyo 2D scanners is most welcome, but it does have to be backed up by a company or some reference users in the robotics community and unfortunately measurements do need to be in the high kHz range.
  • Laser DeveloperLaser Developer Posts: 140
    edited 2012-01-10 - 02:39:21
    Nice to hear from you again rpascoal.

    This LRF design was made as an example of what can be done, not specifically to solve any particular market need. The original question posed was if there is an interest in a different type of timing chip and the LRF design was simply to demonstrate what the chip could do.

    Since the thread started I have had feedback from other sources (not this forum) that higher speed would be more useful. I have tried to explore this possibility with potential users but the price still seems to be the main problem. It would be possible to add a high speed measuring mode to the chip (at the cost of some resolution) but the LRF would still come out at the same price, and that is way above the $100 threshold. I've also talked to some UAV people about a possible laser altimeter but they are using GPS and ultrasonics so I don't think that there's much future there either.

    As things stand right now, I will finish the documentation, put some stuff online and send a few units out to people who want to play with them but after that there are no plans to take the project further. Thanks for your comments and feedback.
    Detect and measure
  • prof_brainoprof_braino Posts: 4,312
    edited 2012-01-10 - 08:14:39
    erco wrote: »
    Happy New Year!

    Is it just me, or did this thread run outta steam pretty quickly after that "not for sale in the USA" bombshell got dropped?

    No, its just you. :)

    To summarize (not to put works in LD's mouth, this is my personal opinion):

    The activity wound down because development was completed. Thus the thread is marked "Solved". The result was Laser Developer came to the conclusion that the part DS00VQ100 would not be viable as part of a comercial product, which was to be a complete laser range finder unit that we could put in our bots, etc. While there are at least six of us that would be interested in such a unit, it would still a long way until it was refined and the community (vis me) savvy enough for it to "catch on".

    I would be happy with just the DS00VQ100, and hook it up to any lasers laying around the lab, even low power toys, just to see what I can get out of it. Also, there are other energies than laser that travel speed of light, and I would try to bounce those and measure the reflections. But this is different from the orignal plan. And, the expert feels the novices might have too much trouble getting the raw chips to work. Of course he's right, those of us with more enthusiasm than ability would flounder, but in my case I would try it anyway.

    So, the first investigation was a success, the prototype was constructed, and functions as expected, but turns out to be too expensive and complex for the targeted hobbyist market (again, prof_braino as user persona). Cost of taking it further is not justified by the potential return "at this time".

    This is not necessarily "over". Laser Developer is willing to share his notes. If we can take those, and get up to speed on the technology, perhaps we can demonstrate enough interest to justify some further pursuit? This is my plan. So, we just gotta wait till he cleans them up, and dumbs them down, and turns us loose. Plenty of fun for all interested, in my view! It will just procede at a slower pace.
Sign In or Register to comment.