旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义

旋转矩阵R

旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义_第1张图片

首先,只考虑旋转。

假设坐标系1: { X 1 , Y 1 , Z 1 } \{X_1, Y_1, Z_1\} {X1,Y1,Z1} 经过纯旋转之后得到坐标系2: { X 2 , Y 2 , Z 2 } \{X_2, Y_2, Z_2\} {X2,Y2,Z2} (如上图),其中坐标系1对应的单位正交基为 ( e 1 , e 2 , e 3 ) \left(e_{1}, e_{2}, e_{3}\right) (e1,e2,e3),坐标系2对应的单位正交基为 ( e 1 ′ , e 2 ′ , e 3 ′ ) \left(e_{1}^{\prime}, e_{2}^{\prime}, e_{3}^{\prime}\right) (e1,e2,e3)。 对于空间中的同一个点 p \boldsymbol{p} p ,假设点 p \boldsymbol{p} p 在坐标系1和坐标系2下的坐标分别为 a 1 = [ a 1 , a 2 , a 3 ] T \boldsymbol{a_1} = \left[a_{1}, a_{2}, a_{3}\right]^{T} a1=[a1,a2,a3]T a 2 = [ a 1 ′ , a 2 ′ , a 3 ′ ] T \boldsymbol{a_2} = \left[a_{1}^{\prime}, a_{2}^{\prime}, a_{3}^{\prime}\right]^{T} a2=[a1,a2,a3]T。由于点 p \boldsymbol{p} p 并没有随着坐标系的旋转而发生运动,根据坐标的定义,有:

[ e 1 , e 2 , e 3 ] [ a 1 a 2 a 3 ] = [ e 1 ′ , e 2 ′ , e 3 ′ ] [ a 1 ′ a 2 ′ a 3 ′ ] (1) \left[\boldsymbol{e}_{1}, \boldsymbol{e}_{2}, \boldsymbol{e}_{3}\right]\left[\begin{array}{c}a_{1} \\a_{2} \\a_{3}\end{array}\right]=\left[\boldsymbol{e}_{1}^{\prime}, \boldsymbol{e}_{2}^{\prime}, \boldsymbol{e}_{3}^{\prime}\right]\left[\begin{array}{c}a_{1}^{\prime} \\a_{2}^{\prime} \\a_{3}^{\prime}\end{array}\right]\tag{1} [e1,e2,e3]a1a2a3=[e1,e2,e3]a1a2a3(1)

为了描述两个坐标之间的关系,我们对上面等式左右同时左乘 [ e 1 T , e 2 T , e 3 T ] T \left[\boldsymbol{e}_{1}^{T}, \boldsymbol{e}_{2}^{T}, \boldsymbol{e}_{3}^{T}\right]^{T} [e1T,e2T,e3T]T,那么左边的系数变成了单位矩阵,所以有:

[ a 1 a 2 a 3 ] = [ e 1 T e 1 ′ e 1 T e 2 ′ e 1 T e 3 ′ e 2 T e 1 ′ e 2 T e 2 ′ e 2 T e 3 ′ e 3 T e 1 ′ e 3 T e 2 ′ e 3 T e 3 ′ ] [ a 1 ′ a 2 ′ a 3 ′ ] (2) \left[\begin{array}{c}a_{1} \\a_{2} \\a_{3}\end{array}\right]=\left[\begin{array}{ccc}\boldsymbol{e}_{1}^{T} \boldsymbol{e}_{1}^{\prime} & \boldsymbol{e}_{1}^{T} \boldsymbol{e}_{2}^{\prime} & \boldsymbol{e}_{1}^{T} \boldsymbol{e}_{3}^{\prime} \\\boldsymbol{e}_{2}^{T} \boldsymbol{e}_{1}^{\prime} & \boldsymbol{e}_{2}^{T} \boldsymbol{e}_{2}^{\prime} & \boldsymbol{e}_{2}^{T} \boldsymbol{e}_{3}^{\prime} \\\boldsymbol{e}_{3}^{T} \boldsymbol{e}_{1}^{\prime} & \boldsymbol{e}_{3}^{T} \boldsymbol{e}_{2}^{\prime} & \boldsymbol{e}_{3}^{T} \boldsymbol{e}_{3}^{\prime}\end{array}\right]\left[\begin{array}{c}a_{1}^{\prime} \\a_{2}^{\prime} \\a_{3}^{\prime}\end{array}\right]\tag{2} a1a2a3=e1Te1e2Te1e3Te1e1Te2e2Te2e3Te2e1Te3e2Te3e3Te3a1a2a3(2)

将等式右边的矩阵记做 R 12 \boldsymbol{R}_{12} R12,即有:

a 1 = R 12 a 2 (3) \boldsymbol{a}_1 = \boldsymbol{R}_{12} \boldsymbol{a}_2 \tag{3} a1=R12a2(3)

矩阵 R 12 \boldsymbol{R}_{12} R12便是旋转矩阵,其描述了坐标系1到坐标系2的旋转。矩阵 R 12 \boldsymbol{R}_{12} R12 的下标有两个含义:

  1. 表示坐标系1到坐标系2的旋转
  2. 表示将坐标系2中点的坐标通过旋转变换,从而得到同一个点在坐标系1中的坐标

平移向量t

旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义_第2张图片

然后,只考虑平移。

假设坐标系1: { X 1 , Y 1 , Z 1 } \{X_1, Y_1, Z_1\} {X1,Y1,Z1} 经过纯平移之后得到坐标系2: { X 2 , Y 2 , Z 2 } \{X_2, Y_2, Z_2\} {X2,Y2,Z2} (如上图)。 对于空间中的同一个点 p \boldsymbol{p} p ,假设其在两个坐标系下对应的坐标表示分别为 a 1 = [ a 1 , a 2 , a 3 ] T \boldsymbol{a_1} = \left[a_{1}, a_{2}, a_{3}\right]^{T} a1=[a1,a2,a3]T a 2 = [ a 1 ′ , a 2 ′ , a 3 ′ ] T \boldsymbol{a_2} = \left[a_{1}^{\prime}, a_{2}^{\prime}, a_{3}^{\prime}\right]^{T} a2=[a1,a2,a3]T。由几何关系,很显然有:

a 1 = a 2 + t 12 (4) \boldsymbol{a}_1 = \boldsymbol{a}_2 + \boldsymbol{t}_{12}\tag{4} a1=a2+t12(4)

向量 t 12 \boldsymbol{t}_{12} t12便是平移向量,其描述了坐标系1到坐标系2的平移。其下标同样也有两个含义:

  1. 表示坐标系1到坐标系2的平移(对应坐标系1的原点指向坐标系2的原点的向量)
  2. 表示将坐标系2中点的坐标通过平移变换,从而得到同一个点在坐标系1中的坐标

变换矩阵T

旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义_第3张图片

最后同时考虑选择和平移,也就是坐标系之间的刚体运动。

假设坐标系1: { X 1 , Y 1 , Z 1 } \{X_1, Y_1, Z_1\} {X1,Y1,Z1} 经过旋转和平移之后得到坐标系2: { X 2 , Y 2 , Z 2 } \{X_2, Y_2, Z_2\} {X2,Y2,Z2} (如上图)。 对于空间中的同一个点 p \boldsymbol{p} p ,假设其在两个坐标系下对应的坐标表示分别为 a 1 = [ a 1 , a 2 , a 3 ] T \boldsymbol{a_1} = \left[a_{1}, a_{2}, a_{3}\right]^{T} a1=[a1,a2,a3]T a 2 = [ a 1 ′ , a 2 ′ , a 3 ′ ] T \boldsymbol{a_2} = \left[a_{1}^{\prime}, a_{2}^{\prime}, a_{3}^{\prime}\right]^{T} a2=[a1,a2,a3]T

通过将上述的旋转和平移合到一起,则有:

a 1 = R 12 a 2 + t 12 (5) \boldsymbol{a}_1 = \boldsymbol{R}_{12} \boldsymbol{a}_2 + \boldsymbol{t}_{12}\tag{5} a1=R12a2+t12(5)

为了简化形式,引入齐次坐标有:

[ a 1 1 ] = [ R 12 t 12 0 T 1 ] [ a 2 1 ] (6) \left[\begin{array}{l}\boldsymbol{a}_1 \\1\end{array}\right]=\left[\begin{array}{ll}\boldsymbol{R}_{12} & \boldsymbol{t}_{12} \\\mathbf{0}^{T} & 1\end{array}\right]\left[\begin{array}{l}\boldsymbol{a}_2 \\1\end{array}\right]\tag{6} [a11]=[R120Tt121][a21](6)

同样为了保持简洁,我们将 a 1 \boldsymbol{a}_1 a1 a 2 \boldsymbol{a}_2 a2 的齐次坐标简写成 a 1 \boldsymbol{a}_1 a1 a 2 \boldsymbol{a}_2 a2,并将等式右边的矩阵记做 T 12 \boldsymbol{T}_{12} T12,则有:

a 1 = T 12 a 2 (7) \boldsymbol{a}_1 = \boldsymbol{T}_{12} \boldsymbol{a}_2\tag{7} a1=T12a2(7)

其中, T 12 \boldsymbol{T}_{12} T12为坐标系1 转换到坐标系2的变换矩阵,包含了旋转和平移。其下标对应的也有两个含义:

  1. 表示坐标系1到坐标系2的变换(包含旋转和平移)
  2. 表示将坐标系2中点的坐标通过旋转和平移变换,从而得到同一个点在坐标系1中的坐标

你可能感兴趣的:(SLAM,SLAM基础,SLAM,旋转矩阵,平移向量,变换矩阵)