Obstacle detector using OpticalFlow sensor and laser pointer.

I've been thinking include OpticalFlow whit laser sensor point.
all came into my mind after seeing this post.

I've been thinking include OpticalFlow whit laser sensor point.
all came into my mind after seeing this post. or I I think it would very accurate. What do you think?.
but as this in the arducopter?


Hi everyone! I’m back with another webcam project, as usual. :) I’ve been having a lot of fun making cool things using my webcam over the last couple of months. This time, I’ve created an obstacle detector which uses a cheap laser pointer and a webcam to determine how far an object is from the camera. I worked with my cousins, Anuj Karpatne and Prateek Raj on this project.

There are all sorts of range finding devices available in the market like ultrasonic and infrared range finders. All these devices work well, but where portability and cost are of primary concern, this technique could be more desirable.

So, here’s how it works. A laser pointer is fixed below the camera at a known distance (as you can see in the picture above). The pointer is kept parallel to the optical axis of the camera. Then, a laser-beam is projected on an obstacle which is supposedly in the camera’s field of vision. The scene, along with laser dot is captured by the camera. Then, the image is scanned for the brightest pixels (we are assuming that the laser dot is the brightest point in the scene). Then, we calculate how far along the y-axis the laser dot is from the center of the image. The farther from the center, the closer we are to the obstacle. So, the distance from the object (D) is inversely proportional to the number of pixels from the center of the image (y):

D = hY/2y * cot (A/2)
Where the constants used are:
h = the actual distance between the laser pointer and the optical axis of the camera.
Y = total number of pixels along the y-axis
A = angle of view of the camera

As these values are constants, we obtain,
D α 1/y
Or, D = k/y (where k is the proportionality constant for all the constants used above)

We used an experimental approach to determine the value of k. We wrote a simple program in C# to do the entire image processing work and for finding the position of the laser dot in the scene. We calibrated the apparatus by placing an obstacle at known distances from the center of the camera and noting down the number of pixels the laser dot is from the center of the image along the y-axis. After taking several readings, we obtained the value of k. By using this value, we were actually able to determine how far an obstacle is, from the camera.
Well, we had a lot of fun working on this project! I hope you find it interesting. I’d love to hear your comments and ideas. :)

Views: 5376

Comment by Bradley J Carr on May 30, 2012 at 7:05am

I am very intrested in this.

How accurate would this be if you were going to use it like a altimeter?  \

How long does it take to scan the image?  Would it refresh fast enough?

Comment by Ellison Chan on May 30, 2012 at 7:10am

So, your measuring object distance on the x-y plane on which the laser pointer hits?

Comment by eric on May 30, 2012 at 7:14am

I was just recently dreaming about an altimeter using a laser grid similar to the Sony hologram AF assist: http://j.mp/Kwf3Lh

Comment by Norman Sanchez on May 30, 2012 at 7:57am

I have a business to measure distencia in construction and is very accurate and fast
speed depends on the update in the code is not really, I test the model of the photos.

Comment by Norman Sanchez on May 30, 2012 at 8:18am

do the same with the Optical Flow Sensor as it requires a well-lit environment will adapt alaser to reproduce the same effect of this post.


Comment by Norman Sanchez on May 30, 2012 at 8:26am

And if we used this camera?
one might create the desired effect?

Comment by Marooned on May 30, 2012 at 8:29am

For sure you shouldn't be using laser as with flying vehicles it will point in every direction and can hurt somebody's eyes. Moreover, this will work only for bigger obstacles because of small laser dot. By using some laser pattern projector the area will increase (few points of measurement).

Comment by Norman Sanchez on May 30, 2012 at 8:41am

I have proven with Flymentorhttp://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=...
optflow working with, we adapt a laser and the heli did not move the point, in the lightrough terrain made up the ground.
shame that sold the Flymentor disarm would be very useful.

Comment by Norman Sanchez on May 30, 2012 at 8:58am

true but in this case would be at low altitude and pointing down. would have to stare at thequad and look good is like the sun. I do not think it affects someone.
the same danger would be 6 propeller 2 meters away

Comment by Marooned on May 30, 2012 at 8:59am

I know there are many hazards in this industry. Just wanted to point out one of them.

Some info here.

Anyway, this is for sure an interesting approach.


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service