R = -
T = -
机械臂工具标定 (TCP) 通俗讲解
目的:标定工具中心点(TCP)是为了告诉机械臂:“你手上拿着的工具,它的针尖到底在哪里?” 只有知道了针尖的位置,机械臂才能精确控制针尖去干活。
步骤 0: 原理介绍 (四点法)
怎么做? 我们让机械臂拿着工具,用针尖去碰空间中同一个固定不动的点。为了算得准,我们需要从至少 4 个不同的方向(姿态)去碰这个点。
每次碰这个点时,机械臂内部都能读到它法兰盘(也就是装工具的那个圆盘)的位置和旋转角度。
核心公式(数学原理):
如果你想自己动手算算看矩阵和向量的乘法过程,可以 👉 点击这里使用矩阵计算工具。
符号详细解释(参数怎么来的,怎么用):
- \( P_{TCP} \):工具针尖在“法兰坐标系”下的位置(未知数)。这就是我们要标定的结果。它就像是法兰盘的“手长”。
- \( P_{Fixed} \):空间中固定参考点在“基坐标系”下的位置(未知数)。虽然不知道具体在哪,但它是不动的。
- \( R_i \):第 i 次触碰时,法兰盘在“基坐标系”下的旋转矩阵。来源:由机械臂控制器直接读取关节角度计算得出。作用:把 \( P_{TCP} \) 从法兰盘自己的坐标系,转换到世界中心(基坐标系)的方向。
- \( T_i \):第 i 次触碰时,法兰盘中心在“基坐标系”下的位置向量。来源:同上,由控制器读取。作用:加上这段位移,最终算出针尖在基坐标系里的绝对位置。
公式的意思就是:在基坐标系下看,针尖的位置 = 把针尖在法兰盘里的位置 (\( P_{TCP} \)) 转到世界方向 (\( R_i \cdot P_{TCP} \)),再加上法兰盘本身的位置 (\( T_i \))。这个算出来的位置,刚好就是那个固定点 (\( P_{Fixed} \))。
步骤 1: 姿态 1
机械臂移动到第一个姿态,使针尖对准固定点。我们记录下此时法兰盘在基坐标系下的数据:旋转 \( R_1 \),位置 \( T_1 \)。
步骤 2: 姿态 2
换个姿势,再次让针尖对准同一点。记录第二组数据:旋转 \( R_2 \),位置 \( T_2 \)。
步骤 3: 姿态 3
再换个姿势,记录第三组数据:旋转 \( R_3 \),位置 \( T_3 \)。
步骤 4: 姿态 4
最后换个姿势,记录第四组数据:旋转 \( R_4 \),位置 \( T_4 \)。
步骤 5: 开始计算!
怎么算出 \( P_{TCP} \) 呢?
1. 消去固定点: 因为不管怎么碰,固定点 \( P_{Fixed} \) 是同一个。所以我们可以把上面得到的方程两两相减,比如用第 2 次减去第 1 次,这样等号右边的 \( P_{Fixed} \) 就被减没了:
2. 列出大方程: 用4组数据可以组合出3个独立的等式。把它们拼成一个矩阵形式的大方程 \( A \cdot P_{TCP} = B \)。其中 A 是由多次旋转矩阵相减得到的,B 是由多次位置向量相减得到的。
3. 求得结果: 因为手工去碰总有误差,我们使用一种叫最小二乘法的数学工具来求解,它能找到一个最能满足所有误差条件的解,这样算出来的结果最准:
进阶知识探索
如果你想深入了解完整的 TCP 是如何包含方向(欧拉角 A,B,C)的,以及底层的 $4 \times 4$ 齐次变换矩阵是如何进行计算和控制机械臂运动的,请点击下方链接查看详细的进阶内容:
👉 查看进阶知识:TCP 的完整变换矩阵与欧拉角