时间最优多机器人路径规划的近似算法
摘要
本文提出了一种用于多机器人路径规划的多项式时间近似算法。多机器人路径问题旨在为一组机器人规划路径,使其以最快速度访问大量可互换的目标位置。由于该算法对任意机器人所行驶的总距离的次优性提供了常数因子界,因此使用该方案使所有机器人访问每个目标顶点的总完成时间(即最大完工时间)不超过最优完成时间的5倍。这一结果具有重要意义,因为它为时间最优性提供了严格的保证,在需要机器人团队执行时间关键任务的应用中尤为重要。这些应用包括自主探索、监视、应急响应以及搜索与救援。
1 引言
多机器人路径规划(MRR)问题旨在安全高效地利用由N个机器人组成的团队,访问M个目标位置,并且不关心哪个机器人访问特定目标或目标的访问顺序。
MRR在自主探索、监视、应急响应和搜索与救援中是一个常见问题。例如,考虑一组机器人在建筑物中搜索每个房间以寻找需要帮助的人类。遗憾的是,即使对于点机器人,该问题也会归约为旅行商问题,因此生成最优路径是NP难的。
将机器人分配给空间上分散的任务这一问题在运筹学和多机器人规划领域中十分常见。已有大量精确算法和近似算法,这些算法基于各种不同的假设条件。一个特别相关的问题是车辆路径问题(VRP)[8]。车辆路径问题(VRP)旨在为一组从称为车场的起始位置出发、访问多个目标位置并返回车场的智能体规划路径。
VRP 特别适用于运输行业,其中卡车在轮班开始时从车场出发,并在结束时返回同一车场。在机器人领域,由于机器人不一定从一个共同的起始位置出发,因此考虑多车场车辆路径问题(MDVRP)[15]。在 MDVRP 中,智能体不需要在同一个中心位置开始和结束任务,而是最多可以从 N个不同的位置运行,且每个智能体最终返回其原始车场。这使得 MDVRP 比基本 VRP 更适合机器人团队,并允许系统根据更新的目标信息进行重新规划,而无需机器人返回车场。
通常,VRP 的解决方案旨在最小化所有机器人行驶的总距离。使用该成本函数时,可能出现大多数机器人行驶距离相对较短,而少数智能体必须行驶更远距离才能确保访问所有位置的情况,这对于时间敏感任务是不可接受的。考虑图1中的简单示例,以说明最小化任意机器人的最大成本可减少完成时间。将 VRP 中最小化最大距离的表述称为最小最大车辆路径问题(MMVRP)[16]。
与本研究最相似的VRP变体是最小最大多车场车辆路径问题(MMMDVRP)[4]。尽管此前已为最小‐最大N路径问题提供了最优解4倍以内的次优界[1],但该结果未包含针对多个起始位置机器人的规划。为弥补这一空白,本文将采用一种将机器人分配到序列的方法,以最小化最大成本,并利用瓶颈分配问题[3]的解。尽管目前存在针对MDVRP[17],和 MMVRP[9],的近似算法,但据作者所知,尚不存在针对MMMDVRP的计算上可处理的近似算法。
图1中,a显示了一组两个机器人和七个需要由任一机器人访问的目标。 b展示了典型的最小成本解,其中一个机器人需要移动7个单位距离。 c展示了最小化最大值的解。该最小化最大值的解总成本为8,但每个机器人仅需移动4个单位即可完成。最小成本解的完成时间几乎是最小化最大值解的两倍
时间最优多机器人路径规划的近似算法 629
本文提出了一种用于分配并排序N个机器人访问M个目标的多项式时间近似算法,特别适用于M远小于N的情况。该算法生成的解的最大完成时间不超过最优解成本的5倍。尽管所提出的算法未显式考虑碰撞避免,但通过一些简单的修改可使解包含碰撞避免。以这种方式处理碰撞并不能保证有界的
时间最优解
,但能够保持最小‐最大距离特性。幸运的是,由于其构造方式,无碰撞方法往往产生机器人之间交互较少的解,并且通常能保持时间最优界的性质。
在第2节预备知识之后,本文在第3节中给出了多机器人路径规划问题的定义。第4节介绍了算法1,该算法被证明是多机器人路径规划问题的一个完整的多项式时间近似算法。第5节提出了一些优化策略,通常可提高解的质量。接着,第6节详细说明了如何避免机器人之间的碰撞。第7节展示了仿真结果,论文在第8节进行总结。
2 预备知识
在此工作中,N个机器人被指派访问 M个目标状态 γ={g1, g2,…, gM},通常有
M N。机器人 i的初始状态为 xi,其中 σ={x1,x2,…,xN}。
构建了一个底层图 GV=(V, E),用于规划机器人动作以到达目标位置。
该图可以通过随机或确定性方式构建,但要求 GV为无向的。成本 C(v1, v2)
表示从 v1 导航到 v2 的成本或行驶时间。假设机器人以恒定速度移动,因此成本等同于顶点间的导航距离,从而函数C满足三角不等式。然后,定义 Gγ为包含所有目标顶点 γ的图,并且最多有 (M2)条边对应着可行或安全(忽略机器人间碰撞)的有限长度路径连接目标状态。
序列 Si 是机器人 i 将按顺序访问的目标顶点列表。由于所有目标位置都必须被机器人访问,每个序列中的元素构成互斥集合,其并集等于所有目标位置的集合:
{v ∈ S1} ∪{v ∈ S2} ∪… ∪{v ∈ SN}= γ
{v ∈ Si} ∩{v ∈ Sj}= ∅ ∀i =j
在符号使用上略有滥用,定义遍历顶点有序列表中所有边的成本 Si为 C(Si)。
例如,如果 S1={v1, v4, v3},则序列1的成本定义为 C(Si)= C(v1, v4)+ C
(v4, v3)。序列中的每个元素可以通过其在序列中的位置用上标来引用,因此
在前面的例子中,S(1) 1= v1。
630 M. 图尔平 等人
哈密顿路径被定义为访问集合中每个顶点的路径,在本ˆ情况下将用一个序列表示。定义 H(vi, vj,…)为访问一组顶点的最小代价哈密顿路径的近似解ˆ。可以通过将待访问点集的最小生成树(MST)加倍、进行短路处理并移除一条边来计算 H。这也可以使用算法3来计算,以获得更高质量的解。然而,这种方法增加了显著的计算代价。
3 问题描述
最优分配任务到机器人以及这些任务的排序的成本定义为:
J = minimize
S1,S2,…,SN
max
i∈{1,2,…,N}
C(si, S(1) i)+ C(Si) (1)
该最优解产生一个达到序列并导航该序列的最小最大代价解。由于成本被假定为导航时间,这将产生一个最短时间解,也称为最小完工时间解。
最优分配问题可以使用穷举法求解,但这需要指数级运算次数。这是因为存在N M种可能的任务到机器人的分配方式,而对于每一种分配,都需要找到最小代价哈密顿路径,该路径最多包含已分配任务的M!种排列组合。为了避免求解NP难路由问题,本文在算法1中提出了一种多项式时间启发式方法,所生成的解中任意机器人的最大行驶时间不超过最优完成时间J 的5倍。
4 近似算法
本节介绍算法1,即针对式(1)中优化问题的近似算法。算法1提供5倍近似比,意味着所产生的解的成本不会超过最优解成本的5倍。
该方法的基本流程如下。对于给定的猜测值J,算法ˆ2尝试返回一个成本不超过5J的解。如果算法2无法ˆ找到解,则表明不存在成本小于J的解。ˆ 这意味着J< J 且J必须增大才能找到解。第4行在
时间最优多机器人路径规划的近似算法 631
图2 a 将9个目标位置显示为绿色星号,4个起始位置显示为红色圆圈。最小生成森林(MSF)在 (b)中构建。在此示例中,该最小生成森林(MSF)同时也是将最小生成森林(MSF)加倍、移除一条边并进行捷径化后的结果。接着在(c)中,该哈密顿路径被分割为N个序列。最后在(d) 中,每个机器人被分配到一个序列。由于此分配成功,ˆ算法2的下一次迭代将具有更小的J值
算法1 对 J执行二分搜索,以找到返回解的最小 J值。第1‐3行可移入算法2中,但当前的放置方式通过缓存提高了计算性能。对于给定猜测值 ˆJ 的算法2 的概要图示如图J所示。2接下来将更详细地讨论这些算法中的每一步。
算法1 多机器人路径规划
1:计算从每个起点和目标点到每个目标状态的路径,并缓存成本
2: 计算Gγ的最小生成森林
3: F ←最小生成森林(Gγ)中的边列表,按成本排序
4:找到最小值 Jˆ其在算法2中返回一个有效解
5: 如果 找到了有效解 则
6:返回 具有最小值的有效解 Jˆ
7:否则
8:返回 不存在有效解
第1行计算并缓存机器人从每个起始位置到每个目标状态的导航成本,以及从每个目标到其他每个目标状态的导航成本。由于图是无向的,可以使用Dijkstra算法[7]从单个目标规划到图中所有其他顶点,其复杂度为O(|E | + |V |log|V|)[10]。此步骤对每个目标状态重复执行。
第2行构建了Gγ的最小生成森林(MSF),第3行根据机器人遍历边的成本将这些边排序到列表F中。这两个步骤可以通过使用Kruskal算法[13]构造MSF并在复杂度界 O(M 2logM)内完成。注意,F最多包含M −1条边。
ˆ第4行找到返回算法2解的最小猜测值J。这可以通过二分搜索实现,其上下限分别为0和最小生成森林中所有边的成本之和加上每个机器人行驶的最大距离。
632 M. Turpin 等人
算法2首先初始化U,即无序序列ˆinline 1的空集。然后,在第2–3行中移除MSF(Gγ)中所有长度超过J的边,并对剩余图构造最小生成森林。这等价于在原始图Gγ中移除所有长度超过J的边后计算其最小生成森林。由于F中的边数少于M,因此计算最小生成森林的总复杂度为 O(Mlog(M))。
接下来,在第5到第9行中,找到访问目标集中每个顶点的序列,每个ˆ的代价不超过4J。第6行计算了访问树Ti中所有顶点的近似最小代价哈密顿路径,如第2节所述,可通过Hierholzer算法在线性时间内找到图中的欧拉路径[11]。
第7行计算 k,即为了访问树Ti中的每个ˆ顶点且每个序列代价不超过4J所需 的序列数量。注意,如果ˆC(Hi)为零,这意味着树中仅有一个顶点,但仍需要一个机器人访问该顶点,因此在这种情况下的 k= 1。然后将该近似的哈密顿ˆ路径分割成 k个序列,每个序列的代价不超过4J,再将这些序列逐一加入访问U的总序列列表中。每一个输入树Ti已经是MST,且每个顶点仅出现在一棵树中。因此第5到第9行的总复杂度上界为Θ(M)。
第11行检查是否存在可行的序列数量以进行访问。如果序列数量多于机器人数量,则算法返回J >J。然而,如果有足够的机器人访问目标,则算法会找到将机器人分配到序列的最优分配。
第12行向U添加空序列,以确保其具有N个元素。第13行计算将机器人分配到目标的代价矩阵。空序列的成本为0,因为机器人无需移动即可访问序列中的每个顶点。由于必须比较每个机器人导航到每个序列的成本,因此该步骤的复杂度上界为Θ(N 2)。
接下来在第14行中,针对将机器人分配到序列的瓶颈优化问题进行求解。该问题的复杂度上界为 O(N 3),但在实际中可通过移除A中大于J的边,并结合[2]中的方法略微降低复杂度。
ˆ第15行将到达任意序列的最大成本与猜测值J进行比较。ˆ ˆ如果最大成本大于J,则算法返回J >J。否则,算法通过根据最优瓶颈分配重新排列U中的序列,返回序列的有序列表 S。最后,算法返回此分配后的序列列表。
4.1 最优性界
根据构造方法,返回的任何路径的成本都不超过5J。这是因为添加到U中的每个序列的成本不超过4倍的J,并且分配保证到达解中第一个顶点的成本不大于J。
引理1 算法2 除非 J >J,否则永远不会返回 失败。
时间最优多机器人路径规划的近似算法 633
算法2 分配的最小最大成本序列 Jˆ)
1: U ← ∅
2:定义图G Jˆ为所有目标顶点以及最小生成森林(Gγ)中成本小于 Jˆ
3: 计算最小生成森林(G Jˆ)
4:
5: 对于 树 Ti在最小生成森林(G Jˆ)中执行
6:计算近似最小代价哈密顿路径 Hˆi ← Hˆ(v ∈ Ti)
7: ki ≡ max(⌈C(H ˆi) 4 Jˆ ⌉, 1)
8:分割 Hˆi划分为 k个序列,每个序列的成本不超过4 Jˆ
9:将这些 ki序列 添加到集合U中
10:
11:如果 |U| ≤ N则
12:向U添加(N −|U|)空序列
13: Aij ←C(si,U (1) j),将机器人i导航至序列j中第一个顶点的成本
14:找到 A 的瓶颈分配
15: if分配 ≤ 的最大成本 Jˆ然后
16:使用将机器人分配到序列的最优分配,将U重新排序为 S
17:返回 S
18:
19: 返回 失败(这意味着 J > Jˆ)
证明 算法返回失败存在两种情况。情况 1发生在U中的序列数量多于可用于访问序列的机器人数量时。情况 2发生在将任意机器人分配给某一序列的成本 ˆ大于 J时。在这两种情况下,都将证明算法只有在 ˆJ >J时才会返回失败。
情况 1 |U| >N。
该正确性证明直接来源于引理17中提出的结论ˆ,[1],但此处将简要概述。
假设相反的情况,即 |U| >N且 J ≤J。根据构造,最小生成森林中的每棵树与其他所有树之间的距离至少为 ˆJ,因为任何更大的值都会从最小生成森林中移除。在这种情况下,J ≤ J,因此每棵树可以单独考虑,因为连接ˆ树的任何边在定义上都大于 J,因而也大于 J 。
对于树i的最优解具有 k i 条连通路径。这些关于树i的最优路径可以通过每条成本不超过 ˆJ 的边连接成一个生成树。连接边的总成本不大于 (ki−1)J,进而其成本小于 kiJ 。因此,该生成树的成本不超过 2kiJ 。该树的每条边都可以加倍,且每个顶点都可以以不超过 4ki J 的成本访问。由于这是按构造得到的任意路径的最大成本,ˆ不可能同时满足 |U| >N且 J ≤J,从而导致矛盾。因此,该算法不会因 |U| >N而错误地返回失败。
情况2 maxi C(si, S (1)i )> ˆJ
该算法无法找到maxi C(si, S (1) i)> ˆJ,而实际上ˆJ ≤J。每个顶点在最优解中都必须被访问,这是显而易见的
634 M. Turpin 等人
ˆ顶点在 γ中可由某个机器人访问,其成本不超过J。所使用的瓶颈分配显式地最小化该分配的最大成本。
定理1 算法1 要么正确返回机器人路径问题无解,要么返回一个成本不超过 5J 的解。
证明
对于任何返回的序列,C(Si) ≤ 4J由构造过程显然成立。类似地,ˆ机器人 i导航到算法2返回的序列 Si 的成本小于 J。
通过对 J进行二分查找并利用引理 1中的正确性性质,算法1返回的任意解都满足 J ≤ J 。因此,如果返回了一个解,则任意机器人到达其分配序列的最大成本加上序列的最大成本不超过 5J ,因为到达任意序列的最大成本不超过 J ,而任意序列的最大成本为 4J 。因此,该算法具有5倍近似比。
4.2 完备性
假设底层图GV足够稠密,如果解存在,则算法1将找到一个解ˆ。这是因为J将持续增加,直到达到图中所有边的总成本加上到达任意顶点的最大成本为止。此时,最小生成森林连接了单个机器人能够访问的所有目标顶点。如果每棵树都能够被访问(无论成本如何),则将获得一个成功的分配。
4.3 计算复杂度
本节将分析算法1中近似算法的计算复杂度。
算法1中的第1‐3行的复杂度为 O(M(|E| + |V | log|V|)+M 2logM),如前所述。
ˆ寻找J的最小可行值的搜索可以通过用二分查找替代二分搜索,并在所有ˆ可能的J断点上进行搜索,从而重新表述为强多项式时间算法。最小最大序列的构成了(M2)个可能的断点(详见[1]),而每个机器人导航到每个目标的成本又引入了额外的NM个断点。因此,算法1的第4行最多调用算法2 O(logM)次。
算法2的主导部分是计算 O(N 3 )瓶颈分配[2]以及计算边数少于M的最小生成森林。算法2的总体复杂度为 O(N 3+ M log M)。
综上所述,算法1的总体复杂度为:O(M(|E|+|V | log|V|)+(N 3+ M2 )log M)。
5 优化
本节讨论了一些通常能够带来更高质量解的改进方法。然而,这些改进不会降低最优性界,并且可能会增加额外的计算代价。
第一个改进将在第5.1节中详细讨论。在最终将机器人分配到目标集后,使用算法3重新规划ˆH以将初始条件纳入规划是有利的。H使用算法3将初始条件纳入规划。
在执行瓶颈分配时,可以进行第二项改进。不仅应搜索分配成本的最小最大值,还应搜索分配成本加上段成本的最小最大值。成功条件也必须相应改变,即机器人到达并访问所分配序列中所有目标的总成本需ˆ小于5J。这并不会影响定理1中正确性证明的有效性。
最后,在算法2的第13行,成本可以选择为导航到第一个或最后一个顶点的最小成本。如果最后一个顶点距离机器人更近,由于无向图的假设,序列顺序可以反转。
5.1 序列优化
在符号使用上略有滥用,设H(si, Si)为从si开始并访问Si中所有顶点的最小成本序列。尽管寻找最小代价哈密顿路径ˆ是NP难问题,算法3能够找到一个次优序列H(si, Si),该方法基于克里斯托菲德斯算法[5],,后者可为旅行商问题(TSP)提供一个有界次优解,其成本不超过最优TSP成本的 3/2倍。引理2证明了该算法的次优性被常数因子3/2所限制,并且这种顶点重排序相较于在最小生成树(MST)中将每条边复制两次的方法,通常能提升性能。为便于引用,在本节后续内容及算法中省略了si和Si的下标。
算法3从第1行开始,通过生成图GS,其中G S中的顶点是S中的顶点。由于每个序列S中的目标都已分配一个机器人,因此该图是连通的。再加上原始图是无向的这一事实,此图必然是完全的。
在第2行中,图GO由最小生成树中具有奇数连接性的所有顶点构成。可以证明,图GO中的顶点数量是偶数(见[5])。然后将起始位置s添加到图GO中,边的成本等于访问图中每个顶点的成本。在第4–5行中添加虚拟顶点d,以保持 G O中顶点数量为偶数。该虚拟顶点被设定为到起始顶点具有无限代价,到所有其他顶点的代价为零。这确保了起始机器人将恰好与一个非虚拟顶点匹配。
在第6行中,为GO中的顶点找到一个最小成本完美匹配[6]。每个虚拟顶点都将与起始顶点以外的某个顶点进行匹配。
636 M. 图尔平 等人
ˆ欧拉路径 H在第7行中构造,使得最小生成树和完美匹配中的每条边都被访问一次。虚拟顶点和重复顶点在第8行中被移除。该算法的计算代价主要由寻找最小完美匹配的成本决定,对于完全图其有界复杂度为O(|S|3)[14]。
算法3 序列优化 Hˆ(s, S)
1: 从S中所有顶点的集合生成完全图GS
2: GO ←最小生成树中具有奇数连接性的目标顶点集合(GS)
3: 将机器人起点s添加到 GO
4: d ←虚拟顶点,到目标顶点的代价为零,到s的代价为无限
5: 将d添加到 GO
6: M ←针对 GO的最小完美匹配
7: Hˆ ←从 s 开始的欧拉路径,然后遍历最小生成树(GS) ∪ M中的每条边
8: 从路径中移除 d和重复顶点 Hˆ
9:返回 Hˆ
引理2 算法3 具有近似比 3/2:C( ˆH(s,S)) ≤ 3 2 C(H (s,S))
证明
此证明直接源于[5]但增加了一个虚拟顶点,并且仅连接一次到起始顶点。
显然,最小生成树中所有边的成本之和不大于最优路径 C(MST(GS)) ≤ C(H )。此外,C(M) ≤ 1 2H 采用与[5]相同的逻辑。在移除虚拟顶点后,但在移除ˆ重复顶点之前,启发式路径 H 遍历 M 和 MST(GS) 中的每条边一次,从而得到 C( ˆH )=C(MST(G S))+C(M) ≤ 3 2C(H )。由于图满足三角等式,移除重复顶点只会减少 C(H) 的成本ˆ。
6 碰撞避免
本节提出了一种方法,用于在网格大小大于机器人直径2R的正交连接的规则网格中确保机器人之间的碰撞避免。此外,假设每个机器人每单位时间移动一个网格单元。需要注意的是,本节中的结果不具有时间最优解,但保持了最小‐最大距离最优界。在足够开阔的空间中,最小‐最大距离解将趋于接近时间最优解。
首先,预测每个机器人在未来一个时间步的期望运动。在当前时间步和预测之间,判断是否有两个机器人试图交换目标状态。一旦发生此类交叉情况,机器人将交换各自的剩余目标集合。该策略将使任一机器人的行驶距离至少减少1个网格单元长度。
时间最优多机器人路径规划的近似算法 637
接下来,在预测步骤中,检查是否有多个机器人占据同一单元格。在这种情况下,检查每个机器人待访问的剩余目标列表。如果当前时刻有机器人占据该单元格,则它与具有最高剩余代价序列的机器人交换序列。如果有机器人当前位于该单元格中,则保证其会移出该单元格。允许试图进入该单元格且具有最高剩余代价的机器人进入,其余所有机器人保持静止。通过使用此规则,任意机器人的最大行驶距离不会增加。
这些简单的规则确保了机器人行驶的最大距离不会增加,同时避免碰撞。
此外,这些规则还确保至少有一个机器人始终在取得进展,并且系统最终将成功完成。
7 仿真结果
本节展示了使用算法1的一些仿真结果。图3显示了小规模随机生成问题的一些基本结果(图图54展)。示。了在多次M试验中,10个机器人的计算时间趋势。该图清晰地表明,计算时间的趋势与第4.3节中的预测一致。无论是在图中还是在预测中,计算最小生成森林(MSF)的时间随M的增加而增长最快。一个与预期不符的情况是,优化步骤理论上应随M呈立方增长。然而,由于仿真中使用了 Blossom 5[12],这一先进的最小权完美匹配求解器,这种立方增长仅在目标数量达到数千时才明显。需要注意的是,10个机器人访问200个目标的仿真总计算时间稳定地保持在5秒以内。
图6表明避碰修正方法足以确保所有机器人的碰撞避免。
图3 采用随机生成的一致目标位置并改变N的仿真试验。红色圆圈 表示机器人起始位置,绿色星号 表示目标位置。列出的 ˆJ值是针对该问题返回解所需的最小 ˆJ值。注意随着机器人的数量的不同,解的差异也较大。这是第5节中优化的结果。
图4 针对每个M值进行的100次仿真试验,其中N= 10,以展示计算量增长情况。注意,规划(红色)和优化(粉色)步骤的计算量大致随机器人数量线性增长。算法1的二分查找在M上呈超线性增长,但如预期为次二次增长。计算最小生成森林的期望复杂度为O(M2log M),当M= 200以上时开始主导计算时间
图5 针对每个N值进行的100次仿真试验,其中M= 100,以展示计算量增长情况。在此示例中,所有步骤相对于N的计算时间大致恒定。O(N 3 )的二分查找预期增长在N如此小的取值下并不明显
时间最优多机器人路径规划的近似算法 639
图6 a 显示了一组要访问的初始条件。尽管交互程度很高,但从(b)中可以看出,任意两个机器人之间的间距从未为负,因此避免了碰撞
8 结论
本文提出了一种集中式方法,用于生成需要访问的目标序列,使得点机器人访问所有目标位置的时间不超过最优时间的常数倍。该方法的计算复杂度在机器人数量和目标数量上均为多项式级别。随后,设计了一种避障方案,以确保简化机器人能够安全到达各自的目标位置。最后,通过一组仿真结果展示了该方法的有效性。
未来研究的一个有趣方向是探索更多的优化步骤。例如,目前片段的划分采用了一种简单的流程,旨在最小化最大片段。在划分片段时,或许可以结合机器人的位置以及机器人到目标的分配。这在实践中可能会提供更好的解,但仍然不会改善次优性的界。
1637

被折叠的 条评论
为什么被折叠?



