Secondary fiducial size and location...

55 views
Skip to first unread message

Dave Thomas

unread,
Apr 15, 2026, 11:24:41 AM (12 days ago) Apr 15
to OpenPnP
Does the size of the secondary fiducial matter?   I'm using this:

https://github.com/openpnp/openpnp/files/5542424/FiducialHome.pdf

But the circle is much smaller than the staging platform fid on the Lumen V4.

For location--all I could find in the OpenPnP docs was that it should be "close" to the primary fid.  That's pretty vague...

What depends on the secondary fid?  What's going on.  Fixed focal length top camera.

tonyl...@gmail.com

unread,
Apr 15, 2026, 3:34:02 PM (12 days ago) Apr 15
to OpenPnP

>Does the size of the secondary fiducial matter?

Typically, both calibration fiducials are 1mm in diameter, but their exact size and location don't matter much since you enter that information into OpenPnP during the calibration process. They need to be big enough so that they can be reliably detected, say at least 10 pixels in diameter, but small enough that the camera can be scanned around and have the fiducial visible in different parts of the image, probably occupying no more than 5-10% of the camera's field-of-view. 

The calibration fiducials need to have high contrast with their surrounding area (I think the documentation recommends a white fiducial on black background, but I find it much easier to print a black fiducial on a large white background with a laser printer and it works just as well if not better). The clearance around the calibration fiducials should be fairly large, if you center your camera on the fiducial, ideally you shouldn't be able to see anything other than the fiducial and its high contrast background all the way out to the edge of the image. This typically means you don't want to use your homing fiducial as one of the calibration fiducials since it probably doesn't have a large enough clearance around it.

When entering the information about the fiducials into OpenPnP, the most important parameter to get right (for both calibration fiducials) is to measure and set their Z coordinate as precisely as possible. I suggest using a piece of paper as a "feeler gauge" between the fiducial and nozzle tip. Slowly jog the nozzle tip down until you can just feel it drag on the paper when you try to slide the paper around. Then set the fiducial's Z coordinate to the Z coordinate of the nozzle tip minus the thickness of the paper. For example, if the nozzle tip's Z coordinate is at -35.17mm when you just feel the paper dragging and the paper is 0.24mm thick, the fiducial's Z coordinate is -35.17 - 0.24 = -35.41mm.

> What depends on the secondary fid?

During Advanced Camera Calibration, the camera is scanned over both fiducials (so that images of them are captured all the way out to the edge of the camera's field-of-view). Among other things, that information is used to calculate the camera's precise focal length so that given an object's Z coordinate, its size can be calculated from the number of pixels it occupies in an image (and vice versa). You may want to read https://github.com/openpnp/openpnp/wiki/Advanced-Camera-Calibration for more information.

Dave Thomas

unread,
Apr 16, 2026, 8:50:30 AM (12 days ago) Apr 16
to OpenPnP
Great info.  Thanks for taking the time for the detailed explanation.

There seems to be a lot of functionality that isn't documented.  For example, part sizes and pad locations can be defined in packages tab.   Will defining those help prevent rotation confusion when picking a SOT23 part?  (I have tried using search angle 20 instead of 45 and that improves reliability, but still not 100%).  Is this discussed somewhere?

Or generally, where is the best place to find additional OpenPnP documentation?   Ask here?

Toby Dickenson

unread,
Apr 16, 2026, 10:22:55 AM (11 days ago) Apr 16
to ope...@googlegroups.com
Hi Dave,

On Thu, 16 Apr 2026 at 13:50, Dave Thomas <davetho...@gmail.com> wrote:
>
> Great info. Thanks for taking the time for the detailed explanation.
>
> There seems to be a lot of functionality that isn't documented. For example, part sizes and pad locations can be defined in packages tab. Will defining those help prevent rotation confusion when picking a SOT23 part?

Defining those fields allow you to enable part size checking. That
wont prevent errors, but it will detect them and allow you to correct.

When previously you might have had a misplaced part, this improves the
situation by giving you either an error message (if you are using the
Alert error handling) or a few parts in the discard bin (Deferred
error handling)

Error handling is described here:
https://github.com/openpnp/openpnp/wiki/User-Manual#handling-errors


Defining the pad locations enables composite vision. This enables you
to place larger parts, improves accuracy and reliability for mid-size
parts, but probably wont be any help with sot-23.

> (I have tried using search angle 20 instead of 45 and that improves reliability, but still not 100%). Is this discussed somewhere?

You wrote "sot-23 rotation confusion". Do you definitely have the
problem described at:
https://github.com/openpnp/openpnp/pull/1936

If you have that problem, but the proposed solution on that PR does
not work, then it sounds like you have a pick angular error of >20°.
Are you picking from too high, so that the part jumps onto the nozzle
tip and tumbles through the air?

Or do you have a vision configuration problem? Please double-click the
bottom camera window to save a full-frame image. The snapshots are
saved in ~/.openpnp2/snapshots. Ideally a snapshot of a sot23 causing
a problem, but a snapshot of any sot-23 might help the experts here
spot a problem.

> Or generally, where is the best place to find additional OpenPnP documentation? Ask here?

Yes, this is the right place.

Toby

Dave Thomas

unread,
Apr 16, 2026, 3:49:37 PM (11 days ago) Apr 16
to ope...@googlegroups.com
Yes, I had exactly that problem.

I left it at 20 degrees and was able to get through a panel placing 12 SOT-23's with out issue.  A couple did the tilted rectangle thing and  I had to recycle and pick again.

Thanks!

--
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 visit https://groups.google.com/d/msgid/openpnp/CAH35urdtxz5HgJKZ48uW47xyvr%3D1rahUhGn6ZeFqy-RYO1AZ9Q%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages