基于粒子滤波器的移动机器人定位和地图创建研究进展
基于粒子滤波算法的移动机器人导航技术研究

基于粒子滤波算法的移动机器人导航技术研究随着科技的不断发展,移动机器人技术已经越来越受到人们的关注。
在实际应用中,人们对于移动机器人的导航精度也提出了更高的要求,这就需要我们不断地研究基于粒子滤波算法的移动机器人导航技术,以满足人们对于移动机器人的高精度导航需求。
一、粒子滤波算法简介及其原理粒子滤波算法在解决非线性非高斯信号处理问题的时候有很好的效果,被广泛应用于移动机器人导航中。
其基本原理是利用一组粒子来对机器人所处的状态空间进行估计,然后使用重要性权重将粒子进行排序,从而得到机器人所处的实际状态值。
具体的流程如下:1、初始化:从先验状态概率密度函数中生成一组粒子作为初始化,粒子集合大小为N。
2、状态预测:根据上一个时间步的状态,对每个粒子进行状态预测,得到当前时间步的粒子状态。
3、权重评估:使用观测数据对所有粒子的权重进行评估,其中权重值越大的粒子表示越接近实际状态。
4、重采样:根据每个粒子的权重进行抽样,保留权重值较高的粒子,并舍弃权重值小的粒子。
5、状态估计:根据重采样后得到的粒子集合,对机器人当前的状态进行估计。
二、移动机器人导航中基于粒子滤波算法的应用在移动机器人导航中,基于粒子滤波算法的应用不断深入。
根据无人机导航中的经验,机器人的自我定位精度提高需要多种信息的融合,基于粒子滤波算法可以解决多源异构信息融合的问题,在定位精度上较为突出,可以适用于各种移动机器人的自动导航。
除此之外,基于粒子滤波算法的移动机器人导航还有以下优点:1、对于非线性和非高斯的状态空间建模具有良好的适应性,这样粒子滤波算法可以应对比较复杂的情况。
2、应用基于粒子滤波算法的移动机器人导航算法计算量较小,运算过程也比较简单,因此可以实时计算。
3、基于粒子滤波算法的移动机器人导航算法可以有助于提高机器人导航的精度,因此可以减少机器人在移动过程中的错误,提高其自我定位的精度。
三、基于粒子滤波算法的移动机器人导航实验研究针对基于粒子滤波算法的移动机器人导航技术,我们进行了相关实验研究。
基于粒子滤波的机器人定位技术研究

基于粒子滤波的机器人定位技术研究机器人定位技术是机器人领域中的一个非常重要的研究课题,它是机器人能够准确地感知环境和执行任务的基础。
目前,粒子滤波技术是机器人定位中的一种常用方法,本文将对基于粒子滤波的机器人定位技术进行研究和讨论。
一、粒子滤波技术简介粒子滤波(Particle Filter)是一种基于贝叶斯滤波(Bayesian Filter)的非参数滤波方法,它是一种递归方法,通常用于估计状态变量的概率密度。
粒子滤波方法主要分为预测和更新两个步骤。
在预测阶段,粒子滤波从上一时刻的粒子集合中采样产生新的粒子集合。
在更新阶段,滤波器会根据观测数据,对粒子的权重进行修正,然后重新采样得到新的粒子集合。
二、基于粒子滤波的机器人定位技术基于粒子滤波的机器人定位技术是一种利用粒子滤波算法实现机器人自我定位的方法,它主要包括三个方面:机器人运动模型、传感器模型和观测数据。
1、机器人运动模型机器人运动模型是机器人运动规律的描述,它可以通过确定机器人运动的状态转移方程来实现。
在基于粒子滤波的机器人定位中,常用的机器人运动模型有:卡尔曼滤波模型、扩展卡尔曼滤波模型和粒子滤波模型。
2、传感器模型机器人的传感器模型包括机器人传感器的类型和性能描述。
常用的机器人传感器类型有:激光雷达、相机、惯性测量单元(IMU)等,它们可以用来获取机器人的位置、速度、方向等信息。
3、观测数据机器人的观测数据通常包括:机器人定位的坐标系、传感器测量的位置和方向、传感器的误差和干扰等。
这些数据可以用来识别机器人在环境中的位置信息。
三、基于粒子滤波的机器人定位技术的优缺点基于粒子滤波的机器人定位技术具有一些比较明显的优点和缺点。
1、优点基于粒子滤波的机器人定位技术不受线性模型假设的限制,可以适用于各种复杂的非线性系统。
基于粒子滤波的机器人定位技术可以充分考虑噪音和不确定性等因素,对机器人的定位精度有很好的提高作用。
2、缺点基于粒子滤波的机器人定位技术需要大量的粒子样本,而这些样本数量和质量对结果的影响比较大,因此需要较高的算力支持。
基于粒子滤波的移动机器人定位算法研究

基于粒子滤波的移动机器人定位算法研究第一章:引言移动机器人定位是机器人技术中的重要研究领域,对于机器人的自主导航和环境感知有着至关重要的作用。
在实际应用中,机器人需要准确、鲁棒地确定自身在环境中的位置信息。
基于传感器数据的定位算法是实现这一目标的重要手段之一。
本文将研究基于粒子滤波的移动机器人定位算法,通过对粒子滤波算法的原理和应用进行研究,探讨其在机器人定位中的有效性和适用性。
第二章:粒子滤波算法2.1 粒子滤波原理2.1.1 状态空间模型2.1.2 权重计算2.1.3 高效采样2.2 粒子滤波算法流程2.2.1 初始化2.2.2 预测2.2.3 更新2.2.4 重采样第三章:移动机器人定位问题研究3.1 机器人传感器模型3.1.1 激光传感器3.1.2 视觉传感器3.1.3 距离传感器3.2 状态估计3.2.1 机器人运动模型3.2.2 传感器测量模型第四章:基于粒子滤波的移动机器人定位算法设计4.1 粒子初始化策略4.2 运动模型设计4.2.1 基于里程计的运动模型4.2.2 基于惯性测量单元的运动模型4.3 传感器模型设计4.3.1 激光传感器测量模型4.3.2 视觉传感器测量模型4.3.3 距离传感器测量模型4.4 重采样策略设计第五章:实验与结果分析5.1 实验环境设置5.2 实验指标5.3 结果分析与讨论5.3.1 粒子滤波算法性能评估5.3.2 不同传感器对算法性能影响分析5.3.3 不同运动模型对算法性能影响分析第六章:算法优化与改进6.1 采样粒子数优化6.2 权重更新策略改进6.3 运动模型和传感器模型改进第七章:总结与展望7.1 研究总结7.2 存在问题与不足7.3 研究展望结论通过研究粒子滤波算法在移动机器人定位中的应用,本文对基于粒子滤波的移动机器人定位算法进行了深入研究。
实验结果表明,该算法能够有效地解决机器人在复杂环境下的定位问题,对于机器人的自主导航和环境感知具有重要意义。
基于粒子滤波器的移动机器人轨迹预测应用

3.
轨迹预测
本文中,一个随机运动目标的速度和位置用粒子滤波器来预测。实际应用中,预测位
置受到物理条件限制,使用了合理的预测窗口进行预测。 粒子滤波器用作预测移动机器人的位置,在 2-D 空间中被预测的物体位置由质心位置 (x, y)表示,并从已知的过往值推算得到预测位置。x, y 分别是 2-D 坐标系的沿 x, y 轴的 坐标值。按照物理条件,物体的移动速度和范围是有限制的。预测值输出是目标下次采样的 位置速度,并作为机器人的路径规划的输入。 如图 1 中描述的,预测轨迹有四个阶段:
Chapman-Kolmogorov 方程计算得到 k 时刻的先验密度分布,
p ( X k | Z1:k ) p ( X k | X k 1 ) p ( X k 1 | Z1:k 1 )dX k 1
这里假定 布
。
(3)
p ( X k | X k 1 , Z1:k 1 ) p ( X k | X k 1 ) ,因为系统模型是马尔可夫过程。概率分
在线性和高斯系统中卡尔曼滤波常用于传感器信号融合1但卡尔曼滤波在非线性系统和非高斯系统中的作用很有限即使扩展卡尔曼滤波ekf也要求对系统状态的进行高斯后验分布线性化处理
基于粒子滤波器的移动机器人轨迹预测应用1
刘馨,裴海龙,李坚强
华南理工大学自动化学院,广州 (510640)
p( X k | X k 1 ) 由系统模型(1)和已知统计 Vk 1 决定。在每个时刻 k, 测量值 Z k Z 可得,
p ( X k | Z1:k ) p ( Z k | X k ) p ( X k | Z1:k 1 ) p ( Z k | Z1:k 1 )
并用贝叶斯定律来跟新先验密度分布,
进一步的,如果
鲁棒的机器人粒子滤波即时定位与地图构建的实现

优先出版 计 算 机 应 用 研 究 第32卷--------------------------------基金项目:科技部国际合作资助项目(2010DFA12160);重庆市科技攻关项目(CSTC ,2010AA2055)作者简介:张毅(1966-),男,博士,教授,主要研究方向为机器人及应用、数据融合、信息无障碍技术;程铁凤(1989-),女,重庆,硕士研究生,主要研究方向为机器人自主导航技术;罗元(1972-),女,博士,教授,主要研究方向为信号与信息处理、数字图像处理;傅有力(1990-),男,重庆,硕士研究生,主要研究方向为机器人自主导航技术.鲁棒的机器人粒子滤波即时定位与地图构建的实现 张 毅,程铁凤,罗 元,傅有力(重庆邮电大学 信息无障碍研发中心,重庆 400065)摘 要:为了实现未知环境下的移动机器人同时定位与地图构建,提出一种改进的粒子滤波器算法。
针对传统粒子滤波器粒子数量大的问题,通过在粒子滤波重要性采样阶段融入激光传感器观测信息,以减少所需粒子数。
重采样之后出现粒子严重枯竭时,进行马尔可夫蒙特卡洛移动处理以降低粒子的匮乏效应。
该方法在装有机器人操作系统的Pioneer3-DX 机器人上进行测试,实验结果表明,它能够在线地创建高精度的栅格地图。
关键词:即时定位与地图构建;粒子滤波;马尔科夫-蒙特卡洛;机器人操作系统 中图分类号:TP242.6 文献标志码:ARobust robot simultaneous localization and mapping implementation based on improved particle filter ZHANG Yi, CHENG Tie-feng, LUO Yuan, FU You-li(Research Center of Information Accessibility, Chongqing University of Posts & Telecommunications, Chong- qing 40065, China )Abstract In order to implement the mobile robot simultaneous localization and mapping in unknown environments, this paper presents an improved particle filter algorithm. To decrease the large number of particles that needed in normal particle filter, it integrates the observed information of laser range finder into importance sampling. When severe particle impoverishment occurs after resampling, the algorithm takes Markov Chain Monte Carlo moving process to reduce particle impoverishment effect. The method is tested on a Pioneer3-DX robot with robot operating system. Actual experiment results show that the method could generate high-precision grid map in real time. Key words SLAM; particle filter; Markov Chain Monte; robot operating system 0 引言随着人们生活水平的提高,机器人将走出工厂,进入人们的生活。
《基于粒子滤波的智能移动终端室内定位方法研究》

《基于粒子滤波的智能移动终端室内定位方法研究》篇一一、引言随着科技的进步和物联网的快速发展,室内定位技术已成为智能移动终端领域的重要研究方向。
室内定位技术不仅在商业、军事、医疗等领域具有广泛的应用前景,同时也为人们的生活带来了极大的便利。
本文将重点研究基于粒子滤波的智能移动终端室内定位方法,通过分析其原理、优势及存在的问题,为后续的深入研究提供理论支持。
二、粒子滤波理论基础粒子滤波是一种基于贝叶斯估计的递归滤波算法,适用于非线性、非高斯系统的状态估计问题。
其基本思想是通过一组随机样本(粒子)来近似表示状态的后验概率分布,通过对这些粒子的加权和来估计状态的最优值。
粒子滤波具有较高的精度和较好的鲁棒性,在许多领域得到了广泛的应用。
三、基于粒子滤波的智能移动终端室内定位方法1. 系统架构:基于粒子滤波的智能移动终端室内定位系统主要包括硬件设备和软件算法两部分。
硬件设备包括移动终端、信标等;软件算法则以粒子滤波为核心,实现对移动终端的精确室内定位。
2. 工作原理:首先,通过在室内环境中布置一定数量的信标,以发射信号;然后,移动终端接收信标信号,根据信号的强度、时间等信息,结合粒子滤波算法,估计出移动终端的位置。
3. 算法实现:基于粒子滤波的室内定位算法包括初始化、预测和更新三个步骤。
初始化阶段,根据先验信息生成一组随机粒子;预测阶段,根据粒子的运动规律预测其可能的位置;更新阶段,根据观测信息对粒子进行加权和重采样,得到后验概率分布,进而估计出移动终端的位置。
四、优势与挑战1. 优势:基于粒子滤波的智能移动终端室内定位方法具有较高的精度和较好的鲁棒性。
此外,该方法还能有效地处理非线性、非高斯系统的状态估计问题,适用于复杂的室内环境。
2. 挑战:尽管粒子滤波在理论上具有诸多优势,但在实际应用中仍面临一些挑战。
例如,粒子的数量和选择对定位精度的影响、信标布置的合理性、信号干扰等问题都需要进一步研究和解决。
五、实验与分析为了验证基于粒子滤波的智能移动终端室内定位方法的性能,我们进行了大量的实验。
基于粒子滤波的室内自主移动机器人快速定位方法

基于粒子滤波的室内自主移动机器人快速定位方法定位是指机器人获得在地图中的位姿,它是移动机器人实现自主运动的重要技术之一,是机器人执行相应任务的前提。
粒子滤波是一种有效的全局定位方法,通过在全局地图中撒播粒子作为机器人位姿的多种猜测,将传感器数据与粒子在地图中的环境相比较得到粒子的置信度。
但要想使粒子滤波表现出较高的定位精度需要保持较多的粒子数量,这样会造成计算速度降低,增加机器人的计算负担,因此提高粒子滤波的计算速度对于降低粒子滤波定位的成本有着重要意义。
本文针对粒子滤波定位算法在维持大量粒子时速度较慢的问题,提出使用高精度里程计提高粒子分布的准确性,并对粒子的加权阶段做出改进,提高加权的速度。
本文的主要工作如下:(1)为了使得粒子的分布更加准确,本文使用编码器与IMU融合的里程计代替单一的编码器里程计,再附加机器人运动模型产生的行程噪声移动粒子,提高了粒子分布的准确性。
(2)在计算粒子权重的阶段中,需要用到光线投射算法计算粒子周围最近障碍物距离。
将这种算法使用在每个粒子上造成了运算耗时过长的缺点。
因此本文提出了查找表法,预先执行光线投射算法并将结果存入查找表中。
在此基础上,又提出了改进的查找表法,这种查找表法相比常规的查找表既可以维持基本相同的加速性能,又能减少预计算时间、降低查找表占用的内存。
最后,针对粒子滤波具有并行化结构的特点,还提出了使用GPU(图形处理器)对粒子加权部分进行并行化运算,并与改进的查找表法结合,进一步提高运算速度。
(3)基于ROS(机器人操作系统)的实验表明,在使用高精度里程计分布粒子的基础上,当使用查找表法进行粒子加权时,加权的计算速度可加快达到数十倍,但这种方法的代价是查找表内存太大。
改进的查找表法解决了这一弊端。
当使用GPU运算时,粒子更新速度同样加快,但效果比不上查找表法。
而当GPU结合改进的查找表时速度最快,5000个粒子的权重更新耗时仅需要10ms左右。
本文的方法使得粒子滤波速度得到大幅度提升,并且这种方法对计算资源的要求较低,可以很好地降低机器人成本、提高机器人定位速度或准确性。
基于粒子滤波的机器人搬运轨迹协同定位方法

(1.School of Physics & Optoelectronic Engineering,Guangdong University of Technology,Guangzhou
510006,China;2.Guangzhou College of South China University of Technology,College of Automobile and
第 27 卷
Vol.27
第 22 期
No.22
电子设计工程
Electronic Design Engineering
2019 年 11 月
Nov. 2019
基于粒子滤波的机器人搬运轨迹协同定位方法
萧志聪 1,叶 迅 2
(1.广东工业大学 物理与光电工程学院,广东 广州 510006;2.华南理工大学广州学院
filter is completed. The simulation results show that the absolute positioning accuracy and relative
positioning accuracy can reach more than 90% after the application of the new trajectory cooperative
robots in the process of moving,a coordinated positioning method based on particle filter is proposed. In
the framework of particle filter tracking,the trajectory filtering gradient is calculated by choosing the way
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号:1002 0446(2007)03 0281 09基于粒子滤波器的移动机器人定位和地图创建研究进展*余洪山,王耀南(湖南大学电气与信息工程学院,湖南长沙 410082)摘 要:首先,对粒子滤波器的原理和研究进展进行了综述.然后,介绍了基于粒子滤波器的移动机器人定位研究进展.其次,给出了粒子滤波器在移动机器人地图创建领域的最新成果.最后,对粒子滤波器在移动机器人研究领域的未来发展方向进行了展望.关键词:粒子滤波器;蒙特卡洛定位;移动机器人地图创建;移动机器人定位;移动机器人同步地图创建和定位中图分类号: TP24 文献标识码: AA R eview on M obile R obot L ocalizati on and M ap buildi ng A l gorith m sBased on Particle FiltersYU 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 mob ile robots are presented.F i nall y,the future d i recti ons o f pa rtic 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;SLAM1 引言(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 research progress and principle of particlefilters)粒子滤波器的研究源于H a mm ersley等[2]提出的基本SI S方法.1993年Gor don等[4]提出了一种新的基于SIS的Bootstrap非线性滤波方法,奠定了粒子滤第29卷第3期 2007年5月机器人 ROBOT V o.l29,N o.3M ay,2007*基金项目:国家自然科学基金资助项目(60375008);教育部博士点基金资助项目(20030532004);湖南大学优秀博士论文创新基金资助项目(521218006).收稿日期:2006-07-03波算法的基础,随后粒子滤波器的研究取得了迅速发展,代表性的如Liu 等[14]提出的连续重要性采样方法、K itaga w a 等[15]提出的蒙特卡洛滤波器和平滑器方法、Isard 等[16]提出的Condensati o n 算法、Crisan 等[17]提出的连续时间滤波器方法等.上述研究为粒子滤波器算法提供了坚实的理论基础和研究框架,并使粒子滤波器的研究逐步走向应用.2.1 粒子滤波器原理及关键技术如图1所示,粒子滤波器通过粒子集和粒子对应权值组成的随机采样数据集合s(k )表示相应的概率分布p (x k z k ),以有限样本点的求和运算取代积分运算,从而获得状态最小方差估计.用数学语言描述如下:对平稳随机过程,假定k -1时刻系统的后验概率密度为p (x k -1z k -1),依据一定原则选取n 个随机样本点,k 时刻获得测量信息后,经过状态和时间更新过程,n 个粒子的后验概率密度可近似为p (x k z k )[9].随着粒子数目的增加,粒子的概率密度函数逐渐逼近状态的概率密度函数,粒子滤波估计即达到最优贝叶斯估计的效果[5,6].粒子滤波算法摆脱了解决非线性滤波问题时随机量必须满足高斯分布的制约条件,并在一定程度上解决了粒子数匮乏问题,因此近年来该算法在许多领域得到成功应用.图1 粒子滤波器算法单次迭代处理对应的概率密度和粒子集[9]F ig .1 The probab ilit y dens ities and parti c le sets f o r one ite ra tion o f the particle filters a l go rith m [9]假设通过M 次迭代处理,采样集合s (k )可精确逼近实际概率分布.在每个时刻t ,定义随机测量数据{x (m)1:n ,w (m )n }M m =1,其中x (m)n 表示时刻n 的第m 个粒子,w (m)n 为相应粒子的权值,x (m )1:n 是信号的第m 个采样轨迹.如果这些粒子集均根据观测量z 1:n 和基于概率分布p (x 1:n z 1:n )的采样轨迹而获取,则基于式(1)近似相应的概率分布:p (x 1:n z 1:n )Mm=1w(m)n(x 1:n -x(m )1:n)(1)粒子滤波器包括三部分:1)生成粒子集(采样步骤);2)粒子权值计算(重要性步骤);3)重采样.2.1.1 生成粒子集粒子集x (m)n是根据如式(2)所示的重要性概率密度函数 (x n )提取生成的,通过迭代处理可计算得到粒子的权值,如式(3)所示.(x 1:n )= (x 1z 1)!nk=1 (x k x 1:k-1,z 1:k )(2)x (m )n~ (x n x (m )n-1,z 1:n )(3)重要性概率分布 (x n x (m )n -1,z 1:n )在粒子滤波器设计中扮演着非常重要角色,因为它负责生成表示期望概率密度的粒子集.如果提取的粒子集是在概率密度较小的区域内,则根据粒子集和相关权值获得的估计值也会很小,则对信号的后续跟踪处理可能会发散.反之,如果在概率密度非常高的区域提取粒子集,则粒子滤波器的性能会大大增强.有人提出p (x n x (m )1:n -1,z n )是最优重要性函数,但缺陷在于难以采样和对粒子集权值进行更新,因为需要积分运算[5],因此通常采用次优方案,如局部线性化、基于无先导变换的高斯近似法、基于辅助粒子滤波器的两步骤获取方法[18]等.2.1.2 重要性步骤重要性步骤包括两步:权值的计算和归一化.令重要性函数如式(2)所示,则权值更新方式如下:w*(m )n=w(m)n-1p (z n x (m )n )p (x (m)n x (m )n-1)(x (m )n x (m)1:n-1,z 1:n )(4)归一化处理如下:w(m )n=w *(m )nMj=1w *(j)n (5)2.1.3 重采样粒子滤波器的一个重要问题是粒子集权值的退化,即随着时间的增长,一部分权值变得非常大,而其余的部分则变得微不足道.重采样就是要剔除较小权值的采样,从而集中于显著权值的采样进行处理.采样过程中使用的标准算法有多种[6],如残差重采样、分支校正、系统重采样和带有拒绝控制的采样方法.通常,基本的随机重采样算法步骤如下[5,8].(1)从x (m )n中按照与标准归一化重采样函数(m)n成比例的概率分别独立提取x~(i (m ))n,其中m =1,∀,M 和i (m )=1,∀,M.与这些采样对应的新权值分别为:w~(i (m ))n=w (m )ni(m)(6)(2)返回新的随机测量数据:282 机器人2007年5月{x~(i (m ))n,w~(i (m ))n}Mi (m )=1(7)这里i(m)代表重采样后粒子集在内存中的索引号.上述粒子滤波器算法的表示具有一定程度上的通用性.例如,粒子滤波器常规直接采样方法是选择 (m)n =w (m )n .当没有重采样处理时,对应的 (m)n =1/M .辅助粒子滤波器重采样方法是设置a (m)n =w (m )np (z n +1!(m )n +1)和 (x n )=p (x n x(m )n -1),其中!(m )n为平均值,即与概率密度p (x n x (m )n -1)相关的数据变量.某些重采样算法(例如RR ),利用数组复制因子r (m )替代数组索引i (m ),复制因子表示在重采样处理中每个粒子被复制的次数.然后重采样过程根据 (m)n 采样r(m),其对应的支持量由粒子集x(m )n定义.重采样通过集中粒子集到高后验概率分布的区域以提高对未来状态的估计,但是由于提高了估计的方差,所以降低了当前估计的精度[7].因此,重采样的实施必须小心,可预先估计进行重采样的必要性[8].2.2 粒子滤波器算法存在的问题与研究热点最新的关于粒子滤波器算法的研究主要集中体现在重要性函数的设计、降低计算复杂度条件下的重采样策略、降低计算复杂度条件下的次优算法、粒子滤波器的收敛性结论等方面[1,5~7,19].对于粒子滤波器而言,粒子数匮乏是其主要缺陷,即随着迭代次数增加,粒子丧失多样性的现象.Doucet 等[20]从理论上证明了SI S 算法出现粒子数匮乏现象的必然性,而最有效的解决方法是选择重要性函数和采用重采样方法.为解决粒子数匮乏问题,研究人员也提出了很多针对状态空间模型的改进算法,如辅助变量粒子滤波算法[18]、局部线性化方法[21]、拒绝采样方法[22]等.在重采样改进方法上,H iguch i 等[23]提出通过引入遗传算法和进化算法,增加重采样过程中粒子的多样性,Fox 等[24]则根据滤波性能动态调整粒子数.3 基于粒子滤波器的移动机器人定位(M obile robot localization based on particlefilters)Dellaert 等[9]和Fox 等[10]最初将粒子滤波器算法应用于移动机器人定位,形成了一个新的移动机器人定位研究方向###蒙特卡洛定位算法.在此基础上,研究人员针对算法的计算复杂度、实时性、可靠性等方面做了进一步研究,并开始广泛应用于基于声纳、激光和视觉传感器等类别传感器的移动机器人系统定位中,成为继EKF 模型、HMM 模型之后新的移动机器人定位模型.3.1 标准MCL 算法原理和特性3.1.1 MCL 算法原理和步骤MCL 定位算法集成了机器人感知模型和运动模型[5,9~11,25],利用N 个加权随机采样或粒子集合S ={s i ,w i i =1,∀,N }表示机器人位姿后验估计概率B el(X ),算法基本原理可表示为:B el(x t )=p (x d 0,∀,t )(8)B el(X ) S (9)这里x t 为t 时刻对应的状态,d 0,∀,t 表示从时间0到t 的数据.t 时刻机器人位姿的概率分布如式(10)所示:B el(x t )=p (x o t ,u t-1,o t-1,u t-2,∀,o 0)=∀p (o t x t )∃p (x t x t-1,u t-1)B el(x t-1)d x t-1(10)其中o 0,∀,t ,u t -1,∀,0分别对应移动机器人传感器测量数据和运动控制的测量数据,条件概率p (x t x t -1,u t -1)为机器人运动模型,p (o t x t )代表机器人感知模型,∀为归一化常量.方程(10)为MCL 算法的基础.机器人运动过程中,不断生成机器人位姿的采样集合,根据粒子滤波器实现对机器人状态的预测和更新,通过多次迭代处理来精确逼近位姿的后验分布估计.利用MCL 算法进行移动机器人全局定位,主要可以分为采样、预测、更新和权值归一化四个步骤,详细步骤见图2,其中初始位姿概率在机器人所在空间范围内呈均匀分布,加权值统一为1/m [26].(1)根据B el(x -1)采集状态X t -1,按照由重要性因子p it -1规定的权值#it -1从表示B el(x -1)的采样集合S t -1中随机抽取采样x it -1.(2)预测:根据上次运算获取的状态集合S t -1和机器人运动控制量的测量信息预测当前机器人的位姿状态p (x t x t -1,u t -1),对于状态集合S t -1中的每个采样x it -1,根据p (x x it -1,u t -1),抽取一个采样x %it -1.通过上述操作,获取一个新的集合S %t 来近似预测分布p (x k dk -1),此时集合S %t 并没有考虑t 时刻任何传感器测量值.(3)更新阶段:在此阶段,我们考虑传感器测量值o t ,并对S %t 中的每个采样值进行加权处理,其权值为#it =p (o x %ik ),即给定o t 时预测值x %ik 的可信度.(4)权值归一化:对于N 个采样,分别对其权值进行归一化处理,获得t 时刻的采样集合S t ={〈x it ,283第29卷第3期余洪山等: 基于粒子滤波器的移动机器人定位和地图创建研究进展w it 〉i =1,2,∀,N p },从而获得关于Bel(x )的采样近似.1.输入:S t -1={〈x (i)t -1,w (i)t -1〉i =1,∀,N p }表示信任度Be l(x t -1),控制测量变量u t -1,观测量y t 2.S t :=∃, :=0 //初始化 3.For i :=1,∀,N p do//生成N p 个采样4.//重采样:从先前的信任度中获取状态从离散分布中根据S t -1的权值获取索引为j 的采样 5.//采样:预测下一状态基于x (j)t -1和u t -1,按p (x t x t -1,u t -1)获取采样x i t6.w (i)t :=p (y t x (i)t ) //计算重要性权值 7. := +w (i)t //更新归一化因子 8.S t :=S t &{〈x (i)t ,w (i)t 〉}//新采样插入采样集 9.end do10.for i :=1,∀,N p do//权值归一化处理11.w (i)t :=w (i)t/ 12.end do 13.ret u rn S t图2 M CL 算法基本原理和步骤[26]F i g .2 T he basic pr i nciple and steps o fM CL a l gor ith m[26]从而q t :=p (x t x t -1,u t -1)∋B el(x t -1)对应重要性采样后的预测分布,用于近似期望后验概率分布:p (o t x t )p (x t u t-1,x t-1)B el(x t-1)p (o t d 0,∀,t-1,u t-1)(11)上述更新和迭代处理步骤如图3所示,图中黑点表示机器人位姿的采样分布.从图3(a)~(c )可以看出,机器人位姿从随机分布逐渐收敛,最终收敛于实际机器人位姿,收敛速度与采样数目直接相关:O (1/m ).3.1.2 基本MCL 算法的优点和特性MCL 为在线算法,可作为Any ti m e 算法应用,而定位精度与时间相关,采样集合的尺寸在计算精度和计算复杂度之间达到一种平衡.相对于其他定位方法,基于采样表示MCL 方法的优点如下[9,10]:1)与卡尔曼滤波器方法相比,可以表示多模分布,并可实现机器人的全局定位;2)与基于栅格的马尔可夫定位方法相比,能以相当高的频率集成测量数据;3)与固定尺寸栅格单元的马尔可夫定位方法相比,具有更高的定位精度,原因在于采样中对应的状态表示没有被离散化;4)易于实施.(a)算法初始化 (b )定位处理中 (c)成功定位图3 用于全局定位的M CL 算法处理过程[10]F ig .3 The process ofM CL a l gor it hm for g l obal l o ca liza ti on [10]然而算法也存在不足,其原因在于估计的随机性.例如,如果采样集的尺寸较小,机器人可能仅因为MCL 没能够生成正确位置的一个采样而导致失去对其位置的跟踪.算法也不适用于机器人绑架问题,因为一旦机器人处于绑架状态,则可能在机器人新位姿附近没有合适的采样.因此,当传感器不足够准确时,上述基本的MCL 算法性能会急速下降.极端情况下,常规M CL 算法在传感器信息无噪声干扰时也会失败.3.2 改进MCL 算法为避免和减少常规M CL 算法的缺陷,研究人员提出了多种改进方案.Thrun 等[25]提出了混合MCL,算法综合了常规M CL 和双M CL 方法.算法通过交换MCL 算法中预测分布和重要性权值因子的角色,转换M CL 的采样过程,其中常规MCL 首先利用里程计估计新位姿,然后利用传感器测量数据评价这次采样的重要性;双MCL 方法利用最近传感器测量数据估计位姿,然后利用里程计评价估计值与机器人先前概率值和里程计数据的符合程度.上述每种方法均不是完美的,但是复合起来,效果非常好.特别是,当采样集合尺寸较小时(例如50个采样),混合MCL 算法效果良好,相比先前的M CL 算法,可以更快地284机器人2007年5月从机器人绑架问题中恢复出来.然而粒子滤波器表示能力的提高,是以高计算复杂性为代价的.如何实现粒子滤波器的在线、实时估计引来了新的研究课题.Kwok等[26]提出了一种实时粒子滤波器,解决由于计算资源的限制带来的局限性.方法不再舍弃传感器测量数据,而是将滤波器更新过程中到来的所有采样放入不同的观测集合中.这里,实时粒子滤波器利用混合采样集合代表状态空间分布,因此避免了由于独立采样数目的不足导致的滤波器分歧问题.混合分量的权值通过采用蒙特卡洛近似梯度实现最优化处理,以减少混合表示引入的近似误差,最大程度上接近最优后验分布.粒子滤波器算法执行每次更新的时间复杂度与估计所需的采样数目成线性关系.因此人们对采样的有效使用进行了研究,以保持采样集合为合理尺寸.Thr un等[25]提出在后验估计中加入观测采样,从而动态控制采样集合数目,但是该方法需要可有效生成采样的传感器模型.G ilks等[27]提出引用MC M C (M arkov ChainM onte Carlo)步骤提高基于采样表示的后验估计性能;V lassis等[28]提出采用辅助粒子滤波器,通过加入一个步骤减少预测分布和目标实际分布之间的误匹配,从而减少重要性权值变化,提高重要性采样的效率.Fox等指出,在估计步骤中自适应选择采样集合数目可大大提高粒子滤波器的效率,并给出Kull back Leibler距离(Ku ll b ack Le i b ler distance,KLD)采样解决方案[5].KLD采样方法的主要思想在于限制粒子滤波器的采样表示引入的近似误差,如果采样概率集中于一小部分状态空间,则选择小数目采样,而如果状态不确定性较高,则选择大数目采样. Kw ok[26,29]将KLD采样原理用于其提出的实时粒子滤波器算法中,形成了自适应实时粒子滤波器,进一步提高了算法的执行效率.3.3 其他MCL算法研究M CL定位方法不仅在测距类移动机器人系统中取得成功,在基于视觉传感器的机器人系统中也取得了成功,该类算法通常称之为Condensation算法. Dellaert等[9]将标准的M CL算法应用于装载有视觉传感器的移动机器人系统,解决了卡尔曼滤波器无法实现高不确定性环境下的定位的难题.V lassis 等[28]为解决图像的高维传感器观测和位置观测模型问题,使用基于NN(N earest N eighbour)条件概率估计的逆非参数观测模型,以解决图像遮挡和机器人绑架问题,方法成功应用于基于全景摄像机的室外移动机器人自主定位.Jensfelt等[30]通过TBF算法提取机器人环境中的有效路标特征,然后利用Con densation算法实现机器人的实时动态定位.Lenser 等[31]提出当机器人丢失时,在MCL算法中加入传感器采样,即传感器重置定位算法,并成功应用于Robo Cup99索尼行走机器人系统中,可在有限计算能力下实现机器人的鲁棒定位.W o lf等[32]提取环境图像不变特征作为路标,根据环境地图为数据库中的每个图像抽取可能视点集合,然后结合蒙特卡洛定位算法实现对机器人的可靠定位与跟踪.L i n aker 等[33]利用移动机器人装载全景摄像机执行基于外观的实时全局定位处理.算法直接对全景摄像机图像进行处理,生成低维旋转恒定特征向量.利用这些特征向量,粒子滤波器实现移动机器人位姿的精确连续估计.4 基于粒子滤波器的移动机器人地图创建(M obile robot map building based on particle filters)M onte m erl o等[12,13]首先提出了FastSLAM方法,该方法将粒子滤波器和扩展卡尔曼滤波器相集成,提供了一种新的移动机器人同步定位与地图创建(SLAM)方案,引起了广泛关注.目前,基于粒子滤波器的SLAM研究主要分为Fast S LAM算法及其改进算法研究、粒子滤波器算法与其他智能算法的复合算法研究、其它基于粒子滤波器的地图创建方法. 4.1 FastSLA M算法及其改进M ur phy[34]研究发现,如果知道机器人的确切路径,则路标位置的确定可分解为K个独立的估计问题,每一问题对应于一个路标,并由此提出一种有效的算法用于栅格地图的学习.在此基础上,M onte m er lo等[12]提出了Fast S LAM解决方案.该方法将SLAM 问题分解为机器人定位问题和基于机器人位姿估计的路标集合估计问题.方法利用改进的粒子滤波器估计机器人路径的后验分布,每个粒子拥有K个卡尔曼滤波器,用于路径估计条件下的K个路标位置估计,具体算法如下.4.1.1 标准FastSLA M算法FastSLAM算法具体包括3个步骤[12]:1)首先采集新的位姿,扩展对机器人路径的后验估计;2)更新观测路标估计,在此过程中Fast S LAM算法只需要表示机器人路标的两个参数,而基于E KF的SLAM算法需要2K+3(K为路标数目)个参数;3)计算采样权值,进行重新采样处理.285第29卷第3期余洪山等: 基于粒子滤波器的移动机器人定位和地图创建研究进展Fast S LAM 算法同样采用概率方法表示位姿运动模型p (s t u t ,s t -1)和观测模型p (z t s t ,%,n t ),其中s t 表示t 时刻位姿,u t 代表机器人控制量,%=(%1,%2,∀,%k )代表环境路标,z t 代表t 时刻的观测量,n t 代表t 时刻观测到路标的索引号.此时SLAM 问题就是基于观测量z t =z 1,∀,z t 和控制量u t=u 1,∀,u t 确定所有路标%和位姿s t 位置的过程.如果已知机器人路径s t和相关性变量n t,则所有路标的估计均是相对独立的,这也是Fast S LAM 算法的基础.如果数据关联性已知,则FastSLAM 可表示为:p (s t,%z t,u t,n t)=p (s tz t,u t,n t)(!kp (%s t,z t,u t,n t)(12)从而算法将SLAM 分解为机器人路径s t的后验估计问题和基于路径估计的K 个环境路标位置的估计问题.Fast S LAM 算法利用Rao B lackw ellized 粒子滤波器进行路径估计p (s tz t,u t,n t).路标位姿估计p (%k s t,z t,u t,n t)利用卡尔曼滤波器实现,每个不同路标采用独立的滤波器.由于粒子滤波器中的任意一个粒子具有自己的局部路标估计,因此对于M 个粒子集和K 个路标,将对应KM 个卡尔曼滤波器.Fast S LAM 算法中M 个粒子滤波器的任一粒子的结构如下,即关于路径和路标位置的完全后验估计:S [m ]t=〈s t,[m],![m ]1,t ,&[m]1,t,∀,![m ]N,t ,&[m ]N ,t〉(13)这里![m ]k和&[m ]k分别表示第K 个路标%k 的均差和协方差,s [m ]t代表t 时刻第m 个采样,它根据p (s tu t ,s [m ]t -1)进行增进式估计.新的采样集合S t 的预测概率分布为p (s tzt -1,u t,nt -1).根据新的观测信息,其每个采样的权值的计算为:w [m]t =∀p (z t s t,[m ],z t-1,n t )(14)为提高算法处理效率,Fast S LAM 算法用树结构表示路标位置的不确定性,并在此基础上完成采样集合的更新处理,最终算法复杂度降低为O (M l o g K ),其中M 为粒子滤波器的数目,K 为路标数目,从而大大快于基于EKF 的SLAM 算法.4.1.2 FastSLA M 算法的局限性与改进方案在上述FastSLAM 中,位姿s [m ]t根据机器人运动控制量对应的预测分布进行估计,而没有考虑t 时刻获取的观测值z t ,算法通过重采样处理对新测量信息进行集成.这种处理存在一些问题,例如当机器人运动误差大于测量误差时,位姿的采样将落入低可能性区域范围,然后在以高概率进行重采样时将终止处理.而在实际机器人系统中,运动误差相当高,因此有必要对上述算法进行改进,提高采样的效率.M on te m erl o 等[13]提出了Fast S LAM 2 0算法,即在运动量u t 和观测值z t 基础上进行位姿的采样处理:s [m]t~p (s t s t-1,[m],u t,z t,n t)(15)相应地预测分布也改为p (s t s t -1,[m ],u t,z t,n t).对观测路标的估计处理与原来的算法相同.尽管算法在位姿采样中考虑了新的观测信息,根据权值进行重新采样依然是必须的,因为采样集合并不一定能够与期望值匹配,采样权值如下:w [m]t )p (s t st -1,[m ],u t,zt -1,n t).实验证明,FastSLAM 2 0算法相对于FastSLAM 1 0算法具有更强的鲁棒性,并从理论上首次证明了算法的收敛性.图4为基于Fast S LAM 2 0算法的移动机器人室外地图创建结果,其中图中点代表基准点、实线为FastSLAM 2 0算法的计算地图,点划线为基于GPS 的测量地图.将图4中的3幅子图进行对比,可以看出算法具有很好的收敛性.(a)原始机器人里程计信息 (b)Fast SLAM 2 0算法结果(M =1) (c)基于动态特征管理的Fast SLA M 2 0图4 F ast SLAM 2 0算法应用于V ictor i a P ark 基准数据集[13]F i g .4 F ast SLAM 2 0appli ed to t he V i c t o ria P ark bench m ark data set [13]286 机器人2007年5月上述两种FastSLAM方法均假定特征间的数据关联是已知的.然而实际环境特征存在有很大的不确定性,M onte m erlo提出基于最大相似度方法估计每个粒子的关联变量:n[m]t=arg m ax ntp(z t s[m]t,n t),从而不同的粒子将对应不同的值,并且可能对应不同的n[m]t路标,从而有效解决了传统EKF方法对应的错误关联问题[12,13,35].N ieto等[36]在此基础上对Fast S LAM的实时性数据关联问题进行了深入研究,并应用于多机器人系统的实时地图创建中.上述FastSLAM算法,仅用于特征地图创建.H ahne l等[37]提出的Fast S LAM算法直接利用原始激光测距数据替代路标的地图表示,从而使数据关联处理更为简单.Ranganathan等[38]采用MC MC采样方法进行拓扑空间的构建,以扩展贝叶斯概率模型框架.为实现MC MC对拓扑空间的采样,每个拓扑被认为是关于路标测量数据集合的一个子分区;然后对子分区进行采样,作为给定传感器测量值后的拓扑空间中目标的后概率分布.上述方法一定程度上证实了粒子滤波器算法对各种地图表示法的适应性.4.2 混合粒子滤波器在地图创建中的应用除Fast S LAM方法外,粒子滤波器算法与其他智能算法的复合地图创建算法研究也取得重要进展. L i[39]提出一种基于粒子滤波器和进化机制的移动机器人同时定位与地图创建的方法.方法基于生物物种的竞争进化机制,将粒子滤波器扩展为进化粒子滤波器(Co E vo l u ti o n Partic le Filter,CEPF).在CEPF 中,粒子集分为多个种群,分别表示机器人位姿或路标.通过多个子类的进化演变处理,从而可以同时估计多个独立假设.粒子滤波器的数目根据种群增长模型可动态调整.此外,利用进化计算中的交叉、变异操作,种群间的进化可驱动粒子集向期望后验概率较大的区域移动,从而少量的粒子集即可很好地代表期望概率分布,以实现精确后验概率估计.基于进化计算的特性,方法相对于EKF和传统粒子滤波器算法具有更强的鲁棒性,并且可实现采样集合大小的自适应调整.M asson等[40]提出基于扩展卡尔曼滤波器和蒙特卡洛算法集成的大规模室外环境下移动机器人同步定位与地图创建的解决方案.但是与Fast S LAM算法不同,M asson等利用CEKF(Co m pressed Ex tended K al m an F ilter)解决常规条件下的SLAM问题;当机器人位姿误差的累积增大,E KF滤波器的单模概率分布特性无法满足工作需要时,算法采用粒子滤波器进行数据关联处理,将机器人不确定问题转化为定位问题.当成功实现定位处理后,重新采用CEKF 算法执行SLAM处理.算法有效地集成了CE KF的计算优势和M on te C arlo算法的定位能力,在大规模室外环境中得到的试验结果证明了方法的有效性和可行性.Thrun等[41]提出将最大相似度地图创建算法和MCL定位技术相融合,在线解决大规模环路环境下的高精度地图的创建.由于增进式最大相似度方法存在很大的缺陷,特别是在环行闭合区域时,累计误差已经增至非常大,从而难以构建局部连续的地图.为解决这个问题,方法采用复合估计处理,即对最大相似度算法进行扩展,引入第二个估计器采用粒子滤波器进行机器人位姿(非地图)的完全后估计.算法成功地用于多机器人系统的三维环境地图创建. 4.3 基于粒子滤波器的其它地图创建算法与FastSLAM和前面的混合粒子滤波器地图创建算法不同,Yuen等[42]提出了一种SMC SLAM(Se quentialM onte Carlo SLAM)算法,该算法全部采用粒子滤波器实现SLAM处理,其中一个粒子滤波器作为状态滤波器∋0估计机器人位姿,L个粒子滤波器作为参数滤波器∋1,∀,L估计环境障碍物.在实施过程中,算法采用Generic粒子滤波器对状态和参数滤波器进行估计,根据权值因子的累积函数分布进行采样,并且当有效粒子的数目低于某一阈值时,才执行重新采样处理.实验结果验证了方法的可行性,但是由于环境特征存在感知误差,地图创建部分的准确性还有待进一步提高.Kanto r等[43]提出将蒙特卡洛方法应用于基于主动路标的机器人系统定位和地图创建,此时机器人只能获取自身与路标之间的距离信息,而不包含任何状态与识别信息.由于机器人与主动路标之间无需可视路径,并且完全避免了数据关联问题,因此通过蒙特卡洛方法,无需精确放置信号塔,基于机器人系统的里程计信息和路标距离信息,即可高效实现移动机器人同步定位和地图创建.多机器人系统协作进行未知环境下的同步定位与地图创建是当前SLAM的重要研究方向之一, Rek leitis等[44]引入第二台机器人作为辅助从而减少机器人探索过程中移动机器人位姿的不确定性,采用粒子滤波器进行建模和减少累计里程计误差,实现精确大规模地图创建.Thrun等[41]将增进式地图创建和MCL的融合算法扩展至多个机器人平台,通过协作处理,成功生成关于环境的单一地图.多机器287第29卷第3期余洪山等: 基于粒子滤波器的移动机器人定位和地图创建研究进展。