【SLAM十四讲总结】第三讲

运动的表示/位姿的表示
旋转矩阵—>旋转向量—>欧拉角—>四元数(李代数)
旋转矩阵用九个量描述三自由度的旋转,具有冗余性;欧拉角和旋转向量是紧凑的,但具有奇异性。所以最后重任落到了四元数的头上

1. 旋转矩阵,变换矩阵

1.1 前提知识

向量的内积(点乘):
【SLAM十四讲总结】第三讲
向量的外积(叉乘):
【SLAM十四讲总结】第三讲
外积只对三维向量存在定义,可以用外积表示旋转
【SLAM十四讲总结】第三讲

1.2 旋转矩阵

特殊正交阵,正交阵且行列式为1(表示只改变方向,不改变大小)是旋转矩阵的充要条件
【SLAM十四讲总结】第三讲

1.3 变换矩阵与齐次坐标

在三维向量末尾加1,就变成四维向量,成为齐次坐标,这样就更加方便多次变换情况下的计算。
同样,变换矩阵的引入也是为了方便多次变换时候的计算。
【SLAM十四讲总结】第三讲
两次变换,如果用R和t,那么如下:
【SLAM十四讲总结】第三讲
如果用T1和T2,则如下:
【SLAM十四讲总结】第三讲
旋转矩阵:特殊欧氏群:因为描述的是欧式变换,即只有旋转和平移,保持体积,长度,夹角都不变。
【SLAM十四讲总结】第三讲
【SLAM十四讲总结】第三讲

2. 旋转向量,欧拉角

2.1 旋转向量

  1. 一个旋转轴n(单位向量,只表示方向)和一个旋转角(θ,表示旋转的大小),轴角法
  2. 与T之间的转换–罗德里格斯公式
    【SLAM十四讲总结】第三讲
    逆变换:
    【SLAM十四讲总结】第三讲
    【SLAM十四讲总结】第三讲
    转轴 n 是矩阵 R 特征值 1 对应的特征向量,特征值为1是因为只改方向不改大小。

2.2 欧拉角

  1. 把一个旋转分解成三次绕不同轴的旋转。常用的是ZYX且是绕旋转之后的轴继续旋转。
  2. 根据ZYX具体在物体的哪个方向定义,所得到的俯仰,横滚,偏航三个角度的位置不一样。
  3. 欧拉角会引入万向锁,如下图,万向锁说的是三个轴的自由度现在降成了两个,具体到本题目就是,第一次旋转的转轴Z和第三次旋转的X轴处于共轴(不要扯方向不一样,这和方向没关系)的情况,那么俯仰,横滚,偏航中三个角现在有一个就消失了。之前的Z轴和现在的X轴表示三个中同一个含义。
    【SLAM十四讲总结】第三讲
  4. 只要是用欧拉角,都会发生万向锁的问题,所以欧拉角一般只用于显示不用于计算。
  5. 陀螺仪的工作原理,详解万向锁问题
    万向锁问题

3 四元数

也是表示旋转,既是紧凑的,也是非奇异的。

3.1 基本的四元数

  1. 基本四元数
    【SLAM十四讲总结】第三讲
    【SLAM十四讲总结】第三讲
  2. 虚部之间关系
    【SLAM十四讲总结】第三讲
  3. 基本运算:
    加减
    【SLAM十四讲总结】第三讲

    【SLAM十四讲总结】第三讲
    共轭
    【SLAM十四讲总结】第三讲
    模长
    【SLAM十四讲总结】第三讲

    【SLAM十四讲总结】第三讲
    【SLAM十四讲总结】第三讲
    数乘与点乘(不是向量的点乘哦!)
    【SLAM十四讲总结】第三讲
    【SLAM十四讲总结】第三讲

3.2 四元数与旋转

  1. 单位四元数表示三维空间中任意一个旋转,虚四元数用于表示一个点
  2. 单位四元数的这种表达方式和复数有着微妙的不同,在复数中,乘以 i 意味着旋转 90 度。但是,四元数这里表示旋转是:乘以 i 应该对应着旋转 180 度,这样才能保证 ij = k 的性质。而 i2 = −1,意味着绕 i 轴旋转 360 度后,你得到了一个相反的东西。而只有旋转两周才会和它原先的样子相等。
  3. 与旋转向量的关系:
    【SLAM十四讲总结】第三讲
    【SLAM十四讲总结】第三讲
  4. 这式子给我们一种微妙的“转了一半”的感觉。同样,对式(3.19)的 θ 加上 2π,我们得到一个相同的旋转,但此时对应的四元数变成了 −q。因此,在四元数中, 两个互为相反数的四元数表示一个相同的旋转,或者说任意的旋转都可以由两个互为相反数的四元数表示。
  5. 具体旋转
    1. 首先,将一个点表示成虚四元数
      【SLAM十四讲总结】第三讲
    2. 其次,将轴角或者R和t转换成四元数
      【SLAM十四讲总结】第三讲
    3. 对点p进行旋转得到p’,其仍然是一个虚四元数,坐标是其虚部。
      【SLAM十四讲总结】第三讲

3. 相似、仿射、射影变换

  1. 欧式变换(只有旋转和平移)
    【SLAM十四讲总结】第三讲
  2. 相似变换(增加缩放)
    【SLAM十四讲总结】第三讲
  3. 反射变换(A是一个可逆阵,不必是正交阵,也叫正交投影)
    【SLAM十四讲总结】第三讲
    经过仿射变换之后,立方体就不再是方的了,但是各个面仍然是平行四边形。
  4. 射影变换(投射变换)
    【SLAM十四讲总结】第三讲
    左上角为可逆矩阵 A,右上为平移 t,左下缩放 aT,v不等于0的时候,可以将v归一化为1.
    从真实世界到相机照片的变换可以看成一个射影变换。
    读者可以想象一个原本方形的地板砖,在照片当中是什么样子:首先,它不再是方形的。由于近大远小的关系,它甚至不是平行四边形,而是一个不规则的四边形。
    【SLAM十四讲总结】第三讲