机器人学中的坐标变换
坐标变换
平移坐标变换
坐标系{A}和{B}具有相同的方位,但原点不重合.则点P在两个坐标系中的位置矢量满足下式:
A
P
=
B
P
+
A
P
B
O
^{A}P = ^{B}P + ^{A}P_{BO}
AP=BP+APBO
复合坐标变换
一般情况原点既不重合,方位也不同
A
P
=
B
A
R
⋅
B
P
+
A
P
B
O
^{A}P = ^{A}_{B}R \cdot ^{B}P + ^{A}P_{BO}
AP=BAR⋅BP+APBO
齐次坐标变换
齐次坐标的主要优点是它可以将各种几何变换(如平移、旋转、缩放、透视投影等)统一为矩阵乘法的形式进行操作。这使得变换过程更加简洁和高效,特别是在计算机图形学中,齐次坐标几乎成为标准的表示方法。引入齐次变换后,连续的变换可以变成矩阵的连乘形式。
T
=
[
R
3
x
3
P
3
x
1
f
1
x
3
w
1
x
1
]
=
[
旋转变换
位置矢量
透视变换
比例变换
]
T = \begin{bmatrix} R_{3x3} & P_{3x1} \\ f_{1x3} & w_{1x1} \end{bmatrix} = \begin{bmatrix} 旋转变换 & 位置矢量 \\ 透视变换 & 比例变换 \end{bmatrix}
T=[R3x3f1x3P3x1w1x1]=[旋转变换透视变换位置矢量比例变换]
机器人研究中的齐次变换矩阵(平移 + 旋转):
T
=
[
R
3
x
3
P
3
x
1
0
1
]
=
[
旋转变换
位置矢量
0
1
]
T = \begin{bmatrix} R_{3x3} & P_{3x1} \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 旋转变换 & 位置矢量 \\ 0 & 1 \end{bmatrix}
T=[R3x30P3x11]=[旋转变换0位置矢量1]
计算公式:
[
A
P
1
]
=
[
B
A
R
A
P
B
O
0
1
]
=
[
B
P
1
]
\begin{bmatrix} ^{A}P \\ 1 \end{bmatrix} = \begin{bmatrix} ^{A}_{B}R & ^{A}P_{BO} \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} ^{B}P \\ 1 \end{bmatrix}
[AP1]=[BAR0APBO1]=[BP1]
A P = B A T B P ^{A}P = ^{A}_{B}T^{B}P AP=BATBP
平移齐次坐标变换
{B}分别沿{A}的X、Y、Z坐标轴平移a、b、c距离的平移齐次变换矩阵写为:
T
r
a
n
s
(
a
,
b
,
c
)
=
[
1
0
0
a
0
1
0
b
0
0
1
c
0
0
0
1
]
Trans(a,b,c) = \begin{bmatrix} 1&0&0&a \\ 0&1&0&b \\ 0&0&1&c \\0&0&0&1 \end{bmatrix}
Trans(a,b,c)=
100001000010abc1
用非零常数乘以变换矩阵的每个元素,不改变特性。