经典文献阅读之--PIBT(基于可见树的实时规划方案)

news2024/12/28 2:30:19

0. 简介

作为路径规划而言,不单单有单个机器人自主路径规划,近年来随着机器人行业的兴起,多机器人自主路径规划也越来越受到关注,对于多智能体寻路(MAPF)。一般的操作会给定一个地图、机器人集群、以及它们的初始位置和目的地,MAPF会最终输出一组没有碰撞的路径,用于控制机器人集群完成运动。《Iterative Refinement for Real-Time Multi-Robot Path Planning》文中认为迭代细化MAPF是可取的,原因有三:1)多智能体优化是棘手的,2)次优解可以立即获得,3)在线场景中需要考虑的时间有限,所以要求MAPF是实时规划的。

文中的方案使用次优MAPF求解器来快速获得初始解,然后迭代两个过程:1)选择代理子集,2)使用最优MAPF求解器来优化所选代理的路径,同时保持其他路径不变。由于单个最优求解器只会优化所选代理机器人的路径,因此该方案可以快速生成足够有效的解决方案,同时提供高可伸缩性。相应的代码也在Github上开源了,可以这么说,这套方法还是很有意义的,

1. 文章贡献

  1. 文中提出了一个通用的框架,基于现有求解器的有效组合可以快速的提供anytimeMAPF求解。 文中的框架首先使用次优MAPF求解器快速获得初始可行解,然后使用最优MAPF求解器找到良好的邻域解。精确地说,该框架通过选择一组代理并使用最优求解器来细化它们的路径,同时保持其他路径固定,迭代地细化解决方案。尽管在细化过程使用了最优求解器,但是每次细化都能快速完成,因为它解决的是一个子问题,其大小取决于选择的代理机器人数量,通常比原问题小得多。我们还提出了合理的候选人,用于选择代理子集。
  2. 文中研究了在各种基准测试中该方法的有效性,并经验地发现,在小型实例中,该框架在短时间内几乎收敛到最优,并且即使对于非常大的实例(即大环境和/或许多代理)也保持着高效响应。换句话说,它比先前的技术带来了许多实际优势。
  3. 从更广泛的角度来看,我们的研究也可以被看作是解决一个非常大规模的邻域搜索[24]。更接近我们的概念,Balyo等人[25]研究了针对独立于领域的规划问题的局部重新规划,以优化最长时间。它重复以下操作:创建一个子问题,通过基于SAT的技术获得一个最优子解,并用新的解决方案替换原来的部分解决方案。
    请添加图片描述

2. 主要框架

该框架首先使用次优MAPF求解器获得初始解决方案,然后迭代地细化解决方案的选定部分,即选定代理子集的路径,使用最优MAPF求解器。我们在算法1中给出了伪代码
在这里插入图片描述
下面我们来详细的看一下,第1行输入的是次优求解器快速获得初始可行解决方案。在第二行中,我们称所用的次优MAPF求解器为初始求解器。如果初始求解器未能获得解决方案,则框架以失败告终;否则,开始细化,也就是3-6行里面的内容。细化重复以下两个过程,直到中断:

  1. 使用当前解决方案π [第4行]创建修改集M ⊆ A。
  2. 使用最优MAPF求解器[第5行]改变M中代理的路径来细化当前解决方案π。我们称这个求解器为细化求解器。细化求解器只改变M中代理的路径;M中代理以外的路径不变。细化继续进行直到中断,例如超时、达到预定迭代次数、不再有改进时、用户中断等。
    最终,框架返回最终解决方案[第7行]。

上文中提到的初始求解器可以是任何次优MAPF求解器,只要它能提供可行解即可。作为细化求解器,最好使用从最优求解器改编的版本。改编很简单;让它为M中的代理规划路径,并将其他代理视为动态障碍。例如,对于CBS算法,只为M中的代理求解MAPF,同时禁止低级别搜索使用M中代理以外的所有空间时间对。确切地说,细化求解器并不局限于最优MAPF求解器(可以使用单机器人的求解器)。要求是细化解决方案从原始解决方案不变差。考虑到M中代理以外的路径成本不变,要求是M中代理的路径成本在细化之前和之后都不会增加。

3. 细化求解器性质与要求

下面有一些性质显然是由对细化求解器的要求所设定的。

3.1 定理1(单调性):

对于算法1中的每次迭代,解决方案成本都是不增加的。
一个关键点是细化求解器重新计算所选子集M(一部分机器人)中代理的路径,而不是所有代理的集合A(所有机器人)。与直接使用最优求解器解决原问题相比,细化求解器在每次迭代中解决的问题明显小得多,确保框架即使对于大量代理也是可扩展的。同时下面有几种方法来有效的降低计算的时间。

A.提前终止(早停)
即使细化求解器解决的子问题与原问题相比计算量已经是较小的了,但是如果本身的 ∣ M ∣ |M| M仍然太大,细化仍然可能需要很长时间。在这种情况下,最好通过返回当前解决方案来中止当前细化,然后使用新的集合 M M M开始新的迭代。标准可以是超时或使用细化求解器中搜索树大小的阈值。

B.局限性
作为一个限制,该框架可能具有局部最小值,并且没有来自最优解的次优性界限。
命题1(没有次优性界限):考虑最优成本 c ∗ c^* c。在算法1中,总是 c ≤ w c ∗ c≤wc^* cwc,除非将 A A A本身选为修改集 M M M,其中 c c c是每次迭代中的解决方案成本。
证明:考虑图1中的一个例子。假设初始解决方案将 a 1 a_1 a1分配给顺时针路径(成本: k k k)和 a 2 a_2 a2分配给逆时针路径(成本:1)。当k≥6时,这就不是最优的模型了,因为 a 1 a_1 a1可以采取逆时针路径,并经过 a 2 a_2 a2来移动到目标处(总成本:6)。除非 M ≠ A M ≠ A M=A,否则细化的解决方案不变。假设 w ≥ 1 w≥1 w1,使得 c ≤ w c ∗ c≤wc^* cwc。我们可以取任意 k k k,与 w w w的存在相矛盾。
在这里插入图片描述

3.2 定理2(局部最小值存在)

根据初始解决方案,除非将A本身选为M,否则可能无法达到最优解。

注意,当 M = A M = A M=A时,细化求解器必须能够解决原始MAPF问题。

4. 修改集选择

我们从上面可以看到在优化的时候,修改集的选择会影响到整个系统的性能,而如何有效的选择修改集这个就非常重要了。修改集是框架的重要组成部分,其设计会影响计算时间和解决方案质量等性能。本节定义了几个选择规则,以提供合理的候选修改集。

4.1 随机的

一个天真的方法是随机挑选一个代理子集。然后,修改集的大小 M M M就是一个用户指定的参数。需要注意的是,大的 M M M修改有机会在一次迭代中很大程度上降低成本,但由于子问题变得具有挑战性,因此需要花费时间进行细化。

4.2 单一代理

这个规则总是选择一个单一的代理,因为 M M M可以被视为前一个规则(随机)的一个特例。即使只有一个代理,成本也可能因细化而降低。在这种情况下,细化只是一个单一代理的路径寻找问题,可以在没有 M A P F MAPF MAPF求解器的情况下有效地计算出来,例如,通过 A ∗ A^∗ A来计算即可,可以简化为一个机器人在其余障碍物(机器人)中规划出来的最优路径。

4.3 着重目标

考虑图2中的一个例子。假设当前的解决方案是 π 1 = ( v 2 , v 3 , v 6 , v 3 , v 3 ) π1 = (v2, v3, v6, v3, v3) π1=(v2,v3,v6,v3,v3) π 2 = ( v 1 , v 2 , v 3 , v 4 , v 5 ) π2 = (v1, v2, v3, v4, v5) π2=(v1,v2,v3,v4,v5) 。代理人 a 1 a_1 a1不能实现更短的路径,因为代理人 a 2 a_2 a2在第2个时间步长(第三个值)使用了 a 1 a_1 a1的目标(即v3)。一般来说,对于 a i a_i ai来说,理想成本 d i s t ( π i [ 0 ] , g i ) dist(π_i[0], g_i) dist(πi[0],gi)和实际成本成本 ( a i , π ) (a_i, π) (ai,π)之间存在差距的一个原因可能是另一个代理人 a j a_j aj在时间步骤 t ≥ d i s t ( π i [ 0 ] , g i ) t≥dist(π_i[0], g_i) tdist(πi[0],gi)时使用了 a i a_i ai的目标(即 g i g_i gi)。至少在 t t t之前, a i a_i ai不能到达 g i g_i gi并留在那里。在这种情况下,需要联合完善 a i a_i ai a j a_j aj的路径。这一观察促使我们创建了一个简单的规则,将当前的解决方案 π π π和一个代理 a i a_i ai作为输入。
在这里插入图片描述

4.4 围绕目标的局部修复

这是上一条规则(关注目标)的一个特例。再次假设图2的例子; π 1 = ( v 2 , v 3 , v 6 , v 3 , v 3 ) π1=(v2, v3, v6, v3, v3) π1=(v2,v3,v6,v3,v3) π 2 = ( v 1 , v 2 , v 3 , v 4 , v 5 ) π2 = (v1, v2, v3, v4, v5) π2=(v1,v2,v3,v4,v5)。在聚焦目标(focus-at-goals)中, a 1 a_1 a1 M M M { a 1 , a 2 } \{a_1, a_2\} {a1,a2},因此,细化求解器必须用两个代理解决一个子问题;然而,这种努力可以减少。考虑为 a 1 a_1 a1获得一个更好的路径,忽略 π 2 π_2 π2。在这个例子中,通过目标周围的局部修复获得一条新的路径,不需要搜索; ( v 2 , v 3 , v 3 , v 3 , v 3 ) (v2, v3, v3, v3, v3) (v2,v3,v3,v3,v3)。接下来,为 a 2 a_2 a2计算一条路径,同时避免与这条新路径和其他代理的路径发生碰撞。如果两条新路径的成本之和小于原始路径,就用新路径替换 π 1 π_1 π1 π 2 π_2 π2。由于搜索工作量减少,预计细化工作会更快完成。一般来说,当 π i = ( . . . , g i , v , g i , . . . , g i ) π_i=(...,g_i,v,g_i,...,g_i) πi=...givgi...gi,其中 v ≠ g i v ≠ g_i v=gi,而另一个代理 a j a_j aj在该时间步长使用 g i g_i gi时,可以应用这一规则。

4.5 使用MDD

给定一个单一的路径成本 c c c,从 π i [ 0 ] π_i[0] πi[0] g i g_i gi的一组路径可以紧凑地表示为一个多值决策图(MMDD)[35];一个有向无环图,其中一个顶点是一对位置 v ∈ V v∈V vV和一个时间步长 t ∈ N t∈N tN

  1. 在该时间段从起点出发的可达位置;
  2. 从该时间段到目标的可达位置。
    让MDDc i是一个成本为 c c c a i a_i ai的MDD,图3显示了两个例子。 M D D 1 2 MDD^2_1 MDD12 M D D 1 3 MDD^3_1 MDD13。MDD在MAPF求解器中经常使用[28], [36]。

…详情请参照古月居

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/571757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IP地址分配与释放

IP 分配我们平时应该接触比较少。还记得在大学的时候,刚入学第一件事就是赶紧交网费。交网费时会有一个步骤,网管会让你提供 MAC 地址,然后把 IP 地址和 MAC 地址绑定,这也就是博主在隔壁宿舍无法通过网线上网的原因。 其实&#…

如何在华为OD机试中获得满分?Java实现【寻找相似单词】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

[已解决] 决定系数R2为何为负 from sklearn.metrics import r2_score

最近在炼丹发现一件很有趣的现象,决定系数R2竟然为负,小学生都知道任何一个常数的平方绝不可能为负,潜意识里告诉我这里面必有蹊跷,因此查阅许多资料得知,决定系数R2不是r相关系数的平方这么简单,实际上当非…

加密后的敏感字段还能进行模糊查询吗?该如何实现?

前言 有一个问题不知道大家想过没?敏感字段数据是加密存储在数据库的表中,如果需要对这些敏感字段进行模模糊查询,还用原来的通过sql的where从句的like来模糊查询的方式肯定是不行的,那么应该怎么实现呢?这篇文章就来…

zigbee 串行通信

串口通信需要三个函数 // Initialize UART at the startup //------------------------------------------------------------------- void halUartInit(uint32 baud);//------------------------------------------------------------------- // Read a buffer from the UART …

MySQL 的锁

目录 一、锁的分类 二、全局锁、表级锁、页级锁、行级锁 三、乐观锁和悲观锁 四、共享锁和排它锁 五、意向共享锁和意向排它锁 六、间隙锁、临键锁、记录锁 锁的分类和用途 一、锁的分类 1、MySQL锁可以按模式分类为: 乐观锁悲观锁。 2、按粒度分可以分为&a…

【2023 · CANN训练营第一季】MindSpore模型快速调优攻略 第三章——MindSpore云上调试调优

1.ModelArts云上调试调优 ModelArts密钥初始化 详细教程: 初始化OBS服务 创建训练作业 2.MindSpore IDE插件效率提升 通过智能代码块推荐、代码自动补全等特性,提升MindSpore脚本开发效率,对接ModelArts云服务,实现模型训…

龙芯2K1000实战开发-时钟设计

文章目录 概要整体架构流程技术名词解释技术细节小结概要 提示:这里可以添加技术概要 本文主要结合项目方案,结合相应外设需求,设计单板时钟方案 整体架构流程 提示:这里可以添加技术整体架构 整体单板时钟方案,分为两部分。 一部分是:以CPU为核心,包括自身一些控…

VR全景智慧城市:构筑未来城市的数字化大融合

引言: 现代城市正处于数字化时代的浪潮之中,而在这个数字化浪潮中,VR全景智慧城市正以令人瞩目的方式崭露头角。随着虚拟现实(VR)技术的不断进步和智慧城市的发展需求,VR全景智慧城市作为数字技术与城市发展…

openGauss Developer Day 2023 | 邀您参加海量数据分论坛

尊敬的数据库开发者 : 海量数据 已为您备好一封通往数智时代的邀请函,请您于 5月26日 前往北京昆泰嘉瑞文化中心,赶赴 openGauss Developer Day 2023 的盛大约定。 本次专场活动中,海量数据将会轮番为您展示最核心的技术…

chatgpt赋能python:Python二次方的表示方法及其应用

Python 二次方的表示方法及其应用 介绍 Python是一种优雅、简洁、易学的编程语言,很多程序员选择使用Python开发各种应用。在计算机科学中,二次方(也称为平方)非常常见。在Python中,我们有多种方法来表示二次方。 平…

C Primer Plus第六章编程练习答案

学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出! 1.编写一个程序,创建一个包…

中小企业如何差异化“生意表达”,成为最了不起的小企业?

​如今的市场已经不是几十年前随便卖一点新鲜的玩意儿就能火爆的场景了。科技发达了,人们的眼界也开阔了,各式各样,琳琅满目的商品占据了市场空间,生意越来越饱满。 竞争趋势激烈,商品同质化现象严重。一些商家企业通过压低价格的…

docker入门(1)----服务/镜像/容器相关命令

安装 官网安装app命令行安装(但是没有图形界面app)brew install docker 架构 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像ubuntu:16.04 就包含了…

深度学习笔记之循环神经网络(七)反向传播角度观察LSTM

深度学习笔记之循环神经网络——反向传播角度观察LSTM 引言回顾加补充:通过时间反向传播 LSTM \text{LSTM} LSTM的反向传播过程场景构建示例:求解梯度 L ( T ) ∂ W X ⇒ F \begin{aligned}\frac{\mathcal L^{(\mathcal T)}}{\partial \mathcal W_{\math…

2023年第十五届B题电工杯初步解题思路

第十五届“中国电机工程学会杯”全国大学生 电工数学建模竞赛题目 B题 人工智能对大学生学习影响的评价 人工智能简称AI,最初由麦卡锡、明斯基等科学家于1956年在美国达特茅斯学院开会研讨时提出。 2016年,人工智能AlphaGo 4:1战胜韩国围棋高手李世石…

javaWeb 兼职管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh兼职管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Mye…

服务器被勒索病毒攻击怎么办,如何进行勒索病毒解密与预防工作?

在当今社会中服务器已经成为企业关键数据存储和传输的重要载体,同样也成为黑客攻击和勒索病毒的首要目标。一旦服务器被勒索病毒攻击,企业的正常运转与经济利益和核心数据都将受到威胁。下面将为大家介绍一下服务器被勒索病毒攻击后应该采取怎样的措施及…

【1091. 二进制矩阵中的最短路径】

来源:力扣(LeetCode) 描述: 给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径,返回 -1 。 二进制矩阵中的 畅通路径 是一条从 左上角 单元格(即&…

【参考设计】16芯串联电池包储能系统

电池包的应用与技术问题 为了获得更大的能量密度,锂离子和磷酸铁锂电池在电池包中的使用越来越多,比如:电信机房的UPS单元,移动式电站,储能系统等。 锂离子和磷酸铁锂电池在提供更高的功率和能量密度的同时也需要更准…