扩展卡尔曼体系下的SLAM算法计算框架
时间:2013-12-04 09:41 文章来源:http://www.lunwenbuluo.com 作者:郑丽楠 点击次数:
摘要:扩展卡尔曼体系下的SLAM算法是指SLAM算法中含有状态预测过程和状态更新过程。为了便于理解扩展卡尔曼体系下的SLAM算法计算过程,本文从滤波算法计算框架角度对它们分别进行了描述,对基于EKF的SLAM算法进行了说明和总结。
关键词:扩展卡尔曼体系;SLAM算法;计算框架
1前言
SLAM问题的本质是移动机器人整个路径的概率估计问题。作为解决SLAM问题的主要方法之一,扩展卡尔曼滤波算法(EKF)在模型基本匹配时具有较高的估计精度,且具有模型简单、易于实现等特点[1]。
2EKF-SLAM算法
在应用EKF处理SLAM问题时,其变量被假设服从高斯分布,可用均值及方差表示,分别为系统在k时刻的状态估计值及状态估计协方差[2]:
其中,▽fx,▽fu分别为f(·)相对于X和u的Jacobian矩阵,nv,nM,nu分别为机器人位姿、地图、及控制命令uk的维数。▽fvx、▽fvu分别为fv(·)相对于Xv和u的Jacobian矩阵。f(·)是系统的状态转移函数,通常状况下是非线性的[3]。在EKF-SLAM中,系统噪声υk及观测噪声ωk认为是均值为零,方差分别为Qk及Rk的高斯白噪声,且系统噪声与观测噪声相互独立[4]。
EKF-SLAM算法步骤:
⑴预测:利用系统的运动模型,结合k时刻系统状态估计值和控制命令uk,预测系统在k+1时刻的状态()、状态估计的协方差矩阵()和系统的观测值():
⑵观测:利用传感器观测模型得到机器人对于第i个路标的实际观测,结合预测步骤得到的,此时可以得到新息(Innovation),以及该新息的协方差矩阵:
⑶更新:EKF-SLAM算法利用下式更新k+1时刻的系统状态估计及其相应的协方差矩阵:
⑷向量增广:传感器在任意时刻观测到的环境特征,可能即包括地图中已有的特征也有新特征。其中已有特征可以用来更新状态预测值,而新特征则要进行初始化并加入到状态向量中[5]
其中,▽gx,▽gz分别为g(·)相对于Xv和Z的Jacobian矩阵。
3小结
扩展卡尔曼滤波算法(EKF)的运用使得非线性问题线性化,这样线性化后的预测值的方差依然可以按原来的方法进行线性计算。其原理是在上一时刻的预测点将系统状态方程和观测方程进行Taylor展开,并忽略所有非线性展开高阶项,来实现对非线性方程的近似线性化。目前EKF已成为了最基本的SLAM问题解决方案。
[参考文献]
[1]周武,赵春霞,沈亚强,等.基于全局观测地图模型的SLAM研究[J].机器人,2010,32(5):647-654.
[2]张文玲,朱明清,陈宗海.基于强跟踪UKF的自适应SLAM算法[J].机器人,2010,32(2):190-195.
[3]郭剑辉.移动机器人同时定位与地图构建方法研究[D].[博士学位论文].南京:南京理工大学计算机科学与技术学院,2008.
[4]段战胜,韩崇昭,党宏社.一种带未知时变系统噪声水平的目标跟踪滤波器[J].系统仿真学报,2004,16(11):2591-2593.
[5]范文兵,刘春风,张素贞.一种强跟踪扩展卡尔曼滤波器的改进算法[J].控制与决策,2006,21(1):73-76.
- 论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
- 论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
-
- 论文投稿客服QQ:
2863358778、
2316118108
-
- 论文投稿电话:15380085870
-
- 论文投稿邮箱:lunwenbuluo@126.com