CN116007624A - 一种路径规划方法、装置、设备及存储介质 - Google Patents
一种路径规划方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116007624A CN116007624A CN202211559816.9A CN202211559816A CN116007624A CN 116007624 A CN116007624 A CN 116007624A CN 202211559816 A CN202211559816 A CN 202211559816A CN 116007624 A CN116007624 A CN 116007624A
- Authority
- CN
- China
- Prior art keywords
- path
- planned
- agent
- node
- planning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Traffic Control Systems (AREA)
Abstract
本申请提供了一种路径规划方法、装置、设备及存储介质。该方法包括:根据预构建的道路邻接矩阵,确定待规划智能体的初始规划路径;根据初始规划路径,确定对应的三维时间窗,三维时间窗包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段;根据待规划智能体途经初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对初始规划路径进行更新,得到待规划智能体的目标规划路径。本申请可以实现任一智能体在多智能体任务调度场景下的无碰撞路径规划,减少多智能体路径规划时的资源开销,避免多智能体任务调度下的死锁现象,提升多智能体在目标规划路径下的安全性。
Description
技术领域
本申请实施例涉及数据处理技术领域,具体涉及一种路径规划方法、装置、设备及存储介质。
背景技术
随着工业互联网的飞速发展,在仓储管理、物流调度、城市交通、生产制造等领域,通常会配置多个智能体,例如仓储机器人、物流机器人、自动导引运输车(AutomatedGuided Vehicle,简称为AGV)、无人驾驶车辆等,以通过调度各个智能体来完成相应的分配任务。
在多智能体任务调度场景下,通常按照每个智能体所分配的任务,来规划对应的路径。但是,多个智能体按照所规划好的路径运动时,可能会发生碰撞冲突的情况,导致多智能体在调度过程中出现死锁现象,无法保证多智能体的任务成功执行。
发明内容
本申请实施例提供一种路径规划方法、装置、设备及存储介质,通过三维时间窗实现任一智能体在多智能体任务调度场景下的无碰撞路径规划,减少多智能体路径规划时的资源开销,提升任一智能体在目标规划路径下的运动安全性。
第一方面,本申请实施例提供了一种路径规划方法,该方法包括:
响应于待规划智能体的任务调度指令,根据预构建的道路邻接矩阵,确定所述待规划智能体的初始规划路径;
根据所述初始规划路径,确定对应的三维时间窗,所述三维时间窗包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段;
根据所述待规划智能体途经所述初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对所述初始规划路径进行更新,得到所述待规划智能体的目标规划路径。
第二方面,本申请实施例提供了一种路径规划装置,该装置包括:
初始路径确定模块,用于响应于待规划智能体的任务调度指令,根据预构建的道路邻接矩阵,确定所述待规划智能体的初始规划路径;
时间窗确定模块,用于根据所述初始规划路径,确定对应的三维时间窗,所述三维时间窗包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段;
路径规划模块,用于根据所述待规划智能体途经所述初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对所述初始规划路径进行更新,得到所述待规划智能体的目标规划路径。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行本申请第一方面中提供的路径规划方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行如本申请第一方面中提供的路径规划方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如本申请第一方面中提供的路径规划方法。
本申请实施例提供一种路径规划方法、装置、设备及存储介质,响应于任一待规划智能体的任务调度指令,首先根据预构建的道路邻接矩阵,确定待规划智能体的初始规划路径,以确定对应的三维时间窗,该三维时间窗中包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段。然后,根据待规划智能体途经初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对该初始规划路径进行更新,得到待规划智能体的目标规划路径,使得待规划智能体在目标规划路径中与各个已规划智能体间不存在碰撞,从而实现任一智能体在多智能体任务调度场景下的无碰撞路径规划,减少多智能体路径规划时的资源开销,避免多智能体任务调度下的死锁现象,提升任一智能体在目标规划路径下的运动安全性,确保任一智能体对于调度任务的成功执行。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例示出的一种路径规划方法的流程图;
图2为本申请实施例示出的三维时间窗的结构示意图;
图3为本申请实施例示出的待规划智能体在每一路径节点下的途经时段的示意图;
图4为本申请实施例示出的另一种路径规划方法的流程图;
图5为本申请实施例示出的判断待规划智能体与任一第一类已规划智能体在当前路径节点下是否存在第一类碰撞的示意图;
图6为本申请实施例示出的判断待规划智能体与任一第二类已规划智能体在从当前路径节点到下一路径节点的当前子路径内是否存在第二类碰撞的示意图;
图7为本申请实施例示出的一种路径规划装置的原理框图;
图8是本申请实施例示出的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了解决多智能体任务调度场景下为任一智能体规划的路径可能存在与其他智能体发生碰撞冲突而出现死锁现象的情况,本申请实施例设计了一种用于消除任一智能体规划的路径中可能与其他智能体发生碰撞冲突的路径规划方案。通过三维时间窗结构来记录每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段。然后,在接收到任一待规划智能体的任务调度指令时,首先根据预构建的道路邻接矩阵,确定待规划智能体的初始规划路径,以确定对应的三维时间窗。进而,根据待规划智能体途经初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,分析待规划智能体在途经每一路径节点时是否与各个已规划智能体存在碰撞,来对该初始规划路径进行更新,得到待规划智能体的目标规划路径,使得待规划智能体在目标规划路径中与各个已规划智能体间不存在碰撞,从而实现任一智能体在多智能体任务调度场景下的无碰撞路径规划,提升任一智能体在目标规划路径下的运动安全性。
图1为本申请实施例示出的一种路径规划方法的流程图。参照图1,该方法可以包括如下步骤:
S110,响应于待规划智能体的任务调度指令,根据预构建的道路邻接矩阵,确定待规划智能体的初始规划路径。
其中,智能体可以是仓储机器人、物流机器人、AGV小车、无人驾驶车辆等在所划定的某一特定道路场景下执行各种任务的智能实体。通过在该特定道路场景下调度各个智能体来执行所分配的相应任务,使得各个智能体在该特定道路场景下的不同道路进行通行。
本申请中,为了对多智能体在所处的特定道路场景内的准确通行,首先需要对该特定道路场景下存在各个道路进行预先分析。所以,本申请可以首先确定出该特定道路场景内存在的各个交叉路口。在任一交叉路口,智能体可能会驶向不同的道路。然后,为了确保多智能体在特定道路场景内的准确通行,本申请可以将特定道路场景内的各个交叉路口作为对应的路径节点,来分析任意两个路径节点之间的相邻关系,从而构建出对应的道路邻接矩阵。
在一些可实现方式中,对于任一智能体而言,在为该智能体分配相应的任务时,首先会生成该智能体的任务调度指令。其中,该智能体为本申请中的待规划智能体,该任务调度指令中会携带该待规划智能体执行所分配任务时当前所处的起始路径节点和最终需要到达的目标路径节点,
响应于待规划智能体的任务调度指令,首先会根据预构建的道路邻接矩阵中每两个路径节点之间的相邻关系,来分析待规划智能体从起始路径节点到目标路径节点之间的可通行路径,作为待规划智能体的初始规划路径。
作为本申请中的一种可选实现方案,在检测到待规划智能体的任务调度指令时,本申请可以通过下述步骤来确定待规划智能体的初始规划路径:
第一步,根据待规划智能体所处的道路场景地图中的路径节点,构建对应的道路邻接矩阵。
本申请可以通过任意两个路径节点之间可通行的路径长度来表示这两个路径节点之间的相邻关系。例如,如果某两个路径节点之间不存在可通行道路,那么可以将这两个路径节点间的路径长度设定为无穷大,以作为对应的不可通行标识。而如果某两个路径节点之间存在可通行道路,说明这两个路径节点相邻,那么可以将这两个路径节点之间的可通行道路的道路长度作为对应的路径长度。
所以,本申请可以首先获取多智能体所处的道路场景地图,来分析该道路场景地图中存在的各个交叉路口,作为对应的路径节点,并确定每一路径节点的位置坐标。然后,通过分析每两个路径节点之间是否存在可通行道路和可通行道路的长度,来构建对应的道路邻接矩阵。
示例性的,假设多智能体所处的道路场景地图存在N个路径节点,那么道路邻接矩阵可以为N*N的二维矩阵,每个矩阵元素为对应的两个路径节点之间的路径长度。
第二步,根据道路邻接矩阵,搜索待规划智能体从起始路径节点到目标路径节点间的最短路径,得到待规划智能体的初始规划路径。
在检测到待规划智能体的任务调度指令后,首先确定待规划智能体所处的道路场景地图对应的道路邻接矩阵,以分析每两个路径节点之间是否存在可通行道路以及可通行道路的长度。
在为待规划智能体规划任务路径时,可以将待规划智能体当前所在的路径节点作为起始路径节点,并确定待规划智能体执行相应分配任务时所要求最终到达的目标路径节点。然后,根据道路邻接矩阵内每两个路径节点之间的路径长度,可以采用弗洛伊德(Floyd)算法或者迪杰斯特拉(Dijkstra)算法等最短路径算法,来搜索从起始路径节点到目标路径节点间的最短路径。进而,由于该最短路径的搜索并未考虑其是否与其他智能体已规划好的路径之间存在碰撞冲突,所以本申请可以将该最短路径作为待规划智能体的初始规划路径,以便后续根据其与各个已规划智能体间的路径碰撞冲突,来对该初始规划路径进行进一步优化,从而避免多智能体在任务调度过程中出现碰撞的现象。
S120,根据初始规划路径,确定对应的三维时间窗,该三维时间窗包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段。
考虑到待规划智能体的初始规划路径是在不考虑与其他智能体已规划好的路径间的碰撞冲突的情况下确定的,而为了保证多智能体在任务调度过程中的安全通行,需要尽可能避免多智能体间的碰撞。所以,本申请需要分析每一智能体在途经该智能体已规划好的路径中每一路径节点时的途经时段,且每一路径节点对应的途经时段可以包括在该路径节点下的驶入时间点和驶出时间点。
由上述内容可知,本申请可以从智能体、路径节点和时间这三个维度来构建一个三维时间窗的数据结构,使得在一个时间窗模型上即可快速定位到任一智能体在任一路径节点上的时间窗,该时间窗是指任一智能体从进入任一路径节点到离开该路径节点的阶段所占用的途经时段。
那么,为了避免多智能体在任务调度过程中的碰撞,要求在任一智能体途经任一路径节点时的途经时段内,不允许其他智能体在该路径节点上通行,而其他智能体可以在该路径节点被占用的途经时段之外的空间时段内通行。
其中,如图2所示,三维时间窗的数据结构可以为从智能体和路径节点两个维度构建对应的时间窗矩阵,该时间窗矩阵的矩阵元素可以为采用链表(list)结构存在的任一智能体在任一路径节点下的途经时段所表示的时间窗,每个时间窗可以包括任一智能体在任一路径节点下的驶入时间点和驶出时间点这两个时间点信息。
本申请中的智能体可以分为待规划智能体、已规划智能体和未规划智能体三种。对于未规划智能体而言,并不存在任务调度需求,也就不存在途经相应路径节点时的途经时段。所以,在三维时间窗内未规划智能体对应的途经时段为空。而对于已规划智能体而言,已经为其规划好对应的路径。所以,三维时间窗内会存储每一已规划智能体在途经对应的规划路径中每一路径节点时的途经时段。
对于待规划智能体而言,在确定出待规划智能体的初始规划路径后,可以根据待规划智能体的通行速度和智能体大小以及初始规划路径中相邻路径节点间的路径长度,来计算待规划智能体在途经初始规划路径中每一路径节点时的驶入时间点和驶出时间点,从而得到对应的途经时段。
示例性的,如图3所示,以待规划智能体的初始规划路径中包括起始路径节点、目标路径节点和一个中间路径节点为例,假设每两个相邻的路径节点间的路径长度为D,待规划智能体的长和宽分别为L和W,通行速度为V。为了避免任意两个智能体在某一路径节点处发生碰撞,以每一路径节点为中心,智能体宽度为边长的正方形区域可以作为待规划智能体途经该路径节点时对应的节点区域,要求该待规划智能体在途经该路径节点时,并不能有其他智能体经过该路径节点。
所以,对于起始路径节点和目标路径节点,待规划智能体会停在起始路径节点中心处而开始向外驶出,且待规划智能体驶入目标路径节点后并不会驶出,而是停在目标路径节点中心处。
所以,如图3所示,待规划智能体在起始路径节点和目标路径节点的耗时可以为t1=(L+W)/2V,在中间路径节点的耗时可以为t2=(L+W)V,待规划智能体在每两个相邻的路径节点之间的路径耗时可以为t3=(D-L-W)V。
其中,待规划智能体在每两个相邻的路径节点之间的路径耗时并不固定,会随着这两个路径节点之间的路径长度D而发生变化。
那么,假设待规划智能体在起始路径节点的任务开始时间点为T,那么,待规划智能体在起始路径节点的驶入时间点为T1=T,在起始路径节点的驶出时间点为T2=T+t1,得到待规划智能体在途经起始路径节点时的途经时段为(T,T+t1)。在中间路径节点的驶入时间点为T3=T2+t3,在中间路径节点的驶出时间点为T4=T3+t2,得到待规划智能体在途经中间路径节点时的途经时段为(T3,T3+t2)。在目标路径节点的驶入时间点为T5=T4+t3,在目标路径节点的驶出时间点为T6=T5+t1,得到待规划智能体在途经目标路径节点时的途经时段为(T5,T5+t1)。
S130,根据待规划智能体途经初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对初始规划路径进行更新,得到待规划智能体的目标规划路径。
在根据待规划智能体的初始规划路径确定出对应的三维时间窗口后,可以在三维时间窗中确定待规划智能体在途经初始规划路径中每一路径节点时的第一途经时段,以及每一已规划智能体在途经为其已规划好的目标规划路径中每一路径节点时的第二途经时段。
根据上述内容,还可以确定出待规划智能体在初始规划路径中的任意两个相邻路径节点之间通行时的时间段,以及每一已规划智能体在已规划好的目标规划路径中的任意两个相邻路径节点之间通行时的时间段。
然后,根据待规划智能体在初始规划路径上的各个时间段和每一已规划智能体在已规划好的目标规划路径上的各个时间段,来判断待规划智能体和任一已规划智能体在某一相同路段上是否存在部分重合的时间段,以此判断待规划智能体和任一已规划智能体是否可能存在碰撞冲突。
如果待规划智能体和任一已规划智能体存在碰撞冲突,那么可以通过更新待规划智能体在碰撞路径节点的途经时段或者直接重新搜索从起始路径节点到目标路径节点间的一条新的路径,来重新判断是否与已规划智能体存在碰撞冲突,来不断更新初始规划路径,直至待规划智能体在某一条新的路径中与各个已规划智能体都不存在碰撞冲突。那么,可以将该新的路径作为待规划智能体的目标规划路径,此时三维时间窗中可以存储待规划智能体途经该目标规划路径中每一路径节点时的途经时段。
本申请实施例提供的技术方案,响应于任一待规划智能体的任务调度指令,首先根据预构建的道路邻接矩阵,确定待规划智能体的初始规划路径,以确定对应的三维时间窗,该三维时间窗中包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段。然后,根据待规划智能体途经初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对该初始规划路径进行更新,得到待规划智能体的目标规划路径,使得待规划智能体在目标规划路径中与各个已规划智能体间不存在碰撞,从而实现任一智能体在多智能体任务调度场景下的无碰撞路径规划,减少多智能体路径规划时的资源开销,避免多智能体任务调度下的死锁现象,提升任一智能体在目标规划路径下的运动安全性,确保任一智能体对于调度任务的成功执行。
作为本申请中的一种可选实现方案,考虑到待规划智能体和任一已规划智能体之间的碰撞冲突,可以会在两者同时经过某一路径节点时而存在,也可能是两者同时在相邻的某两个路径节点之间的路段内相向而行时存在。所以,为了完全避免待规划智能体与各个已规划智能体之间可能存在的碰撞冲突,本申请可以从不同角度,来全面分析待规划智能体与各个已规划智能体之间是否存在碰撞冲突。
接下来,本申请可以对通过更新初始规划路径,来确定待规划智能体的目标规划路径的具体更新过程进行详细的解释说明。
图4为本申请实施例示出的另一种路径规划方法的流程图,如图4所示,该方法可以包括如下步骤:
S401,响应于待规划智能体的任务调度指令,根据预构建的道路邻接矩阵,确定待规划智能体的初始规划路径。
S402,根据初始规划路径,确定对应的三维时间窗,该三维时间窗包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段。
S403,将初始规划路径作为当前规划路径,将初始规划路径中的首个路径节点,作为当前路径节点。
考虑到待规划智能体在驶入任一路径节点还未驶出或者驶出任一路径节点后还未驶入下一路径节点时的过程中都有可能与某一已规划智能体发生碰撞。所以,为了全面避免待规划智能体规划路径时的碰撞冲突,本申请需要在每一路径节点下判断一次待规划智能体与已规划智能体间是否存在碰撞冲突,而不断对初始规划路径进行更新。
所以,本申请可以将初始规划路径作为最开始的当前规划路径,并将初始规划路径中的首个路径节点,也就是待规划智能体的起始路径节点,作为当前路径节点,以便后续遍历各个路径节点,来对初始规划路径进行不断更新。
S404,判断待规划智能体在当前路径节点下的第一类已规划智能体是否为空,若是,执行S410;若否,执行S405。
对于每一个当前路径节点而言,首先需要从各个已规划路径已规划好的目标规划路径中,遍历所有的路径节点,来查询目标规划路径中是否存在当前路径节点,以从所有的已规划智能体中查找出会途经当前路径节点的第一类已规划智能体。也就是,第一类已规划智能体的目标规划路径中存在当前路径节点。
应当理解的是,如果待规划智能体在当前路径节点下的第一类已规划智能体为空,说明在当前路径节点或者当前路径节点关联的路段内并不存在任何已规划智能体,也就不存在碰撞冲突。所以,可以直接将当前路径节点的下一路径节点作为新的当前路径节点,来继续判断待规划智能体与已规划智能体间的碰撞冲突。
示例性的,假设已规划智能体A所规划好的目标规划路径为1→2→3→4,已规划智能体B所规划好的目标规划路径为4→3→6→2,待规划智能体C的初始规划路径为3→2→1→8。
那么,首个路径节点3为当前路径节点,已规划智能体A和已规划智能体B的所规划好的目标规划路径中均存在当前路径节点3,所以已规划智能体A和已规划智能体B均为第一类已规划智能体。
S405,根据待规划智能体和第一类已规划智能体在当前路径节点下的途经时段,确定待规划智能体与任一第一类已规划智能体在当前路径节点下是否存在第一类碰撞,若是,执行S406;若否,执行S407。
在本申请中,根据待规划智能体和已规划智能体之间发生碰撞的位置点,可以将碰撞分为两类,一种是待规划智能体和某一已规划智能体同时途经同一路径节点时发生的碰撞,另一种是待规划智能体和某一已规划智能体同时在某两个相邻路径节点间形成的同一路段内相向而行时发生的碰撞。
所以,在查找出已规划好的路径中存在当前路径节点的第一类已规划智能体后,首先从三维时间窗中确定每个第一类已规划智能体在途经当前路径节点时的第二途经时段和待规划智能体在途经当前路径节点时的第一途经时段。然后,针对任一第一类已规划智能体,判断待规划智能体在当前路径节点下的第一途经时段和该第一类已规划智能体在当前路径节点下的第二途经时段之间是否存在重合时段。
如果待规划智能体与某一第一类已规划智能体在途经当前路径节点时的途经时段存在重合的部分,说明两者会同时经过当前路径节点,即可确定待规划智能体与该第一类已规划智能体在当前路径节点下存在第一类碰撞。
其中,第一类碰撞是指待规划智能体与某一第一类已规划智能体在同时经过某一路径节点时存在的碰撞冲突。第一类碰撞可以通过控制待规划智能体在等待第一类已规划智能体驶出该路径节点之后再驶入该路径节点,来完成碰撞规避。所以,本申请中待规划智能体与任一第一类已规划智能体在某一路径节点下存在的第一类碰撞属于可规避的碰撞。
示例性的,如图5所示,假设待规划智能体在当前路径节点下的第一途经时段包括在当前路径节点下的第一驶入时间点Q1和第一驶出时间点Q2,任一第一类已规划智能体在当前路径节点下的第二途经时段包括在当前路径节点下的第二驶入时间点P1和第二驶出时间点P2。
上述条件可以表示:待规划智能体会在第一类已规划智能体驶入当前路径节点之后驶出当前路径节点,且待规划智能体会在第一类已规划智能体驶出当前路径节点之前驶入当前路径节点。那么,两者在当前路径节点下必然存在重合的途经时段。
所以,如果待规划智能体与某一第一类已规划智能体在当前路径节点下的驶入时间点和驶出时间点满足上述条件,即可确定待规划智能体与该第一类已规划智能体在当前路径节点下存在第一类碰撞。
S406,更新待规划智能体在当前路径节点和每一后序路径节点下的第一途经时段。
如果待规划智能体与某一第一类已规划智能体在当前路径节点下存在第一类碰撞,那么考虑到该第一类已规划智能体在当前路径节点下的途经时段是已规划好而不可变化的,本申请可以通过推迟待规划智能体驶入当前路径节点的时间点,来规避待规划智能体和该第一类已规划智能体在当前路径节点下存在的第一类碰撞。
所以,根据与待规划智能体存在第一类碰撞的某个第一类已规划智能体在当前路径节点下的第二途经时段,可以设定待规划智能体在当前路径节点下的第一途经时段位于该第二途经时段之后,从而得到待规划智能体在当前路径节点下的等待时长。而且,由于待规划智能体在当前路径节点下的第一途经时段发生变化,那么待规划智能体在当前路径节点之后的每个后续路径节点下的第一途经时段也会随之变化。所以,按照待规划智能体在当前路径节点下的等待时长,控制待规划智能体在每一后序路径节点下的第一途经时段也相应延迟该等待时长,来更新待规划智能体在每一后序路径节点下的第一途经时段。
作为本申请中的一种可选实现方案,本申请中更新待规划智能体在当前路径节点和每一后序路径节点下的第一途经时段时,可以具体为:根据待规划智能体在当前路径节点下的第一驶入时间点和目标第一类已规划智能体在当前路径节点下的第二驶出时间点,确定待规划智能体在当前路径节点下的碰撞推延时长;根据碰撞推延时长,更新待规划智能体在当前路径节点和每一后序路径节点下的第一驶入时间点和第一驶出时间点。
也就是说,将与待规划智能体存在第一类碰撞的第一类已规划智能体作为本申请中的目标第一类已规划智能体。为了确保待规划智能体能够在目标第一类已规划智能体驶出当前路径节点后才驶入当前路径节点,而规避两者在当前路径节点下存在的第一类碰撞,本申请可以计算待规划智能体在当前路径节点下的第一驶入时间点和目标第一类已规划智能体在当前路径节点下的第二驶出时间点之间的差值,作为待规划智能体在当前路径节点下需要等待的碰撞推延时长。
示例性的,假设待规划智能体在当前路径节点下的第一驶入时间点为Q1,目标第一类已规划智能体在当前路径节点下的第二驶出时间点为P2,那么待规划智能体在当前路径节点下的碰撞推延时长delayTime=P2-Q1。
然后,按照该碰撞推延时长,可以设定待规划智能体在当前路径节点和每一后序路径节点下的第一驶入时间点和第一驶出时间点均向后延迟该碰撞推延时长,得到待规划智能体在当前路径节点和每一后序路径节点下的新的第一驶入时间点和第一驶出时间点,从而更新待规划智能体在三维时间窗中的对应途经时段信息。
S407,判断待规划智能体在当前路径节点下的第二类已规划智能体是否为空,若是,执行S410;若否,执行S408。
在判断待规划智能体与任一第一类已规划智能体在当前路径节点下是否存在第一类碰撞后,无论是否存在第一类碰撞,都还需要进一步判断在待规划智能体在驶出当前路径节点后而驶入下一路径节点之间的路段内是否存在与待规划智能体相向而行的第二类已规划智能体。其中,第二类已规划智能体所规划好的目标规划路径中存在从当前路径节点到下一路径节点的当前子路径的反向子路径。
也就是,通过遍历每个已规划智能体所规划好的目标规划路径中的各个路径节点,可以查找出目标规划路径中存在与从当前路径节点到下一路径节点的当前子路径相反的反向子路径的部分已规划智能体,作为本申请中的第二类已规划智能体。由于第二类已规划智能体的目标规划路径中必定存在当前路径节点,所以第二类已规划智能体属于第一类已规划智能体中的部分子集。
示例性的,假设已规划智能体A所规划好的目标规划路径为1→2→3→4,已规划智能体B所规划好的目标规划路径为4→3→6→2,待规划智能体C的初始规划路径为3→2→1→8。
那么,首个路径节点3为当前路径节点,从当前路径节点到下一路径节点的当前子路径为3→2,那么反向子路径为2→3。所以,通过遍历已规划智能体A和已规划智能体B的目标规划路径,来判断是否存在反向子路径2→3。那么,已规划智能体A的目标规划路径中存在反向子路径2→3,已规划智能体B的目标规划路径中不存在反向子路径2→3,所以已规划智能体A为第二类已规划智能体。
应当理解的是,如果待规划智能体在当前路径节点下的第二类已规划智能体为空,说明在当前路径节点到下一路径节点的当前子路径内并不存在任何已规划智能体,也就不存在碰撞冲突。所以,可以直接将当前路径节点的下一路径节点作为新的当前路径节点,来继续判断待规划智能体与已规划智能体间的碰撞冲突。
S408,根据待规划智能体和第二类已规划智能体在当前路径节点和下一路径节点下的途经时段,确定待规划智能体与任一第二类已规划智能体在从当前路径节点到下一路径节点的当前子路径内是否存在第二类碰撞,若是,执行S409;若否,执行S410。
在查找出第二类已规划智能体后,第二类已规划智能体是从下一路径节点驶向当前路径节点,与待规划智能体在当前路径节点和下一路径节点之间的路段内相向而行。
此时,可以从三维时间窗中确定每个第二类已规划智能体在途经当前路径节点和下一路径节点时的第二途经时段,且第二类已规划智能体在当前路径节点下的第二途经时段中的第二驶入时间点和第二驶出时间点会大于在下一路径节点下的第二途经时段中的第二驶入时间点和第二驶出时间点。而且,确定待规划智能体在途经当前路径节点和下一路径节点时的第一途经时段中的第一驶入时间点和第一驶出时间点。
根据上述时间点,可以确定出待规划智能体从当前路径节点到下一路径节点的当前子路径内通行的时段为从在当前路径节点下的第一驶入时间点到在下一路径节点下的第一驶入时间点之间的时段,任一第二类已规划智能体从下一路径节点到当前路径节点的反向子路径内通行的时段为从在下一路径节点下的第二驶出时间点到在当前路径节点下的第二驶出时间点之间的时段。然后,通过判断待规划智能体在当前子路径内通行的时段和每个第二类已规划智能体在反向子路径内通行的时段之间是否存在重合时段,来判断待规划智能体与任一第二类已规划智能体在当前子路径内是否存在第二类碰撞。如果待规划智能体在途经当前子路径时与某一第二类已规划智能体在途经反向子路径时的途经时段存在重合的部分,说明两者会同时经过当前子路径内的某一位置点,即可确定待规划智能体与该第二类已规划智能体在从当前路径节点到下一路径节点的当前子路径内存在第二类碰撞。
其中,第二类碰撞是指待规划智能体与某一第二类已规划智能体同时在某两个相邻路径节点间的路段内相向而行时存在的碰撞冲突。第二类碰撞无法通过等待一段时间来规避,属于不可规避的碰撞。
示例性的,如图6所示,假设待规划智能体在当前路径节点下的第一途经时段包括在当前路径节点下的第一驶入时间点P1和第一驶出时间点P2,在下一路径节点下的第一途经时段包括在下一路径节点下的第一驶入时间点N1和第一驶出时间点N2。任一第二类已规划智能体在下一路径节点下的第二途经时段包括在下一路径节点下的第二驶入时间点M1和第二驶出时间点M2,在当前路径节点下的第二途经时段包括在当前路径节点下的第二驶入时间点Q1和第二驶出时间点Q2。
上述条件可以表示:待规划智能体会在驶入当前路径节点后,第二类已规划智能体才会驶出当前路径节点,且待规划智能体会在第二类已规划智能体驶出下一路径节点后才会驶入下一路径节点。
所以,如果待规划智能体与某一第二类已规划智能体在当前路径节点和下一路径节点下的驶入时间点和驶出时间点满足上述条件,即可确定待规划智能体与该第二类已规划智能体在从当前路径节点到下一路径节点的当前子路径内存在第二类碰撞。
S409,更新当前规划路径中从当前路径节点到目标路径节点间的目标路径序列,得到新的当前规划路径和新的下一路径节点,返回执行S408。
在待规划智能体与某一第二类已规划智能体在从当前路径节点到下一路径节点的当前子路径内存在第二类碰撞时,考虑到第二类碰撞不可规避,那么为了确保待规划智能体在任务调度过程中的通行安全,需要从当前路径节点开始,重新搜索一条从当前路径节点到目标路径节点间的新路径,作为本申请中目标路径序列。然后,保持当前规划路径中位于当前路径节点之前的路径序列不变,而将从当前路径节点到目标路径节点间搜索出的新路径更新到当前规划路径中,即可得到新的当前规划路径和新的下一路径节点,从而返回到S408,根据待规划智能体和第二类已规划智能体在当前路径节点和新的下一路径节点下的途经时段,继续判断待规划智能体与任一第二类已规划智能体在从当前路径节点到新的下一路径节点的当前子路径内是否存在第二类碰撞。
作为本申请中的一种可选实现方案,本申请中更新当前规划路径中从当前路径节点到目标路径节点间的目标路径序列,得到新的当前规划路径,可以具体为:将道路邻接矩阵中当前路径节点与下一路径节点间的路径长度更新为预设定的不可通行标识;根据更新后的道路邻接矩阵,搜索从当前路径节点到目标路径节点间的最短路径,得到对应的目标路径序列;合并当前规划路径中位于当前路径节点之前的前序路径序列和目标路径序列,得到新的当前规划路径。
也就是说,为了避免在当前路径节点到目标路径节点间重新搜索出相同的存在第二类碰撞的路径,本申请首先可以设定待规划智能体从当前路径节点到下一路径节点不可通行。所以,在道路邻接矩阵中,可以将当前路径节点与下一路径节点间的路径长度重新修改为预设定的不可通行标识,例如无穷大,以表示从当前路径节点到下一路径节点间的路径不可通行。
然后,考虑到当前规划路径中位于当前路径节点之前的前序路径序列是经过碰撞判断的,并不存在碰撞冲突。所以,本申请根据更新后的道路邻接矩阵中每两个路径节点之间的路径长度,可以采用Floyd算法或者Dijkstra算法等最短路径算法,来重新搜索一条从当前路径节点到目标路径节点间的最短路径,作为当前路径节点到目标路径节点间的目标路径序列。进而,将当前规划路径中位于当前路径节点之前的前序路径序列和目标路径序列合并在一起,即可得到新的当前规划路径。
示例性的,假设已规划智能体A所规划好的目标规划路径为1→2→3→4,已规划智能体B所规划好的目标规划路径为4→3→6→2,待规划智能体C的初始规划路径为3→2→1→8。
那么,如果已规划智能体A和待规划智能体C在从当前路径节点到下一路径节点的当前子路径3→2内存在第二类碰撞,那么可以在道路邻接矩阵中将当前子路径3→2的路径长度修改为无穷大,然后重新搜索从当前路径节点3到目标路径节点8之间的最短路径,假设为3→5→6→8。此时,由于当前路径节点3之前并不存在前序路径序列,那么3→5→6→8可以为新的当前规划路径,而路径节点5可以代替路径节点2,成为当前路径节点3的新的下一路径节点。
应当理解的是,为了确保待规划智能体的路径规划准确性,需要保证待规划智能体在三维时间窗中的每一路径节点下的途经时段的准确性。所以,在为待规划智能体规划出新的当前规划路径后,需要重新确定待规划智能体途经新的当前规划路径中每一路径节点时的第一驶入时间点和第一驶出时间点,来更新三维时间窗中待规划智能体对应的第一途经时段。
也就是说,可以根据待规划智能体的通行速度和智能体大小以及新的当前规划路径中每两个相邻路径节点间的路径长度,来依次计算待规划智能体在途经新的当前规划路径中每一路径节点时的第一驶入时间点和第二驶出时间点,从而在三维时间窗中更新待规划智能体在新的当前规划路径中每一路径节点下对应的第一途经时段。
S410,将当前路径节点最新的下一路径节点,作为新的当前路径节点,返回执行S404。
在第一类已规划智能体为空、第二类已规划智能体为空或者待规划智能体与所有第二类已规划智能体在当前子路径内均不存在第二类碰撞时,可以将当前路径节点最新的下一路径节点作为新的当前路径节点,然后返回S404,继续在新的当前路径节点下判断待规划智能体和各个已规划智能体是否存在碰撞冲突。
S411,如果新的当前路径节点为空,则将最新的当前规划路径作为待规划智能体的目标规划路径。
直至新的当前路径节点为空,也就完成从起始路径节点到目标路径节点间的规划路径内每一个路径节点下的碰撞冲突判断,使得待规划智能体在最终更新完的规划路径内的每一路径节点下都不会与已规划智能体存在碰撞冲突。所以,本申请可以将最新的当前规划路径作为待规划智能体的目标规划路径,来实现任一智能体在多智能体任务调度场景下的无碰撞路径规划。
本申请实施例提供的技术方案,响应于任一待规划智能体的任务调度指令,首先根据预构建的道路邻接矩阵,确定待规划智能体的初始规划路径,以确定对应的三维时间窗,该三维时间窗中包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段。然后,根据待规划智能体途经初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对该初始规划路径进行更新,得到待规划智能体的目标规划路径,使得待规划智能体在目标规划路径中与各个已规划智能体间不存在碰撞,从而实现任一智能体在多智能体任务调度场景下的无碰撞路径规划,减少多智能体路径规划时的资源开销,避免多智能体任务调度下的死锁现象,提升任一智能体在目标规划路径下的运动安全性,确保任一智能体对于调度任务的成功执行。
图7为本申请实施例示出的一种路径规划装置的原理框图。如图7所示,该装置700可以包括:
初始路径确定模块710,用于响应于待规划智能体的任务调度指令,根据预构建的道路邻接矩阵,确定所述待规划智能体的初始规划路径;
时间窗确定模块720,用于根据所述初始规划路径,确定对应的三维时间窗,所述三维时间窗包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段;
路径规划模块730,用于根据所述待规划智能体途经所述初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对所述初始规划路径进行更新,得到所述待规划智能体的目标规划路径。
在一些可实现方式中,路径规划模块730,可以具体用于:
将所述初始规划路径作为当前规划路径,将所述初始规划路径中的首个路径节点,作为当前路径节点;
执行路径更新步骤:在根据所述待规划智能体和第一类已规划智能体在所述当前路径节点下的途经时段,确定所述待规划智能体与任一第一类已规划智能体在所述当前路径节点下存在第一类碰撞时,更新所述待规划智能体在所述当前路径节点和每一后序路径节点下的第一途经时段;
在根据所述待规划智能体和第二类已规划智能体在所述当前路径节点和下一路径节点下的途经时段,确定所述待规划智能体与任一第二类已规划智能体在从所述当前路径节点到下一路径节点的当前子路径内存在第二类碰撞时,更新所述当前规划路径中从所述当前路径节点到目标路径节点间的目标路径序列,得到新的当前规划路径和新的下一路径节点,以继续确定所述待规划智能体与任一第二类已规划智能体在从所述当前路径节点到新的下一路径节点的当前子路径内是否存在第二类碰撞;
如果所述第一类已规划智能体为空、所述第二类已规划智能体为空或者所述待规划智能体与所有第二类已规划智能体在所述当前子路径内均不存在第二类碰撞,则将所述当前路径节点最新的下一路径节点,作为新的当前路径节点,继续执行上述路径更新步骤,直至新的当前路径节点为空,则将最新的当前规划路径作为所述待规划智能体的目标规划路径;
其中,所述第一类已规划智能体的目标规划路径中存在当前路径节点,所述第二类已规划智能体的目标规划路径中存在从当前路径节点到下一路径节点的当前子路径的反向子路径。
在一些可实现方式中,路径规划模块730,可以具体用于:
根据所述待规划智能体在所述当前路径节点下的第一驶入时间点和目标第一类已规划智能体在所述当前路径节点下的第二驶出时间点,确定所述待规划智能体在所述当前路径节点下的碰撞推延时长;
根据所述碰撞推延时长,更新所述待规划智能体在所述当前路径节点和每一后序路径节点下的第一驶入时间点和第一驶出时间点。
在一些可实现方式中,路径规划模块730,还可以具体用于:
将所述道路邻接矩阵中所述当前路径节点与下一路径节点间的路径长度更新为预设定的不可通行标识;
根据更新后的道路邻接矩阵,搜索从所述当前路径节点到目标路径节点间的最短路径,得到对应的目标路径序列;
合并所述当前规划路径中位于所述当前路径节点之前的前序路径序列和所述目标路径序列,得到新的当前规划路径。
在一些可实现方式中,路径规划装置700,还可以包括:
时间窗更新模块,用于确定所述待规划智能体途经新的当前规划路径中每一路径节点时的第一驶入时间点和第一驶出时间点,更新所述三维时间窗中所述待规划智能体对应的第一途经时段。
在一些可实现方式中,初始路径确定模块710,可以具体用于:
根据所述待规划智能体所处的道路场景地图中的路径节点,构建对应的道路邻接矩阵,所述道路邻接矩阵包括每两个路径节点间的路径长度;
根据所述道路邻接矩阵,搜索所述待规划智能体从起始路径节点到目标路径节点间的最短路径,得到所述待规划智能体的初始规划路径。
本申请实施例中,响应于任一待规划智能体的任务调度指令,首先根据预构建的道路邻接矩阵,确定待规划智能体的初始规划路径,以确定对应的三维时间窗,该三维时间窗中包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段。然后,根据待规划智能体途经初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对该初始规划路径进行更新,得到待规划智能体的目标规划路径,使得待规划智能体在目标规划路径中与各个已规划智能体间不存在碰撞,从而实现任一智能体在多智能体任务调度场景下的无碰撞路径规划,减少多智能体路径规划时的资源开销,避免多智能体任务调度下的死锁现象,提升任一智能体在目标规划路径下的运动安全性,确保任一智能体对于调度任务的成功执行。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图7所示的装置700可以执行本申请中任意的方法实施例,并且装置700中的各个模块的前述和其它操作和/或功能分别为了实现本申请实施例中的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置700。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图8是本申请实施例示出的电子设备的示意性框图。
如图8所示,该电子设备800可包括:
存储器810和处理器820,该存储器810用于存储计算机程序,并将该程序代码传输给该处理器820。换言之,该处理器820可以从存储器810中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器820可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该处理器820可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器810包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器810中,并由该处理器820执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图8所示,该电子设备还可包括:
收发器830,该收发器830可连接至该处理器820或存储器810。
其中,处理器820可以控制该收发器830与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器830可以包括发射机和接收机。收发器830还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线***相连,其中,总线***除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (10)
1.一种路径规划方法,其特征在于,包括:
响应于待规划智能体的任务调度指令,根据预构建的道路邻接矩阵,确定所述待规划智能体的初始规划路径;
根据所述初始规划路径,确定对应的三维时间窗,所述三维时间窗包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段;
根据所述待规划智能体途经所述初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对所述初始规划路径进行更新,得到所述待规划智能体的目标规划路径。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待规划智能体途经所述初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对所述初始规划路径进行更新,得到所述待规划智能体的目标规划路径,包括:
将所述初始规划路径作为当前规划路径,将所述初始规划路径中的首个路径节点,作为当前路径节点;
执行路径更新步骤:在根据所述待规划智能体和第一类已规划智能体在所述当前路径节点下的途经时段,确定所述待规划智能体与任一第一类已规划智能体在所述当前路径节点下存在第一类碰撞时,更新所述待规划智能体在所述当前路径节点和每一后序路径节点下的第一途经时段;
在根据所述待规划智能体和第二类已规划智能体在所述当前路径节点和下一路径节点下的途经时段,确定所述待规划智能体与任一第二类已规划智能体在从所述当前路径节点到下一路径节点的当前子路径内存在第二类碰撞时,更新所述当前规划路径中从所述当前路径节点到目标路径节点间的目标路径序列,得到新的当前规划路径和新的下一路径节点,以继续确定所述待规划智能体与任一第二类已规划智能体在从所述当前路径节点到新的下一路径节点的当前子路径内是否存在第二类碰撞;
如果所述第一类已规划智能体为空、所述第二类已规划智能体为空或者所述待规划智能体与所有第二类已规划智能体在所述当前子路径内均不存在第二类碰撞,则将所述当前路径节点最新的下一路径节点,作为新的当前路径节点,继续执行上述路径更新步骤,直至新的当前路径节点为空,则将最新的当前规划路径作为所述待规划智能体的目标规划路径;
其中,所述第一类已规划智能体的目标规划路径中存在当前路径节点,所述第二类已规划智能体的目标规划路径中存在从当前路径节点到下一路径节点的当前子路径的反向子路径。
3.根据权利要求2所述的方法,其特征在于,所述更新所述待规划智能体在所述当前路径节点和每一后序路径节点下的第一途经时段,包括:
根据所述待规划智能体在所述当前路径节点下的第一驶入时间点和目标第一类已规划智能体在所述当前路径节点下的第二驶出时间点,确定所述待规划智能体在所述当前路径节点下的碰撞推延时长;
根据所述碰撞推延时长,更新所述待规划智能体在所述当前路径节点和每一后序路径节点下的第一驶入时间点和第一驶出时间点。
4.根据权利要求2所述的方法,其特征在于,所述更新所述当前规划路径中从所述当前路径节点到目标路径节点间的目标路径序列,得到新的当前规划路径,包括:
将所述道路邻接矩阵中所述当前路径节点与下一路径节点间的路径长度更新为预设定的不可通行标识;
根据更新后的道路邻接矩阵,搜索从所述当前路径节点到目标路径节点间的最短路径,得到对应的目标路径序列;
合并所述当前规划路径中位于所述当前路径节点之前的前序路径序列和所述目标路径序列,得到新的当前规划路径。
5.根据权利要求2所述的方法,其特征在于,在更新所述当前规划路径中从所述当前路径节点到目标路径节点间的目标路径序列,得到新的当前规划路径之后,还包括:
确定所述待规划智能体途经新的当前规划路径中每一路径节点时的第一驶入时间点和第一驶出时间点,更新所述三维时间窗中所述待规划智能体对应的第一途经时段。
6.根据权利要求1所述的方法,其特征在于,所述根据预构建的道路邻接矩阵,确定所述待规划智能体的初始规划路径,包括:
根据所述待规划智能体所处的道路场景地图中的路径节点,构建对应的道路邻接矩阵,所述道路邻接矩阵包括每两个路径节点间的路径长度;
根据所述道路邻接矩阵,搜索所述待规划智能体从起始路径节点到目标路径节点间的最短路径,得到所述待规划智能体的初始规划路径。
7.一种路径规划装置,其特征在于,包括:
初始路径确定模块,用于响应于待规划智能体的任务调度指令,根据预构建的道路邻接矩阵,确定所述待规划智能体的初始规划路径;
时间窗确定模块,用于根据所述初始规划路径,确定对应的三维时间窗,所述三维时间窗包括每一智能体途经该智能体对应的规划路径中每一路径节点时的途经时段;
路径规划模块,用于根据所述待规划智能体途经所述初始规划路径中每一路径节点时的第一途经时段和已规划智能体途经对应的目标规划路径中每一路径节点时的第二途经时段,对所述初始规划路径进行更新,得到所述待规划智能体的目标规划路径。
8.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1-6中任一项所述的路径规划方法。
9.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1-6中任一项所述的路径规划方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1-6中任一项所述的路径规划方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211559816.9A CN116007624A (zh) | 2022-12-06 | 2022-12-06 | 一种路径规划方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211559816.9A CN116007624A (zh) | 2022-12-06 | 2022-12-06 | 一种路径规划方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116007624A true CN116007624A (zh) | 2023-04-25 |
Family
ID=86036457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211559816.9A Pending CN116007624A (zh) | 2022-12-06 | 2022-12-06 | 一种路径规划方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116007624A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629470A (zh) * | 2023-05-04 | 2023-08-22 | 青岛蚂蚁机器人有限责任公司 | 基于迪杰斯特拉算法的时间窗防冲突多路径搜索方法 |
CN117371897A (zh) * | 2023-10-16 | 2024-01-09 | 广西交科集团有限公司 | 一种基于路网的多目标点物流派送路径的规划方法及*** |
-
2022
- 2022-12-06 CN CN202211559816.9A patent/CN116007624A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629470A (zh) * | 2023-05-04 | 2023-08-22 | 青岛蚂蚁机器人有限责任公司 | 基于迪杰斯特拉算法的时间窗防冲突多路径搜索方法 |
CN116629470B (zh) * | 2023-05-04 | 2024-02-13 | 青岛蚂蚁机器人有限责任公司 | 基于迪杰斯特拉算法的时间窗防冲突多路径搜索方法 |
CN117371897A (zh) * | 2023-10-16 | 2024-01-09 | 广西交科集团有限公司 | 一种基于路网的多目标点物流派送路径的规划方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116007624A (zh) | 一种路径规划方法、装置、设备及存储介质 | |
US10527432B2 (en) | Methods and systems for generating a horizon for use in an advanced driver assistance system (ADAS) | |
US20220163969A1 (en) | Systems and methods for optimizing route plans in an operating environment | |
CN108287545B (zh) | 多移动机器人的冲突管理方法及*** | |
JP7397181B2 (ja) | 無人搬送車を制御するための方法および装置 | |
CA2854274C (en) | Autonomous travel system | |
KR101952149B1 (ko) | 네비게이션을 이용한 경로 안내 방법 및 시스템 | |
CN103115626B (zh) | 计算拥堵信息并基于其进行导航的方法、装置和设备 | |
CN113821039A (zh) | 基于时间窗的路径规划方法、装置、设备及存储介质 | |
KR20170138685A (ko) | 이동체의 경로 결정 방법 및 장치 | |
Mersheeva et al. | Routing for continuous monitoring by multiple micro AVs in disaster scenarios | |
CN114281080B (zh) | 一种amr调度***中解死锁的方法 | |
TW202321652A (zh) | 自動導引車調度方法、電子裝置及電腦可讀儲存媒體 | |
CN112148009A (zh) | Agv集群调度方法、装置、电子设备及计算机可读存储介质 | |
US11995985B2 (en) | Intersection trajectory determination and messaging | |
CN116700298A (zh) | 路径规划方法、***、设备及存储介质 | |
CN113108806B (zh) | 路径规划方法、装置、设备及介质 | |
CN111459100A (zh) | 自动导引运输车的调度方法和*** | |
CN116974283A (zh) | 物料运输控制方法、装置、电子设备及存储介质 | |
CN116184996A (zh) | 多机器人路径规划方法及装置 | |
Cui et al. | Conflict-free path planning of AGV based on improved A-star algorithm | |
CN112578782A (zh) | 自动导引运输车任务路径规划方法及装置 | |
CN113077643B (zh) | 一种交通控制方法、交通控制***及存储介质 | |
US11233717B2 (en) | System and method for collaborative centralized latency characterization | |
CN114218346B (zh) | 在园区对车辆指引的方法、***及园区布局图绘制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |