EET:基于采样的机器人运动规划中的平衡勘探与开发
摘要:
本文提出了一种用于运动规划的探索/利用树(EET)算法。EET规划者故意用概率的完整性来换取计算效率。这种权衡使EET规划器能够比最先进的基于采样的规划器多三个数量级。我们发现,这些相当大的加速适用于各种具有挑战性的现实世界的运动规划问题。性能的改进是通过利用工作空间信息来不断地调整规划器的采样行为来实现的。当可用的信息捕获了规划问题的固有结构时,规划者的采样器就变得越来越容易被利用。当可用的信息不太准确时,规划器会通过增加本地配置空间的探索来自动进行补偿。实验表明,基于工作空间信息的探索和开发的主动平衡可以是在实际场景中实现高效运动规划的关键因素。
paper:https://ieeexplore.ieee.org/document/6871370/
1.简介
在本文中,我们提出了一个用于真实世界的规划问题的运动规划器,即包含相当多的可利用结构的规划问题(见图1)。计划者是故意不完整的:即使存在一个解决方案,它也可能失败。然而,在各种现实和具有挑战性的规划问题上,它比现有的基于抽样的规划器高出三个数量级。如果失败被定义为不能在合理的时间内解决问题,那么它的失败甚至比我们比较它的现有的基于抽样的规划器更少。
如上图所示,在运动规划中平衡勘探开发的有益作用。末端执行器轨迹(灰色)表示所探索的配置空间量;解决方案路径显示为绿线;用于开发的工作空间信息显示为绿色透明球体。具有引导探索的(a)单查询计划器(ADD-RRT)探索了大量的配置空间。本文中描述的(b) EET算法利用工作空间信息来指导采样,因此,只需要进行很少的探索。
我们的规划器是基于一个非常简单的见解:如果运动规划器应该避免搜索整个配置空间(这将产生指数计算成本),他们必须评估配置空间的哪些区域与问题相关,哪些不是。通过排除部分配置空间,规划者可以在计算上变得更有效率和不完整。
若要选择相关的配置空间区域,规划器必须使用信息。如果这些信息非常准确,计划者应该利用它来在配置空间中直接搜索。当信息不准确时,规划者的成功将取决于其实现这一点的能力,并通过探索性搜索来补充对信息的利用。
本文提出的规划器从规划问题的工作区描述中获取信息,并利用这些信息来指导在配置空间中的搜索。搜索平衡了探索和开发,这取决于所获得的信息的质量。我们基于与其他最先进的运动规划器的比较性能分析来评估这个规划器。
2.相关工作
-
不同级别的路径规划:
-
- 规划器根据可用的信息来确定计划的一部分,唯一的目标是推进计划的解决方案。这种行为的例子包括简单的
人工势场方法
- 规划器根据可用的信息来确定计划的一部分,唯一的目标是推进计划的解决方案。这种行为的例子包括简单的
-
- 探索:规划器不使用任何信息来对配置空间进行采样。抽样的目标是为了了解空间,而不是直接找到一个解决方案。这种行为的一个例子可以在概率路线图(
PRM
)规划者的统一随机抽样和快速探索随机树(RRT
)规划者的Voronoi-偏差(扩展到未探索的区域而不是朝着一个解决方案)中找到。
- 探索:规划器不使用任何信息来对配置空间进行采样。抽样的目标是为了了解空间,而不是直接找到一个解决方案。这种行为的一个例子可以在概率路线图(
-
- 引导探索:规划器使用信息来选择要在其中搜索计划的配置空间区域。这些区域是根据有关可能的解决方案路径的信息来选择的。
中轴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,对不影响解决方案路径的区域进行不必要的探索。
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倍的加速。
----真棒!