掌桥专利:专业的专利平台
掌桥专利
首页

基于时间窗的路径规划方法、装置、设备及存储介质

文献发布时间:2023-06-19 13:46:35


基于时间窗的路径规划方法、装置、设备及存储介质

技术领域

本发明涉及路径规划技术领域,尤其涉及一种基于时间窗的路径规划方法、装置、设备及存储介质。

背景技术

多车路径规划一直以来都是集群机器人领域的主要研究课题之一。目前较为流行的多车路径规划算法大多对车辆行驶路径规则有较为严格的限制,如只允许单向通行、限制车辆活动区域、避免出现车辆死锁等问题。但这些算法对车辆行驶有许多不必要的限制,且降低了车辆利用效率。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

本发明的主要目的在于提出一种基于时间窗的路径规划方法、装置、设备及存储介质,旨在解决如何在多车路径规划中防止不同车辆出现冲突的现象,提高路网通过效率,并保证安全性的技术问题。

为实现上述目的,本发明提供一种基于时间窗的路径规划方法,所述基于时间窗的路径规划方法包括:

获取目标地图中各区域分别对应的时间窗信息,所述时间窗信息为用于表征各区域在不同时间段内是否规划有车辆通过的标识;

根据所述目标地图以及各区域分别对应的时间窗信息依次为多个待选车辆进行路径规划。

此外,为实现上述目的,本发明还提出一种基于时间窗的路径规划装置,所述基于时间窗的路径规划装置包括:

时间窗模块,用于获取目标地图中各区域分别对应的时间窗信息,所述时间窗信息为用于表征各区域在不同时间段内是否规划有车辆通过的标识;

路径规划模块,用于根据所述目标地图以及各区域分别对应的时间窗信息依次为多个待选车辆进行路径规划。

此外,为实现上述目的,本发明还提出一种基于时间窗的路径规划设备,所述基于时间窗的路径规划设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于时间窗的路径规划程序,所述基于时间窗的路径规划程序被处理器执行时实现如上所述的基于时间窗的路径规划方法。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于时间窗的路径规划程序,所述基于时间窗的路径规划程序被处理器执行时实现如上所述的基于时间窗的路径规划方法。

本发明提出的基于时间窗的路径规划方法中,获取目标地图中各区域分别对应的时间窗信息,所述时间窗信息为用于表征各区域在不同时间段内是否规划有车辆通过的标识,根据所述目标地图以及各区域分别对应的时间窗信息依次为多个待选车辆进行路径规划,从而结合各区域的时间窗信息来进行路径规划,可有效防止不同车辆出现冲突的情况,提高了路网的通过效率,并且保证了安全性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的基于时间窗的路径规划设备结构示意图;

图2为本发明基于时间窗的路径规划方法第一实施例的流程示意图;

图3为本发明基于时间窗的路径规划方法第二实施例的流程示意图;

图4为本发明基于时间窗的路径规划方法一实施例的F值计算流程示意图;

图5为本发明基于时间窗的路径规划方法一实施例的左重叠冲突情况示意图;

图6为本发明基于时间窗的路径规划方法一实施例的右重叠冲突情况示意图;

图7为本发明基于时间窗的路径规划方法一实施例的包含冲突情况示意图;

图8为本发明基于时间窗的路径规划方法一实施例的被包含冲突情况示意图;

图9为本发明基于时间窗的路径规划方法第三实施例的流程示意图;

图10为本发明基于时间窗的路径规划方法一实施例的路口区域和路段区域示意图;

图11为本发明基于时间窗的路径规划方法一实施例的路口和路口相连示意图;

图12为本发明基于时间窗的路径规划方法一实施例的合并路口示意图;

图13为本发明基于时间窗的路径规划方法一实施例的栅格路口示意图;

图14为本发明基于时间窗的路径规划方法一实施例的虚拟路口示意图;

图15为本发明基于时间窗的路径规划方法一实施例的虚拟半径示意图;

图16为本发明基于时间窗的路径规划方法一实施例的普通路口区域示意图;

图17为本发明基于时间窗的路径规划方法一实施例的停车区示意图;

图18为本发明基于时间窗的路径规划方法一实施例的单向路示意图;

图19为本发明基于时间窗的路径规划方法一实施例的栅格路口区域示意图;

图20为本发明基于时间窗的路径规划方法一实施例的路口和路段相连区域AGV的路径示意图;

图21为本发明基于时间窗的路径规划方法一实施例的路口和路口相连区域AGV的路径示意图;

图22为本发明基于时间窗的路径规划方法一实施例的路段追击示意图;

图23为本发明基于时间窗的路径规划方法一实施例的路段追击时间窗示意图;

图24为本发明基于时间窗的路径规划方法一实施例的路段相向冲突示意图;

图25为本发明基于时间窗的路径规划方法一实施例的相向节点冲突示意图;

图26为本发明基于时间窗的路径规划方法一实施例的普通节点冲突示意图;

图27为本发明基于时间窗的路径规划方法一实施例的路段和路口相连区域的时间窗模糊处理示意图;

图28为本发明基于时间窗的路径规划装置第一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的基于时间窗的路径规划设备结构示意图。

如图1所示,该基于时间窗的路径规划设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如按键,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速随机存取存储器(Random Access Memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备结构并不构成对基于时间窗的路径规划设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于时间窗的路径规划程序。

在图1所示的基于时间窗的路径规划设备中,网络接口1004主要用于连接外网,与其他网络设备进行数据通信;用户接口1003主要用于连接用户设备,与所述用户设备进行数据通信;本发明设备通过处理器1001调用存储器1005中存储的基于时间窗的路径规划程序,并执行本发明实施例提供的基于时间窗的路径规划方法。

基于上述硬件结构,提出本发明基于时间窗的路径规划方法实施例。

参照图2,图2为本发明基于时间窗的路径规划方法第一实施例的流程示意图。

在第一实施例中,所述基于时间窗的路径规划方法包括:

步骤S10,获取目标地图中各区域分别对应的时间窗信息,所述时间窗信息为用于表征各区域在不同时间段内是否规划有车辆通过的标识。

需要说明的是,本实施例的执行主体可为基于时间窗的路径规划设备,例如具有数据处理功能的计算机设备,还可为其他可实现相同或相似功能的设备,本实施例对此不作限制,在本实施例中,以计算机设备为例进行说明。

需要说明的是,本实施例中的车辆可为AGV车辆(Automated Guided Vehicle,AGV),还可为其他类型的车辆,本实施例对此不作限制,在本实施例中,以AGV车辆为例进行说明。

应当理解的是,为了避免双向单车道AGV系统中出现冲突和死锁现象,可确定每辆运行AGV对路口区域或路段区域占用的时间段,即是AGV系统路径规划的时间窗,其含义为:AGV车辆从进入某个区域到离开该区域的时间段,在该时间段内车辆被赋予该路径某个方向上的使用权。本实施例中的目标地图可为时空拓扑地图,该时空拓扑地图可为根据原始地图中的原始站点和原始路段确定路口区域和路段区域,基于路口区域和路段区域构建拓扑地图,并在拓扑地图中添加时间轴得到。

可以理解的是,由于在进行路径规划时可能存在多个待选车辆,并且在目标地图中可能已经存在其他已规划路径的车辆的路径信息,为了保证车辆安全,在路口区域和路段区域的不同方向上在同一时间只允许一辆车通过该区域,因此,为了避免当前车辆与其他车辆存在冲突,可获取目标地图中各区域分别对应的时间窗信息,然后再根据时间窗信息为当前车辆进行路径规划。

在具体实现中,例如,假设目标地图中有区域A、区域B以及区域C等3个区域,这3个区域都有对应的时间窗信息,根据这3个区域对应的时间窗信息便可确定这3个区域在不同时间段内是否规划有车辆通过,假如在时间段A,区域A有规划车辆通过,而区域B、区域C没有规划车辆通过,则说明在时间段A,当前车辆可以从区域B、区域C通过,而不可以从区域A通过。

步骤S20,根据所述目标地图以及各区域分别对应的时间窗信息依次为多个待选车辆进行路径规划。

可以理解的是,可对多个待选车辆进行遍历,得到当前车辆,根据目标地图以及各区域分别对应的时间窗信息为当前车辆进行路径规划,然后在路径规划完成之后,根据当前车辆对各区域的占用情况来对各区域的时间窗信息进行更新,然后根据更新后的时间窗信息为下一车辆进行路径规划。

在具体实现中,例如,假如在对当前车辆的路径规划结果中,当前车辆在时间段A会从区域B通过,那么结合当前车辆对区域B的占用情况,更新后的各区域对应的时间窗信息为:在时间段A,区域A和区域B都有规划车辆通过,而区域C没有规划车辆通过,因此,在进行下一车辆的路径规划时,在时间段A,可以规划该车辆从区域C通过,而不可以规划该车辆从区域A和区域B通过。

应当理解的是,通过上述基于时间窗来为车辆进行路径规划的方式,可有效避免车辆冲突,保证车辆的安全性。并且,在路径规划完成,控制车辆按照规划路径进行行驶的过程中,还可用路径规划生成的时间窗信息来监控车辆行驶,在车辆经过原始站点或虚拟站点时,可检查时间窗是否存在异常,如果时间窗发生异常,停车进行重新规划,从而通过在行驶过程中对时间窗进行异常检测的方式进一步提高了车辆的安全性。

在本实施例中,获取目标地图中各区域分别对应的时间窗信息,所述时间窗信息为用于表征各区域在不同时间段内是否规划有车辆通过的标识,根据所述目标地图以及各区域分别对应的时间窗信息依次为多个待选车辆进行路径规划,从而结合各区域的时间窗信息来进行路径规划,可有效防止不同车辆出现冲突的情况,提高了路网的通过效率,并且保证了安全性。

在一实施例中,如图3所示,基于第一实施例提出本发明基于时间窗的路径规划方法第二实施例,所述步骤S20,包括:

步骤S201,对多个待选车辆进行遍历,并将遍历到的待选车辆作为当前车辆。

应当理解的是,在基于时间窗对车辆进行路径规划时,可对多个待选车辆进行遍历,并将遍历到的待选车辆作为当前车辆,然后基于时间窗信息依次对当前车辆进行路径规划,并在规划完一个车辆之后,更新时间窗信息,然后基于更新后的时间窗信息对下一车辆进行路径规划。例如,某一时刻需要为k辆小车规划路径,每辆小车已经确定起点、终点和优先级,基于当前地图的时间窗信息按照优先级的顺序依次为每个AGV规划路径,直到k辆小车全部规划完毕。每次规划成功后将规划的时间窗信息加入当前地图的时间窗信息,为下一个AGV规划路径所使用。

步骤S202,根据所述目标地图以及各区域分别对应的时间窗信息为所述当前车辆进行路径规划。

应当理解的是,可根据目标地图以及各区域分别对应的时间窗信息来为当前车辆进行路径规划,避免多个车辆的路径之间存在冲突。

进一步地,为了达到更好的路径规划效果,所述步骤S202,包括:

获取所述当前车辆的起点信息和终点信息;根据所述起点信息、所述终点信息以及所述目标地图确定虚拟起始节点和虚拟终止节点;根据各区域分别对应的时间窗信息确定当前时刻的区域时间窗;根据所述目标地图、所述区域时间窗、所述虚拟起始节点和所述虚拟终止节点生成与所述当前车辆对应的初始路径;将所述初始路径转化为原始地图中的目标路径,以为所述当前车辆进行路径规划。

应当理解的是,可先根据起点信息、终点信息以及原始地图中的原始站点确定起始节点和终止节点,根据目标地图确定与起始节点对应的虚拟起始节点,以及与终止节点对应的虚拟终止节点。然后分别创建开启列表和关闭列表,并将所述虚拟起始节点添加到所述开启列表中,检测所述开启列表是否为空,若所述开启列表不为空,则从所述开启列表中选取当前节点,并根据所述目标地图确定与所述当前节点相邻的扩展节点,根据所述当前节点确定所述扩展节点对应的扩展节点时间窗,根据所述扩展节点和所述扩展节点时间窗进行冲突判断,得到冲突判断结果,根据冲突判断结果,计算所述扩展节点的F值,在所述扩展节点为所述虚拟终止节点时,根据所述扩展节点、所述扩展节点时间窗以及所述扩展节点的F值回溯路径,生成所述当前车辆对应的初始路径。

在具体实现中,详细描述如下:输入可为:起始节点start,结束节点end(start和end均为原始地图站点)、AGV类型,输出可为:路径t

1、找到start(起始节点)和end(终止节点)所属的区域start*(虚拟起始节点)和end*(虚拟终止节点);

2、取得当前时刻所有区域时间窗;

3、A*规划

创建open_list(开启列表)和close_list(关闭列表),将起始节点start*放入open_list,设置F值为0;重复下列步骤:

1)若open_list为空,返回规划失败;

否则,选择open_list中F值最小的节点,记为CurPt(当前节点),进行检查:

如果CurPt的F值是无穷大,返回规划失败;

如果CurPt是终点end*,结束搜索,进入回溯路径模块;

否则,将CurPt从open_list移除,加入close_list;

2)搜索与CurPt相邻的节点(考虑路段方向和AGV类型),进行检查:

如果在close_list中,忽略,不做任何处理;

如果在open_list中,重新计算F值,比较当前F值与原来的F值的大小,如果当前F值更小,则更新其F值以及相应的时间窗信息,并将父节点设置为CurPt;

如果不在close_list和open_list中,加入open_list,计算F值,将父节点设置为CurPt;

4、回溯路径;

5、将区域内部的路径转化为原始地图中的路径;

6、预计完成时间FinishTime为end*的时间窗的离开时间。

进一步地,为了更加准确地计算上述路径规划中的F值,以确定扩展节点对应的扩展时间窗,提高路径规划的准确性,所述根据所述当前节点确定所述扩展节点对应的扩展时间窗,包括:

检测所述当前节点是否为所述虚拟起始节点;在所述当前节点为所述虚拟起始节点时,确定所述扩展节点对应的进入时间以及所述扩展节点对应的通过时间,并根据所述扩展节点对应的进入时间以及所述扩展节点对应的通过时间计算所述扩展节点的扩展节点时间窗;在所述当前节点不为所述虚拟起始节点时,检测所述当前节点的节点类型;根据所述节点类型查找对应的目标时间窗策略,并根据所述目标时间窗策略计算所述扩展节点的扩展时间窗。

应当理解的是,为了计算扩展节点z对应的扩展节点时间窗,可先判断CurPt是否是虚拟起始节点,在CurPt是虚拟起始节点的情况下,可根据方法1来确定扩展节点时间窗,方法1:当CurPt是虚拟起始节点时计算扩展节点z的时间窗,进入时间time_in是路径规划开始时间加从起始站点到进入z的虚拟站点的时间,离开时间time_out是time_in加z的最大通过时间。

在CurPt不是虚拟起始节点的情况下,可检测当前节点的节点类型,进而根据节点类型来选择对应的目标时间窗策略来计算扩展节点的扩展节点时间窗。其中,节点类型可包括路口类型和路段类型,路口类型又可分为普通路口类型和栅格路口类型,路段类型又可分为长路段类型、短路段类型和死胡同路段类型。在计算时间窗时,可分别确定时间窗对应的进入时间time_in和离开时间time_out,然后将time_in和time_out结合起来,以确定时间窗。

在节点类型为路段类型和普通路口类型时,可将方法2作为目标时间窗策略,方法2:time_in=CurPt_in+通过时间+t_pursuit,其中,CurPt_in为CurPt时间窗的进入时间,通过时间是指对于CurPt,从CurPt的父节点到扩展节点z的通过时间,根据是否在CurPt Fa等待确定通过方式(直行通过、停车后再起步通过),t_pursuit为追击等待时间,当CurPt为长路段时可能会有追击,其余情况值为0;time_out=time_in+z的最大通行时间。

在节点类型为栅格路口类型时,可将方法3作为目标时间窗策略,方法3:time_in=CurPt Fain+通过时间_CurPt Fa+t_wait+等待时间差+转弯时间+转弯时间差,其中,CurPt Fa in为CurPt Fa时间窗的进入时间,通过时间是指对于CurPt Fa,从CurPt Fa的父节点到当前节点CurPt的通过时间(分为直行通过和转弯通过两种),如果不存在CurPt Fa的父节点,则通过时间为CurPt Fa到CurPt的时间,t_wait为小车在CurPt Fa选择去往CurPt需要等待的时间,等待时间差是指小车等待后重新起步与不需要等待直接行使的时间差,根据CurPt Fa和z判断是否需要转弯,转弯时间差是指转弯前刹车带来的时间差,考虑加速度减速度的影响,增加了等待时间差、转弯时间差、起步时间差;time_out=time_in+z的最大通过时间,扩展节点z的时间窗开始时间加最大通行时间。

需要说明的是,由于根据节点类型的不同,可分为多种情况,因此,可针对不同的场景采用不同的冲突判断方式来进行冲突判断,所述冲突判断包括:路口冲突判断、长路段冲突判断以及短路段和死胡同冲突判断;所述根据所述扩展节点和所述扩展节点时间窗进行冲突判断,包括:

在所述扩展节点为路口类型时,判断是否存在与所述扩展节点时间窗重叠的已规划时间窗;在存在重叠的已规划时间窗时,从所述重叠的已规划时间窗中选取目标重叠的已规划时间窗;根据所述目标重叠的已规划时间窗和所述当前节点进行路口冲突判断;在所述扩展节点为长路段类型时,根据所述扩展节点分别筛选出与所述扩展节点时间窗方向相同的已规划的路段时间窗和与所述扩展节点时间窗方向相反的已规划的路段时间窗;根据所述扩展节点时间窗、与所述扩展节点时间窗方向相同的已规划的路段时间窗以及与所述扩展节点时间窗方向相反的已规划的路段时间窗进行长路段冲突判断;在所述扩展节点为短路段类型或死胡同类型时,根据所述扩展节点筛选出已规划的时间窗,根据所述扩展节点时间窗和所述已规划的时间窗进行短路段和死胡同冲突判断。

可以理解的是,在扩展节点为长路段类型时,可进行追击冲突判断:第一步:筛选出与扩展节点时间窗方向相同的已规划的路段时间窗;第二步:判断扩展节点时间窗是否包含某个已规划的路段时间窗,如果包含,则存在无法解决的追击冲突,设置该节点F值为无穷大,并结束计算;否则,执行第三步;第三步:判断新的路段时间窗是否被某个已规划的路段时间窗包含,如果被包含,则可以通过等待避免冲突,计算等待时间t

可以理解的是,在扩展节点为短路段类型或者死胡同类型时,根据所述扩展时间窗进行短路段和死胡同冲突判断,具体可为:判断扩展节点时间窗与已规划的时间窗是否有重叠,如果有重叠,则F值设为无穷大,结束计算。

可以理解的是,在扩展节点为路口类型时,可进行以下判断:

第一步:判断扩展节点时间窗与已规划的时间窗是否有重叠;

第二步:如果重叠的已规划时间窗数量大于等于2,则选择最后面的时间窗;

第三步:根据扩展节点时间窗和重叠的已规划时间窗进行冲突判断:

(1)判断是否为相向节点冲突:查看重叠的已规划时间窗的子节点与CurPt是否相同,如果相同,F值设为无穷大,结束循环;如果不同,进入普通节点冲突判断。

(2)判断是否为普通节点冲突:

1)计算普通节点冲突造成的等待时间t_wait+=t

原因:节点冲突会在上一节点等待,所以会改变上一节点的时间窗。可能会出现追击冲突,而这个追击冲突一定会让另一个AGV重新规划路径,所以需要判断选择等待是否会造成新的冲突。

具体方法:更改上一节点的时间窗,这里上一节点新的时间窗只用于判断,不做更新,因为扩展节点不是确定要走的路径。即将t

2)判断:CurPt是否为栅格路口,如果是栅格路口执行3),否则不执行。

3)判断:小车在CurPt是否转弯或等待,如果是执行4),否则不执行。

4)计算刹车时间差t_diff(CurPt Fa,CurPt)=AGV减速通过刹车距离的时间-AGV匀速通过刹车距离的时间,判断上上个节点的时间窗是否有新的冲突。

原因:对于栅格路口,如果在上一节点等待或转弯,则会因为减速改变上上节点的时间窗,可能会有新的冲突。

具体方法:更改上上个节点的时间窗,这里上上节点新的时间窗只用于判断,不做更新,因为扩展节点不是确定要走的路径。即将t

4、回到1,判断是否有重叠。

应当理解的是,在确定扩展节点和扩展节点时间窗后,可根据扩展节点时间窗的离开时间和路径规划的开始时间确定第一数值,查找扩展节点包含的原始站点到终止站点的目标时间,并根据目标时间确定第二数值,根据第一数值和第二数值计算F值。

可以理解的是,在计算F值时,第一数值g(z)=t′

需要说明的是,因为转弯和等待的原因,会存在某个区域时间窗的离开时间与下一区域时间窗的进入时间不同,但是下一区域时间窗的进入时间才是这个区域时间窗准确的离开时间,因此,为了提高路径规划的准确性,还可进行路径回溯。路径回溯的方法如下:

1、从终点开始,每个节点沿着父节点寻找直至起点,形成路径。

2、每个区域时间窗的进入时间为路径规划节点信息中的节点进入时间。

3、下面是计算每个区域时间窗离开时间的方法:

第一步,计算终点及其父节点的时间窗;

(1)终点时间窗的离开时间为终点的F值;

(2)判断终点的父节点的区域类型:若为路口区域且路口类型为栅格路口,则终点的父节点的时间窗的离开时间为终点时间窗的离开时间;若为其他区域,则终点的父节点的时间窗的离开时间为终点时间窗的进入时间。

第二步,计算其他节点时间窗;

判断节点的区域类型:若为路口区域且路口类型为栅格路口,则节点时间窗的离开时间为son_son(in)-t_wait+t_diff(其中,son为节点的子节点,son_son为son的子节点,son_son(in)为son_son时间窗的进入时间,t_wait为从son到son_son的等待时间,t_diff为从son到son_son的刹车时间差);若fa为其他区域,则节点时间窗的离开时间为其子节点时间窗的进入时间。

需要说明的是,为了使路径规划结果更加准确,避免车辆冲突,需进行时间窗冲突判断,用于计算F值时的冲突判断。具体方法为输入时间窗,计算与时间窗冲突的已规划的时间窗,返回iClashType值,iClashType值表示冲突类型,即0表示无冲突,1表示重叠冲突,2表示包含冲突,3表示被包含冲突。可以理解的是,重叠冲突包括左重叠冲突和右重叠冲突、包含冲突指新的时间窗包含已规划的时间窗,被包含冲突指新的时间窗被已规划的时间窗包含。

应该理解的是,在具体实施中,先令iClashType值为0,然后根据输入的时间窗中的区域ID,遍历该区域的时间窗map表下的每一个已规划的时间窗,与输入的时间窗进行冲突判断。如果新规划时间窗与旧时间窗存在冲突,则更新iClashType值,iClashType值与冲突的旧时间窗只需要临时保存,用于路径规划。

可参照图5,图5为左重叠冲突情况示意图。

可参照图6,图6为右重叠冲突情况示意图。

可参照图7,图7为包含冲突情况示意图。

可参照图8,图8为被包含冲突情况示意图。

步骤S203,在路径规划完成后,根据路径规划结果对各区域分别对应的时间窗信息进行更新。

应当理解的是,在对当前车辆的路径规划完成后,可根据路径规划结果来确定当前车辆的时间窗信息,并根据当前车辆的时间窗信息来对各区域分别对应的时间窗信息进行更新,然后根据更新后的时间窗信息来对下一车辆进行路径规划,以通过这样方式来防止不同车辆出现冲突的情况。

在本实施例中,对多个待选车辆进行遍历,并将遍历到的待选车辆作为当前车辆;根据所述目标地图以及各区域分别对应的时间窗信息为所述当前车辆进行路径规划;在路径规划完成后,根据路径规划结果对各区域分别对应的时间窗信息进行更新,从而可先基于目标地图和各区域分别对应的时间窗信息为当前车辆进行路径规划,然后在规划完成之后,对时间窗信息进行更新,进而可以根据更新后的时间窗信息为下一车辆进行路径规划,通过在路径规划中考虑时间窗的方式,避免不同车辆出现冲突。

在一实施例中,如图9所示,基于第一实施例或第二实施例提出本发明基于时间窗的路径规划方法第三实施例,在本实施例中,基于第一实施例进行说明,所述步骤S10之前,还包括:

步骤S01,根据原始地图中的原始站点和原始路段确定路口区域和路段区域。

需要说明的是,在进行路径规划之前可先对原始地图进行预处理,原始地图可由站点和与站点相连的路段构成,可对原始地图中的原始站点和原始路段进行拆分和整合,划分为路口区域和路段区域。可参照图10,图10为路口区域和路段区域示意图,路口区域如图10中实现框所示,路段区域如图10中虚线框所示。

应当理解的是,路口区域可分为:单独路口、合并路口和栅格路口三类,同一时间只允许一辆AGV占用。在地图中有路口和路段相连,也有路口和路口相连。可参照图11,图11为路口和路口相连示意图,图11中有两个路口相连。对于合并路口,可参照图12,图12为合并路口示意图,合并路口内的站点数大于等于2,规划时需要考虑合并路口内的路径。对于栅格路口,可参照图13,图13为栅格路口示意图,栅格路口的站点连接站点,但站点不进行合并处理。除此之外,还可包含更多其他类型的路口,本实施例对此不作限制。

应当理解的是,路段区域指的是连接路口和路口之间的区域,路段区域可分为:死胡同、短路段和长路段三类,死胡同路段和短路段区域同一时间只允许一辆AGV占用,长路段区域同一时间允许多辆AGV在同一方向上行驶,不超过该路段区域的容量。其中,死胡同路段,指该路段的一个端点是死胡同站点,另一端点是虚拟站点,且当小车停在死胡同站点时不能影响其他小车通过路口。长路段和短路段的两个端点都是虚拟站点,包含n个原始站点(n≥0),其区别是短路段的长度小于追击管制距离,因此短路段内只允许存在一辆小车。立交桥区域:指两条以上没有共同站点的交叉路段,需人工将路段端点记为虚拟路口,将组成立交桥的路段设置为互斥路段,防止两辆车同一时间行驶在这两条路段上。除此之外,还可包括更多其他类型的路段,本实施例对此不作限制。

应当理解的是,原始地图中的原始站点可能存在多种站点类别,原始站点可分为:死胡同站点、路口站点、普通站点、配置文件站点4类。可根据原始地图中的原始站点,查找以该站点为起点或终点的原始路段数,根据原始路段数来确定站点类别。其中,死胡同站点:以该站点为起点或终点的原始路段数为1;路口站点:以该站点为起点或终点的原始路段数>=3;普通站点:以该站点为起点或终点的原始路段数=2;配置文件站点:人工配置的站点,被人工标记后将这些站点改为配置文件站点。

应当理解的是,可根据原始路口来生成虚拟路口,可参照图14和图15,图14为虚拟路口示意图,图15为虚拟半径示意图,可根据人工指定的需要合并的站点,合并距离小于虚拟半径的原始路口,根据所有被合并的路口生成虚拟路口信息,以确定虚拟路口。其中,虚拟半径=小车的刹车距离+小车坐标点到车头的距离+安全车距,小车的刹车距离、小车坐标点到车头的距离以及安全车距的数值都可与小车的型号相关,不同型号的小车的数值可以不同,本实施例对此不作限制。

应当理解的是,可根据虚拟路口包含的原始站点在和虚拟路口相连的路段上添加虚拟站点,同一路口区域允许多种AGV行驶,选择不同类型AGV的安全距离、刹车距离、AGV坐标点到车头距离的最大值,计算安全距离。

可以理解的是,可参照图16,图16为普通路口区域示意图,根据路口安全距离和刹车距离以及AGV坐标点到车头的距离确定虚拟站点位置,在虚拟点下发停车指令,AGV在停车后不影响其他AGV通过路口。可参照图17,图17为停车区示意图,在AGV的停车区站点密集,需合并交叉路口,而且要在不是交叉路口的地方添加虚拟站点。可参照图18,图18为单向路示意图,单向段的一个方向上没有来车,不需要停车等待,只需要释放路口。

可以理解的是,可参照图19,图19为栅格路口区域示意图,根据刹车距离和相连的原始路段的长度确定虚拟站点的位置,保证AGV停车后正好停在栅格路口的原始站点处。而对于栅格路口边缘位置,虚拟站点本来的位置没有路段,将虚拟站点设置修改为在边缘转弯的原始站点的位置,因为AGV在直角转弯时可以准确的停车等待,不会因为刹车距离,影响其他AGV通过路口。

步骤S02,基于所述路口区域和所述路段区域构建拓扑地图。

应当理解的是,在进行上述地图预处理之后,可基于地图预处理阶段划分的路口区域和路段区域,对地图进行拓扑建模,将路口区域抽象为路径节点,路段区域抽象为连接节点且具有方向性的边,构建拓扑地图。

步骤S03,在所述拓扑地图中添加时间轴,得到时空拓扑地图,并将所述时空拓扑地图作为目标地图。

可以理解的是,为了解决多台AGV在同一段时间行驶可能发生路径冲突的问题,采用时间窗的方法监控和规避各种冲突,在构建好的拓扑地图中加入时间轴,即构建时空拓扑地图,将时空拓扑地图作为目标地图,可以直观地发现路径之间的冲突。

应当理解的是,可参照图20,图20为路口和路段相连区域AGV的路径示意图,图20中点表示AGV到达虚拟节点的时间,通过到达虚拟节点的时间确定路段和路口的时间窗。可参照图21,图21为路口和路口相连区域AGV的路径示意图,AGV在行驶中会同时占用两个栅格,从A点到C点,栅格B一直在被占用,所以栅格B时间窗为AGV到达A点的时间和C点的时间。

需要说明的是,在本方案中使用到了时间窗,为了避免双向单车道AGV系统中出现冲突和死锁现象,需要确定每辆运行AGV对路口区域或路段区域占用的时间段,即是AGV系统路径规划的时间窗,其真实含义为:AGV车辆从进入某个区域到离开该区域的时间段,在该时间段内车辆被赋予该路径某个方向上的使用权。

不同类型的AGV在同一区域的通过时间不同,通过方式分为直接通过和停车再起步通过两种。因此我们需要测量不同类型的路口通过时间,生成表格,可以参考表1。在测量时,以AGV的抽象点坐标进入路口区域的时间为开始时间,以AGV的坐标离开路口区域的时间为结束时间。

表1

时间窗的操作分为3类:(1)删除一条路径的时间窗:当检测到时间窗异常时,需要为AGV重新规划路径,所以需要删除该AGV剩余路径的时间窗。(2)增加一条路径的时间窗:当某个AGV路径规划成功时,需要将这条路径的时间窗添加到现有的时间窗信息中。(3)修改路口或路段的时间窗为固定时间:当AGV故障时,AGV需要在原地等待,对路口或者路段的占用时间未知,所以要加长该区域的时间窗。

需要说明的是,关于冲突类型判断,可基于目标地图,将多AGV的冲突分为路段冲突和节点冲突两大类,路段冲突发生在路段区域,包括追击冲突和路段相向冲突,节点冲突发生在路口区域,包括相向节点冲突和普通节点冲突。

应当理解的是,对于路段追击冲突,追击冲突考虑同路段的追击和跨路段的追击,可参照图22,图22为路段追击示意图,发生追击冲突的原因有两个:一是两车都正常行驶,但后车的速度大于前车的速度;二是前车管制停车,后车正常行驶。两个原因可以都可以归结为后车的速度大于前车的速度,导致两车之间的距离不断减小,并且会在路段某一处相遇。

可参照图23,图23为路段追击时间窗示意图,借助建立的目标地图,可以发现同路段的追击冲突在时间窗上表现为一个AGV的时间窗包含另一个AGV的时间窗。而且可以通过细线条AGV等待解决冲突,如图中细虚线所示。如果细线条AGV是已规划的路径,粗线条AGV是正在规划的路径,根据不改变已规划路径的原则,存在无法解决的冲突,因为在行驶时,细线条AGV一定会管制停车,造成时间窗的不准确,从而重新规划路径。解决追击冲突的AGV等待依靠管制模块执行,当小车与前车的距离小于设定值之时,触发管制停车。所以跨路段的追击冲突在行驶过程中也可以被识别,但是不能在路径规划时预计,这种情况可以按照时间窗异常来处理。

应当理解的是,对于路段相向冲突,相向冲突发生在双向路段上,相向冲突分为路段相向冲突和节点相向冲突,可如图24所示,图24为路段相向冲突示意图,相向冲突一旦发生就会造成AGV碰撞或者死锁,所以要在路径规划时规避。若两个AGV在一个双向路段上相向行驶,且时间窗有重叠,则构成路段相向冲突。

应当理解的是,对于节点冲突,普通节点冲突是指两个AGV在节点处相遇,但在节点前后路段完全不同,相向节点冲突是指两个AGV在节点前后路径相同。例如,AGV1的部分路径为A→B→C,AGV2的部分路径为D→B→E,且AGV1与AGV2同时经过节点B,则AGV1与AGV2构成普通节点冲突。若AGV3的部分路径为C→B→A,且AGV1与AGV3同时经过节点B,则AGV1与AGV3构成相向节点冲突。普通节点冲突和相向节点冲突,可以根据发生冲突的时间窗所记录的路径判断,若已规划时间窗的进入虚拟站点和新的时间窗的离开虚拟站点相同,则为相向节点冲突,否则为普通节点冲突。

可以理解的是,对于相向节点冲突,可参照图25,图25为相向节点冲突示意图,相向节点冲突会造成AGV的死锁或碰撞,应在规划时避免。对于普通节点冲突,可参照图26,图26为普通节点冲突示意图,对于发生在路口区域的普通节点冲突,即两个AGV会在同一时间占用路口,让其中一个AGV在路段上等待,直到另一个AGV通过路口后再行驶,对于发生在栅格区域的普通节点冲突,两个AGV会同时占用栅格,让其中一个AGV在上一个栅格处等待,直到另一个AGV通过后再行驶。通过这样的方法可以解决普通节点冲突,且等待时间不会太长。结合交通管制的规则,当小车行驶至路口处的虚拟节点时,询问路口是否被其他AGV占用,若被占用则停车等待,若没有占用则顺利通过。通过路口权限预约的交通管制可以解决路口出的普通节点冲突。

需要说明的是,当检测到时间窗异常时,AGV需要重新规划路径,而时间窗的计算本身存在不准确的问题,为了避免由于时间窗不准确造成的重新规划路径过于频繁的问题,对时间窗进行模糊处理,允许一定时间的提前和延迟。

可以理解的是,对于路段和路口相连区域,可如图27所示,图27为路段和路口相连区域的时间窗模糊处理示意图,实线N1为原来确定的时间窗,虚线N2与虚线N3分别为允许延迟和提前的时间窗,时间窗的模糊值不大于路口通过时间的最小值。在这样的处理下,如果原来的时间窗没有追击冲突和相向冲突,则模糊后的时间窗(早到或晚到)也没有追击冲突和相向冲突,如果原来有追击冲突,则变化的是AGV的等待时间,也不会产生新的冲突。原来没有普通节点冲突,因为AGV早到或晚到,可能会产生新的普通节点冲突。早到的情况,AGV等待即可;晚到的情况,发生冲突的另一个AGV等待。等待时间一点在时间窗的模糊的允许范围内,不会重新规划路径。在原始站点和虚拟站点处检查时间窗。

可以理解的是,对于栅格路口和栅格路口相连区域,栅格路口和栅格路口相连区域的时间窗必须准确。在到达原始站点时检查上一区域时间窗的离开时间是否等于当前时间。对于路径规划中的冲突判断,可计算扩展节点的G值H值F值,在计算的过程中判断是否存在冲突,如果存在不能解决的冲突会设置F值为无穷大,如果存在可以解决的冲突,会计算等待时间,同时考虑转弯时间和AGV加速度减速度造成的时间窗,保证时间窗的准确。

相应地,所述步骤S10,包括:

步骤S101,获取目标地图中各路口区域和路段区域分别对应的时间窗信息,所述时间窗信息为用于表征各区域在不同时间段内是否规划有车辆通过的标识。

应当理解的是,基于上述操作和原理,可从目标地图中获取各路口区域和路段区域分别对应的时间窗信息,然后基于这些时间窗信息来对车辆进行路径规划,能够在多车路径规划中有效防止在不同车辆出现冲突的现象,提高了路网的通过效率,并且保证了安全性。

在本实施例中,根据原始地图中的原始站点和原始路段确定路口区域和路段区域;基于所述路口区域和所述路段区域构建拓扑地图;在所述拓扑地图中添加时间轴,得到时空拓扑地图,并将所述时空拓扑地图作为目标地图,从而可先对原始地图进行预处理,然后再基于预处理阶段的数据来进行建模,并结合时间轴得到时空拓扑地图,用于后续的路径规划流程,提高了路径规划的准确性,也进一步保证了安全性。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于时间窗的路径规划程序,所述基于时间窗的路径规划程序被处理器执行时实现如上文所述的基于时间窗的路径规划方法的步骤。

由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。

此外,参照图28,本发明实施例还提出一种基于时间窗的路径规划装置,所述基于时间窗的路径规划装置包括:

时间窗模块10,用于获取目标地图中各区域分别对应的时间窗信息,所述时间窗信息为用于表征各区域在不同时间段内是否规划有车辆通过的标识。

路径规划模块20,用于根据所述目标地图以及各区域分别对应的时间窗信息依次为多个待选车辆进行路径规划。

在本实施例中,获取目标地图中各区域分别对应的时间窗信息,所述时间窗信息为用于表征各区域在不同时间段内是否规划有车辆通过的标识,根据所述目标地图以及各区域分别对应的时间窗信息依次为多个待选车辆进行路径规划,从而结合各区域的时间窗信息来进行路径规划,可有效防止不同车辆出现冲突的情况,提高了路网的通过效率,并且保证了安全性。

在本发明所述基于时间窗的路径规划装置的其他实施例或具体实现方法可参照上述各方法实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该估算机软件产品存储在如上所述的一个估算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台智能设备(可以是手机,估算机,基于时间窗的路径规划设备,或者网络基于时间窗的路径规划设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 基于时间窗的路径规划方法、装置、设备及存储介质
  • 基于时间窗的多车路径规划方法、系统、设备及存储介质
技术分类

06120113808400