Reference Loose Parts Feeder

491 views
Skip to first unread message

Glen English

unread,
Jan 10, 2017, 5:34:44 PM1/10/17
to OpenPnP
have been discussing with J on this.

ooh ah.
I see it has its own vision pipeline... yeah will be an interesting one .

to pull a 0603 out of a bin of them will be interesting that will be the subject of my work in february maybe Jan see how much real work I get done. there are a couple of schools of thought :

1) dip in and just vaccuum one out randomly

2) when there are few left, there will be a number of parts identified in the bucket, need to go and get one and then do the below....

or you can vibrate, shake the bucket. But with alot of parts loose, I think its best to go and get one and take to the flipper table.



you might pull it out on its end.
go and drop on table, and then vision to see what you've got ...

upside down resistor ?

so you might need to flip it. there are a few means to do this. little flipper model airplane servo etc is the most successful IME.

picked up on its side ? you can tell this from the bottom vision .  Drop on the flipper table, iterate flip and vision and pickup etc

then go and place.

..
for discussion, I am sure there are plenty of experienced ideas here.....




Oz-Ron

unread,
Jan 10, 2017, 6:31:11 PM1/10/17
to OpenPnP

Glen,

This kind of feeder could greatly simplify the system if it can replace some complex tape feeders.  One would expect the parts would be cheaper too.

 

To that end there would need to be multiple “Bins” to pick from that are fairly deep to minimise the risk of cross contamination, yet without being too deep to interfere with the nozzle tips.

 

Perhaps a 3D printed design of say 2 x 12 rows of Bins (like a tray feeder with bigger pockets) could be mounted in such a way to allow a single vibrator (similar to a tube feeder type) to stir up the parts when required.

 

Is the vision going to be able to differentiate the underside of a marked component from the topside and therefore only pick topside up?

 

If one of the bins had no parts topside up, there could be a way of having fillets in the bottom corners of the bins that could work with the vibrator to flip parts.

 

Just my 2 cents.

 

Cheers,

Ron 



Mark Harris

unread,
Jan 10, 2017, 6:44:49 PM1/10/17
to ope...@googlegroups.com
Just going to leave this here:

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/514de26b-b05d-47ae-ac72-26d8ab28a99b%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Rich Obermeyer

unread,
Jan 10, 2017, 7:13:39 PM1/10/17
to ope...@googlegroups.com
Don't we wish we could view, record and pick twenty 0402, 0201 and 01005 simultaneously with the technology we can afford.  We are lucky to pick an 0402 reliably.

Are bulk components available anywhere reasonable?  I could not find them at Digikey for instance.
If they are not easily available then why go there unless you are a CM with serious volume.


For more options, visit https://groups.google.com/d/optout.



--
Rich

Peter Betz

unread,
Jan 10, 2017, 7:16:51 PM1/10/17
to OpenPnP
Blows my mind.....

Glen English

unread,
Jan 10, 2017, 9:51:06 PM1/10/17
to OpenPnP
Advanced Assembly In Colorado prototype house....

they hold NO stock, customer supply loose or short tape like 5 pieces etc....

anything 0603 and bigger they just tear off the tape into little buckets !!
I remember going to the trouble and getting tape leaders only to find out they just strips all the parts out of the tape

only 0402 is from tape..




Jason von Nieda

unread,
Jan 10, 2017, 10:31:58 PM1/10/17
to OpenPnP
Here's the status of this feature in OpenPnP:


We have a very basic loose parts feeder. It sort of works but there are some problems that need to be solved:
* No recognition of pin 1.
* No recognition of "correct" pick angle.
* Current vision pipeline is fairly dumb - just looking for bright rectangles.

The correct pick angle one is the most important. For bottom vision to work we expect a part to be picked within 45 degrees of nominal. Since the loose part feeder doesn't know which way it's supposed to pick a part it just picks the closest rectangle. It may pick it 90 degrees from nominal. After bottom is run this may cause it to be placed 90 degrees off, albeit perfectly 90 degrees off :)

Frantz, another forum member, did some work on the loose part feeder but the code also added some incompatible changes to how feeders and packages worked so it has not been merged. I can dig that code out if anyone wants to look at it.

Finally, here is how I've had it in my mind that this *should* work:

* The feeder will need to be trained once per part. After that it should be able to pick readily and recognize pin 1 in most cases.
* The feeder will expect to find only one part in a given area. I see this working in small bins, as someone mentioned above.
* It should handle accidentally putting some wrong parts in the bin.
* It should handle parts that are not laying flat and right side up by ignoring them.

Training:
1. Place a single part in the bin, oriented roughly (within ~30 degrees) of nominal.
2. Click the train button.
3. OpenPnP will go to the feeder, find the contours of the part, capture an image within the bounds of the contours, derotate the image based on the angle found and store that image as a template. It will also store the width and height of the bounding rectangle.

Feeding:
1. Place any number of parts in the bin in any orientation.
2. The feed operation will image the bin looking for bounding rectangles of about the size found in training.
3. For each good match rotate the training template and do a template match against the rectangles. For rectangles that are close to square we will rotate four times, 90 degrees each. For rectangles not close to square we can just rotate twice, at 180 degrees.
4. Store a list of the best matches of the rotated template matches and use these to determine the correct pick angle of each part.
5. Pick the best match at the detected angle.

The reason for all the rotations is that template matching is not rotation invariant - in other words, if something is rotated differently than the template it won't be found accurately. But since we know roughly what orientation the part should be in within 180 or 90 degrees it's just a couple checks to figure it out. The template match should give us good pin 1 / orientation detection for many parts.

It may be worth looking into using more advanced feature detection such as SIFT, but I have not yet gotten that far.

Finally, this is just what my current thinking on this is. I am open to any and all ideas. I think this could be a really powerful and useful feature in OpenPnP.

Jason


--
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 post to this group, send email to ope...@googlegroups.com.

Mark Harris

unread,
Jan 10, 2017, 10:43:31 PM1/10/17
to ope...@googlegroups.com
Thats really neat! This could be really handy for using parts that might normally come in a tray, but the supplier shipped in a little antistatic foam box instead. For my uses, I see this as being much more useful than for passives which come so readily in cut tape.

To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+unsubscribe@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/0ad9d035-b35f-48fe-a9ba-9ab87103a3e1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
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+unsubscribe@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.

Peter Betz

unread,
Jan 11, 2017, 12:34:46 AM1/11/17
to OpenPnP
That seems very interesting, I could see how this would be a very handy feature!!!

Peter.
Reply all
Reply to author
Forward
0 new messages