A robot Tool Center Point (TCP) is the specific point on a robot's end-effector (tool) that is used as the reference point for controlling the robot's movements. The TCP is the point where any force or torque is applied to the object being manipulated. In simple terms, it is the point at which the robot "touches" the object it is working with.
Setting a TCP allows movement (jogging or programmed) of the Robot in relation to the functional location of whatever tool(s) you are using
Example: When doing Robotic welding, it is critical to maintain a precise & consistent arc length between your electrode & the workpiece being welded
You can also align TCP's with other objects and Work Coordinate Systems (WCS's), to ensure movement/actions are precisely coordinated to the object(s) the robot is interacting with
Considerations that affect the TCP include the design and geometry of the end-effector, the weight and size of the objects being manipulated, and the workspace of the robot.
The position and orientation of the TCP also affect the robot's accuracy, reachability, and dexterity.
In addition, the robot's control software must be programmed to take into account the TCP and its associated parameters, such as tool length and orientation, to ensure accurate and effective operation.
There are a few key pieces of information needed to set a TCP correctly, which are:
Dimensional Position from Robot Flange
Orientation (if EOAT not in-line with Robot Flange Z-Axis)
Payload/Mass (in kg)
Remember: This counts towards the robot's overall payload!
Center of Gravity
If the TCP is not set properly, it can cause errors in the robot's calculations of the required joint movements to compensate for added payload, which can result in excessive wear and tear on the robot's components, reduced accuracy and repeatability, and reduced overall performance.
When using multi-tool/gripper or combination EOAT, you can set multiple TCP's for each tool/gripper, and reference and move or perform actions related to both/all of them within the same program, as needed
There are generally three methods for determining the key values needed to fully define TCP's for a robot:
Manual TCP Calibration can be used for simple, lightweight EOAT and when required precision/tolerances are loose/forgiving. This is typically done using what is known
A Ruler/Square can be used to find the rough XYZ Dimensional Position from Robot Flange
A Square/Protractor/Angle Finder can be used to find the rough angular XYZ Orientation
A Scale can be used to find the rough Payload/Mass
Balancing the EOAT on a Finger/Rod can be used to find the rough Center of Gravity
Point Calibration Method is an alternative way for setting TCP data that requires little/no measurement compared to doing things fully manually, and offers similar precision
A Calibration Tool/Point can be used to give you both rough Dimensional Position from Robot Flange as well as Orientation
Payload/Mass and Center of Gravity must still be determined using another method(s), whether the manual method or via a CAD model
CAD Model TCP Calibration. Most EOAT designs used in industry start with a CAD model, which can be used to determine all the TCP data needed:
Inspecting/Sketching lines/points from the Robot Flange to the TCP can give you both precise Dimensional Position from Robot Flange as well as Orientation
Assigning accurate Material Properties to components, then analyzing the overall EOAT properties in CAD can give you both precise Payload/Mass and Center of Gravity
Using the CAD model given below, determine the correct data to enter for setting the Tool Center Point for the Spring-Loaded Sharpie EOAT, including:
Dimensional Position
Orientation
Payload/Mass
Note: Ensure material types/properties in CAD align with the physical material(s) of the EOAT!
Center of Gravity
Once determined, set the TCP data for the UR5 Cobot and test for correct setup by jogging the robot in relation to the TCP