一、基本步骤
(1)在机器人动作范围内找一个非常精确的固定点作为参考点;
(2)在工具上确定一个参考点(最好是工具中心点Tool Center Point, TCP);
(3)手动操纵机器人的方法移动TCP,以四种不同的工具姿态与固定点刚好碰上。
前三个点任意姿态,第四点是用工具的参考点垂直于固定点,第五点是工具参考点从固定点向将要设定的TCP的x方向移动,第六点是工具参考点从固定点向将要设定的TCP的在z方向移动,如下图所示:

(4)通过前4个点的位置数据即可计算出TCP的位置,通过后2个点即可确定TCP的姿态
二、标定过程
1、TCP位置标定
假设取1、2、3、4四个标定点之间相差90°且不在同一平面上,如下图所示:


给定如下坐标系定义:
【1】基坐标系(0坐标系):B
【2】末端坐标系:E
【3】工具坐标系:T
给定如下变换矩阵定义:
【1】末端坐标系 E 相对于基坐标系 B的变换关系 : E B T ^{B}_ {E}T EBT
【2】工具坐标系T 相对于末端坐标系 E的变换关系 : T E T ^{E}_ {T}T TET
【3】工具坐标系T 相对于基坐标系 B的变换关系 : T B T ^{B}_ {T}T TBT
显然可以知道:
E B T ⋅ T E T = T B T (1) ^{B}_ {E}T · ^{E}_ {T}T = ^{B}_ {T}T \tag{1} EBT⋅TET=TBT(1)
对于选定位置点 i = 1、2、3、4,有:
【1】 E B T ^{B}_ {E}T EBT不等,设:
E B T = [ E B R i B P E i 0 1 ] (2) ^{B}_ {E}T = \begin{bmatrix} \pmb{^{B}_ {E}R_{i}} & \pmb{^{B}P_ {Ei}}\\ 0 & 1 \\ \end{bmatrix} \tag{2} EBT=[EBRiEBRiEBRi0BPEiBPEiBPEi1](2)
【2】 T E T ^{E}_ {T}T TET不等,但其位置 E P T ^{E}P_ {T} EPT相等,设:
T E T = [ T E R i E P T 0 1 ] (3) ^{E}_ {T}T = \begin{bmatrix} ^{E}_ {T}R_ {i} & \pmb{^{E}P_ {T}} \\ 0 & \pmb{1} \\ \end{bmatrix} \tag{3} TET=[TERi0EPTEPTEPT111](3)
【3】 T B T ^{B}_ {T}T TBT 不等,但其位置 E P T ^{E}P_ {T} EPT相等,设:
T B T = [ T B R i B P T 0 1 ] (4) ^{B}_ {T}T = \begin{bmatrix} ^{B}_ {T}R_ {i} & \pmb{^{B}P_ {T}}\\ 0 & 1 \\ \end{bmatrix} \tag{4} T