Sienci-Labs / gsender

Connect to and control Grbl-based CNCs with ease
https://sienci.com/gsender/
Other
178 stars 41 forks source link

feature request - positioning with a camera #497

Open lucem opened 5 months ago

lucem commented 5 months ago

Hi, I also posted this as a comment on this video (https://www.youtube.com/watch?v=-PpH7bcs7vM), but since you asked me to, I'll open it up as a feature request on github as well. (update: yt seems to have not liked my comment and removed it...)

bCNC has a nifty camera alignment plugin (https://github.com/vlachoudis/bCNC/wiki/Probe-Camera-Alignment) which would suit gSender well if it was implemented. (Here it is in motion https://www.youtube.com/watch?v=bs4og_uanjM)

Essentially, it consists of grabbing a frame of the camera (regular webcam), overlaying the crosshair graphic with correct scaling (explained in the bCNC wiki entry) and knowing the fixed tool to camera offset in XY; that way, you can move using the camera and align to the stock visually, set your zero, then switch over to the tool and the center of the tool is in the exact place where the camera has been before.

In terms of effort, it's not that hard to implement. I'd do it myself, were it not for the fact that a) I am no web developer, I write C++ b) I have no experience programming Electron, which is essentially a browser (chromium) and a lot of APIs on top of it so I think it would take me way too long to come up with an implementation and send you a pull request. Instead, I will ask you to consider implementing it.

For me personally, the lack of being able to use the camera is what keeps me from using gSender exclusively as an otherwise excellent gcode sender, as in other ways, it is more than perfect - grblHAL support as a convincing argument for instance :)

Thanks a lot, I hope you find this feature request as useful as I do.

Some other resources to look at here:

A general article going over the concept and uses of attaching a camera on a CNC https://www.datron.com/resources/blog/a-camera-can-revolutionize-your-workpiece-setup/

An example of the type of camera useful for this, and how it may be attached https://hackaday.com/2015/03/16/microscope-camera-for-zeroing-cnc-machines/ https://cockrum.net/cnc.html#microscope (His site is an excellent resource on the topic, as well as many other things)

A 4-part series on developing such a solution https://medium.com/home-wireless/a-tiny-sealed-raspberry-pi-webcam-594896965de6 https://medium.com/home-wireless/cnc-spindle-cameras-part-ii-7b5ae0b5fbed https://medium.com/home-wireless/spindleview-cnc-camera-software-a647393fb379 https://medium.com/home-wireless/how-to-use-a-spindle-camera-and-spindleview-c2d28eba6d9b (The why, how and the means)

A demonstration of a camera system on a German CNC project site plus software for it https://www.cnc14.de/news/cnc14camera https://github.com/sussner/CNC14Camera

stefan63 commented 1 week ago

Yes we need this feature for PCB drilling, please!

J-eremy commented 1 week ago

Im gonna bump this strictly for the reason that this would also help with fixture/clamp locating for some of the saucy clamping jobs.