CN111325366A - 一种自动导引车地图断点查找的方法和装置 - Google Patents
一种自动导引车地图断点查找的方法和装置 Download PDFInfo
- Publication number
- CN111325366A CN111325366A CN201811521788.5A CN201811521788A CN111325366A CN 111325366 A CN111325366 A CN 111325366A CN 201811521788 A CN201811521788 A CN 201811521788A CN 111325366 A CN111325366 A CN 111325366A
- Authority
- CN
- China
- Prior art keywords
- point
- path
- key point
- original
- breakpoint
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 135
- 238000004364 calculation method Methods 0.000 claims abstract description 97
- 238000004891 communication Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000012216 screening Methods 0.000 claims description 8
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 3
- 239000000126 substance Substances 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Navigation (AREA)
Abstract
本申请公开了一种自动导引车地图断点查找的方法和装置,在原自动导引车地图中引入虚拟边,利用所述路径搜索方法在含虚拟边的自动导引车地图中计算路径;在含虚拟边的自动导引车地图中路径计算成功时,进行第一类断点查找;在含虚拟边的自动导引车地图中路径计算失败时,进行第二类断点查找。应用本申请公开的技术方案,可以准确查找到自动导引车地图上的断点。
Description
技术领域
本申请涉及机器人领域,特别涉及一种自动导引车地图断点查找的方法和装置。
背景技术
随着社会的发展,电子商务越来越深入人们的生活,通过网络进行的交易日渐成为一种主流消费。在这种趋势下,物流技术开始蓬勃发展。为了减少人工的工作量,很多物流公司采用了自动导引车(AGV,Automated Guided Vehicle)技术。在AGV技术中,自动导引车需要受AGV调度系统的控制,将货物从起点运载到目的点,完成分拣任务。
为了完成AGV的调度管理,通常需要绘制一张地图来描述AGV的工作环境。AGV地图包含了若干关键点,表示自动导引车行驶路径上的关键点。两个关键点之间的线段称为“边”,分为“单向边”和“双向边”。“单向边”是指自动导引车只能从一端运动到另一端,禁止逆行。“双向边”是指允许自动导引车两个方向行驶。当系统将路径下发给自动导引车后,自动导引车将按照路径行驶,到达路径上的每一个关键点,最后到达目的地完成任务。但实际应用中,工作环境越复杂,绘制的AGV地图中越可能存在断点的缺陷。所谓断点是指某个关键点作为起始端点没有与其他关键点之间的连接关系,自动导引车在该关键点上无法继续行驶。当然,这种情况下调度系统无法控制自动导引车行驶到目的地,直接影响调度系统的正常运行。
发明内容
本申请实施例提供了一种自动导引车地图断点查找的方法,可以实现在AGV地图中准确地查找到断点。为此,本申请提供如下技术方案:
一种自动导引车地图断点查找的方法,该方法包括:
设置路径的原起点和原终点,并利用路径搜索方法在原自动导引车地图中计算从原起点到原终点的路径;
在原自动导引车地图中路径计算失败时,为所述原自动导引车地图中的单向边增加虚拟边,作为该单向边的逆向边,以生成含虚拟边的自动导引车地图;
利用所述路径搜索方法在含虚拟边的自动导引车地图中计算从原起点到原终点的路径;
在含虚拟边的自动导引车地图中路径计算成功时,进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点;
在含虚拟边的自动导引车地图中路径计算失败时,进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端的端点作为查找到的第二类断点。
进一步地,所述进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点的方法包括:
在含虚拟边的自动导引车地图上,将原起点到原终点的路径上的每一个点都作为关键点,并将所述原起点作为当前关键点;
判断所述当前关键点和下一个关键点之间是否有虚拟边,如果有,则去掉该虚拟边;否则,将下一个关键点作为当前关键点,直到找到虚拟边;
利用路径搜索方法计算从原起点到所述下一个关键点的路径,在路径计算失败时,将所述当前关键点作为查到的第一类断点,所述当前关键点和下一个关键点之间的虚拟边的起始端点为当前关键点;
将下一个关键点作为当前关键点,并返回所述判断当前关键点和下一个关键点之间是否有虚拟边的步骤,直到遍历完路径中所有的关键点。
进一步地,所述进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端的端点作为查找到的第二类断点的方法包括:
在原自动导引车地图上,从原起点到原终点的路径中每一个点都作为关键点;
利用路径搜索方法计算从原起点到原终点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第一集合;
利用路径搜索方法计算从原终点到原起点的路径,在路径计算失败时,将路径计算中已搜索到的路径上所有关键点组成第二集合;
从所述第一集合中选择第一关键点,从所述第二集合中选择第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通从原起点到原终点路径的线段,则所述第一关键点和第二关键点为查找到的第二类断点。
进一步地,所述进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端的端点作为查找到的第二类断点的方法包括:
在含虚拟边的自动导引车地图上,从原起点到原终点的路径中每一个点都为关键点;
利用路径搜索方法计算从原起点到原终点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第一集合;
利用路径搜索方法计算从原终点到原起点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第二集合;
从所述第一集合中选择第一关键点,从所述第二集合中选择第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通路径的线段,则所述第一关键点和第二关键点为查找到的第二类断点;
将所述原起点作为第一起点,将所述第一关键点作为第一终点;对所述第一起点和第一终点的路径进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点;
将所述第二关键点作为第二起点,将所述原终点作为第二终点;对所述第二起点和第二终点的路径进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点。
进一步地,所述从第一集合中选择一个作为第一关键点,从所述第二集合中选择一个作为第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通路径的线段,所述第一关键点和第二关键点为查找到的第二类断点的方法包括:
针对所述第一集合中的每个关键点,确定该关键点与所述第二集合中每个关键点之间的距离值;
在确定出的距离值中筛选出最小距离值,将该最小距离值对应的第一集合中的关键点和第二集合中的关键点确定为第二类断点。
进一步地,所述从第一集合中选择一个作为第一关键点,从所述第二集合中选择一个作为第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通路径的线段,所述第一关键点和第二关键点为查找到的第二类断点的方法包括:
设置集合最短距离的初始值,所述集合最短距离表示所述第一集合和第二集合之间的最短距离;
将所述第一集合中第1个关键点作为第一集合当前关键点;
将所述第二集合中第1个关键点作为第二集合当前关键点;
计算第一集合当前关键点和第二集合当前关键点之间的距离,如果小于所述集合最短距离,则将所述集合最短距离更新为计算出的第一集合当前关键点和第二集合当前关键点之间的距离,且将第一集合当前关键点记录为第一关键点,将第二集合当前关键点记录为第二关键点;
判断是否遍历完第二集合中所有的关键点,如果是,则执行判断是否遍历完第一集合中所有的关键点的步骤;否则,将第二集合中的下一个关键点作为第二集合当前关键点,并返回所述计算第一集合当前关键点和第二集合当前关键点之间的距离的步骤;
判断是否遍历完第一集合中所有的关键点,如果是,则所述第一关键点和第二关键点为查找到的第二类断点,并结束查找第二类断点的流程;否则将第一集合中的下一个关键点作为第一集合当前关键点,并返回计算第一集合当前关键点和第二集合当前关键点之间的距离的步骤,直到遍历完第一集合和第二集合中所有的关键点。
本申请还提供一种自动导引车地图断点查找的装置,可以准确找到断点。该装置包括:
路径搜索模块,用于设置原起点和原终点,利用路径搜索方法在原自动导引车地图中计算从原起点到原终点的路径;利用所述路径搜索方法在含虚拟边的自动导引车地图中计算从原起点到原终点的路径;
补路模块,用于在路径计算失败时,为所述自动导引车地图中的单向边增加虚拟边,作为该单向边的逆向边,生成含虚拟边的自动导引车地图;
第一类断点查找模块,用于在含虚拟边的自动导引车地图中路径计算成功时,进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点;
第二类断点查找模块,用于在含虚拟边的自动导引车地图中路径计算失败时,进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端端点作为查找到的第二类断点。
进一步地,所述第一类断点查找模块包括:
虚拟边检测模块,用于在含虚拟边的自动导引车地图上,将原起点到原终点的路径上的每一个点都作为关键点,并将所述原起点作为当前关键点;判断当前关键点和下一个关键点之间是否有虚拟边,如果有,则去掉该虚拟边;否则,将下一个关键点作为当前关键点,直到找到虚拟边;
第一类断点识别模块,用于利用路径搜索方法计算从原起点到所述下一个关键点的路径,在路径计算失败时,将所述当前关键点作为查到的第一类断点,所述当前关键点和下一个关键点之间的虚拟边的起始端点为当前关键点;将下一个关键点作为当前关键点,并触发所述虚拟边检测模块继续检测虚拟边,直到遍历完路径中所有的关键点。
进一步地,所述第二类断点查找模块包括:
第一集合生成模块,用于在原自动导引车地图上,从原起点到原终点的路径中每一个点都作为关键点,利用路径搜索方法计算从原起点到原终点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第一集合;
第二集合生成模块,用于在原自动导引车地图上,从原起点到原终点的路径中每一个点都作为关键点,利用路径搜索方法计算从原终点到原起点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第二集合;
第二类断点识别模块,用于从所述第一集合中选择第一关键点,从所述第二集合中选择第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通从原起始点到原终点路径的线段,则所述第一关键点和第二关键点为查找到的第二类断点。
进一步地,所述第二类断点识别模块包括:
第一距离计算模块,用于针对所述第一集合中的每个关键点,确定该关键点与所述第二集合中每个关键点之间的距离值;
筛选模块,用于在确定出的距离值中筛选出最小距离值,将该最小距离值对应的第一集合中的关键点和第二集合中的关键点确定为第二类断点。
进一步地,所述第二类断点识别模块包括:
初始设置模块,用于设置集合最短距离的初始值,所述集合最短距离表示所述第一集合和第二集合之间的最短距离;将所述第一集合中第1个关键点作为第一集合当前关键点;将所述第二集合中第1个关键点作为第二集合当前关键点;
第一集合处理模块,用于将第一集合中第1个关键点作为第一集合当前关键点;判断是否遍历完第一集合中所有的关键点,如果是,则所述第一关键点和第二关键点为查找到的第二类断点,并结束查找第二类断点的流程;否则将第一集合中的下一个关键点作为第一集合当前关键点,并触发所述第二距离计算模块计算第一集合当前关键点和第二集合当前关键点之间的距离;
第二集合处理模块,用于将所述第二集合中第1个关键点作为第二集合当前关键点;判断是否遍历完第二集合中所有的关键点,如果是,则触发所述第一集合处理模块执行判断是否遍历完第一集合中所有的关键点的步骤;否则,将第二集合中的下一个关键点作为第二集合当前关键点,并触发第二距离计算模块计算第一集合当前关键点和第二集合当前关键点之间的距离;
第二距离计算模块,用于计算第一集合当前关键点和第二集合当前关键点之间的距离,如果小于所述集合最短距离,则将所述集合最短距离更新为计算出的第一集合当前关键点和第二集合当前关键点之间的距离。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上所述的自动导引车地图断点查找的方法的步骤。
以及,本申请实施例还提供一种自动导引车地图调度系统,所述调度系统还包括如上所述的计算机可读存储介质,以及可执行所述计算机可读存储介质的处理器。
由此可见,本申请实施例在AGV地图中引入了虚拟边,利用路径搜索方法在含虚拟边的AGV地图中搜索路径,在成功时判断有第一类断点,并将路径中虚拟边的起始端点作为第一类断点,在失败时判断有第二类断点,将使路径连通的线段两端作为第二类断点。因此,利用本申请实施例方案,在原有的AGV地图中引入虚拟边就可以自动地从AGV地图中准确地查找到断点。
附图说明
图1是本申请实施例一的方法流程图。
图2是本申请实施例一对应的装置结构示意图。
图3是本申请实施例二的原AGV地图示意图。
图4是本申请实施例二的含虚拟边的AGV地图示意图
图5是本申请实施例二查找第一类断点的方法流程图。
图6是本申请实施例二中第一类断点查找模块L3的内部结构示意图。
图7是本申请实施例二的另一个原AGV地图示意图。
图8是本申请实施例二的另一个含虚拟边的AGV地图示意图。
图9是本申请实施例三的原AGV地图示意图。
图10是本申请实施例三查找第二类断点的方法流程图。
图11是本申请实施例三中第二类断点查找模块L4的内部结构示意图。
图12是本申请实施例四中含虚拟边的AGV地图示意图。
图13是本申请实施例四查找第二类断点的方法流程图。
图14是本申请实施例三中步骤S93以及实施例四中步骤S93′的具体方法流程图。
图15是第二类断点识别模块L43的一种内部结构示意图。
图16是第二类断点识别模块L43的另一种内部结构示意图。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。
本申请实施例中,为了能够自动地准确找到自动导引车(AGV)地图中的断点,在地图中引入虚拟边。利用虚拟边进行路径搜索,将结果分为第一类断点和第二类断点,然后分别查找第一类断点和第二类断点,以此准确完全地找到AGV地图中的断点。图1是本申请实施例一的流程图。如图1所示,该方法包括:
步骤S1:设置路径的原起点和原终点,并利用路径搜索方法在原自动导引车地图中计算从原起点到原终点的路径。
步骤S2:在原自动导引车地图中路径计算失败时,为所述原自动导引车地图中的单向边增加虚拟边,作为该单向边的逆向边,生成含虚拟边的自动导引车地图。
步骤S3:利用所述路径搜索方法在含虚拟边的自动导引车地图中计算从原起点到原终点的路径。
步骤S4:在含虚拟边的自动导引车地图中路径计算成功时,进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点。
步骤S5:在含虚拟边的自动导引车地图中路径计算失败时,进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端的端点作为查找到的第二类断点。
图2是本申请实施例一对应的装置结构示意图。如图2所示,该装置包括:
路径搜索模块L1、补路模块L2、第一类断点查找模块L3、第二类断点查找模块L4。
其中,路径搜索模块L1用于设置原起点和原终点,利用路径搜索方法在原自动导引车地图中计算从原起点到原终点的路径。
补路模块L2用于在路径计算失败时,为所述自动导引车地图中的单向边增加虚拟边,作为该单向边的逆向边,生成含虚拟边的自动导引车地图。路径搜索模块L1还用于利用所述路径搜索方法在含虚拟边的自动导引车地图中计算从原起点到原终点的路径。
第一类断点查找模块L3用于在含虚拟边的自动导引车地图中路径计算成功时,进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点。
第二类断点查找模块L4用于在含虚拟边的自动导引车地图中路径计算失败时,进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端端点作为查找到的第二类断点。
也就是说,根据实际应用中断点在AGV地图存在的特点,将断点分为两种类型。第一种类型是路径中的关键点之间只有一条单向边,而自动导引车从起点到终点的路径中需要逆向行驶,因此无法通过该单向路径,导致行驶失败。第二种类型是路径中的关键点之间没有任何的连接关系,自动导引车从起点到终点的路径中无路可走,导致行驶失败。为了从AGV地图中查找到这两类断点,本申请实施例一引入了虚拟边。所谓虚拟边就是在原来的AGV地图不存在,为了查找断点暂时建立的连接关系。本申请实施例一仅在单向边的基础上增加了虚拟边。比如关键点C和关键点C′之间原本存在从C<——C′的单向连接关系,建立的虚拟边就是从C——>C′的连接关系。但如果关键点C和关键C′没有任何的连接关系,属于第二类断点时,将不会从中建立虚拟边。
建立虚拟边之后,如果路径计算成功,说明路径是由于增加了虚拟边才从起点连通到了终点,即说明路径中存在第一类断点。如果路径计算失败,说明虽然增加了虚拟边,但对路径导通不起作用,路径中应该存在没有任何连接关系的关键点,即说明路径中存在第二类断点。
对于第一类断点,本申请实施例一将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为断点。假如关键点A和B之间建立了虚拟边A——>B,路径失败时对应该虚拟边,那么应该将关键点A作为断点。对于第二类断点,本申请实施例一是找到能使路径连通的线路,并将该线段的两端端点作为第二类断点。比如路径有O——>M——>S,S′——>N——>T的关系,其中关键点S和S′没有任何连接关系,那么如果将S和S′之间建立新的线段,S——>S′能使路径连通的话,关键点S和S′就是第二类断点。
本实施例一中,在确认路径计算失败存在断点时,通过引入了虚拟边进行路径计算,并按照不同的方法准确地查找出不同的两类断点,实现了在自动地在AGV地图上准确查找断点的目的。至于具体如何查找这两类断点,下面的实施例还会进一步详细描述。
图3是本申请实施例二中的AGV地图示意图。如图3所示,原AGV地图的路径中有若干关键点表示自动导引车允许行驶的点,图中用小方框表示关键点,箭头表示允许行驶的方法。假设路径原起点为A,路径原终点为B。从图中可以看出,由于关键点C和C′之间只有一条反向的单向边,因此在利用路径搜索方法时会失败,无法找到该路径(步骤S1)。针对这种情况本申请先为AGV地图中所有的单向边增加一条虚拟边,作为该单向边的逆向边,生成含虚拟边的AGV地图(步骤S2)。所生成的含虚拟边的AGV地图如图4所示,其中用虚线表示增加的虚拟边。然后,利用所述路径搜索方法在含虚拟边的自动导引车地图中计算从原起点到原终点的路径(步骤S3)。此时,由于添加了虚拟边,步骤S3应该可以成功地找到一条从起点A到达终点B的路径,图4中用粗线表示。那么,可以判断起点A到达终点B的路径上的断点是第一类断点。
本实施例二在执行步骤S1~S3查到路径之后(本实施例二省略S1~S3的描述),需要从该路径中查找到第一类断点。图5是本实施例二查找第一类断点的方法流程图,即步骤S4具体实施的方案。如图5所示,本实施例将含虚拟边的自动导引车地图作为需要查找的地图,该方法包括:
步骤S51:在含虚拟边的自动导引车地图上,将原起点到原终点的路径上的每一个点都作为关键点,并将原起点作为当前关键点。
步骤S52:判断所述当前关键点和下一个关键点之间是否有虚拟边,如果有,则执行步骤S53;否则,执行步骤S54。
步骤S53:去掉当前关键点和下一个关键点之间的虚拟边,执行步骤S55。
步骤S54:下一个关键点作为当前关键点,返回S52执行,直到找到虚拟边。
步骤S55:利用路径搜索方法计算从起始点到所述下一个关键点的路径,在路径计算失败时,将所述当前关键点作为查到的第一类断点,并继续执行步骤S56;在路径计算成功时,直接执行步骤S56。
本步骤再次利用路径搜索方法来计算从起始点到下一个关键点的路径,计算出来的路径可能和步骤S3计算的路径重合,也有可能不一样。因为去掉虚拟边的情况下,从起始点还可能从其他路径到达所述下一个关键点。只要能够找到下一个关键点,就说明当前关键点和下一个关键点之间的虚拟边并非必不可缺,即当前关键点不是第一类断点。只有在利用路径搜索方法失败的情况下,才说明刚刚去掉的当前关键点和下一个关键点之间的虚拟边是不可缺少的,是造成路径计算失败的原因,此时的当前关键点才作为查找到的第一类断点。
步骤S56:判断是否遍历完所有路径中所有关键点,如果未遍历完,则执行步骤S54;否则结束。
仍然以图4为例,假设经过步骤S1~S3之后,找到图4粗线所示的路径。在本申请实施例二中S51~S56的前几个循环中,关键点A和D1之间、D1和D2之间、D2和D3之间虽然都存在虚拟边,即使去掉但都不影响路径搜索,可以找到路径。也就是说,去掉A<——D1的虚拟边之后,可以找到A——>D1的路径;去掉D1<——D2虚拟边之后,可以找到A——>D2的路径;去掉D2<——D3虚拟边之后,可以找到A——>D3的路径。但是当去掉C——>C′之间的虚拟边时,路径计算会失败,即无法找到A——>C′的路径。此时,可以推断出关键点C是第一类断点。实际应用中,如果路径中多个第一类断点,可以按照这种方法找到所有的第一类断点。
图6是本实施例二对应的装置结构示意图,即第一类断点查找模块L3的内部结构示意图。如图6所示,该结构包括虚拟边检测模块L31和第一类断点识别模块L32。
其中,虚拟边检测模块L31用于:在含虚拟边的自动导引车地图上,将原起点到原终点的路径上的每一个点都作为关键点,并将所述原起点作为当前关键点;判断当前关键点和下一个关键点之间是否有虚拟边,如果有,则去掉该虚拟边;否则,将下一个关键点作为当前关键点,直到找到虚拟边。
第一类断点识别模块L32用于:利用路径搜索方法计算从原起点到所述下一个关键点的路径,在路径计算失败时,将所述当前关键点作为查到的第一类断点,所述当前关键点和下一个关键点之间的虚拟边的起始端点为当前关键点;将下一个关键点作为当前关键点,并触发所述虚拟边检测模块继续检测虚拟边,直到遍历完路径中所有的关键点。
利用上述本申请实施例二的方法或装置方案可知,在原起点到原终点的路径中逐一去掉虚拟边,以检测是否可以成功计算路径。如果计算路径失败,那么刚刚去掉的虚拟边对本次路径计算失败起到了关键影响,断点就产生于去掉的虚拟边之中。由于虚拟边是有方向的,有起始端点和末尾端点。只有与路径原起点到原终点方向一致的虚拟边才会在去掉之后无法找到路径的情况,因此,在去掉虚拟边导致路径计算失败虚拟边的起始端点应该是第一类断点。
另外,本申请中的路径搜索方法可以采用现有技术比如A*算法、Dijkstra算法、广度优先搜索、深度优先搜索等。在这些路径搜索方法中,通常会根据关键点之间的路径代价来寻找最优的算法,使得寻找到的路径代价最低,也就是最优路径。这种情况下,本申请可以将上述虚拟边的代价值设置为一个很大的值,大于AGV地图中存在的最长路径的距离,即设置为一个远远大于其实际线段的代价值。比如:假设关键点C和关键C′之间存在单向边,从C′到C的代价值为10。建立从C到C′的虚拟边之后,可以将该虚拟边的代价值设置为10000。将虚拟边的代价值设置得比较大的原因在于,路径搜索方法总是去寻找整个路径代价值最低的最优路径,这将避免算法选中含有虚拟边的路径,而是尽量选择AGV地图中已经存在的可到达终点的路径。只有在无路可寻的不得已的情况下,才启动本实施例二的方法去查找第一类断点。假设另一个原AGV地图如图7所示,其中,有单向边A<——D1、D1<——D2、D2——>D3、A<——D4以及C<——C′。按照本实施例二的方法,都将建立虚拟边,并设置很大的代价值。由于从A——>D4所在路径的断点最少,代价值最低,因此利用路径搜索算法将获得如图8所示的路径(图中用粗线体表示)。
利用本实施例二所提供的方法或装置的方案,从路径原起点开始逐一排查虚拟边,可以准确完备地查找到路径中所有的第一类断点方法,不会遗漏断点。而且,将虚拟边代价值设置得比较大,同样可以寻找到最优路径,尽量避免增加虚拟边,修改AGV地图。当然,如果AGV地图中确实存在断点,就可以利用本申请实施例二中的方案找到这些断点,去修改AGV地图,避免自动引导车无路可走的情况,使自动引导车可以顺利完成调度任务。
实际应用中,关键点之间可能没有任何的连接关系,这将导致第二类断点的产生。图9是本申请实施例三中原AGV地图示意图。如图9所示,假设A为原起点,B为原终点,并假设路径搜索可以成功搜索到关键点Q、M或者N,不管搜索到哪个关键点,但要到达原终点B都必须经过关键点P。虽然关键点Q、M、N可以相互连通,但都不与关键点P连接。那么在利用路径搜索方法继续搜索关键点Q、M或N的下一个关键点P时会失败,无法找到路径(步骤S1)。即使增加虚拟边以及在含虚拟边的AGV地图中计算从原起点到原终点的路径(步骤S2和S3),也无法找到合适的路径。这是因为虚拟边仅仅针对单向边增加,而如图9中关键点P未与关键点Q、M或N建立任何连接关系,是无法建立虚拟边的。也就是说,这种情况下,含M、N、Q这些关键点的地图部分是连通的,含关键点P的地图部分也是连通的,但这两部分之间却是完全割裂,属于第二类断点情况。
面对这种情况,本实施例二在执行步骤S1~S3查找路径之后(本实施例省略了步骤S1~S3的描述),需要查找第二类断点。图10是本申请实施例三查找第二类断点的方法流程图,即步骤S5一种具体实施方案。如图10所示,假设本实施例将原自动导引车地图作为需要查找的地图,该方法包括:
步骤S91:在含虚拟边的自动导引车地图上,从原起点到原终点的路径中每一个点都为关键点;利用路径搜索方法计算从原起点到原终点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第一集合。
步骤S92:利用路径搜索方法计算从原终点到原起点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第二集合。
步骤S93:从所述第一集合中选择第一关键点,从所述第二集合中选择第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通路径的线段,则所述第一关键点和第二关键点为查找到的第二类断点。
图11是本申请实施例三对应的装置示意图,即第二类断点查找模块L4的内部结构示意图。如图11所示,所述第二类断点查找模块L4包括:第一集合生成模块L41、第二集合生成模块L42、第二类断点识别模块L43。
其中,第一集合生成模块L41用于在原自动导引车地图上,从原起点到原终点的路径中每一个点都作为关键点,利用路径搜索方法计算从原起点到原终点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第一集合。
第二集合生成模块L42用于在原自动导引车地图上,从原起点到原终点的路径中每一个点都作为关键点,利用路径搜索方法计算从原终点到原起点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第二集合。
第二类断点识别模块L43用于从所述第一集合中选择第一关键点,从所述第二集合中选择第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通从原起始点到原终点路径的线段,则所述第一关键点和第二关键点为查找到的第二类断点。
也就是说,本申请实施例三先从原起点开始利用路径搜索方法正向搜索路径,当搜索失败时得到一个封闭集合CLOSE1,该集合中包含了在以原起点开始搜索时处理的所有关键点,这表示这些关键点具有连接关系,是连通的。为图9为例,假设CLOSE1={A、D1、D2、D3、D4、D5、D6、D7、D8、Q},同理,本申请实施例三再从原终点开始反向搜索路径,当搜索失败时又得到一个封闭集合CLOSE2,该集合中包含了在以原终点开始反向搜索时处理的所有关键点,这表示这些关键点具有连接关系,是连通的。以图9为例,假设CLOSE2={B、D11、D10、D9、P}。但是CLOSE1和CLOSE2之间并没有重叠的关键点,这表示两个集合不相交,不连通。此时,如果从CLOSE1和CLOSE2的集合中分别选择出一个关键点,只要这两个关键点的连接可使原起点到原终点的路径连通,那么这两个关键点就可以作为第二类断点。只要后续在AGV地图中修改这两个关键点的连接关系,就可以连通AGV地图,顺利进行路径搜索。和上述实施例相同,本申请实施例三中路径搜索方法也可以采用现有技术比如A*算法、Dijkstra算法、广度优先搜索、深度优先搜索等。
应用本实施例三的方法或装置的方案,当在执行实施例一的过程中,如果在步骤S3执行后,发现在含虚拟边的自动导引车地图中路径计算失败时,可以利用本实施例的方案查找第二类断点。需要注意的是,本实施例三是把原自动导引车地图作为需要查找的地图。在原自动导引车地图作为需要查找的地图的情况下,当查到第二类断点时,在原起点和第一关键点之间以及第二关键点和原终点之间都不会再存在断点,后续可以仅对第一关键点和第二关键点进行处理即可。
实际应用中,也可以利用含虚拟边的自动导引车地图作为需要查找的地图。这是因为,如果将含虚拟边的自动导引车地图作为需要查找的地图,有可能由于在路径中添加了虚拟边,使得处理的关键点更多,第一集合和/或第二集合中的关键点更多,从而使选择两个关键点之间的线段的可能性更多。对于这种情况,下面利用实施例四进行详细描述。
图12是本申请实施例四中含虚拟边的AGV地图示意图。如图12所示,假设A为原起点,B为原终点,关键点Q、M、N可以相互连通,但都不与关键点P连接。那么在利用路径搜索方法时会失败,无法找到路径(步骤S1)。即使增加虚拟边以及在含虚拟边的AGV地图中计算从原起点到原终点的路径(步骤S2和S3),也无法找到合适的路径。这是因为虚拟边仅仅针对单向边增加,而如图12中关键点P未与关键点Q、M或N建立任何连接关系,是无法建立虚拟边的。也就是说,这种情况下,含M、N、Q这些关键点的地图部分是连通的,含关键点P的地图部分也是连通的,但这两部分之间却是完全割裂,属于第二类断点情况。
对于这种情况,本实施例四在执行步骤S1~步骤S3之后(本实施例省略了步骤S1~S3的描述),应该查找第二类断点。图13是本申请实施例四查找第二类断点的方法流程图,即步骤S5另一种具体实施方案。如图13所示,假设本实施例将含虚拟边的自动导引车地图作为需要查找的地图,该方法包括:
步骤S91′:在含虚拟边的自动导引车地图上,从原起点到原终点的路径中每一个点都为关键点;利用路径搜索方法计算从原起点到原终点的路径,在路径计算失败时,将路径计算中处理过的所有关键点组成第一集合。
步骤S92′:利用路径搜索方法计算从原终点到原起点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第二集合。
步骤S93′:从所述第一集合中选择第一关键点,从所述第二集合中选择第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通路径的线段,则所述第一关键点和第二关键点为查找到的第二类断点。
本实施例四的步骤S91′~步骤S93′和实施例三中的步骤S91~步骤S93相同。
步骤S94′:将所述原起点作为第一起点,将所述第一关键点作为第一终点;对所述第一起点和第一终点的路径进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点。
步骤S95′:将所述第二关键点作为第二起点,将所述原终点作为第二终点;对所述第二起点和第二终点的路径进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点。
与实施例三不同的,由于本实施例四是在含虚拟边的自动导引车地图上查找第二类断点的,查找到的路径上可能含有虚拟边。因此在查找到第二类断点之后,再继续查找第一类断点,才能够找到所有的断点。
也就是说,本申请实施例四在含虚拟边的自动导引车地图中,先从原起点开始利用路径搜索方法正向搜索路径,当搜索失败时得到一个封闭集合CLOSE3,该集合中包含了在以原起点开始搜索时处理的所有关键点,这表示这些关键点具有连接关系,是连通的。为图12为例,假设CLOSE3={A、D12、D13、D14、D15、D16、D17、Q}。同理,本申请实施例三再从原终点开始反向搜索路径,当搜索失败时又得到一个封闭集合CLOSE4,该集合中包含了在以原终点开始反向搜索时处理的所有关键点,这表示这些关键点具有连接关系,是连通的。但是CLOSE3和CLOSE4之间并没有重叠的关键点,这表示两个集合不相交,不连通。此时,如果从CLOSE3和CLOSE4的集合中分别选择出一个关键点,只要这两个关键点的连接可使原起点到原终点的路径连通,那么这两个关键点就可以作为第二类断点。只要后续在AGV地图中修改这两个关键点的连接关系,就可以连通AGV地图,顺利进行路径搜索。和上述实施例相同,本申请实施例三中路径搜索方法也可以采用现有技术比如A*算法、Dijkstra算法、广度优先搜索、深度优先搜索等。
以图12为例,假设查找到的第二类断点为Q和P,Q为第一关键点,P为第二关键点。那么,此时将原起点A作为第一起点,将Q作为第一终点,在A——>Q的路径上进行第一类断点的查找,其查找方法与实施例二的方法相同。假如最终查找到虚拟边A——>D12,会将该虚拟边的起始端点A作为第一类断点。同样,将P作为第二起点,将原终点B作为第二终点,在P——>B的路径上进行第一类断点的查找,其查找方法与实施例二的方法相同,最终不会查找到第一类断点。
至此,本实施例四可以同时找到一个第一类断点A,两个第二类断点Q和P。当然,这里的第二类断点Q和P是在集合中任意选择出来的,还可以选择其他关键点作为第二类断点。
实际应用中,实施例三中的CLOSE1和CLOSE2,或者实施例四中CLOSE3和CLOSE4可能有多种连通方法。
为了优化路径,可以选择两个集合之间最短的距离作为连通路径的线段,使得所寻找的路径的距离最短,并以此确定查找到的第二类断点。比如,可以针对所述第一集合中的每个关键点,确定该关键点与所述第二集合中每个关键点之间的距离值;在确定出的距离值中筛选出最小距离值,将该最小距离值对应的第一集合中的关键点和第二集合中的关键点确定为第二类断点。针对该方法,图11中第二类断点识别模块L43的内部结构可以如图15所示。该第二类断点识别模块L43包括第一距离计算模块L431和筛选模块L432。其中,
第一距离计算模块L431,用于针对所述第一集合中的每个关键点,确定该关键点与所述第二集合中每个关键点之间的距离值。
筛选模块L432,用于在确定出的距离值中筛选出最小距离值,将该最小距离值对应的第一集合中的关键点和第二集合中的关键点确定为第二类断点。
为了优化路径,选择两个集合之间最短的距离作为连通路径的线段还可以采用图14的方法。如图14所示,也就是说,步骤S93或S93′具体可以由如下方法实现:
步骤S931:设置集合最短距离的初始值,所述集合最短距离为所述第一集合和第二集合之间的最短距离D。实际应用中,可以将D的初始值设置得比较大,比如10000,以保证通过后续步骤能筛选到最短的距离。
步骤S932:将第一集合中第1个关键点作为第一集合当前关键点。
步骤S933:将所述第二集合中第1个关键点作为第二集合当前关键点。
步骤S934:计算第一集合当前关键点和第二集合当前关键点之间的距离d。这里所述的两个关键之间的距离其实就是表示两个关键点之间物理距离的值。比如关键点A和B之间的物理距离为1米,就可以将其值设置为1。当然也可以设置为其他值,只要能够体现距离长短即可。
步骤S935:判断d是否小于D,如果是,则执行步骤S936;否则,执行步骤S937。
步骤S936:将所述集合最短距离更新为计算出的第一集合当前关键点和第二集合当前关键点之间的距离,且将第一集合当前关键点记录为第一关键点,将第二集合当前关键点记录为第二关键点。
步骤S937:判断是否遍历完第二集合中所有的关键点,如果是,则执行步骤939;否则,执行步骤S938。
步骤S938:将第二集合中的下一个关键点作为第二集合当前关键点,并返回步骤S934。
步骤S939:判断是否遍历完第一集合中所有的关键点,如果是,则执行步骤9310;否则,执行步骤9311。
步骤9310:将所述第一关键点和第二关键点作为查找到的第二类断点,并结束查找第二类断点的流程。
步骤9311:将第一集合中的下一个关键点作为第一集合当前关键点,并返回步骤S934,直到遍历完第一集合和第二集合中所有的关键点。
本实施例中,将CLOSE1和CLOSE2两个集合中,或者将CLOSE3和CLOSE4两个集合中的所有关键点进行两两交叉组合,计算每一个组合之间的线段距离,再从中找出最短距离。以图9或图12为例,假设通过步骤S931~步骤S936可知第一集合关键点N和第二集合关键点P之间的距离最短,那么就可以将关键点N和关键点P作为第二类断点。
针对图14所述的方法,第二类断点识别模块L43的内部结构还可以如图16所示。第二类断点识别模块L43包括:初始设置模块L4301、第一集合处理模块L4302、第二集合处理模块L4303、第二距离计算模块L4304。其中,
初始设置模块L4301,用于设置集合最短距离的初始值,所述集合最短距离表示所述第一集合和第二集合之间的最短距离;将所述第一集合中第1个关键点作为第一集合当前关键点;将所述第二集合中第1个关键点作为第二集合当前关键点;
第一集合处理模块L4302,用于将第一集合中第1个关键点作为第一集合当前关键点;判断是否遍历完第一集合中所有的关键点,如果是,则所述第一关键点和第二关键点为查找到的第二类断点,触发所述第二距离计算模块L304发送给输出模块L4305;否则将第一集合中的下一个关键点作为第一集合当前关键点,并触发所述第二距离计算模块L4304计算第一集合当前关键点和第二集合当前关键点之间的距离;
第二集合处理模块L4303,用于将所述第二集合中第1个关键点作为第二集合当前关键点;判断是否遍历完第二集合中所有的关键点,如果是,则触发所述第一集合处理模块执行判断是否遍历完第一集合中所有的关键点的步骤;否则,将第二集合中的下一个关键点作为第二集合当前关键点,并触发第二距离计算模块计算第一集合当前关键点和第二集合当前关键点之间的距离;
第二距离计算模块L4304,用于计算第一集合当前关键点和第二集合当前关键点之间的距离,如果小于所述集合最短距离,则将所述集合最短距离更新为计算出的第一集合当前关键点和第二集合当前关键点之间的距离;
输出模块L4305,用于将所述第一关键点和第二关键点作为查找到的第二类断点输出。
本申请还提供一种计算机可读存储介质,可以将上述方法相关指令保存在计算机可读存储介质中,这些指令在由处理器执行时使得处理器执行上述各种自动导引车地图断点查找方法的步骤。所述的计算机可读存储介质可以包括但不限于RAM、ROM、EPROM、SIM卡、移动硬盘、光盘、优盘等等。
本申请还提供一种自动引导车地图调度(AGV)系统,上述实施例方案可以由AGV调度系统完成。这个AGV调度系统可以是一台或若干台计算机构成,也可以由包括能执行上述方法指令的处理器的任何装置够成。也就是说,将上述方法相关指令保存在调度系统的计算机可读存储介质中,由调度系统的内部处理器执行上述任一实施例中的相关步骤指令,就可以实现断点的查找。
综上,应用本申请实施例的技术方案,由于在原AGV地图中引入了虚拟边,在含虚拟边的AGV地图中搜索路径,根据搜索结果将断点分为第一类断点和第二类断点,再分别用不同的方法查找出第一类断点或/和第二类断点。这些方法对应的指令都可以存储在计算机可读存储介质中,由调度系统中的处理器执行,从而可以实现在AGV地图上自动、准确查找到断点。如果后续对这些查找到的断点进行处理,就可以使自动导引车顺利执行调度任务,完成分拣任务。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (13)
1.一种自动导引车地图断点查找的方法,其特征在于,该方法包括:
设置路径的原起点和原终点,并利用路径搜索方法在原自动导引车地图中计算从原起点到原终点的路径;
在原自动导引车地图中路径计算失败时,为所述原自动导引车地图中的单向边增加虚拟边,作为该单向边的逆向边,以生成含虚拟边的自动导引车地图;
利用所述路径搜索方法在含虚拟边的自动导引车地图中计算从原起点到原终点的路径;
在含虚拟边的自动导引车地图中路径计算成功时,进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点;
在含虚拟边的自动导引车地图中路径计算失败时,进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端的端点作为查找到的第二类断点。
2.根据权利要求1所述的方法,其特征在于,所述进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点的方法包括:
在含虚拟边的自动导引车地图上,将原起点到原终点的路径上的每一个点都作为关键点,并将所述原起点作为当前关键点;
判断所述当前关键点和下一个关键点之间是否有虚拟边,如果有,则去掉该虚拟边;否则,将下一个关键点作为当前关键点,直到找到虚拟边;
利用路径搜索方法计算从原起点到所述下一个关键点的路径,在路径计算失败时,将所述当前关键点作为查到的第一类断点,所述当前关键点和下一个关键点之间的虚拟边的起始端点为当前关键点;
将下一个关键点作为当前关键点,并返回所述判断当前关键点和下一个关键点之间是否有虚拟边的步骤,直到遍历完路径中所有的关键点。
3.根据权利要求1所述的方法,其特征在于,所述进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端的端点作为查找到的第二类断点的方法包括:
在原自动导引车地图上,从原起点到原终点的路径中每一个点都作为关键点;
利用路径搜索方法计算从原起点到原终点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第一集合;
利用路径搜索方法计算从原终点到原起点的路径,在路径计算失败时,将路径计算中已搜索到的路径上所有关键点组成第二集合;
从所述第一集合中选择第一关键点,从所述第二集合中选择第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通从原起点到原终点路径的线段,则所述第一关键点和第二关键点为查找到的第二类断点。
4.根据权利要求1所述的方法,其特征在于,所述进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端的端点作为查找到的第二类断点的方法包括:
在含虚拟边的自动导引车地图上,从原起点到原终点的路径中每一个点都为关键点;
利用路径搜索方法计算从原起点到原终点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第一集合;
利用路径搜索方法计算从原终点到原起点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第二集合;
从所述第一集合中选择第一关键点,从所述第二集合中选择第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通路径的线段,则所述第一关键点和第二关键点为查找到的第二类断点;
将所述原起点作为第一起点,将所述第一关键点作为第一终点;对所述第一起点和第一终点的路径进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点;
将所述第二关键点作为第二起点,将所述原终点作为第二终点;对所述第二起点和第二终点的路径进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点。
5.根据权利要求3或4所述的方法,其特征在于,所述从第一集合中选择一个作为第一关键点,从所述第二集合中选择一个作为第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通路径的线段,所述第一关键点和第二关键点为查找到的第二类断点的方法包括:
针对所述第一集合中的每个关键点,确定该关键点与所述第二集合中每个关键点之间的距离值;
在确定出的距离值中筛选出最小距离值,将该最小距离值对应的第一集合中的关键点和第二集合中的关键点确定为第二类断点。
6.根据权利要求3或4所述的方法,其特征在于,所述从第一集合中选择一个作为第一关键点,从所述第二集合中选择一个作为第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通路径的线段,所述第一关键点和第二关键点为查找到的第二类断点的方法包括:
设置集合最短距离的初始值,所述集合最短距离表示所述第一集合和第二集合之间的最短距离;
将所述第一集合中第1个关键点作为第一集合当前关键点;
将所述第二集合中第1个关键点作为第二集合当前关键点;
计算第一集合当前关键点和第二集合当前关键点之间的距离,如果小于所述集合最短距离,则将所述集合最短距离更新为计算出的第一集合当前关键点和第二集合当前关键点之间的距离,且将第一集合当前关键点记录为第一关键点,将第二集合当前关键点记录为第二关键点;
判断是否遍历完第二集合中所有的关键点,如果是,则执行判断是否遍历完第一集合中所有的关键点的步骤;否则,将第二集合中的下一个关键点作为第二集合当前关键点,并返回所述计算第一集合当前关键点和第二集合当前关键点之间的距离的步骤;
判断是否遍历完第一集合中所有的关键点,如果是,则所述第一关键点和第二关键点为查找到的第二类断点,并结束查找第二类断点的流程;否则将第一集合中的下一个关键点作为第一集合当前关键点,并返回计算第一集合当前关键点和第二集合当前关键点之间的距离的步骤,直到遍历完第一集合和第二集合中所有的关键点。
7.一种自动导引车地图断点查找的装置,其特征在于,该装置包括:
路径搜索模块,用于设置原起点和原终点,利用路径搜索方法在原自动导引车地图中计算从原起点到原终点的路径;利用所述路径搜索方法在含虚拟边的自动导引车地图中计算从原起点到原终点的路径;
补路模块,用于在路径计算失败时,为所述自动导引车地图中的单向边增加虚拟边,作为该单向边的逆向边,生成含虚拟边的自动导引车地图;
第一类断点查找模块,用于在含虚拟边的自动导引车地图中路径计算成功时,进行第一类断点查找,将在第一类断点查找过程中导致路径计算失败时对应的虚拟边的起始端点作为查找到的第一类断点;
第二类断点查找模块,用于在含虚拟边的自动导引车地图中路径计算失败时,进行第二类断点查找,将可使从原起点到原终点路径连通的线段两端端点作为查找到的第二类断点。
8.根据权利要求7所述的装置,其特征在于,所述第一类断点查找模块包括:
虚拟边检测模块,用于在含虚拟边的自动导引车地图上,将原起点到原终点的路径上的每一个点都作为关键点,并将所述原起点作为当前关键点;判断当前关键点和下一个关键点之间是否有虚拟边,如果有,则去掉该虚拟边;否则,将下一个关键点作为当前关键点,直到找到虚拟边;
第一类断点识别模块,用于利用路径搜索方法计算从原起点到所述下一个关键点的路径,在路径计算失败时,将所述当前关键点作为查到的第一类断点,所述当前关键点和下一个关键点之间的虚拟边的起始端点为当前关键点;将下一个关键点作为当前关键点,并触发所述虚拟边检测模块继续检测虚拟边,直到遍历完路径中所有的关键点。
9.根据权利要求7所述的装置,其特征在于,所述第二类断点查找模块包括:
第一集合生成模块,用于在原自动导引车地图上,从原起点到原终点的路径中每一个点都作为关键点,利用路径搜索方法计算从原起点到原终点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第一集合;
第二集合生成模块,用于在原自动导引车地图上,从原起点到原终点的路径中每一个点都作为关键点,利用路径搜索方法计算从原终点到原起点的路径,在路径计算失败时,将路径计算中已搜索到的路径上的所有关键点组成第二集合;
第二类断点识别模块,用于从所述第一集合中选择第一关键点,从所述第二集合中选择第二关键点,将所述第一关键点和所述第二关键点之间的线段作为连通从原起始点到原终点路径的线段,则所述第一关键点和第二关键点为查找到的第二类断点。
10.根据权利要求9所述的装置,其特征在于,所述第二类断点识别模块包括:
第一距离计算模块,用于针对所述第一集合中的每个关键点,确定该关键点与所述第二集合中每个关键点之间的距离值;
筛选模块,用于在确定出的距离值中筛选出最小距离值,将该最小距离值对应的第一集合中的关键点和第二集合中的关键点确定为第二类断点。
11.根据权利要求9所述的装置,其特征在于,所述第二类断点识别模块包括:
初始设置模块,用于设置集合最短距离的初始值,所述集合最短距离表示所述第一集合和第二集合之间的最短距离;将所述第一集合中第1个关键点作为第一集合当前关键点;将所述第二集合中第1个关键点作为第二集合当前关键点;
第一集合处理模块,用于将第一集合中第1个关键点作为第一集合当前关键点;判断是否遍历完第一集合中所有的关键点,如果是,则所述第一关键点和第二关键点为查找到的第二类断点,并结束查找第二类断点的流程;否则将第一集合中的下一个关键点作为第一集合当前关键点,并触发所述第二距离计算模块计算第一集合当前关键点和第二集合当前关键点之间的距离;
第二集合处理模块,用于将所述第二集合中第1个关键点作为第二集合当前关键点;判断是否遍历完第二集合中所有的关键点,如果是,则触发所述第一集合处理模块执行判断是否遍历完第一集合中所有的关键点的步骤;否则,将第二集合中的下一个关键点作为第二集合当前关键点,并触发第二距离计算模块计算第一集合当前关键点和第二集合当前关键点之间的距离;
第二距离计算模块,用于计算第一集合当前关键点和第二集合当前关键点之间的距离,如果小于所述集合最短距离,则将所述集合最短距离更新为计算出的第一集合当前关键点和第二集合当前关键点之间的距离。
12.一种计算机可读存储介质,所述计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至6任一项所述的自动导引车地图断点查找的方法的步骤。
13.一种自动导引车地图调度系统,其特征在于,所述调度系统还包括如权利要求12所述的计算机可读存储介质,以及可执行所述计算机可读存储介质的处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811521788.5A CN111325366B (zh) | 2018-12-13 | 2018-12-13 | 一种自动导引车地图断点查找的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811521788.5A CN111325366B (zh) | 2018-12-13 | 2018-12-13 | 一种自动导引车地图断点查找的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111325366A true CN111325366A (zh) | 2020-06-23 |
CN111325366B CN111325366B (zh) | 2023-09-19 |
Family
ID=71172251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811521788.5A Active CN111325366B (zh) | 2018-12-13 | 2018-12-13 | 一种自动导引车地图断点查找的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111325366B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113970927A (zh) * | 2021-09-30 | 2022-01-25 | 广州极飞科技股份有限公司 | 作业起点的获取方法、装置及电子设备 |
EP4086140A1 (en) * | 2021-05-03 | 2022-11-09 | Volvo Truck Corporation | A method for generating a routing map of an area to be used for guiding a vehicle in the area |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1796942A (zh) * | 2004-12-21 | 2006-07-05 | 厦门雅迅网络股份有限公司 | 城际导航路径的计算方法 |
US20150168164A1 (en) * | 2013-12-12 | 2015-06-18 | Google Technology Holdings LLC | Method and device for generating smart map route navigation |
CN105867389A (zh) * | 2016-06-14 | 2016-08-17 | 深圳力子机器人有限公司 | 一种agv小车混合激光导航方法 |
CN108304964A (zh) * | 2018-01-08 | 2018-07-20 | 深圳市易成自动驾驶技术有限公司 | Agv最短路径规划方法、装置及计算机可读存储介质 |
CN108303105A (zh) * | 2017-11-22 | 2018-07-20 | 东莞产权交易中心 | 导航设备中增加路径实现路径规划的方法 |
-
2018
- 2018-12-13 CN CN201811521788.5A patent/CN111325366B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1796942A (zh) * | 2004-12-21 | 2006-07-05 | 厦门雅迅网络股份有限公司 | 城际导航路径的计算方法 |
US20150168164A1 (en) * | 2013-12-12 | 2015-06-18 | Google Technology Holdings LLC | Method and device for generating smart map route navigation |
CN105867389A (zh) * | 2016-06-14 | 2016-08-17 | 深圳力子机器人有限公司 | 一种agv小车混合激光导航方法 |
CN108303105A (zh) * | 2017-11-22 | 2018-07-20 | 东莞产权交易中心 | 导航设备中增加路径实现路径规划的方法 |
CN108304964A (zh) * | 2018-01-08 | 2018-07-20 | 深圳市易成自动驾驶技术有限公司 | Agv最短路径规划方法、装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
张雅静;王剑;蔡伯根;: "基于GNSS的虚拟应答器研究" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4086140A1 (en) * | 2021-05-03 | 2022-11-09 | Volvo Truck Corporation | A method for generating a routing map of an area to be used for guiding a vehicle in the area |
CN113970927A (zh) * | 2021-09-30 | 2022-01-25 | 广州极飞科技股份有限公司 | 作业起点的获取方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111325366B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102031151B1 (ko) | 선박의 효율 운항을 위한 항로 안내 방법 | |
CN109710708B (zh) | 一种电子地图映射方法及装置 | |
KR20170044163A (ko) | 주행 노선 매칭 방법, 장치 및 저장 매체 | |
CN109816131B (zh) | 路径规划方法、路径规划装置及计算机可读存储介质 | |
CN112504286B (zh) | 基于引导线图层的路径规划方法及系统、服务器及介质 | |
JP6090226B2 (ja) | 経路生成装置および経路生成方法 | |
CN110779539B (zh) | 行车路径修正方法、装置、设备和存储介质 | |
CN111325366A (zh) | 一种自动导引车地图断点查找的方法和装置 | |
CN110362475A (zh) | 一种信息获取方法、装置、终端设备及存储介质 | |
CN103439726A (zh) | 一种应用于gps的快速k最短路径规划方法 | |
CN112857376A (zh) | 一种车辆道路匹配的方法和装置 | |
CN115544033B (zh) | 查重向量库更新、数据查重方法、装置、设备和介质 | |
CN111985366B (zh) | 一种道路中心线及桩号识别方法、装置 | |
CN114674340A (zh) | 地图数据的处理方法、装置、电子设备和存储介质 | |
CN111238509B (zh) | 一种专用道路的引导方法、装置及相关设备 | |
CN113963204A (zh) | 一种孪生网络目标跟踪系统及方法 | |
CN110399997B (zh) | 多途经点的路径规划方法、系统、电子设备、存储介质 | |
CN117115773B (zh) | 停止线生成方法、装置、电子设备、介质和程序产品 | |
CN112948651B (zh) | 一种高效的od数据可视化方法及系统 | |
CN111486858A (zh) | 一种路网预测树构建方法、装置、电子设备及存储介质 | |
CN111798015A (zh) | 一种规划路线调整方法、装置、电子设备及存储介质 | |
CN114152263B (zh) | 路径规划方法、系统、电子设备及存储介质 | |
CN111912407B (zh) | 一种多机器人系统的路径规划方法 | |
CN112507054B (zh) | 一种道路外侧线关联关系自动确定方法及系统 | |
CN114735028B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310053 floor 5, building 1, building 2, No. 700, Dongliu Road, Binjiang District, Hangzhou, Zhejiang Province Applicant before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |