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
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?