论文阅读——SIPP: Safe Interval Path Planning for Dynamic Environments

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


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

1. 介绍

无论是自动驾驶汽车还是执行家务(例如打扫房间),机器人执行的几乎所有任务都假定能够在人、宠物、汽车等移动物体存在的情况下安全地从一个地方导航到另一个地方。 为了做到这一点,机器人需要能够预测这些动态障碍物在不久的将来会移动到哪里。 他们需要规划不危及或不便的实现目标的捷径。 机器人还需要能够非常快速地规划这些路径,在动态障碍物的轨迹可能不是机器人预测的轨迹的情况下,必须创建一个新的计划来防止碰撞。 能够有效地规划路径将使机器人对不断变化的环境更具响应性和鲁棒性。
图 1. (a) 将动态障碍视为静态障碍导致无解,(b) 时间规划通过等待障碍通过然后继续进行来找到解决方案
因此,出于实际目的,制定更快计划的常用方法是将环境视为静态的 [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] 与我们的方法密切相关。
处理动态障碍所需的时间计划很难在线执行,因为对重新计划的持续需求对执行周期施加了严格的限制。为了解决实时约束,已经提出了许多方法,为

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值