CN115371691A - 一种路径规划方法、电子设备及调度*** - Google Patents
一种路径规划方法、电子设备及调度*** Download PDFInfo
- Publication number
- CN115371691A CN115371691A CN202211008678.5A CN202211008678A CN115371691A CN 115371691 A CN115371691 A CN 115371691A CN 202211008678 A CN202211008678 A CN 202211008678A CN 115371691 A CN115371691 A CN 115371691A
- Authority
- CN
- China
- Prior art keywords
- target
- path
- conflict
- agv
- agvs
- 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
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3415—Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种路径规划方法、电子设备及调度***,在AGV搬运过程中实时进行冲突检测,并基于冲突类型确定对应的避碰方案,提高避碰方案的灵活性,提升AGV的搬运效率。该方法包括:获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
Description
技术领域
本发明涉及调度***技术领域,特别涉及一种路径规划方法、电子设备及调度***。
背景技术
OLED(Organic Electroluminescence Display,有机电致发光显示器)工厂搬运***与生产、检测设备是协同工作的,搬运***的工作效率直接影响着OLED工厂的生产能力。
目前OLED工厂中的搬送路径由多个节点的路径组合构成,在实际有搬送需求的时候,AGV(Automated Guided Vehicle,自动导引运输车)***会对每个搬送节点之间的路径按照距离,时间,负载等因素分别计算一个代价值,然后AGV会根据提前设定的最大代价值,最大节点数等计算出从起点到终点的最优路径,从而进行搬送。
AGV小车一旦选择一条路径开始搬送之后,便不会更换路径,若是在搬送途中遇见障碍物或者是堵塞的情况,只会在原地等待路径复通之后继续搬送,影响搬送效率。
发明内容
本发明提供一种路径规划方法、电子设备及调度***,在AGV搬运过程中实时进行冲突检测,并基于冲突类型确定对应的避碰方案,提高避碰方案的灵活性,提升AGV的搬运效率。
第一方面,本发明实施例提供的一种路径规划方法,包括:
获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
本实施例提供的路径规划方法,在确定目标AGV的行驶路径后,实时对其进行冲突检测,并基于冲突类型实时调整目标AGV的行驶信息,根据调整后的行驶信息继续执行未完成的任务,能够在多个AGV并行执行多个任务的情况下,无需利用AGV等待来解决冲突,能够通过实时调整行驶的情况来提高AGV的搬送效率。
作为一种可选的实施方式,所述确定执行每个待处理任务的目标AGV,包括:
按照所述多个待处理任务的优先级顺序,依次确定与每个待处理任务的起点距离最近的空闲AGV;
将所述空闲AGV确定为对应的待处理任务的目标AGV。
作为一种可选的实施方式,所述确定执行每个待处理任务的目标AGV的行驶路径,包括:
获取与所述多个待处理任务相关的地图,确定每个待处理任务在所述地图上对应的起点和终点;其中所述地图包括栅格地图或拓扑地图;
利用A*算法,根据所述每个待处理任务对应的起点和终点,确定执行所述每个待处理任务的目标AGV的行驶路径。
作为一种可选的实施方式,所述冲突类型包括如下任意一种或任意多种:
节点冲突,所述节点冲突表征不同目标AGV在同一时刻经过相同节点导致的相撞;
赶超冲突,所述赶超冲突表征不同目标AGV在相同行驶路径上按照不同的行驶速度同向行驶导致的相撞;
相向冲突,所述相向冲突表征不同目标AGV在相同行驶路径上相向行驶导致的相撞。
作为一种可选的实施方式,任意一个目标AGV的行驶路径包括至少一个单位路径,所述单位路径包括两个节点;
所述当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型,包括:
当检测到至少两个目标AGV在同一时刻到达各自行驶路径中的节点相同,且行驶方向不同时,确定冲突类型为所述节点冲突;或,
当检测到至少两个目标AGV在各自行驶路径中的至少一个相同的单位路径上同向行驶,且行驶速度不同时,确定冲突类型为所述赶超冲突;或,
当检测到任意两个目标AGV在同一时刻行驶到同一节点,且一个目标AGV的上一节点是另一个目标AGV的下一节点,所述另一个目标AGV的上一节点是所述一个目标AGV的下一节点时,确定冲突类型为所述相向冲突。
作为一种可选的实施方式,所述冲突类型为所述节点冲突;
所述根据所述冲突类型,调整至少一个目标AGV的行驶信息,包括:
调整所述至少一个目标AGV经过所述相同节点的行驶速度,以使所述至少两个目标AGV行驶到所述相同节点时的时刻不同。
作为一种可选的实施方式,所述冲突类型为所述赶超冲突;
所述根据所述冲突类型,调整至少一个目标AGV的行驶信息,包括:
调整所述至少一个目标AGV在所述相同行驶路径上的行驶速度,以使所述至少两个目标AGV行驶在所述相同路径上的时段不重叠。
作为一种可选的实施方式,所述冲突类型为所述相向冲突;
所述根据所述冲突类型,调整至少一个目标AGV的行驶信息,包括:
将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径;
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径不冲突时,将所述至少一个目标AGV的行驶路径调整为所述新行驶路径。
作为一种可选的实施方式,所述重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径之后,还包括:
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在节点冲突时,调整所述至少一个目标AGV或所述其他目标AGV经过所述相同节点的行驶速度;或,
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在赶超冲突时,调整所述至少一个目标AGV或所述其他目标AGV在所述相同路径上的行驶速度。
作为一种可选的实施方式,所述将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径,包括:
将存在相向冲突的所述相同行驶路径设置为不可通行,对所述至少一个目标AGV的待处理任务相关的地图进行更新;
根据所述至少一个目标AGV当前所在的节点,以及对应的待处理任务在更新的地图上的终点,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径。
第二方面,本发明实施例提供的一种电子设备,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
作为一种可选的实施方式,所述处理器具体被配置为执行:
按照所述多个待处理任务的优先级顺序,依次确定与每个待处理任务的起点距离最近的空闲AGV;
将所述空闲AGV确定为对应的待处理任务的目标AGV。
作为一种可选的实施方式,所述处理器具体被配置为执行:
获取与所述多个待处理任务相关的地图,确定每个待处理任务在所述地图上对应的起点和终点;其中所述地图包括栅格地图或拓扑地图;
利用A*算法,根据所述每个待处理任务对应的起点和终点,确定执行所述每个待处理任务的目标AGV的行驶路径。
作为一种可选的实施方式,所述冲突类型包括如下任意一种或任意多种:
节点冲突,所述节点冲突表征不同目标AGV在同一时刻经过相同节点导致的相撞;
赶超冲突,所述赶超冲突表征不同目标AGV在相同行驶路径上按照不同的行驶速度同向行驶导致的相撞;
相向冲突,所述相向冲突表征不同目标AGV在相同行驶路径上相向行驶导致的相撞。
作为一种可选的实施方式,任意一个目标AGV的行驶路径包括至少一个单位路径,所述单位路径包括两个节点;
所述处理器具体被配置为执行:
当检测到至少两个目标AGV在同一时刻到达各自行驶路径中的节点相同,且行驶方向不同时,确定冲突类型为所述节点冲突;或,
当检测到至少两个目标AGV在各自行驶路径中的至少一个相同的单位路径上同向行驶,且行驶速度不同时,确定冲突类型为所述赶超冲突;或,
当检测到任意两个目标AGV在同一时刻行驶到同一节点,且一个目标AGV的上一节点是另一个目标AGV的下一节点,所述另一个目标AGV的上一节点是所述一个目标AGV的下一节点时,确定冲突类型为所述相向冲突。
作为一种可选的实施方式,所述冲突类型为所述节点冲突;
所述处理器具体被配置为执行:
调整所述至少一个目标AGV经过所述相同节点的行驶速度,以使所述至少两个目标AGV行驶到所述相同节点时的时刻不同。
作为一种可选的实施方式,所述冲突类型为所述赶超冲突;
所述处理器具体被配置为执行:
调整所述至少一个目标AGV在所述相同行驶路径上的行驶速度,以使所述至少两个目标AGV行驶在所述相同路径上的时段不重叠。
作为一种可选的实施方式,所述冲突类型为所述相向冲突;
所述处理器具体被配置为执行:
将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径;
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径不冲突时,将所述至少一个目标AGV的行驶路径调整为所述新行驶路径。
作为一种可选的实施方式,所述重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径之后,所述处理器具体还被配置为执行:
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在节点冲突时,调整所述至少一个目标AGV或所述其他目标AGV经过所述相同节点的行驶速度;或,
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在赶超冲突时,调整所述至少一个目标AGV或所述其他目标AGV在所述相同路径上的行驶速度。
作为一种可选的实施方式,所述处理器具体被配置为执行:
将存在相向冲突的所述相同行驶路径设置为不可通行,对所述至少一个目标AGV的待处理任务相关的地图进行更新;
根据所述至少一个目标AGV当前所在的节点,以及对应的待处理任务在更新的地图上的终点,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径。
第三方面,本发明实施例还提供一种调度***,包括至少两个目标AGV和控制器,其中:
所述至少两个目标AGV用于执行待处理任务;
所述控制器具体被配置为执行如下步骤:
获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
作为一种可选的实施方式,所述控制器具体被配置为执行:
按照所述多个待处理任务的优先级顺序,依次确定与每个待处理任务的起点距离最近的空闲AGV;
将所述空闲AGV确定为对应的待处理任务的目标AGV。
作为一种可选的实施方式,所述控制器具体被配置为执行:
获取与所述多个待处理任务相关的地图,确定每个待处理任务在所述地图上对应的起点和终点;其中所述地图包括栅格地图或拓扑地图;
利用A*算法,根据所述每个待处理任务对应的起点和终点,确定执行所述每个待处理任务的目标AGV的行驶路径。
作为一种可选的实施方式,所述冲突类型包括如下任意一种或任意多种:
节点冲突,所述节点冲突表征不同目标AGV在同一时刻经过相同节点导致的相撞;
赶超冲突,所述赶超冲突表征不同目标AGV在相同行驶路径上按照不同的行驶速度同向行驶导致的相撞;
相向冲突,所述相向冲突表征不同目标AGV在相同行驶路径上相向行驶导致的相撞。
作为一种可选的实施方式,任意一个目标AGV的行驶路径包括至少一个单位路径,所述单位路径包括两个节点;
所述控制器具体被配置为执行:
当检测到至少两个目标AGV在同一时刻到达各自行驶路径中的节点相同,且行驶方向不同时,确定冲突类型为所述节点冲突;或,
当检测到至少两个目标AGV在各自行驶路径中的至少一个相同的单位路径上同向行驶,且行驶速度不同时,确定冲突类型为所述赶超冲突;或,
当检测到任意两个目标AGV在同一时刻行驶到同一节点,且一个目标AGV的上一节点是另一个目标AGV的下一节点,所述另一个目标AGV的上一节点是所述一个目标AGV的下一节点时,确定冲突类型为所述相向冲突。
作为一种可选的实施方式,所述冲突类型为所述节点冲突;
所述控制器具体被配置为执行:
调整所述至少一个目标AGV经过所述相同节点的行驶速度,以使所述至少两个目标AGV行驶到所述相同节点时的时刻不同。
作为一种可选的实施方式,所述冲突类型为所述赶超冲突;
所述控制器具体被配置为执行:
调整所述至少一个目标AGV在所述相同行驶路径上的行驶速度,以使所述至少两个目标AGV行驶在所述相同路径上的时段不重叠。
作为一种可选的实施方式,所述冲突类型为所述相向冲突;
所述控制器具体被配置为执行:
将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径;
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径不冲突时,将所述至少一个目标AGV的行驶路径调整为所述新行驶路径。
作为一种可选的实施方式,所述重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径之后,所述控制器具体还被配置为执行:
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在节点冲突时,调整所述至少一个目标AGV或所述其他目标AGV经过所述相同节点的行驶速度;或,
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在赶超冲突时,调整所述至少一个目标AGV或所述其他目标AGV在所述相同路径上的行驶速度。
作为一种可选的实施方式,所述控制器具体被配置为执行:
将存在相向冲突的所述相同行驶路径设置为不可通行,对所述至少一个目标AGV的待处理任务相关的地图进行更新;
根据所述至少一个目标AGV当前所在的节点,以及对应的待处理任务在更新的地图上的终点,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径。
第四方面,本发明实施例还提供一种路径规划装置,该装置包括:
确定路径单元,用于获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
冲突检测单元,用于对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
调整行驶单元,用于根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
继续执行单元,用于根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
作为一种可选的实施方式,所述确定路径单元具体用于:
按照所述多个待处理任务的优先级顺序,依次确定与每个待处理任务的起点距离最近的空闲AGV;
将所述空闲AGV确定为对应的待处理任务的目标AGV。
作为一种可选的实施方式,所述确定路径单元具体用于:
获取与所述多个待处理任务相关的地图,确定每个待处理任务在所述地图上对应的起点和终点;其中所述地图包括栅格地图或拓扑地图;
利用A*算法,根据所述每个待处理任务对应的起点和终点,确定执行所述每个待处理任务的目标AGV的行驶路径。
作为一种可选的实施方式,所述冲突类型包括如下任意一种或任意多种:
节点冲突,所述节点冲突表征不同目标AGV在同一时刻经过相同节点导致的相撞;
赶超冲突,所述赶超冲突表征不同目标AGV在相同行驶路径上按照不同的行驶速度同向行驶导致的相撞;
相向冲突,所述相向冲突表征不同目标AGV在相同行驶路径上相向行驶导致的相撞。
作为一种可选的实施方式,任意一个目标AGV的行驶路径包括至少一个单位路径,所述单位路径包括两个节点;
所述冲突检测单元具体用于:
当检测到至少两个目标AGV在同一时刻到达各自行驶路径中的节点相同,且行驶方向不同时,确定冲突类型为所述节点冲突;或,
当检测到至少两个目标AGV在各自行驶路径中的至少一个相同的单位路径上同向行驶,且行驶速度不同时,确定冲突类型为所述赶超冲突;或,
当检测到任意两个目标AGV在同一时刻行驶到同一节点,且一个目标AGV的上一节点是另一个目标AGV的下一节点,所述另一个目标AGV的上一节点是所述一个目标AGV的下一节点时,确定冲突类型为所述相向冲突。
作为一种可选的实施方式,所述冲突类型为所述节点冲突;
所述调整行驶单元具体用于:
调整所述至少一个目标AGV经过所述相同节点的行驶速度,以使所述至少两个目标AGV行驶到所述相同节点时的时刻不同。
作为一种可选的实施方式,所述冲突类型为所述赶超冲突;
所述调整行驶单元具体用于:
调整所述至少一个目标AGV在所述相同行驶路径上的行驶速度,以使所述至少两个目标AGV行驶在所述相同路径上的时段不重叠。
作为一种可选的实施方式,所述冲突类型为所述相向冲突;
所述调整行驶单元具体用于:
将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径;
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径不冲突时,将所述至少一个目标AGV的行驶路径调整为所述新行驶路径。
作为一种可选的实施方式,所述重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径之后,所述调整行驶单元具体还用于:
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在节点冲突时,调整所述至少一个目标AGV或所述其他目标AGV经过所述相同节点的行驶速度;或,
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在赶超冲突时,调整所述至少一个目标AGV或所述其他目标AGV在所述相同路径上的行驶速度。
作为一种可选的实施方式,所述调整行驶单元具体用于:
将存在相向冲突的所述相同行驶路径设置为不可通行,对所述至少一个目标AGV的待处理任务相关的地图进行更新;
根据所述至少一个目标AGV当前所在的节点,以及对应的待处理任务在更新的地图上的终点,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径。
第五方面,本发明实施例还提供计算机存储介质,其上存储有计算机程序,该程序被处理器执行时用于实现上述第一方面所述方法的步骤。
本申请的这些方面或其他方面在以下的实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种OLED工厂地图示意图;
图2为本发明实施例提供的一种路径规划方法的实施流程图;
图3为本发明实施例提供的一种节点冲突的示意图;
图4为本发明实施例提供的一种赶超冲突的示意图;
图5为本发明实施例提供的一种相向冲突的示意图;
图6为本发明实施例提供的一种仿真地图绘制的示意图;
图7为本发明实施例提供的一种仿真任务设置示意图;
图8为本发明实施例提供的一种路径规划的示意图;
图9为本发明实施例提供的一种电子设备示意图;
图10为本发明实施例提供的一种调度***示意图;
图11为本发明实施例提供的一种路径规划装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
实施例1、OLED工厂搬运***与生产、检测设备是协同工作的,搬运***的工作效率直接影响着OLED工厂的生产能力。随着计算机技术、传感器技术等的发展与应用,搬运***的自动化水平呈现出广阔的发展前景。良好的控制算法对于提升控制***的稳定性及智能化水平有着关键性的作用,尤其在复杂非线性条件下,可表现出良好的控制能力。
目前OLED工厂中的搬送路径由多个节点的路径组合构成,在实际有搬送需求的时候,AGV***会对每个搬送节点之间的路径按照距离,时间,负载等因素分别计算一个代价值,然后AGV会根据提前设定的最大Cost值,最大节点数等计算出从Source port(起点)到Dest port(终点)之间的最优路径,从而进行搬送。如图1所示,本实施例提供一种OLED工厂地图示意图,其中port表示生产设备的出入端口,可以理解为设备的出入口,对应于搬送的起点或终点。AGV小车一旦选择一条路径开始搬送之后,便不会更换路径,若是在搬送途中遇见障碍物或者是堵塞的情况,也只会在原地等待路径复通之后继续搬送。这样的搬送形式,虽然能在一定程度上做到最优路径规划,但是在工厂实际生产过程中,会出现因为多个AGV小车同时进行搬送,并在搬送途中行至同一地点时出现碰撞风险,部分小车需要停下等待,影响搬送效率。
鉴于此,本发明实施例提供一种路径规划方法,应用于OLED工厂的多AGV小车复杂路径规划以及实时避碰,本实施例提供的路径规划方法,设计的核心思想是在确定目标AGV的行驶路径后,实时对其进行冲突检测,并基于冲突类型实时调整目标AGV的行驶信息,根据调整后的行驶信息继续执行未完成的任务,能够在多个AGV并行执行多个任务的情况下,无需利用AGV等待来解决冲突,能够通过实时调整行驶的情况来提高AGV的搬送效率。
如图2所示,本实施例提供的一种路径规划方法的实施流程如下所示:
步骤200、获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
在一些实施例中,本实施例中的多个待处理任务按优先级顺序依次排列,在处理时,先为优先级高的待处理任务分配空闲AGV作为该待处理任务的目标AGV,具体实施如下所示:
按照所述多个待处理任务的优先级顺序,依次确定与每个待处理任务的起点距离最近的空闲AGV;将所述空闲AGV确定为对应的待处理任务的目标AGV。其中,空闲AGV是指没有分配待处理任务的AGV,或者是已经执行完分配的待处理任务的AGV。
在一些实施例中,通过如下步骤确定执行每个待处理任务的目标AGV的行驶路径:
步骤a、获取与所述多个待处理任务相关的地图,确定每个待处理任务在所述地图上对应的起点和终点;其中所述地图包括栅格地图或拓扑地图;
实施中,本实施例采取优先将工厂网格化地图(包括栅格地图或拓扑地图)导入***,更好满足工厂需要高效搬送的需求。可选的,采取网格化计算生成一个二维坐标的地图,路径计算逻辑简单,计算效率高。
步骤b、利用A*算法,根据所述每个待处理任务对应的起点和终点,确定执行所述每个待处理任务的目标AGV的行驶路径。
其中,本实施例采用的A*算法是建立在Dijkstra算法(广度优先)和BFS算法(最佳优先)基础之上的一种启发式算法,根据启发函数来有选择地搜索节点,具有速度快,准确度高的优点。一种实施方式是,采用A*算法在栅格地图下寻找最短路径。基本规划路径思路是以起点为第一个计算点,计算其周围八个方格中每个点的代价值f(n),若某个点被占用即视为障碍物,则不入栈。然后取其中f(n)值最小的节点作为下一个计算点,并存储其父节点,直到搜索到终点,最后从终点追溯其父节点获取规划路径。A*算法与Dijkstra算法比较而言,Dijkstra算法的实质是广度优先搜索,是一种发散式的搜索,所以空间复杂度和时间复杂度都比较高,而对路径上的当前点,A*算法不但记录其到源点的代价,还计算当前点到目标点的期望代价,是一种启发式算法,也可以认为是一种深度优先的算法。所以用A*算法寻找最短路径的速度比较快。
实施中,A*算法的公式表示为:
f(n)=g(n)+h(n) 公式(1);
其中,f(n)是从起点(初始节点)经由节点n到终点(目标节点)的距离估计,g(n)是从起点到节点n的实际代价,h(n)是从节点n到终点的最佳路径的估计距离。
其中,A*算法的启发函数h(n)可以灵活选取,根据不同的情况,可以选择切比雪夫距离(即各坐标数值差绝对值的最大值)或欧氏距离(即空间中两个点之间的真实距离,或者向量的自然长度),但会增加算法复杂度,一定程度降低效率。
可选的,对于栅格地图而言,本实施例中的启发函数h(n)的选择在一般情况下根据AGV能够移动的方向而定,根据不同的情况,可以选择不同的启发函数。本实施例采用曼哈顿距离,根据两点的坐标可以有如下表示:
h(n)=10*abs(m(xn)-goal(xk))+10*(m(yn)-goal(yk)) 公式(2);
其中,[m(xn),m(yn)]表示当前节点n的坐标,[goal(xk),goal(yk)]表示终点的坐标。
实施中,以栅格地图为例,通过如下流程利用A*算法确定栅格地图中的最短路径,其中,设置两个表用于存放搜索到的节点:
流程1)将起点放入OPEN表,CLOSED表置空。
流程2)判断OPEN表是否为空,若是则宣告失败,程序退出。
流程3)将OPEN表中节点按节点的代价值进行排序。
流程4)将OPEN表中代价值最小的节点作为最优节点,并从OPEN表中取出,放入CLOSED表。
流程5)若当前OPEN表中代价值最小的节点n是终点E,则从终点E开始,每个节点沿着父节点移动直至起点,根据CLOSED表中各个节点的编号保存路径,退出。
流程6)若当前OPEN表中代价值最小的节点n不是终点E,则扩展到n的后继节点X。
流程7)计算X的代价值。
流程8)如果X已经在OPEN表中,而且X的代价值小于OPEN表的代价值,则将n设置为X的父节点,同时修正OPEN表的代价值为X,执行流程2);其中OPEN表的代价值是OPEN表中最优节点的代价值。
流程9)如果X已经在CLOSED表中,而且X的代价值小于CLOSE表的代价值,则将n设置为X的父节点,同时修正CLOSE表的代价值;并将X节点从CLOSE表取出,放入OPEN表中,执行流程2)。其中,CLOSE表的代价值是CLOSE表中最优节点的代价值。
流程10)如果X不在OPEN表和CLOSED表中的任意一个表中,则将其放入OPEN表中,并把n设置为X的父节点,执行流程2)。
实施中,本实施例对于已知的搬送请求,根据A*算法确定各搬送任务对应的AGV车辆,将各搬送任务加入调度序列,按各搬送任务的优先级顺序选择调度序列中的搬送任务,求解AGV车辆完成该搬送任务的最短路径,得到最短路径后将该搬送任务移出调度序列,同时监测各AGV车辆状态,搜索是否存在空闲车辆,如果不存在,则等待空闲AGV的出现,如果存在,则求解该AGV车辆完成该搬送任务的最短路径。
步骤201、对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
需要说明的是,本实施例中对每个目标AGV的行驶路径进行冲突检测,是在确定目标AGV的行驶路径之后,以及在该目标AGV行驶到存在冲突的行驶路径之前执行的。本实施例中确定的每种冲突类型,都是对行驶路径进行预判后得到的,并非真实发生了冲突后的判断,而是在发生冲突前根据各个目标AGV的行驶路径预先检测到了即将会发生的冲突,进而确定的冲突类型。
本实施例可以对每个目标AGV的行驶路径进行实时的冲突检测,即当确定目标AGV的行驶路径后即对其进行冲突检测,从而在各个目标AGV执行任务的同时解决相撞冲突,提高AGV的搬送效率。
在一些实施例中,本实施例中的冲突类型包括如下任意一种或任意多种:
节点冲突,所述节点冲突表征不同目标AGV在同一时刻经过相同节点导致的相撞;
赶超冲突,所述赶超冲突表征不同目标AGV在相同行驶路径上按照不同的行驶速度同向行驶导致的相撞;
相向冲突,所述相向冲突表征不同目标AGV在相同行驶路径上相向行驶导致的相撞。
在一些实施例中,本实施例中的任意一个目标AGV的行驶路径包括至少一个单位路径,所述单位路径包括两个节点。
在一些实施例中,如图3所示,本实施例提供一种节点冲突的示意图,通过如下方式确定节点冲突:
当检测到至少两个目标AGV在同一时刻到达各自行驶路径中的节点相同,且行驶方向不同时,确定冲突类型为所述节点冲突。
在一些实施例中,如图4所示,本实施例提供一种赶超冲突的示意图,通过如下方式确定赶超冲突:
当检测到至少两个目标AGV在各自行驶路径中的至少一个相同的单位路径上同向行驶,且行驶速度不同时,确定冲突类型为所述赶超冲突。
在一些实施例中,如图5所示,本实施例提供一种相向冲突的示意图,通过如下方式确定相向冲突:
当检测到任意两个目标AGV在同一时刻行驶到同一节点,且一个目标AGV的上一节点是另一个目标AGV的下一节点,所述另一个目标AGV的上一节点是所述一个目标AGV的下一节点时,确定冲突类型为所述相向冲突。
步骤202、根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
在一些实施例中,所述冲突类型为所述节点冲突时,调整所述至少一个目标AGV经过所述相同节点的行驶速度,以使所述至少两个目标AGV行驶到所述相同节点时的时刻不同。实施中,可以仅调整其中任意一个目标AGV经过所述相同节点的行驶速度,也可以根据待处理任务的优先级调整任意一个目标AGV经过所述相同节点的行驶速度,也可以调整发生节点冲突的各个目标AGV经过所述相同节点的行驶速度,其中可以增大行驶速度也可以减小行驶速度,具体根据实际情况确定,本实施例对此不作过多限定。
实施中,节点冲突是指在同一时刻,两辆或多辆AGV运行到同一节点,并且这些AGV具有不同的行驶方向。此时在该节点引起资源冲突,各个AGV将会出现碰撞或阻塞,此种情况下AGV1和AGV2互为障碍物,产生死锁,该节点被阻塞,后续AGV将无法通过。本实施例采用基于速度调节的冲突解决策略,在调度***确定AGV1与AGV2的下一节点相同且通过时刻相同时,可通过调节AGV1或AGV2的速度,使AGV1与AGV2通过下一个相同节点的时刻不同,避免两辆AGV的碰撞和阻塞。
在一些实施例中,所述冲突类型为所述赶超冲突时,调整所述至少一个目标AGV在所述相同行驶路径上的行驶速度,以使所述至少两个目标AGV行驶在所述相同路径上的时段不重叠。实施中,可以仅调整发生赶超冲突的任意一个目标AGV在所述相同行驶路径上的行驶速度,也可以根据待处理任务的优先级调整任意一个目标AGV在所述相同行驶路径上的行驶速度,也可以调整发生赶超冲突的各个目标AGV在所述相同行驶路径上的行驶速度,其中可以增大行驶速度也可以减小行驶速度,具体根据实际情况确定,本实施例对此不作过多限定。
实施中,赶超冲突是指两辆AGV同向而行,且速度不同,由于后面一辆车的速度大于前面车的速度,两车距离将会越来越短,若两车一直保持这一状态,将导致两车发生碰撞。本实施例采用基于速度调节的冲突解决策略,通过减小后面车辆的速度或增加前面车辆的速度,使前面车辆到达下一节点的时间先于后一车辆,有效避免了赶超冲突。
在一些实施例中,所述冲突类型为所述相向冲突时,将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径;其中,可以重新对发生相向冲突的任意一个目标AGV的行驶路径进行规划,也可以对发生相向冲突的各个目标AGV的行驶路径进行规划,还可以根据待处理任务的优先级,对发生相向冲突的任意一个目标AGV的行驶路径进行规划;
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径不冲突时,将所述至少一个目标AGV的行驶路径调整为所述新行驶路径。
在一些实施例中,所述重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径之后,当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在节点冲突时,调整所述至少一个目标AGV或所述其他目标AGV经过所述相同节点的行驶速度;或,
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在赶超冲突时,调整所述至少一个目标AGV或所述其他目标AGV在所述相同路径上的行驶速度。
在一些实施例中,通过如下步骤重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径:
将存在相向冲突的所述相同行驶路径设置为不可通行,对所述至少一个目标AGV的待处理任务相关的地图进行更新;
根据所述至少一个目标AGV当前所在的节点,以及对应的待处理任务在更新的地图上的终点,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径。
实施中,将存在相向冲突的所述相同行驶路径设置为不可通行,对地图进行更新,将至少一个目标AGV当前所在的节点作为起点,对应的待处理任务在更新的地图上的终点,利用A*算法,根据该待处理任务对应的起点和终点,重新规划该至少一个目标AGV的行驶路径。
实施中,相向冲突是指两辆AGV在同一条路径上相向而行时,由于在同一时刻下同一路径只能允许一辆AGV通过,此时会使两辆AGV发生碰撞和路径阻塞。对于相向冲突问题,本实施例可以采用复合调节策略,基于速度和几何路径复合调节,即路径即将出现相向冲突时,首先采用几何路径调节策略,对路径进行二次规划,同时对二次规划的路径进行验证。若二次规划后的路径不存在冲突,则按此方案解决冲突;若二次规划后的路径存在节点冲突或者赶超冲突时,则对二次规划的路径采用速度调节策略来解决二次路径规划后的冲突;若二次规划的路径仍存在相向冲突,则舍弃采用几何路径调节策略所规划的二次路径。
步骤203、根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
在一些实施例中,本实施例中的行驶信息包括但不限于行驶速度、行驶路径中的至少一种。
本实施例综合运用A*算法以及运动学分析方法,将所有可执行任务的AGV小车都加入调度任务序列,对于优先级高的小车会优先计算最优路径,并且会实时计算各单元路径是否会发生冲突,若有冲突的话会将该路径标为不可通行并继续进行计算,直到求解出最优路径。对于AGV可能发生碰撞的情况,不进行等待直接更改AGV的运行路径,也可采用复合调节策略,基于速度和几何路径复合调节。本实施例能够综合考虑工厂实际生产和搬送情况,规划的路径更加符合实际工厂需求,多AGV避碰也无需等待,可以再次进行路径调节和路径重新规划。基于OLED工厂内实际搬送现状进行规划,方案更加全面,更有利于在实际工厂生产中进行应用。本实施例采用网格化地图(栅格地图),采取网格化计算生成一个二维坐标的仓库地图,路径计算逻辑简单,计算效率高,优先将工厂网格化地图导入***,能够更好满足工厂需要高效搬送的需求。
为了证明本实施例能够提高避碰方案的灵活性,提升AGV的搬运效率,本实施例还提供一种MATLAB仿真结果说明,其中,如图6所示,本实施例提供一种仿真地图绘制的示意图,按照工厂内部实际情况进行栅格化地图设计,将地图的长和宽设置为60,画出地图边界,地图中Port口,柱子以及设备等都视为障碍物,其中灰色表示不能通过。
如图7所示,本实施例提供一种仿真任务设置示意图,本次仿真中设置有三个任务,即有三个起点和终点需要设置,在程序运行时,根据任务优先级的高低选择距离任务起点(需搬送Tray盘)最近的AGV作为起点进行路径规划,该AGV被标记为占用状态,优先级较低的任务会选择占用AGV之外的距离最近的AGV进行路径规划。
如图8所示,本实施例提供一种路径规划的示意图,本次仿真中,AGV1,AGV2,AGV3分别离起点1、起点2、起点3的距离是最近的,因此AGV1、AGV2、AGV3分别前往起点1、起点2、起点3进行搬送;期间对设定的障碍物进行了避让,并将Tray盘搬送至指定终点,期间没有发生碰撞事故。由于是栅格化的地图,所以防碰撞采用检测其潜在碰撞点的方式,将寻找路径置于循环中,当检测到存在碰撞点时,将碰撞点设置为障碍,第二条路径重新进行规划。为验证方案的避碰效果,在仿真中模拟一种最短路径会产生碰撞的情况,如图所示AGV2,AGV3分别离起点2,起点3鼓距离最近,因此其分别执行起点2和起点3的搬送任务。而在检测到AGV2的行驶路径会和AGV3的行驶路径发生相向冲突时,对AGV2或AGV3进行二次路径规划,避免了碰撞。
本实施例的避碰策略采用复合调节AGV小车的速度以及重新规划路径,达到不用停车等待的效果,避碰方案更加灵活,AGV小车搬送效率也更高。本实施例除了在路径规划时会考虑碰撞的情况将路径进行优化计算,并且对于实时搬送过程中可能发生的碰撞情况也有相应的避碰措施。不仅在AGV可能发生碰撞的情况下会采取调节两辆AGV的速度达到避碰的效果,而且还采取复合调节方法,对路径进行二次规划,以计算更优路径避免冲突。本实施例基于A*算法,A*算法是一种静态路网中求解最短路最有效的直接搜索方法,适用于多AGV小车的路径规划问题。对于已知的搬送请求,根据调度算法,确定各运输任务对应的AGV车辆,再对各个单位路径进行检测,查看是否存在冲突,如不存在冲突,则该任务路径规划结束,存在冲突即启动避碰程序,重新规划路径,直到碰撞问题消失。本专利将碰撞分类为节点冲突、赶超冲突、相向冲突三种,并对每种冲突进行逐个分析解决,对于搬送任务的最短路径规划则采用A*算法来求取最优路径。本实施例的路径规划方法综合广度优先与深度优先,具有速度快、准确度高的特点,同时可实现多AGV小车情况下的灵活避碰。
实施例2、基于相同的发明构思,本发明实施例还提供了一种电子设备,由于该设备即是本发明实施例中的方法中的设备,并且该设备解决问题的原理与该方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。
如图9所示,该设备包括处理器900和存储器901,所述存储器901用于存储所述处理器900可执行的程序,所述处理器900用于读取所述存储器901中的程序并执行如下步骤:
获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
作为一种可选的实施方式,所述处理器900具体被配置为执行:
按照所述多个待处理任务的优先级顺序,依次确定与每个待处理任务的起点距离最近的空闲AGV;
将所述空闲AGV确定为对应的待处理任务的目标AGV。
作为一种可选的实施方式,所述处理器900具体被配置为执行:
获取与所述多个待处理任务相关的地图,确定每个待处理任务在所述地图上对应的起点和终点;其中所述地图包括栅格地图或拓扑地图;
利用A*算法,根据所述每个待处理任务对应的起点和终点,确定执行所述每个待处理任务的目标AGV的行驶路径。
作为一种可选的实施方式,所述冲突类型包括如下任意一种或任意多种:
节点冲突,所述节点冲突表征不同目标AGV在同一时刻经过相同节点导致的相撞;
赶超冲突,所述赶超冲突表征不同目标AGV在相同行驶路径上按照不同的行驶速度同向行驶导致的相撞;
相向冲突,所述相向冲突表征不同目标AGV在相同行驶路径上相向行驶导致的相撞。
作为一种可选的实施方式,任意一个目标AGV的行驶路径包括至少一个单位路径,所述单位路径包括两个节点;
所述处理器900具体被配置为执行:
当检测到至少两个目标AGV在同一时刻到达各自行驶路径中的节点相同,且行驶方向不同时,确定冲突类型为所述节点冲突;或,
当检测到至少两个目标AGV在各自行驶路径中的至少一个相同的单位路径上同向行驶,且行驶速度不同时,确定冲突类型为所述赶超冲突;或,
当检测到任意两个目标AGV在同一时刻行驶到同一节点,且一个目标AGV的上一节点是另一个目标AGV的下一节点,所述另一个目标AGV的上一节点是所述一个目标AGV的下一节点时,确定冲突类型为所述相向冲突。
作为一种可选的实施方式,所述冲突类型为所述节点冲突;
所述处理器900具体被配置为执行:
调整所述至少一个目标AGV经过所述相同节点的行驶速度,以使所述至少两个目标AGV行驶到所述相同节点时的时刻不同。
作为一种可选的实施方式,所述冲突类型为所述赶超冲突;
所述处理器900具体被配置为执行:
调整所述至少一个目标AGV在所述相同行驶路径上的行驶速度,以使所述至少两个目标AGV行驶在所述相同路径上的时段不重叠。
作为一种可选的实施方式,所述冲突类型为所述相向冲突;
所述处理器900具体被配置为执行:
将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径;
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径不冲突时,将所述至少一个目标AGV的行驶路径调整为所述新行驶路径。
作为一种可选的实施方式,所述重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径之后,所述处理器900具体还被配置为执行:
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在节点冲突时,调整所述至少一个目标AGV或所述其他目标AGV经过所述相同节点的行驶速度;或,
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在赶超冲突时,调整所述至少一个目标AGV或所述其他目标AGV在所述相同路径上的行驶速度。
作为一种可选的实施方式,所述处理器900具体被配置为执行:
将存在相向冲突的所述相同行驶路径设置为不可通行,对所述至少一个目标AGV的待处理任务相关的地图进行更新;
根据所述至少一个目标AGV当前所在的节点,以及对应的待处理任务在更新的地图上的终点,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径。
实施例3、基于相同的发明构思,本发明实施例还提供了一种调度***,由于该***即是本发明实施例中的方法中的***,并且该***解决问题的原理与该方法相似,因此该***的实施可以参见方法的实施,重复之处不再赘述。
如图10所示,该***包括至少两个目标AGV1000和控制器1001,其中:
所述至少两个目标AGV1000用于执行待处理任务;
所述控制器1001具体被配置为执行如下步骤:
获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
作为一种可选的实施方式,所述控制器1001具体被配置为执行:
按照所述多个待处理任务的优先级顺序,依次确定与每个待处理任务的起点距离最近的空闲AGV;
将所述空闲AGV确定为对应的待处理任务的目标AGV。
作为一种可选的实施方式,所述控制器1001具体被配置为执行:
获取与所述多个待处理任务相关的地图,确定每个待处理任务在所述地图上对应的起点和终点;其中所述地图包括栅格地图或拓扑地图;
利用A*算法,根据所述每个待处理任务对应的起点和终点,确定执行所述每个待处理任务的目标AGV的行驶路径。
作为一种可选的实施方式,所述冲突类型包括如下任意一种或任意多种:
节点冲突,所述节点冲突表征不同目标AGV在同一时刻经过相同节点导致的相撞;
赶超冲突,所述赶超冲突表征不同目标AGV在相同行驶路径上按照不同的行驶速度同向行驶导致的相撞;
相向冲突,所述相向冲突表征不同目标AGV在相同行驶路径上相向行驶导致的相撞。
作为一种可选的实施方式,任意一个目标AGV的行驶路径包括至少一个单位路径,所述单位路径包括两个节点;
所述控制器1001具体被配置为执行:
当检测到至少两个目标AGV在同一时刻到达各自行驶路径中的节点相同,且行驶方向不同时,确定冲突类型为所述节点冲突;或,
当检测到至少两个目标AGV在各自行驶路径中的至少一个相同的单位路径上同向行驶,且行驶速度不同时,确定冲突类型为所述赶超冲突;或,当检测到任意两个目标AGV在同一时刻行驶到同一节点,且一个目标AGV的上一节点是另一个目标AGV的下一节点,所述另一个目标AGV的上一节点是所述一个目标AGV的下一节点时,确定冲突类型为所述相向冲突。
作为一种可选的实施方式,所述冲突类型为所述节点冲突;
所述控制器1001具体被配置为执行:
调整所述至少一个目标AGV经过所述相同节点的行驶速度,以使所述至少两个目标AGV行驶到所述相同节点时的时刻不同。
作为一种可选的实施方式,所述冲突类型为所述赶超冲突;
所述控制器1001具体被配置为执行:
调整所述至少一个目标AGV在所述相同行驶路径上的行驶速度,以使所述至少两个目标AGV行驶在所述相同路径上的时段不重叠。
作为一种可选的实施方式,所述冲突类型为所述相向冲突;
所述控制器1001具体被配置为执行:
将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径;
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径不冲突时,将所述至少一个目标AGV的行驶路径调整为所述新行驶路径。
作为一种可选的实施方式,所述重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径之后,所述控制器1001具体还被配置为执行:
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在节点冲突时,调整所述至少一个目标AGV或所述其他目标AGV经过所述相同节点的行驶速度;或,
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在赶超冲突时,调整所述至少一个目标AGV或所述其他目标AGV在所述相同路径上的行驶速度。
作为一种可选的实施方式,所述控制器1001具体被配置为执行:
将存在相向冲突的所述相同行驶路径设置为不可通行,对所述至少一个目标AGV的待处理任务相关的地图进行更新;
根据所述至少一个目标AGV当前所在的节点,以及对应的待处理任务在更新的地图上的终点,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径。
实施例4、基于相同的发明构思,本发明实施例还提供了一种路径规划装置,由于该装置即是本发明实施例中的方法中的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图11所示,该装置包括:
确定路径单元1100,用于获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
冲突检测单元1101,用于对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
调整行驶单元1102,用于根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
继续执行单元1103,用于根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
作为一种可选的实施方式,所述确定路径单元1100具体用于:
按照所述多个待处理任务的优先级顺序,依次确定与每个待处理任务的起点距离最近的空闲AGV;
将所述空闲AGV确定为对应的待处理任务的目标AGV。
作为一种可选的实施方式,所述确定路径单元1100具体用于:
获取与所述多个待处理任务相关的地图,确定每个待处理任务在所述地图上对应的起点和终点;其中所述地图包括栅格地图或拓扑地图;
利用A*算法,根据所述每个待处理任务对应的起点和终点,确定执行所述每个待处理任务的目标AGV的行驶路径。
作为一种可选的实施方式,所述冲突类型包括如下任意一种或任意多种:
节点冲突,所述节点冲突表征不同目标AGV在同一时刻经过相同节点导致的相撞;
赶超冲突,所述赶超冲突表征不同目标AGV在相同行驶路径上按照不同的行驶速度同向行驶导致的相撞;
相向冲突,所述相向冲突表征不同目标AGV在相同行驶路径上相向行驶导致的相撞。
作为一种可选的实施方式,任意一个目标AGV的行驶路径包括至少一个单位路径,所述单位路径包括两个节点;
所述冲突检测单元1101具体用于:
当检测到至少两个目标AGV在同一时刻到达各自行驶路径中的节点相同,且行驶方向不同时,确定冲突类型为所述节点冲突;或,
当检测到至少两个目标AGV在各自行驶路径中的至少一个相同的单位路径上同向行驶,且行驶速度不同时,确定冲突类型为所述赶超冲突;或,
当检测到任意两个目标AGV在同一时刻行驶到同一节点,且一个目标AGV的上一节点是另一个目标AGV的下一节点,所述另一个目标AGV的上一节点是所述一个目标AGV的下一节点时,确定冲突类型为所述相向冲突。
作为一种可选的实施方式,所述冲突类型为所述节点冲突;
所述调整行驶单元1102具体用于:
调整所述至少一个目标AGV经过所述相同节点的行驶速度,以使所述至少两个目标AGV行驶到所述相同节点时的时刻不同。
作为一种可选的实施方式,所述冲突类型为所述赶超冲突;
所述调整行驶单元1102具体用于:
调整所述至少一个目标AGV在所述相同行驶路径上的行驶速度,以使所述至少两个目标AGV行驶在所述相同路径上的时段不重叠。
作为一种可选的实施方式,所述冲突类型为所述相向冲突;
所述调整行驶单元1102具体用于:
将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径;
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径不冲突时,将所述至少一个目标AGV的行驶路径调整为所述新行驶路径。
作为一种可选的实施方式,所述重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径之后,所述调整行驶单元1102具体还用于:
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在节点冲突时,调整所述至少一个目标AGV或所述其他目标AGV经过所述相同节点的行驶速度;或,
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在赶超冲突时,调整所述至少一个目标AGV或所述其他目标AGV在所述相同路径上的行驶速度。
作为一种可选的实施方式,所述调整行驶单元1102具体用于:
将存在相向冲突的所述相同行驶路径设置为不可通行,对所述至少一个目标AGV的待处理任务相关的地图进行更新;
根据所述至少一个目标AGV当前所在的节点,以及对应的待处理任务在更新的地图上的终点,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径。
基于相同的发明构思,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如下步骤:
获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种路径规划方法,其特征在于,该方法包括:
获取多个待处理任务,确定执行每个待处理任务的目标AGV的行驶路径;
对每个目标AGV的行驶路径进行冲突检测,当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型;
根据所述冲突类型,调整至少一个目标AGV的行驶信息,其中所述行驶信息表征所述目标AGV执行所述待处理任务所需的信息;
根据调整后的行驶信息,控制所述至少两个目标AGV继续执行对应的待处理任务。
2.根据权利要求1所述的方法,其特征在于,所述确定执行每个待处理任务的目标AGV,包括:
按照所述多个待处理任务的优先级顺序,依次确定与每个待处理任务的起点距离最近的空闲AGV;
将所述空闲AGV确定为对应的待处理任务的目标AGV。
3.根据权利要求1所述的方法,其特征在于,所述确定执行每个待处理任务的目标AGV的行驶路径,包括:
获取与所述多个待处理任务相关的地图,确定每个待处理任务在所述地图上对应的起点和终点;其中所述地图包括栅格地图或拓扑地图;
利用A*算法,根据所述每个待处理任务对应的起点和终点,确定执行所述每个待处理任务的目标AGV的行驶路径。
4.根据权利要求1所述的方法,其特征在于,所述冲突类型包括如下任意一种或任意多种:
节点冲突,所述节点冲突表征不同目标AGV在同一时刻经过相同节点导致的相撞;
赶超冲突,所述赶超冲突表征不同目标AGV在相同行驶路径上按照不同的行驶速度同向行驶导致的相撞;
相向冲突,所述相向冲突表征不同目标AGV在相同行驶路径上相向行驶导致的相撞。
5.根据权利要求4所述的方法,其特征在于,任意一个目标AGV的行驶路径包括至少一个单位路径,所述单位路径包括两个节点;
所述当检测到至少两个目标AGV的行驶路径存在冲突时,确定冲突类型,包括:
当检测到至少两个目标AGV在同一时刻到达各自行驶路径中的节点相同,且行驶方向不同时,确定冲突类型为所述节点冲突;或,
当检测到至少两个目标AGV在各自行驶路径中的至少一个相同的单位路径上同向行驶,且行驶速度不同时,确定冲突类型为所述赶超冲突;或,
当检测到任意两个目标AGV在同一时刻行驶到同一节点,且一个目标AGV的上一节点是另一个目标AGV的下一节点,所述另一个目标AGV的上一节点是所述一个目标AGV的下一节点时,确定冲突类型为所述相向冲突。
6.根据权利要求4所述的方法,其特征在于,所述冲突类型为所述节点冲突;
所述根据所述冲突类型,调整至少一个目标AGV的行驶信息,包括:
调整所述至少一个目标AGV经过所述相同节点的行驶速度,以使所述至少两个目标AGV行驶到所述相同节点时的时刻不同。
7.根据权利要求4所述的方法,其特征在于,所述冲突类型为所述赶超冲突;
所述根据所述冲突类型,调整至少一个目标AGV的行驶信息,包括:
调整所述至少一个目标AGV在所述相同行驶路径上的行驶速度,以使所述至少两个目标AGV行驶在所述相同路径上的时段不重叠。
8.根据权利要求4所述的方法,其特征在于,所述冲突类型为所述相向冲突;
所述根据所述冲突类型,调整至少一个目标AGV的行驶信息,包括:
将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径;
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径不冲突时,将所述至少一个目标AGV的行驶路径调整为所述新行驶路径。
9.根据权利要求8所述的方法,其特征在于,所述重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径之后,还包括:
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在节点冲突时,调整所述至少一个目标AGV或所述其他目标AGV经过所述相同节点的行驶速度;或,
当确定所述新行驶路径与除所述至少一个目标AGV以外的其他目标AGV的行驶路径存在赶超冲突时,调整所述至少一个目标AGV或所述其他目标AGV在所述相同路径上的行驶速度。
10.根据权利要求8所述的方法,其特征在于,所述将存在相向冲突的所述相同行驶路径设置为不可通行,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径,包括:
将存在相向冲突的所述相同行驶路径设置为不可通行,对所述至少一个目标AGV的待处理任务相关的地图进行更新;
根据所述至少一个目标AGV当前所在的节点,以及对应的待处理任务在更新的地图上的终点,重新规划所述至少一个目标AGV的行驶路径,得到新行驶路径。
11.一种电子设备,其特征在于,该设备包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行权利要求1~10任一所述方法的步骤。
12.一种调度***,其特征在于,包括至少两个目标AGV和控制器,其中:
所述至少两个目标AGV用于执行待处理任务;
所述控制器具体被配置为执行如权利要求1~10任一所述方法的步骤。
13.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~10任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211008678.5A CN115371691A (zh) | 2022-08-22 | 2022-08-22 | 一种路径规划方法、电子设备及调度*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211008678.5A CN115371691A (zh) | 2022-08-22 | 2022-08-22 | 一种路径规划方法、电子设备及调度*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115371691A true CN115371691A (zh) | 2022-11-22 |
Family
ID=84067988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211008678.5A Pending CN115371691A (zh) | 2022-08-22 | 2022-08-22 | 一种路径规划方法、电子设备及调度*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115371691A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116050690A (zh) * | 2023-04-03 | 2023-05-02 | 无锡芯运智能科技有限公司 | 一种oht小车路径规划方法、装置及终端 |
CN116703016A (zh) * | 2023-04-28 | 2023-09-05 | 北京大数据先进技术研究院 | 一种运输任务路径的存储、使用方法及装置 |
-
2022
- 2022-08-22 CN CN202211008678.5A patent/CN115371691A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116050690A (zh) * | 2023-04-03 | 2023-05-02 | 无锡芯运智能科技有限公司 | 一种oht小车路径规划方法、装置及终端 |
CN116703016A (zh) * | 2023-04-28 | 2023-09-05 | 北京大数据先进技术研究院 | 一种运输任务路径的存储、使用方法及装置 |
CN116703016B (zh) * | 2023-04-28 | 2023-12-26 | 北京大数据先进技术研究院 | 一种运输任务路径的存储、使用方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115371691A (zh) | 一种路径规划方法、电子设备及调度*** | |
CN112833905B (zh) | 基于改进a*算法的分布式多agv无碰撞路径规划方法 | |
Murakami | Time-space network model and MILP formulation of the conflict-free routing problem of a capacitated AGV system | |
Yang et al. | Hierarchical planning for multiple AGVs in warehouse based on global vision | |
CN108764579B (zh) | 一种基于拥塞控制的仓储多机器人任务调度方法 | |
CN112525196B (zh) | 一种基于多维数据的agv路线规划调度方法及*** | |
CN108827311B (zh) | 一种制造车间无人搬运***路径规划方法 | |
CN113592158B (zh) | 多agv路径规划和多agv智能生产线中agv与机器联合调度方法 | |
CN113406951A (zh) | 行驶控制装置、行驶控制方法以及计算机程序 | |
JP2024020457A (ja) | 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム | |
CN113075927A (zh) | 基于预约表的仓储潜伏式多agv路径规划方法 | |
CN104346658A (zh) | 基于改进银行家算法的自动小车存取***动态调度方法 | |
Yifei et al. | An estimate and simulation approach to determining the automated guided vehicle fleet size in FMS | |
CN112633590B (zh) | 一种用于四向穿梭车的智能入库方法及*** | |
CN115328113A (zh) | 基于改进时间窗算法的多物流机器人路径规划方法 | |
WO2022032444A1 (zh) | 一种多智能主体避障方法、***和计算机可读存储介质 | |
Lian et al. | A probabilistic time-constrained based heuristic path planning algorithm in warehouse multi-AGV systems | |
Stavrou et al. | Optimizing container loading with autonomous robots | |
CN114840001A (zh) | 一种封闭环境下的多车协同轨迹规划方法 | |
Nishida et al. | Just-in-time routing and scheduling for multiple automated guided vehicles | |
CN116522801B (zh) | 一种用于物流***的布局仿真方法及装置 | |
CN114924538A (zh) | 一种基于图结构的多agv实时调度与冲突消解方法 | |
Oliveira et al. | Multi-constrained voronoi-based task allocator for smart-warehouses | |
JP2771893B2 (ja) | 無人搬送システムにおける走行管理のシミュレーション方法 | |
Stavrou et al. | Assignment and coordination of autonomous robots in container loading terminals |
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 |