TCP标定-学习笔记
“四点法”实施方法:
在机器人的工作空间内放置一个固定点
通过控制机器人的姿态,使TCP与空间内的固定点重合
重复上述步骤3次,改变机器人的姿态 使 TCP 移动到同一点
以四次TCP点在世界坐标系中坐标相等为条件来建 立方程组并求解,从而实现工具坐标系位置的标定。
公式推导:
已知
T
F
A
^{F}_{T}A
TFA 法兰到工具,
F
B
A
^{B}_{F}A
FBA 基坐标系到法兰,
T
B
A
^{B}_{T}A
TBA 基坐标系到工具。
存在
T
B
A
=
F
B
A
∗
T
F
A
^{B}_{T}A=^{B}_{F}A*^{F}_{T}A
TBA=FBA∗TFA
→
\quad \rightarrow
→
[ T B R T B T 0 1 ] = [ F B R F B T 0 1 ] ∗ [ T F R T F T 0 1 ] = [ F B R ∗ T F R F B R ∗ T F T + F B T 0 1 ] ( 1 ) \quad \begin{bmatrix} ^{B}_{T}R& ^{B}_{T}T\\ 0& 1\end{bmatrix}=\begin{bmatrix} ^{B}_{F}R& ^{B}_{F}T\\ 0& 1\end{bmatrix}*\begin{bmatrix} ^{F}_{T}R& ^{F}_{T}T\\ 0& 1\end{bmatrix}=\begin{bmatrix} ^{B}_{F}R*^{F}_{T}R & ^{B}_{F}R*^{F}_{T}T+^{B}_{F}T\\ 0& 1\end{bmatrix} \quad \quad(1) [TBR0TBT1]=[FBR0FBT1]∗[TFR0TFT1]=[FBR∗TFR0FBR∗TFT+FBT1](1)
所以 T B T = F B R ∗ T F T + F B T ( 2 ) ^{B}_{T}T=^{B}_{F}R*^{F}_{T}T+^{B}_{F}T \quad \quad (2) TBT=FBR∗TFT+FBT(2)
如果对工具坐标建系使其坐标系轴的方向与法兰坐标系轴方向均一致, T F R = I ^{F}_{T}R=I TFR=I,那么现在还需要求 T F T ^{F}_{T}T TFT
对于每个姿态(i)下,示教机器人末端触碰同一个点都存在
T
B
T
=
F
B
R
i
∗
T
F
T
+
F
B
T
i
(
3
)
^{B}_{T}T=^{B}_{F}R_{i}*^{F}_{T}T+^{B}_{F}T_{i} \quad \quad (3)
TBT=FBRi∗TFT+FBTi(3)
第一个姿态下(i=1):
T
B
T
=
F
B
R
1
∗
T
F
T
+
F
B
T
1
(
a
)
^{B}_{T}T=^{B}_{F}R_{1}*^{F}_{T}T+^{B}_{F}T_{1} \quad \quad(a)
TBT=FBR1∗TFT+FBT1(a)
第二个姿态下(i=2):
T
B
T
=
F
B
R
2
∗
T
F
T
+
F
B
T
2
(
b
)
^{B}_{T}T=^{B}_{F}R_{2}*^{F}_{T}T+^{B}_{F}T_{2} \quad \quad(b)
TBT=FBR2∗TFT+FBT2(b)
第三个姿态下(i=3):
T
B
T
=
F
B
R
3
∗
T
F
T
+
F
B
T
3
(
c
)
^{B}_{T}T=^{B}_{F}R_{3}*^{F}_{T}T+^{B}_{F}T_{3} \quad \quad(c)
TBT=FBR3∗TFT+FBT3(c)
第四个姿态下(i=4):
T
B
T
=
F
B
R
4
∗
T
F
T
+
F
B
T
4
(
d
)
^{B}_{T}T=^{B}_{F}R_{4}*^{F}_{T}T+^{B}_{F}T_{4} \quad \quad(d)
TBT=FBR4∗TFT+FBT4(d)
由式(a)(b)(c)(d)得:
(a)=(b ),
(
F
B
R
1
−
F
B
R
2
)
∗
T
F
T
=
F
B
T
2
−
F
B
T
1
(
a
′
)
(^{B}_{F}R_{1}-^{B}_{F}R_{2})*^{F}_{T}T=^{B}_{F}T_{2} -^{B}_{F}T_{1} \quad \quad(a^{'})
(FBR1−FBR2)∗TFT=FBT2−FBT1(a′)
(a)=(c ),
(
F
B
R
1
−
F
B
R
3
)
∗
T
F
T
=
F
B
T
3
−
F
B
T
1
(
b
′
)
(^{B}_{F}R_{1}-^{B}_{F}R_{3})*^{F}_{T}T=^{B}_{F}T_{3} -^{B}_{F}T_{1} \quad \quad(b^{'})
(FBR1−FBR3)∗TFT=FBT3−FBT1(b′)
(a)=(d ),
(
F
B
R
1
−
F
B
R
4
)
∗
T
F
T
=
F
B
T
4
−
F
B
T
1
(
c
′
)
(^{B}_{F}R_{1}-^{B}_{F}R_{4})*^{F}_{T}T=^{B}_{F}T_{4} -^{B}_{F}T_{1} \quad \quad(c^{'})
(FBR1−FBR4)∗TFT=FBT4−FBT1(c′)
联立
(
a
′
)
(a^{'})
(a′)
(
b
′
)
(b^{'})
(b′)
(
b
′
)
(b^{'})
(b′)得:
[
F
B
R
1
−
F
B
R
2
F
B
R
1
−
F
B
R
3
F
B
R
1
−
F
B
R
4
]
∗
T
F
T
=
[
F
B
T
2
−
F
B
T
1
F
B
T
3
−
F
B
T
1
F
B
T
4
−
F
B
T
1
]
\begin{bmatrix} ^{B}_{F}R_{1}- ^{B}_{F}R_{2}\\^{B}_{F}R_{1}- ^{B}_{F}R_{3}\\^{B}_{F}R_{1}- ^{B}_{F}R_{4}\end{bmatrix}*^{F}_{T}T=\begin{bmatrix} ^{B}_{F}T_{2}-^{B}_{F}T_{1}\\^{B}_{F}T_{3}-^{B}_{F}T_{1}\\^{B}_{F}T_{4}-^{B}_{F}T_{1}\end{bmatrix}
FBR1−FBR2FBR1−FBR3FBR1−FBR4
∗TFT=
FBT2−FBT1FBT3−FBT1FBT4−FBT1
最终:
T
F
T
=
[
F
B
R
1
−
F
B
R
2
F
B
R
1
−
F
B
R
3
F
B
R
1
−
F
B
R
4
]
−
1
[
F
B
T
2
−
F
B
T
1
F
B
T
3
−
F
B
T
1
F
B
T
4
−
F
B
T
1
]
^{F}_{T}T=\begin{bmatrix} ^{B}_{F}R_{1}- ^{B}_{F}R_{2}\\^{B}_{F}R_{1}- ^{B}_{F}R_{3}\\^{B}_{F}R_{1}- ^{B}_{F}R_{4}\end{bmatrix}^{-1}\begin{bmatrix} ^{B}_{F}T_{2}-^{B}_{F}T_{1}\\^{B}_{F}T_{3}-^{B}_{F}T_{1}\\^{B}_{F}T_{4}-^{B}_{F}T_{1}\end{bmatrix}
TFT=
FBR1−FBR2FBR1−FBR3FBR1−FBR4
−1
FBT2−FBT1FBT3−FBT1FBT4−FBT1
标定的TCP矩阵Res求解结束:
R
e
s
=
[
T
F
R
T
F
T
0
1
]
Res=\begin{bmatrix} ^{F}_{T}R& ^{F}_{T}T\\ 0& 1\end{bmatrix}
Res=[TFR0TFT1]
理论上姿态越多求解的
T
F
T
^{F}_{T}T
TFT越准确。