热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

【IEEE2014】EET:基于采样的机器人运动规划中的平衡勘探与开发

EET:基于采样的机器人运动规划中的平衡勘探与开发摘要:本文提出了一种用于运动规划的探索利用树(EET)算法。EET规划者故




EET:基于采样的机器人运动规划中的平衡勘探与开发



摘要:




本文提出了一种用于运动规划的探索/利用树(EET)算法。EET规划者故意用概率的完整性来换取计算效率。这种权衡使EET规划器能够比最先进的基于采样的规划器多三个数量级。我们发现,这些相当大的加速适用于各种具有挑战性的现实世界的运动规划问题。性能的改进是通过利用工作空间信息来不断地调整规划器的采样行为来实现的。当可用的信息捕获了规划问题的固有结构时,规划者的采样器就变得越来越容易被利用。当可用的信息不太准确时,规划器会通过增加本地配置空间的探索来自动进行补偿。实验表明,基于工作空间信息的探索和开发的主动平衡可以是在实际场景中实现高效运动规划的关键因素。




paper:https://ieeexplore.ieee.org/document/6871370/



1.简介

  在本文中,我们提出了一个用于真实世界的规划问题的运动规划器,即包含相当多的可利用结构的规划问题(见图1)。计划者是故意不完整的:即使存在一个解决方案,它也可能失败。然而,在各种现实和具有挑战性的规划问题上,它比现有的基于抽样的规划器高出三个数量级。如果失败被定义为不能在合理的时间内解决问题,那么它的失败甚至比我们比较它的现有的基于抽样的规划器更少。
在这里插入图片描述



如上图所示,在运动规划中平衡勘探开发的有益作用。末端执行器轨迹(灰色)表示所探索的配置空间量;解决方案路径显示为绿线;用于开发的工作空间信息显示为绿色透明球体。具有引导探索的(a)单查询计划器(ADD-RRT)探索了大量的配置空间。本文中描述的(b) EET算法利用工作空间信息来指导采样,因此,只需要进行很少的探索。


  我们的规划器是基于一个非常简单的见解:如果运动规划器应该避免搜索整个配置空间(这将产生指数计算成本),他们必须评估配置空间的哪些区域与问题相关,哪些不是。通过排除部分配置空间,规划者可以在计算上变得更有效率和不完整。

  若要选择相关的配置空间区域,规划器必须使用信息。如果这些信息非常准确,计划者应该利用它来在配置空间中直接搜索。当信息不准确时,规划者的成功将取决于其实现这一点的能力,并通过探索性搜索来补充对信息的利用。

  本文提出的规划器从规划问题的工作区描述中获取信息,并利用这些信息来指导在配置空间中的搜索。搜索平衡了探索和开发,这取决于所获得的信息的质量。我们基于与其他最先进的运动规划器的比较性能分析来评估这个规划器。


2.相关工作


  • 不同级别的路径规划:



      1. 规划器根据可用的信息来确定计划的一部分,唯一的目标是推进计划的解决方案。这种行为的例子包括简单的人工势场方法

      1. 探索:规划器不使用任何信息来对配置空间进行采样。抽样的目标是为了了解空间,而不是直接找到一个解决方案。这种行为的一个例子可以在概率路线图(PRM)规划者的统一随机抽样和快速探索随机树(RRT)规划者的Voronoi-偏差(扩展到未探索的区域而不是朝着一个解决方案)中找到。

      1. 引导探索:规划器使用信息来选择要在其中搜索计划的配置空间区域。这些区域是根据有关可能的解决方案路径的信息来选择的。中轴PRM规划者就属于这一类。

2.1 梯度下降

  梯度下降方法利用势函数中表示的信息来生成机器人运动。梯度下降的有效性取决于势函数所捕获的信息。人工势场[4]依赖于对障碍物的局部接近信息和到目标位置的距离。这些信息很容易从传感器数据或几何世界模型中获得。因此,人工势场方法计算效率高,适用于反应性运动。然而,它们也容易受到局部最小点和鞍点的影响。
  导航函数[5]是局部无最小势函数。它们通过考虑全局信息来避免局部最小值。在实际设置中,这个全局信息的计算需要对配置空间[6]进行完整的探索。一旦完成了这种完整的探索,就可以通过纯开发来确定在静态环境中朝向固定目标配置的运动。完整的导航功能在高维配置空间或动态环境中变得不切实际。然而,它们可能是将勘探和开发相结合的最早的方法。


2.2 基于采样的运动规划

  PRM规划器[7],[8]使用纯探索创建了一个初始路线图:每个样本都被均匀地随机放置,即完全不知情。在随后的细化阶段,规划器执行指导探索,以连接结果路线图的不同组件。因此,即使是最早的基于采样的运动规划器的例子,也结合了一些形式的探索和开发,尽管是以一种固定的和顺序的方式。
  RRT规划者[9]通过从特定位置开始逐步种植树来解决特定的规划任务。配置空间探索被引导到与现有样本相关联的最大的沃罗诺伊区域。这推动了向大型未开发区域的探索。当样本的Voronoi区域的大小大致相等时,探索行为逐渐从树的扩展转向细化。
  Voronoi偏差,虽然为RRT产生了理想的理论性质,但试图探索没有任何目标导向偏差的整个配置空间。因此,将Voronoi偏差的探索行为与利用性连接步骤相结合是非常关键的,它是作为[10]早期算法的扩展。连接步骤只是尝试将最新的样本直接连接到目标位置。这种探索和开发的交替使RRT规划者能够高效地解决许多高维运动规划问题。
  研究人员很快认识到知情的抽样策略对PRM规划者的好处。举例来说,高斯采样[11]和基于障碍物的PRM [12]将样本放置在障碍物边界附近。桥测试[13]增加了狭窄通道的采样密度,基于可见性的PRM [14]已经控制了区域的位置由现有样本覆盖。其他的规划者则结合了几种抽样策略。这些规划者为配置空间[15],[16]的一个区域选择了最合适的启发式算法。他们有效地利用所获得的关于这些配置空间区域的信息来适应采样策略。


2.3 使用工作空间信息的规划器

在这里插入图片描述

  工作空间信息最常见的用法是指导探索。规划者提取工作空间信息的方法也有所不同。方法包括中轴或广义沃罗诺伊图[25]-[28],分水岭分割[29],德拉三角结合自适应混合抽样方法[30],近似使用部分重叠最大球[31],或自由工作空间的隧道,也由球扩张方法[32]计算。在类似的方法中,工作区被划分为离散区域,并使用这些区域的连通性信息来指导规划[33]。RRT的规划者被适应来探索任务空间均匀[34],在非常高维的构型空间中具有优势。基于拆卸的运动规划[35]根据可用的空闲工作空间来识别狭窄的通道。利用小配置空间区域的均匀采样,发现了窄通道内的结构。对于这样的配置,基于扩散的分解很容易找到子问题的解决方案,其中的连接产生了整个问题的解决方案。


3.搜索树算法(EET)

  EET的主要设计目标是仔细地平衡探索性行为和剥削性行为,从而利用规划问题中固有的结构,使运动规划尽可能有效。为了实现这一点,我们设计的EET尽可能地像一个潜在的现场规划器,并在需要时逐渐变成一个几乎完整的运动规划器。我们将提出一种基于工作空间信息的在探索和开发之间逐步转换的机制,以及一种收集这些信息的方法。


3.1 算法概述

如下,一个和机器人在环境中的路径规划问题:
(a)聚焦的EET搜索树。(b) Bridge-PRM,对不影响解决方案路径的区域进行不必要的探索。



(a)聚焦的EET搜索树。(b) Bridge-PRM,对不影响解决方案路径的区域进行不必要的探索。


  EET算法的行为是由一个平衡探索和开发的变量σ的值所驱动的。σ=值为0表示纯开发。现在,规划器的行为就像一个基于近似的全局导航函数,由S [32]表示。当纯开发失败时,σ开始增加,导致更多的探索性行为。探索是在任务空间中对s球中心的高斯分布进行采样的结果,该高斯方差与σ成正比(见图3)。因此,σ的值表示在生成新样本时,计划器与S中包含的工作区信息的密切程度。
在这里插入图片描述
  要从现有的样本中生成新样本,必须进行平移和旋转。平移是通过从下一个球体中心周围的正态分布中抽样而产生的。对机器人的末端执行器方向进行均匀采样。当σ的值超过1时,许多样本将被放置在S的球体之外,这表明工作空间的信息可能不再有用,机器人被“卡住”了。在这种情况下,算法回溯到之前的球体,并从不同的配置重新展开树,有效地重新定位和重新定位机器人,试图摆脱局部结构最小值。


3.2 工作区连接性信息

  EET规划器利用多个信息源来执行开发,并在开发和探索之间取得平衡。开发是基于全局来进行的工作区相关部分的连通性信息。该信息是在工作空间[32]中使用基于球面的波前展开来计算的。波前展开决定了一个自由工作空间球体的树(见图。4和5)。树中的路径捕获空闲工作区的连通性,以及沿着路径的球体的大小捕获本地空闲工作区的数量。这些球体及其连通性定义了部分工作区上的近似工作区导航功能。该功能将用于开发和引导勘探。
在这里插入图片描述
  更严格地讲,波前膨胀递增为一个树S,其中每个节点对应一个球体。扩展在优先级队列Q中维护了一组候选球体,其中更接近目标的球体具有更高的优先级。在展开的每一步中,将Q的最高优先级球添加到S。每当算法将一个球从Q移动到S时,它就进入新的候选球到Q。新球以s表面采样的点为中心。我们设置新球体的大小等于从其中心到最近的障碍物的距离。该算法创建了自由工作空间的隧道。一旦其中一条隧道连接了起点和目标位置,扩张就会停止。
在这里插入图片描述
  我们扩展了原始的方法[32],它只适用于自由飞行的机器人。为了解决静止和移动操纵器,我们强制树扩展首先从其起始位置向机器人的底部移动,然后调用球体向目标位置展开。这允许末端支架被缩回,如果它最初被放置在一个狭窄的通道内。对于移动机器人,我们需要一个从基地的起始位置到其目标位置的额外的自由空间隧道。


3.3 配置空间树

  EET规划器(见图6)构建了一个配置空间树,很像一个基于RRT的规划器[10]。然而,该树G中的每个顶点q都与一个相应的工作空间框架相关联,它由机器人上的一个控制点的位置和方向组成。这一点是铰接机器人的末端执行器,或者在刚体机器人的情况下是机器人上的任意点。
在这里插入图片描述
  EET规划器执行配置空间树G的扩展,同时平衡开发和探索。与RRT方法类似,创建一个树应该展开的配置。与RRT-连接算法[10]一样,EET通过执行多个扩展步骤(见图9)来应用一个连接步骤(见图8),直到机器人碰撞或达到一个联合极限。
在这里插入图片描述
在这里插入图片描述
  与rrt相比,树的扩展方向是根据S中包含的工作区信息来确定的。为了实现这一点,工作区球S的树以深度优先的方式进行处理,只考虑通过树到达指定目标位置的路径。计划器将机器人的控制点“拉”到工作空间连接信息所指示的方向。这是通过从一系列分布中绘制一个任务框架来实现的在下一个球体和σ上的样本函数(见图7),如图3所示。当树到达最后一个球体时,选择目标帧作为扩展方向,概率为ρ = 1/2。采样后,算法确定从现有任务帧指向新采样帧的向量Δx(第9.4行)。利用伪逆算法将该位移转化为构型空间中的位移雅可比矩阵(第9.5行)。然后对新的配置qnew进行碰撞测试(第9.6行)。为了避免数值上的不稳定性,规划器在运动学奇点附近执行均匀的随机抽样(第9.1行)。这个示例将操纵器移出奇点,计划器切换回非均匀采样。如果样本没有碰撞,则将其与相应的边(第6.10行)一起添加到树中。σ的值降低,导致向开发的转移(第6.12行)。如果连接尝试失败,σ值增加,平衡转向勘探(第6.20行)。如果新任务框架进入不同的球,计划者将前进到各自的子球,并将σ值重置为1/3(第6.16行)。如果σ超过了1的上限,计划器将撤退到当前工作区隧道中的前一个球体,并重置σ(第6.23行)。计划器已经能够为前一个球体创建有效的节点,并且很可能会在第二次运行中找到新的连接,并继续连接到下一个球体。
在这里插入图片描述


3.4 探索树方法的改进

这里提出的算法包含了对原始版本[2]的几个修改。修订后的版本包括一种新的抽样方法,在最后一个领域的目标位置,以帮助达到精确的目标配置。由于一种新的球体匹配方法和相关的通过球体树的回溯,修订后的版本也不太容易在剥削阶段被卡住。当机械手接近奇异配置时,使用均匀采样进一步提高了规划器的鲁棒性。为了进一步简化算法,去掉了利用排斥力和正态分布进行方向采样。


4.实验结果


1.不同机器人场景测试


  • 1.钢琴移动器问题:需要平移和旋转
    在这里插入图片描述
  • 固定墙+6自由度机械臂
    在这里插入图片描述
  • 工业机器人:6自由度机械臂
    在这里插入图片描述
  • 移动操纵器:一个完整的10-DOF移动操纵器移动l形物体。这个场景中的两个狭窄的通道是非常困难的,因为工作空间信息无助于将对象与孔对齐
    在这里插入图片描述
  • 蛋白质-配体相互作用:这是一个由蛋白质-配体相互作用[38]启发的运动规划问题。我们根据原子的范德华半径将配体和蛋白质建模为球体。配体和蛋白质没有内部度,但配体可以平移和旋转,从而形成一个6d搜索空间。配体必须从蛋白质内部的结合位点找到一个出口途径
    在这里插入图片描述

2.算法性能评估


  • 规划时间:我们开发EET规划器的主要目标是通过平衡探索和开发来实现计算高效的运动规划。实验结果表明,在所有场景下,EET规划器的计算效率比我们比较的任何规划器都更高。EET的规划者取得了所有场景的比率为100%的成功,只有ADD-RRT匹配。五种场景中的三种场景的绝对计划时间约为秒,另外两种场景的绝对计划时间约为20秒。EET规划器将性能提高了至少5.1倍。它在6种情况下实现了个位数的加速,在15种情况下加速了一个数量级,在9种情况下加速了两个数量级。在所有场景和比较中,EET算法实现了152倍的加速。
    在这里插入图片描述
    在这里插入图片描述
    ----真棒!






推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 广度优先遍历(BFS)算法的概述、代码实现和应用
    本文介绍了广度优先遍历(BFS)算法的概述、邻接矩阵和邻接表的代码实现,并讨论了BFS在求解最短路径或最短步数问题上的应用。以LeetCode中的934.最短的桥为例,详细阐述了BFS的具体思路和代码实现。最后,推荐了一些相关的BFS算法题目供大家练习。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • 计算成像的原理与应用研究
    本文探讨了计算成像的原理与应用研究。首先介绍了小孔成像实验和软件方面的相关内容。随后从傅里叶光学的角度简单谈了成像的过程。成像是观测样品分布的一种方法,通过成像系统接收光的强度来呈现图像。视网膜作为接收端接收到的图像实际上是由像元组成的矩阵,每个元素代表相应位置像元接收光的强度。大脑通过对图像的分析,得出一系列信息,如识别物体、判断距离等。计算成像是一种采集记录系统,通过处理数据得到样品分布与像的对应关系,用于后续问题的分析。 ... [详细]
  • 词袋模型的通俗介绍
    词,袋, ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • 数据结构与算法的重要性及基本概念、存储结构和算法分析
    数据结构与算法在编程领域中的重要性不可忽视,无论从事何种岗位,都需要掌握数据结构和算法。本文介绍了数据结构与算法的基本概念、存储结构和算法分析。其中包括线性结构、树结构、图结构、栈、队列、串、查找、排序等内容。此外,还介绍了图论算法、贪婪算法、分治算法、动态规划、随机化算法和回溯算法等高级数据结构和算法。掌握这些知识对于提高编程能力、解决问题具有重要意义。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
author-avatar
处男是你_909
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有