I’m quite happy with how stable the sensor is picking up the laser beam while the cnc machine is moving. I thought for sure it would be shaking all over the place and I’d have to put a good couple seconds of pause to read off the webcam. Also currently jobless for the last couple months now due to the ongoing actors/writers strike which is effecting post-production/vfx that I work in. At this point I wouldn’t mind an industry change, so hit me up if you are or know any company/startups in automation, robotics, machining, prototyping, looking for a technical minded person such as myself Toronto/GTA or remote.
Hope things go well with you. I am trying to setup still and when things get better .. would be great to connect and possibly collaborate. There can be a good market but needs to be explored here in India. I would be designing something which can be heavily calibratated. And what you did is the important part of calibration :)
I replicated your system in order to align linear bearing on my CNC granite epoxy . It worked fine. Great idea, incredible accuracy with a 50€ webcam. Faster than a precision straight edge and far less expensive. Thanks Bryan .
Incredible. You're way crazier then I could ever have imagined, lol! Super interesting and bold idea. Amazing results with the Coin Scan. Your workshop is looking absolutely dope!
Hello Bryan ! Have you looked into Blum non contact tool setters ? I think, using a camera as a laser sensor just like you do could make a great tool setter ! Of course it's very different to your current use case. Though, there might be some potential to look into.
Very smart, I was thinking of using a granite surface plate and 3d probe to calibrate my machine to flat but this way is much slicker. Lasers would be a good way to measure repeatability of the touch probe though. Too bad the image sensor isn't longer such that you get more vertical measurement distance for 3d surfaces, though I guess you could tile and overlap a few image sensors to get that working if needed
You could get around it somewhat by using the webcam sensor in a similar way to a proximity homing/limit sensor. “W” axis would then search. It wouldn’t be as accurate depending on how well the ball screw on the “W axis is made”. But it would be better than without and having to rely on the entire cnc machine to be made perfect and running in climate control conditions to not worry about expansion due to temp. This would greatly remove most unknown variables but not completely. 3d surface mapping would add in a whole set of new challenges like having to use a very fine point on the webcam sensor finger that touches the surface. Spring pressure would have to be dropped or rely on only gravity to not damage the surface. For a moving “W” axis like mine for these kinda purposes, it would probably be a good idea to attach an optical linear scale and now rely on the ball screw for position.
Absolutely great work! In this video, I got kind of lost, though on the - what is intended which way. Basically with w you sense the laser-plane. And the readings should output the mountain in the python program? There you have a mock-up running, if I understood correctly? Then, with the laser-sensed height profile, you're going to machine the surface to flat. Is that somewhat correct? And eventually, the w axis will touch the surface with a probe on it, to measure the height profile? Thanks again. I'm actually so inspired to try something very similar and will get back to you, as soon as there's something to show :).
Yeah that's it. Probe touches the surface. Probe moves down the same amount everytime. Being spring loaded the probe can handle positive and negative height changes. The reading on the laser ends up being the deviation from the Z (or in this case W) height constant. Yeah the data in the graph is mock up from some mountain. The real value is on a surface will look about the same or like some other terrain.
Are you measuring the beam peak intensity? At peak the gradient is zero. If you measure both sides of the peak (the shoulders) where the gradients are a higher value, you will improve resolution.
Good job so far. Wanted to ask you where to source the camera module? I searched on ali webcam sensor and a couple 8mp boards for 30$ came up. Is that ok? Also, generic laser level would do the work???
@@BryanHoward thank you very much for your answer. I am trying to write my personal em.ail in order to contact you or vice versa, but youtube keeps deleting my comments. I have a suggestion for you if you are interested. Keep up the passionate work
You don’t really need to because you can just correct for it with a regression plan. Removing the arc in the lens due to misalignment of the laser is also needed. That can be done by calibrating over 3 points on a line and adjusting the alignment till they are all the same height.
I have tried to replicate your laser webcam system but the camera oscillates up and down a lot. I am bot sure if it is related to the laser beam being too thick. my need is a accuracy of +-0.005 mm but no luck so far with 2 different webcams
A couple things to check. If you have FFMPEG added to your path in Windows you can use the button in the bottom left of the webcam tool. That'll open up a small device window that you can change device settings on your webcam. Turn off most auto things is beneficial. Some cameras like the one I'm using have a transmission line filter at either 50hz or 60hz that also helps. Your laser power source also might have oscillation in it which will show up on the beam projection.
LinuxCNC documentation. There are a few basic examples to get yourself started. Much of what you end up doing good sending gcode commands to MDI. Most of LinuxCNC can be remotely operated some Python from what I can tell.
I’m quite happy with how stable the sensor is picking up the laser beam while the cnc machine is moving. I thought for sure it would be shaking all over the place and I’d have to put a good couple seconds of pause to read off the webcam.
Also currently jobless for the last couple months now due to the ongoing actors/writers strike which is effecting post-production/vfx that I work in. At this point I wouldn’t mind an industry change, so hit me up if you are or know any company/startups in automation, robotics, machining, prototyping, looking for a technical minded person such as myself Toronto/GTA or remote.
Hope things go well with you.
I am trying to setup still and when things get better .. would be great to connect and possibly collaborate.
There can be a good market but needs to be explored here in India.
I would be designing something which can be heavily calibratated. And what you did is the important part of calibration :)
I replicated your system in order to align linear bearing on my CNC granite epoxy . It worked fine. Great idea, incredible accuracy with a 50€ webcam. Faster than a precision straight edge and far less expensive. Thanks Bryan .
Quite genius, I like this laser-plane idea a lot.
Wild. I very much like the idea of an accessible means of understanding what my machines are doing.
Incredible. You're way crazier then I could ever have imagined, lol! Super interesting and bold idea. Amazing results with the Coin Scan. Your workshop is looking absolutely dope!
Hello Bryan !
Have you looked into Blum non contact tool setters ?
I think, using a camera as a laser sensor just like you do could make a great tool setter !
Of course it's very different to your current use case. Though, there might be some potential to look into.
You've made such exciting progress with this system. Can't wait to see the results it gives you!
Really excited to see this working, great idea
Awesome Bryan, thanks!
Very smart, I was thinking of using a granite surface plate and 3d probe to calibrate my machine to flat but this way is much slicker. Lasers would be a good way to measure repeatability of the touch probe though. Too bad the image sensor isn't longer such that you get more vertical measurement distance for 3d surfaces, though I guess you could tile and overlap a few image sensors to get that working if needed
You could get around it somewhat by using the webcam sensor in a similar way to a proximity homing/limit sensor. “W” axis would then search. It wouldn’t be as accurate depending on how well the ball screw on the “W axis is made”. But it would be better than without and having to rely on the entire cnc machine to be made perfect and running in climate control conditions to not worry about expansion due to temp. This would greatly remove most unknown variables but not completely.
3d surface mapping would add in a whole set of new challenges like having to use a very fine point on the webcam sensor finger that touches the surface. Spring pressure would have to be dropped or rely on only gravity to not damage the surface.
For a moving “W” axis like mine for these kinda purposes, it would probably be a good idea to attach an optical linear scale and now rely on the ball screw for position.
Fantastic work!
Nice! 👍 I need to repeat this experiment with my printnc 😀
Absolutely great work!
In this video, I got kind of lost, though on the - what is intended which way. Basically with w you sense the laser-plane. And the readings should output the mountain in the python program? There you have a mock-up running, if I understood correctly? Then, with the laser-sensed height profile, you're going to machine the surface to flat. Is that somewhat correct? And eventually, the w axis will touch the surface with a probe on it, to measure the height profile?
Thanks again. I'm actually so inspired to try something very similar and will get back to you, as soon as there's something to show :).
Yeah that's it. Probe touches the surface. Probe moves down the same amount everytime. Being spring loaded the probe can handle positive and negative height changes. The reading on the laser ends up being the deviation from the Z (or in this case W) height constant. Yeah the data in the graph is mock up from some mountain. The real value is on a surface will look about the same or like some other terrain.
Are you measuring the beam peak intensity? At peak the gradient is zero. If you measure both sides of the peak (the shoulders) where the gradients are a higher value, you will improve resolution.
Nope, I'm using a fit curve on a Gaussian distribution function. It's found in scipy.optimize. after that I take the mean of the fitted curve.
Nice @@BryanHoward
Good job so far. Wanted to ask you where to source the camera module? I searched on ali webcam sensor and a couple 8mp boards for 30$ came up. Is that ok? Also, generic laser level would do the work???
This is the webcam I used. I took the lens and LED's off it www.amazon.ca/gp/product/B07VL7BNLZ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
For laser, you just need a laser diode that you can get out of anything
@@BryanHoward thank you very much for your answer. I am trying to write my personal em.ail in order to contact you or vice versa, but youtube keeps deleting my comments. I have a suggestion for you if you are interested. Keep up the passionate work
@@BryanHoward I cannot reach you via youtube. If I post my email, my comment gets deleted. How can I contact you??
How do you make sure that the laser beam is level?
You don’t really need to because you can just correct for it with a regression plan. Removing the arc in the lens due to misalignment of the laser is also needed. That can be done by calibrating over 3 points on a line and adjusting the alignment till they are all the same height.
I have tried to replicate your laser webcam system but the camera oscillates up and down a lot. I am bot sure if it is related to the laser beam being too thick. my need is a accuracy of +-0.005 mm but no luck so far with 2 different webcams
A couple things to check. If you have FFMPEG added to your path in Windows you can use the button in the bottom left of the webcam tool. That'll open up a small device window that you can change device settings on your webcam. Turn off most auto things is beneficial. Some cameras like the one I'm using have a transmission line filter at either 50hz or 60hz that also helps. Your laser power source also might have oscillation in it which will show up on the beam projection.
Thank you Bryan. I will check those and let you know how it goes. I am really looking forward to have it working. @@BryanHoward
how/where did you learn how to controll linuxcnc via this python apps?
LinuxCNC documentation. There are a few basic examples to get yourself started. Much of what you end up doing good sending gcode commands to MDI. Most of LinuxCNC can be remotely operated some Python from what I can tell.
@@BryanHoward and from where did you learn to make this python apps?
Bryan, I think you are a bit too intense 😅
This is not even his final form
First??
Great topic .. I have to start building a cnc so this helps ..