文档库 最新最全的文档下载
当前位置:文档库 › 基于粒子滤波的移动机器人SLAM算法

基于粒子滤波的移动机器人SLAM算法

基于粒子滤波的移动机器人SLAM算法
基于粒子滤波的移动机器人SLAM算法

一种改进的粒子滤波重采样算法研究_金玉柱

2011年4月第4期 电子测试 ELECTRONIC TEST Apr.2011 No.4一种改进的粒子滤波重采样算法研究 金玉柱,李善姬 (延边大学工学院,吉林 延吉 133002) 摘要:粒子滤波是基于递推的蒙特卡罗模拟方法的总称,可用于任意非线性,非高斯随机系统的状态估计。为了减轻退化现象,引入重采样过程,但重采样过程算法复杂,计算量大,不利于硬件实现,并且会削弱粒子的多样性,从而导致滤波性能下降。提出了一种将局部重采样和优化组合算法结合的重采样算法。将粒子按权值大小分类,小权值的粒子抛弃,大权值的粒子进行复制,将复制的粒子和抛弃的粒子线性组合产生新的粒子,增加了粒子多样性并且只对大权值粒子进行运算,故降低了计算量利于实时系统的硬件实现。仿真结果证明了该算法的有效性。 关键字:粒子滤波; 局部重采样; 优化组合 中图分类号: TP391 文献标识码:A Research of improved particle filter resampling algorithm Jin Yuzhu, Li Shanji (College of Engineering, Yanbian University, Yanji 133002, China) Abstract: Particle filtering is a sequential Monte Carlo simulation algorithm. It can be used to estimate the state of any nonlinear, non-Gaussian system. In order to reduce the degeneracy, the resampling algorithm is adopted. But the resampling process has complex algorithm architecture, which have restricted its implementation in real-time system. Resampling process also leads to the loss of diversity of particles, and the loss makes filter’s performance worse. A new algorithm-partial resampling combined with optimizing combination resampling method is proposed. Assort the particles by their weights, the particles which have low weights are abandoned and the particles which have high weights are reproduced, and generate new particles by combining the reproduced particles and abandoned particles. This new method partly overcomes the loss of diversity and because it simply operates to the high weights particle so its calculation is simplified. And it is propitious to implement by hardware. The simulation results prove the effectiveness of the proposed method. Keywords : particle filtering; partial resampling; optimizing combination 0 引言 粒子滤波器,又称序贯蒙特卡罗方法。可以有效地处理非线性、非高斯滤波问题,广泛地应用在机动目标跟踪、信号传输与压缩、金融领域数据分析、图像处理、故障诊断等领域。所谓粒子滤波就是贝叶斯估计基于抽样理论的一种近似算法,通过非参数化的蒙特卡罗模拟方法来实现递推贝叶斯滤波,即通过一组动态状态空间上按贝叶斯准则进行更新的随机加权的样本或粒子,对未知状态的后验概率密度进行估计,其中这些粒子通过对后验密度序贯重

几种非线性滤波算法的研究-内附程序

2017 年秋季学期研究生课程考核 (读书报告、研究报告) 考核科目:雷达系统导论 学生所在(系):电子与信息工程学院 学生所在学科:电子与同学工程 学生姓名: 学号: 学生类别: 考核结果阅卷人 第 1 页(共页)

几种非线性滤波算法的介绍与性能分析 作者姓名:学号: 专业院系:电信学院电子工程系 电子邮件: 摘要—非线性滤波算法在雷达目标跟踪中有着重要的应用,对雷达的跟踪性能有着至关重要的影响。好的滤波算法有利于目标航迹的建立及保持,能够得到较精确的目标位置,为发现目标后的后续工作提供可靠的数据依据。本文重点介绍了雷达数据处理中的几种非线性滤波算法:扩展卡尔曼滤波(EKF)、不敏卡尔曼滤波(UKF)、粒子滤波(PF),并且给出了一个利用这三种算法进行数据处理的一个实例,通过这个实例对比分析了这三种算法的性能以及优劣。 关键字—非线性滤波算法;扩展卡尔曼滤波;不敏卡尔曼滤波;粒子滤波; I.概述(一级表题格式) 在雷达对目标进行跟踪前要先对目标进行检测。对于满足检测条件的目标就需要进行跟踪,在跟踪的过程中可以利用新获得的数据完成对目标的进一步检测比如去除虚假目标等,同时利用跟踪获得数据可以进一步完成对目标动态特性的检测和识别。因此对目标进行准确的跟踪是雷达性能的一个重要指标。在检测到满足条件的目标后,根据目标运动状态建立目标运动模型,然后对目标跟踪算法进行设计,这是雷达目标跟踪中的核心部分。 目前主要的跟踪算法包括线性自回归滤波,两点外推滤波、维纳滤波、- αβ滤波、加权最小二乘滤波、维纳滤波和卡尔曼滤波[1]。对于线性系统而言最优滤波的方法就是卡尔曼滤波,卡尔曼滤波是线性高斯模型下的最优状态估计算法。但是实际问题中目标的运动模型往往不是线性的,因此卡尔曼滤波具有很大的局限性。目前主要用的非线性滤波算法可以分为高斯滤波和粒子滤波[2]。不敏卡尔曼滤波和扩展卡尔曼滤波就是高斯滤波中的典型代表,也是应用相对较为广泛的。粒子滤波的应用范围比高斯滤波的适用范围要广,对于系统状态非线性,观测模型非高斯等问题都有很好的适用性。本文具体分析阐述了扩展卡尔曼滤波算法,不敏卡尔曼滤波算法,粒子滤波算法,并且通过一个实例利用仿真的方法分析了这三种算法在滤波性能上的优劣,最后对这三种算法做了一定的总结。 我本科毕业设计题目为《基于历史数据的路径生成算法研究》,由于我是跨专业保研到电信学院,该课题所研究内容不属于雷达系统研究范围,是一种城市路网最快路径生成算法。 II.几种非线性滤波算法 A.扩展卡尔曼滤波 扩展卡尔曼滤波是将非线性系统转换为近似的线性系统的一种方法,其核心思想是围绕滤波值将非线性函数展开成泰勒级数并略去二阶及以上的项,得到一个近似的线性化模型,然后应用卡尔曼滤波完成状态估计。 扩展卡尔曼滤波状态空间模型: k k k w x f+ = + ) ( x 1 状态方程 k k k v x h+ =) ( z观测方程 其中(.) f和(.) h为非线性函数 在扩展卡尔曼滤波中,状态的预测以及观测值的预测由非线性函数计算得出,线性卡尔曼滤波中的状态转移矩阵A阵和观测矩阵H阵由f和h函数的雅克比矩阵代替。 对 (.) f和(.) h Taylor展开,只保留一次项有: ) ? ( ) ?( ) ( k k k k k x x A x f x f- + ≈ ) ? ( ) ?( ) ( k k k k k x x H x h x h- + ≈ 其中: k k x x k k dx df A ?= =为f对 1- k x求导的雅克比矩阵 k k x x k k dx dh H ?= =为h对 1- k x求导的雅克比矩阵 ) ?( ? 1-k k x f x=,于是可以得出: k k k k k k k w x A x f x A x+ - + ≈ + ) ? ) ?( ( 1 k k k k k k k v x H x h x H z+ - + ≈ + ) ? ) ?( ( 1 通过以上变换,将非线性问题线性化。接下来EKF 滤波过程同线性卡尔曼滤波相同,公式如下: )) | (?( ) |1 ( X?k k X f k k= + ) ( ) ( ) | ( ) ( ) |1 (P k Q k k k P k k k+ Φ' Φ = + )1 ( )1 ( ) |1 ( )1 ( )1 (S+ + + ' + + = +k R k H k k P k H k )1 ( )1 ( ) |1 ( )1 ( K1+ + ' + = +-k S k H k k P k

卡尔曼滤波算法总结

Kalman_Filter(float Gyro,float Accel) { Angle+=(Gyro - Q_bias) * dt; Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; Pdot[1]= - PP[1][1]; Pdot[2]= - PP[1][1]; Pdot[3]=Q_gyro; PP[0][0] += Pdot[0] * dt; PP[0][1] += Pdot[1] * dt; PP[1][0] += Pdot[2] * dt; PP[1][1] += Pdot[3] * dt; Angle_err = Accel - Angle; PCt_0 = C_0 * PP[0][0]; PCt_1 = C_0 * PP[1][0]; E = R_angle + C_0 * PCt_0; K_0 = PCt_0 / E; K_1 = PCt_1 / E; t_0 = PCt_0; t_1 = C_0 * PP[0][1]; PP[0][0] -= K_0 * t_0; PP[0][1] -= K_0 * t_1; PP[1][0] -= K_1 * t_0; PP[1][1] -= K_1 * t_1; Angle += K_0 * Angle_err; Q_bias += K_1 * Angle_err; Gyro_x = Gyro - Q_bias; } 首先是卡尔曼滤波的5个方程: -=--+(1)先验估计 X k k AX k k Bu k (|1)(1|1)() -=--+(2)协方差矩阵的预测(|1)(1|1)' P k k AP k k A Q

基于粒子滤波和贝叶斯估计的目标跟踪

大庆石油学院学报 第32卷第3期2008年6月J OU RNAL OF DAQ IN G PETROL EUM INSTITU TE Vol.32No.3J un.2008 收稿日期:2007212224;审稿人:付光杰;编辑:郑丽芹 作者简介:任伟建(1963-),女,博士生导师,教授,主要从事复杂系统的控制及故障诊断方面的研究. 基于粒子滤波和贝叶斯估计的目标跟踪 任伟建1,山茂泉1,谢 锋2,王文东3 (1.大庆石油学院电气信息工程学院,黑龙江大庆 163318; 2.大庆油田有限责任公司第二采油厂,黑龙江大庆  163414; 3.大庆钻井技术服务公司钻井工具分公司,黑龙江大庆 163461) 摘 要:针对颜色直方图的彩色物体的运动目标,在各种噪声的干扰下多呈现非线性和非高斯的特点,利用粒子滤 波的方法进行运动估计和跟踪.利用粒子滤波对非线性和非高斯的有效逼近的性质,获得粒子的后验概率分布,估计目 标状态,实现目标的有效跟踪.采用累加权值概率并且引入随机正态分布进行采样,保证粒子的多样性,有效避免粒子退 化问题.仿真结果表明该方法的有效性. 关 键 词:粒子滤波;贝叶斯估计;目标跟踪;彩色直方图 中图分类号:TP182 文献标识码:A 文章编号:100021891(2008)0320067204 0 引言 目标存在变化多样和跟踪设备对环境适应性不完善等问题,复杂环境下的运动目标跟踪是个难题[1,2].为了有效跟踪运动目标,必须对运动对象进行有效的估计,利用已有的信息,获得当前运动物体估计状态,然后利用现有观察数据对运动状态进行修正.该类问题经常采用广义卡尔曼滤波方法.广义卡尔曼滤波依赖于模型的线性化和高斯假设.在估计系统状态和方差时,由于线性逼近,可能导致滤波发散.且如果密度函数不是高斯分布,该方法估计精度不高.近年来出现一种新的最优非线性方法———粒子滤波,它源自序列蒙特卡罗方法[3].该方法不受动态系统各个随机变量的限制,能够有效地应用于非线性、非高斯的运动系统中. 文中首先对选定区域目标建立颜色直方图模型,然后在选定区域附近产生目标粒子区域,利用巴特查理亚系数测量粒子区域和选定区域2种分布之间的相似度,运用粒子滤波估计方法实现运动目标的跟踪.在跟踪过程中,粒子存在退化现象.文献[4]采取重采样方法在一定程度上解决了退化问题,但由于重采样是根据权值大小进行的,导致采样后的粒子由大量重复的粒子构成,失去了多样性.文中采取概率累加的方法保持粒子的多样性,防止粒子退化,取得较好的效果. 1 运动目标模型 在确定运动目标后,建立基于指数分布的统计模型.在区域中心,属于运动目标的概率为1,在偏离中心的距离大于阈值时,概率属于指数衰减[5]: p pos (z i )=1,‖z i ‖≤T ; exp -‖z i ‖-T max (‖z i ‖-T )N i =1 ,‖z i ‖>T ,(1)可得到目标的统计直方图分布模型: p pos (u )=C 6N i =1p pos (z i )δ(b (z i )-u ),(2) C =1 6N i =1p pos (z i ). (3)

卡尔曼滤波算法(C--C++两种实现代码)

卡尔曼滤波算法实现代码 C++实现代码如下: ============================kalman.h================= =============== // kalman.h: interface for the kalman class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C0__IN CLUDED_) #define AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C0__INCLU DED_ #if _MSC_VER > 1000 #pragma once #endif// _MSC_VER > 1000 #include #include "cv.h" class kalman { public: void init_kalman(int x,int xv,int y,int yv); CvKalman* cvkalman; CvMat* state; CvMat* process_noise; CvMat* measurement; const CvMat* prediction; CvPoint2D32f get_predict(float x, float y);

kalman(int x=0,int xv=0,int y=0,int yv=0); //virtual ~kalman(); }; #endif// !defined(AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C 0__INCLUDED_) ============================kalman.cpp=============== ================= #include "kalman.h" #include /* tester de printer toutes les valeurs des vecteurs*/ /* tester de changer les matrices du noises */ /* replace state by cvkalman->state_post ??? */ CvRandState rng; const double T = 0.1; kalman::kalman(int x,int xv,int y,int yv) { cvkalman = cvCreateKalman( 4, 4, 0 ); state = cvCreateMat( 4, 1, CV_32FC1 ); process_noise = cvCreateMat( 4, 1, CV_32FC1 ); measurement = cvCreateMat( 4, 1, CV_32FC1 ); int code = -1;

卡尔曼滤波简介及其算法实现代码

卡尔曼滤波简介及其算法实现代码 卡尔曼滤波算法实现代码(C,C++分别实现) 卡尔曼滤波器简介 近来发现有些问题很多人都很感兴趣。所以在这里希望能尽自己能力跟大家讨论一些力所能及的算法。现在先讨论一下卡尔曼滤波器,如果时间和能力允许,我还希望能够写写其他的算法,例如遗传算法,傅立叶变换,数字滤波,神经网络,图像处理等等。 因为这里不能写复杂的数学公式,所以也只能形象的描述。希望如果哪位是这方面的专家,欢迎讨论更正。 卡尔曼滤波器– Kalman Filter 1.什么是卡尔曼滤波器 (What is the Kalman Filter?) 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人! 卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法)。如果对这编论文有兴趣,可以到这里的地址下载: https://www.wendangku.net/doc/9316458351.html,/~welch/media/pdf/Kalman1960.pdf。 简单来说,卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法)”。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 2.卡尔曼滤波器的介绍 (Introduction to the Kalman Filter) 为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。 在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。 假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就

视频目标跟踪算法综述_蔡荣太

1引言 目标跟踪可分为主动跟踪和被动跟踪。视频目标跟踪属于被动跟踪。与无线电跟踪测量相比,视频目标跟踪测量具有精度高、隐蔽性好和直观性强的优点。这些优点使得视频目标跟踪测量在靶场光电测量、天文观测设备、武器控制系统、激光通信系统、交通监控、场景分析、人群分析、行人计数、步态识别、动作识别等领域得到了广泛的应用[1-2]。 根据被跟踪目标信息使用情况的不同,可将视觉跟踪算法分为基于对比度分析的目标跟踪、基于匹配的目标跟踪和基于运动检测的目标跟踪。基于对比度分析的跟踪算法主要利用目标和背景的对比度差异,实现目标的检测和跟踪。基于匹配的跟踪主要通过前后帧之间的特征匹配实现目标的定位。基于运动检测的跟踪主要根据目标运动和背景运动之间的差异实现目标的检测和跟踪。前两类方法都是对单帧图像进行处理,基于匹配的跟踪方法需要在帧与帧之间传递目标信息,对比度跟踪不需要在帧与帧之间传递目标信息。基于运动检测的跟踪需要对多帧图像进行处理。除此之外,还有一些算法不易归类到以上3类,如工程中的弹转机跟踪算法、多目标跟踪算法或其他一些综合算法。2基于对比度分析的目标跟踪算法基于对比度分析的目标跟踪算法利用目标与背景在对比度上的差异来提取、识别和跟踪目标。这类算法按照跟踪参考点的不同可以分为边缘跟踪、形心跟踪和质心跟踪等。这类算法不适合复杂背景中的目标跟踪,但在空中背景下的目标跟踪中非常有效。边缘跟踪的优点是脱靶量计算简单、响应快,在某些场合(如要求跟踪目标的左上角或右下角等)有其独到之处。缺点是跟踪点易受干扰,跟踪随机误差大。重心跟踪算法计算简便,精度较高,但容易受到目标的剧烈运动或目标被遮挡的影响。重心的计算不需要清楚的轮廓,在均匀背景下可以对整个跟踪窗口进行计算,不影响测量精度。重心跟踪特别适合背景均匀、对比度小的弱小目标跟踪等一些特殊场合。图像二值化之后,按重心公式计算出的是目标图像的形心。一般来说形心与重心略有差别[1-2]。 3基于匹配的目标跟踪算法 3.1特征匹配 特征是目标可区别与其他事物的属性,具有可区分性、可靠性、独立性和稀疏性。基于匹配的目标跟踪算法需要提取目标的特征,并在每一帧中寻找该特征。寻找的 文章编号:1002-8692(2010)12-0135-04 视频目标跟踪算法综述* 蔡荣太1,吴元昊2,王明佳2,吴庆祥1 (1.福建师范大学物理与光电信息科技学院,福建福州350108; 2.中国科学院长春光学精密机械与物理研究所,吉林长春130033) 【摘要】介绍了视频目标跟踪算法及其研究进展,包括基于对比度分析的目标跟踪算法、基于匹配的目标跟踪算法和基于运动检测的目标跟踪算法。重点分析了目标跟踪中特征匹配、贝叶斯滤波、概率图模型和核方法的主要内容及最新进展。此外,还介绍了多特征跟踪、利用上下文信息的目标跟踪和多目标跟踪算法及其进展。 【关键词】目标跟踪;特征匹配;贝叶斯滤波;概率图模型;均值漂移;粒子滤波 【中图分类号】TP391.41;TN911.73【文献标识码】A Survey of Visual Object Tracking Algorithms CAI Rong-tai1,WU Yuan-hao2,WANG Ming-jia2,WU Qing-xiang1 (1.School of Physics,Optics,Electronic Science and Technology,Fujian Normal University,Fuzhou350108,China; 2.Changchun Institute of Optics,Fine Mechanics and Physics,Chinese Academy of Science,Changchun130033,China)【Abstract】The field of visual object tracking algorithms are introduced,including visual tracking based on contrast analysis,visual tracking based on feature matching and visual tracking based on moving detection.Feature matching,Bayesian filtering,probabilistic graphical models,kernel tracking and their recent developments are analyzed.The development of multiple cues based tracking,contexts based tracking and multi-target tracking are also discussed. 【Key words】visual tracking;feature matching;Bayesian filtering;probabilistic graphical models;mean shift;particle filter ·论文·*国家“863”计划项目(2006AA703405F);福建省自然科学基金项目(2009J05141);福建省教育厅科技计划项目(JA09040)

Kalman滤波算法

Kalman 滤波算法 姓名:刘金强 专业:控制理论与控制工程 学号:2007255 ◆实验目的: (1)、掌握klman 滤波实现的原理和方法 (2)、掌握状态向量预测公式的实现过程 (3)、了解Riccati 差分方程实现的过程和新息的基本性质和过程的计算 ◆实验要求: 问题: F=[a1,a2,a3],其中a1=[1.0 0 0]的转置,a2=[0.3 1.0 0]的转置,a3=[0.1 0.2 0.4]的转置,x(0)=[3,-1,2]的转置;C=[b1,b2,b3],其中b1=[0.3 0.5]的转置,b2=[1,0.4]的转置,b3=[0.8 -0.7]的转置;V1(n)=[0 0 n1(n)sin(0.1n)]的转置,V2(n)=[n2(n) n3(n)];n1(n)为均值为零,方差为1的均匀分布白噪声;n2(n),n3(n)为均值为0,方差为0.1的均匀分布白噪声,n1(n),n2(n),n3(n)相互独立,试用卡尔曼滤波器算法估计x^(n). ◆实验原理: 初始条件: 1?(1)x =E{x(1)} K(1,0)=E{[x(1)- (1)x ][x(1)- (1)H x ]},其中(1)x =E{x(1)} 输入观测向量过程: 观测向量序列={y(1),…………y(n)} 已知参数: 状态转移矩阵F(n+1,n) 观测矩阵C(n) 过程噪声向量的相关矩阵1()Q n 观测噪声向量的相关矩阵2()Q n 计算:n=1,2,3,………………. G(n)=F(n+1,n)K(n,n+1) ()H C n 12[()(,1)()()]H C n K n n C n Q n --+ Kalman 滤波器是一种线性的离散时间有限维系统。Kalman 滤波器的估计性能是:它使滤波后的状态估计误差的相关矩阵P(n)的迹最小化。这意味着,kalman 滤波器是状态向量x(n)的线性最小方差估计。 ◆实验结果: ◆程序代码: (1)主程序

目标定位跟踪算法及仿真程序

目标定位跟踪算法及仿真程序 质心算法是最简单的定位算法,如图2-1所示,四个小圆为观测站,实线三角形是目标真实的位置,假设四个圆形观测站都探测到目标的存在,则根据质心定位算法,目标的位置(x,y )可以表示为:4 4 321x x x x x +++= , 4 4 321y y y y y +++= ,这里观测站得位置为),(i i y x ,同理,当观测站数目为N 时,这时候的质心定位算法可以表示为: ???? ? ? ??????=??????∑∑==N i i N i i y N x N y x 11 11 图1 质心定位 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 质心定位算法Matlab 程序 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function main % 定位初始化 Length=100; % 场地空间,单位:米 Width=100; % 场地空间,单位:米 d=50; % 目标离观测站50米以内都能探测到,反之则不能 Node_number=6; % 观测站的个数 for i=1:Node_number % 观测站的位置初始化,这里位置是随机给定的 Node(i).x=Width*rand; Node(i).y=Length*rand; end % 目标的真实位置,这里也随机给定 Target.x=Width*rand; Target.y=Length*rand; % 观测站探测目标 X=[]; for i=1:Node_number

粒子滤波技术的发展现状综述

1 收稿日期: 2009-06-10 基金项目:国家自然科学基金项目10872125、上海市自然科学基金 项目06ZR14042、高等学校学科创新引智计划资助项目B06012、教育部留学回国人员科研启动基金项目 作者简介:张瑞华(1985-),女,硕士,目前从事非线性动力学、信 号处理与识别研究。E m ai:l zhangrh @s j tu https://www.wendangku.net/doc/9316458351.html, 文章编号:1006 1355(2010)02 0001 04 粒子滤波技术的发展现状综述 张瑞华,雷 敏 (上海交通大学机械系统与振动国家重点实验室,上海 200240) 摘 要:对粒子滤技术的近几年研究发展进行回顾,介绍四大类粒子滤波改进算法,总结目前目标跟踪、导航与定位中存在的问题,展望粒子滤波技术的方法研究及实际应用前景。 关键词:振动与波;粒子滤波;非线性系统;信号处理;目标识别中图分类号:TP27;TN 713;V 2 文献标识码:A DO I 编码:10.3969/.j issn .1006-1355.2010.02.001 Review of State of The A rt of Particle Filtering Technique ZHANG Rui hua,LEI M in (S tate Key Laboratory ofM echanical Syste m and V ibration ,Shangha i Jiao tong Un i v ersity ,Shangha i 200240,China) Abstract :Th is paper rev ie w s the state of the art of particle filtering techn i q ue .The novelm ethods for particle filtering ca lculati o n o f four k i n ds of particles are i n troduced .The prob l e m s i n tar get track i n g ,nav i g ation and orientation are summ ar ized.A t las,t t h e further study and practica l app li c ations of particle filtering techn ique are prospected . Key w ords :v i b ra ti o n and wave ;particle filtering ;nonlinear syste m s ;si g na l pr ocess ;target recog niti o n 粒子滤波(Partic le Filter ,PF )技术是一种用于非线性、非高斯系统的滤波方法。在其发展过程中有很多表述方法,如Bootstrap filter ,C ondensati o n M onte Carlo filter ,Particle filter 等,目前使用最多的是英文 Particle filter 中文 粒子滤波 。粒子滤波思想最早可以追溯到上一世纪50年代末H e mm ers ley 等人[1] 提出的基于贝叶斯采样估计的顺序重要采样(SI S)滤波思想。60年代以后粒子滤波技术得到了一定的发展,但研究中一直存在粒子退化、重采样可能减少正确的粒子数和计算量制约等致命问题,从而没有引起人们足够的重视。直到上个世 纪90年代初,Go r dan 等人[2] 提出在递推过程中重 新抽样的思想,奠定了粒子滤波实用性的基础,随后许多改进算法相继被提出,使得粒子滤波技术得到迅速发展。目前该技术已被广泛地应用到诸多领域里,如目标跟踪及导航与制导、状态监视和故障诊断、参数估计与系统辨识、人手臂运动识别、计算机视觉、金融领域等 [3-9] 。 1 粒子滤波技术发展现状 根据SC I 数据库的检索报告,从1990年至今共有482篇SC I 的 粒子滤波(Parti c le F ilteri n g) 标题文章,而近5年的标题文章就有336篇,占全部标题文章的69.7%,并且 粒子滤波(Partic le F iltering) 的主题文章近5年就有将近1500篇之多,可以说粒子滤波技术已受到学者和科研人员的高度关注,成为当今一个非常活跃的研究领域。 粒子滤波是针对所有可能的观测值,通过状态空间随机生成一些粒子,每个粒子利用贝叶斯准则进行加权修正,然后递归构造状态变量的条件概率密度,以近似估计实际的系统状态。Gordan 等人 [2] 粒子滤波技术的发展现状综述

几种卡尔曼滤波算法理论

自适应卡尔曼滤波 卡尔曼滤波发散的原因 如果卡尔曼滤波是稳定的,随着滤波的推进,卡尔曼滤波估计的精度应该越来越高,滤波误差方差阵也应趋于稳定值或有界值。但在实际应用中,随着量测值数目的增加,由于估计误差的均值和估计误差协方差可能越来越大,使滤波逐渐失去准确估计的作用,这种现象称为卡尔曼滤波发散。 引起滤波器发散的主要原因有两点: (1)描述系统动力学特性的数学模型和噪声估计模型不准确,不能直接真实地反映物理过程,使得模型与获得的量测值不匹配而导致滤波发散。这种由于模型建立过于粗糙或失真所引起的发散称为滤波发散。 (2)由于卡尔曼滤波是递推过程,随着滤波步数的增加,舍入误差将逐渐积累。如果计算机字长不够长,这种积累误差很有可能使估计误差方差阵失去非负定性甚至失去对称性,使滤波增益矩阵逐渐失去合适的加权作用而导致发散。这种由于计算舍入误差所引起的发散称为计算发散。 针对上述卡尔曼滤波发散的原因,目前已经出现了几种有效抑制滤波发散的方法,常用的有衰减记忆滤波、限定记忆滤波、扩充状态滤波、有限下界滤波、平方根滤波、和自适应滤波等。这些方法本质上都是以牺牲滤波器的最优性为代价来抑制滤波发散,也就是说,多数都是次优滤波方法。 自适应滤波 在很多实际系统中,系统过程噪声方差矩阵Q和量测误差方差阵R事先是不知道的,有时甚至连状态转移矩阵 或量测矩阵H也不能确切建立。如果所建立的模型与实际模型不符可能回引起滤波发散。自适应滤波就是这样一种具有抑制滤波发散作用的滤波方法。在滤波过程中,自适应滤波一方面利用量测值修正预测值,同时也对未知的或不确切的系统模型参数和噪声统计参数进行估计修正。自适应滤波的方法很多,包括贝叶斯法、极大似然法、相关法与协方差匹配法,其中最基本也是最重要的是相关法,而相关法可分为输出相关法和新息相关法。 在这里只讨论系统模型参数已知,而噪声统计参数Q和R未知情况下的自适应滤波。由于Q和R等参数最终是通过增益矩阵K影响滤波值的,因此进行自适应滤波时,也可以不去估计Q和R等参数而直接根据量测数据调整K就可以了。

粒子滤波的目标跟踪算法研究与实现

龙源期刊网 https://www.wendangku.net/doc/9316458351.html, 粒子滤波的目标跟踪算法研究与实现 作者:韩雪王元亮 来源:《现代商贸工业》2011年第15期 摘要:通过已经获得的运动目标的先验特征点,以及基于这些特征点在各种噪声的干扰 下多呈现非线性和非高斯的特点,我们可以利用粒子滤波的方法进行运动估计和跟踪。由于粒子滤波具有对非线性和非高斯的有效逼近的性质,获得粒子的后验概率分布,估计目标状态,实现目标的有效跟踪。为了有效避免粒子退化问题,采用累加权值、聚类算法并且引入高斯分布函数进行采样,保证粒子的多样性。经过程序测试,结果很有效。 关键词:粒子滤波;高斯分布;目标跟踪;先验概率分布 中图分类号:TB 文献标识码:A 文章编号:1672-3198(2011)15-0271-03 目标存在变化多样和跟踪设备对环境适应性不完善等问题,复杂环境下的运动目标跟踪是个难题。例如:由于检测结果不连续,在连续帧间,有些帧没有检测结果。为了有效跟踪运动目标,必须对运动对象进行有效的估计,利用已有的信息,获得当前运动物体估计状态,然后利用现有观察数据对运动状态进行修正。该类问题经常采用广义卡尔曼滤波方法。广义卡尔曼滤波依赖于模型的线性化和高斯假设。不过卡尔曼滤波存在许多缺点:在估计系统状态和方差时,由于线性逼近,可能导致滤波发散;如果密度函数不是高斯分布,该方法估计精度不高;在多维、多因素等复杂性的限制情况下,其结果计算量往往几何倍的增长。近年来出现一种新的最优非线性方法———粒子滤波,它源自序列蒙特卡罗方法。该方法不受动态系统各个随机变量的限制,能够有效地应用于非线性、非高斯的运动系统中。 粒子滤波的核心思想是利用一系列随即样本的加权和表示所需的后验概率密度,得到状态的估计值。当样本点数增至无穷大时,蒙特卡罗特性与后验概率密度的函数表示等价。一般都是用序贯粒子滤波算法,由于此方法会产生退化现象,随意在此基础上用重新采样方法。但这又会导致有大量重复的粒子构成,增加了计算量。而文中的方法加入了聚类算法和当前帧的特征点,进一步减少了粒子退化。 1 蒙特卡罗法基本原理 粒子滤波的理论基础是基于蒙特卡罗方法,即利用一系列随机抽取的样本,计算后验概率分布的方法。因为当这个抽样足够大的时候,这样计算的结果和实际后验分布的概率分布近

基于粒子滤波器的移动机器人定位和地图创建研究进展

文章编号:1002 0446(2007)03 0281 09 基于粒子滤波器的移动机器人定位和地图创建研究进展* 余洪山,王耀南 (湖南大学电气与信息工程学院,湖南长沙 410082) 摘 要:首先,对粒子滤波器的原理和研究进展进行了综述.然后,介绍了基于粒子滤波器的移动机器人定位研究进展.其次,给出了粒子滤波器在移动机器人地图创建领域的最新成果.最后,对粒子滤波器在移动机器人研究领域的未来发展方向进行了展望. 关键词:粒子滤波器;蒙特卡洛定位;移动机器人地图创建;移动机器人定位;移动机器人同步地图创建和定位 中图分类号: TP24 文献标识码: A A R eview on M obile R obot L ocalizati on and M ap buildi ng A l gorith m s Based on Particle Filters YU H ong shan,WANG Y ao nan (Colle g e o f E lectri ca l and Infor ma tion Eng i neering,H unan Universit y,Chang sha410082,Ch i na) Abstract:F i rstl y,the research progress and princ i p l e o f particle filters a re overv ie w ed.Secondly,t he progress o fm ob ile robot locali zati on based on parti c le filte rs i s descri bed.T hird l y,the recent w orks o f pa rtic l e filters in m ap bu ildi ng f o r mo b ile robots are presented.F i nall y,the future d i recti ons o f pa rti c l e filters in m ob ile robot are su mm ar i zed. K eyword s:parti c le filte r;M onte Carlo l o ca li za ti on;mob ile robot m ap bu il d i ng;mob ile robot localizati on;SLAM 1 引言(Introduction) 粒子滤波器(partic le filter)是一种基本统计工具,其核心是基于贝叶斯采样估计的顺序重要采样(Sequenti a l I m portance Sa m pli n g,S I S)滤波思想,通常也称之为Bootstrap滤波器、蒙特卡洛滤波器、Conden sation算法和Surv i v a l o f the Fittest算法,开始成功应用于目标跟踪、语音识别、移动机器人定位、地图创建、故障诊断、统计分析等领域[1~8]. 粒子滤波器具有可逼近任意概率分布的特性,并且计算简单方便,与传统卡尔曼滤波器方法、马尔可夫算法相比,具有其特定的优越性.De llaert等[9]和Fox等[10]分别独立提出将粒子滤波器应用于移动机器人定位研究中,即蒙特卡洛定位算法(M onte Carlo Localization,MCL).此后算法被研究人员广泛采用和扩展,迅速成为继EKF模型、马尔可夫模型后移动机器人定位领域的一个新的研究热点[11].在此基础上,研究人员将粒子滤波器引入地图创建研究,提出了一系列移动机器人同步地图创建和定位方案,如FastSL AM算法[12,13]、粒子滤波器和其他智能计算方法的复合地图创建方法等,得到了移动机器人地图创建研究人员的广泛认可.本文拟对粒子滤波器在移动机器人定位、地图创建等应用领域的最新研究进行综述,分析和总结该类算法的优缺点和可能研究方向. 2 粒子滤波器原理和研究进展(The re search progress and principle of particle filters) 粒子滤波器的研究源于H a mm ersley等[2]提出的基本SI S方法.1993年Gor don等[4]提出了一种新的基于SIS的Bootstrap非线性滤波方法,奠定了粒子滤 第29卷第3期 2007年5月机器人 ROBOT V o.l29,N o.3 M ay,2007 *基金项目:国家自然科学基金资助项目(60375008);教育部博士点基金资助项目(20030532004);湖南大学优秀博士论文创新基金资助项目(521218006). 收稿日期:2006-07-03

扩展卡尔曼滤波和粒子滤波算法比较

扩展卡尔曼滤波和粒子滤波算法比较上海大学2013 , 2014学年秋季学期 研究生课程小论文 课程名称: 随机信号导论课程编号: 07SB17002 论文题目: 扩展卡尔曼滤波和粒子滤波算法比较 研究生姓名: 班孝坤 (33%) 学号: 13720843 研究生姓名: 倪晴燕 (34%) 学号: 13720842 研究生姓名: 许成 (33%) 学号: 13720840 论文评语: 成绩: 任课教师: 刘凯 评阅日期: 扩展卡尔曼滤波和粒子滤波算法比较 第一章绪论 在各种非线性滤波技术中, 扩展卡尔曼滤波是一种最简单的算法, 它将卡尔曼滤波局部线性化,适用于弱非线性、高斯环境下。卡尔曼滤波用一系列确定样本来逼近状态的后验概率密度, 适用于高斯环境下的任何非线性系统。粒子滤波用随机样本来近似状态的后验概率密度, 适用于任何非线性非高斯环境, 但有时选择的重要性分布函数与真实后验有较大差异, 从而导致滤波结果存在较大误差, 而粒子滤

波正好克服了这一不足, 它先通过UKF产生重要性分布, 再运用PF 算法。通过仿真实验, 对其的性能进行比较。 严格说来,所有的系统都是非线性的,其中许多还是强非线性的。因此,非线性系统估计问题广泛存在于飞行器导航、目标跟踪及工业控制等领域中,具有重要的理论意义和广阔的应用前景。 系统的非线性往往成为困扰得到最优估计的重要因素,为此,人们提出了大量次优的近似估计方法。包括EKF,基于UT变换的卡尔曼滤波(UKF),粒子滤波,等等。 第二章扩展卡尔曼滤波介绍 2.1 扩展卡尔曼滤波的理论(EKF) 设非线性状态空间模型为: xfxv,(,)(1)ttt,,11 yhxn,(,)(2)ttt 式中和分别表示在t时刻系统的状态和观测,和 xR,yR,vR,nR,tttt分别表示过程噪声和观测噪声,f和h表示非线性函数。 扩展卡尔曼滤波(Extended kalman filter,以下简称EKF)是传统非线性估计的代表,其基本思想是围绕状态估值对非线性模型进行一阶Taylor展开,然后应用线性系统Kalman滤波公式。 EKF是用泰勒展开式中的一次项来对式(1)和 ( 2 ) 中的非线性函数f和h 进行线性化处理, 即先计算f和h 的雅克比矩阵, 然后再在标准卡尔曼滤波框架下进行递归滤波。和均为零均值的高斯白噪声。 vntt 2.2 扩展卡尔曼滤波的算法 EKF的算法同KF 一样, 也可分为两步预测和更新。如图2.1所示

相关文档