Hello,
I need some help to an project i'm working on (school). I need help to detect the fiducial's and do the calculation for x,y,rotation displacement of some board.
I already downloaded the source code, but can you guide me where it is ?
My project is check if all components are at the board (comparing with a good pcb). I will take one picture of one good pcb, them take another one to a processed pcb and make comparing, but first i need to find fiducials, so i can align both images to do correct comparision.
Thanks in advanced,
Paulo
Nice job done with liteplacer, love it
Vision help
Re: Vision help
First half of BuildMachineCoordinateData_m() function.
-
- Posts: 32
- Joined: Sun Apr 05, 2015 5:51 pm
Re: Vision help
Maybe the work of HITBraga will even create an opportunity for the future; checking the board after P&P is completed, a kind of automated optical inspection (AOI) by using the down looking camera scanning the board after the P&P process is completed.
Could be done after reflow or after P&P process before reflow. As a reference you could also use the data which was used to populate the board, or indeed a golden sample like HITBraga is intending to do.
Of course for proto typing this is not really needed (these boards get maximum attention anyway).... however a missed / dropped component will for sure be detected and warn the user to correct this issue.
I think the work of HITBrag could bring an useful feature in the LitePlacer software for quality inspection after the job.
Could be done after reflow or after P&P process before reflow. As a reference you could also use the data which was used to populate the board, or indeed a golden sample like HITBraga is intending to do.
Of course for proto typing this is not really needed (these boards get maximum attention anyway).... however a missed / dropped component will for sure be detected and warn the user to correct this issue.
I think the work of HITBrag could bring an useful feature in the LitePlacer software for quality inspection after the job.
Re: Vision help
Hi,
Thanks to Juku and RinusDamen for the reply.
Juku why you choose circles instead other geometric form. Usually pcb fiducials are crosses. Holes (cirles) you could have lot of them on a pcb (vias,drilled holes, pin and paste holes) but crosses you just have for recognition.
Thanks in advanced
Thanks to Juku and RinusDamen for the reply.
Juku why you choose circles instead other geometric form. Usually pcb fiducials are crosses. Holes (cirles) you could have lot of them on a pcb (vias,drilled holes, pin and paste holes) but crosses you just have for recognition.
Thanks in advanced
Re: Vision help
Hi,
circles were not chosen by Juha. It is just the industry standard for printed circuit boards.
The shape, size and things like surface, solder mask, etc. are all standardized by IPC and probably a few other standardization bodies.
Check here for an explanation that is easy to understand:
http://www.ladyada.net/library/pcb/fiducials.html
And here for a more comprehensive writeup:
http://www.accutroninc.com/pdf/download/fiducial.pdf
Basically, circular shapes are easy to fabricate on a PCB, do not use up much space and can be detected very precisely.
I know crosses are used as fiducial markers in printing applications (paper prospects and the like) but I have never seen those on any PCB.
I also think crosses would be less accurate for a few reasons: Etching process limits, detecting the exact center of a circle vs. the geometrical center of a cross, optical similarity to circuit traces, etc.
circles were not chosen by Juha. It is just the industry standard for printed circuit boards.
The shape, size and things like surface, solder mask, etc. are all standardized by IPC and probably a few other standardization bodies.
Check here for an explanation that is easy to understand:
http://www.ladyada.net/library/pcb/fiducials.html
And here for a more comprehensive writeup:
http://www.accutroninc.com/pdf/download/fiducial.pdf
Basically, circular shapes are easy to fabricate on a PCB, do not use up much space and can be detected very precisely.
I know crosses are used as fiducial markers in printing applications (paper prospects and the like) but I have never seen those on any PCB.
I also think crosses would be less accurate for a few reasons: Etching process limits, detecting the exact center of a circle vs. the geometrical center of a cross, optical similarity to circuit traces, etc.
Re: Vision help
Hi all,
mrandt thanks for the reply of course, but i can say crosses are used alot in electronic industry for pcb aligment.
The picture attached is just an example i can show you alot of them.
I can use holes of course or other shape that Aforge.Net or OpenCv could recognize.
Where can i get info(manual, ect) about HomographyEstimation library ?
Thanks all
mrandt thanks for the reply of course, but i can say crosses are used alot in electronic industry for pcb aligment.
The picture attached is just an example i can show you alot of them.
I can use holes of course or other shape that Aforge.Net or OpenCv could recognize.
Where can i get info(manual, ect) about HomographyEstimation library ?
Thanks all
- Attachments
-
- Small sample of pcb with crosses for fiducial aligment
- reference_2.JPG (234.96 KiB) Viewed 5769 times
Re: Vision help
First time I see that kind alignment mark, and I started my career in electronics before SMD technology. Support for non-standard marks could be added, but is not in my list of planned additions. AForge.NET can recognize some other shapes. Not a cross, but a cross is a combination of straight lines in a certain relationship, so with some added intelligence... Or you can use vias, mounting holes etc.
> Where can i get info(manual, ect) about HomographyEstimation library ?
You can't, it is a separately licensed piece of software that I paid for. Sorry about this.The usage is shown in the source, and if that is unclear, I might be able to answer questions. To start with, it takes three or more fiducials, that create a well behaved transform (three in a line don't, for example).
> Where can i get info(manual, ect) about HomographyEstimation library ?
You can't, it is a separately licensed piece of software that I paid for. Sorry about this.The usage is shown in the source, and if that is unclear, I might be able to answer questions. To start with, it takes three or more fiducials, that create a well behaved transform (three in a line don't, for example).
-
- Posts: 32
- Joined: Sun Apr 05, 2015 5:51 pm
Re: Vision help
I've also never seen this kind of fiducials...
Re: Vision help
Well, I guess there is always something new to learn
I found the following picture of "commonly used and supported" fiducial shapes in the manual for a commercial pick and place machine:
I also talked to a friend who runs several professional PCB assembly lines for automotive parts. According to him, circular fiducials are the de facto standard in his industry.
Anyways, I guess there is more than one way to solve the problem of visual alignment - but I am used to circular fiducials and more than happy with the way these are supported by LitePlacer.
I found the following picture of "commonly used and supported" fiducial shapes in the manual for a commercial pick and place machine:
I also talked to a friend who runs several professional PCB assembly lines for automotive parts. According to him, circular fiducials are the de facto standard in his industry.
Anyways, I guess there is more than one way to solve the problem of visual alignment - but I am used to circular fiducials and more than happy with the way these are supported by LitePlacer.
Re: Vision help
I've implemented arbitrary fiducal detection. look at my other posts to find a link, source is on github. I use it to detect oval testpoints as fiducals. -reza