坐标系变换方程
如果有n个未知变换和n个变换方程,这个变换可由变换方程解出。例如:图1中变换 T B T {^B_T}T TBT描述了操作臂指向的坐标系{T},它是相对于操作臂基座的坐标系{B}的,又已知工作台相对于操作臂基座的空间位置 S B T {^B_S}T SBT,并且已知工作台上螺栓的坐标系相对于工作台坐标系的位置,即 G S T {^S_G}T GST,计算螺栓相对于操作手的位置, G T T {^T_G}T GTT。

由公式推导,得到相对于操作手坐标系的螺栓坐标系为: G T T {^T_G}T GTT= T B T − 1 {^B_T}T^{-1} TBT−1 S B T {^B_S}T SBT G S T {^S_G}T GST
基坐标系{B}
基坐标系{B}位于操作臂的基座上。它仅是赋予坐标系{0}的另一个名称。
工具坐标系{T}
工具坐标系{T}附于机器人所夹持的工具末端。
工具坐标系6点法标定:
机器人末端坐标系 {E}相对于机器人基坐标系{B}的变换关系为
E
B
T
{^B_E}T
EBT; 工具坐标系 {T}相对于末端坐标系 {E}的变换关系为
T
E
T
{^E_T}T
TET; 工具坐标系 {T}相对于基坐标 {B}的变换关系为
T
B
T
{^B_T}T
TBT; 三者的转换关系为:
E
B
T
{^B_E}T
EBT
⋅
\cdot
⋅
T
E
T
{^E_T}T
TET =
T
B
T
{^B_T}T
TBT
采用四点法标定TCP如图所示,标定 TCP的4个位置,4 点之间各差90度且不能在一个平上。
E
B
R
i
{^B_E}R_i
EBRi分别为机器人末端坐标系 4 个点的旋转矩阵;
B
P
E
i
{^B}P_{Ei}
BPEi分别为机器人末端坐标系 4 个点的位置矢量;
T
B
R
{^B_T}R
TBR为工具的旋转矩阵;
E
P
T
{^E}P_{T}
EPT为工具的位置矢量;
T
B
R
i
{^B_T}R_i
TBRi分别为工具坐标系末端4个点的旋转矩阵;
B
P
T
{^B}P_{T}
BPT为工具坐标系末端的位置矢量。因 4 个不同位姿下工具坐标系在基坐标系的位置不变,即
B
P
T
x
{^B}P_{Tx}
BPTx,
B
P
T
y
{^B}P_{Ty}
BPTy,
B
P
T
z
{^B}P_{Tz}
BPTz为定值;
T
E
R
{^E_T}R
TER,
E
P
T
{^E}P_{T}
EPT各个参数不变也为定值。

[ T B R 1 − T B R 2 T B R 2 − T B R 3 T B R 3 − T B R 4 ] ⋅ [ E P T x E P T y E P T z ] = [ B P E x 2 − B P E x 1 B P E y 2 − B P E y 1 B P E z 2 − B P E z 1 B P E x 3 − B P E x 2 ⋮ B P E z 4 − B P E z 3 ] \begin{bmatrix} {^B_T}R_1- {^B_T}R_2\\ {^B_T}R_2- {^B_T}R_3\\{^B_T}R_3- {^B_T}R_4\\ \end{bmatrix}\cdot\begin{bmatrix} {^E}P_{Tx} \\{^E}P_{Ty}\\{^E}P_{Tz}\\ \end{bmatrix}=\begin{bmatrix} {^B}P_{Ex2}- {^B}P_{Ex1}\\ {^B}P_{Ey2}- {^B}P_{Ey1}\\{^B}P_{Ez2}- {^B}P_{Ez1}\\{^B}P_{Ex3}- {^B}P_{Ex2} \\ \vdots\\{^B}P_{Ez4}- {^B}P_{Ez3} \end{bmatrix} ⎣⎡TBR1−TBR2TBR2−TBR3TBR3−TBR4⎦⎤⋅⎣⎡EPTxEPTyEPTz⎦⎤=⎣⎢⎢⎢⎢⎢⎢⎢⎡BPEx2−BPEx1BPEy2−BPEy1BPEz2−BPEz1BPEx3−BPEx2⋮BPEz4−BPEz3⎦⎥⎥⎥⎥⎥⎥⎥⎤
式中包含
E
P
x
{^E}P_{x}
EPx,
E
P
y
{^E}P_{y}
EPy,
E
P
z
{^E}P_{z}
EPz 3个未知量,系数为9×3的矩阵。因为系数矩阵不是方阵,不可直接求逆,因此使用广义逆矩阵,采用高斯消元求解。
计算出工具坐标系的位置后,还需要标定计算TCP的姿态。TCP姿态采用 z/x 方向标定,此过程保持TCP的姿态不变。将位置标定点
P
4
P_{4}
P4作为第 1个 TCP姿态标定点,示教机器人沿+X 方向至少移动250mm后作为第 2个标定点
P
5
P_{5}
P5 ; 然后回到第 1个标定点示教机器人沿 +Z方向移动至少250mm作为第3个标定点
P
6
P_{6}
P6。

因为3个标定点的姿态保持不变,可得
E
B
R
i
{^B_E}R_i
EBRi 都相等。因为第1个姿态标定点与第2 个标定点( 沿 +X 方向) 之间的向量关系也就是工具坐标系沿+X 方向的向量,因此得到工具坐标系 T 的 X 轴轴向向量:
X
=
[
B
P
5
E
x
−
B
P
4
E
x
B
P
5
E
y
−
B
P
4
E
y
B
P
5
E
z
−
B
P
4
E
z
]
X=\begin{bmatrix} {^B}P_{5Ex}- {^B}P_{4Ex}\\ {^B}P_{5Ey}- {^B}P_{4Ey}\\{^B}P_{5Ez}- {^B}P_{4Ez} \end{bmatrix}
X=⎣⎡BP5Ex−BP4ExBP5Ey−BP4EyBP5Ez−BP4Ez⎦⎤
相似地,根据第1个姿态标定点与第 3个标定点( 沿+Z 方向) 之间的向量关系,由此可以得到工具坐标系T 的 Z 轴轴向向量:
Z
=
[
B
P
6
E
x
−
B
P
4
E
x
B
P
6
E
y
−
B
P
4
E
y
B
P
6
E
z
−
B
P
4
E
z
]
Z=\begin{bmatrix} {^B}P_{6Ex}- {^B}P_{4Ex}\\ {^B}P_{6Ey}- {^B}P_{4Ey}\\{^B}P_{6Ez}- {^B}P_{4Ez} \end{bmatrix}
Z=⎣⎡BP6Ex−BP4ExBP6Ey−BP4EyBP6Ez−BP4Ez⎦⎤
同理Y轴轴向向量由右手定则可得:Y=Z×X再对Z=X×Y 进行计算,以保证坐标系矢量的正交性。
得到每个轴的轴向向量之后,对其进行单位化操作,得到工具坐标 T 相对于基坐标 B 的姿态,左乘末端坐标系 E 旋转矩阵的逆,求出工具坐标系的旋转矩阵
T
E
R
{^E_T}R
TER=
E
B
R
−
1
{^B_E}R^{-1}
EBR−1
T
B
R
{^B_T}R
TBR。
用户坐标系{U}
用户坐标系{U}即,用户自定义坐标系;机器人可以和不同的工作台或夹具配合工作, 在每个工作台上建立一个用户坐标系。
用户坐标系有原点三点标定:
(1)示教第一个点为用户坐标系原点O
(2)在xyz任意轴上示教一点,例如X轴示教一点
P
x
P_x
Px,则用户坐标系x轴单位向量为n=(
P
x
P_x
Px-O)/norm(
P
x
P_x
Px-O)
(3)在剩余两轴上示教一点,例如Y轴示教一点
P
y
P_y
Py,则用户坐标系y轴单位向量为o=(
P
y
P_y
Py-O)/norm(
P
y
P_y
Py-O)
(4)计算得到则用户坐标系z轴单位向量a=n×o

即,建立好的用户坐标系为(在基坐标系下的描述):
U
B
U
=
[
n
x
o
x
a
x
O
x
n
y
o
y
a
y
O
y
n
z
o
z
a
z
O
z
0
0
0
1
]
{^B_U}U=\begin{bmatrix} n_x&o_x&a_x &O_x\\ n_y&o_y&a_y&O_y\\n_z&o_z&a_z&O_z\\0&0&0&1 \end{bmatrix}
UBU=⎣⎢⎢⎡nxnynz0oxoyoz0axayaz0OxOyOz1⎦⎥⎥⎤
这样我们就在基坐标系{B}下,建立了一个用户坐标系{U},在用户坐标系下测量工作空间内各点位置,更方便记录描述参数,符合人的直观。在基坐标系下的点
B
P
^BP
BP与用户坐标系下的点
U
P
^UP
UP关系为:
B
P
^BP
BP=
U
B
U
{^B_U}U
UBU
U
P
^UP
UP