Home Applications

Discussion

Left ArrowBack to discussions page
SebastienSebastien Posts: 219 Handy

One thing I was trying to do with the vision system is to try to empty trays. First thing I wanted to try was to use the pallet wizard in UR to offset my snapshot position.I stacked up trays of a single part on top of one another. Between snapshots I would remove one of the tray by hand. So in the program, I used a line pattern in the pallet wizard. My StartPos_1 being the initial snapshot position when all trays where stacked. By the way this is the setup that I used to do the calibration, having the calibration grid on the higher tray of the stack. The EndPos_1 would then be when I only have one tray left in the stack. In my case this affected only Z axis by the amount of TOTAL_#_TRAYS x TRAY_THICKNESS. Now under the pallet sequence, I used my initial snapshot position as Approach_1 which is also the pallet anchor in the program. Then I embedded the Camera Locate node under the pallet sequence node. So in fact the snapshot position would shift according to the pallet sequence as trays are being removed from under the yellow background cardboard. I thought that since the geometrical relation between the snapshot position and the height of the pile remains constant as the snapshot position changes according to the pallet tool that this would work. It works for the first position but an error saying ‘not a snapshot position’ pops up when trying to take the picture at position number 2 in the pallet sequence. How can I solve this?

   Robot Program
     Pallet
       Pattern: Line
         StartPos_1
         EndPos_1
       PalletSequence
         Approach_1
         Camera Locate
           MoveL
             Waypoint_1
             Gripper Close
             Waypoint_2



Comments

  • Hi @Sebastien, I tried your program. Right now we cannot offset the snapshot position. This is just not permitted by our software.

    Therefore, the way I do this for now is not to use the Pallet tool in the UR polyscope. Instead I program a logic with 3 different camera locates and 3 different calibrated snapshot positions. This looks like it is requiring a bit more work than using the pallet option but at the end I think the result is faster and more flexible. It took me about 30 mins. to make this work. The logic is to snapshot one layer and pick objects until this layer is empty. Then move on to the next layer. The robot or the human can remove the trays in between. This way, the pallet tool is sort of automatically compensated by the use of the vision system locating several parts on a single layer, rather than setting up the pallet tool to pick up all the different parts in the tray. Take a look at the video and the program that I made to correct this!


       BeforeStart
         stack_height≔0
       Robot Program
         MoveL
           Waypoint_5
         obj_found≔0
         If stack_height≟0
           Camera Locate
             obj_found≔1
             MoveL
               pick1
               Gripper Close
               pick2
         If obj_found≟0  and stack_height≟0
           Popup
           stack_height≔1
         If stack_height≟1
           MoveL
             Waypoint_1
           Camera Locate
             obj_found≔1
             MoveL
               pick3
               Gripper Close
               pick4
         If obj_found≟0  and stack_height≟1
           Popup
           stack_height≔2
         If stack_height≟2
           MoveL
             Waypoint_2
           Camera Locate
             obj_found≔1
             MoveL
               pick5
               Gripper Close
               pick6
         If obj_found≟0  and stack_height≟2
           Popup
         If obj_found≟1
           MoveL
             Waypoint_3
             Waypoint_4
           Gripper Open


    Catherine Bernier, Jr. Eng. 
Sign In or Register to comment.
Left ArrowBack to discussions page