EKF的理解
若已知参考点(landmarks)的坐标,则状态向量中不必含有xL, 从而实现的仅为机器人在已知环境中的定位,求解大大减少(状态向量维度仅为运动状态)。若想实现完整SLAM,必须将xL加入状态向量中。
扩展卡尔曼滤波(EKF)相对于卡尔曼滤波,可以进一步求解非线性问题(通过在目标点附近做泰勒展开的一级近似),但是依然建立在输入噪声和测量噪声均为高斯的前提下。高斯噪声的好处是它的e指数形式使得高斯与高斯的卷积、乘法结果依然是高斯,从Bayes理论推导出的EKF结果中,我们只用计算高斯分布的期望mu和协方差sigma)
n 维扩展卡尔曼滤波
1. Prediction (motion) model:
xt = Atxt-1 + Btut + εR
xt:t时刻,n维状态空间向量;
xt-1:t-1时刻,n维空间状态向量;
ut:t时刻输入,将状态从xt-1变换到xt;
εR:输入误差。
依据motion model,我们可以得出期望和协方差满足:
μt(prior)= Atμt-1 + Btut
Σ(prior)= AtΣt-1AtT + Rt
对于线性模型,直接带入At Bt Rt就行,而对于非线性模型,我们需要求运动方程对输入(V = )的导数,或者运动方程对状态(G = )的导数。
例如对于控制左右两排车轮速度(r,l)从而实现小车状态(x,y,θ)改变的运动方程,At为3*3矩阵,Bt为3*2矩阵,Rt为3*3矩阵,对于Rt,我们是不能直接知道的,我们只知道r和l的误差,得到的是2*2的协方差矩阵,通过VΣcontrolVT可以得到相应的3*3矩阵