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!