How to use new multi view in the pipeline.

171 views
Skip to first unread message

Jim Freeman

unread,
Jul 20, 2022, 9:25:44 PM7/20/22
to OpenPnP
I am using today's test version. I get to minarearect and see the 4 corner check boxes. But I can't get the multi views as shown in Mark's video.

mark maker

unread,
Jul 21, 2022, 4:19:53 PM7/21/22
to ope...@googlegroups.com

Hi Jim,

Have you enabled it by allowing for a Roaming Radius on the bottom camera?

https://github.com/openpnp/openpnp/wiki/Vision-Compositing#camera-roaming-radius

And is your package footprint actually too large for the camera? Otherwise it will just behave as before.

However, you can force multi-shots by switching to SingleCorners:

https://github.com/openpnp/openpnp/wiki/Vision-Compositing#compositing-settings

_Mark

Am 21.07.2022 um 03:25 schrieb Jim Freeman:
I am using today's test version. I get to minarearect and see the 4 corner check boxes. But I can't get the multi views as shown in Mark's video.
--
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/CABRkqyDdgkTeQ4uVWgwLxWYm%2B5qi6HsR%3DjpxPaqMAMOainQF5g%40mail.gmail.com.

Jim Freeman

unread,
Aug 3, 2022, 4:09:15 PM8/3/22
to OpenPnP
Trying to use the multi-view.  I am trying to create a part, 35mm by 35mm, and use multi-view to find the corners, but I haven't had success. I created a package named "square" with width and height 35mm. I added a single pad of 35x35mm. I changed the camera roaming to be 41mm which should be enough. I set the pipeline to default. When I try to run, I get this message: restrictedcameraroaming. Below are snapshots of the footprint and the vision compositing tabs. I am attaching the  xml files. Any help is greatly appreciated!  Best, Jim   
image.png









image.png
packages.xml
parts.xml
machine.xml
vision-settings.xml

mark maker

unread,
Aug 3, 2022, 7:00:28 PM8/3/22
to ope...@googlegroups.com

> I added a single pad of 35x35mm. I changed the camera roaming to be 41mm which should be enough.

No it is not. To detect the corner it wants to center the corner, which extends the part diagonal out, which is distance √ (35² + 35²) ≈ 49.5mm which is > 41mm.

Roaming as a limit

_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.

Jim Freeman

unread,
Aug 3, 2022, 7:02:47 PM8/3/22
to ope...@googlegroups.com

Thanks Mark! I will try it in the morning. Am I understanding correctly how to configure a package to be a simple square?

Best, Jim

 

Sent from Mail for Windows

 

From: mark maker
Sent: Wednesday, August 3, 2022 6:00 PM
To: ope...@googlegroups.com
Subject: Re: [OpenPnP] Re: How to use new multi view in the pipeline.

 

> I added a single pad of 35x35mm. I changed the camera roaming to be 41mm which should be enough.

No it is not. To detect the corner it wants to center the corner, which extends the part diagonal out, which is distance √ (35² + 35²) ≈ 49.5mm which is > 41mm.

Roaming as a limit

_Mark

Am 03.08.2022 um 22:08 schrieb Jim Freeman:

Trying to use the multi-view.  I am trying to create a part, 35mm by 35mm, and use multi-view to find the corners, but I haven't had success. I created a package named "square" with width and height 35mm. I added a single pad of 35x35mm. I changed the camera roaming to be 41mm which should be enough. I set the pipeline to default. When I try to run, I get this message: restrictedcameraroaming. Below are snapshots of the footprint and the vision compositing tabs. I am attaching the  xml files. Any help is greatly appreciated!  Best, Jim   

 

 

 

 

 

 

 

 

 

 

On Wed, Jul 20, 2022 at 8:25 PM Jim Freeman <james.edwa...@gmail.com> wrote:

I am using today's test version. I get to minarearect and see the 4 corner check boxes. But I can't get the multi views as shown in Mark's video.

--
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/CABRkqyDz8xDgK-Eo_jdQPOQzfO_PS%3DT%2B2utcoO3P0%3Dbzfx8sTg%40mail.gmail.com.

--
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.

mark maker

unread,
Aug 3, 2022, 7:15:00 PM8/3/22
to ope...@googlegroups.com

> m I understanding correctly how to configure a package to be a simple square?

This should work, if the part is really (almost) a square in reality.

If it actually is a quad package, it depends whether it can do an "air corner", all inside the camera view, like so:

If the air gap is too large for the camera view (including needed edge leverage along the pads), it can only focus on the corner of one row, then your square simplification would fail:

_Mark

Jim Freeman

unread,
Aug 4, 2022, 12:52:21 PM8/4/22
to OpenPnP
Hi, Mark. I increased the camera roaming to 60mm. (my logic for earlier 40mm was that the part center would nominally be at (0,0) so the distance to get to a corner would be sqrt(2 *( 35/2)**2 ) = 24.75mm  so a roaming radius of larger than 25 would be OK.  ). But in any case I have increased it to 60. I get a different error when I compute: "invalid".

image.png




















mark maker

unread,
Aug 4, 2022, 2:05:41 PM8/4/22
to ope...@googlegroups.com

Hi Jim,

As visually indicated by the gigantic width of the dashed roaming limit...

... the Pick Tolerance is now set to 90mm, i.e. you are telling OpenPnP the picked part can be off by up to 90mm in any direction 😂.

This also means that a corner can move by that much in any direction from its nominal position. Conversely, the pick tolerance is reducing the effective maximum camera view radius (yellow) where it can detect and isolate the corner without hitting the camera view edge...

... and without hitting another pad that would disrupt the masked corner (when the hull of the footprint is concave)...

With 90mm the radius is reduced to nothing! No wonder it does not find a shot solution.

Note, all the fields have tool-tips on their labels. I hope they help understand the individual settings. If not, please report, so I can improve them. Maybe "pick tolerance" is not a telling enough term, suggestions for better nomenclature are always welcome (I'm not a native English speaker).

_Mark

Jim Freeman

unread,
Aug 4, 2022, 2:57:47 PM8/4/22
to OpenPnP
The "pick tolerance" label is totally clear English. I inadvertently changed it. Sorry!  I am getting further along. The pipeline goes to the first corner, but then fails. 
image.png

Threshold stage
image.png

After filter contours, 
Draw contour
image.png
Draw rotated rect
image.png









mark maker

unread,
Aug 4, 2022, 3:36:55 PM8/4/22
to ope...@googlegroups.com

It expects white on black not black on white.

If you want to align a black body with a green background, you need to specialize the Vision Setting and then edit the pipeline to enable the binaryMask option in the MaskHsv stage:

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

_Mark

mark maker

unread,
Aug 4, 2022, 3:40:58 PM8/4/22
to ope...@googlegroups.com

Ah, and what I forgot:

Use the Background Calibration to mask all the green.

Either use the newest testing version and use Issues & Solutions, like shown here in the video

https://youtu.be/Pxg6g3KI5_E?t=189

or the Wiki:

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

_Mark

Jim Freeman

unread,
Aug 4, 2022, 6:29:49 PM8/4/22
to OpenPnP
Great! I will try tomorrow. Best, Jim

1B85E9FE728646B0AB4190375C297294.png
ZGMQjz2mz9NeEF4t.png
Al3o9sRZiWWtA4Xp.png
image.png
632E89EF3F1142A093339AD622DA2C8B.png
image.png
Fc9IymcUegcPYOAH.png
qV6ys6GxcKAa0o5x.png
ZOY8eiGRtSQias8k.png
image.png
image.png
SGKuTwhVqUUjtluH.png
image.png

Jim Freeman

unread,
Aug 5, 2022, 12:54:51 PM8/5/22
to OpenPnP
Hi, Mark.. Using the latest test version I did the nozzle calibration and background calibration. That seems to work very well:

image.png

Image:

image.png

Maskhsv with  binary mask
image.png


I am still studying the result of the compositing. The pipeline does execute fully and looks successful. I will keep you posted.
Best, Jim





















mark maker

unread,
Aug 5, 2022, 1:23:30 PM8/5/22
to ope...@googlegroups.com

Forgot to say

  1. you need to move the first MaskCircle ("4") down after the first MaskHsv ("6"). We want the mask in black, not white. 
  2. Then also disable the second MaskHsv ("threshold"), it is not needed (it won't work, as it is already binary).
  3. Might as well disable the very first stage "pThreshold", it is now useless.

_Mark

Reply all
Reply to author
Forward
0 new messages