SIPP:动态环境的安全区间路径规划

目录

  • SIPP:动态环境的安全区间路径规划
    • 1. 介绍
    • 2. 相关工作
    • 3. 算法
      • A. 规划安全间隔
      • B. 理论分析
      • 4. 例子
    • 5.实验结果
      • A. 规划器实施
      • B. 模拟
      • C. 对PR2的测试
    • 4.结论

摘要-静态环境中的机器人路径规划是一个经过深入研究的问题,通常可以非常有效地解决。然而,在存在动态障碍物的情况下进行规划在计算上仍然具有挑战性,因为它需要将时间作为额外维度添加到规划者探索的搜索空间中。为了避免规划问题的维数增加,大多数实时路径规划方法将动态障碍物视为静态的,并随着动态障碍物的移动不断地重新规划。尽管提高了效率,但这些方法牺牲了最优性甚至完整性。在本文中,我们开发了一个基于以下观察的规划器:虽然任何配置中的安全时间步数可能是无限的,但配置中的安全时间间隔的数量是有限的并且通常非常小。安全间隔是没有冲突的配置的时间段,如果它在任一方向上延长一个时间步长,那么它就会发生冲突。规划器利用这一观察结果构建一个搜索空间,其中的状态由其配置和安全间隔定义,从而生成一个图,每个配置通常只有几个状态。在理论上,我们表明我们的计划器可以提供与以时间为附加维度的计划相同的最优性和完整性保证。在实验方面,在多达 200 个动态障碍物的模拟测试中,我们表明我们的规划器明显更快,使其可以在大型动态环境中运行的机器人上实时使用。我们还在移动操作平台 PR2 上进行了几次真正的机器人试验。

1. 介绍

无论是自动驾驶汽车还是执行家务(例如打扫房间),机器人执行的几乎所有任务都假定能够在人、宠物、汽车等移动物体存在的情况下安全地从一个地方导航到另一个地方。 为了做到这一点,机器人需要能够预测这些动态障碍物在不久的将来会移动到哪里。 他们需要规划不危及或不便的实现目标的捷径。 机器人还需要能够非常快速地规划这些路径,在动态障碍物的轨迹可能不是机器人预测的轨迹的情况下,必须创建一个新的计划来防止碰撞。 能够有效地规划路径将使机器人对不断变化的环境更具响应性和鲁棒性。

因此,出于实际目的,制定更快计划的常用方法是将环境视为静态的 [5]、[9]。 这是通过将每个动态障碍物(有时是其在不久的将来的预测轨迹)变成静态障碍物来完成的。 这确保了生成的计划在不久的将来不会与动态障碍物发生碰撞。 然而,这种方法在机器人本可以在没有被击中的情况下越过轨迹的情况下存在次优问题,或者只是等到障碍物通过然后越过。 相反,它需要绕障碍物的轨迹走很长的路。 甚至在某些情况下,这种方法根本无法找到解决方案,例如当动态障碍物的轨迹穿过或穿过机器人必须使用才能达到其目标的门口前面时,如图 1 所示(一种)。
在本文中,我们提出了一种方法,该方法利用了连续安全区间的数量通常明显小于组成这些区间的时间步数的观察结果。 例如,没有动态障碍物通过的配置只有一个安全间隔,从开始时间到无穷大。考虑到这一点,我们开发了一个规划器,它使用由配置(x、y、θ 等)定义的状态和安全区间作为自变量,同时仅将实际时间步长存储为因变量。配置是描述机器人状态的一组非时间变量,例如位置、航向、关节角度等。自变量是用于实际识别状态的变量,而因变量与状态一起存储但不用于识别它。具体来说,规划者仍将两个自变量值相同但因变量不同的状态视为同一状态。我们提供了理论上的保证,即我们从考虑中排除的状态不能成为关于遍历路径所需时间的最佳解决方案的一部分。因此,我们的规划器可以保证最优性,同时避免增加问题。我们通过对随机生成的室内和室外环境的实验证明了模拟的效率,显示出比将配置和时间步长作为自变量的状态表示的规划器的速度显着提高。使用 PR2 机器人,我们还证明了规划器适用于实时使用。

2. 相关工作

大多数处理动态障碍物的方法都将它们建模为静态障碍物,在其投影轨迹的起点附近具有高成本的短窗口 [5]、[9]。 正如我们在介绍中所描述的那样,这些方法虽然有效,但存在潜在的高度次优甚至不完整的问题。 另一种常见的方法是在执行路径时仅考虑动态障碍物(仍将它们视为静态障碍物),使用局部避障方法 [2]。 这种方法可能会陷入局部最小值并且不是全局最优的。 另一种选择是本地规划器使用速度障碍,它确定导致与移动障碍物碰撞的控制[13]。 虽然这更准确,但它仍然可以导致局部最小值,因为它贪婪地最小化了没有动态障碍的所需控制与不在速度障碍中的一组可行控制之间的差异。
一些方法在整个时空搜索空间中进行规划[10]。 Silver 的 HCA* 算法专为规划多个机器人而设计,但在论文中,他指出它可以应用于动态环境中的规划。在动态环境中,HCA* 提供与我们相同的最优性保证并做出相同的假设。在我们的实验结果中,我们展示了与 HCA* 算法的比较,并显示出显着的加速。我们的方法更快的原因是我们的搜索空间要小得多。 HCA* 和其他使用时间维度的规划器对每个(配置、时间步长)对都有一个状态,并且由于时间步长的数量通常很大,因此搜索空间也很大。我们的算法将连续的、无冲突的时间步长分组为安全间隔,然后通过(配置、安全间隔)对表示每个状态。任何给定配置的最大安全间隔数最多是其轨迹在该配置中相交的动态障碍物的数量。因此,对于相同配置,安全区间的数量明显小于时间步的数量。因此,我们的规划器构建的搜索空间要小得多,从而导致更快的规划和更小的内存需求。
方法 [12] 与我们的方法相似,因为它认识到只有在安全间隔内最早到达时间才需要一个状态。 主要区别在于我们如何评估从一个区间到另一个区间的边缘。 在 [12] 中,“扩展”是“探针”通过单个时间步沿边的部分移动,然后必须将其放回队列中。 这意味着对于每条边,一个“探针”会多次返回队列(队列操作是 A* 搜索中代价高昂的部分),而不是像我们的规划器那样只返回一次。 本质上,[12] 中的方法已将每条 cost-n 边转换为 n 条 cost-1 边,这将渐近运行时间提高为边权重以及顶点和边数的函数。 然而,[12] 与我们的方法密切相关。
处理动态障碍所需的时间计划很难在线执行,因为对重新计划的持续需求对执行周期施加了严格的限制。为了解决实时约束,已经提出了许多方法,为了提高效率[3],[11]牺牲了接近最优的保证。我们提出的方法的不同之处在于,我们的目标是计算在最短时间方面最优的路径。其他一些方法使用 RRT 变体在高维搜索空间中快速规划,这些搜索空间可以处理更复杂机器人的动力学约束 [7]、[1]。然而,这些基于抽样的方法不能保证我们所追求的最优性。也有一些方法只在障碍物的轨迹结束之前(或者当障碍物的不确定性太大时)增加时间维度,然后在更简单的静态空间中完成计划 [4]。在这种时间边界格方法中,动态障碍物和时间维度在时间维度中的某个点之后被丢弃在搜索空间中。这牺牲了最优性。我们的算法根本不修剪动态障碍物轨迹,使其相对于整个给定轨迹是最优的。

3. 算法

我们将安全间隔定义为配置的连续时间段,在此期间没有碰撞,并且在该时间段前一个时间步和一个时间步后发生碰撞。一个明显的例外是配置的最后一个安全间隔可能会一直持续到无穷大,如果一个动态障碍被预测不会再通过这个配置。碰撞间隔与安全间隔相反。碰撞间隔是配置的连续时间段,其中该时间段内的每个时间步都与动态障碍物发生碰撞,并且在该时间段前一个时间步和该时间段后一个时间步是安全的。每个空间配置(如图 2 所示)都有一个时间线(图 3),它只是一个有序的间隔列表,在安全和碰撞之间交替。显然,时间线中不能连续存在两个安全区间,因为这将违反安全区间的定义,因为安全区间应以碰撞区间或无穷大为界。相同的论点适用于碰撞间隔。使用安全区间来表示搜索空间的时间维度是我们算法高效的原因,也是我们方法的关键思想。由(配置,间隔)对表示的单个状态取代了过去的许多状态,一个用于安全间隔中的每个时间步长的状态。这使得状态空间明显更小,使我们能够在更短的时间内搜索解决方案。


动态障碍物表示我们的算法假定有另一个系统可以跟踪环境中的动态障碍物,预测它们的未来轨迹,并将它们格式化为我们定义的一般表示。 我们得到一个动态障碍物列表,其中每个障碍物都有一个半径和一个轨迹。 轨迹只是一个点列表,其中每个点都有状态变量,指定其配置、时间和点不确定性的某种度量。 轨迹列表中的点是从最早时间到最晚时间排序的,所以通过依次读取这些点,可以看出障碍物在不久的将来是如何预测的。 我们的表示还允许动态障碍具有多个可能的未来轨迹。 然而,虽然本文中描述的算法适用于多个假设轨迹,但为简单起见,我们将假设每个障碍物只有一个轨迹。

符号和假设 我们现在将介绍一些用于解释算法的符号。 状态 s 有一个变量 g(s),它是从起始状态到 s 的最佳已知路径的成本。 启发式函数 h(s) 是对从 s 到目标状态的成本的估计。 我们将假设启发式函数是一致的,这意味着它永远不会高估目标的成本并且它满足三角不等式(没有这个我们的方法我们的方法会失去完整性)。 从 s 到其后继 s 0 之一的转换或边的成本由 c(s, s0 ) 定义。
我们的算法做出的主要假设是:
• c(s, s0) = 执行从 s 到 s0 的动作的时间。 换句话说,规划器的目标是找到一个时间最小的轨迹。
• 机器人能够原地等待(此假设不适用于摩托车)。
• 惯性约束(加速/减速)可以忽略不计。 计划者假设机器人可以立即停止和加速。

A. 规划安全间隔

图形构建 当规划器被初始化时,我们使用预测的动态障碍物轨迹为每个空间配置创建一个时间线。 这是通过沿每个动态障碍物的轨迹迭代每个点并更新该点碰撞距离内的所有配置的时间线来完成的。 这个碰撞距离是障碍物半径和机器人半径之和。 (半径也可以根据与该点相关的不确定性适当地膨胀。)
图搜索 初始化之后,我们运行 A* 搜索,如图 4 所示,除了如何获取状态的后继者(图 5)以及如何更新状态的时间变量(第 11 行,图 4)。
在图 5 中,函数 M(s) 返回可以从状态 s 执行的运动。 这些运动表明它们如何改变状态的空间变量。 这些动作也有执行它们所需的时间,我们将使用它来帮助确定我们可以在生成的配置中达到哪些安全间隔。 startTime(i) 返回安全区间 i 的开始时间和 endTime(i),即安全区间 i 的结束时间。


当状态 s 扩展时,我们为其生成后继者,如图 5 所示。对于我们的机器人可以从 s 执行的每个动作,我们计算结果配置和执行时间(图 5 的第 3-5 行) . 然后对于这个新配置中的每个时间间隔,我们生成一个具有最早可能到达时间且沿运动没有任何碰撞的后继。 在生成后继者时,我们说 s 使用“等待和移动”动作。 这意味着对于新配置中的每个安全间隔,我们等待尽可能少的时间,以便在使用移动到新配置时,我们尽可能早地到达新的安全间隔。 到达时间与状态一起存储,但状态不会由它的时间值来标识,而仅由它的其他维度来标识。
在 A* 期间,只要找到到 s0 的更短路径,就会用较小的路径替换成本。 类似地,当这种情况发生时,它对应于更早到达 s0(因为成本等于时间),因此我们也将存储在状态 s0 中的时间值替换为这个新的更短时间(第 10-11 行,图 4)。 我们保证,当 s0 扩展时,我们已经找到了我们可以到达 s0 的最早时间。 这使我们能够安全地为 s0 的后继者生成和设置时间。

图 6 和图 7 显示了 SIPP 算法下的扩展示例。 在图 6 中,我们有两个灰色动态障碍物以每个时间步长一个单元格的速度沿箭头指示的方向移动。 我们将检查三个标记的配置(A、B、C)。 机器人位于配置 B 并且可以在每个时间步以 4 连接方式移动一个单元。 在图 7 中,我们显示了机器人当前状态 SB0 扩展期间的图表。 配置 B (SB1) 中的其他状态未显示,因为您无法在同一配置内的安全区间之间转换,因为机器人必须等待分离碰撞区间(使其无关紧要)。 在配置 B 中,机器人可以在 4 连接的网格上执行两个有效运动(上至配置 A,下至配置 C)。
A 中有两个可能的继任者。机器人可以立即移动到 A 并在安全间隔 0 内到达,一个时间步后 (SA0)。 A中的另一个后继者处于安全间隔1(SA1),但是这个间隔从时间7开始,我们只能在SB0安全地等待到时间4(之后我们会被向上移动的动态障碍物击中),进行这个过渡 无效的。 这种情况在图 5 中的第 9-10 行处理。因此,对于向上运动,我们将仅将 SA0 添加到我们的后继集。 SA0 的时间 (t) 为 1,因为移动一个单元需要一个时间步长,而 SA1 的 t 为 ∞,因为我们还没有找到任何有效路径到该状态。
对于配置 C 的向下运动,我们有三个可能的继任者。机器人可以立即向下移动到 C 并在安全间隔 0 (SC0) 一个时间步后到达(在两个动态障碍物到达 C 之前)。另一个后继者是 SC1,它仅在时间步 3 期间可用(在第一个动态障碍物通过之后,但在第二个动态障碍物到达之前)。要在时间 3 到达,机器人必须等待 2 个时间步才能移动到 C(这需要一个时间步)。这是我们“等待和移动”行动的一个例子。此转换的成本为 3,因为它需要很长时间才能执行。最后可能的后继者是 SC2,它是向上移动的动态障碍物通过后机器人(C)下方的状态。安全间隔对齐,这样机器人可以等到时间 4,然后移动到 C,在安全间隔 2 内到达 5。但是,在这种情况下,图 5 中第 11-13 行的碰撞检查将返回没有有效的转换。这种碰撞检查在机器人移动的两个状态之间进行插值,在这种情况下,将检测到机器人和动态障碍物通过彼此穿过来交换位置。因此,SC2 不是有效的继任者。
所以从SB0展开,后继者的集合是(SA0, SC0, SC1)。

B. 理论分析

在这里,我们勾勒出我们算法的完整性和最优性的证明。
定理 1:尽可能早地到达一个状态保证了最大可能的后继者集合。
状态 s 由配置和安全间隔定义。令 t0 和 t1 在 s 的安全区间内是两次,使得 t0 < t1。如果我们从时间 t1 扩展 s,则令 A1 为生成的后继集;如果从时间 t0 扩展,则令 A0 为生成的后继集。由于 s 存在于一个安全区间内,因此机器人可以在该区间内的任何时间等待到该区间内的任何较晚时间,然后再移动。因此,A0 是 A1 的超集,因为它可以等到 t1 及以后才能获得 A1 中的后继者,但它也可能有更多比 t1 更早的后继者。这在图 8 中进行了说明。因此,如果一个状态在尽可能早的时间被扩展,我们就可以保证拥有最大的后继者集。这就是算法仍然完整的原因,即使每个安全间隔只有一个状态。通过使该状态成为间隔中可能的最早时间并使用“等待和移动”操作,我们仍然可以生成所有后继者,这些后继者将由具有时间步长的算法生成。这个定理导致了完备性的证明。
定理 2:当安全区间规划器扩展目标配置中的状态时,它找到了一条时间最短、无碰撞的到达目标的路径。
在最优 A* 中,当一个状态被扩展时,它的 g 值最小。 在这个规划器中,边的成本等于执行该边所花费的时间,并且每当更新 g 值(从找到更短的路径)时,时间值也会更新到较早的时间。 因此,当一个状态(由配置和安全区间定义)被扩展时,它也是最早可能到达这个安全区间的时间。 所以当目标配置中的一个状态被扩展时,也是我们最早可以到达目标配置的时间。 这对于我们的时间最小成本函数是最优的。 我们还知道所有状态都存在于安全区间内,这使得从起始状态到目标状态的整个路径都没有碰撞。

定理 3:如果具有最动态障碍的配置
通过它有 n 个这样的事件,那么每个配置最多可以有 n + 1 个安全间隔。
由于每个冲突间隔后面都有一个安全间隔,并且配置有 n 个冲突间隔,因此配置已经有 n 个安全间隔。 如果配置开始时也是安全的,那么在第一个碰撞间隔之前还有一个安全间隔,使 n+1 个安全间隔。 由于对于环境中的所有配置来说,这是冲突间隔最多的配置,因此安全间隔的数量不超过 n + 1。
这说明了为什么通常安全间隔的最大数量非常小,因为大量动态障碍物通过相同的配置并不常见。

4. 例子

在这里,我们将通过一个小示例展示该算法的工作原理。图 9 显示了初始环境和最优计划中的前 3 个操作。图 9(a) 显示了我们将要规划的初始环境。机器人从标记为 R 的单元格开始,在标记为 G 的单元格中有一个目标。右侧的动态障碍物向左移动,底部的动态障碍物向上移动。动态障碍物在每个时间步都移动一个单元格。机器人以每个时间步一个单元格的速度在 4 连接的网格上移动,也可以原地等待。当规划器扩展起始状态时,它会在当前状态上方和下方的单元格中生成后继者。机器人初始位置 c 下方的单元格有 3 个安全间隔,因此有 3 个状态。从起始状态开始,我们无法在第一个间隔内生成 c 中的状态,因为当我们移动到那里时,我们将与第一个动态障碍物发生碰撞。我们可以在第一个动态障碍物通过后,在第二个安全区间内生成一个状态。我们可以这样做的最早时间是等待一个时间步然后向下移动。这是一个单一的“等待并移动”动作。我们不能在第三个安全区间内生成状态,因为在到达那里之前我们会被底部的动态障碍物击中。

图 9(b) 显示了最优计划第一次行动后的环境。 机器人右侧的单元格 c 只有一个安全区间。 立即向右移动,等待一个时间步然后向右移动都是安全的移动。 我们的算法每个(配置、间隔)对只存储一个状态,即最早可达时间的状态。 因此,立即向右移动是向右的单元格考虑的唯一动作。
图 9© 显示了最优计划第二次行动后的环境。 在这里,规划器的下一个动作将是向左移动到该单元格的第三个安全区间(在第二个动态障碍物通过之后)。 这意味着此操作将在原地等待一个时间步,然后向左移动。
图 9(d) 显示了最优计划第三次行动后的环境。 计划剩余3个动作全部向下,无需等待。

5.实验结果

我们在模拟和真实机器人上进行了实验,以展示使用安全间隔的好处,同时在动态环境中进行规划。

A. 规划器实施

我们的测试域是 4D (x,y,θ,time),前 3 个维度 (x,y,θ) 用于非完整机器人生成满足最小转弯半径约束的平滑路径。用于获取状态后继者的动作是一组“运动原语”,它们是短运动学上可行的运动序列 [5],用于图 10 所示的格型规划器。对于我们的 A* 启发式,我们最初运行 16从目标连接到环境中所有 (x,y) 单元的二维 Dijkstra 搜索,假设机器人是一个半径等于实际机器人内接圆的圆形。由于我们的晶格规划器也将其方向维度离散为 16 个方向,因此每个单元格中的启发式值低估了目标的成本。这源于这样一个事实,即 2D 搜索本质上假设机器人可以免费原地转动,并且其碰撞模型是其最窄的直径。相对于我们的搜索,这种启发式计算很快,因为它的维度要低得多。然而,它也比常见的欧几里德距离启发式提供更多信息,因为它考虑了静态障碍物信息。

B. 模拟

  1. 实验设计:我们将 SIPP 与 HCA* 进行比较。 Silver 的 HCA* [10] 的这种实现位于 4D 搜索空间(x,y,θ,time)中。 对于启发式,该算法使用从目标向后的低维搜索,忽略时间维度和动态障碍。 在我们的例子中,这是一个 2D 搜索,就在 (x,y) 维度上2。 在这种信息启发式的指导下,它然后在具有时间维度并考虑动态障碍的完整状态空间中规划一条前进的路径。
    为了测试算法的效率,我们做了两组随机生成的 50 个实验来模拟室内和室外类型的环境。所有环境都是 500 x 500 个单元,其中 θ 被离散为 16 个方向。时间维度的分辨率为 0.1 秒。最佳解决方案的平均持续时间为 12.7 秒(127 个时间步)。机器人的足迹占据地图上的一个单元格,并且每个地图都有一个随机的起点和目标。对于每个环境,生成了 200 个动态障碍物。每个动态障碍物的大小可能有大有小(随机选择),并以环境中的随机配置开始。为了生成动态障碍物的轨迹,选择了随机目标,并使用 2D A* 来寻找目标点之间的路径。室内环境(图 11(a))由一系列随机放置在网格上的狭窄走廊和房间组成。大的动态障碍物填满了整个走廊的宽度,无法通过,而狭窄的动态障碍物只有半个走廊,因此可以通过。室外环境(图 11(b))非常开放,随机放置的圆形障碍物(代表树木、岩石等)约占地图的 20%。
  2. 结果:表 I 显示了我们室内实验的结果。显示的时间是平均计划时间。我们的安全间隔计划器找到了所有 50 次试验的解决方案,但 HCA* 只能找到 28 次试验的解决方案,因为我们有 5 分钟的计划时间上限。因此,此表中的结果仅在两个规划者都找到解决方案的 28 个测试中计算得出。对于表 II,安全间隔计划器为所有 50 次户外试验找到了解决方案,而 HCA* 在 5 分钟限制内找到了其中 47 次的解决方案。我们的结果显示 SIPP 在两种类型的测试中都优于 HCA*,但室内环境的速度明显更快。 HCA* 似乎也很难在 5 分钟内获得室内案例的解决方案。主要原因是在室内情况下,由于走廊狭窄,机器人可以移动的地方受到很大限制。这导致机器人经常不得不等待障碍物移出大厅或门口,才能到达目标。在 HCA* 中,等待经过障碍物需要在时间维度上进行多次扩展,具体取决于等待的时间长短,而 SIPP 只会扩展一个状态来完成相同的事情,而不管等待的时间长短。在户外环境中,
    这个事实不太重要,因为有这么多的开放区域,最佳路径很少涉及等待,机器人通常可以绕过动态障碍物。在整个实验中,我们平均 0.4 秒来预先计算 200 个动态障碍物的安全间隔(当我们接近更合理数量的动态障碍物时,这个时间几乎为零,如我们真实的机器人结果所示)。

C. 对PR2的测试

为了展示 SIPP 在现实环境中的工作,我们在 ROS 中实现了规划器,并在 Willow Garage 的 PR2 机器人上进行了测试。 PR2 是一个移动操作平台,具有两个 7 自由度、机械平衡臂、一个全向底座和一系列传感器,例如两个激光雷达(一个底座扫描仪和一个用于制作点云的倾斜扫描仪)、多个摄像头和 惯性测量单元。

  1. 实施细节:我们编写了一个全局规划器节点,它插入到 ROS 的导航堆栈中。导航堆栈为规划者提供机器人的姿势和环境地图,并期望返回路径。我们必须添加的唯一额外输入是预测的动态障碍物轨迹。为此,我们编写了一个节点,该节点使用 PR2 的一个激光雷达传感器来跟踪人员。我们对每次扫描的激光雷达点进行基本聚类,然后将这次扫描的聚类与上一次迭代的聚类进行匹配。如果集群似乎在逐帧移动,我们将其标记为动态障碍,并且在每次迭代中,我们使用恒速运动模型和集群匹配来更新其位姿。通过为一个集群保存几百个先前的位置(2-4 秒),我们使用线性回归拟合来预测动态障碍物的速度向量。然后,我们使用基本的线性外推法来预测动态障碍物在接下来的 20 秒内的位置。
  2. 结果:在我们的一项实验中,PR2 必须通过狭窄走廊中的一个人才能到达目标。 该人正朝机器人走去,因此规划者让机器人躲进门口(图 12),等待该人通过,然后在大厅空无一人时前往其目标。 在我们的另一个案例中,有一个非常缓慢移动的人从 PR2 前面开始朝其目标方向行走(图 13)。 大厅最初很窄,PR2 必须等待人到达大厅变宽的地方。 然后,它沿着该人行驶并超越他以最快地到达目标。 最后一个案例涉及两个交错的人走向 PR2。 机器人必须在它们之间穿梭才能达到其目标(图 14)。 在我们运行的三个实验中,我们的平均计划时间为 0.49 秒。 此外,预先计算安全间隔的时间不到 0.01 秒。 我们真实机器人试验的图像取自我们随附的视频。


4.结论

在本文中,我们开发了用于在动态环境中进行规划的安全间隔的概念。 安全间隔使用连续周期的索引表示时间,而不是使用时间步长。 这个想法大大减少了需要搜索的状态数量,而不会牺牲对最优性的理论保证。 如我们的实验结果所示,状态空间的这种减少导致规划器找到解决方案的速度明显快于使用时间步长变量进行规划的标准方法。
虽然 SIPP 确实比标准方法有一个数量级的改进,并且通常会在一秒钟内制定计划,但仍有一些较大环境的实例可能需要几秒钟的时间来制定计划。 与任何可证明的最优规划一样,它的扩展性不如次优的规划方法。 为了使其可扩展到更大的动态环境,在我们未来的工作中,我们计划考虑将其扩展为使用加权 A* 搜索 [8],这已被证明比最优搜索要快得多。 加权 A* 使用膨胀的启发式来权衡最优性以提高效率,同时保持次优性的界限。 挑战在于具有膨胀启发式的 SIPP 将变得不完整。 但是如果我们确实成功地扩展了 SIPP 以使用
膨胀的启发式算法,然后任何时候的搜索,如 ARA* [6],都是可能的,这使得 SIPP 适合在大型环境中使用。
另一个问题是快速重新规划,因为动态障碍物轨迹难以预测并且经常发生变化。 虽然随时搜索可以解决这个问题,但增量扩展将是理想的。 这样做的挑战在于,进行有效的向后搜索需要规划器提前知道最终的 gvalue 是什么,以便它可以初始化目标状态的时间,以便通过动态障碍进行正确规划。 我们也有兴趣放宽我们的一些假设,以便我们可以处理任意成本函数并更准确地处理机器人的加速/减速限制。

论文阅读——SIPP: Safe Interval Path Planning for Dynamic Environments相关推荐

  1. 论文阅读:Emergence of Locomotion Behaviors in Rich Environments

    论文阅读:Emergence of Locomotion Behaviors in Rich Environments Writer: Abstract: Introduction Large Sca ...

  2. 【论文阅读】ReDoSHunter: A Combined Static and Dynamic Approach for Regular Expression DoS Detection

    TODO 引文信息 [1] LI Y, CHEN Z, CAO J, 等. ReDoSHunter: A Combined Static and Dynamic Approach for Regula ...

  3. 论文阅读《Direct Sparse Visual-Inertial Odometry Using Dynamic Marginalization》

    目录 摘要 1 介绍 2 相关工作 3 直接稀疏视惯里程计 3.1 记号 3.2 光度误差 3.3 惯性误差 3.4 IMU初始化与可观性问题 3.5 基于SIM(3)的世界表示 3.6 尺度感知的视 ...

  4. [论文阅读]SofGAN: A Portrait Image Generator with Dynamic Styling

    SofGAN能产生效果很好,且能进行编辑的多视角图像. 该模型能控制pose,但其它特征编辑是通过别的论文中的方法实现的(Yujun Shen, Jinjin Gu, Xiaoou Tang, and ...

  5. 论文阅读:Towards Stable Test-time Adaptation in Dynamic Wild World

    今天阅读ICLR 2023 --Towards Stable Test-time Adaptation in Dynamic Wild World Keywords:Test-time adaptat ...

  6. Coverage Path Planning(区域覆盖)

    扫地机区域覆盖的问题 下面这个图是一种很常见的策略,也就是让它走S型进行覆盖 如果遇到边界的墙就进行左转或者右转然后往回走,那么接下来我们考虑障碍的情况 上面这幅图.是我手画的..应该意思表达清楚,有 ...

  7. 论文阅读:(三)DS-SLAM: A Semantic Visual SLAM towards Dynamic Environments

    之前看了有关语义分割的SLAM,最近调研下动态场景下基于动态实例剔除的论文. DS-SLAM: A Semantic Visual SLAM towards Dynamic Environments- ...

  8. 论文阅读 (58):Research and Implementation of Global Path Planning for Unmanned Surface Vehicle Based...

    文章目录 1 概述 1.1 题目 1.2 摘要 1.3 代码 1.4 Bib 2 环境模型的建立与表示 2.1 电子海图数据提取 2.2 环境模型的建立 3 改进的A*算法的描述与实现 3.1 改进的 ...

  9. 【论文阅读】TRO2022: A Two-Stage Optimization-Based Motion Planner for Safe Urban Driving

    TRO2022: A Two-Stage Optimization-Based Motion Planner for Safe Urban Driving Summary: 探讨planning过程中 ...

  10. 深度学习论文阅读(四):GoogLeNet《Going Deeper with Convolutions》

    深度学习论文阅读(四):GoogLeNet<Going Deeper with Convolutions> Abstract 摘要 1.Introduction 引言 2. Related ...

最新文章

  1. MSLicensing​中断远程桌面连接
  2. 使用 Firefox攻击Web2.0应用(二)
  3. linux生成ext4镜像,mkfs.ext4生成分区镜像自动把文件转成了sparse怎么破?
  4. 请别再拿“String s = new String(xyz);创建了多少个String实例”来面试了吧---转
  5. #pragma warning(pop) 和 #pragma warning(push)的作用
  6. HANA live report - metadata retrieve - where I can find it in HANA studio
  7. npm安装和Vue运行
  8. Springsecurity搭建自定义登录页面
  9. leetcode力扣12. 整数转罗马数字
  10. ubuntu16.04配置opencv2、python2、cuda8.0、cudnn以及caffe
  11. CondenseNet: An Efficient DenseNet using Learned Group Convolutions
  12. .Net Core中使用ref和SpanT提高程序性能
  13. memcached—向memcached中保存Java实体需注意的问题
  14. 无法定位软件包python-pip
  15. Cas单点登录常见问题总结
  16. 洛谷P3373 【模板】线段树 2
  17. 【C++】Vscode 中使用CMakeLists(推荐)构建C++项目:项目结构、各个文件夹的作用、从编码到debug
  18. 【YOLOv7/v5系列算法改进NO.45】首发最新特征融合技术RepGFPN(DAMO-YOLO)
  19. python在线课程价格-python课程价格
  20. Adobe Photoshop 输出ICO格式图标文件

热门文章

  1. matlab中whos怎么用,【安富莱DSP教程】第3章 Matlab 简易使用(一)
  2. python文本文件合并,python将多个文本文件合并为一个文本的代码(便于搜索)
  3. nod32 lic 99用户授权文件可以用到2015年4月的许可证下载
  4. mysql设计一个网上购物系统_基于PHP和MySQL的网上购物系统设计与实现
  5. 奥拉星插件flash下载手机版下载安装_flash插件
  6. 网络安全宣传周:强调个人信息保护│预防个人信息泄露实操指南
  7. CHM打不开的解决方法
  8. chm打不开怎么办?
  9. 城市大脑标准体系与评价指标总体框架
  10. OCR文本检测模型—CTPN