Vision help

Post Reply
HITBraga
Posts: 4
Joined: Thu May 14, 2015 11:25 pm

Vision help

Post by HITBraga »

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 :D
JuKu
Site Admin
Posts: 1110
Joined: Thu Feb 14, 2013 3:06 pm
Location: Tampere, Finland
Contact:

Re: Vision help

Post by JuKu »

First half of BuildMachineCoordinateData_m() function.
RinusDamen
Posts: 32
Joined: Sun Apr 05, 2015 5:51 pm

Re: Vision help

Post by RinusDamen »

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.
HITBraga
Posts: 4
Joined: Thu May 14, 2015 11:25 pm

Re: Vision help

Post by HITBraga »

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
mrandt
Posts: 407
Joined: Mon Apr 27, 2015 10:56 am
Location: Stuttgart, Germany

Re: Vision help

Post by mrandt »

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.
HITBraga
Posts: 4
Joined: Thu May 14, 2015 11:25 pm

Re: Vision help

Post by HITBraga »

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
Attachments
Small sample of pcb with crosses for fiducial aligment
Small sample of pcb with crosses for fiducial aligment
reference_2.JPG (234.96 KiB) Viewed 4388 times
JuKu
Site Admin
Posts: 1110
Joined: Thu Feb 14, 2013 3:06 pm
Location: Tampere, Finland
Contact:

Re: Vision help

Post by JuKu »

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).
RinusDamen
Posts: 32
Joined: Sun Apr 05, 2015 5:51 pm

Re: Vision help

Post by RinusDamen »

I've also never seen this kind of fiducials...
mrandt
Posts: 407
Joined: Mon Apr 27, 2015 10:56 am
Location: Stuttgart, Germany

Re: Vision help

Post by mrandt »

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:
Fiducial shapes
Fiducial shapes
fiducial_shapes.png (23.29 KiB) Viewed 4369 times
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.
thereza
Posts: 138
Joined: Fri Feb 13, 2015 11:49 pm

Re: Vision help

Post by thereza »

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
Post Reply