Robot Basics: The Importance of the Tool Center Point

by Plasma Powders and Systems, Inc.

Many of the robots used for thermal spray operations are of the articulated type, configured much like the human arm and wrist where motions are via joints as opposed to slides. Such robots offer a lot of versatility but could be a problem to program if it were not for advanced robot programming and control software.

This article provides a brief review on one important programmable parameter for articulated robots, the Tool Coordinate System. Even if you are not involved with robot programming, the information can be of benefit in understanding the basic principles used in automated thermal spray operations along with an understanding as to what can be achieved using a properly programmed robot.

To assist the programmer/operator, robot programs offer a number of coordinate systems that define the position and the attitude of the robot and of the tool being used. Two of these are the World Coordinate System and the Tool Coordinate System.

Programming Robots for Thermal Spraying - World Coordinate System and the Tool Coordinate System

These coordinate systems use Cartesian nomenclature carried over from aircraft. The “X” axis is the forward direction while rotation about this axis is “R” or roll. Horizontal or side-to-side motion is along the “Y” axis and rotation about this axis is “P” or pitch. Vertical motion is along the “Z” axis and rotation about this axis is “W” or yaw.

Notice that, in this example, the gun is mounted next to the wrist and at an angle to limit the gun and cable load on the robot wrist. Also, this is a configuration that avoids singularities, a condition where two axes of the robot line up, causing program interpretation problems that could lead to an inadvertent shutdown. Figure 2 is of a Plasma Powders & Systems, Inc. Corrospray Wire Spray Gun with offset mount in an RM-1000 Hood.

Corrospray Wire Spray Gun, Metalizing Gun, Combustion Wire Spray Torch - Plasma Powders

The Tool Coordinate System consists of two components, the Tool Frame and the Tool Center Point or TCP. The Tool Frame is made up of the three axes just discussed and the TCP is the origin of that frame. When the robot is instructed to move at a certain speed, it is the speed of the TCP that is controlled. The World Coordinate System is fixed with respect to the robot and is not programmable. However, the Tool Coordinate System is programmable and can be “taught” for each tool or gun attached to the robot. In the past, a number of robot programmers used only the World Coordinate System or a default Tool Coordinate System. The purpose of this paper is to summarize the benefits of working with a properly set-up Tool Coordinate System. There are at least three benefits realized in using the Tool Coordinate System.

First, it speeds up programming

Consider a Tool Frame and TCP for a thermal spray operation. As noted in Figure 1, the TCP is programmed to be the spot or the deposit point of the spray process. This is at the stand-off distance from the face of the thermal spray gun. This distance can vary from an inch for a plasma operation to feet for an arc process. In developing a robot program, the programmer is interested in the relationship of the gun and the work-piece. Using the Tool Frame as shown for the thermal spray gun, the programmer can easily jog the gun along the gun axis to reach the proper standoff. The programmer only has to move the gun along the “X” axis (single button control). If the World or default Tool coordinate system were used, the programmer would have to alternately jog between the three axes in order to position the gun.

Second, programming is simpler

In multiple pass coating a sheet as shown in Figure 1, each pass of the gun is offset from the previous path. One way to achieve this is to program each path, i.e. a separate motion instruction for each path. An easier way is to use only one motion instruction in a repetitive loop and incrementally introduce an offset in the “Z” direction after each pass. This is only possible if the Tool Frame has been defined.

Third, the build is more accurate

A more important argument for using the correct TCP has to do with the build. Figure 3 is an example where a coating is required on a curved surface.

Programming the Tool Center Point where thermal spray powder coating is required on a curved surface

To achieve the required thickness, assume that the gun needs to traverse across the plate at a speed of 10 mm/sec. Where the plate is flat, this is easily understood. However, where a curve is encountered such as in Figure 3, the gun is moving at a different rate than the speed of the spot or point of application. In this figure, the center of the wrist flange travels 20 mm while the spray plume or spot travels only 10 mm along the curve. If the default TCP (center of the wrist flange) was used by the programmer, the robot would be controlling the speed of the flange and not the speed at the point of application. The spot travel speed in the area of the curve would drop by half, resulting in a build double of that in the flat sections of the sheet. This would produce an unsatisfactory build.

Programming the Tool Coordinate System

Is it difficult to program a Tool Coordinate System? Not really. Modern articulated robots step the operator through the program for a Tool Coordinate System. Programming the Tool Frame and TCP is achieved by placing a straw or other object in the gun to represent the stand-off distance. The robot is jogged to cause the tip of the straw to touch a singular point from three different positions, and by pressing an “accept” key, it records the gun coordinates for each. The robot can then calculate the TCP for the gun being used. The frame is defined by moving the gun from the given spot in the “X” direction and then in the “Z” direction and recording the result for each motion. The robot uses that information whenever that tool frame is selected. As indicated, the Tool Coordinate System can be a powerful tool. It is worth while to become familiar with it and to use it regularly for each thermal spray gun used in a robotic process.