[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: pick and place ?plugin?footprints.c? for
> I wonder if something that took component outlines from an assembly
> library (i.e. something known to accurately represent the components
> from a mechanical point of view and controlled by the assembly house)
> and dropped them on the board or let a user drag them onto a board and
> then had some magic which lined them up with solderpaste openings would
> work. In other words, a user gets them close and now that the
> components are close to the right place it becomes easier for the
> software to make that last bit of adjustment.
I've been thinking about the gerber -> centroid utility proposed in
this thread. One scheme which I have considered is similar to your
proposal.
From a machine vision standpoint, it's very difficult to just look at
a bunch of objects (e.g. tracks & pads) and infer what they are.
However, it is easier to have a bunch of target patterns (e.g. known
footprints), and then do a 2D autocorrelation of the target pattern on
the unknown image (i.e. the Gerber image). The places where you get a
peak in the autocorrelation correspond to places where the target
exactly lined up with the desired feature on the board.
Therefore, in this scheme you would have a bunch of known, common
footprints stored in some bitmap format, and then you'd convert the
Gerber layer to a bitmap format. You'd loop over the footprints, and
would then do the 2D autocorrelation of the board bitmap with each
footprint bitmap. The places where you get a autocorrelation peak
correspond to a pattern match, i.e. the presence of the target
footprint.
By the way, each target footprint would have a known, calibrated
centroid, so the position of the autocorrelation peak could give
exactly the centroid position.
In this scheme you'd have to do some further analysis to
e.g. distinguish the signature of autocorrelating a DIP-14 target
against a DIP-16 on the board. That's where things would get
interesting, and might require human supervision.
Just a thought. I'm not promising to do any of it.....
Stuart
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user