DoF - a Robotiq Community
Warning sign
The Dof Community was shut down in June 2023. This is a read-only archive.
If you have questions about Robotiq products please reach our support team.
Sebastien

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



Catherine_Bernier

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!

https://youtu.be/iuBvryVNbOs

   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