--
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/1814d671-06ec-4c52-af05-2f914f1037b8n%40googlegroups.com.
***************************Disclaimer******************
On 18 Feb 2021, at 07.49, Niclas Hedhman <nic...@hedhman.org> wrote:
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/CADmm%2BKe6w5MuO8Yf-CbRgZKG-Zbh091%3DxL%3D6ovTh4D5HDwRRJg%40mail.gmail.com.
On 18 Feb 2021, at 07.49, Niclas Hedhman <nic...@hedhman.org> wrote:
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/CADmm%2BKe6w5MuO8Yf-CbRgZKG-Zbh091%3DxL%3D6ovTh4D5HDwRRJg%40mail.gmail.com.
I guess there are two goals:
I have no idea how to calibrate 1. and how critical it is (if at
all). Just moving Z up/down and making sure the tip remains at the
same position is not a solution. This will calibrate the Z axis,
not the nozzle's true axis i.e not the part's planarity.
_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/f73e1aba-3128-42d0-9941-ac367cef76fdn%40googlegroups.com.
> the camera that will travel with the head
Oh, I missed that part of your design. Forget my whole comment!
Don't read any further if you don't like Advocatus Diaboli input
>8-D
... you were warned ...
This means you can't do classical nozzle tip runout compensation
(and calibration) and also not classical multi-pass bottom vision
as you can only move the nozzle in one axis in front of the
camera.
Instead you'd need to compensate from pixel offsets alone
(one-pass). Needs very high Units per Pixel accuracy and very low
camera lens distortion.
Or you can do two multi-pass alignment phases with the part rotated in C by 90° i.e. only aligning one axis per phase (by slight star rotation). Whether this variant will in the end be faster than classical stationary vision?
Did you know the OpenPnP Job planner has no feeder co-location optimization yet? It will select eight parts from any feeder all over the machine, as long as the nozzle tip compatibility is given. And it will visit them strictly in nozzle order, not in the order the feeders are laid out. With 8 nozzles and feeders arranged around the machine, it will be zooming back and forth like crazy. And that's just the most obvious part of what is missing. For efficient 8 nozzle operation you'd also need a nozzle tip loading optimization: The worst thing to do is loading your 8 nozzles with all your mixed nozzle tips (and think you can avoid the changer). This would even increase the crazy zooming, as the OpenPnP planner will always try to fill all 8 nozzles regardless of even the most punishing detour. What you'd need is a smart nozzle tip loading planner. Ideally it would load 8 times the same nozzle tip and the pick (harvest!) those countless 0.1µF caps in one fell swoop. Gatling gun style... and once the small parts are mostly placed it would have to start leaving nozzles empty, smartly, because the detour is too costly. Oh, and then you need feeder arrangement optimization...Sorry about that... O:-}
This design is certainly full of very, very steep challenges...
_m
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/677ad9ea-f408-4c4c-bcc2-063e2772affbn%40googlegroups.com.
> the camera that will travel with the head
Oh, I missed that part of your design. Forget my whole comment!
Don't read any further if you don't like Advocatus Diaboli input >8-D
... you were warned ...
This means you can't do classical nozzle tip runout compensation (and calibration) and also not classical multi-pass bottom vision as you can only move the nozzle in one axis in front of the camera.
Did you know the OpenPnP Job planner has no feeder co-location optimization yet? It will select eight parts from any feeder all over the machine, as long as the nozzle tip compatibility is given. And it will visit them strictly in nozzle order, not in the order the feeders are laid out. With 8 nozzles and feeders arranged around the machine, it will be zooming back and forth like crazy. And that's just the most obvious part of what is missing. For efficient 8 nozzle operation you'd also need a nozzle tip loading optimization: The worst thing to do is loading your 8 nozzles with all your mixed nozzle tips (and think you can avoid the changer).
This would even increase the crazy zooming, as the OpenPnP planner will always try to fill all 8 nozzles regardless of even the most punishing detour. What you'd need is a smart nozzle tip loading planner. Ideally it would load 8 times the same nozzle tip and the pick (harvest!) those countless 0.1µF caps in one fell swoop. Gatling gun style... and once the small parts are mostly placed it would have to start leaving nozzles empty, smartly, because the detour is too costly.
Oh, and then you need feeder arrangement optimization...
Sorry about that... O:-}
This design is certainly full of very, very steep challenges...
_m
> Do the opportunities of a star design out weight the challenges? ;)
I don't know. If you are ready to tackle all the aspects and IMHO
most importantly the planner, then it could well be. :-)
Personally I would choose a completely different approach (ganged pick/ganged alignment), but that's not what you asked...
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/b1143bc5-d17a-4555-a23d-959022a3fc0fn%40googlegroups.com.
Answers inline>>
Hi Mark!Some background: I'm also building a 4 nozzle star head and sharing ideas with Shai. I'm working on the openpnp modifications to try to get these things up and running lol. Just trying to unpack your post to better understand if I'm approaching them from the right angle. In this I refer to the rotation axes as C - the traditional nozzle rotation, D - the star rotation
OK.
On Thursday, 18 February 2021 at 15:02:35 UTC-5 ma...@makr.zone wrote:
> the camera that will travel with the head
Oh, I missed that part of your design. Forget my whole comment!
Don't read any further if you don't like Advocatus Diaboli input >8-D
... you were warned ...
This means you can't do classical nozzle tip runout compensation (and calibration) and also not classical multi-pass bottom vision as you can only move the nozzle in one axis in front of the camera.
Are you referring to doing these using the head mounted side camera? I think Shai meant to say that the side facing camera would be coupled to the X/Y of the of the gantry but not angles C/D. I think regardless, an up facing camera is still necessary to do the initial nozzle tip runout for our sanity
That is of course possible. But see below.
and then only using the side camera for component alignment (which would be the common case anyways). I think theoretically I can map component offsets from the side camera to runout offsets taken from the up camera provided that:
- I can get a nice calibration of the D axis with offsets for each tool to get the tools perpendicular to the up and side cameras
- Use that to get offsets to determine where the nozzle tip should be in the view frame because there will be a part blocking it during part alignment (I suppose I could do a peek and look at the calibrated nozzle tip with the side camera beforehand it has a part idk)
Strictly speaking, runout-compensation is not needed, provided...
But: alignment (your point 2) still needs to be entirely
pixel based, i.e. you take a camera image and calculate the
physical offsets purely from the apparent pixel offsets. For
contrast: in multi-pass alignment the machine centers the part in
the camera again (and again) to make it symmetric in the camera
view, so you can cancel out any scaling/Units per Pixel, focal
plane (camera distance) errors, lens distortions, or parallax
effects for parts with real pins i.e. pins that are not flat on
the focal plane, and more importantly their angular reflection of
the diffusor light, plus any other asymmetric lighting effects
(etc.).
I say this, because I introduced adaptive multi-pass vision and
at least in my experiments, this was essential to get adequate
results for the semi-large 0.5mm pitch ICs I used:
https://makr.zone/extending-bottom-vision-in-openpnp/341/
Having said that: you could only use the side facing camera for
the many small parts and do the few large
buggers on the classical bottom camera.
What I ultimately want to say is that you need to be ready to implement many extensions to how OpenPnP works today. Including the possibility to use multiple alignment cameras in the first place. Be sure to read about our plans to rework the vision system, before you do anything
https://groups.google.com/g/openpnp/c/7DeSdX4cFUE/m/VYDG6x6-AAAJ.
Did you know the OpenPnP Job planner has no feeder co-location optimization yet? It will select eight parts from any feeder all over the machine, as long as the nozzle tip compatibility is given. And it will visit them strictly in nozzle order, not in the order the feeders are laid out. With 8 nozzles and feeders arranged around the machine, it will be zooming back and forth like crazy. And that's just the most obvious part of what is missing. For efficient 8 nozzle operation you'd also need a nozzle tip loading optimization: The worst thing to do is loading your 8 nozzles with all your mixed nozzle tips (and think you can avoid the changer).This would even increase the crazy zooming, as the OpenPnP planner will always try to fill all 8 nozzles regardless of even the most punishing detour. What you'd need is a smart nozzle tip loading planner. Ideally it would load 8 times the same nozzle tip and the pick (harvest!) those countless 0.1µF caps in one fell swoop. Gatling gun style... and once the small parts are mostly placed it would have to start leaving nozzles empty, smartly, because the detour is too costly.
Yes :(But I'm a big fan of the job step architecture that I was looking at while writing this :D.
It has (almost) nothing to do with the step architecture. As you
have already noticed, it is the PnpJobPlanner that you need to
look at.
What would need to change is the order in which the nozzles pick, align and place inside the steps. Currently there is only one order and it is fixed (sorted by nozzle name):
I guess my initial goal is to override PnpJobPlanner to proactively plan nozzle changes from small to large size and reorder the parts small to large (using compatible tip info) to reduce unused nozzles during moves (I guess I'll need to extend ReferenceNozzleTip with an approximate configurable nozzle tip size to be able to actually sort these). I think can get pretty good usage if each part has 2 compatible tips and the head slowly transitions to bigger and bigger tips.
For an efficient 8 nozzle machine, I believe you'd need much more
than that. You would need to take the feeder pick locations into
consideration. Group picks together by feeders that are close to
each other (including picking multiple nozzles from the same
feeder).
A first approximation could be:
Oh, and then you need feeder arrangement optimization...I suppose a long term goal would be to build a map of the feeder pick locations and travelling salesman it but I've been out of school for a while and forget my algos :(.
I'm quite sure I'm longer out of school. :-)
See above.
I have a Europlacer at my work like Shai posted here and the dumb planner tells me it wants me to spend 15 minutes taking out 20 common resistor feeders and move them like 5 positions to the right because it thinks the program will run 5 seconds faster... then I have to re digitize the pick locations because I moved them...so I'm not a fan of basic arrangement optimization lol :p. Continuous multi-job feeder arrangement planning is where its at but nope my boss didn't want to buy that module.
I agree there are trade-offs to be considered. And feeder
location optimization certainly comes a long way after the above.
Frankly, a 8 nozzle machine will only make sense a) for the sheer
fun of the challenge or b) if you place many, many boards
(hundreds, thousands). Then 15 minutes one-time prep might not
sound so bad after all. ;-)
Sorry about that... O:-}
This design is certainly full of very, very steep challenges...
Heh it sounds like fun
It does!
_m
--
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/9c42539b-014d-44cd-a113-4300bf5c17afn%40googlegroups.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.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/f73e1aba-3128-42d0-9941-ac367cef76fdn%40googlegroups.com.
Looks really nice!
All the vacuum switchery is inside there? And how are all the connections (vacuum/electric) going in there? (I haven't followed all the discussion before and this might already haven been mentioned, sorry)
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/16f36b6d-c202-4125-9684-2f387365cca2n%40googlegroups.com.