什么是TCP?为什么需要校准?
TCP的定义
TCP 是 Tool Center Point 的缩写,中文译为 工具中心点 或 工具中心。

- 它不是一个物理存在的传感器,而是一个在机器人控制系统中定义的三维空间坐标系。
- 这个坐标系的原点(0, 0, 0)被定义在工具的末端,通常是工具执行任务时的关键点,
- 焊枪的焊丝尖端
- 夹爪的中心
- 螺丝刀的尖端
- 喷枪的喷嘴中心
- 这个坐标系的Z轴方向通常定义为工具施加力的主方向(焊枪的焊接方向、螺丝刀的拧入方向)。
为什么必须校准TCP?
机器人自身的运动学模型决定了其法兰中心点 的位置和姿态,法兰是机器人手臂末端安装工具的接口,TCP校准的核心目的,就是告诉机器人控制系统:“你法兰中心点的运动,应该如何转换为我定义的工具中心点的运动”。
校准TCP是为了解决“工具长度和姿态带来的误差”问题。
举例说明:
假设你要用一把长 300mm 的螺丝刀去拧一个螺丝。

- 未校准TCP(错误的做法): 机器人只控制法兰中心点移动,如果法兰中心点移动到螺丝正上方,那么由于螺丝刀有长度,其尖端会偏离螺丝中心 300mm,导致拧螺丝失败。
- 已校准TCP(正确的做法): 你告诉机器人,TCP在法兰坐标系中是
(0, 0, 300)(假设Z轴沿螺丝刀方向),当你命令机器人移动TCP到螺丝中心正上方时,机器人内部会进行一个坐标变换:- 目标点:螺丝中心点 (在世界坐标系中)
- 机器人内部计算:为了到达目标点,法兰中心点需要移动到哪个位置?
- 计算:法兰目标位置 = 螺丝中心点 - TCP偏移量
- 结果:机器人会驱动法兰移动到一个“错后”了300mm的位置,从而使得螺丝刀的尖端(TCP)精确地对准螺丝中心。
TCP校准的核心原理
TCP校准的数学原理是坐标系变换,机器人控制器内部使用齐次变换矩阵来描述不同坐标系之间的位置和姿态关系。
坐标系关系
整个校准过程涉及三个关键坐标系:
- 基坐标系: 固定在机器人底座的世界坐标系,是所有运动的参考基准。
- 法兰坐标系: 固定在机器人法兰中心点,它会随着机器人关节的运动而移动和旋转。
- 工具坐标系: 我们要定义的TCP坐标系,它固连在工具上,相对于法兰坐标系有一个固定的偏移和旋转。
校准的目标: 精确地求出 工具坐标系相对于法兰坐标系 的变换关系,这个关系一旦确定,机器人控制器就可以在任意时刻,根据法兰的位姿,实时、精确地计算出TCP的位姿。
数学表示
这个变换关系通常用一个 4x4 的齐次变换矩阵 T_tcp_flange 来表示:

[ R P ]
[ 0 1 ]
R(Rotation, 3x3矩阵): 描述了工具坐标系相对于法兰坐标系的姿态,也就是TCP的X、Y、Z轴分别指向法兰坐标系的哪个方向。P(Position, 3x1向量): 描述了工具坐标系原点相对于法兰坐标系原点的位置偏移,也就是TCP在法兰坐标系中的坐标(x, y, z)。
校准的过程,就是通过一系列测量,来精确求解这个矩阵中的所有元素。
主流的TCP校准方法及其原理
工业机器人最常用且最精确的TCP校准方法是 四点法 和 六点法。
四点法 - 最常用
这种方法通过四个已知的球心位置来反向求解TCP的位置和姿态。
校准原理:
-
假设姿态已知: 四点法假设工具的姿态是已知的(即工具的Z轴方向与法兰的Z轴方向平行,或者用户已经通过手动示教等方式定义了工具的X和Y轴方向),它主要校准的是TCP的位置偏移
(x, y, z)。 -
核心约束: TCP在空间中的运动轨迹是一个球面,无论机器人如何运动,只要TCP的球心位置保持不变,TCP本身就在这个球的表面上,校准的目标就是找到这个球的球心。
-
操作步骤:
- Step 1: 安装工具与校准针: 将工具安装到机器人法兰上,并在工具末端安装一个可精确接触的校准针(或球)。
- Step 2: 手动示教四个点: 手动操作机器人,使用校准针去接触一个固定在空间中的参考球(或一个固定点),在这个过程中,你需要确保:
- TCP的Z轴方向始终指向或背向参考球的球心,这是四点法的关键,它保证了TCP在球面上运动。
- 在四个不同的姿态下,让TCP(校准针的尖端)精确地接触参考球的球心,这四个点不能在同一个平面上。
- Step 3: 机器人内部计算:
- 机器人控制器记录下这四个接触点在基坐标系下的坐标:
P1, P2, P3, P4。 - 由于这四个点都是TCP在空间中运动时经过的位置,且TCP的球心位置不变,这四个点必然共球。
- 控制器使用球面拟合算法(解一个最小二乘问题),根据这四个点的坐标计算出唯一的一个球心位置
C。 - 这个球心
C,就是我们要求的TCP在基坐标系下的位置。
- 机器人控制器记录下这四个接触点在基坐标系下的坐标:
- Step 4: 计算TCP偏移量:
- 控制器同时记录下这四个点对应的法兰中心点在基坐标系下的坐标:
F1, F2, F3, F4。 - 对于每一个点,都有一个对应的法兰位姿,控制器取这四个法兰位姿的平均值,得到一个“平均”的法兰位姿
F_avg。 - TCP相对于法兰的偏移量
P就通过简单的向量减法得到:P = C - F_avg
- 控制器同时记录下这四个点对应的法兰中心点在基坐标系下的坐标:
至此,TCP的位置 (x, y, z) 就被确定下来了,由于姿态是预设的,整个TCP校准完成。
六点法 - 更精确
六点法可以同时校准TCP的位置和姿态,因此比四点法更全面、更精确。
校准原理:
六点法通过定义工具坐标系在法兰坐标系中的三个轴(X, Y, Z)来求解完整的变换矩阵。
-
核心思想:
- Z轴定义: 通过两个点来定义Z轴的方向,这两个点位于一条平行于Z轴的直线上。
- X轴定义: 通过三个点来定义X轴的方向和原点,这三个点位于一个垂直于Z轴的平面上,通过这三个点可以拟合出一个平面,平面的法向量就是Z轴方向(与之前定义的Z轴方向进行校验),在这平面上取两个点,可以定义X轴的方向。
- 原点定义: TCP的原点是X轴与Z轴的交点。
-
操作步骤:
- Step 1: 定义Z轴 (第1点和第2点)
- 手动操作机器人,使用TCP(或工具上的一个参考点)去接触一个固定平面。
- 在两个不同的姿态下接触该平面,并记录下这两个接触点的位置,这两个点连线的方向就定义为TCP的Z轴方向。
- Step 2: 定义X轴和原点 (第3、4、5点)
- 找到一个垂直于Z轴的固定平面(或者用一个校准块保证)。
- 手动操作机器人,让TCP去接触这个新的平面,并记录下三个不同的接触点。
- 这三个点拟合出一个平面,这个平面的法向量应该与之前定义的Z轴方向平行(用于验证)。
- 在这三个点中,取两个点(例如第3点和第4点),它们连线的方向就定义为TCP的X轴方向。
- TCP的原点就是Z轴与这个新平面的交点。
- Step 3: 定义Y轴 (第6点)
- Y轴的方向可以通过右手法则自动确定:
Y = Z × X,所以第6个点通常用来校验或定义一个边界,以确保所有操作都在一个安全区域内。
- Y轴的方向可以通过右手法则自动确定:
- Step 4: 机器人内部计算:
- 控制器根据这六个点的信息,计算出TCP的三个轴在空间中的方向向量。
- 结合记录下的法兰位姿,控制器可以反向求解出TCP坐标系相对于法兰坐标系的完整旋转矩阵
R和位置偏移P。 - 完整的TCP变换矩阵
T_tcp_flange就被确定了。
- Step 1: 定义Z轴 (第1点和第2点)
校准精度的影响因素
TCP校准的精度直接影响机器人的重复定位精度和轨迹精度,主要影响因素包括:
- 测量精度: 人工手动示教接触点时,是否存在视觉误差、手感误差,使用激光跟踪仪等高精度设备可以大幅提升精度。
- 参考物体的精度: 用来接触的参考球、参考平面的几何精度是否足够高。
- 点的分布: 四点法中,四个点是否分布均匀,避免共面,六点法中,定义X轴的三个点是否不共线。
- 机器人本身的刚度: 机器人在运动和受外力时是否会产生形变。
- 工具的重量和惯性: 过重的工具可能导致机器人手臂在高速运动时产生振动,影响TCP的稳定性。
- 温度变化: 环境温度的变化可能导致机器人本体和工具发生热胀冷缩,影响长期精度。
| 特性 | 描述 |
|---|---|
| 核心目的 | 建立工具坐标系与法兰坐标系之间的精确变换关系,使机器人能精确控制工具末端点。 |
| 数学原理 | 坐标系变换,通过齐次变换矩阵 T_tcp_flange 来描述位置偏移和姿态旋转。 |
| 主要方法 | 四点法:通过拟合球面来求解TCP的位置 (x, y, z),假设姿态已知。六点法:通过定义工具的X、Y、Z轴来求解完整的变换矩阵,同时校准位置和姿态,更精确。 |
| 关键步骤 | 安装工具和校准装置。 手动示教多个精确的接触点。 机器人控制器根据这些点进行几何计算(球面拟合/平面拟合)。 计算出TCP相对于法兰的偏移量和姿态,并保存。 |
| 重要性 | TCP校准是机器人高精度作业(如焊接、涂胶、装配、切割)的前提和基础,一个错误的TCP会导致所有任务失败或产生废品。 |
理解TCP校准的原理,对于机器人工程师、操作人员和程序员来说,都是掌握机器人运动控制、提高应用水平的关键一环。
标签: 机器人TCP校准方法 工业机器人TCP标定原理 机器人工具中心点校准步骤