CN110926491B - 一种用于最短路径的规划方法和系统 - Google Patents
一种用于最短路径的规划方法和系统 Download PDFInfo
- Publication number
- CN110926491B CN110926491B CN201911206405.XA CN201911206405A CN110926491B CN 110926491 B CN110926491 B CN 110926491B CN 201911206405 A CN201911206405 A CN 201911206405A CN 110926491 B CN110926491 B CN 110926491B
- Authority
- CN
- China
- Prior art keywords
- points
- point
- minimum step
- starting point
- step size
- 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
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请公开了一种用于最短路径的规划方法和系统。其中,根据环境信息建立初始栅格地图,并分别将栅格地图的栅格点标记为起点、候选点和障碍点;遍历候选点以计算候选点到起点的最小步长,从而形成最小步长矩阵图;以及选定候选点之一作为终点,通过反向深度优先算法进行递归遍历,以获得终点到起点的最短路径规划。该方案基于栅格地图全局扩算算法,不仅解决了最终路径为最短距离路径,而且大幅度降低了运算的时间复杂度和空间复杂度。
Description
技术领域
本申请涉及一种路径规划技术,具体涉及一种用于最短路径的规划方法和系统。
背景技术
全局路径规划的主要作用是在已知的静态地图上,找到一条从起点到终点的最优或近似最优路径,该路径一般为连续,平滑,无障碍物,且适合直接执行的全局路径。路径规划算法是整个导航系统中的基础,它的结果为后续的局部轨迹规划提供了路径信息。
路径规划技术是目前诸多领域研究的热点,具有广阔的应用前景和科研价值。在机器人寻路、交通路线导航、人工智能、游戏设计等领域都有着重要的应用。其中,在基于栅格地图的路径规划场景中,应用最为广泛的是A*以及A*的优化算法。该类算法的本质是将广度优先搜索算法和贪心算法结合,选择一条局部的最短路径。通过诱导函数的设计在遍历所有可能路径的过程中优先选择一条路径,并在遍历过程中不断的纠正选择,直到获得第一条可行路径,即为算法最终规划的路径。
因此,该类算法存在两方面的不足,一方面,由于在广度优先搜索的基础上加入了启发性搜索,导致最终选择的可行路径不一定是最短路径,且可行路径的选择在很大程度上受诱导函数的影响,无法保证算法的效果。另一方面,虽然相较于广度优先搜索算法,该类算法的运算量有所减轻,但是该类算法的计算量随着地图的复杂程度是呈指数级别增长,对于复杂的大型地图,依旧会造成维度灾难。
发明内容
本申请的目的在于提出了一种用于最短路径的规划方法和系统,有效地解决上述两方面的问题,确保选择最短路径的同时大幅度降低计算的时间复杂度和空间复杂度。
第一方面,本申请实施例提供了一种用于最短路径的规划方法,该方法包括:
S1:根据环境信息建立初始栅格地图,并分别将栅格地图的栅格点标记为起点、候选点和障碍点;
S2:遍历候选点以计算候选点到起点的最小步长,从而形成最小步长矩阵图;以及
S3:选定候选点之一作为终点,通过反向深度优先算法进行递归遍历,以获得终点到起点的最短路径规划。
在该方法中,通过环境信息建立初始栅格地图,并基于栅格地图的全局扩散算法(Global Spread Algorithm based on Grid Map,GSGM),计算起点到候选点的最小步长,从而获得最小步长矩阵图,最后通过反向深度优先算法获得最短路径规划。
在一些具体的实施例中,在S2步骤中的最小步长矩阵图的具体形成步骤包括:
S21:获得起点到起点的相邻点的最小步长;
S22:分别将起点的相邻点作为当前点,通过计算起点到当前点的最小步长和当前点到当前点的相邻点的最小步长之和,来获得起点到当前点的相邻点的最小步长;
S23:依次将相邻点的进一步相邻点作为当前点,执行S22步骤,以遍历全部候选点,获得记录有起点到候选点的最小步长的最小步长矩阵图。
在该方法中,先计算起点到相邻点的最小步长,将起点的相邻点作为当前点,计算起点到当前点的相邻点的最小步长,利用全局扩散算法,遍历全部候选点,从而获得起点到候选点的最小步长的最小步长矩阵图。
在一些具体的实施例中,在S23步骤中,当候选点存在多个步长数值时,选择数值最小的步长数值,并更新候选点的对应的矩阵数值。选择数值最小的步长数值,以此来保证获得的最小步长矩阵图上的步长数值是起点到当前点的相邻点的最小步长数值。
在一些具体的实施例中,相邻点被设置为四邻域相邻点或者八邻域相邻点。四邻域相邻点或者八邻域相邻点的设置便于适用不同复杂程度的地图搜素,增加实用性。
在进一步优选的实施例中,四邻域相邻点为在当前点相邻且共边处于“十”字线上的四个邻域栅格点,八邻域相邻点为在四邻域相邻点的基础上加上在当前点相邻且共角处于“X”字线上的四个对角线的邻域栅格点。相邻点可以为当前点水平和竖直方向四个方位上相邻的栅格点为相邻点,八邻域相邻点为在四邻域相邻点的基础上增加以当前点的四个对角线方位上的相邻的栅格点为相邻点。
在一些具体的实施例中,在S22步骤中的最小步长的计算公式如下:
dist(v)=dist(u)+dist(u,v)
其中,u表示为当前点,v表示为u的所有相邻点v,dist(v)表示为起点到相邻点v的步长,dist(u)表示为起点到当前点u的最小步长,dist(u,v)为当前点u到相邻点v的步长数值。
在一些具体的实施例中,在S3步骤中的反向深度优先算法为计算反向移动距离的绝对距离差,绝对距离差表示为终点到当前点的最小步长和终点到当前点的相邻点的最小步长之差的绝对值。通过反向深度优先算法一方面可以验证步骤S22中最小步长的计算公式,另一方面可以获得终点到起点的最短路径规划。
在进一步优选的实施例中,在S3步骤后还包括将终点到起点的最短路径进行反转,获得起点到终点的最短距离路径和最短距离路径的步长长度。通过此步骤最终获得起点到终点的最短距离路径,同时也获得最短距离路径的最小步长长度。
另一方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述实施例的方法。
第三方面,本申请实施例提供了一种用于最短路径的规划方法的系统,该系统包括:
创建栅格单元:配置用于根据环境信息建立初始栅格地图,并分别将栅格地图的栅格点标记为起点、候选点和障碍点;
最小步长单元:配置用于遍历候选点以计算候选点到起点的最小步长,从而形成最小步长矩阵图;
最短路径单元:配置用于选定候选点之一作为终点,通过反向深度优先算法进行递归遍历,以获得终点到起点的最短路径规划。
本申请提供的一种用于最短路径的规划方法和系统。其中,利用创建的栅格地图,计算候选点到起点的最小步长,获得最小步长矩阵图,并通过反向深度优先算法进行遍历后,进行反转获得起点到终点的最短距离的路径和最短路径的步长长度,该方案不仅可以保证运算出来规划路径为最短距离路径,同时,当面对复杂的大型地图,有可以避免维度灾难,大幅度降低运算的时间复杂度和空间复杂度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请实施例中的一种用于最短路径的规划方法的流程图;
图2是根据本申请的一个具体实施例的用于计算候选点到起点最小步长的步骤流程图;
图3是根据本申请的一个具体实施例的栅格地图的示意图;
图4是根据本申请的一个具体实施例的四邻域相邻点搜索示意图;
图5是根据本申请的一个具体实施例的八邻域相邻点搜索示意图;
图6是根据本申请的一个具体实施例的四邻域的最小步长矩阵图;
图7是根据本申请的一个具体实施例的八邻域的最小步长矩阵图;
图8是根据本申请一个具体实施例的100*100的低复杂地图示意图;
图9是根据本申请一个具体实施例的A*算法路径规划示意图;
图10是根据本申请的一个具体实施例的四邻域路径规划结果示意图;
图11是根据本申请的一个具体实施例的八邻域路径规划结果示意图;
图12是根据本申请的一个具体实施例的复杂场景地图的八邻域路径规划结果示意图;
图13是根据本申请实施例的一种用于最短路径的规划方法系统的示意性结构框图;
图14适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了根据本申请实施例中的一种用于最短路径的规划方法的流程图。如图1所示,该方法包括创建栅格,计算最小步长和获得最短路径的步骤。
在步骤S1中:根据环境信息建立初始栅格地图,并分别将栅格地图的栅格点标记为起点、候选点和障碍点。
在该步骤中,根据实际的工作环境信息,建立栅格地图,并对栅格地图上的栅格点进行起点、候选点和障碍点的标记,便于后续计算机执行运算最小步长算法,以便获得起点到终点的最短距离路径。
在步骤S2中:遍历候选点以计算候选点到起点的最小步长,从而形成最小步长矩阵图。
在该步骤中,候选点作为计算机运行步骤中的当前点,依次计算起点到当前点的最小步长,当遍历所有候选点后,也就获得栅格地图上所有候选点到起点的最小步长,并将该最小步长转化为最小步长的矩阵图。
在步骤S3中:选定候选点之一作为终点,通过反向深度优先算法进行递归遍历,以获得终点到起点的最短路径规划。
在该步骤中,终点为候选点之一,在遍历所有候选点后,也必将获得终点到起点的最小步长,因此可以选定终点,进行方向深度优选算法,获得终点到起点的最短路径规划。
在一些具体的实施例中,在S3步骤中的反向深度优先算法为计算反向移动距离的绝对距离差,绝对距离差为终点到当前点的距离和当前点到当前点的相邻点的距离之差的绝对值。通过反向深度优先算法一方面可以验证最小步长的计算公式,另一方面可以获得终点到起点的最短路径规划。
在一些具体的实施例中,在S3步骤后还包括将终点到起点的最短路径进行反转,获得起点到终点的最短距离路径和最短距离路径的步长长度。此步骤为最终获得起点到终点的最短距离路径,同时也记录有最短距离路径的最小步长长度。
图2其示出了根据本申请的一个具体实施例的用于计算候选点到起点最小步长的步骤流程图。如图2所示,该方法包括以下的步骤。
步骤S21:获得起点到起点的相邻点的最小步长。
在该步骤中,把起点作为第一个执行运算的当前点,,计算起点到起点的相邻点(相当于候选点)的最小步长。
步骤S22:分别将起点的相邻点作为当前点,通过计算起点到当前点的最小步长和当前点到当前点的相邻点的最小步长之和,来获得起点到当前点的相邻点的最小步长。
在该步骤中,计算完起点到起点相邻点的候选点的最小步长后,接着将起点的相邻点作为当前点,当前点的相邻点为接下来计算的候选点,并计算起点到当前点的相邻点的最小步长,通过计算起点到当前点的最小步长加上当前点到当前点的相邻点(相当于候选点)的最小步长,得到起点到当前点的相邻点(相当于候选点)的最小步长。
步骤S23:依次将相邻点的进一步相邻点作为当前点,执行S22步骤,以遍历全部候选点,获得记录有起点到候选点的最小步长的最小步长矩阵。
在该步骤中,依次重复步骤S23,直至遍历所有当前点的相邻点(相当于候选点),并且记录起点到当前点的相邻点(相当于候选点)的最小步长,从而获得起点到全部候选点的最小步长矩阵。
在一些具体的实施例中,当当前点的相邻点(相当于候选点)存在多个步长值时,选择数值最小的步长数值,并更新当前点的相邻点(相当于候选点)的对应的矩阵数值。
在一些具体的实施例中,相邻点可以设置为四邻域相邻点或者八邻域相邻点。根据具体实际情况,如最短路径规划的精准度要求或者地图的复杂程度等情况,选择四邻域相邻点或者八邻域相邻点进行搜索。
在进一步优选的实施例中,四邻域相邻点为在当前点相邻且共边处于“十”字线上的四个邻域栅格点,八邻域相邻点为在四邻域相邻点的基础上加上在当前点相邻且共角处于“X”字线上的四个对角线的邻域栅格点。
在一些具体的实施例中,步骤S22的最小步长的计算公式如下:
dist(v)=dist(u)+dist(u,v)
其中,u表示为当前点,v表示为u的所有相邻点v,dist(v)表示为起点到相邻点v的步长,dist(u)表示为起点到当前点u的最小步长,dist(u,v)为当前点u到相邻点v的步长数值。
继续参考图3,其示出了根据本申请的一个具体实施例的栅格地图示例图。如图所示,根据环境信息建立初始栅格地图,基于栅格地图利用全局扩散算法的基本原理是将整个的场景地图转化为N*M的整数矩阵,并且根据场景中对应的实际情况,将每个栅格点是否能够通行的状态进行标记。具体标记如下:水平向右依次标记为0,1,2,3,4,…N,竖直向下依次标记0,1,2,3,4,…M,其中,白色的方格表示可以通行,灰色的方格表示无法通行,深灰色的栅格点分别代表起点和终点,起点表示为(2,2),终点表示为(3,4)。在起点和终点都已知的情况下,按照一定的搜索规则寻找从起点到终点的最短步长路径。
继续参考图4和图5,其图4和图5分别示出了根据本申请的一个具体实施例的四邻域相邻点和八邻域相邻点搜索示意图。如图所示,在栅格地图中,搜索相邻点的方式有两种,一种是四邻域方向移动(如图4所示),即严格地向当前点的水平和垂直方向扩散,且由起点向四周移动的步长长度为1个单位;另一种是八邻域方向移动(如图5所示),除了水平和垂直方向外,增加了以当前点上的对角线方向对角方向扩散,且由起点向水平和垂直方向移动的步长长度为1个单位,对角线方向移动的步长长度为个单位。根据实际地图的复杂情况,或者精准度的不同要求,可以选择不同的扩散放置,进行最小步长矩阵图的运算。
继续参考图6和图7,其分别示出了根据本申请一个具体实施例的四邻域和八邻域的最小步长矩阵图。如图所示,分别根据图4和图5四邻域相邻点或者八邻域相邻点的搜索移动方向,本申请最小步长的算法可分为四邻域相邻点搜索算法和八邻域相邻点搜索算法。其最短距离路径算法分为两步骤,第一步骤的采用四邻域相邻点搜索算法或者八邻域相邻点搜索算法,生成一张起点到栅格地图上的其他栅格点的四邻域最小步长矩阵图(如图6所示)或者八邻域最小步长矩阵图(如图7所示)。其中,将起点标记为s,不可通过栅格点标记为-3。从图6可知,起点到终点采用四邻域相邻点搜索的最小步长为7个单位,从图7可知,起点到终点采用八邻域相邻点搜索的最小步长为个单位。第二步骤则是根据第一步骤生成的最小步长矩阵图,通过反向查找的方法依次递归找到起点到终点的最短距离路径。如图6所示,利用四邻域相邻点搜索得到的规划最短距离路径为(2,2)→(1,2)→(0,2)→(0,3)→(0,4)→(1,4)→(2,4)→(3,4),且最短距离路径的步长长度为7个单位,如图7所示,利用八邻域相邻点搜索得到的规划最短距离路径为(2,2)→(1,2)→(0,3)→(0,4)→(1,4)→(2,4)→(3,4),且最短距离的步长长度为个单位。
最短路径规划的具体算法步骤如下:
第一步骤:最小步长矩阵图的算法。
1.1、将工作环境信息的栅格地图表示为一个整数矩阵,其中,将“起点”标记为0,“终点”标记为-1,可通过但是还没有处理的点标记为-2,不可通过点标记为-3;
1.2、引入一个集合O,集合O中包含的是所有“等待处理的点”,即候选点;
1.3、初始化集合O,即将起点放入该集合O;
1.4、将集合O中的每个点当作当前点u,获得每个当前点的所有相邻点v的最小步长(即采用四邻域相邻点搜索则有四个相邻点,采用八邻域相邻点搜索则有八个相邻点)。若相邻点为障碍点,则不作处理;若相邻点不为障碍点,则计算起点到当前点的相邻点v的最小步长dist(v),具体计算公式如下:
dist(v)=dist(u)+dist(u,v)
其中,dist(v)为起点到当前点的相邻点v的最小步长,dist(u)为起点到当前点u的最小步长,dist(u,v)为当前点u到当前点的相邻点v的最小步长距离(若采用四邻域相邻点搜索,则dist(u,v)的取值为1个单位,若采用八邻域相邻点搜索则则dist(u,v)的取值为1个单位或者个单位)。如果当前点的相邻点v已经保存了一个步长数值,则判断当前点的相邻点v的步长数值是否小于记录的步长数值,当当前点的相邻点v该步长数值小于记录的步长数值,则更新该当前点的相邻点v的步长数值,记录最小步长数值。如果是未处理点或者是终点则直接将当前步长数值记录保存在对应的矩阵数值中。
1.5、将步骤1.4中所有计算起点到当前点的相邻点v放入集合O中,更新集合O;
1.6、循环执行第1.4和第1.5步骤,直至遍历完矩阵中的所有栅格点,得到起点到其他栅格节点的最小步长矩阵图。
第二步骤:最短距离路径的算法。
2.1、根据第一部分得到的最小步长矩阵图,将终点作为当前点开始进行反向搜索,获得终点到当前点的相邻点(四个相邻点或者是八个相邻点)的步长。
2.3、用深度优先算法进行递归遍历,直到找到起点,将上述获取的点的顺序进行反转,得到起点到终点的最短距离路径。
继续参考图8-12,图8示出了根据本申请一个具体实施例的100*100的低复杂地图示意图,图9示出了根据本申请一个具体实施例的A*算法路径规划示意图,图10和图11分别示出了根据本申请的一个具体实施例的四邻域和八邻域路径规划结果示意图,图12示出了根据本申请的一个具体实施例的复杂场景地图的八邻域路径规划结果示意图。本发明人通过多年的实践经验,获得本申请中的最短距离路径规划方法在实际运行中可以大幅度降低运算的时间复杂度和空间复杂度的实验性能,在此,将本申请中的最短距离路径算法与A*算法进行了以下的实验对比。实验环境为:操作系统为Win10,CPU为Intel(R)Core(TM)i5-9300H 2.4GHz,内存为8GB。选择以下两个地图进行实验,第一个地图如图8所示是大小为100*100的一个低复杂度的地图,其中,起点为(9,6),终点为(15,85)。第二个地图为如图12所示,是4000*4000的一个复杂地图,起点为图中向下的箭头所示,终点为图中的三角所示。
针对图8中的100*100的低复杂地图示意图,分别通过A*算法路径规划(如图9所示)、四邻域路径规划算法(如图10所示)和八邻域路径规划算法(如图11所示)。通过以上三种算法的获得如下运行时间对比表格:
图9的A*算法路径结果在运算了70多秒以后因内存溢出程序自动终止,而采用本申请的八邻域路径规划算法在如图12所示的复杂场景地图的八邻域路径规划结果示意图中,其中,起点为图中向下的箭头所示,终点为图中的三角所示,其中线条为规划的最短距离路径,仅用了4600-4900mm就运算出了最短路径,且并没有因为内存问题,出现程序自动终止的情况。
因此,利用本申请中的四邻域和八邻域路径规划算法与A*以及A*的优化算法相比有如下优势:
1、本申请中算法的时间复杂度为O(n),而A*以及A*的优化算法的时间复杂度均为O(nlogn)。
2、本申请中算法的空间复杂度为O(n),而A*以及A*的优化算法的时间复杂度均为O(n2)。
3、本申请中算法可以确保得到的路径规划一定是最短距离路径,而A*算法只能获得近似最优解,而并非是距离最短的路径规划。
此外,本申请还提出了一种用于最短路径的规划方法的系统。其中如图13所示,包括:创建栅格单元1301、最小步长单元1302和最短路径单元1303。其中,创建栅格单元1301并标记起点、候选点和障碍点,利用最小步长单元1302获得最小步长矩阵图,最后通过最短路径单元1303获得终点到起点的最短路径规划。
创建栅格单元1301:配置用于根据环境信息建立初始栅格地图,并分别将栅格地图的栅格点标记为起点、候选点和障碍点;
最小步长单元1302:配置用于遍历候选点以计算候选点到起点的最小步长,从而形成最小步长矩阵图;
最短路径单元1303:配置用于选定候选点之一作为终点,通过反向深度优先算法进行递归遍历,以获得终点到起点的最短路径规划。
下面参考图14,其示出了适于用来实现本申请实施例的电子设备的计算机系统1400的结构示意图。图14示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图14所示,计算机系统1400包括中央处理单元(CPU)1401,其可以根据存储在只读存储器(ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(RAM)1403中的程序而执行各种适当的动作和处理。在RAM 1403中,还存储有系统1400操作所需的各种程序和数据。CPU 401、ROM 1402以及RAM 1403通过总线1404彼此相连。输入/输出(I/O)接口1405也连接至总线1404。
以下部件连接至I/O接口1405:包括键盘、鼠标等的输入部分1406;包括诸如、液晶显示器(LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也可以根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理单元(CPU)1401执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括创建栅格单元、最小步长单元和最短路径单元。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,创建栅格单元还可以被描述为“配置用于根据环境信息建立初始栅格地图,并分别将栅格地图的栅格点标记为起点、候选点和障碍点”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:创建栅格单元、最小步长单元和最短路径单元。其中,创建栅格单元:配置用于根据环境信息建立初始栅格地图,并分别将栅格地图的栅格点标记为起点、候选点和障碍点;最小步长单元:配置用于遍历候选点以计算候选点到起点的最小步长,从而形成最小步长矩阵图;最短路径单元:配置用于选定候选点之一作为终点,通过反向深度优先算法进行递归遍历,以获得终点到起点的最短路径规划。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种用于最短路径的规划方法,其特征在于,所述方法包括:
S1:根据环境信息建立初始栅格地图,并分别将所述栅格地图的栅格点标记为起点、候选点和障碍点;
S2:遍历所述候选点以计算所述候选点到所述起点的最小步长,从而形成最小步长矩阵图;以及
S3:选定所述候选点之一作为终点,通过反向深度优先算法进行递归遍历,以获得所述终点到所述起点的最短路径规划。
2.根据权利要求1所述的一种用于最短路径的规划方法,其中,在所述S2步骤中的所述最小步长矩阵图的具体形成步骤包括:
S21:获得所述起点到所述起点的相邻点的最小步长;
S22:分别将所述起点的相邻点作为当前点,通过计算所述起点到所述当前点的最小步长和所述当前点到所述当前点的相邻点的最小步长之和,来获得所述起点到当前点的相邻点的最小步长;
S23:依次将所述相邻点的进一步相邻点作为当前点,执行所述S22步骤,以遍历全部候选点,获得记录有所述起点到候选点的最小步长的最小步长矩阵图。
3.根据权利要求2所述的一种用于最短路径的规划方法,其特征在于,在所述S23步骤中,当候选点存在多个步长数值时,选择数值最小的所述步长数值,并更新所述候选点的对应的矩阵数值。
4.根据权利要求2所述的一种用于最短路径的规划方法,其特征在于,所述相邻点被设置为四邻域相邻点或者八邻域相邻点。
5.根据权利要求4所述的一种用于最短路径的规划方法,其特征在于,所述四邻域相邻点为在所述当前点相邻且共边处于“十”字线上的四个邻域栅格点,所述八邻域相邻点为在所述四邻域相邻点的基础上加上在所述当前点相邻且共角处于“X”字线上的四个对角线的所述邻域栅格点。
6.根据权利要求2所述的一种用于最短路径的规划方法,其特征在于,在所述S22步骤中的所述最小步长的计算公式如下:
dist(v)=dist(u)+dist(u,v)
其中,u表示为当前点,v表示为u的所有相邻点v,dist(v)表示为起点到相邻点v的步长,dist(u)表示为起点到当前点u的最小步长,dist(u,v)为当前点u到相邻点v的步长数值。
7.根据权利要求2所述的一种用于最短路径的规划方法,其特征在于,在所述S3步骤中的所述反向深度优先算法为计算反向移动距离的绝对距离差,所述绝对距离差表示为所述终点到所述当前点的最小步长和所述终点到所述当前点的相邻点的最小步长之差的绝对值。
8.根据权利要求1所述的一种用于最短路径的规划方法,其特征在于,在所述S3步骤后还包括将所述终点到所述起点的最短路径进行反转,获得所述起点到所述终点的所述最短距离路径和所述最短距离路径的步长长度。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
10.一种用于最短路径的规划方法的系统,其特征在于,所述系统包括:
创建栅格单元:配置用于根据环境信息建立初始栅格地图,并分别将所述栅格地图的栅格点标记为起点、候选点和障碍点;
最小步长单元:配置用于遍历所述候选点以计算所述候选点到所述起点的最小步长,从而形成最小步长矩阵图;
最短路径单元:配置用于选定所述候选点之一作为终点,通过反向深度优先算法进行递归遍历,以获得所述终点到所述起点的最短路径规划。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911206405.XA CN110926491B (zh) | 2019-11-29 | 2019-11-29 | 一种用于最短路径的规划方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911206405.XA CN110926491B (zh) | 2019-11-29 | 2019-11-29 | 一种用于最短路径的规划方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110926491A CN110926491A (zh) | 2020-03-27 |
CN110926491B true CN110926491B (zh) | 2020-09-01 |
Family
ID=69847987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911206405.XA Active CN110926491B (zh) | 2019-11-29 | 2019-11-29 | 一种用于最短路径的规划方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110926491B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111012251B (zh) * | 2019-12-17 | 2021-09-03 | 哈工大机器人(合肥)国际创新研究院 | 一种清扫机器人的全覆盖路径的规划方法及装置 |
CN112185149B (zh) * | 2020-09-15 | 2022-06-28 | 北京拓明科技有限公司 | 基于城市路网数据的路径规划方法及系统 |
CN112446113A (zh) * | 2020-11-12 | 2021-03-05 | 山东鲁能软件技术有限公司 | 电力系统环网图最优路径自动生成方法及系统 |
CN112697148A (zh) * | 2020-12-07 | 2021-04-23 | 武汉理工大学 | 一种自适应复杂度栅格环境模型构建方法以及路径搜索方法 |
CN112558611B (zh) * | 2020-12-15 | 2022-07-08 | 深圳市云视机器人有限公司 | 一种路径规划方法、装置、计算机设备及存储介质 |
CN114141080A (zh) * | 2021-11-16 | 2022-03-04 | 中广核(深圳)运营技术与辐射监测有限公司 | 消防模拟演练方法及系统 |
CN115014375B (zh) * | 2022-06-06 | 2023-11-03 | 北京京深深向科技有限公司 | 碰撞检测方法、装置及电子设备、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102778229A (zh) * | 2012-05-31 | 2012-11-14 | 重庆邮电大学 | 未知环境下基于改进蚁群算法的移动Agent路径规划方法 |
CN106094834A (zh) * | 2016-07-19 | 2016-11-09 | 芜湖哈特机器人产业技术研究院有限公司 | 基于已知环境下的移动机器人路径规划方法 |
CN106092102A (zh) * | 2016-07-20 | 2016-11-09 | 广州极飞电子科技有限公司 | 一种无人机路径规划方法及装置 |
CN107560631A (zh) * | 2017-08-30 | 2018-01-09 | 山东鲁能智能技术有限公司 | 一种路径规划方法、装置和巡检机器人 |
CN109631907A (zh) * | 2019-01-25 | 2019-04-16 | 河海大学 | 一种餐厅服务机器人的巡回避障路径规划方法 |
CN110207706A (zh) * | 2019-05-30 | 2019-09-06 | 浙江圣奥家具制造有限公司 | 一种基于栅格地图的自动归位椅路径规划算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2910640B1 (fr) * | 2006-12-21 | 2009-03-06 | Thales Sa | Procede d'estimation de distance pour un mobile ayant un profil vertical de trajectoire contraint |
-
2019
- 2019-11-29 CN CN201911206405.XA patent/CN110926491B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102778229A (zh) * | 2012-05-31 | 2012-11-14 | 重庆邮电大学 | 未知环境下基于改进蚁群算法的移动Agent路径规划方法 |
CN106094834A (zh) * | 2016-07-19 | 2016-11-09 | 芜湖哈特机器人产业技术研究院有限公司 | 基于已知环境下的移动机器人路径规划方法 |
CN106092102A (zh) * | 2016-07-20 | 2016-11-09 | 广州极飞电子科技有限公司 | 一种无人机路径规划方法及装置 |
CN107560631A (zh) * | 2017-08-30 | 2018-01-09 | 山东鲁能智能技术有限公司 | 一种路径规划方法、装置和巡检机器人 |
CN109631907A (zh) * | 2019-01-25 | 2019-04-16 | 河海大学 | 一种餐厅服务机器人的巡回避障路径规划方法 |
CN110207706A (zh) * | 2019-05-30 | 2019-09-06 | 浙江圣奥家具制造有限公司 | 一种基于栅格地图的自动归位椅路径规划算法 |
Non-Patent Citations (1)
Title |
---|
结合问题特征利用SE-Tree反向深度求解冲突集的方法;欧阳丹彤等;《电子学报》;20170531;第45卷(第5期);第1175-1181页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110926491A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110926491B (zh) | 一种用于最短路径的规划方法和系统 | |
US10593110B2 (en) | Method and device for computing a path in a game scene | |
US8824337B1 (en) | Alternate directions in hierarchical road networks | |
US10288437B2 (en) | Routing with data version stitching | |
CN112462785A (zh) | 一种移动机器人路径规划方法、装置及存储介质 | |
US20110158232A1 (en) | Computer-implemented systems and methods for planning a route | |
JP4398455B2 (ja) | 経路探索方法、プログラム及びシステム | |
CN109974699B (zh) | 一种机器人及其地图自主探索方法和装置 | |
US20200166355A1 (en) | Generation of route network data for movement | |
CN111678527B (zh) | 路径网络图生成方法及装置、电子设备和存储介质 | |
CN101900565A (zh) | 路径确定方法和装置 | |
CN110567459B (zh) | 一种路径规划方法和装置 | |
US9910878B2 (en) | Methods for processing within-distance queries | |
CN112527943B (zh) | 地图渲染方法、装置、设备和存储介质 | |
CN113205601A (zh) | 漫游路径生成方法、装置、存储介质及电子设备 | |
CN110728359B (zh) | 搜索模型结构的方法、装置、设备和存储介质 | |
US9880004B2 (en) | Geographical constraints-aware map routing | |
CN114116948A (zh) | 地理矢量数据空间缓冲区分析方法、装置、设备及介质 | |
CN113177145A (zh) | 一种流程图排序方法、装置、电子设备及存储介质 | |
CN112686476A (zh) | 一种应用于地图的路径生成方法、系统、设备和存储介质 | |
CN113516710B (zh) | 坐标定位方法、装置、电子设备和计算机可读介质 | |
CN114470776B (zh) | 一种高效分级寻路方法、装置、介质和设备 | |
CN115096313B (zh) | 一种用于区域避障的数据处理方法及装置 | |
US11287274B1 (en) | Systems and methods to improve memory management for route optimization algorithms | |
Chen et al. | B-Spline Fusion Line of Sight Algorithm for UAV Path Planning |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |