Hi Linux CNC forum users,
I'm working towards a HAL module for linuxcnc that provides machine vision needed for pick and place of SMT parts. Does anyone have any experience with pick and place operations of any kind using linuxcnc? I'm keen to assemble comprehensive instructions/software for the setup of pick and place with linuxcnc.
I like the fact that linuxcnc can be heavily customised with relative ease, is easily set up on all manner of machines etc. It would be great to extend this ease of use and retrofitting to the pick and place world.
I have a few points I'd like to ask about/muse on in detail:
- Component feeders - defining base locations in machine coords
- Components and tapes - advance, thickness and offsets from base feeder location
- Camera locations - also need to be defined somehow in the machine config
- Control without Gcode - I see elsewhere on the forum Andy was working on raster scanning laser cutters without Gcode - perhaps he's willing to share on this experience?

It would certainly make most sense to avoid Gcode for this - parsing the file from CAM (in something like a GladeVCP) should not be too hard, queuing up and running the deduced steps into HAL commands to get the desired motion would be my preferred method here. This should also make it easy to make the control robust against dropped picks etc, as it'll be possible to try a pick and verify before continuing much more easily than this behaviour can be defined in gcode (I think).
In an effort to keep the results as easily manageable as possible I'd propose the following simple structure:
GladeVCP panel - keeps track of feeder locations, cameras, loaded components and parameters, file parser for the input file and eventual config file(s)
HAL Vision module - a userspace module providing common needs such as alignment with fiducials, verifying part presence, orientation and offsets
Example HAL files to set it all up
Is anyone experienced with any of these points and willing to donate some time to worthy cause? Since I'm working on the vision system at the moment it would be great to see some parallel development of the other aspects. I'd like to work with others on this if there's anyone mad enough/willing to chip in somehow!
I'd be glad to hear anyone's thoughts on any points here (or any I have missed)
Agree?/disagree?/it'll all end in tears?/sounds like fun, count me in?
Thanks in advance,
Ed