CN110567459B - 一种路径规划方法和装置 - Google Patents

一种路径规划方法和装置 Download PDF

Info

Publication number
CN110567459B
CN110567459B CN201810570327.0A CN201810570327A CN110567459B CN 110567459 B CN110567459 B CN 110567459B CN 201810570327 A CN201810570327 A CN 201810570327A CN 110567459 B CN110567459 B CN 110567459B
Authority
CN
China
Prior art keywords
map
coordinate point
point
path
level
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.)
Active
Application number
CN201810570327.0A
Other languages
English (en)
Other versions
CN110567459A (zh
Inventor
韩宁
郎元辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Qianshi Technology Co Ltd
Original Assignee
Beijing Jingdong Qianshi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Qianshi Technology Co Ltd filed Critical Beijing Jingdong Qianshi Technology Co Ltd
Priority to CN201810570327.0A priority Critical patent/CN110567459B/zh
Publication of CN110567459A publication Critical patent/CN110567459A/zh
Application granted granted Critical
Publication of CN110567459B publication Critical patent/CN110567459B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Instructional Devices (AREA)

Abstract

本发明公开了一种路径规划方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据给定地图构造多层级地图,多层级地图包括最低层级的给定地图和至少一个层级的构建层地图,每一层级构建层地图的坐标点从下一层级的给定地图或构建层地图选取;根据多层级地图的坐标点生成求解地图;根据求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径,该行驶成本最小的路径包括对应一个或多个层级构建层地图的路径片段;将该行驶成本最小的路径中所有对应构建层地图的路径片段转换为对应给定地图的路径片段,以得到规划路径。该实施方式能缩短路径规划的计算时间、减小计算量、提高计算效率,节约存储资源。

Description

一种路径规划方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种路径规划方法和装置。
背景技术
在基于AGV(Automated Guided Vehicle,自动导引运输车)的无人仓库中,商品的入库需将商品运送到指定入库点,由智能排产系统计算所需货架信息,由AGV直接托起所需货架到达入库点完成入库上架;商品的出库则由智能排产系统计算出包含商品的最合适的货架,由AGV直接托起所需货架到达出库点完成出库。通过这种方式,通过相关排产算法及AGV的应用,大大提高的商品入库、出库的效率及效果。
AGV在无人仓中的行驶,需要路径规划系统提供路径规划功能,告知AGV如何行驶,即求两点之间最短路径,求两点之间最短路径可使用Dijkstra(迪杰斯特拉算法,是从一个顶点到其余各顶点的最短路径算法)、A-star(一种静态路网中最短路径求解算法)等常用算法。
现有路径规划方法对于大规模地图,如1000*1000的地图,直接使用已有算法,计算时间较长,无法满足系统交互的快速响应的需求。或者,通过初始化将地图中任意两点的路径计算结果存储起来,在AGV需要路径规划时直接查询最短路径,以较快地返回结果,但该方法会占用大量存储资源,基于当前存储设备的成本来看也是不可取的。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有的两种路径规划方法分别存在计算时间长、计算量大、计算效率低,以及,存储资源消耗大的问题。
发明内容
有鉴于此,本发明实施例提供一种路径规划方法和装置,能够缩短路径规划的计算时间、减小计算量、提高计算效率,并且节约存储资源。
为实现上述目的,根据本发明实施例的一个方面,提供了一种路径规划方法。
一种路径规划方法,包括:根据给定地图构造多层级地图,所述多层级地图包括最低层级的所述给定地图和至少一个层级的构建层地图,每一层级构建层地图的坐标点从下一层级的给定地图或构建层地图选取;根据所述多层级地图的坐标点生成求解地图;根据所述求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径,所述路径起点和路径终点之间行驶成本最小的路径包括对应一个或多个层级构建层地图的路径片段;将所述路径起点和路径终点之间行驶成本最小的路径中,所有对应构建层地图的路径片段转换为对应所述给定地图的路径片段,以得到所述路径起点和路径终点之间的规划路径。
可选地,根据所述多层级地图的坐标点生成求解地图的步骤,包括:根据所述多层级地图中最高层级地图的坐标点,以及除所述最高层级地图之外的其他各层级地图中,分别包括所述路径起点和所述路径终点的映射区域的坐标点,生成求解地图;其中最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域。
可选地,根据给定地图构造多层级地图的步骤包括:基于所述给定地图,从所述给定地图的坐标点中选取关键坐标点,并以选取的关键坐标点作为所述给定地图的上一层级地图的坐标点,以构建所述给定地图的上一层级地图,再基于所述给定地图的上一层级地图按照上述同样方法继续构建再上一层级的构建层地图,直到地图层级数量达到配置层数时,停止构建后续的构建层地图。
可选地,按照如下方法从某一层级地图的坐标点中选取关键坐标点:以该层级地图的各个角点为起始关键坐标点分别选取关键坐标点,其中,对于每一起始关键坐标点:沿着该起始关键坐标点的每个可行驶方向,按照选取规则分别选取一个坐标点作为关键坐标点,并对于每个选取出的关键坐标点,再沿着该关键坐标点的每个可行驶方向,按照所述选取规则分别选取一个坐标点作为下一个关键坐标点,以此类推,从而根据每个关键坐标点的各个可行驶方向选出后续的关键坐标点,直到达到预设的终止条件时,停止继续选取关键坐标点。
可选地,以任一关键坐标点作为当前关键坐标点,沿着所述当前关键坐标点的每个可行驶方向选取下一个关键坐标点时,所述选取规则为:在所述当前关键坐标点的一个可行驶方向上,当存在第一位置坐标点、第二位置坐标点、第三位置坐标点的情况下:如果所述第二位置坐标点与所述当前关键坐标点的可行驶方向完全相同,且所述第一位置坐标点与所述第三位置坐标点的可行驶方向完全相同,则选取所述第三位置坐标点为下一个关键坐标点,其中,如果所述第一位置坐标点或所述第二位置坐标点为已选取的关键坐标点,则仍选取所述第一位置坐标点或所述第二位置坐标点为下一关键坐标点,而不选取所述第三位置坐标点为下一个关键坐标点;如果所述当前关键坐标点和所述第二位置坐标点的可行驶方向不完全相同,或者,所述第一位置坐标点与所述第三位置坐标点的可行驶方向不完全相同,则选取所述第一位置坐标点为下一个关键坐标点;当只存在所述第一位置坐标点和所述第二位置坐标点的情况下,如果所述第二位置坐标点为边角点,或者,当只存在所述第一位置坐标点的情况下,如果所述第一位置坐标点为边角点,则选取所述边角点作为下一个关键坐标点;所述第一位置坐标点为与所述当前关键坐标点相邻的坐标点,所述第二位置坐标点为与所述当前关键坐标点间隔一个坐标点的坐标点,所述第三位置坐标点为与所述当前关键坐标点间隔两个坐标点的坐标点。
可选地,将所述路径起点和路径终点之间行驶成本最小的路径中,所有对应构建层地图的路径片段转换为对应所述给定地图的路径片段,以得到所述路径起点和路径终点之间的规划路径的步骤,包括:将所述路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为所述各对相邻坐标点在所述给定地图对应的路径,其中,某一对相邻坐标点在所述给定地图对应的路径,为在所述给定地图中该对相邻坐标点之间行驶成本最小的路径;将所述路径起点和路径终点之间行驶成本最小的路径中,所述各对相邻坐标点之间的路径替换为所述各对相邻坐标点在所述给定地图对应的路径,并将相同坐标点去重,从而得到所述规划路径。
可选地,利用多线程将所述路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为所述各对相邻坐标点在所述给定地图对应的路径。
根据本发明实施例的另一方面,提供了一种路径规划装置。
一种路径规划装置,包括:多层级地图构造模块,用于根据给定地图构造多层级地图,所述多层级地图包括最低层级的所述给定地图和至少一个层级的构建层地图,每一层级构建层地图的坐标点从下一层级的给定地图或构建层地图选取;求解地图生成模块,用于根据所述多层级地图的坐标点生成求解地图;第一路径规划模块,用于根据所述求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径,所述路径起点和路径终点之间行驶成本最小的路径包括对应一个或多个层级构建层地图的路径片段;第二路径规划模块,用于将所述路径起点和路径终点之间行驶成本最小的路径中,所有对应构建层地图的路径片段转换为对应所述给定地图的路径片段,以得到所述路径起点和路径终点之间的规划路径。
可选地,所述求解地图生成模块还用于:根据所述多层级地图中最高层级地图的坐标点,以及除所述最高层级地图之外的其他各层级地图中,分别包括所述路径起点和所述路径终点的映射区域的坐标点,生成求解地图;其中最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域。
可选地,所述多层级地图构造模块还用于:基于所述给定地图,从所述给定地图的坐标点中选取关键坐标点,并以选取的关键坐标点作为所述给定地图的上一层级地图的坐标点,以构建所述给定地图的上一层级地图,再基于所述给定地图的上一层级地图按照上述同样方法继续构建再上一层级的构建层地图,直到地图层级数量达到配置层数时,停止构建后续的构建层地图。
可选地,所述多层级地图构造模块包括关键坐标点选取子模块,用于:以该层级地图的各个角点为起始关键坐标点分别选取关键坐标点,其中,对于每一起始关键坐标点:沿着该起始关键坐标点的每个可行驶方向,按照选取规则分别选取一个坐标点作为关键坐标点,并对于每个选取出的关键坐标点,再沿着该关键坐标点的每个可行驶方向,按照所述选取规则分别选取一个坐标点作为下一个关键坐标点,以此类推,从而根据每个关键坐标点的各个可行驶方向选出后续的关键坐标点,直到达到预设的终止条件时,停止继续选取关键坐标点。
可选地,所述关键坐标点选取子模块还用于:以任一关键坐标点作为当前关键坐标点,沿着所述当前关键坐标点的每个可行驶方向选取下一个关键坐标点时:在所述当前关键坐标点的一个可行驶方向上,当存在第一位置坐标点、第二位置坐标点、第三位置坐标点的情况下:如果所述第二位置坐标点与所述当前关键坐标点的可行驶方向完全相同,且所述第一位置坐标点与所述第三位置坐标点的可行驶方向完全相同,则选取所述第三位置坐标点为下一个关键坐标点,其中,如果所述第一位置坐标点或所述第二位置坐标点为已选取的关键坐标点,则仍选取所述第一位置坐标点或所述第二位置坐标点为下一关键坐标点,而不选取所述第三位置坐标点为下一个关键坐标点;如果所述当前关键坐标点和所述第二位置坐标点的可行驶方向不完全相同,或者,所述第一位置坐标点与所述第三位置坐标点的可行驶方向不完全相同,则选取所述第一位置坐标点为下一个关键坐标点;当只存在所述第一位置坐标点和所述第二位置坐标点的情况下,如果所述第二位置坐标点为边角点,或者,当只存在所述第一位置坐标点的情况下,如果所述第一位置坐标点为边角点,则选取所述边角点作为下一个关键坐标点;所述第一位置坐标点为与所述当前关键坐标点相邻的坐标点,所述第二位置坐标点为与所述当前关键坐标点间隔一个坐标点的坐标点,所述第三位置坐标点为与所述当前关键坐标点间隔两个坐标点的坐标点。
可选地,所述第二路径规划模块还用于:将所述路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为所述各对相邻坐标点在所述给定地图对应的路径,其中,某一对相邻坐标点在所述给定地图对应的路径,为在所述给定地图中该对相邻坐标点之间行驶成本最小的路径;将所述路径起点和路径终点之间行驶成本最小的路径中,所述各对相邻坐标点之间的路径替换为所述各对相邻坐标点在所述给定地图对应的路径,并将相同坐标点去重,从而得到所述规划路径。
可选地,所述第二路径规划模块包括路径转换子模块,用于:利用多线程将所述路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为所述各对相邻坐标点在所述给定地图对应的路径。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明提供的路径规划方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的路径规划方法。
上述发明中的一个实施例具有如下优点或有益效果:根据给定地图构造多层级地图;根据最高层级地图的坐标点,以及除最高层级地图之外的其他各层级地图中,分别包括路径起点和路径终点的映射区域的坐标点,生成求解地图;其中最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域;根据求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径;将路径起点和路径终点之间行驶成本最小的路径中,所有对应构建层地图的路径片段转换为对应给定地图的路径片段,以得到路径起点和路径终点之间的规划路径。能够缩短路径规划的计算时间、减小计算量、提高计算效率,并且无需通过初始化将地图中任意两点的路径计算结果存储起来,从而节约存储资源。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的路径规划方法的主要步骤示意图;
图2是根据本发明一个实施例的路径规划方法的优选主要步骤示意图;
图3是根据本发明实施例的无人仓的地图仿真示意图;
图4是根据本发明实施例的路径规划装置的主要模块示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例提供一种可以应用于各种超大规模地图中的路径规划方法,例如,一种示例性应用场景为在超大规模无人仓地图中求解AGV的最优行驶路径(即最短路径)。本发明实施例的路径规划方法减少了求解地图的坐标点数量,使得计算量减少,从而减少了计算时间,提高计算速度;同时,引入并行计算策略,在部分计算中可利用多线程技术提高计算效率。此外,由于无需通过初始化将地图中任意两点的路径计算结果存储起来,因此本发明实施例相比于现有技术还可以节约存储资源。
图1是根据本发明实施例的路径规划方法的主要步骤示意图。
如图1所示本发明实施例的路径规划方法的主要步骤包括:
步骤S101:根据给定地图构造多层级地图,多层级地图包括最低层级的给定地图和至少一个层级的构建层地图,每一层级构建层地图的坐标点从下一层级的给定地图或构建层地图选取。
步骤S102:根据多层级地图的坐标点生成求解地图。
步骤S103:根据求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径,该计算出的路径起点和路径终点之间行驶成本最小的路径包括对应一个或多个层级构建层地图的路径片段。
步骤S104:将该路径起点和路径终点之间行驶成本最小的路径中所有对应构建层地图的路径片段转换为对应给定地图的路径片段,以得到路径起点和路径终点之间的规划路径。
图2是根据本发明一个实施例的路径规划方法的优选主要步骤示意图。
如图2所示,本发明实施例的路径规划方法主要包括如下的步骤S201至步骤S204。
步骤S201:根据给定地图构造多层级地图。
该多层级地图包括最低层级的该给定地图和至少一个层级的构建层地图。
在一个多层级地图中,最低层级的地图为给定地图,给定地图即通常路径规划中使用的原始地图,多层级地图中除给定地图之外的各层级地图都是构造出的地图,构造的各层级的地图称为构建层地图,例如在给定地图(对应的层级为0)基础上构造出层级为1的地图,又在该层级为1的地图基础上构造出层级为2的地图,那么该层级为1的地图和该层级为2的地图均为构建层地图。每一层级构建层地图的坐标点从下一层级的给定地图或构建层地图选取,即,对于上述层级为1的构建层地图,其坐标点是从下一层级的给定地图选取,对于层级为大于或等于2的构建层地图,其坐标点是从下一层级的构建层地图选取。
根据给定地图构造多层级地图的步骤,具体可以包括:基于给定地图,从给定地图的坐标点中选取关键坐标点,并以选取的关键坐标点作为给定地图的上一层级地图的坐标点,以构建给定地图的上一层级地图,再基于给定地图的上一层级地图按照上述同样方法继续构建再上一层级的构建层地图,直到地图层级数量达到配置层数时,停止构建后续的构建层地图。
上述配置层数是根据地图情况、服务器情况等预先确定的。
可以按照如下方法从某一层级地图的坐标点中选取关键坐标点:
以该层级地图的各个角点为起始关键坐标点分别选取关键坐标点,角点即地图各个角上的坐标点,通常对于一个矩形地图,角点即位于矩形四个角的坐标点。其中,对于每一起始关键坐标点:
沿着该起始关键坐标点的每个可行驶方向,按照选取规则分别选取一个坐标点作为关键坐标点,并对于每个选取出的关键坐标点,再沿着该关键坐标点的每个可行驶方向,按照上述选取规则分别选取一个坐标点作为下一个关键坐标点,以此类推,从而根据每个关键坐标点的各个可行驶方向选出后续的关键坐标点,直到达到预设的终止条件时,停止继续选取关键坐标点。其中,根据某一关键坐标点(设为A)选取下一个关键坐标点时,上述预设的终止条件为以下二者中的至少一者:一是A不存在可行驶方向,具体地,即查询不到A与A的相邻坐标点之间的行驶成本记录。在存储原始地图数据(即给定地图的数据)时预先存储了该地图的每个点的坐标,还存储了每个坐标点到相邻坐标点的行驶成本数据,如果某一个坐标点不存在到其他坐标点的行驶成本数据,则表示该坐标点不存在可行驶方向;二是根据A预选取的下一关键坐标点为已选的关键坐标点。如果基于A选出的关键坐标点为基于其他坐标点已经选取出的关键坐标点,则无需在该选取出的关键坐标点基础上继续执行重复选取。
以任一关键坐标点作为当前关键坐标点,沿着该当前关键坐标点的每个可行驶方向选取下一个关键坐标点时,选取规则具体可以为:
在当前关键坐标点的一个可行驶方向上,
当存在第一位置坐标点、第二位置坐标点、第三位置坐标点的情况下:
如果第二位置坐标点与当前关键坐标点的可行驶方向完全相同,且第一位置坐标点与第三位置坐标点的可行驶方向完全相同,则选取第三位置坐标点为下一个关键坐标点,其中,如果第一位置坐标点或第二位置坐标点为已选取的关键坐标点,则仍选取第一位置坐标点或第二位置坐标点为下一关键坐标点,而不选取第三位置坐标点为下一个关键坐标点;
如果当前关键坐标点和第二位置坐标点的可行驶方向不完全相同,或者,第一位置坐标点与第三位置坐标点的可行驶方向不完全相同,则选取第一位置坐标点为下一个关键坐标点;当只存在第一位置坐标点和第二位置坐标点的情况下,如果第二位置坐标点为边角点,或者,当只存在第一位置坐标点的情况下,如果第一位置坐标点为边角点,则选取上述边角点作为下一个关键坐标点。
其中,边角点为地图各边上的坐标点。
第一位置坐标点可以为与当前关键坐标点相邻的坐标点,第二位置坐标点可以为与当前关键坐标点间隔一个坐标点的坐标点,第三位置坐标点可以为与当前关键坐标点间隔两个坐标点的坐标点。
步骤S202:根据最高层级地图的坐标点,以及除最高层级地图之外的其他各层级地图中,分别包括路径起点和路径终点的映射区域的坐标点,生成求解地图。
其中,最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域。
步骤S203:根据生成的求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径。
其中,该计算出的路径起点和路径终点之间行驶成本最小的路径包括对应一个或多个层级构建层地图的路径片段。
步骤S204:将该计算出的路径起点和路径终点之间行驶成本最小的路径中,所有对应构建层地图的路径片段转换为对应给定地图的路径片段,以得到路径起点和路径终点之间的规划路径。
规划路径即要规划出的路径起点和路径终点之间的完整路径。
步骤S204具体可以包括:将步骤S203计算出的路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为各对相邻坐标点在给定地图对应的路径,其中,某一对相邻坐标点在给定地图对应的路径,为在给定地图中该对相邻坐标点之间行驶成本最小的路径;将该路径起点和路径终点之间行驶成本最小的路径的相邻坐标点之间的路径,替换为各对相邻坐标点在给定地图对应的路径,并将相同坐标点去重,从而得到规划路径。
并且,可以利用多线程,并行地将路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为各对相邻坐标点在给定地图对应的路径。
图3是根据本发明实施例的无人仓的地图仿真示意图。如图3所示,该图为30*22的仿真地图,AGV行驶于坐标点上,地图为单向路线,即x为偶数的路线只可向上行驶;x为奇数的路线只可向下行驶;y为偶数的路线只可向右行驶;y为奇数的路线只可向左行驶。其中,x、y分别表示横坐标值和纵坐标值,AGV每一步行驶一个单元格,即在横坐标方向或纵坐标方向行驶一个坐标位置。上述的AGV在地图坐标点的可行驶方向只是一个示例,AGV在地图中每个坐标点的可行驶方向可以根据场地、业务等情况规划而定,而不仅限于本示例。
下面以图3所示的地图为例,介绍本发明实施例的路径规划方法。
在系统初始化时完成仓库的地图初始化,地图初始化包括初始化构建层地图的坐标信息、构建层地图的区域信息、各层级地图相邻点的成本数据。
在初始化构建层地图的坐标信息时,对于一个下层地图(下层地图指用于构造构建层地图的某一个层级的地图,即除了最高层级地图之外,每一层级的地图都可以成为一个下层地图),选择其中的关键坐标点构成上一层级的构建层地图,该构建层地图的坐标点远少于该下层地图,如果构建出的该构建层地图的坐标点依然很多,则可继续构建出再上一层级的构建层地图,从而构造出多层级地图。
由于目前无人仓地图基本是由单向路组成,除边角点外,每个点一般有两个可行驶方向,例如在图3的无人仓地图,AGV的行驶规则为:x为偶数的路线只可向上行驶;x为奇数的路线只可向下行驶;y为偶数的路线只可向右行驶;y为奇数的路线只可向左行驶。相邻两坐标点必有一个相同的可行驶方向,相隔一个坐标点的两个点的两个可行驶方向完全相同。因此,对于某关键坐标点P1,沿其某个可行驶方向,其相邻坐标点为P2,其相隔一个坐标点(简称相隔一点,下文同理)的坐标点为P3,相隔两个坐标点的坐标点为P4,有如下特点:P1与P3可行驶方向完全相同,P2与P4可行驶方向完全相同,对于远距离行驶需求而言,P3点可被P1点替换,P2点可被P4点替换,可选择坐标点P4作为关键坐标点。然后再基于P1的其他可行驶方向继续选择关键坐标点,然后基于通过P1选出的关键坐标点,沿该选出的关键坐标点的可行驶方向继续选择后续的关键坐标点,以此类推。
以图3所示的地图为例,坐标点(0,0)作为关键坐标点P1,沿着其右向行驶方向的相邻坐标点(1,0)为P2(即第一位置坐标点),其相隔一个坐标点的坐标点(2,0)为P3(即第二位置坐标点);相隔两点的坐标点(3,0)为P4(即第三位置坐标点)。P1(坐标为(0,0))与P3(坐标为(2,0))的行驶方向同为向右和向上;P2(坐标为(1,0))与P4(坐标为(3,0))的行驶方向同为向右和向下,因此,P3可以被P1替换,P2可以被P4替换,则选取P4作为一个关键坐标点。然后,再基于P1沿着其向上行驶方向继续选择关键坐标点。进一步地,再基于已选出的关键坐标点,例如P4,其坐标为(3,0),在其各个行驶方向上,按照上述同样方法,继续选取关键坐标点。
其中,在选取关键坐标点时,通常情况下按照上述的选取规则来选取,但是存在以下特殊情况时,按照如下的规则来选取关键坐标点:
如果P2与P4的可行驶方向不完全相同,或P1与P3的可行驶方向不完全相同,例如,P2的可行驶方向为向右和向下,而P4的可行驶方向只为向右),则选择P1的相邻坐标点P2作为关键坐标点。
如果P2为已选择的关键坐标点(由于选取关键坐标点的起始原点不同,行驶方向也不同,经过多次选取后,可能存在相邻两个坐标点都为关键坐标点的情况),则选择P2作为关键坐标点。同理,如果P3为已选择的关键坐标点,则选择P3作为关键坐标点。
如果选择的某关键坐标点PN,存在P(N+X)为边角点,且X∈{1,2},则选择边角点P(N+X)作为关键坐标点。
如果选择的某关键坐标点PN,不存在可行驶方向,则结束基于该关键坐标点的进一步关键坐标点的选择。
以图3所示的无人仓地图为例,首先得到4个角点:(0,0)、(0,21)、(29,0)、(29,18)。首先进行第一次选取关键坐标点,以原点P(0,0)为起始关键坐标点,依次沿其可行驶方向,按照上述关键坐标点选取规则,隔两个点可选择两个关键坐标点P(0,3)和P(3,0)。对于选新的关键坐标点,例如P(0,3),也沿其可行驶方向选择出关键坐标点P(0,6),对于P(3,0),也沿其可行驶方向选择出关键坐标点P(6,0),依此类推,这样,逐一根据新选择的关键坐标点,沿该新选择的关键坐标点的可行驶方向进一步选择关键坐标点。最后,得到一个坐标矩阵,
如下:
Figure BDA0001685593520000151
然后,进行第二次选取关键坐标点,以(0,21)为起始关键坐标点,按照图3的无人仓地图中AGV的行驶规则,该(0,21坐标点)无可行驶方向,因此无选出的新的关键坐标点。
进行第三次选取关键坐标点,以(29,0)为起始关键坐标点,与(0,21)类似,该(29,0)也无可行驶方向,因此无选出的新的关键坐标点。
进行第四次选取,以(29,21)为起始关键坐标点,按照上述同样方法,沿可行驶方向选择关键坐标点,并根据新选择的关键坐标点,进一步沿其行驶方向选择后续的关键坐标点。按照图3的无人仓地图中AGV的行驶规则,该(29,21)的可行驶方向为向下和向左,其中,沿着向左的可行驶方向选取关键坐标点时,按照上述关键坐标点的选取规则,可以选出(26,21)为关键坐标点,在基于(26,21)继续选取关键坐标点时,(26,21)的可行驶方向为向左,在该可行驶方向上,与(26,21)相隔一个坐标点的坐标点(24,21)为已选的关键坐标点,则根据上述的“如果第一位置坐标点或第二位置坐标点为已选取的关键坐标点,则仍选取第一位置坐标点或第二位置坐标点为下一关键坐标点,而不选取第三位置坐标点为下一个关键坐标点”,仍选取坐标点(24,21)为已选的关键坐标点。
最后,通过上述四次选取,最终得到11*8的完整的关键点坐标矩阵,
具体如下:
Figure BDA0001685593520000161
以上是以图3的30*22的无人仓地图为例,对于一个xl*yl的地图,经过计算可到一个xu*yu的构建层地图,考虑到地图可能是不规则多边形,可得如下公式:
Figure BDA0001685593520000162
Figure BDA0001685593520000163
其中,xl为该xl*yl的地图的x轴上坐标点数量),yl为该xl*yl的地图的y轴上坐标点数量),xu为该xu*yu的地图的x轴上坐标点数量,yu为该xu*yu的地图的y轴上坐标点数量。对于上述图3的30*22的仿真地图,即:
Figure BDA0001685593520000164
即取11
Figure BDA0001685593520000165
即取8。
对于超大地图,例如一个1000*1000的地图,存在100万个点,经过计算得到一个层级的334*334的构建层地图,存在11万个点,再基于334*334的构建层地图计算一次,进而可得到再高一个层级的112*112的构建层地图,仅包含1万多个点,基于该1万多个点进行最短路径计算,在目前的服务器计算能力下的计算耗时已能够满足目前的系统性能需求。
在初始化构建层地图的坐标信息之后,初始化构建层地图的区域信息。对于每一层级的构建层地图,可以根据坐标信息初始化区域信息,区域信息是该构建层地图相邻点构成的封闭区域的信息,基于目前无人仓地图每个坐标点与相邻点最多可组成4条边的情况,除最高层级地图之外,每个层级地图的坐标点可对应到该层级地图的上一层级地图的1到4个区域中。对于构建层地图,每条区域信息包括如下内容:
区域ID:区域记录的唯一标示。
地图层级:0为原始地图(即上述的给定地图),每高一个层级该值增加1。
包含的当前层坐标:该区域所在的构建层地图中的坐标。
包含的下层坐标:该区域对应的下一层级地图中的坐标。
以图3所示的30*22的无人仓地图为例,该30*22的地图为给定地图,即原始地图,根据30*22的地图构造出一个层级的11*8的构建层地图,那么对于该11*8的构建层地图中(0,0),(0,3),(3,0),(3,3)构成的一个封闭区域,对应的下一层级地图(本例即最原始地图)的坐标为(0,0),(0,1),(0,2),(0,3),(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(2,2),(2,3),(3,0),(3,1),(3,2),(3,3)。即该条区域信息为:
区域ID:1
地图层级:1
包含的当前层坐标:(0,0),(0,3),(3,0),(3,3)
包含的下层坐标:(0,0),(0,1),(0,2),(0,3),(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(2,2),(2,3),(3,0),(3,1),(3,2),(3,3)
如果包括多层级的构建层地图,则按照上述方法初始化每个层级构建层地图的区域信息。
初始化构建层地图的区域信息之后,初始化每一层级构建层地图的相邻坐标点的成本数据。相邻坐标点的成本数据包括该相邻坐标点之间的行驶成本,两坐标点之间行驶成本最小的路径即为该两坐标点之间的最短路径。
原始地图的相邻坐标点的行驶成本可以按照现有的路径规划方案中计算行驶成本的算法来计算,例如Dijkstra、A-star等算法,主要是根据车辆行驶速度、相邻两点距离等因素计算,可以预先存储原始地图的相邻坐标点的行驶成本,具体地,在存储原始地图数据时不但存储该地图的每个点的坐标,还存储每个坐标点到相邻坐标点的行驶成本数据,因此,只需查询读取保存的原始地图的相邻坐标点的行驶成本即可。对于构建层地图相邻坐标点的行驶成本,可以按照如下方法:以某一层级的构建层地图的某两个相邻坐标点为例,首先计算该两个坐标点映射到该构建层地图的下一层级地图后,求出这两个坐标点的最短路径,再将最短路径中各坐标点的行驶成本叠加的值,作为该构建层地图此相邻坐标点的行驶成本。
例如,图3中构建层地图(地图层级为1)的坐标点(0,0)到坐标点(0,3)的行驶成本为C(0,0)-(0,3),即下一层级地图(本例为原始地图,地图层级为0)求点(0,0)到点(0,3)的最短路径,求得最短路径为:(0,0),(0,1),(0,2),(0,3)。再将最短路径中各行驶成本叠加,得:
C(0,0)_(0,3)=C(0,0)_(0,1)+C(0,1)_(0,2)+C(0,2)_(0,3)
其中,C(0,0)_(0,1)、C(0,1)_(0,2)、C(0,2)_(0,3)分别为该下一层级地图的坐标点(0,0)到(0,1)、(0,1)到(0,2)、(0,2)到(0,3)的行驶成本。
如果包括多个层级的构建层地图,则初始化行驶成本时,各层级的构建层地图行驶成本逐级向下一层级映射,最后映射到最低层级(原始地图),将最短路径中各行驶成本按照上述方法叠加。
在构造好多层级地图,并进行上述的地图初始化之后,根据最高层级地图的坐标点,以及除最高层级地图之外的其他各层级地图中,分别包括路径起点(即起始点或简称起点)和路径终点(即终止点或简称终点)的映射区域的坐标点,生成求解地图。其中,最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域。
具体地,即加载第w层(w默认为最高层级的构建层地图的值)地图坐标及包含起始点与终止点的两个第w-1层地图的区域坐标,如果w-1层地图不是最低层级的地图,则再加载包含起始点与终止点的两个第w-2层地图的区域坐标,直到w-n为最低层级的地图为止,根据加载的这些坐标点拼装成求解地图。
以图3所示的无人仓地图为例,根据上例,在原始地图(记作层级为L0)的基础上构造出一个层级的构建层地图(记作层级为L1),得到共有两个层级的多层级地图。在计算坐标点(0,0)到坐标点(18,7)的最短路径时,按照上述方法加载用于生成求解地图的坐标点,即,加载L1层级地图的所有坐标点,并加载L0层级分别包括坐标点(0,0)和(18,7)的两个映射区域的坐标点,其中,包括坐标点(0,0)的L1层级的最小区域为(0,0)、(0,3)、(3,0)、(3,3)构成的封闭区域,该区域映射到L0层级,即L0层级的映射区域,其中包括16个坐标点为:(0,0),(0,1),(0,2),(0,3),(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(2,2),(2,3),(3,0),(3,1),(3,2),(3,3)。包括坐标点(18,7)的L1层级的最小区域有两个,分别为(18,6),(21,6),(21,9),(18,9)和(15,6),(15,9),(18,6),(18,9)构成的封闭区域,按照同样方法,得到(18,7)在L0层级的映射区域中的28个坐标点。最后生成的求解地图包含的坐标点包括:L1层级地图的88个坐标点、包含(0,0)的一个映射区域的16个坐标点,包含(18,7)的两个映射区域的28个坐标点,对L0层级和L1层级选出的坐标点去重之后,得到总计122(即:88+16+28-4-6)个坐标点,该122个坐标点构成求解地图。
基于生成的求解地图,使用Dijkstra、A-star等算法可以很快计算出任意两个坐标点之间的最短路径。Dijkstra即迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN,CLOSE表的方式,这里均采用永久和临时标号的方式。注意该算法要求图中不存在负权边。A-star即A*(A-Star)算法,是一种静态路网中求解最短路最有效的方法。公式表示为:f(n)=g(n)+h(n),其中f(n)是节点n从初始点到目标点的估价函数,g(n)是在状态空间中从初始节点到n节点的实际代价,h(n)是从n到目标节点最佳路径的估计代价。
使用Dijkstra、A-star等算法计算任意两个坐标点之间的最短路径这部分计算,对于上述算法的入参和出参与现有的常用路径规划方案一致,即入参为地图(现有技术上述算法的入参为原始地图,本发明该入参地图为求解地图)、起始点、终止点,出参是起始点到终止点的路径,可以很好地复用现有路径规划的算法模块。
对于根据求解地图计算出的最短路径,除起点和终点部分路径片段外,会包含部分构建层地图的路径片段,需要将此部分构建层地图的路径片段转换为下层地图的路径片段,与初始化各层地图相邻点的成本数据的思路相似,即对于构建层地图路径的相邻点,计算该相邻点映射到下层地图后的最短路径(如果是多层级的构建层地图,则逐级映射到最低层级),再用求得的最短路径片段将完整的最短路径中的坐标点替换掉,并做去重处理,得最终路径。
以图3所示的无人仓地图为例,根据求解地图,计算点(0,0)到点(18,7)的最短路径,可得最短路径为:(0,0),(1,0),(2,0),(3,0),(6,0),(9,0),(12,0),(15,0),(18,0),(18,3),(18,6),(18,7)。其中,中间8个点:(3,0),(6,0),(9,0),(12,0),(15,0),(18,0),(18,3),(18,6)的路径为L1层级的路径片段,需要进行路径转换,即每两个坐标点组成一对,共7对,对于坐标点(3,0)到(6,0),转换后为(3,0),(4,0),(5,0),(6,0)。
可以通过多线程技术,可同时对上述7对坐标点并行计算,并将结果合并后替换到完整的最短路径中,得到最终路径为:(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0),(9,0),(10,0),(11,0),(12,0),(13,0),(14,0),(15,0),(16,0),(17,0),(18,0),(18,1),(18,2),(18,3),(18,4),(18,5),(18,6),(18,7)。
图4是根据本发明实施例的路径规划装置的主要模块示意图。
如图4所示,本发明实施例的路径规划装置400主要包括:多层级地图构造模块401、求解地图生成模块402、第一路径规划模块403、第二路径规划模块404。
多层级地图构造模块401用于根据给定地图构造多层级地图,该多层级地图包括最低层级的给定地图和至少一个层级的构建层地图,每一层级构建层地图的坐标点从下一层级的给定地图或构建层地图选取。
多层级地图构造模块401具体可以用于:基于给定地图,从给定地图的坐标点中选取关键坐标点,并以选取的关键坐标点作为给定地图的上一层级地图的坐标点,以构建给定地图的上一层级地图,再基于给定地图的上一层级地图按照上述同样方法继续构建再上一层级的构建层地图,直到地图层级数量达到配置层数时,停止构建后续的构建层地图。
多层级地图构造模块401可以包括关键坐标点选取子模块,用于:以该层级地图的各个角点为起始关键坐标点分别选取关键坐标点,其中,对于每一起始关键坐标点:沿着该起始关键坐标点的每个可行驶方向,按照选取规则分别选取一个坐标点作为关键坐标点,并对于每个选取出的关键坐标点,再沿着该关键坐标点的每个可行驶方向,按照所述选取规则分别选取一个坐标点作为下一个关键坐标点,以此类推,从而根据每个关键坐标点的各个可行驶方向选出后续的关键坐标点,直到达到预设的终止条件时,停止继续选取关键坐标点。
关键坐标点选取子模块具体可以用于:
以任一关键坐标点作为当前关键坐标点,沿着当前关键坐标点的每个可行驶方向选取下一个关键坐标点时:
在当前关键坐标点的一个可行驶方向上,
当存在第一位置坐标点、第二位置坐标点、第三位置坐标点的情况下:
如果第二位置坐标点与当前关键坐标点的可行驶方向完全相同,且第一位置坐标点与第三位置坐标点的可行驶方向完全相同,则选取第三位置坐标点为下一个关键坐标点,其中,如果第一位置坐标点或第二位置坐标点为已选取的关键坐标点,则仍选取第一位置坐标点或第二位置坐标点为下一关键坐标点,而不选取第三位置坐标点为下一个关键坐标点;
如果当前关键坐标点和第二位置坐标点的可行驶方向不完全相同,或者,第一位置坐标点与第三位置坐标点的可行驶方向不完全相同,则选取第一位置坐标点为下一个关键坐标点;
当只存在第一位置坐标点和第二位置坐标点的情况下,如果第二位置坐标点为边角点,或者,当只存在第一位置坐标点的情况下,如果第一位置坐标点为边角点,则选取边角点作为下一个关键坐标点。
其中,第一位置坐标点为与当前关键坐标点相邻的坐标点,第二位置坐标点为与当前关键坐标点间隔一个坐标点的坐标点,第三位置坐标点为与当前关键坐标点间隔两个坐标点的坐标点。
求解地图生成模块402用于根据最高层级地图的坐标点,以及除最高层级地图之外的其他各层级地图中,分别包括路径起点和路径终点的映射区域的坐标点,生成求解地图;其中最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域。
第一路径规划模块403用于根据求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径,路径起点和路径终点之间行驶成本最小的路径包括对应一个或多个层级构建层地图的路径片段。
第二路径规划模块404用于将路径起点和路径终点之间行驶成本最小的路径中,所有对应构建层地图的路径片段转换为对应给定地图的路径片段,以得到路径起点和路径终点之间的规划路径。
第二路径规划模块404具体可以用于:将路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为各对相邻坐标点在所述给定地图对应的路径,其中,某一对相邻坐标点在给定地图对应的路径,为在给定地图中该对相邻坐标点之间行驶成本最小的路径;将路径起点和路径终点之间行驶成本最小的路径中,各对相邻坐标点之间的路径替换为各对相邻坐标点在给定地图对应的路径,并将相同坐标点去重,从而得到规划路径。
第二路径规划模块404可以包括路径转换子模块,用于:利用多线程将路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为各对相邻坐标点在给定地图对应的路径。
本发明实施例额路径规划装置能够有效的解决的大地图下的路径规划问题,有效提升路径规划效率,使得在基于AGV的超大地图的仓库中,可以快速求得地图中任意两点的最短路径的方法,进而提升了无人仓仓库运营效率。
另外,在本发明实施例中路径规划装置的具体实施内容,在上面所述路径规划方法中已经详细说明了,故在此重复内容不再说明。
图5示出了可以应用本发明实施例的路径规划方法或路径规划装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的路径查询请求等数据进行分析等处理,并将处理结果(例如路径信息)反馈给终端设备。
需要说明的是,本发明实施例所提供的路径规划方法一般由服务器505执行,相应地,路径规划装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括多层级地图构造模块401、求解地图生成模块402、第一路径规划模块403、第二路径规划模块404。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,多层级地图构造模块401还可以被描述为“用于根据给定地图构造多层级地图的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:根据给定地图构造多层级地图,所述多层级地图包括最低层级的所述给定地图和至少一个层级的构建层地图,每一层级构建层地图的坐标点从下一层级的给定地图或构建层地图选取;根据最高层级地图的坐标点,以及除所述最高层级地图之外的其他各层级地图中,分别包括路径起点和路径终点的映射区域的坐标点,生成求解地图;其中最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域;根据所述求解地图,按照预设算法计算所述路径起点和路径终点之间行驶成本最小的路径,所述路径起点和路径终点之间行驶成本最小的路径包括对应一个或多个层级构建层地图的路径片段;将所述路径起点和路径终点之间行驶成本最小的路径中,所有对应构建层地图的路径片段转换为对应所述给定地图的路径片段,以得到所述路径起点和路径终点之间的规划路径。
根据本发明实施例的技术方案,根据给定地图构造多层级地图;根据最高层级地图的坐标点,以及除最高层级地图之外的其他各层级地图中,分别包括路径起点和路径终点的映射区域的坐标点,生成求解地图;其中最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域;根据求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径;将路径起点和路径终点之间行驶成本最小的路径中所有对应构建层地图的路径片段转换为对应给定地图的路径片段,以得到路径起点和路径终点之间的规划路径。能够缩短路径规划的计算时间、减小计算量、提高计算效率,并且无需通过初始化将地图中任意两点的路径计算结果存储起来,从而节约存储资源。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (16)

1.一种路径规划方法,其特征在于,包括:
根据给定地图构造多层级地图,所述多层级地图包括最低层级的所述给定地图和至少一个层级的构建层地图,构造所述多层级地图时,每一层级构建层地图的坐标点从下一层级的给定地图或构建层地图选取;
根据所述多层级地图的坐标点生成求解地图;其中,根据所述多层级地图中最高层级地图的坐标点,以及除所述最高层级地图之外的其他各层级地图中,分别包括路径起点和路径终点的映射区域的坐标点,来生成所述求解地图;
根据所述求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径,所述路径起点和路径终点之间行驶成本最小的路径包括对应一个或多个层级构建层地图的路径片段;
将所述路径起点和路径终点之间行驶成本最小的路径中,所有对应构建层地图的路径片段转换为对应所述给定地图的路径片段,其中,通过如下方式进行所述转换:将所述路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为所述各对相邻坐标点在所述给定地图对应的路径,以得到所述路径起点和路径终点之间的规划路径。
2.根据权利要求1所述的方法,其特征在于,所述最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域。
3.根据权利要求1所述的方法,其特征在于,根据给定地图构造多层级地图的步骤包括:
基于所述给定地图,从所述给定地图的坐标点中选取关键坐标点,并以选取的关键坐标点作为所述给定地图的上一层级地图的坐标点,以构建所述给定地图的上一层级地图,再基于所述给定地图的上一层级地图按照上述同样方法继续构建再上一层级的构建层地图,直到地图层级数量达到配置层数时,停止构建后续的构建层地图。
4.根据权利要求3所述的方法,其特征在于,按照如下方法从某一层级地图的坐标点中选取关键坐标点:
以该层级地图的各个角点为起始关键坐标点分别选取关键坐标点,其中,对于每一起始关键坐标点:
沿着该起始关键坐标点的每个可行驶方向,按照选取规则分别选取一个坐标点作为关键坐标点,并对于每个选取出的关键坐标点,再沿着该关键坐标点的每个可行驶方向,按照所述选取规则分别选取一个坐标点作为下一个关键坐标点,以此类推,从而根据每个关键坐标点的各个可行驶方向选出后续的关键坐标点,直到达到预设的终止条件时,停止继续选取关键坐标点。
5.根据权利要求4所述的方法,其特征在于,以任一关键坐标点作为当前关键坐标点,沿着所述当前关键坐标点的每个可行驶方向选取下一个关键坐标点时,所述选取规则为:
在所述当前关键坐标点的一个可行驶方向上,
当存在第一位置坐标点、第二位置坐标点、第三位置坐标点的情况下:
如果所述第二位置坐标点与所述当前关键坐标点的可行驶方向完全相同,且所述第一位置坐标点与所述第三位置坐标点的可行驶方向完全相同,则选取所述第三位置坐标点为下一个关键坐标点,其中,如果所述第一位置坐标点或所述第二位置坐标点为已选取的关键坐标点,则仍选取所述第一位置坐标点或所述第二位置坐标点为下一关键坐标点,而不选取所述第三位置坐标点为下一个关键坐标点;
如果所述当前关键坐标点和所述第二位置坐标点的可行驶方向不完全相同,或者,所述第一位置坐标点与所述第三位置坐标点的可行驶方向不完全相同,则选取所述第一位置坐标点为下一个关键坐标点;
当只存在所述第一位置坐标点和所述第二位置坐标点的情况下,如果所述第二位置坐标点为边角点,或者,当只存在所述第一位置坐标点的情况下,如果所述第一位置坐标点为边角点,则选取所述边角点作为下一个关键坐标点;
所述第一位置坐标点为与所述当前关键坐标点相邻的坐标点,所述第二位置坐标点为与所述当前关键坐标点间隔一个坐标点的坐标点,所述第三位置坐标点为与所述当前关键坐标点间隔两个坐标点的坐标点。
6.根据权利要求1所述的方法,其特征在于,某一对相邻坐标点在所述给定地图对应的路径,为在所述给定地图中该对相邻坐标点之间行驶成本最小的路径;
通过如下方式得到所述路径起点和路径终点之间的规划路径:
将所述路径起点和路径终点之间行驶成本最小的路径中,所述各对相邻坐标点之间的路径替换为所述各对相邻坐标点在所述给定地图对应的路径,并将相同坐标点去重,从而得到所述规划路径。
7.根据权利要求6所述的方法,其特征在于,利用多线程将所述路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为所述各对相邻坐标点在所述给定地图对应的路径。
8.一种路径规划装置,其特征在于,包括:
多层级地图构造模块,用于根据给定地图构造多层级地图,所述多层级地图包括最低层级的所述给定地图和至少一个层级的构建层地图,构造所述多层级地图时,每一层级构建层地图的坐标点从下一层级的给定地图或构建层地图选取;
求解地图生成模块,用于根据所述多层级地图的坐标点生成求解地图;其中,根据所述多层级地图中最高层级地图的坐标点,以及除所述最高层级地图之外的其他各层级地图中,分别包括路径起点和路径终点的映射区域的坐标点,来生成所述求解地图;
第一路径规划模块,用于根据所述求解地图,按照预设算法计算路径起点和路径终点之间行驶成本最小的路径,所述路径起点和路径终点之间行驶成本最小的路径包括对应一个或多个层级构建层地图的路径片段;
第二路径规划模块,用于将所述路径起点和路径终点之间行驶成本最小的路径中,所有对应构建层地图的路径片段转换为对应所述给定地图的路径片段,其中,通过如下方式进行所述转换:将所述路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为所述各对相邻坐标点在所述给定地图对应的路径,以得到所述路径起点和路径终点之间的规划路径。
9.根据权利要求8所述的装置,其特征在于,所述最高层级地图之外的其他各层级地图的映射区域为:该层级地图的上一层级地图的坐标点构成的最小区域映射到该层级地图而形成的区域。
10.根据权利要求8所述的装置,其特征在于,所述多层级地图构造模块还用于:
基于所述给定地图,从所述给定地图的坐标点中选取关键坐标点,并以选取的关键坐标点作为所述给定地图的上一层级地图的坐标点,以构建所述给定地图的上一层级地图,再基于所述给定地图的上一层级地图按照上述同样方法继续构建再上一层级的构建层地图,直到地图层级数量达到配置层数时,停止构建后续的构建层地图。
11.根据权利要求10所述的装置,其特征在于,所述多层级地图构造模块包括关键坐标点选取子模块,用于:
以该层级地图的各个角点为起始关键坐标点分别选取关键坐标点,其中,对于每一起始关键坐标点:
沿着该起始关键坐标点的每个可行驶方向,按照选取规则分别选取一个坐标点作为关键坐标点,并对于每个选取出的关键坐标点,再沿着该关键坐标点的每个可行驶方向,按照所述选取规则分别选取一个坐标点作为下一个关键坐标点,以此类推,从而根据每个关键坐标点的各个可行驶方向选出后续的关键坐标点,直到达到预设的终止条件时,停止继续选取关键坐标点。
12.根据权利要求11所述的装置,其特征在于,所述关键坐标点选取子模块还用于:
以任一关键坐标点作为当前关键坐标点,沿着所述当前关键坐标点的每个可行驶方向选取下一个关键坐标点时:
在所述当前关键坐标点的一个可行驶方向上,
当存在第一位置坐标点、第二位置坐标点、第三位置坐标点的情况下:
如果所述第二位置坐标点与所述当前关键坐标点的可行驶方向完全相同,且所述第一位置坐标点与所述第三位置坐标点的可行驶方向完全相同,则选取所述第三位置坐标点为下一个关键坐标点,其中,如果所述第一位置坐标点或所述第二位置坐标点为已选取的关键坐标点,则仍选取所述第一位置坐标点或所述第二位置坐标点为下一关键坐标点,而不选取所述第三位置坐标点为下一个关键坐标点;
如果所述当前关键坐标点和所述第二位置坐标点的可行驶方向不完全相同,或者,所述第一位置坐标点与所述第三位置坐标点的可行驶方向不完全相同,则选取所述第一位置坐标点为下一个关键坐标点;
当只存在所述第一位置坐标点和所述第二位置坐标点的情况下,如果所述第二位置坐标点为边角点,或者,当只存在所述第一位置坐标点的情况下,如果所述第一位置坐标点为边角点,则选取所述边角点作为下一个关键坐标点;
所述第一位置坐标点为与所述当前关键坐标点相邻的坐标点,所述第二位置坐标点为与所述当前关键坐标点间隔一个坐标点的坐标点,所述第三位置坐标点为与所述当前关键坐标点间隔两个坐标点的坐标点。
13.根据权利要求8所述的装置,其特征在于,
某一对相邻坐标点在所述给定地图对应的路径,为在所述给定地图中该对相邻坐标点之间行驶成本最小的路径;
所述第二路径规划模块还用于:将所述路径起点和路径终点之间行驶成本最小的路径中,所述各对相邻坐标点之间的路径替换为所述各对相邻坐标点在所述给定地图对应的路径,并将相同坐标点去重,从而得到所述规划路径。
14.根据权利要求13所述的装置,其特征在于,所述第二路径规划模块包括路径转换子模块,用于:
利用多线程将所述路径起点和路径终点之间行驶成本最小的路径中,对应每一层级构建层地图的路径片段中的各对相邻坐标点之间的路径,通过逐层向下一层级地图映射,转换为所述各对相邻坐标点在所述给定地图对应的路径。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201810570327.0A 2018-06-05 2018-06-05 一种路径规划方法和装置 Active CN110567459B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810570327.0A CN110567459B (zh) 2018-06-05 2018-06-05 一种路径规划方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810570327.0A CN110567459B (zh) 2018-06-05 2018-06-05 一种路径规划方法和装置

Publications (2)

Publication Number Publication Date
CN110567459A CN110567459A (zh) 2019-12-13
CN110567459B true CN110567459B (zh) 2021-09-07

Family

ID=68772168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810570327.0A Active CN110567459B (zh) 2018-06-05 2018-06-05 一种路径规划方法和装置

Country Status (1)

Country Link
CN (1) CN110567459B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113393009B (zh) * 2020-03-11 2024-03-19 中国移动通信集团辽宁有限公司 传输管线的路径规划方法、装置及计算设备
CN114330805A (zh) * 2020-10-12 2022-04-12 珠海慧城建筑科技有限公司 地下室电气路径规划方法、装置、电子设备及存储介质
CN113310492B (zh) * 2021-05-27 2023-04-14 青岛星华智能装备有限公司 一种基于a星算法的单舵轮agv路径规划方法和系统
CN116300861A (zh) * 2022-12-20 2023-06-23 上海木蚁机器人科技有限公司 路径规划方法以及电子设备
CN117390057B (zh) * 2023-12-11 2024-03-19 成都智达万应科技有限公司 一种地图数据查询方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519619A (en) * 1994-03-14 1996-05-21 Motorola, Inc. Route planning method for hierarchical map routing and apparatus therefor
CN101354261A (zh) * 2007-07-27 2009-01-28 北京灵图软件技术有限公司 导航系统的数据更新方法、数据更新装置及一种导航系统
KR20160105134A (ko) * 2015-02-27 2016-09-06 주식회사 보이스아이 시각장애인용 모바일 터치맵 생성 방법, 안내 방법, 및 제공 방법
CN107272008A (zh) * 2017-06-14 2017-10-20 上海大学 一种带惯性补偿的agv激光导航系统
CN108009666A (zh) * 2016-10-28 2018-05-08 武汉大学 基于动态路网的层级优先最优路径计算方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519619A (en) * 1994-03-14 1996-05-21 Motorola, Inc. Route planning method for hierarchical map routing and apparatus therefor
CN101354261A (zh) * 2007-07-27 2009-01-28 北京灵图软件技术有限公司 导航系统的数据更新方法、数据更新装置及一种导航系统
KR20160105134A (ko) * 2015-02-27 2016-09-06 주식회사 보이스아이 시각장애인용 모바일 터치맵 생성 방법, 안내 방법, 및 제공 방법
CN108009666A (zh) * 2016-10-28 2018-05-08 武汉大学 基于动态路网的层级优先最优路径计算方法
CN107272008A (zh) * 2017-06-14 2017-10-20 上海大学 一种带惯性补偿的agv激光导航系统

Also Published As

Publication number Publication date
CN110567459A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CN110567459B (zh) 一种路径规划方法和装置
US11270039B2 (en) Road network generation
US8824337B1 (en) Alternate directions in hierarchical road networks
CN108734559B (zh) 一种订单处理方法和装置
US20170046653A1 (en) Planning of transportation requests
CN107710696A (zh) 区域导向和变化容忍的快速最短路径算法和图形预处理框架
Johnson et al. Large-scale network partitioning for decentralized traffic management and other transportation applications
EP3933769B1 (en) Method and apparatus for image processing, computer storage medium and program
Li et al. Design and implementation of intelligent traffic and big data mining system based on internet of things
CN110703758A (zh) 一种路径规划方法和装置
Kalyanam et al. Scalable and exact MILP methods for UAV persistent visitation problem
CN113128743A (zh) 一种拣货路径规划方法和装置
CN112200336A (zh) 一种车辆行驶路径规划的方法和装置
CN110807612A (zh) 确定剩余产能的方法和装置
WO2015055502A2 (en) Method of partitioning storage in a distributed data storage system and corresponding device
CN112256254A (zh) 一种生成布局代码的方法和装置
CN116521782A (zh) 一种数据资产地图获取方法、装置、设备、介质及产品
Fraire et al. Exact methods for the vertex bisection problem
de Andrade Júnior et al. Fully retroactive minimum spanning tree problem
CN107659501B (zh) 基于复杂梯度网络的能效优化传输方法和系统
US9129318B2 (en) System and method for allocating suppliers using geographical information system and supplier capability
CN113361739A (zh) 一种生成拣货路径的方法和装置
CN111325505B (zh) 一种网点处理方法、装置及电子设备
Tian et al. An approach to generate spatial Voronoi Treemaps for points, lines, and polygons
CN113642742A (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
TA01 Transfer of patent application right

Effective date of registration: 20210226

Address after: Room a1905, 19 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Beijing Jingdong Qianshi Technology Co.,Ltd.

Address before: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing 100080

Applicant before: Beijing Jingbangda Trading Co.,Ltd.

Effective date of registration: 20210226

Address after: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing 100080

Applicant after: Beijing Jingbangda Trading Co.,Ltd.

Address before: 100195 Beijing Haidian Xingshikou Road 65 West Cedar Creative Garden 4 District 11 Building East 1-4 Floor West 1-4 Floor

Applicant before: BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: BEIJING JINGDONG CENTURY TRADING Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant