Laer dot Triangulation with Open MV

Hi, i have a question about a small project i need to do, i would like to replace the expensive laser triangulation modules with an open MV cam (the laser sensors are about 300-400€).
I should be able to locate the red dot on the frame, measure it’s position, calculate the triangulation and output on the LCD the image (resempling down the for LCD resolution) and the distance indication.
My measure range is about 50-150mm, provided i get the perfect FOV and i use all the resolution (2560) i should be able to get slight below 0,1 mm precision (that’s fine for me).
Does it make sens or it’s a looss of time ? What could be the frame rate i can get ? (i’m fine to 1-5hz).
Can you suggest a project to start from ?
Many thanks.

Um, why do this. St sells laser range finder sensors now that can measure up to 8 meters. Just make a shield and mount one of those on it.

Why should i use a 8mt range finder to measure 50mm 150mm range ? I need a sub 0.1 mm accuracy with for an instrument capable of 8mt would mean a 0.00125% precision…
Then most of the range finder are useing tof that is not capable of sub mm precision.

https://www.st.com/resource/en/datasheet/vl53l0x.pdf ?

Okay, um, well, using the camera to triangulate doesn’t seem like it will give you submm precision. But, you can try if you want.

Anyway, um, so, yes, if you use the OV5640 you will have a lot of pixels which you can use to get the exact distance. However, the laser dot is going to be really big in the camera. You’re going to need to really work on the optics of the camera to get the image image into the system. If you can get a picture of the laser where the laser is really sharp and tiny then the problem is easy. Otherwise, it will be very hard.

Do you have the ability to execute on the optics? I don’t know exactly what is needed. But, you need to be able to generate a nice image for the camera to see of the laser.

Well, all the triangulation laser sensor are acually using a linear CCD, of course the optic is custom build based on the resolution of the linear CCD and the range of the sensor.
In my case i would use the camera diagonal to get the most linear resolution and will have to find the right optic, this don’t worry me too much, my main worry is that my zero knowledege of OpenMV (i know some python thoug).
I plan to put a red filter on top, in this way the laser dot should be easy to be idetifyed then with the XY choordinates i should be able to calculate were is the dot on the diagonal to realte it to the distance.

As long as the laser dot is resolved to pixel level precision there shouldn’t be any problem. We have a method called find_blobs() that will give you the centroid x/y of the dot. The centroid is is floating point coordinates. So, it will handle the dot not being a single pixel and will still give you the average location.

Thanks, i will lookinto it.
Cheers.