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.
StoopidEngineer

Good Afternoon All, 

I'm working on an application where the intent is to work into, then back out of a pallet, sometimes multiple times. Is there a way to reuse an existing pallet within the UR GUI? It appears to me that it isn't even possible to reuse previously taught corners (like you can do with existing waypoints.) I.e. Every time you use the pallet command, it creates a new pallet routine, and I can't seem to find a way to get around that, or force it to reference an existing pallet. 

Having to reteach the same pallet multiple times in the event anything ever moves is going to be frustrating, and probably cause issues. 

As to the intent of what I'm trying to do: 

One of the stations the robot is loading is a test stand. If a part fails the test I am going to place it in a re-test tray (the pallet). In the main program, if/when a timeout timer is reached, the robot will start to unload from the pallet to retest failed parts, then process them through the rest of the cell, or else return them to the retest tray (again, the same pallet.) 

By my count, that is 3 times I would need to teach this pallet, and re-teach it when something goes wrong or moves. Additionally, I need to carry those counts across to one another so I know where I can pick and place product from without grabbing air or crashing. 

This is a station in the middle of an automation cell, and there are previous test stations to this one, and several other stations following. The robot is a two-up EOAT.

The mental default I have for everything regarding UR robots programming shortfalls is to use scripts, but for anything related to positional information, I find those very unfriendly as well. 

I would put the pallet routine in a sub-program to call, but yet again, I'm running into URs not having that capability being a problem. 

I'm trying to figure out a way to program around this, but I'm just not seeing it - any advice you can offer would be appreciated. 

Thanks all!