SLAM——ch3

点和向量,坐标系

  • 坐标系
    三维空间中的某个向量的坐标可以用 R3 当中的三个数来描述。某个点的坐标也可以用 R3来描述。怎么描述的呢?如果我们确定一个坐标系,也就是一个线性空间的基 (e1; e2; e3),那就可以谈论向量 a 在这组基下的坐标了:

    坐标系通常由三个正交的坐标轴组成(尽管也可以有非正交的,但实际中很少见)。例如,我们给定 x 和 y 轴时, z 就可以通过右手(或左手)法则由 x × y 定义出来。
    *向量的运算
  1. 内积:内积可以描述向量间的投影关系

    2.外积

坐标系间的欧式变换

坐标系之间如何变换?
进而:如何计算同一个向量在不同坐标系里的坐标?
在SLAM中:

  • 一个惯性坐标系(或者叫世界坐标系),可以认为它是固定不动的;
    相机或机器人则是一个移动坐标系
  • 机器人坐标系随着机器人运动而改变,每个时刻都有新的坐标系
    那两个不同的坐标系如何从左侧变化成右侧?
    直观来看由两部分组成:
  • 原点间的平移
    *三个轴的旋转

    相机或机器人则是一个移动坐标系。这样一个欧氏变换由一个旋转和一个平移两部分组成。
    首先来考虑旋转。我们设某个单位正交基
    (e1; e2; e3) 经过一次旋转,变成了 (e′ 1; e′ 2; e′ 3)。那么,对于同一个向量 a(注意该向量并没有随着坐标系的旋转而发生运动),它在两个坐标系下的坐标为 [a1; a2; a3]T 和 [a′ 1; a′ 2; a′ 3]T。根据坐标的定义,有:


    我们把中间的阵拿出来,定义成一个矩阵 R。这个矩阵由两组基之间的内积组成,刻画了旋转前后同一个向量的坐标变换关系。只要旋转是一样的,那么这个矩阵也是一样的。可以说,矩阵 R 描述了旋转本身。因此它又称为旋转矩阵。
    旋转矩阵它是一个行列式为 1 的正交矩阵。反之,行列式为 1 的正交矩阵也是一个旋转矩阵。所以,我们可以把旋转矩阵的集合定义如下:

    SO(n) 是特殊正交群(Special Orthogonal Group)。这个集合由n维空间的旋转矩阵组成。
    SO(3)就是三维空间的旋转矩阵组成的特殊正交群。旋转矩阵可以描述相机的旋转
    由于旋转矩阵为正交阵,它的逆(即转置)描述了一个相反的旋转。有:


    通过上式,我们用一个旋转矩阵 R 和一个平移向量 t 完整地描述了一个欧氏空间的坐标变换关系。

变换矩阵与齐次坐标

完整地表达了欧氏空间的旋转与平移,不过还存在一个小问题:这里的变换
关系不是一个线性关系。假设我们进行了两次变换: R1; t1 和 R2; t2,满足:

但是从a到c的变换为:

上面的公式在变换多次后会过于复杂。因此引入了齐次坐标和变换矩阵重写式:

运用数学技巧:把一个三维向量的末尾添加1,变成四维向量,称为齐次坐标。对于这个四维向量,我们可以把旋转和平移写在一个矩阵里面,使得整个关系变成了线性关系。该式中,矩阵** T** 称为变换矩阵(Transform Matrix) 。我们暂时用 a~ 表
示 a 的齐次坐标。

posted @ 2020-08-31 08:52  Wxxuan  阅读(233)  评论(0)    收藏  举报