半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动 - part 1 旋转矩阵

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/youngpan1101/article/details/71086500

本系列文章由 youngpan1101 出品,转载请注明出处。
文章链接: http://blog.csdn.net/youngpan1101/article/details/71086500
作者:宋洋鹏(youngpan1101)
邮箱: [email protected]


-W350_2.gif-2.gif
该讲详细资料下载链接 【Baidu Yun】【Video】【Code

若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买
若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买
若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买


三维空间的刚体运动描述方式

1. 旋转矩阵

  1. 点和向量,坐标系

    • :在几何学上点是 没有大小而只有位置,即点存在于三维空间中的某一个位置。
    • 向量: 可以形象化地表示为 带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。
      (请勿将 向量 与它的 坐标 两个概念混淆,只有确定向量所在的坐标系,才能讨论它在该坐标系下的坐标)
    • 定义坐标系后,也就是一个线性空间的 (e1,e2,e3) ,向量 a 在该坐标系下的坐标为:
      a=[e1,e2,e3]a1a2a3=a1e1+a2e2+a3e3(3.1)
    • 左手坐标系 和 右手坐标系(更为常见)
      coordinate.jpg
    • 向量的运算
      • 加减法
      • 内积(inner product): 可以描述向量间的投影关系
        对于 a,bR3 ,内积可以表示为:
        ab=aTb=i=13aibi=|a||b|cosa,b(3.2)
      • 外积,亦称叉乘(cross product)
        • 对于 a,bR3 ,外积可以表示为:
          a×b=ia1b1ja2b2ka3b3=a2b3a3b2a3b1a1b3a1b2a2b1=0a3a2a30a1a2a10b=ab(3.3)

          式中 为反对称符号(可以读作“上尖”), a 表示向量 a 反对称矩阵
        • 外积可以表示向量的旋转:向量 a b 的旋转向量 w 的方向就是 a×b 的方向
          a_rotate_to_b.png
  2. 坐标系间的欧氏变换

    对于同一个向量 p ,它在世界坐标系下的坐标 pw 和在相机坐标系下的坐标 pc 是不同的,它们的变换关系由两坐标系间的变换矩阵 T 来描述。(如下图所示,下图来自视觉SLAM十四讲 图3-2)
    point_p_in_two_frames.png

    • 欧氏变换 = 旋转 + 平移
    • 旋转
      设某个单位正交基 (e1,e2,e3) 经过一次旋转变成 (e1,e2,e3) 。对于同一个向量 a (该向量不会因坐标系的旋转而发生运动),它在两个坐标系下的坐标分别为 [a1,a2,a3]T [a1,a2,a3]T ,两坐标点满足:
      [e1,e2,e3]a1a2a3=[e1,e2,e3]a1a2a3(3.4)

      式 (3.4) 左右两边同时左乘 eT1eT2eT3 ,得
      a1a2a3=eT1e1eT2e1eT3e1eT1e2eT2e2eT3e2eT1e3eT2e3eT3e3a1a2a3=Ra(3.5)

      式 (3.5) 中的旋转矩阵 R 的特殊性质:
      • 旋转矩阵是行列式为 1 的正交矩阵
      • 旋转矩阵的逆为自身转置,逆矩阵 RT 表示一个相反的旋转
      • 旋转矩阵的集合定义为:
        SO(n)={RRn×n|RRT=I,det(R)=1}(3.6)

        SO(n) 是特殊正交群(Special Orthogonal Group), SO(3) 就是由三维空间的旋转矩阵组成。
    • 平移
      向量 a 经过一次旋转 R 和一次平移 t 后,得到 a :
      a=Ra+t(3.7)

      所以,两个坐标系的刚体运动可以由 R t 完全描述。
  3. 变换矩阵与齐次坐标

    欧氏变换多次之后的变换矩阵表示过于复杂,引入齐次坐标和变换矩阵重写式 (3.7):

    [a1]=[R0Tt1][a1]=T[a1](3.8)

    式 (3.8) 中的 T 称为变换矩阵,这种矩阵又称为特殊欧式群(Special Euclidean Group):
    SE(3)={T=[R0Tt1]R4×4|RSO(3),tR3}(3.9)

    SO(3) 一样,该矩阵的逆表示一个反向的变换:
    T1=[R0TRTt1](3.10)

猜你喜欢

转载自blog.csdn.net/youngpan1101/article/details/71086500