I've noticed a lot of people are talking about autoland - and no wonder; landing can be tricky, and is generally the part of the flight where you're most likely to break something. I plan to get my UAV to autoland, because I'm not a great RC pilot, and I don't want to spend money and time on it to then have it crash and break. So far, however, there's one thing that has consistently stumped most autoland projects: altimeters. GPS is not accurate enough, laser is expensive, ultrasound is fuzzy and doesn't like soft surfaces like grass, IR has calibration issues with differences in colour and reflectiveness, and barometric is less precise and changes with airspeed, weather, and a bunch of other things.

So obviously, a cheap yet accurate solution must be found. So here's an idea:
- Take a cheap camera (a keychain digital camera, a basic webcam, whatever) and mount it staring straight down underneath your aircraft.
- Take a cheap laser pointer and mount it pointing down and at an angle (either forward or back) underneath your aircraft.
- Note how the laser dot moves across the camera's field of vision as the aircraft's altitude changes, and calibrate accordingly.

This could be implemented a number of ways. Those with any kind of video streaming could watch the camera feed directly and just mark the altitudes on. Or, you could write a simple image processing algorithm that finds the dot and measures how far across the field of vision it is and calculates the altitude from there. If you want, you could add a second laser pointer such that the dots overlap at the moment the wheels touch ground, and use the distance between the dots to gauge altitude, and then, measuring whether the dots are symmetrical about the direction of flight would also tell you whether the aircraft is roughly level relative to the ground.

Obviously, to get the most accuracy you'd have to mount the laser at quite an angle so that the laser dot moves a long way across the field of vision per centimetre of altitude. I'd suggest setting it such that the dot is at the furthest extent possible at the GPS's accuracy limit, and almost at the furthest opposite extent at touchdown. In other words, if your GPS gives altitude to +/- 15m, then the laser should be turned on at 20m, and enter the camera's field of view at 15m AGL. Then, the dot moves across the screen as the aircraft descends, and reaches the other side of the screen about 10cm BELOW the point where the aircraft's wheels hit the ground (you don't want the dot to go off the screen by accident, because that'd confuse it and possibly cause a crash, so have a safety margin).

I don't know how well this would work, but it's the best way I can think of making a simple, affordable altimeter that might give acceptable accuracy. What do you guys think?

Tags: altimiter, autoland, laser

Views: 393

Reply to This

Replies to This Discussion

Hİ Nicholas,

Sorry, Your idea similar with Sharp IR sensors. This sensors including 1 line CCD and sending Infrared spot to the front, it reflecting to 1 line CCD and it mesuring the cells for finding the reflected spot. Simple, cheap and useful method. If you want to using laser for this, just buy a IR laser module and design a laser repeater with an IR filtered optotransistor and your laser. Optotransistor reads sharp's output and sends same signal over IR laser, then you can read it with Sharp's receiver.
Yeah, I knew that's how the IR sensors work, but they only have a short range, and the IR reacts oddly to different surfaces. With a bright visible-light laser, it might work better. Also, the Sharp IR sensors have the emitter and receiver very close together, which is why they have limited range (beyond about a metre or two, the angle is too small to measure). With this system, you can mount the laser emitter and the camera much further apart, thus increasing the range (hopefully). It uses parts that are easy to come by, cheap, and familiar to most hobbyists. I reckon it's worth looking into, at least.
Yeah, I knew it could be done! This definitely justifies buying a laser pointer so I can experiment. The main thing to determine is what kind of range it can accurately read to. If there's some way to get it to read accurately between about 10cm and 10-15m, then it's perfect for an autoland precision altimiter. If the max range is lower, then that's ok; as long as it works to a few metres then it'll work - I'll just have to accept that there's a part where the aircraft is descending towards a ground that it can't actually see yet...
I would suggest using a laser bandpass filter on the camera so you can clearly pick out the laser (you might have issues distinguishing it from the background otherwise).
Ok, if that'll help the accuracy and/or make it easier to set up, I'll definitely look into it. However, lasers and optics and image processing don't really fall into my area of expertise, so... could someone perhaps explain what a laser bandpass filter is, what it does and roughly how it does it? Just to make sure I'm doing it right :P
Bandpass filters are optical components (like colored gels) that absorb light of wavelengths outside the specified band (light color, expressed in nanometers). If your laser's frequency is within the band of the filter, the laser's light will be transmitted and show up bright in your image. Here's a source I've used for bandpass filters:

http://www.edmundoptics.com/onlinecatalog/browse.cfm?categoryid=41
It won't help accuracy, but it will help make the laser easier for the camera to pick up (they can be tricky in bright light, or on varying terrain). A laser bandpass filter is a filter for a camera that only allows one wavelength (color) of light (namely, the one of your laser) to pass through. This will make most everything in the image black (or at least very dark) and make the laser stick out really well. You can find them at optics supply houses (edmund optics, thor labs, melles griot, etc.) if you search for it. You just place it in front of your camera, and you're good to go (if you plan on using a webcam, you'll have to mount it yourself. Good luck!
Ah, I see. I'll definitely have a look for one; for starters it'll make the programming easier if there's less junk in the image that has to be filtered out before it can identify the dot, which is nice because I'm not what you'd call a brilliant programmer.
Even if you were a brilliant programmer, filtering for certain laser frequencies can be a giant pain/ not feasible.
Precisely. With the filter, all I have to do is locate the brightest pixel in the image. If I use MATLAB for the image processing, that's just a simple case of importing the image as a matrix, and then using max(ImageMatrix). Then MATLAB's Real-Time Workshop can give me the necessary C++ code, which I can drop into the Arduino IDE and compile onto the board.
Are you sure the Arduino would be able to handle that kind of data at a reasonable rate? Even with a 320x240 black/white (1-bit) image you're still looking at >9 KB of data, which is more than even the Arduino Mega could store (8 KB SRAM). You'll still need some space for your runtime and jpeg decompression.

If you could find a camera that captures/allows you to select only a thin noodle of the image for download (and outputs it in a bitmap instead of a jpeg), then it would be possible if the only input the Arduino got was a say 32x480 bitmap frame (<2 KB). Instead of using a matrix max method (which wouldn't work really well for a one-bit bitmap of 1s and 0s and would be prohibitively expensive) you'd simply iterate over each line of the bitmap (4 B each) and count binary 1s. The line with the most 1s is the center of the laser dot and its line number is the vertical distance you're looking for.

Something's telling me that this kind of a camera could be in a flatbed scanner.

RSS

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The third round was a reliablilty/aerial photography round for both planes and copters, which is now closed. Stay tuned for the next round, beginning soon.

A list of all T3 contests is here

 

Groups

© 2012   Created by Chris Anderson.

Badges  |  Report an Issue  |  Terms of Service