您的位置:首页 > 其它

SLAM学习——后端(一)

2017-07-22 13:54 218 查看

1.概述

对于里程计而言,只有短暂的记忆。而在后端优化中,我们更加考虑一段更长时间内(或所有时间内)的状态估计问题。

与之前略有不同,我们令xkxk为k时刻的所有未知量,包含了当前位姿与m个路标点,则写成表达式可为:

xk=Δ{xk,y1⋯ym}xk=Δ{xk,y1⋯ym}

现在考虑第k时刻的情况,希望用过去0到k的数据来估计现在的状态分布:

P(xk|x0,u1:k,z1:k)P(xk|x0,u1:k,z1:k)

下标0:k表示从0时刻到k时刻的所有数据。zkzk表示所有在k时刻的观测数据。按照贝叶斯法则,我们可得:

P(x|x0,u1:k,z1:k)∝P(zk|xk)P(xk|x0,u1:k,z1:k−1)P(x|x0,u1:k,z1:k)∝P(zk|xk)P(xk|x0,u1:k,z1:k−1)

在前面已经讲过,第一项称为似然,第二项为先验。对于先验部分,明白xkxk是基于过去所有的状态估计得来的。至少会受xk−1xk−1影响,于是按照xk−1xk−1时刻为条件概率展开得:

P(xk|x0,u1:k,z1:k−1)=∫P(xk|xk−1,x0,u1:k,z1:k−1)P(xk−1|x0,u1:k,z1:k−1)dxk−1P(xk|x0,u1:k,z1:k−1)=∫P(xk|xk−1,x0,u1:k,z1:k−1)P(xk−1|x0,u1:k,z1:k−1)dxk−1

基于上式,有若干种选择:

1.马尔可夫性,该假设认为k时刻状态只有k-1时刻状态有关,而与再之前的无关,得到扩展卡尔曼滤波(EKF)。

2.考虑k时刻状态与之前所有状态的关系,得到非线性优化为主体的优化框架。SLAM主流为非线性优化。

2.线性系统和KF

如果我们假设马尔可夫性,从数学角度来讲,该方程

P(xk|x0,u1:k,z1:k−1)=∫P(xk|xk−1,x0,u1:k,z1:k−1)P(xk−1|x0,u1:k,z1:k−1)dxk−1P(xk|x0,u1:k,z1:k−1)=∫P(xk|xk−1,x0,u1:k,z1:k−1)P(xk−1|x0,u1:k,z1:k−1)dxk−1

右边第一项 P(xk|xk−1,x0,u1:k,z1:k−1)=P(xk|xk−1,uk)P(xk|xk−1,x0,u1:k,z1:k−1)=P(xk|xk−1,uk)

化简原因:基于马尔科夫性,xkxk 状态只与 xk−1xk−1 有关,因此可以把 x0x0 拿掉,同时与观测方程无关,因此可以把他给拿掉,而且输入数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: