Hey everyone,
I've been programming industrial robots for some time now, but I've never had any formal training since I was a PLC / CNC programmer that transitioned into it. Typically, on most (if not all) industrial robots, the default tool Z+ vector is pointing directly out of the flange of the robot. When I create my new TCP to match a gripper, I typically rotate the frame so that Z+ aligns with the world Z+. So, If the gripper typically grips from the side on a part and is parallel to the world XY plane, then Z+ in the tool would be Z+ in the world. Similarly, if the gripper typically grips from the top of the part and is perpendicular to the world XY plane, Z+ in the tool would also be aligned with Z+ in the world. I find that myself and many others crash the robots much less and aren't sitting at the machine looking like a contortionist trying to bend our arm in the right hand rule while thinking about offset directions.
Recently, a fellow programmer was saying that the the Z+ vector of the tool should always be in the direction of the part, more similar to how the default TCP is on a robot. I know there are a million different scenarios between applications and not all robots are doing work in the same orientation, but I wanted to get some feedback from the community and see if there are common standards or thoughts on this.