Laser Pointers


#1

On many ROV videos, two red dots, supplied by two laser pointers, are used for size+distance measurements.

From my point of view, while the idea is quite good, the laser colour limits the pointers range.

Red pointers in the band of 650nm wave lenght, is absorbed by water really fast.

Why do things underwater look green ? Red colour has a very short penetration range through water.

Wouldn't it be worthy changing the Red by Green pointers in the range of 532nm wave lenght ? Green colour travels better in water.

It would not be a problem of increasing range but of using less energy for the same range.

Regards


#2

Ion,

Very true 532nm (Green) does have the best penetration distance in seawater but there is a rub the way that wavelength is achieved the initial diode is IR and has to be doubled by a fiber or a crystal (KTP) type

the inexpensive ones are the KTP type so crystal heating is a problem too much heat and the crystal cracks this limits the "duty "cycle to non CW output , the fiber based doublers are not as sensitive to heat but cost more due to the fiber composition and length required .

650 nm Red has no such limitations they are quite happy in CW use .

Let me add a drool factor to U/W laser use you can project a grid pattern that you can see topographic features by how the grid is distorted with the simple addition of a Holographic grid image "filter" Unfortunately i just tried to find the simple glass plate type i used to use and can not find only "systems " for $$$ bucks .


#3

Hi evilmacaw:

Thanks for your explanation.

Now its snowing here, and is too dark and not pleasant being at the lake. As soon as weather clears a little bit (Forecast says around next wednesday - colder but clear), I'll perform a real green laser check.

Heating would not have to be a problem for an underwater vehicle.

Will try to look for a simple cheap and cooled installation for green lasers.

Once tests done, I'll post results on here.

The topographic projection sounds quite nice. But you're right, distortion is a problem.

Anyway, using an image features analisys sofware, for measuring the apparent distance between both projected dots, from the camera image, could give a reasonable measurement of distances and object size.

I must point, once again, that electronics is not my thing. My "real-world" work, goes on ships design, but mostly directed to the "fluids" part (hull, appendages, propellers ......)

In the software side (DPS, data packing, ....), I had to recycle myself due to company requirements. So Im able to help on that side as well.

Another thing Im concerned about, is the way wiring crosses through the electronics container.

I think it is a key depth range limitating factor.

Regards and thanks for your comments again.


#4

ION,

"The topographic projection sounds quite nice. But you're right, distortion is a problem."

Distortion is the Key to reading Laser grid projection topo interpretation you look for the distortions and they will tell you if you have cavity/crack or a mound, I used to be able to get a grid hologram on a glass substrate from Edmond Scientific for less than $20 1" sq and cut it into 1/4" sq pieces and put in front of the then state of the art HeNe gas lasers that were first used on the Johnson Sea Link 1 submersible (Harbor Branch Institute ) .

Heat will still be a problem even in a sealed water immersed housing with the admittedly very cheap Green lasers that is why they either have a momentary switch or operate in pulse mode and pulse mode is what would be best however it is the camera`s "sync" rate (shutter speed ) that could cause a problem with pulse mode .


#5

"The topographic projection sounds quite nice. But you're right, distortion is a problem."

Did not relate to the "desired" distortion, but to that, due to water conditions.

Let me check the green laser. May be so many thinking is not worth the improvement.

As soon as weather allows, I'll go to the lake and check a green laser.

Regards


#6

Hi there,

i started building my ROV - and yeah this is an awesome little machine.

So far i understood the whole system an how it works. However, i cant find much information about these little lasers pointers. Are there any inforamtion about where they are meant to be mounted and where to be positioned?


#7

Hey Tobias,

That's a very good question which I should probably do a better job describing! The lasers are kind of a bonus that we decided to through in to each kit with the hopes that people would figure out a good way to use.

The idea is that they can be used as scaling lasers which are spaced 10cm apart and make parallel beams that can be used to determine size (or even distance) of things. If you look at the little notches above and below the LED modules on the Camera Plate, you'll see that while two of the notches are used for LED wiring on either side, the other two are left empty. These notches are sized so that the lasers will fit in them, and they are spaced 10cm from each other.

We've also wired the Controller Board so that the two holes right next to where the LED wires go in (P2- and P2+) output the right voltage (5v) to drive the lasers. The lasers can be wired in parallel, but a little extra wire may be needed for both leads to reach.

What I've been doing to mount the lasers (but this is where we could use some other ideas) is I've superglued one laser in place so that it's face is flush with the face of the Camera Plate and it is looking straight forward. With the lasers on, I then tape the other laser in place so that it seems to project a dot 10cm to the side of th other dot on a far away wall so that I know the two are parallel. Once it's pointing the right way, I glue it in place too.

I've typed this quickly, but hopefully it gives you a general idea of the thinking. I'm sure there are better ways to mount the lasers (perhaps even using some spare acrylic to make a more robust brace). Please post your ideas!

~E


#8

Thanks Eric,

this description helped me a lot. Up to now i only was guessing how you want the measurement to work.

Technically:

Is it meant to be some kind of scale for the pilot watching the picture in the cockpit?

Or

Does the beaglebone calculate measurements i.e. length or distances by taking a picture, measure the distance between the two dots in the picture and scale it to the assumption, that both pointers have a determined spacing in the ROV? That would be really cool

let me now.

And i am sure i'll contemplate about a good way of mounting the lasers

Tobias


#9

Good question again! Right now we do it the first way by just looking at the lasers through the video feed in Cockpit, but in the future.. maybe we can get the second way working!

We've been hoping some people interested in experimenting with computer vision may be able to make a program to extrapolate distance from a target based on the linear relationship between that and apparent distance between the red dots. If we started working with computer vision, a bunch of other cool things such as visual feedback loops for controlling the ROV, etc could also be developed.

Does anyone have (or know someone who has) crazy computer vision programming skills who'd like to tinker with this??

THINK OF HOW COOL IT WOULD BE!!!!

Eric


#10

Directionally, those that are interested should take a look at the vision libraries for javascript that are working in browser today. The CANVAS allows grabbing the images on screen and doing things that you used to do in OPENCV. All in javascript now! I found a couple links to libraries that could pick up the RED dots simply enough, doing the math should be trivial from there. If I find them again, I'll post to the thread (lost them in a computer crash).

-Brian


#11

Sounds promising.

Are you Talking about this?
http://inspirit.github.io/jsfeat/
http://www.tuicool.com/articles/jU7FVj
http://techslides.com/object-detection-with-html5-getusermedia/


#12

Those are all in the class. That last link has links to a lot of other projects which may have some simplified object detect libraries available for use as well.

So you computer vision interested people! Plug away! If someone wants to take a static image on the canvas to detect the dots, that would be a great POC. I have been breaking the UI in to plugins so that it will make it easier to do some realtime prototyping on the ROV. I am happy to help someone link the vision POC in to the ROV.

-B


#13

Hi Erik:

As far as the Computer Vision thing is solved, or better said, set up on ROV, maths may help and give a simple and easy solution to laser pointers "telemetry".

The thing is finding how the "apparent" and "real" distances between dots are related to distance ROV-Obstruction/target. And finding a way to take accurate measurements from that relation.

My porposal, as an intermediate solution, while the Vision is implemented, is building a software which could draw two lines, governed by a Conical Perspective grid, which cutting point would return the distance to target.

Its quite a simple and easy way for good measurements,

But: For such construction a key data is required.

Point of view to projection plane, distance(Of course are not a point neither a physical screen, but geometrical concepts). Which are related to camera optics and sensor.

Anyway, from a physical ROV, by means of direct measurements, that data can be obtained and the virtual Conical grid builded.

If you, or others are interested on trying, just ask, and I'll be glad helping on the mathematical side.

Regards


#14

Some captures and numbers;

Pics captured from the Cave video


Lets compare dots distances between some pics,


Distance between laser pointers is known being 100mm

Horizontal distance from cam lens plane to batteries cylinders forward end, known as well, being= 92.37 mm

From three pics and a little geometry, distances from Cam plane to target result:

Pic1= 669 mm

Pic2= 284 mm

NOTE:

ROV measurents are taken from plans and not from the real ROV

Projection surface supposed almost planar.

From the same numbers, maximum practical range of lasers, comes to be around 3.5 meters, when points would be so close that checking their distance becomes quite difficult.

Hence, my other question about the green lasers, makes no sence. Its not worth increasing lasers range if they remain in the same location.

Regards


Can this be used for UV navigation?
#15

Well, regarding the distance measurement by means of lasers ....

Its possible to achive the same results with only one laser, just using the parallax angle for computation.

Computer vision only needs to check a point motion.

No planar projection surface required.

Halve power comsuption, heat generation.

By the way, through the same method, no grid would be required for 3D data recording.

Have a look at the included pic.


Regards


#16

I moved 16 posts to a new topic: Laser realtime Distance Measurment plugin


#22

Joakim don’t forget about us! Please release it!


#29

Hey,

I am late to the discussion, but am interested in using lasers in the near future for fish measurements (Goliath Gouper project in the works), and eventually for 3D habitat mapping.

Great to see the progress being made!

Also, are there any thoughts about stero-image analysis for remote sensing purposes? ie... http://link.springer.com/chapter/10.1007%2F978-3-642-30721-8_16

Seems promising, but would require doubling the image-capture capabilities of the rov. or simply mounting two external (and potentially independent) cameras. The main center cam could still be used for nav, and the images from the other two post-processed.

For now I am mounting lasers, but ultimately, Eve will need diving lessons ;)....


#30

I moved a post to an existing topic: Laser realtime Distance Measurement plugin


#31

I know this is an old topic but how could one measure the parallax angle p? I have been looking at the code fro the distance measurement plugin but that didn’t make much sense to me…

“var cm2 = Math.floor(rov.h_cm / Math.tan((point2[0]-((rov.width/2)+rov.centerCorrectionX)) * 0.0024259339 + rov.offset))”

I do not understand how ((point2[0]-((rov.width/2)+rov.centerCorrectionX)) * 0.0024259339 + rov.offset)) defines an angle. Could anyone of you enlighten me?