OpenPnp Fiducial Pipeline - Urgent Help Needed (I broke it!)

127 views
Skip to first unread message

Samuel Sebire

unread,
Mar 19, 2023, 5:32:52 AM3/19/23
to OpenPnP
Hi everyone
I have a LumenPnp and have been setting it up, populating boards now with pretty much everything working except bottom component vision I need to tweak.

Then, in trying to make fiducial recognition work a bit better at one point I accidentally reset the fiducial vision pipeline and what was there as a default works differently (and doesn't work).

The original stock fiducial vision settings would have been "imported" when I was setting up the machine xml file etc. 

My issue: I really can't afford to lose all the settings I've set for the machine so far as I'm in the middle of a production run of about 30 panels/250PCBs. 

A few questions:

Does anyone have a vision pipeline for a simple 1mm ENIG fiducial that I can copy/paste in?

Are the vision pipelines stored in the xml file? If so can I maybe track down the pipeline that Stephen at Opulo "ships" with it and edit that into my current xml file?

Or is the fiducial vision pipeline stored somewhere else?

Many thanks, really urgently need this resolved as the machine is essentially bricked at the moment.

mark maker

unread,
Mar 19, 2023, 8:06:05 AM3/19/23
to ope...@googlegroups.com

Hi Samuel,

First of all, don't panic. Stay cool 😎

I recommend trying to use the stock pipeline. It is the most robust and self-tuning. Unfortunately, the LumenPnP default config is dragging along outdated pipelines.
  1. First identify the fiducial part and its Package.



  2. From there go to its package on the Packages tab, to the Footprint sub-tab.



  3. Check that it has one pad where Width and Height are 1mm, and that it is 100% Round (and center X Y are both 0).
  4. Then in the list, under FiducialVision select the "-Stock Fiducial Vision Settings -"



  5. Then jog to one of the fiducials in question.
  6. Go to the Log tab, set both levels to TRACE and clear the log (red X).
  7. Then go back to the Packages tab, to the Fiducial Vision Settings sub-tab.
  8. Press the Test Fiducial Locator button.
  9. If it does work, congratulations! This is the power of the new self-tuning pipeline. Please report back (and you can ignore the rest of this list). 😁

  10. If it does not work, still no reason to panic. Stay cool 😎
  11. Go back to the Log tab, copy the log (green icon button), and send it here.
  12. Double click the camera view while over the fiducial. The camera view will flash.
  13. Go to your Home/.openpnp2/snapshots directory.
  14. Send the newest image (named by camera name and timestamp).
  15. I will look at this data and try to find out why the stock pipeline fails.
  16. Now to the rescue of your old pipeline: OpenPnP creates backups of all your configurations, including your good old vision-settings i.e. fiducial pipeline, under Home/.openpnp2/backups



  17. The backups are organized by timestamp of backup. That's usually when you exit OpenPnP, and it contains the configuration that was last saved (i.e. the folder timestamp is the "end-of-life" of the old config, not its original "save time"). Select one, where you know that the pipeline was still good.
  18. Zip it, send it.
  19. Tell me the fiducial package ID in question. I will extract the right pipeline for you.
  20. Or if you understand the structure and assignments, you can try yourself, of course. Make sure to again backup (File / Save Configuration) before "transplanting" anything.
  21. Oh, and in case you missed it before: Stay cool 😎!

_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/6f6c7a19-092d-457e-be25-c6fb9c53695cn%40googlegroups.com.

Samuel Sebire

unread,
Mar 19, 2023, 8:19:48 AM3/19/23
to OpenPnP
Hi Mark

Okay so firstly a huge thanks for the detailed response. Also, I've been able to do a fresh install using defaults, the LumenPnp default vision-settings.xml and then the rest of my config xmls, so I'm now back up and running.

That being said, after my order goes out and when I start getting more into the bottom vision stuff, I also want to overhaul the fiducial vision side of things and not run with old and outdated pipelines.

I was aware that there must be somewhere else where dimensions were being defined, but this makes a lot more sense now knowing that it's working off that fiducial part. I've also improved the focus adjustment of the camera 
as I think this was part of the original problem I was trying to solve. My PCBs are 3mm and my feeders are also higher than the LumenPNP stock feeders and when I first set things up a few weeks ago I was expecting to be focusing lower down.

Question - is it a bug that there's no easy way I can see to create a new fiducial vision pipeline manually in the same way as bottom vision pipeline? The green plus creates a bottom vision pipeline whether that or fiducial vision is selected in the top right hand side dropdown.
Or is it that these get created based off the parts so if I create a new fiducial package I'd be able to add from there? Just would have been nice to create a new one there and then, name it default machine vision pipeline and paste that in.

Many thanks

Samuel Sebire

unread,
Mar 19, 2023, 8:28:08 AM3/19/23
to OpenPnP
Some photos of my set up here in Windsor, UK. Going to be a great start start. I've also got a 3m long conveyor reflow oven and a siplace 80 F4 which will be my next OpenPnp project once this machine is fully operational. 

Potentially getting a free Dek horizon paste printer in a week or two. Will be far more reliable than hand pasting with my lasercut polyester stencils I make.

Many thanks, Sam
20230319_122100.jpg
20230319_122256.jpg
20230319_122107.jpg

mark maker

unread,
Mar 19, 2023, 8:41:22 AM3/19/23
to ope...@googlegroups.com

Hi Samuel,

> Question - is it a bug that there's no easy way I can see to create a new fiducial vision pipeline manually in the same way as bottom vision pipeline? The green plus creates a bottom vision pipeline whether that or fiducial vision is selected in the top right hand side dropdown.

Yep, good catch. Will fix.

The first reason this bug was not detected before, is that it is not really practical anymore to create vision settings without any relation to the fiducial (or part), or package. So instead, you should go to the fiducial (or part) or package with which you want to try your new pipeline. Then use the Specialize for ... button. This creates and assigns the new setting.

Then you can start developing and testing your new pipeline.

Name it.

And finally, if you want to make it the new default, just assign it to Machine Setup / Vision / Fiducial Locator.


The second reason this bug was not detected before, is that to my knowledge, the "- Stock Fiducial Vision Settings -" pipeline just simply nails them all.

I have yet to see the round fiducial that cannot be detected, assuming you have reasonable light/diffuser to actually see its contour properly.

That's why I hope you will - after your current production run - still follow my guide to setup proper fiducial vision. I spent quite some time writing it, so hope it will be useful after all. 😁

_Mark

mark maker

unread,
Mar 19, 2023, 8:52:27 AM3/19/23
to ope...@googlegroups.com

mark maker

unread,
Mar 19, 2023, 8:56:22 AM3/19/23
to ope...@googlegroups.com

> Also, I've been able to do a fresh install using defaults, the LumenPnp default vision-settings.xml and then the rest of my config xmls, so I'm now back up and running.

About that: I still hope you read my instructions later. Towards the end, it tells you about your own backups. So if you were OK with completely resetting all the pipelines back in time, then you could simply have taken your own backup of vision-settings.xml of a certain timestamp. Then at least you would have preserved any of your own adaptations up to that point.

_Mark

On 3/19/23 13:19, Samuel Sebire wrote:

Samuel Sebire

unread,
Mar 19, 2023, 8:57:24 AM3/19/23
to OpenPnP
Hi Mark

Okay that's great. With so many sections and sometimes seemingly duplicated but slightly different areas in OpenPNP it can be difficult to know what the workflow is meant to look like. 
For now I've gone with the LumenPnp one just as the pipeline is easy enough (circles recognition) that I'd already done a lot of fiddling about with it so knew how to debug it, whereas 
when I tried earlier on the stock fiducial pipeline, maybe because a part wasn't properly assigned, not sure, it wasn't finding anything in the symmetry operation so difficult to debug.


For example, Default Machine Fiducial... Stock Fiducial....  they're terms which make absolute sense to someone who knows what they do and no sense to someone who doesn't!

I'm not sure how exactly but I was able to delete that Default Machine Fiducial Locator by some sort of set to defaults operation. Don't remember how it happened now.

I look forward to having the time to really learn it properly and get set up using the stock fiducial vision pipeline. 

Many thanks

Samuel Sebire

unread,
Mar 19, 2023, 9:11:10 AM3/19/23
to OpenPnP
Hi Mark

A question - so with getting started on bottom vision, can the stock bottom vision work without specific part information, should the rectilinear symmetry option be used instead, or do I need to go through an draw footprints for all the parts I want to use?

Many thanks

mark maker

unread,
Mar 19, 2023, 10:04:33 AM3/19/23
to ope...@googlegroups.com

> A question - so with getting started on bottom vision, can the stock bottom vision work without specific part information,

Yes, it will just look for a rectangular bounding box around the bright contacts.

> should the rectilinear symmetry option be used instead,

Nope, it is currently unusable as it turns out to be way too slow on most PCs, being programmed in Java.

> or do I need to go through an draw footprints for all the parts I want to use?

Nope, they are not usually needed.

The exceptions are when parts are too large or have non-rectangular outline. Some of these can then be detected using Muti-shot Bottom Vision:

https://github.com/openpnp/openpnp/wiki/Vision-Compositing

_Mark

mark maker

unread,
Mar 19, 2023, 10:21:04 AM3/19/23
to ope...@googlegroups.com

> With so many sections and sometimes seemingly duplicated but slightly different areas in OpenPNP it can be difficult to know what the workflow is meant to look like.

Does this help?

https://youtu.be/W63GbSf5BHk

_Mark

Samuel Sebire

unread,
Mar 19, 2023, 4:02:33 PM3/19/23
to OpenPnP
Will check it out. Thanks.

Things working well at the moment except for some issues with bottom vision due to the pick and place picking up components off-centre.
Because my strip feeders aren't perfectly square on the machine (and would take a bit of time to set up properly), components get picked off-centre, but this does not interfere with proper picking.

The machine vision I'm using for now is rectilinear symmetry as it works, doesn't seem to be slow, but the stock vision one seems to pick up ambient light in one corner of the image and gets confused.

The issue I have is that the vision gets confused if the part is too off centre. I just nudge the component on the end of the nozzle and then restart and all is fine.

Is there a way to make it more tolerant of off-centre parts? I've attached an example image of when it gets stuck.

Many thanks

mark maker

unread,
Mar 20, 2023, 3:10:19 AM3/20/23
to ope...@googlegroups.com

Hi Samuel

please open a new thread for that new topic.

(And I don't see an attached example image)

_Mark

Reply all
Reply to author
Forward
0 new messages