The recently released SF02 laser "altimeter" from http://lightware.co.za/ has sparked a lot of discussion in the forum thread here. I asked if I could get a sample to review, and to use on my gas powered 100cc homemade drone. They said yes, and promptly shipped one to me, so here is my first (ground based) review. I'm not affiliated with the company in any way, and they have not read nor approved (nor disapproved) of this review. If I get anything wrong, I am sure they will clarify in the comments section!
Frankly I was doubtful whether it would work very well at all. The laser it uses is a class 1M, which means it is less powerful than most cheap laser pointers on the market, which are mostly class 2 or above. But I was assured that the secret was in the sensitive receiver optics and electronics, which meant that the power of the laser could be limited to a very low (and safe) level.
Now I use the word "altimeter" in quotation marks, because it's not an altimeter. It's more of an electronic tape measure. Point it anywhere, and it will shoot off a small infra-red laser. The time it takes for the laser light to be received is then calculated into a distance, which can be read using a serial port, USB or analog voltage. So it could be used as an altimeter, an object detector, or more intriguingly, it could be mounted on a servo and be used as a crude 2D laser range finder. It takes 12 readings per second, so that should be good enough on a slow moving servo.
Make no mistake, this is a Time of Flight (TOF) device. It measures the time it takes for the beam to bounce back. So unlike those cheap IR distance measures, it does not depend on an angle measurement, and the distance error should not be any different for close or far objects. Also, as it doesn't use sonar (sound waves) it should work over far longer distances and in many varied conditions and varied surfaces.
Opening the box, I was pleased to see a very professional bit of kit. The PCB is surface mount, and double loaded. (components on both sides). One side has a very large and powerful Actel SmartFusion Arm processor, and the other side has mostly sticky-tape components and some regulators. Pinouts are through a very small 10 way screw terminal header. Not the best option for my vibration prone plane, but I can always solder to the pins directly and run a hard wired cable lead to the connector of my choice.
You can see in the photo above, that the business end of the PCB which houses the laser diode, and pickup, is sandwitched with the optics assembly. There is a good 10mm of PCB overlapping the optics assembly. The result is a very rugged union which suggests the designer spent some time making sure that the board would stand up to a bit of abuse.
The LightWare software for USB control installed quickly and without fuss. I plugged in the SF02 and hit connect. Immediately the screen filled with a string of measurements. The software also allows simple datalogging recording to a text file, and some other parameters can be changed, but nothing very interesting.
So I started pointing it at things around the room, and the SF02 had no issues at measuring any surface I could find. I thought I could trick it with surfaces that had a 45 degree angle, or a shiny metallic surface, but it didn't have a problem with any of them. So with my plane still being about a week away from its maiden flight, I thought I would strap the SF02 to my car and drive around taking distance measurements.
The following video shows the SF02 mounted to the side of my car. I think it is a good test of what a copter or fixed wing plane would see as it rushed past varying terrain. Actually, since there are a lot of shiny cars, glass windows, and the chance of direct sunlight, not to mention bushes and trees, I think it could be classified as an extreme test.
For those that are interested in crunching the data, you can see in the video when I hit "log data" and when I hit "stop logging data". If you are nerdy enough, you can play back the data at the corresponding rate of the video, and you can therefore measure the distance to everything that I pass.
Here is the measurement data t1.txt.
And here is the video:
It was a nice sunny day today, so perfect weather to see if the sun had any influence on the measurements.
Results: Very good. Where you see a "--" in the data, the sensor did not receive enough photons to trigger a calculation. This occurs often, but not enough to be a problem. There is a longer stretch of bad data as I drive along the beach, where obstacles are more than 40m away. There are two problems that I see: The range of 40m is probably just ok for a copter, but not enough for a plane. Our laws here in Australia allow RC flights up to 400 feet altitude, so I would like to have a sensor that would be able to do that sort of distance. Naturally that may mean a more powerful laser that may then require eye protection, but maybe there is a nice tricky way of souping up the existing laser and optics to stay within the safety limits as well as having about 100m range?
The second problem is that I could not get the SF02 to work well through glass. It would work, but the range and reliability was severely reduced. Being in a gasoline powered plane, I would have liked for it to work through glass so that it would be protected from the elements, oil, gasoline, and dirt.
All in all, a great bit of kit. I see its use best as an aid in auto-landings and FPV landings, where a precise altitude could be used to flare just before touchdown. I'm also very surprised to see it works very well detecting complex structures such as bushes, leaves, grass... Thanks to Laser Developer for sending me the sample!
I'll have my drone up in the air soon, and hopefully (if it doesn't crash on it's maiden,) I'll have some more data from the air. I'll see if I can write a text to speech program for real time altitude updates, similar to what airliners use as they come in to land! That would be cool. I'm also interested in what tasks others are putting the SF02 to work in. Leave a comment!
Bryan, there is a US distributor but they don't have stock yet. I'll let you know when he has some SF02s.
Gary, there are no DS00s available but I'll take note of your request and let you know if we go into production with a similar product.
Sorry, Laser, you are right, just noticed that I was looking at the PDF for the DS00.
Too bad, actually has the specs I most wanted, medium rate, high resolution.
I'll pull my post so you can put up your comparison table when youve got it done.
Don't have any of those old obsolete ones you'd like to get rid of cheaply by any chance?
Will there be a US distributor? Looking forward to buying one.
Thanks Gary. I'm working on a comparison table to put up on the website. I think you've mixed up the SF01 with the obsolete DS00. The SF01 is 8 readings per second at 1cm resolution up to 60m.
Hi Koen, take a look at the SF03 on the www.lightware.co.za website. It can do 1000 readings per second.
@Laser Development. First, thanks for keeping up development cycles and improving products. However, I was considering to buy one of your modules to assist in vegetation measurements (ground based) but I realized after doing some back of the envelope calculations that the measurement frequency was rather low (and refrained). With a rotating mirror setup this would still require a significant amount of time (that's from a stationary platform). Would it be possible to increase the acquisition frequency to a higher rate?
Yes. There are test points on the SF02 board that show a synchronization signal, outgoing laser pulse, internal timing references and the return signal all on an expanded timebase. You can see three of these test points in Phil's photo just to the left of the USB connector. There's an example of the expanded waveforms given in the original forum discussion in reply to a question about hitting twigs!!
The datasheet for the ASIC on your website suggests it should be possible to extract an expanded timebase "image" of the returned waveform. This could be useful for disambiguating between top of trees and the ground (in your example) for instance. In any case, it'd be cool to look at. Does this module allow for sampling and extracting that image?
This could be usefull to get in ground element coordinates. Considering the multirotor position in teh air is given by the GPS, we've X,Y,Z And orientation given by compass. So if you place the lase on a gimball The extra angles could also be gathered and after you get de distance to "target" you could get ground coordinates with some cheap matchs.