← 返回标定动画演示

进阶疑问:为什么有的 TCP 除了位置 (X,Y,Z),还有 A,B,C 三个欧拉角?

我们前面演示的“四点法”,只是标定了工具的位置 (TCP Position)。但完整的工具其实是有方向 (TCP Orientation)的。

(X,Y,Z) 和 (A,B,C) 是如何构成变换矩阵的?

这六个参数合在一起,描述了从法兰盘中心,如何走到并转到针尖的过程。在机器人系统里,这会被组合成一个 \( 4 \times 4 \) 的齐次变换矩阵 \( T_{tool} \)

\[ T_{tool} = \begin{bmatrix} R_{tool}(A,B,C) & P_{tool}(X,Y,Z) \\ 0 \quad 0 \quad 0 & 1 \end{bmatrix} = \begin{bmatrix} r_{11} & r_{12} & r_{13} & X \\ r_{21} & r_{22} & r_{23} & Y \\ r_{31} & r_{32} & r_{33} & Z \\ 0 & 0 & 0 & 1 \end{bmatrix} \]

计算细节拆解:

标定好之后的终极用法:

一旦算出了 \( T_{tool} \),以后不管机械臂怎么动,系统都会在后台疯狂做下面这个乘法:

\[ T_{world\_to\_tip} = T_{flange} \times T_{tool} \]

符号详细解释与怎么用:

实际应用场景(怎么用它控制机器人?):

平时干活时,你肯定是告诉机器人:“让针尖去世界的这个点 (100, 50, 20)”。但机器人的大脑只认识自己手臂上的关节和法兰盘,它不知道针尖在哪。这时候系统就要反过来算

既然 \( T_{world\_to\_tip} = T_{flange} \times T_{tool} \),我们在等号两边同时乘以 \( T_{tool} \) 的逆矩阵 \( T_{tool}^{-1} \),就能得到:

\[ T_{flange} = T_{world\_to\_tip} \times T_{tool}^{-1} \]

如何标定 A,B,C?

如果需要标定方向,通常会在“四点法”之后,再加两步(称为“六点法”):

  1. 在刚才固定点的位置,保持针尖不动,让工具的 Z 轴(比如针管方向)平行于基坐标系的某个轴(比如 X 轴)并记录一下。
  2. 再换个姿势,让工具的 Z 轴平行于基坐标系的另一个轴(比如 Z 轴)并记录一下。

通过这两个额外的姿态,系统就能算出工具坐标系相对于法兰坐标系是怎么旋转的,从而得出 A, B, C 三个欧拉角。