Dual pneumatic gripper depalletizing

Hello. I am currently working on a project that uses dual pneumatic grippers on a UR10E to tend a CNC machine. The robot will depalletize 2 parts at a time, load them into the CNC and remove them when finished onto a heated conveyor. I’m currently working on getting the depalletizing part of the program functional, the pallet is 2x8, 16 parts in total. The issue I am running into is that the program will run the first cycle correctly loading the 2 parts, but when it goes in for the second cycle the robot goes to a location that is canted 45 degrees and above where the part should be, and for the second part it goes to the location for that gripper on the first cycle. I assume that I am missing a step in the program. Any suggestions would be greatly appreciated. Thanks

Do you change your TCP anywhere in the program?

Eric, I have TCPs for both grippers and change them depending on which is being utilized. Right now it goes from Gripper 1, picks up the part, then Gripper 2 for the other. Same for placing the parts.

Make sure your points are programmed to the TCP you think it is. You’re describing an eerily similar experience I had in my early days where I left everything set to “Use Active TCP.” And what would happen is I would stop the program…somewhere, and touch up a point. Except somewhere else in the program the TCP had changed so when I saved the point it wasn’t saved with the TCP I wanted at the time.

I will double check the TCP at the waypoints. I’ve had that same issue you described when I was doing a mockup program for this project that was with only 6 parts in a line. The problem I’m having seems like it doesn’t know where the next parts are supposed to be.

If you post some code or images it might be helpful. Otherwise it’s probably something in the Palletizing node. I don’t like using that if I can help it.

My coworker and I figured out the issue. I had 2 of the grid corners incorrectly placed, and the waypoints for the second gripper were not using the pallet reference point feature. Works great now, onto the rest of the machine tending program. Thanks for the suggestions.