New No-Tuning Bottom Vision Stage and Pipeline: Rectlinear Symmetry

873 views
Skip to first unread message

ma...@makr.zone

unread,
Mar 6, 2022, 10:42:08 AM3/6/22
to OpenPnP
Hi all,

added a  bottom vision stage and pipeline called "Rectlinear Symmetry".

It is intended primarily for all the symmetric parts, i.e. parts that are left-right and/or upper/lower symmetric. For these it should be completely tuning free, it should work for any part, any machine, any camera, any lighting out of the box.

For asymmetric parts, a little tuning is still required, similar as in the other pipelines. It is done through the new Pipeline Parameters, as presented before.

Available as a new testing version.

All the details including Instructions for Use, here:
Please read the whole thing, there are additional changes documented.

find-maximum-angular-contrast-small-ic.gif

_Mark

Jan

unread,
Mar 7, 2022, 4:52:38 AM3/7/22
to ope...@googlegroups.com
Hi Mark!
That's really cool! I've tried it in the offline editor with the images
I send you and found a few things:
a) I would really, really ask you to write the parameters that are
controlled externally (using automatic bottom vision calibration and
Parameter* stages) to the GUI. I can deduce that will likely be used for
the nozzle tip background removal, but not for the parameters, that are
controlled by sliders on the GUI.
b) I see a few false detections with 0402 resistors (white white body),
none with 0402 caps (black body). Tuning the expected angle helped.
Seems the symmetry detection works better for legs then bodies.
c) For my QFNs I did not found a set of parameters for good detection.
Seems, that for this type of full symmetric parts, some diagonals are
almost as good as the true orientation. For SOT-563 I do not see this
behavior.
d) My asymmetric connectors are also recognized well with just
SymmeticUpperLower and FullSymmetry as well as EdgeSymmetry, however the
legs are never taken into account.
Very good work! I agree, this makes a very robust default pipeline.

Jan

On 06.03.2022 16:42, ma...@makr.zone wrote:
> Hi all,
>
> added a  bottom vision stage and pipeline called "Rectlinear Symmetry".
>
> It is intended primarily for all the *symmetric* parts, i.e. parts that
> are left-right and/or upper/lower symmetric. For these it should be
> *completely tuning free*, it should work for any part, any machine, any
> camera, any lighting *out of the box*.
>
> For *asymmetric* parts, a little tuning is still required, similar as in
> the other pipelines. It is done through the new Pipeline Parameters, as
> presented before.
>
> Available as a new testing version.
> https://openpnp.org/test-downloads/ <https://openpnp.org/test-downloads/>
>
> All the details including *Instructions for Use*, here:
> https://github.com/openpnp/openpnp/pull/1386
> <https://github.com/openpnp/openpnp/pull/1386>
> Please read the whole thing, there are additional changes documented.
>
> find-maximum-angular-contrast-small-ic.gif
>
> _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
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/c34fea6d-d1d6-437a-acf3-0bbc353f8437n%40googlegroups.com
> <https://groups.google.com/d/msgid/openpnp/c34fea6d-d1d6-437a-acf3-0bbc353f8437n%40googlegroups.com?utm_medium=email&utm_source=footer>.

mark maker

unread,
Mar 7, 2022, 5:37:37 AM3/7/22
to ope...@googlegroups.com

Thanks for testing!

> I've tried it in the offline editor with the images I send you

Be aware that doing that needs careful consideration. You really need to recreate the situation artificially, otherwise you will get problems, that are not real problems, but purely of your simulation.

If you simulate using captured images in the Pipeline Editor...

  1. Make sure to set the handleAsCaptured checkbox in the ReadImage stage.
    https://github.com/openpnp/openpnp/wiki/ImageRead
  2. On the Vision Settings, set the Placement Angle to roughly match the angle of the part in the image.
  3. Load the nozzle tip that was actually used to pick that part in the image.
  4. Then select the nozzle with that nozzle tip loaded in the Machine Controls.
  5. Make sure the nozzle tip is configured correctly for the diagonals:
    https://github.com/openpnp/openpnp/wiki/DetectRectlinearSymmetry#nozzle-tip-configuration
  6. Make sure the Background Calibration is done for the nozzle tip:
    https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Background-Calibration
  7. When any of the above changes, close and reopen the Editor.

Back to your list:

a) I will keep it in mind.

b) "Tuning the expected angle helped." There should be no "tuning" necessary.  Make sure you did points 2+7 above.

c) QFNs should actually work the best. But again the expectedAngle must be correct! Furthermore, the diagonals on the nozzle tip must be large enough. Can you send the image?

d) Again, can you send the image?

_Mark

Jan

unread,
Mar 7, 2022, 9:46:59 AM3/7/22
to ope...@googlegroups.com
Hi Mark!
Oh man, that's a lot I can do and likely did wrong... Would you
consider adding a button, eg in the vision tab, to open the external
editor ideally with this parameters set and pipeline loaded?
Ok, I tried to follow your list:
- started openpnp
- selected the nozzle the QFN has been picked with
- started the editor
- copied the new "- Rectlinear Symmetry Buttom Vision Settings -" stage
- pasted it in the editor
- disabled the two debug stages deb0 and deb1
- inserted an ImageRead stage as first -> works
- enabled "handleAsCaptured" -> java.lang.NullPointerException
- disabled it again
- changed the expectedAngle to 0
- changed the mask cycle for the QFN, as I did for the dedicated
pipeline I'm using at present as well
- tried a few of my recorded pictures
- took the attached screenshot. I hope you can see all the details you
need to understand whats going on.
- now I've changed the input directory to the connectors
- increased the mask cycle to make the full connector visible
- disabled "symmetricLeftRight"
- took the attached screenshot.

Jan

PS: May I ask you for your advice on my camera's exposer setting? I
think, its a little bit to high for the connectors, but could be higher
for the QFNs...

On 07.03.2022 11:37, mark maker wrote:
> Thanks for testing!/
> /
>
> /> //I've tried it in the offline editor with the images I send you/
>
> Be aware that doing that needs careful consideration. You really need to
> recreate the situation *artificially*, otherwise you will get problems,
> that are *not real problems*, but purely of your simulation.
>
> If you simulate using captured images in the Pipeline Editor...
>
> 1. Make sure to set the *handleAsCaptured *checkbox in the ReadImage stage.
> https://github.com/openpnp/openpnp/wiki/ImageRead
> 2. On the Vision Settings, set the *Placement Angle* to roughly match
> the angle of the part in the image*.*
> 3. Load the nozzle tip that was actually used to pick that part in the
> image.
> 4. Then select the nozzle with that nozzle tip loaded in the *Machine
> Controls*.
> 5. Make sure the nozzle tip is configured correctly for the *diagonals*:
> https://github.com/openpnp/openpnp/wiki/DetectRectlinearSymmetry#nozzle-tip-configuration
> 6. Make sure the *Background Calibration* is done for the nozzle tip:
> https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Background-Calibration
> 7. When any of the above changes, close and *reopen the Editor.*
>
> Back to your list:
>
> a) I will keep it in mind.
>
> b) /"Tuning the expected angle helped." /There should be no "tuning"
> necessary.  Make sure you did points 2+7 above.
>
> c) QFNs should actually work the best. But again the *expectedAngle
> *must be correct! Furthermore, the *diagonals *on the nozzle tip must be
> https://groups.google.com/d/msgid/openpnp/abb89838-df1a-cc7d-9c61-1e4a55cdc340%40makr.zone
> <https://groups.google.com/d/msgid/openpnp/abb89838-df1a-cc7d-9c61-1e4a55cdc340%40makr.zone?utm_medium=email&utm_source=footer>.
rectlinear symmetry QFN.png
rectlinear symmetry connector.png

mark maker

unread,
Mar 7, 2022, 11:41:15 AM3/7/22
to ope...@googlegroups.com

> - enabled "handleAsCaptured" -> java.lang.NullPointerException

Please send the log.

And please send the two images you use as input.

_Mark

Jan

unread,
Mar 7, 2022, 1:01:54 PM3/7/22
to ope...@googlegroups.com
Hi Mark!
The openpnp.log is almost empty. I've started OpenPnp yesterday evening
and just close it. The exception was reported in the status field (below
the image) of the pipeline editor.
Please find the two images attached. (There are from the package I send
you.)

Jan

On 07.03.2022 17:41, mark maker wrote:
> /> - enabled "handleAsCaptured" -> java.lang.NullPointerException //
> /
> https://groups.google.com/d/msgid/openpnp/8ca47f88-4783-59d1-3abd-5d16b11f7b4a%40makr.zone
> <https://groups.google.com/d/msgid/openpnp/8ca47f88-4783-59d1-3abd-5d16b11f7b4a%40makr.zone?utm_medium=email&utm_source=footer>.
OpenPnP.log
bv_source_1646316641089807299.png
bv_source_1646316008453557200.png

mark maker

unread,
Mar 7, 2022, 1:04:42 PM3/7/22
to ope...@googlegroups.com

I forgot: could you please state your Units per Pixel on the bottom camera?

Jan

unread,
Mar 7, 2022, 2:15:59 PM3/7/22
to ope...@googlegroups.com

mark maker

unread,
Mar 9, 2022, 2:30:23 AM3/9/22
to ope...@googlegroups.com

I'm adding these images to the openpnp-test-images repo, OK?

_Mark

Jan

unread,
Mar 9, 2022, 3:05:11 AM3/9/22
to ope...@googlegroups.com

mark maker

unread,
Mar 9, 2022, 7:58:54 AM3/9/22
to ope...@googlegroups.com

The other part just worked, when the symmetry was switched off on the asymmetric axis, and the threshold set.


_Mark

mark maker

unread,
Mar 9, 2022, 8:00:04 AM3/9/22
to ope...@googlegroups.com

(reposted in right thread)

Hi Jan,

Thanks for providing the images and for continued testing.

I have tried with your images and found some issues with my assumptions about camera resolution and how it affects the stage.

I fixed that. See at the end.

Background:

The part you sent has 0.4mm pitch (if I'm not mistaken) and you have ~0.02mm pixel size, so about 20 pixels correspond to the pitch, about every 10 pixels it alternates between pads and plastic.

The stage is written in Java, i.e. low level "bit crunching" is quite slow. Therefore I needed to use tricks to make it perform alright. By default, the stage uses 8 pixel subSampling in the first pass, i.e. out of a block of 8x8 pixels only one pixel is probed. The stage then refines the result from the first pass by iterating with less and less subSampling, until it even does superSampling to obtain sub-pixel precision. The trick is to reduce the angular and positional searching space dramatically with each iteration.

https://github.com/openpnp/openpnp/wiki/DetectRectlinearSymmetry#configuring-the-detectrectlinearsymmetry-stage

As you probably can see, sampling a 10 pixel alternating signal with 8 pixel subSampling (at various angles) is prone to aliasing, or moiré. Hence the problems with your part.

Why did I choose 8 pixels?

The 8 pixel probing worked well in the circular symmetry stage. It probably has a connection to the 8x8 block splitting in (M)JPEG encoding that most cameras use, 8 pixels just worked best. But obviously round objects are much simpler...

So how did I fix it?

We already have the Minimum Detail Size in the Background calibration that actually gives us the real size of a minimum detail, like a pad. If you set that to the 0.2mm of your part, it works (with the upcoming version). The subSampling will now automatically be set to half that size, which results in 4 pixel subSampling. Obviously, the stage has become slower. The Max. Part Diameter setting on the nozzle tip is therefore also important to reduce computation cost.

https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Background-Calibration#calibration-pipeline-control

(I will write separate answers to the other stuff).

_Mark

On 07.03.22 19:01, 'Jan' via OpenPnP wrote:

mark maker

unread,
Mar 9, 2022, 10:10:38 AM3/9/22
to ope...@googlegroups.com

Hi all,

Added some improvements, mostly from feed-back by Jan:

disabling-control

https://github.com/openpnp/openpnp/pull/1387

New testing Version available.

https://openpnp.org/test-downloads/

_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/c34fea6d-d1d6-437a-acf3-0bbc353f8437n%40googlegroups.com.

Jan

unread,
Mar 16, 2022, 10:39:30 AM3/16/22
to ope...@googlegroups.com
Hi Mark!
I'm just testing your improvments for the DetectRectlinearSymmetry
stage and found

a) the disabling of pipeline controlled parameters is great! That helps
a lot to understand which parameter could be adjusted locally and which
are fixed/controlled externally.

b) SOT23 still does not work for me. It always snaps on two legs, even
with reduced search angle and asymmetric search.

c) I tried to reduce the exposure of my camera to get more details on
white connectors (previously the part was slightly overexposed). This
reduces the brightness on pads of passives, which results in just
detecting their body and hence part size errors. Is there some internal
threshold applied, that can not be adjusted in full symmetric operation?

d) With the modifications on the subSampling preset the detection of the
QFN and most other parts I tried work well.

e) The results look more stable then previous default vision.

Jan

On 09.03.2022 16:10, mark maker wrote:
> Hi all,
>
> Added some improvements, mostly from feed-back by Jan:
>
> disabling-control
>
> https://github.com/openpnp/openpnp/pull/1387
>
> New testing Version available.
>
> https://openpnp.org/test-downloads/
>
> _Mark
>
>
> On 06.03.22 16:42, ma...@makr.zone wrote:
>> Hi all,
>>
>> added a  bottom vision stage and pipeline called "Rectlinear Symmetry".
>>
>> It is intended primarily for all the *symmetric* parts, i.e. parts
>> that are left-right and/or upper/lower symmetric. For these it should
>> be *completely tuning free*, it should work for any part, any machine,
>> any camera, any lighting *out of the box*.
>>
>> For *asymmetric* parts, a little tuning is still required, similar as
>> in the other pipelines. It is done through the new Pipeline
>> Parameters, as presented before.
>>
>> Available as a new testing version.
>> https://openpnp.org/test-downloads/
>>
>> All the details including *Instructions for Use*, here:
>> https://github.com/openpnp/openpnp/pull/1386
>> Please read the whole thing, there are additional changes documented.
>>
>> find-maximum-angular-contrast-small-ic.gif
>>
>> _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/c34fea6d-d1d6-437a-acf3-0bbc353f8437n%40googlegroups.com
>> <https://groups.google.com/d/msgid/openpnp/c34fea6d-d1d6-437a-acf3-0bbc353f8437n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> 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
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/4ca73d5b-b475-2cf8-338d-9a5cfdccfbc0%40makr.zone
> <https://groups.google.com/d/msgid/openpnp/4ca73d5b-b475-2cf8-338d-9a5cfdccfbc0%40makr.zone?utm_medium=email&utm_source=footer>.

mark maker

unread,
Mar 16, 2022, 10:47:25 AM3/16/22
to ope...@googlegroups.com

Hi Jan,

Re b)

Yeah that SOT23 part is really bad. There is also nothing much "rectlinear" in it, even the pins' reflections aren't rectangular. To be fair, it did also not work stably with MinAreaRect.

Re c)

You can adjust gamma. I might in fact expose it as an additional slider parameter.

Re a) d) e)

Glad to hear.

_Mark

165718275

unread,
Mar 17, 2022, 8:30:31 AM3/17/22
to openpnp
HI mark
I tested this great pipeline today. Its recognition speed is very slow, reaching 4500ms Compared with the previous pipeline, the time is increased by 10 times. I don't know what's wrong with the default parameters I use.

---Original---
From: "ma...@makr.zone"<ma...@makr.zone>
Date: Sun, Mar 6, 2022 23:42 PM
To: "OpenPnP"<ope...@googlegroups.com>;
Subject: [OpenPnP] New No-Tuning Bottom Vision Stage and Pipeline: Rectlinear Symmetry

Hi all,

added a  bottom vision stage and pipeline called "Rectlinear Symmetry".

It is intended primarily for all the symmetric parts, i.e. parts that are left-right and/or upper/lower symmetric. For these it should be completely tuning free, it should work for any part, any machine, any camera, any lighting out of the box.

For asymmetric parts, a little tuning is still required, similar as in the other pipelines. It is done through the new Pipeline Parameters, as presented before.

Available as a new testing version.

All the details including Instructions for Use, here:
Please read the whole thing, there are additional changes documented.



_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.
8A5E8B12@1A5D582B.CE293362.jpg

mark maker

unread,
Mar 17, 2022, 8:56:15 AM3/17/22
to ope...@googlegroups.com
Hi 165718275,

Yes, the pipeline/stage uses more computation power, because at its core it is written in Java. I wish I could do it in C++.

However, 4500ms is not normal, on my machine I have 120ms for the stage for fine ICs. Note that Java needs to execute the pipeline about 4 times before the real speed is reached (due to just in time compilation/JIT).

What CPU do you have?

There are two settings that have a great influence: Max Part Diameter on the nozzle tip Configuration tab and Minimum Detail Size on the Calibration tab.

https://github.com/openpnp/openpnp/wiki/DetectRectlinearSymmetry#nozzle-tip-configuration

https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Background-Calibration#other-settings



If the parts on a particular nozzle tip allow for it, decrease the Max Part Diameter and increase the
Minimum Detail Size. For instance, with 5mm Max. Diameter and 0.4mm Minimum Detail Size I get ~45ms.


_Mark

You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/kZLS7PnSE5Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/tencent_18A8D708F01158A7BDF66094C2B8CE362C09%40qq.com.

165718275

unread,
Mar 17, 2022, 9:35:54 AM3/17/22
to openpnp
Thank you for your quick reply. I'll test it tomorrow and give you feedback. The new version has scattered many size elements, resulting in a bit of confusion.( •̥́ ˍ •̀ू )

---Original---
From: "mark maker"<ma...@makr.zone>
Date: Thu, Mar 17, 2022 20:56 PM
To: "openpnp"<ope...@googlegroups.com>;
Subject: Re: [OpenPnP] New No-Tuning Bottom Vision Stage and Pipeline:Rectlinear Symmetry
D9108B6A@DA47E934.1C393362.jpg
78EF7F0B@FCB58371.1C393362.jpg
0969AD0D@7A9D1477.1C393362.jpg
CB96BDE3@B84DF623.1C393362.jpg

fxframes

unread,
Mar 18, 2022, 8:08:59 AM3/18/22
to OpenPnP
Hi Mark,

So does this feature depend on having the background calibration feature setup?
I have the black nozzle Juki tips that's why I'm asking.
I tried this with a TQFP-128 and it took some 15 seconds, but granted that's a rather big part with a diameter close to 30mm
If I don't have the background calibration enabled it seems I wouldn't be able to control the minumum detail size?
Thanks,

mark maker

unread,
Mar 18, 2022, 8:56:20 AM3/18/22
to ope...@googlegroups.com

> So does this feature depend on having the background calibration feature setup?

It is recommended. But if background calibration is not enabled, it defaults to the equivalent of a 0.2mm Minimum Feature Size.

> I have the black nozzle Juki tips that's why I'm asking.

Background calibration can still be used with the Brightness method, it will determine the background cutoff brightness instead and it can help you troubleshoot disruptive stuff visible there. And you can set the Minimum Feature Size.

https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Background-Calibration#selecting-the-method

https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Background-Calibration#trouble-shooting


> I tried this with a TQFP-128 and it took some 15 seconds, but granted that's a rather big part with a diameter close to 30mm

Wth! It should never be that long, even with 30mm!

Could you please send me the raw image? And tell me your Units per Pixel of the bottom camera?

Note that with the default pipeline, the images should be written as

HOME$/.openpnp2/org.openpnp.vision.pipeline.stages.ImageWriteDebug/bv_source_XXX.png

You have to enable DEBUG log level or more (in the Log tab) for image logging to be active.

_Mark

165718275

unread,
Mar 21, 2022, 11:01:49 AM3/21/22
to openpnp

Hi mark, I recently experienced the beta version. I have some doubts. I don't think the recognition size range of the bottom vision should be put into the nozzle tip, because the 504 suction nozzle can absorb from 0603 0805 sop8 or even ams117. When using 504 to absorb 0805, due to the large recognition range, it is prone to various external interference. 2: the component model in auto feeder has the chance to reset. Thank you for your work
---Original---
From: "'165718275' via OpenPnP"<ope...@googlegroups.com>
Date: Thu, Mar 17, 2022 21:35 PM
To: "openpnp"<ope...@googlegroups.com>;
Subject: Re: [OpenPnP] New No-Tuning Bottom Vision Stage andPipeline:Rectlinear Symmetry

Thank you for your quick reply. I'll test it tomorrow and give you feedback. The new version has scattered many size elements, resulting in a bit of confusion.( •̥́ ˍ •̀ू )

---Original---
From: "mark maker"<ma...@makr.zone>
Date: Thu, Mar 17, 2022 20:56 PM
To: "openpnp"<ope...@googlegroups.com>;
Subject: Re: [OpenPnP] New No-Tuning Bottom Vision Stage and Pipeline:Rectlinear Symmetry

--
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.
9AC57A3D@F88DF324.3F933862.jpg
CBC0D914@FCF67256.3F933862.jpg
91CBA6B8@8F8CCD23.3F933862.jpg
D3CA6F4E@C1F33641.3F933862.jpg

mark maker

unread,
Mar 21, 2022, 11:34:17 AM3/21/22
to ope...@googlegroups.com

> I don't think the recognition size range of the bottom vision should be put into the nozzle tip

Note the Maximum Part Diameter data on the nozzle tip is only used if there is no part/package specific information.  If you define the package size via Part size check  and footprint, it will be used instead. So if you define the two pads of the 0805 for instance, it will only search a small range.

See the maxWidth and maxHeight properties, here:

https://github.com/openpnp/openpnp/wiki/DetectRectlinearSymmetry#automatic-bottom-vision-pipeline-control


> prone to various external interference

Can you be more specific? There should be nothing causing interference in the background. Use a shade.

Have you used Background Calibration and its Trouble Shooting? Does it not indicate your "interference"?

https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Background-Calibration#trouble-shooting


> 2: the component model in auto feeder has the chance to reset.

Sorry, I don't understand what you mean.

_Mark

165718275

unread,
Mar 21, 2022, 7:24:43 PM3/21/22
to openpnp

Hi mark, for example, I added an auto feeder and defined the component information as r0603-10k, but this component model is likely to be reset to the first component model in the component list.. I haven't found the specific law of occurrence, but this phenomenon appeared twice yesterday
---Original---
From: "mark maker"<ma...@makr.zone>
Date: Mon, Mar 21, 2022 23:34 PM
F57F8EAF@729E3179.1A093962.jpg
E9DE7006@7F02BE39.19093962.jpg
C54C8BAF@395E337E.19093962.jpg
937F652B@A64B1A5F.19093962.jpg

mark maker

unread,
Mar 22, 2022, 2:18:39 PM3/22/22
to ope...@googlegroups.com

One common pitfall in OpenPnP is forgetting to press Accept.

_Mark

fxframes

unread,
Mar 22, 2022, 2:50:55 PM3/22/22
to OpenPnP
Hi Mark,

Sorry for the delay. I'm going to get back to you about this a bit later this week, I have a batch to finish up and on top of that my (black) nozzle tips are showing some wear from all the rubbing against the nozzle tip holder when changing tips. The wear is showing as brighter areas which weren't there before and interfere with the cv pipelines. 

Thanks.

165718275

unread,
Mar 25, 2022, 9:28:15 AM3/25/22
to openpnp
hi mark
It is changed after using for a period of time. It should be that a hidden bug appears more than once, but no rule is found

---Original---
From: "mark maker"<ma...@makr.zone>
Date: Wed, Mar 23, 2022 02:18 AM
6ECF68FC@9DA4AD07.43C33D62.jpg
F9BE5B85@BE155239.43C33D62.jpg
F9013AD4@87360A15.43C33D62.jpg
9ACFEC9D@A2EE2665.43C33D62.jpg

Simeon Dorsey

unread,
May 2, 2022, 12:40:32 PM5/2/22
to OpenPnP
Hey Mark, is there any chance we could get a dialog asking if we want to commit / accept or discard the changes made in a pane? The button becoming active suggests the system knows the user made changes.

mark maker

unread,
May 2, 2022, 2:28:53 PM5/2/22
to ope...@googlegroups.com

I guess it could be possible. But a lot of work, because AFAIK there is no common framework approach. Plus I'm not particularly Java/Swing knowledgeable, so I can't really say.

I believe, Jason was also talking about a solution, where changes would be immediate, no Accept needed (but perhaps an Undo available?).

If somebody could step up here, very welcome. 😁

_Mark

Thea Flowers

unread,
Jun 24, 2022, 11:17:37 AM6/24/22
to OpenPnP
Hey Mark, thanks for putting this together. It seems to work really well but I'm also experiencing some slowness. It takes at least a few seconds to detect an 0603 component. I've got my maximum part size set on the nozzle tip (lowering that did help a lot, but it's still rather slow). I'm on a M1 Max MBP, I'm happy to provide any additional details.

Thanks again!

mark maker

unread,
Jun 24, 2022, 12:21:18 PM6/24/22
to ope...@googlegroups.com

Hi Thea,

thanks for testing. 😎

I have to say, the overall "real world" feed-back is really bad, performance-wise. I have to conclude this needs major work, or maybe it is just not possible in Java 🙁.

The need for such a self-tuning stage has also been much lessened by the exposed pipeline parameters, I believe, so the "loss" is not so bad, I hope:

Parametric-Pipeline

https://github.com/openpnp/openpnp/wiki/Exposed-Pipeline-Parameters

_Mark

Jason von Nieda

unread,
Jun 24, 2022, 12:29:04 PM6/24/22
to OpenPnP
This is probably because the opencv library is running in Rosetta. We do have an arm64 build, but we don't yet specify it for Mac. See https://github.com/openpnp/opencv/issues/81

Jason
Reply all
Reply to author
Forward
0 new messages