# Clarification of robot terminology Tool Frame vs TCP

• Hello guys,

I need your help clarifying industrial robot terminology. I'm reading one article in which there are sentences: " bei einem Andocken der Schweißzange an den Roboter die beiden Toolframes ( Toolframe eines Roboters und der Schweißzange Toolframe) identisch sind." ..."Die Schweißzange enthält neben dem Toolframe noch den sogenannten TCP (Tool Center Point). Der TCP wird als Arbeitspunkt wahrgenommen".

The last sentence can be translated like: The welding tool has in addition to Toolframe, so called TCP (Tool Center Point). The TCP is considered as a working point. I thought that TCP is actually a tip of the end effector, which is in this case a welding tool. I know there is a difference between a robot flange frame and TCP (depending of the geometry, usually fixed translation along the axes and/or rotations are needed to coincide these two frames), but Toolframe should be a frame positioned in the TCP, right?

• Think you are right. In above description Tool frame is the mathematical description/position of the tcp.

But those German sentences are a bit strange, I wouldn't give too much for the terminology in them. I'm native and living in Germany.

• Thank you Hermann! Cheers!

Let me try to explain ToolFrame and TCP (hopefully helpful)

A frame describes the translation and orientation of a coordinate system relative to another coordinate system.

Example KUKA:

the ToolFrame therefore describes the tool coordinate system relative to the flange coordinate system with translation in X, Y and Z of the origin of the new position of the tool coordinate system (the origin of the tool coordinate system is also called TCP) and the orientation change in angle A, B and C.

For frame arithmetic a 4x4 matrix is required containing an orientation matrix (3x3) and translation vector (1x3) and a forth line with (0,0,0,1) in order to allow matrix multiplication

In other words:

TCP describes only the translation in X,Y and Z

Toolframe describes TCP and Orientation in X, Y, Z, A, B, C

• MOM thank you for the reply. Maybe it is indeed best to explain this on KUKA robot example. On KUKA/s site I have found one example of a KUKA robot with welding gun. So the the origin of the tool coordinate system is placed in the TCP i.e. tip of the welding gun.

For example, tool frame is written in \$config.dat file of the KUKA robot in the following form:

Code
``   TOOL_DATA[1]={X xxx, Y yyy, Z zzz, A aaa, B bbb, C ccc}``

I have sketched out the mentioned coordinated system on the attached picture. So the values in this TOOL_DATA means what translations by and rotation around x,y,z (C,B,A around current intermediate frames) are needed to match this tool frame coordinate system to the flange coordinate system.

So TCP describes translations in X,Y and Z needed to match tool frame coordinated system placed on the tool tip to flange coordinate system. Is that right?

## Images

• On your picture you do not see too much.

If the robot axes are set to A1 0.0°, A2 -90.0°, A3 90.0°, A4 0.0°, A5 0.0°, A6 0.0° then Flange coordinate system looks like

X-Axis pointing down (towards floor)

if you are in front of robot looking towards robot

Y-Axis left side

Z-Axis towards you

Rotation:

A rotation around Z-Axis

B rotation around Y'-Axis

C rotation around X''-Axis

• I would say TCP is a tool frame that is specially located on a center point. That's why it is called so.

Also I think the sentence from that article you posted is not quite correct. In case of a docking operation, frames are not identical. This makes no sense. Only if you position a tool frame exactly on a stationary frame, but not 2 tool frames. Those would be always identical and without purpose.

Edited 2 times, last by Eric ().

• I have no idea what you are talking about

Maybe you make a drawing explaining your statements

What is a Frame?

How is the TCP specially located to what center point?

" bei einem Andocken der Schweißzange an den Roboter die beiden Toolframes ( Toolframe eines Roboters und der Schweißzange Toolframe) identisch sind."

This sentence is bit confusing.

When a tool is built then it make also sense to do measurements to have the dimensions and orientation of this tool and call it Toolframe of the Welding Gun and can be used as values for the Robot Toolframe

• In this thread, with help of your explanations I understood that Tool frame is a coordinate system (axes x, y and z) placed at the TCP (Tool Center Point). Since I have very limited experience only with KUKA robots (on beginner level), I know that there could be a different tools and each can have its own position and orientation data and it is stored in \$config.dat file. This data depends on the geometry of the tools.

I have found a video on YT by Werner Hampel with an example of calibration of the robot tool using 4 points. The data he obtained by measurements (and saved) are expressed in reference to the world coordinate system (coordinate system in the base of the robot).

I'm not either German or English native speaker, and that sentence also confused me, but I know that TCP is not any type of addition to tool frame. Tool frame is actually placed in the TCP.

• This comes all from the mathematical calculations, that happen under the hood.

A frame is a coordinate system.

A tool frame is a coordinate system attached on the end of the link chain. It is affected and moved by robot joints in relation to the world or base.

A world frame (ABB) is a stationary frame of your choice, standard position(ABB) at the base of the robot

A TCP is a Tool Center Point - So, strict speaking: point on the center of the tool. Where that center is (center of mass, center of shape, center of axle) is up to you. Most people use TCP as term for a tool frame. So, this term is used wishy washy.

Also there are no real standards for terms.

 Tool Frame Stationary Frame FANUC EOAT (End of Arm Tool) User Frame KUKA TOOL BASE ABB Tool Workobject

Edited 2 times, last by Eric ().