二、数学描述
1.首先,由于相机通常是在某些时刻采集数据的,所以我们也只关心这些时刻的位置和地图。
这就把一段连续时间的运动变成了离散时刻 t = 1, . . . , K 当中发生的事情。在这些时刻,用 x 表示自身的位置。于是各时刻的位置就记为 x1, . . . , xK,它们构成了相机的轨迹。地图方面,我们设地图是由许多个路标(Landmark)组成的,而每个时刻,传感器会测量到一部分路标点,得到它们的观测数据。不妨设路标点一共有 N 个,用 y1, . . . , yN 表示它们。
- 在平面中运动,那么,它的位姿由两个位置和一个转角来描述
同时,运动 传感器能够测量到在每两个时间间隔位置和转角的变化量
那么,此时运动方程就可以具体化为
即xk = f (xk−1,uk, wk). 这里 uk 是运动传感器的读数(有时也叫输入),wk 为噪声。
与运动方程相对应,还有一个观测方程。在 xk 位置上 看到某个路标点 yj,产生了一个观测数据 zk,j。
同样,我们用一个抽象的函数 h 来描述这个关系:
zk,j = h (yj , xk, vk,j ).
这里 vk,j 是这次观测里的噪声。由于观测所用的传感器形式更多,这里的观测数据 z 以及观测方程 h 也有许多不同的形式。
可总结为两个基本方程:
2.坐标变换
用外积(X乘)表示向量的旋转:用一个向量来描述三维空间中两个向量的旋转关系。
坐标欧式变换:参考坐标系齐次变换详解_哔哩哔哩_bilibili,讲的很清楚
齐次坐标与变换矩阵:升一维转变为线性。
如下图,对向量a增加了一行1,这样就可以用一个矩阵乘法同时表示坐标平移和旋转
注意,如果增加的一行为0,那么表示的是向量而不是坐标
另一种理解,类似SVM支持向量机
如图, 在二维平面上的线性无关的点,进入三维空间,则在同一平面上,它们在高维空间的投影线性相关。
3.罗德里格斯公式
任意旋转都可以用一个旋转轴和一个旋转角来刻画。于是,我们可以使用一个向量,其方向与旋转轴一致,而长度等于旋转角。这种向量,称为旋转向量(或轴角,AxisAngle)。这种表示法只需一个三维向量即可描述旋转。同样,对于变换矩阵,我们使用一个旋转向量和一个平移向量即可表达一次变换。这时的维数正好是六维。假设有一个旋转轴为 n,角度为θ的旋转,显然,它对应的旋转向量为θn。
据说推导很麻烦:(,本文就不写了