Fiducial: how to use a cross ?

213 views
Skip to first unread message

jbasia

unread,
Feb 11, 2023, 10:53:36 PM2/11/23
to OpenPnP
How can I use a cross as fiducial? Is there are "fiducial learning" function?

Screenshot 2023-02-12 11.02.12.png

I tried to create a footprint with a similar shape.

Additionally, the partlist has no fiducials. So I got the coordinates from the gerber data, they are the center point of the crosses.

Screenshot 2023-02-12 11.49.35.png

Litterio Andrea Guainella

unread,
Feb 12, 2023, 10:49:32 AM2/12/23
to OpenPnP
Hi  jbasia,
maybe you could use the round cross shape and with DRO know real size of.
Unfortunately I can't try to real machine but I want to give you a suggestion of how I would go about it.

  - Create new Package i.e. PACKAGE-CROSS
  - move camera to very center point to "cross fiducial"
  - with jog move to left side as close to "start circle"
  - click to DRO bar
  - with jog move to right side as close to "end circle"
  - now come back to  PACKAGE-CROSS  package and to tab footprint add pin i.e. 1 with:
    - x: 0.000
    - y: 0.000
    - width and length: value in DRO bar X
    - rot: 0.000
    - %round: 100.000
  - now create new part i.e. FIDUCIAL-CROSS and assign PACKAGE-CROSS as package with height 0.000
  - move camera to very center point to "cross fiducial"
  - adjust if need pipeline
  - use "Test fiducial locator" button

I'm curious if it works. Please try and report back.

LAG

tonyl...@gmail.com

unread,
Feb 12, 2023, 4:52:21 PM2/12/23
to OpenPnP
At the very least, you are going to have to modify the stock pipeline as it uses the DetectCircularSymmetry stage to detect round fiducials so there is no way it would work with crosses. You'd probably need to change it to use the CreateFootprintTemplateImage and MatchTemplate stages for the detection. Just fair warning, it's not a trivial task to create robust pipelines. I'd really recommend you switch any future designs to use round fiducials so you can use the stock pipeline.

If you don't have many boards with crosses as fiducials, instead of trying to modify the pipeline and to get the automated fiducial check to work, I suggest you just use the manual Multi-Placement alignment instead. You can even use your current cross fiducials with it as it uses the operator to align the camera to the fiducial/placement rather than relying on computer vision (the pipeline) to do the job.

MultiComponentAlignment.png

Tony

mark maker

unread,
Feb 13, 2023, 2:14:53 AM2/13/23
to ope...@googlegroups.com

The "Footprint Fiducial" stock pipeline is available as a choice:

You then need to make a Footprint that matches your cross. Two pads across each other should do. If you don't have the specs, measure it as LAG explained.

You can then Specialize the Vision Settings (see first screen shot), if you need to tweak the pipeline.

_Mark

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/78c18d76-95ed-491c-9ddf-2c98509a1093n%40googlegroups.com.

jbasia

unread,
Feb 13, 2023, 6:36:30 AM2/13/23
to OpenPnP
So far it's not working. Will try more tomorrow. The quality of my top-light might be an issue (replacement is on the way).

In the meantime, can I set and "approve" the fiducial locations manually and then do assembly?

tonyl...@gmail.com

unread,
Feb 13, 2023, 4:29:20 PM2/13/23
to OpenPnP
>In the meantime, can I set and "approve" the fiducial locations manually and then do assembly?

Follow my suggestion above!

Tony

tonyl...@gmail.com

unread,
Feb 13, 2023, 6:06:52 PM2/13/23
to OpenPnP
Something just occurred to me. I may be wrong but I'm pretty sure the MatchTemplate stage doesn't handle the case where the image being searched is rotated relative to the template. So, you may be able to get it to work in certain scenarios (board and fiducials are aligned well in X-Y), but I don't think you will be able to make it work in the general case (arbitrary board rotations).

Tony

mark maker

unread,
Feb 14, 2023, 2:02:40 AM2/14/23
to ope...@googlegroups.com

jbasia

unread,
Feb 17, 2023, 1:50:37 AM2/17/23
to OpenPnP
Following the manual fiducial selection, setting two fiducials successfully. This worked fine. I get to "Click finish to move camera to origin"

However when I do "Next Step" machine looks again for the same two fiducials - and can't find them. Is that a bug? Obviously the machine should go the the next part in the list. Or not?


In the Chinese software when a fiducial wasn't found it paused, I could then adjust (aka jog) and "accept".

For the cross, it had also a function to take an image of something and match that. That worked pretty good.




On Monday, 13 February 2023 at 05:52:21 UTC+8 tonyl...@gmail.com wrote:


MultiComponentAlignment.png

tonyl...@gmail.com

unread,
Feb 17, 2023, 9:26:31 AM2/17/23
to OpenPnP
What "Next Step" are you doing? If you mean running the job, be sure you have Check Fids disabled on the board or the first thing the job will attempt is a fiducial check.

BTW - why are you only using two fiducials for board alignment (I see your board has three)? Two doesn't allow for compensating for any non-squareness of the axes nor scaling differences between the axes.
Reply all
Reply to author
Forward
0 new messages