Fastslam是一种解决同时定位和映射问题的常用方法外文翻译资料

 2022-01-16 07:01

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


摘要——Fastslam是一种解决同时定位和映射问题的常用方法。然而,在实际环境中,当标志物的数量大大增加时,测量值与粒子所对应的标志物之间存在对比过多,导致了执行速度太慢,因而无法达到实时设计的目的。为了解决这一问题,本文提出了一种FastSLAM的增强算法,称为计算有效SLAM(CESLAM),其中里程计信息被用来更新机器人在粒子图像的状态。当测量与粒子中已知地标具有最大可能数值时,将在更新编辑估算之前更新粒子的状态。最后仿真结果表明,本文提出的算法可以克服不必要的对比带来的额外耗时的问题,从而提高定位和映射的精度。

关键词:Fastslam;粒子滤波器;扩展卡尔曼滤波器

  1. 介绍

当今社会人类活动范围日渐扩大,而很多活动已经不适合人力来完成,使用机器人来完成这些任务,从而减少人力负担、规避可能存在的风险,便是如今时代工程人员需要研究的方向。作为一种新时代的生产工具,机器人表现出了极大的优越性。他们可以提高生产效率,减轻劳动强度,改变生产模式等。近年来机器人开始广泛应用于娱乐、体育、工业、服务领域中, 尤其在一些作业环境比较恶劣的情况下, 如焊接、火灾侦察、生化探测、隧道凿岩及抢险救灾等,将人们从危险,繁重,恶劣的工作环境中解放出来。

上个世纪 60 年代以来,工业生产领域中逐渐出现了机械加工,检测,装配,喷涂等各种类型的机器人,大大提高了产品质量和生产效率。然而随着机器人的不断发展,人们逐渐发现这些固定于某一位置操作的机器人不能满足很多现实的应用需求。这些商用的机器人存在一个根本性的缺点:缺乏机动性。其工作和运动的范围是有限的。因此在 20 世纪 80 年代后期,许多国家和地区开始有计划地开展了对移动机器人技术的研究。

目前不完整环境信息下的路径搜索与导航方法主要分为以下几类:第一类方法是在机器人行进过程中,通过传感器不断地收集环境信息,并根据新的环境信息频繁地重新规划和调整路径.机器人需要维护环境的全局地图,机器人根据当前的地图规划出路径,然后沿该路径前进一段时间,利用这段时间内收集到的新信息更新全局地图,然后用更新过的全局地图重新规划或调整现有的路径,如此循环直至到达目标位置。第二类是基于局部规划的方法.其基本思想是构造一个“导航函数”,用以在传感器读数和机器人行为动作之间建立映射关系.映射关系可以选用局部势能场法等固定的算法,也可以通过机器学习的办法来动态获得,如模糊规则法。由于“导航函数”在传感器数据相同的情况下会有相同的输出因此这类方法的主要困难是如何解决死循环以及局部极小值问题.第三类是完全应激式的方法,其代表是Bug算法系列(包括bug1、bug2等).在这类算法中,机器人沿连接目标点和机器人当前位置的最短直线前进,在遇到障碍时采用边缘跟踪的方法绕过障碍物,然后再次沿直线前进.该方法的主要不足是机器人无法在左右两个绕行方向间选择较优的一个,而错误的绕行方向常常严重增加路径长度,降低效率.

同时定位和映射(SLAM)是一种使用了移动小车同时测绘环境地图和它自身在该地图中的位置,用来在未知环境下进行机器人导航的重要技术。SLAM是移动机器人研究领域的热点和难点,是移动机器人在未知环境中实现自主导航的前提。SLAM 是指移动机器人在未知环境移动过程中通过自身携带的传感器获得环境信息增量式建立环境地图,同时利用已建立的地图来更新自身的位置与位姿。同步定位与地图构建过程中位置和地图的估算形成了一个相辅相成、不断迭代的过程,其本质是一个状态估计问题,主要通过基于滤波器或基于平滑的方法进行求解。

Doucet 等学者提 出 基 于 Rao-Blackwellized 粒 子 滤 波 器 RBPF(Rao-Black wellized Particle Filters)的 SLAM 方法,此算法能够较好的近似移动机器人位姿和环境地图的联合概率密度,但其存在计算复杂度较高、占用较大内存实时性较差等问题,因此之后很多学者针对该算法存在的问题进行了多种不同形式的改进;也有学者对激光雷达与单目视觉相融合的 SLAM 进行了研究,将移动机器人所处环境中的某些相关特征进行联合形成有意义的环境地标,虽然有效减少数据的不确定性,但其计算量大实时性差;还有一种基于退火参数优化混合提议分布的RBPF 算法,该算法不仅能够减少所需粒子数而且保持了粒子多样性,但实验验证其系统鲁棒性较低;也存在采用了在计算提议分布时将里程计信息与激光采集的距离信息进行融合的方法,验证了其可以有效减少了所需粒子数并降低了预测阶段机器人位姿的不确定性,但由于激光数据比较单一其实验效果仍然不佳。

传感器中常见使用的是激光雷达,激光雷达具有全天候、远距离、不受光线影响等优点,在智能机器人感知领域应用广泛。针对激光雷达点云(激光雷达扫描障碍物表面形成的反射点集合)数据特点,国内外研究者提出了很多有效的运动目标检测跟踪方法。常用的基于激光雷达的运动目标检测跟踪方法有基于栅格地图的方法和基于相似度匹配的方法,2013年Schutz等人提出一种基于多层激光雷达的障碍物建模与跟踪方法,该方法使用栅格地图对障碍物轮廓建模,克服传统的点模型和框模型对障碍物轮廓建模时信息的丢失,提高了运动目标检测跟踪正确率,但该方法栅格地图构建复杂,实时性较低。2016年中国科学技术大学的黄如林等人提出一种基于多特征融合的运动目标检测跟踪方法,该方法融合运动目标几何特征和回波脉冲宽度特征进行相邻帧间障碍物匹配,有效提高了运动目标检测跟踪正确率,但该方法在目标跟踪过程中,采用全局搜索的方式进行障碍物匹配,实时性仍然较低。

而通过机器人和里程表信息,我们可以估计机器人的位置和整个环境地图。一般来说上,SLAM算法可分为ekf-slam和fastslam。ekf-slam基于扩展卡尔曼滤波器,其中测量和里程表信息在用于计算估计相关的EKF均值和协方差后,对通过特征映射和增量的机器人姿态预测和校正。有很多学者都尝试去提高ekf-slam的性能,例如,有人提出地图管理的方法,建议删除一些不合适的多余信息,提高机器人对自身状态和地标估计。还有人提出几种软计算方法以增强EKFSLAM的稳健性。但是,EKF-SLAM依然存在有一个严重的缺点,那就是EKF-SLAM算法的计算能力,主要出现在在数据关联的复杂性和对失败的敏感性传感器更新需要标志数量的时间二次方计算,特别是对于具有更大数量地标的情况下。

在ekf-slam中解决计算复杂性问题时,有学者提出了几种基于Rao Blackwellized颗粒过滤器(RBPF)的快速slam算法,通过分离车辆和地图的状态EKF来进行求解。与ekf-slam不同,fastslam是以下述的方式构造,每个粒子都拥有n个卡尔曼系数n个地标位置的过滤器路径系数。因此,存在的问题是过大EKF-Slam中的矩阵,导致了计算效率的降低。最早的fastslam版本被称为FastSlam 1.0,它只使用粒子过滤器(pf)来估计机器人的位置。不过很遗憾的是,对于fastslam 1.0,收敛所需的粒子是未知的,因此,估计精度令人不满意。为了解决这个问题,一个名为FastSlam 2.0的修改版本被提出了,它的分布不仅依赖于运动估计,也包括最新的传感器测量,以提高估计精度。不过尽管FastSlam2.0性能优于FastSlam 1.0,仍然存在运行时的潜在的效率问题,特别是当地标数据变得过大。

为了解决这个问题,本文给出了一个高效SLAM计算方法(CESLAM),里程表信息第一考虑更新机器人的位置信息。当测量具有已知的最大可能性里程碑在粒子中,粒子状态在更新地标评估。利用Fastslam 1.0和Fastslam 2.0,提议的Ceslam在估计精度和计算效率。本文的结构如下:第二节描述Fastslam算法的初步工作。本文的主要内容见第三节,其中所提出的计算有效的SLAM算法加快执行速度。在第四节中,模拟结果证明了该方法的有效性。最后,在第五节给出结论。

二、FastSlam的准备工作

FastSlam算法是解决Slam问题的一种有效方法,该方法在2002年由蒙特默罗提出]。这个FastSlam将Slam问题分解为机器人定位问题与基于机器人状态估计的地标估计的收集问题。

是机器人从初始到时间t的路径,Z#39;=Z“Z”hellip;z,是一组所有观测值,u#39;=u“u”hellip;u,}是一组所有控制输入。数据关联集是表示为d=,n2,hellip;n,,表示在时间t.()=(),#39;()2#39;时观察到了地标。()y}是一组所有n个地标位置。FastSlam使用粒子过滤器估计机器人的位置,而地标位置使用ekf进行估计。因此,每个粒子都有时间t时的信息如下:

其中m是粒子的指数,x,,]m)是它对机器人在t.ut;1和l时的姿势是平均值和协方差,代表第k个地标位置的高斯分布(单位:mth)微粒。在Fastslam 1.0中,新的提案分发使用运动模型Ursquo;,但不考虑电流测量Z#39;:

不幸的是,里程表通常有很多错误,所以坐标的结果不够好。为了克服这个问题是,一种改进的fastslam算法叫做fastslam 2.0。与Fastslam L.0不同,新提案分布不仅考虑了运动模型t/,还考虑了电流测量Z#39;

因此,Fastslam 2.0具有更精确的定位结果与Fastslam L.0相比具有更好的地标估计。下面简要介绍了FastSlam 2.0算法

  1. 方案分布

首先,对机器人姿势的概率猜测在当前时间产生控制输入T:

然后我们用这些粒子来测试预期的测量结果

创新协方差矩阵可以计算为

其中,g是测量模型相对于标志性位置。现在我们可以得到抽样分布

式中,grsquo;是测量模型相对于机器人位置。最后,用高斯方法提取新样本近似值:

  1. 更新标记评估

在Fastslam 2.0中,每个里程碑都有自己的平均值和协方差,如Fastslam L.0。然后可以使用标准EKF更新标记评估

  1. 计算重要性权重并重新采样

可以计算每个粒子的重要性权重,使用以下公式

为了全面改进Fastslam 2.0,详情请参阅参考资料[3]和[9]。虽然Fastslam2.0比Fastslam1.0快,但它也比1.0快Fastslam 2.0需要更多时间来计算提案基于测量值与所有测量值比较的分布粒子中的现有标志。为了在保持估计精度的同时加快执行速度,我们在下一节将介绍计算高效的SLAM算法。

三、有计算效率的SLAM

为了降低计算复杂度,提出的CESLAM首先对机器人的姿势进行概率猜测,与当前时间t的控制输入一致。为了进行数据关联,每一个预期的度量都会被验证是否超出激光测距仪(LRF)的范围。如果是,则零会被赋值给预期测量的可能性进一步计算以节省不必要的计算。如果有超过一个可能高于阈值的预期测量值,可以选择最高的测量值来更新地标估计。然而,在更新地标之前,我们使用具有最大可能性的预期测量来更新粒子姿态。然后我们可以使用新生成的粒子姿态更新地标估计。因此,对于每一个测量,该方法只更新一次粒子姿态。因此,避免了不必要的计算,尤其是当地标数量足够大时。此外,由于真实测量和预期测量之间的不正确匹配,该方法不会将粒子更新到错误的位置。图1显示了所建议的计算效率SLAM的流程图,详细说明如下。

  1. 生成一个新的计划

对于粒子m=l.。.m,考虑控制输入ut以生成机器人位置的概率猜测

  1. 数据联想

使用粒子M中的粒子姿势和标志n=1hellip;n生成预期度量值

如果预期测量值超出了LRF的范围,我们把这个期望测量的可能性定为零。无需进一步计算。否则我们使用预期的方案,通过以下方法计算其可能性的测量方程式:

其中Zk,k=1,2,hellip;hellip;,k是时间t时的传感器数据,qt时的传感器是创新协方差矩阵:

如果存在任何大于阈值的可能,则更新具有最大可能性的地标,如果不是,则最有可能这项测量正在检测一个新的标志,以便添加到粒子中。

  1. 更新粒子状态和标记估计

当可能的数值大于阈值时,意味着这个标志物以前在粒子中被记录过,在更新地标之前,我们使用这些数据更新粒子状态优先,确保粒子更新为正确状态:

为此,我们可以使用这个新的粒子状态生成一个新的更新标记估计的预期测量EKF:

如果没有任何可能数值大于阈值,则不用更新粒子中的任何地标,而是我们对于粒子添加它对应的新的标记:

  1. 计算重要性权重并重新采样

在Fastslam 2,0中,同样的程序可用于计算重要性权重:

在给每个粒子分配一个重要权重后,采用一种锦标赛选择机制进行重采样。

四、仿真结果

为了评估性能,我们按计划中的方法比较了FastSlam 1,0和Fastslam 2,0。软件环境是带有OpenCV库的Visual Studio 20 i 0,地图的尺寸为500*500像素,包含16个地标。40个粒子用于所有SLAM算法。各机器人的移动代表10个像素,每个旋转15个像素度。高斯噪声被引入到距离和从里程表获得的旋转。虚拟LRF有一个扫描180度范围,有181个测量单位扫描时,LRF的最大距离为100像素小高斯噪声,用于计算地面之间的误差真实性和估计路径,机器人根据预先指定的路径。机器人前进有100步每次运行的路径。20个独立运行在模拟。

图2显示了各种冲击的模拟结果算法,其中粉红色的路径是机器人的地面真相轨迹,而灰色路径是最佳估计路径微粒。建议方法的粒子表示为圆形填充绿色。一个黄色的圆

全文共6242字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[1274]

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。