一种预防碰撞冲突的方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种预防碰撞冲突的方法及装置。
背景技术
自动引导车辆(Automated Guided Vehicle,简称为AGV),是一种装有电磁或光学等自动引导装置,由计算机控制,以轮式移动为特征,自带动力或动力转换装置,并且能够沿规定的导引路径自动行驶的运输工具,一般具有安全防护、移载等多种功能。AGV调度:指在具有多种多量AGV的系统中进行任务管理,设备管理,交通管理等功能,使得所有AGV能够合理的完成任务;路径规划:生成所有指定AGV的路径使其能够完成被指派的任务。
相关技术中提出了一种自动化集装箱码头多自动引导车辆路径冲突消解方法,包括:
步骤1,设定自动引导车辆路径的路径特征;
步骤2,将自动引导车辆的路径离散化为特征点和特征方向,特征点是从路径轨迹上取出有限数量的点,特征方向是特征点的方向;
步骤3,对自动引导车辆路径进行动态划分,将路径的特征点集按形式顺序划分为四个子集:已过点子集、占用点子集、申请点子集和探测点子集;
步骤4,依据方向包围盒方法检测特征点冲突;
步骤5,预测路径冲突,并在可能发生路径冲突时,调整部分路径以避免冲突
步骤6,有新的自动引导车辆路径生成时,对新生成的路径执行步骤1和步骤2;
步骤7,按照确定的时间间隔反复执行步骤3到步骤5,直至所有自动引导车辆都到达终点结束运动。
上述的预测碰撞(冲突)方法需要将路径按顺序划分为四个子集后定时根据已过点子集、占用点子集、申请点子集和探测点子集,采用包围盒方法检测冲突,该种方法计算耗时长,在AGV数量较多时不是非常适用。
针对相关技术中碰撞冲突的避免方法计算耗时长且AGV数量较多时不适用的问题,尚未提出解决方案。
发明内容
本发明实施例提供了一种预防碰撞冲突的方法及装置,以至少解决相关技术中碰撞冲突的避免方法计算耗时长且AGV数量较多时不适用的问题。
根据本发明的一个实施例,提供了一种预防碰撞冲突的方法,包括:
从预先设置的节点的危险点集的集合确定N辆AGV在对应执行路径上的节点的危险点集,其中,所述危险点集的集合包括预先建立的地图中所述预先设置的节点上不同类型AGV在不同运动形式下存在碰撞的危险点的集合,所述N为大于1的整数;
获取待规划AGV的待执行路径,其中,所述待执行路径为所述待规划AGV在对应执行路径中待执行的一段路径;
根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在其他AGV的危险点;
在判断结果为是的情况下,调整所述待规划AGV的路径,控制所述待规划AGV按照调整后的路径运动。
可选地,从预先设置的节点的危险点集的集合确定所述N辆AGV在对应执行路径上的节点的危险点集包括:
根据所述N辆AGV的执行路径确定所述N辆AGV在对应执行路径上的节点和所述N辆AGV的运动形式;
根据所述执行路径上的节点从所述危险点集的集合中获取所述N辆AGV相对于其他AGV在所述运动形式下的危险点集。
可选地,根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在其他AGV的危险点包括:
根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在于其他AGV的危险点集中;
在判断结果为是的情况下,确定所述待规划AGV在所述待执行路径上的节点存在其他AGV的危险点;
在判断结果为否的情况下,确定所述待规划AGV在所述待执行路径上的节点不存在其他AGV的危险点。
可选地,调整所述待规划AGV的路径包括:
记录所述待执行路径上节点的危险点以及所述危险点对应的AGV;
判断所述危险点对应的AGV是否处于执行中且状态正常;
在判断结果为是的情况下,控制所述待规划AGV进入等待状态,在所述待规划AGV进入等待状态的时间超过预定时间的情况下,对所述待规划AGV进行路径调整;
在判断结果为否的情况下,直接对所述待规划AGV进行路径调整。
可选地,所述方法还包括:
在对所述待规划AGV进行路径调整失败的情况下,控制所述待规划AGV进行避让处理。
可选地,所述方法还包括:
在判断结果为否的情况下,控制所述待规划AGV按照所述待执行路径运动;
更新所述N辆AGV在对应执行路径上的节点的危险点集。
可选地,在根据N辆AGV的执行路径和类型从预先设置的节点的危险点集的集合确定所述N辆AGV在对应执行路径上的节点的危险点集之前,所述方法还包括:
建立所述地图中所述预先设置的节点的不同类型AGV在不同运动形式下的危险点集。
可选地,建立所述地图中所述预先设置的节点的不同类型AGV在不同运动形式下的危险点集包括:
确定所述预先设置的节点的坐标;
根据所述节点的坐标通过图形判别法确定所述预先设置的节点的危险边界;
将所述危险边界范围内的节点确定为所述预先设置的节点的危险点;
将所述预先设置的节点的所有危险点取并集确定所述节点上不同类型AGV在不同运动形式下的危险点集。
可选地,所述危险点集的集合包括:横向危险点集、纵向危险点集、转弯危险点集,其中,所述横向危险点集至少包括:横向对横向危险点集,横向对纵向危险点集、横向对转弯危险点集;所述纵向危险点集至少包括:纵向对横向危险点集、纵向对纵向危险点集、纵向对转弯危险点集;所述转弯危险点集至少包括:转弯对横向危险点集、转弯对纵向危险点集、转弯对转弯危险点集;所述运动形式包括横向运动、纵向运动、转弯运动。
根据本发明的另一个实施例,还提供了一种预防碰撞冲突的装置,包括:
确定模块,用于从预先设置的节点的危险点集的集合确定N辆AGV在对应执行路径上的节点的危险点集,其中,所述危险点集的集合包括预先建立的地图中所述预先设置的节点上不同类型AGV在不同运动形式下存在碰撞的危险点的集合,所述N为大于1的整数;
获取模块,用于获取待规划AGV的待执行路径,其中,所述待执行路径为所述待规划AGV在对应执行路径中待执行的一段路径;
判断模块,用于根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在其他AGV的危险点;
调整模块,用于在判断结果为是的情况下,调整所述待规划AGV的路径,控制所述待规划AGV按照调整后的路径运动。
可选地,所述确定模块包括:
第一确定单元,用于根据所述N辆AGV的执行路径确定所述N辆AGV在对应执行路径上的节点和所述N辆AGV的运动形式;
获取单元,用于根据所述执行路径上的节点从所述危险点集的集合中获取所述N辆AGV相对于其他AGV在所述运动形式下的危险点集。
可选地,所述判断模块包括:
判断单元,用于根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在于其他AGV的危险点集中;
第二确定单元,用于在判断结果为是的情况下,确定所述待规划AGV在所述待执行路径上的节点存在其他AGV的危险点;
第二确定单元,用于在判断结果为否的情况下,确定所述待规划AGV在所述待执行路径上的节点不存在其他AGV的危险点。
可选地,所述调整模块包括:
记录单元,用于记录所述待执行路径上节点的危险点以及所述危险点对应的AGV;
判断单元,用于判断所述危险点对应的AGV是否处于执行中且状态正常;
第一控制单元,用于在判断结果为是的情况下,控制所述待规划AGV进入等待状态,在所述待规划AGV进入等待状态的时间超过预定时间的情况下,对所述待规划AGV进行路径调整;
调整单元,用于在判断结果为否的情况下,直接对所述待规划AGV进行路径调整。
可选地,所述装置还包括:
第二控制单元,用于在对所述待规划AGV进行路径调整失败的情况下,控制所述待规划AGV进行避让处理。
可选地,所述装置还包括:
控制模块,用于在判断结果为否的情况下,控制所述待规划AGV按照所述待执行路径运动;
更新模块,用于更新所述N辆AGV在对应执行路径上的节点的危险点集。
可选地,所述装置还包括:
建立模块,用于建立所述地图中所述预先设置的节点的不同类型AGV在不同运动形式下的危险点集。
可选地,所述建立模块,还用于
确定所述预先设置的节点的坐标;
根据所述节点的坐标通过图形判别法确定所述预先设置的节点的危险边界;
将所述危险边界范围内的节点确定为所述预先设置的节点的危险点;
将所述预先设置的节点的所有危险点取并集确定所述节点上不同类型AGV在不同运动形式下的危险点集。
可选地,所述危险点集的集合包括:横向危险点集、纵向危险点集、转弯危险点集,其中,所述横向危险点集至少包括:横向对横向危险点集,横向对纵向危险点集、横向对转弯危险点集;所述纵向危险点集至少包括:纵向对横向危险点集、纵向对纵向危险点集、纵向对转弯危险点集;所述转弯危险点集至少包括:转弯对横向危险点集、转弯对纵向危险点集、转弯对转弯危险点集;所述运动形式包括横向运动、纵向运动、转弯运动。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,根据N辆AGV的执行路径和类型从预先设置的节点的危险点集的集合确定所述N辆AGV在对应执行路径上的节点的危险点集,其中,所述危险点集的集合包括预先建立的地图中所述预先设置的节点上不同类型AGV在不同运动形式下存在碰撞的危险点的集合,所述N为大于1的整数;获取待规划AGV的待执行路径,其中,所述待执行路径为所述待规划AGV在对应执行路径中待执行的一段路径;根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在其他AGV的危险点;在判断结果为是的情况下,调整所述待规划AGV的路径,控制所述待规划AGV按照调整后的路径运动,可以解决相关技术中碰撞冲突的避免方法计算耗时长且AGV数量较多时不适用的问题,减少了计算成本,能够更加快速的检测出路径是否存在碰撞冲突,快速调整路径,避免碰撞冲突,适用于含有大量、多种AGV的调度系统中。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种预防碰撞冲突方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种预防碰撞冲突的方法的流程图;
图3是根据本发明实施例的一种AGV调度中的防碰撞冲突方法的流程图;
图4是根据本发明实施例的建立拓扑地图中每个节点的危险点集的示意图一;
图5是根据本发明实施例的建立拓扑地图中每个节点的危险点集的示意图二;
图6是根据本发明实施例的建立拓扑地图中每个节点的危险点集的示意图三;
图7是根据本发明实施例的预防碰撞冲突的装置的框图;
图8是根据本发明优选实施例的预防碰撞冲突的装置的框图一;
图9是根据本发明优选实施例的预防碰撞冲突的装置的框图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种预防碰撞冲突方法的移动终端的硬件结构框图,如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的报文接收方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端或网络架构的预防碰撞冲突的方法,图2是根据本发明实施例的一种预防碰撞冲突的方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,从预先设置的节点的危险点集的集合确定N辆AGV在对应执行路径上的节点的危险点集,其中,所述危险点集的集合包括预先建立的地图中所述预先设置的节点上不同类型AGV在不同运动形式下存在碰撞的危险点的集合,所述N为大于1的整数;
本发明实施例中,上述的运动形式可以包括横向运动、纵向运动和转弯运动等,通过将路径抽象为横向、纵向、转弯三种运动形式点集的形式建立每个地图节点危险点集的基础上,根据每辆AGV执行的路径信息从对应地图节点危险点集中选取对应危险点集进而维护每辆AGV的危险点集。
步骤S204,获取待规划AGV的待执行路径,其中,所述待执行路径为所述待规划AGV在对应执行路径中待执行的一段路径;
步骤S206,根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在其他AGV的危险点;
上述的其他AGV指的是所述N辆AGV中的一辆或多辆AGV。
步骤S208,在判断结果为是的情况下,调整所述待规划AGV的路径,控制所述待规划AGV按照调整后的路径运动。
上述步骤S208中,在检测碰撞冲突时,直接检测路径是否存在于其他AGV对应的危险点集中,若是,则调整运动路径即可。
通过上述步骤S202至S208,可以解决相关技术中碰撞冲突的避免方法计算耗时长且AGV数量较多时不适用的问题,减少了计算成本,能够更加快速的检测出路径是否存在碰撞冲突,快速调整路径,避免碰撞冲突,适用于含有大量、多种AGV的调度系统中。
本发明实施例中,在判断结果为否的情况下,控制所述待规划AGV按照所述待执行路径运动,更新所述N辆AGV在对应执行路径上的节点的危险点集。即说明对于待规划AGV来说,不存在碰撞冲突,直接按照规划的路径运动即可,需要根据待规划AGV的待执行路径更新所述N辆AGV在对应执行路径上的节点的危险点集,为接下来的运动做好防碰撞冲突准备。
本发明实施例中,上述步骤S202具体可以包括:
根据所述N辆AGV的执行路径和类型确定所述N辆AGV中每辆AGV在对应执行路径上的节点和运动形式;
根据所述每辆AGV执行路径上的节点从所述危险点集的集合中获取所述每辆AGV相对于所述N辆AGV中的其他AGV在所述运动形式下的危险点集,从而确定所述N辆AGV在对应执行路径上的节点的危险点集。
本发明实施例中,上述步骤S206具体可以包括:
根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在于所述其他AGV的危险点集中,即判断待规划AGV在待执行路径上的节点是存在于所述N辆AGV中的一辆或多辆AGV的危险点集中;
在判断结果为是的情况下,确定所述待规划AGV在所述待执行路径上的节点存在其他AGV的危险点,即所述待规划AGV在待执行路径上的节点存在碰撞冲突的可能;
在判断结果为否的情况下,确定所述待规划AGV在所述待执行路径上的节点不存在其他AGV的危险点,即所述待规划AGV在待执行路径上的节点不存在碰撞冲突。
可选地,上述步骤S208具体可以包括:
记录并存储所述待执行路径上节点的危险点以及所述危险点对应的AGV,其中,为危险的对应的AGV可能为一个或多个;
判断所述危险点对应的AGV是否处于执行中且状态正常,即确定危险的对应的AGV是否正常且正在执行任务;
在判断结果为是的情况下,控制所述待规划AGV进入等待状态,在所述待规划AGV进入等待状态的时间超过预定时间的情况下,对所述待规划AGV进行路径调整,即若危险点对应的AGV的状态正常且在执行任务中,则待规划AGV便进入等待状态,在等待超时之后调整待规划AGV的路径;
在危险点对应的一个或多个AGV的状态不正常或不是正在执行任务的情况下,直接对所述待规划AGV进行路径调整;在对所述待规划AGV进行路径调整失败的情况下,控制所述待规划AGV进行避让处理,如果调整路径失败,说明很可能导致碰撞冲突,此时控制待规划AGV进行避让,从而避免碰撞冲突。
本发明实施例中,在根据N辆AGV的执行路径和类型从预先设置的节点的危险点集的集合确定所述N辆AGV在对应执行路径上的节点的危险点集之前,建立所述地图中所述预先设置的节点的不同类型AGV在不同运动形式下的危险点集,为待规划AGV规划路径做好准备,且在规划过程中尽量规划一条少碰撞冲突或无碰撞冲突的路径。
进一步地,建立所述地图中所述预先设置的节点的不同类型AGV在不同运动形式下的危险点集具体可以包括:
在所述地图中预先设置了多个节点,确定所述预先设置的节点的坐标;
根据所述节点的坐标通过图形判别法确定所述预先设置的节点的危险边界,即针对不同类型的AGV,由于AGV的外形尺寸不同,故可以同图形判别法确定预先设置的节点对于不同类型的AGV的危险边界;
在危险边界范围内的节点则确定为危险点,将所述危险边界范围内的所有节点确定为所述预先设置的节点的危险点;
将所述预先设置的节点的所有危险点取并集确定所述节点上不同类型AGV在不同运动形式下的危险点集,即每个节点所有危险点的集合则为该节点的危险点集。
上述的危险点集的集合包括:横向危险点集、纵向危险点集、转弯危险点集,进一步的,所述横向危险点集至少包括:横向对横向危险点集,横向对纵向危险点集、横向对转弯危险点集;所述纵向危险点集至少包括:纵向对横向危险点集、纵向对纵向危险点集、纵向对转弯危险点集;所述转弯危险点集至少包括:转弯对横向危险点集、转弯对纵向危险点集、转弯对转弯危险点集。
本发明实施例通过将AGV路径划分为各节点的横向运动、纵向运动及转弯三种运动形式后对拓扑地图每个节点建立不同类型AGV间在该点不同运动形式所产生的危险点集的集合,如表1所示。
表1
之后在调度时再根据每个AGV自身的路径(自身位置也转化到路径中)和类型建立对于各类型AGV的危险点集,如表2所示。
表2
每个AGV将规划的路径按照速度划分为多段后按照一定规律动态更新,每一段更新前检测要运行的路径是否经过其他AGV的危险点,若未经过则进行更新,否则进行等待、调整路径或者避让,实现所有AGV能够合理避免冲突的执行完成任务,图3是根据本发明实施例的一种AGV调度中的防碰撞冲突方法的流程图,如图3所示,该方法的实现步骤如下:
步骤S301,AGV系统初始化载入地图信息、AGV类型信息等,其中,AGV类型信息包括AGV的尺寸等,不同尺寸的AGV为不同类型的AGV;
步骤S302,建立每个地图节点所包含的横向对横向,横向对纵向、横向对转弯、纵向对横向、纵向对纵向、纵向对转弯、转弯对横向、转弯对纵向、转弯对转弯共9种危险点集的集合,用于建立危险集合的信息包括:节点的横纵坐标,每种类型AGV考虑运动偏差后的长、宽、对角线长度。建立方法如下:每个节点的危险点集合按照AGV类型分为n种AGV对其他n种AGV的共n*n类集合,各类集合再按照运行形式分为横向对横向、横向对纵向、横向对转弯、纵向险点集,建立危险点集时,将横向、纵向运动简化为矩形,转弯简化为圆形,如图4、5、6所示,实线图形为待计算A类AGV,点线图形为其他B类AGV示意图,虚线为危险点集合的判别边界的图形判别法,通过计算得到在某节点上所有运动形式会产生碰撞的点,放入相应的危险点集,最终对于拓扑地图每个节点共建立如表1所示的n*n*3*3种危险点集。
步骤S303至S304,更新AGV信息,进行AGV危险点集更新。根据本身种类和执行的路径上节点的运动形式,从地图危险点集中相应种类AGV对于其他种类AGV在所有相应节点的相应运动形式对于其他三种运动形式的对应的危险点集取并集从而获得对于其他n种车辆的横向、纵向、转弯三种运动形式的n*3种如表3所示的危险点集。
步骤S305,判断是否需要规划路径,在判断结果为是的情况下,执行步骤S306,否则执行S307;
步骤S306,规划路径,对于需要规划的AGV根据任务信息,状态等进行路径规划生成用于完成任务的全局路径信息;
表3
步骤S307,判断AGV是否需要更新路径,如果需要更新路径则根据下一段路径经过的节点及相应运动形式,依次检测各点是否属于其他AGV对应其种类与运动形式的危险点集,若属于则表示该路径存在碰撞冲突,无法更新,同时记录经过的危险点的节点信息、相应的运动形式以及属于哪辆AGV,否则更新段路径后执行步骤S303、S304。如果不需要更新段路径则执行步骤S303、S304;
步骤S310,根据冲突信息检测冲突AGV的路径是否执行中且状态正常,在判断结果为是的情况下,执行步骤S311,否则执行步骤S313。
步骤S311,进入等待状态;
步骤S312,判断等待时间是否超时,在判断结果为是的情况下,执行步骤S313,未超时则执行步骤S303、S304;
步骤S314,根据检测到的危险点信息,进行路径调整,判断路径调整是否成功,在判断结果为是的情况下,执行步骤S316,在判断结果为否的情况下,执行S315;
步骤S315,若无法调整成则进行避让处理,之后执行步骤S303;
步骤S316,若能够调整成功,则更新段路径,即将调整后路径下发给AGV,控制AGV按照调整后的路径运动。
下面举例说明拓扑地图每个节点危险点集的建立,如图4、5、6所示,建立1号节点上A类AGV对于B类AGV设备的各种危险点集。该方法通过图形判别方法,将根据A类AGV在节点上的运动形式简化的图形a中心放置在节点中心,此时以B类AGV运动形式所对应的图形框b与a发生碰撞冲突的时B类AGV的中心点描绘的该类危险点集的判别边界,最终将边界内的节点放入该类危险点集中。计算1号节点上A类AGV三类运动简化的图形以实线图形表示,对于B类AGV横向、纵向、转弯运动的危险点集的判别边界以虚线表示。所以对于1号节点,A类AGV横向运动对于B类AGV横向运动的危险点集为{1,2}、对于B类AGV纵向运动的危险点集为{1,2,5,6},对于B类AGV转弯运动的危险点集为{1,2,5,6};A类AGV纵向运动对于B类AGV横向运动的危险点集为{1,2,5,6}、对于B类AGV纵向运动的危险点集为{1,5},对于B类AGV转弯运动的危险点集为{1,2,5,6};A类AGV转弯运动对于B类AGV横向运动的危险点集为{1,2,5,6}、对于B类AGV纵向运动的危险点集为{1,2,5,6},对于B类AGV转弯运动的危险点集为{1,2,5,6}。
AGV危险点集建立举例:若系统中一辆A类AGV:m正在执行的路径为1、2、3点的横向运动,则m对于B类机器人横向运动的危险点集为地图1、2、3号节点中A类AGV横向运动对于B类AGV横向运动的危险点集的并集{1,2,3,4};m对于B类机器人纵向运动的危险点集为地图1,2,3号节点中A类AGV横向运动对于B类AGV纵向运动的危险点集的并集{1,2,3,4,5,6,7,8};m对于B类机器人转弯运动的危险点集为地图1,2,3号节点中A类AGV横向运动对于B类AGV转弯运动的危险点集的并集{1,2,3,4,5,6,7,8}。对于其他类型的同理。
路径碰撞冲突检测举例:设系统中存在A类B类AGV各一辆,A类AGV:m正在执行的路径为1、2、3点的横向运动,则其对于B类AGV危险点集如上段所述。此时一辆B类AGV:n需要更新的路径为9、5点的纵向路径和5点的转弯,此时依次检测9、5是否属m对于B类AGV纵向运动的危险点集以及5点是否属于m对于B类AGV转弯运动的危险点集。可知9点纵向路径不属于a对于B类AGV纵向运动的危险点集{1,2,3,4,5,6,7,8}中,不存在碰撞冲突,但5点分别属于m对于B类机器人纵向运动的危险点集{1,2,3,4,5,6,7,8},m对于B类AGV的B类机器人转弯运动的危险点集{1,2,3,4,5,6,7,8},所以该段路径与正在执行路径的m存在冲突。
实施例2
本发明实施例,还提供了一种预防碰撞的装置,图7是根据本发明实施例的预防碰撞冲突的装置的框图,如图7所示,包括:
确定模块72,用于从预先设置的节点的危险点集的集合确定N辆AGV在对应执行路径上的节点的危险点集,其中,所述危险点集的集合包括预先建立的地图中所述预先设置的节点上不同类型AGV在不同运动形式下存在碰撞的危险点的集合,所述N为大于1的整数;
获取模块74,用于获取待规划AGV的待执行路径,其中,所述待执行路径为所述待规划AGV在对应执行路径中待执行的一段路径;
判断模块76,用于根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在其他AGV的危险点;
调整模块78,用于在判断结果为是的情况下,调整所述待规划AGV的路径,控制所述待规划AGV按照调整后的路径运动。
可选地,所述确定模块72包括:
第一确定单元,用于根据所述N辆AGV的执行路径确定所述N辆AGV在对应执行路径上的节点和所述N辆AGV的运动形式;
获取单元,用于根据所述执行路径上的节点从所述危险点集的集合中获取所述N辆AGV相对于其他AGV在所述运动形式下的危险点集。
可选地,所述判断模块76包括:
判断单元,用于根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在于其他AGV的危险点集中;
第二确定单元,用于在判断结果为是的情况下,确定所述待规划AGV在所述待执行路径上的节点存在其他AGV的危险点;
第二确定单元,用于在判断结果为否的情况下,确定所述待规划AGV在所述待执行路径上的节点不存在其他AGV的危险点。
可选地,所述调整模块78包括:
记录单元,用于记录所述待执行路径上节点的危险点以及所述危险点对应的AGV;
判断单元,用于判断所述危险点对应的AGV是否处于执行中且状态正常;
第一控制单元,用于在判断结果为是的情况下,控制所述待规划AGV进入等待状态,在所述待规划AGV进入等待状态的时间超过预定时间的情况下,对所述待规划AGV进行路径调整;
调整单元,用于在判断结果为否的情况下,直接对所述待规划AGV进行路径调整。
可选地,所述装置还包括:
第二控制单元,用于在对所述待规划AGV进行路径调整失败的情况下,控制所述待规划AGV进行避让处理。
图8是根据本发明优选实施例的预防碰撞冲突的装置的框图一,如图8所示,所述装置还包括:
控制模块82,用于在判断结果为否的情况下,控制所述待规划AGV按照所述待执行路径运动;
更新模块84,用于更新所述N辆AGV在对应执行路径上的节点的危险点集。
图9是根据本发明优选实施例的预防碰撞冲突的装置的框图二,如图9所示,所述装置还包括:
建立模块92,用于建立所述地图中所述预先设置的节点的不同类型AGV在不同运动形式下的危险点集。
可选地,所述建立模块92,还用于
确定所述预先设置的节点的坐标;
根据所述节点的坐标通过图形判别法确定所述预先设置的节点的危险边界;
将所述危险边界范围内的节点确定为所述预先设置的节点的危险点;
将所述预先设置的节点的所有危险点取并集确定所述节点上不同类型AGV在不同运动形式下的危险点集。
可选地,所述危险点集的集合包括:横向危险点集、纵向危险点集、转弯危险点集,其中,所述横向危险点集至少包括:横向对横向危险点集,横向对纵向危险点集、横向对转弯危险点集;所述纵向危险点集至少包括:纵向对横向危险点集、纵向对纵向危险点集、纵向对转弯危险点集;所述转弯危险点集至少包括:转弯对横向危险点集、转弯对纵向危险点集、转弯对转弯危险点集;所述运动形式包括横向运动、纵向运动、转弯运动。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从预先设置的节点的危险点集的集合确定N辆AGV在对应执行路径上的节点的危险点集,其中,所述危险点集的集合包括预先建立的地图中所述预先设置的节点上不同类型AGV在不同运动形式下存在碰撞的危险点的集合,所述N为大于1的整数;
S2,获取待规划AGV的待执行路径,其中,所述待执行路径为所述待规划AGV在对应执行路径中待执行的一段路径;
S3,根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在其他AGV的危险点;
S4,在判断结果为是的情况下,调整所述待规划AGV的路径,控制所述待规划AGV按照调整后的路径运动。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,从预先设置的节点的危险点集的集合确定N辆AGV在对应执行路径上的节点的危险点集,其中,所述危险点集的集合包括预先建立的地图中所述预先设置的节点上不同类型AGV在不同运动形式下存在碰撞的危险点的集合,所述N为大于1的整数;
S2,获取待规划AGV的待执行路径,其中,所述待执行路径为所述待规划AGV在对应执行路径中待执行的一段路径;
S3,根据所述N辆AGV在对应执行路径上的节点的危险点集判断所述待规划AGV在所述待执行路径上的节点是否存在其他AGV的危险点;
S4,在判断结果为是的情况下,调整所述待规划AGV的路径,控制所述待规划AGV按照调整后的路径运动。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。