Picking items distributed to another robot [PickMaster 3]

Hi All,

I have a 2 robot / 1 controller system using vision / conveyor tracking [picking] and indexed work areas for placing [predetermined locations]. Robot 1 will fill up the bottom half of a tray and Robot 2 will fill up the top half of the tray. However, both robots are not filling up the same tray at the same time [There are 2 indexes in between the robots].

Therefore, at the start of a production run, robot 2 waits for robot 1 to start filling but meanwhile PickMaster is still distributing items to robot 2. For 2 indexes, robot 2 is not available. Is there a way that I can tell Robot 1 to pick up all of the items coming down the line during a start-up?

Thanks,

Dino

Hi,

I’m not sure what your physical setup looks like - you say you have indexed workareas for placing so I’m guessing the plce positions are moving along an indexed conveyor (without cnv tracking)?

If so, even if you could fill up all the pockets with robot 1, robot 2 would have no pockets to fill once you start distributing products to both robots (the containers/trays comming from rob 1 are full). A good way to avoid this type of “oscillations” during start up is to keep a product buffer. Every time robot 2 has an item on the infeeder but not on the outfeeder (e.g. during startup) it places on the buffer instead of the place work-area. As soon as there is an empty pocket on the place worka area and no items on the infeeder robot 2 picks from the buffer instead.

Hope this helps,

BR

Hi Fredrik,

I basically have 1 picking belt and 1 indexing conveyor. Both robots pick from the same belt and place items in pre-defined locations (static). Once the conveyor indexes, the items move along generating new empty pockets. Therefore, robot 1 fills the lower tray and robot 2 fills the upper tray. I do not have any buffer space (physically) and given the type of product, it just can’t be done. For the start-up purposes, can’t I just override and have Robot 1 pick up all the items? Is this possible? Can this be done through RAPID?

Thanks,

Dino

Hi,

I have a suggestion, but I have not tried them myself:

  1. Maybe you could define the bottom tray to be filled with Item bottomTray and the top tray to be filled with Item topTray As you may know The PickMaster default RAPID program does not check for the item type to place (or pick), unless you add the Optional parameter ItemType to the GetItmTgt instruction.
    This means that if you distribute both Item bottomTray and topTray to robot 1 it has access to all positions in both the upper and the lower tray. You can then use ItemType to control if all the pockets should be filled or not.
    When you start the system you use GetItmTgt for robot 1 as is, but when robot 2 gets its first place positions you add the ItemType argument for robot 1 and only place bottomTray items. Correspondingly, robot 2 may have to be notified when it is allowed to start placing, so that it does not try to fill a tray already filled by robot 1.

BR

Fredrik

By the way, if you try this be sure to enter unique integer values for Items bottomTray and TopTray when you create them in the PickMaster GUI. Use e.g. bottomTray Accept=1, bottomTray Reject=2, topTray Accept = 3, topTray Reject=4. It is this integer value that the ItemType parameter in the rapid program refers to.

BR
Fredrik

Thanks Fredrik.

I will surely look into it! I really appreciate it!