Tool Center Point accuracy
What is the Tool Center Point (TCP) ?
In a picking application, the robot is normally equipped with a grasping tool, like a suction cup, a magnet, a two-finger gripper, or some other type of tool. This can be seen as en extension to the robot flange, and can have any shape. In order to move to a correct position from which the tool can grasp the object, the robot program needs to know the position of the tip of the tool relative to the robot flange. This transform is commonly known as the Tool Center Point (TCP).
If you observe inaccurate picks in your application, this can be due to several reasons, one of them being an inaccurate TCP definition.
Tip
Errors on the TCP always manifest in the same manner with respect to the object, as illustrated in the figure below, left. If, instead, you observe that the error is constant relatively to the robot base (right), then the robot-camera calibration error is probably the cause.
Note
TCP errors do not appear in manually taught waypoints. A blind application using only fixed waypoints might therefore work even with an innacurate TCP. But any application using vision will need an accurate TCP.
Verifying the TCP accuracy
Note
Sometimes, a bad picking accuracy can be due to a loose tool mount. Mechanical play can make the tool move slightly, under the effect of gravity and robot motions. Make sure to rigidly mount your tool before verifying your TCP.
Find a pointy object, such as a nail, and place it at reach of the robot, pointing up. Jog the robot such that the tip of the tool is centered with the tip of the pointy object.
Rotate the robot around the tool frame axis pointing away from the flange. This typically corresponds to the tool Z axis. The tip of the tool should remain centered with the pointy object, and not drift visibly in any direction.
The following videos show this test with an inaccurate (left) and accurate TCP (right):