Technical Article

How to Define the Tool Center Point (TCP) on a Robot

July 30, 2022 by Damond Goodwin

Robots must be moved using cartesian frames to coordinate motion of all the joints. Properly defining the tool center point greatly simplifies teaching for any type of end of arm tool (EoAT).

Why Does Jogging and Motion Programming Require Defining a TCP?

Robotic arms in the automated manufacturing industry can perform their tasks with extreme accuracy. They can do so under the guidance of a controller monitored coordinate system. The coordinate system is used to help the robot navigate in 3-dimensional space. Without anything attached to the robot, the end of the arm is used as a reference point for navigation.  

The controller can move each of the joints in a coordinated manner to make the reference point move through space to predetermined, or “taught” positions. When you add a tool or gripper to the robotic arm, the reference point should change to reflect the offset the tool makes. Using the tool as the focus of movement makes programming the robot much easier and allows for more versatility in what functions can be added to a program. 

A Tool Center Point or (TCP) is used to create the necessary adjustment. This allows the controller to shift the coordinate system to keep track of the tool instead of the arm's end. 


Robot TCP example

Figure 1. A representation of tool center point (TCP) differences between the factory-supplied default position and the custom TCP for a user’s welding tool.


Tool Center Points are critical when updating programs. An accurate TCP allows for programs to be transferred between identical cells and allows backup programs to be reloaded into a robot with lost or corrupt files. If a robot has major internal problems and loses the programs loaded into it, the TCP is used as a reference point for all of the programmed points in the system. 

A system taught without an accurate TCP will have to be retaught at every point in the program to function correctly again. The monetary loss in downtime for the system and programming costs can be significant.   

An accurate TCP is extremely important for keeping a robotic arm accurate in its movements. Inaccuracy can cause many different problems that may not be easy to solve when troubleshooting issues within a system. One of the first things to check on a malfunctioning robot is the TCP. Problems can range from misplaced product to significant crashes that can damage the system or the robot.  

Troubleshooting a problem like the dropped product may seem like either gripper failure or misplaced approach points when picking the product. 

While either of these could be the case, an inaccurate TCP could be causing the arm to follow a different path than the original programming. Since checking a Tool Center Point is a relatively short process, it is often time well spent to check it before troubleshooting other potential causes for a malfunction.  


Verify Robot TCP After Collision or Backup Restore

Checking a robot’s TCP is usually a straightforward process. Different brands of robots may have slightly different methods, but they all do the same thing. Mostly the main point of focus for the tool or gripper is found by rotating the tool around a pointer used to create a defined reference in space.  

Depending on the type of TCP being created, at least three different orientations of the tool are needed. A programmer drives the robot to one orientation and records it. It then moves the tool to the next orientation, records it, and so on until all the points are recorded in the controller. Once that process is complete, the robot calculates the exact Tool Center Point based on the recorded information and makes an offset. After the TCP has been made, the robot can be switched to move in a tool coordinate system and the tool jogged around the pointer.  

If the tool doesn’t stray from the pointer, then the TCP has been set up correctly and will be accurate. If it strays off in another direction, the process will need to be repeated until it is accurate. The accuracy of the TCP is directly related to how carefully the orientation points were set up.  

When a robot is first installed, a programmer should create a TCP. This makes programming the robot easier because it will track according to the tool and give a reference point for backups. Backups can save time and money compared to reprogramming the entire system when a major malfunction occurs, and without an accurate TCP, they lose a lot of their value. 


Figure 2. A diagram showing tool path with and without a TCP. In the left image, the flat motion and rotation of the mounting plate causes the tool end to travel in an arc. In the right image, the properly defined TCP causes the arm to compensate for the arc of the tool end. Image courtesy of FANUC.


Once the TCP has been set, rarely does it cause issues with the system unless some external factor has caused it to change, like a hard crash. If the robot has suffered a hard crash, damage to the robotic tool may have changed its physical location. 

When this happens, the tool either needs to be changed to reflect the TCP or the TCP needs to change to reflect the new tool orientation. It is usually easier to change the TCP if the tool isn’t damaged to the point of needing replacement. 


Troubleshooting TCP Accuracy After Damage or Tool Change

Since a Tool Center Point is a major component in the functionality of robotic operation, it can provide important information to the system's overall status. A change in the TCP is rarely caused by an internal factor in the robot’s programming, but checking its accuracy can lead to finding the problem's actual cause.  

After any significant crash, the TCP should be checked for accuracy. A crash can shift the tool’s orientation, or cause the encoders in the arm to loose location. Both of these scenarios have the potential to create other crashes later on.  

Sporadic failures in the automation process are more difficult to figure out in most cases. If a robot is occasionally dropping product, there are a myriad of possible reasons. Anything from sensors, to wear parts, could be the cause of an issue that happens only sometimes.  

Since checking the TCP does not take long, it is one of the best places to start. If the TCP is not correct it could be causing intermittent issues with the system because the tolerance in tooling or product picking may become too large. 

Most of the time it will be able to grab product or perform its task, but occasionally product might be slightly out of alignment and the tool is out of the range to properly grab it. Adjustment of the TCP in these scenarios will likely fix the problem.

A Tool Center Point is vital to proper robotic programming. It creates a more robust system and can save expensive downtime when the robot controller loses files or experiences a hard crash.

The TCP makes programming easier since the robot can be jogged according to the tool orientation if it is set up properly. When troubleshooting a robot, one of the best places to start is with the Tool Center Point since it is relatively simple to check and will eliminate concerns with the robot if it is accurate.