相机是在某些时刻采集数据的,所以只关心这些时刻的位置和地图。
就把这一段时间的运动变成了李三时刻 t=1,2,...K当中发生的事情。
在这些事可,x表示机器自身的位置。
x1,x2,x3,x4...xK就是机器人的轨迹。
在地图方面,我们假设地图是由许多个路标组成的。
设路标用y1,y2,y3,y4,...yK组成。
机器人带着传感器在环境中运动,可以由两件事情描述:
(1)什么是运动?从K-1时刻到K时刻,机器人的位置x是如何变化的。
机器人会携带一个测量自身运动的传感器,可以读取相关的数据。
数据模型:xK = f (xK-1 , uK , wK ).——————————————————运动方程
uK是运动传感器的读数,wK是噪声。
(2)什么是观测?机器人在K时刻在xK位置处观测到某一路标yJ。如何用数学语言描述?
zK,J = h ( yJ , xK , vK,J )——————————————观测方程
vK,J表示这里观测的噪声。
xK = f (xK-1 , uK , wK )
zK,J = h ( yJ , xK , vK,J )
组成了视觉SLAM的基本方程。
当知道运动观测的读书U,传感器的读数Z,如何求解定位问题(估计X)、建图问题(估计Y)。这时,我们就把SLAM问题建模成一个状态估计问题:如何通过带有噪声的观测数据,估计内部的,隐藏着的状态变量。
状态估计问题的求解,与两个方程的具体形式,噪声服从的分布有关。
运动和观测方程是线性,或者非线性。
噪声符合高斯分布,或者不符合高斯分布。
线性高斯分布LG:它的无偏的最有估计可以由卡尔曼滤波器 KF 给出。
非线性非高斯分布中 NLNG:使用扩展卡尔曼滤波器 EKF 和非线性优化两种方法求解。