CN116414134A - 路径规划方法、装置、电子设备及计算机可读存储介质 - Google Patents
路径规划方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116414134A CN116414134A CN202310362901.4A CN202310362901A CN116414134A CN 116414134 A CN116414134 A CN 116414134A CN 202310362901 A CN202310362901 A CN 202310362901A CN 116414134 A CN116414134 A CN 116414134A
- Authority
- CN
- China
- Prior art keywords
- point
- map
- transfer
- path
- cost
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012546 transfer Methods 0.000 claims abstract description 530
- 230000003068 static effect Effects 0.000 claims abstract description 52
- 230000007704 transition Effects 0.000 claims description 150
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 241001417527 Pempheridae Species 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000003993 interaction Effects 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
- 239000007787 solid Substances 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Navigation (AREA)
Abstract
本申请属于自移动设备技术领域,尤其涉及一种路径规划方法、装置、电子设备及计算机可读存储介质;该方法包括:通过获取作业路经的起点和终点;分别计算起点和终点到相应作业地图上的转移点的距离;基于该距离,更新转移点的静态网络转移代价图,得到基于起点和终点的实时网络转移代价图;基于实时网络转移代价图,确定起点与终点之间的最小代价路径,并将最小代价路径确定为作业路径;对转移代价的估计,即考虑了地图间的转移代价,又考虑了地图内的转移代价,对作业路径的转移代价的估计较为全面,从而使得转移代价的估计较为准确,可以保证规划出的路径为代价最小的路径。
Description
技术领域
本申请属于自移动设备技术领域,尤其涉及一种路径规划方法、装置、电子设备及计算机可读存储介质。
背景技术
路径规划是指在作业环境中,在起始点和目标点之间自动规划出一条代价最小的路径。自移动设备(例如除草机)在多个作业区域(例如多个草坪)运行时,需要估计在不同的作业区域之间运行的转移代价。
然而,相关技术中对转移代价的估计,仅考虑了地图间的转移代价,对作业路径的转移代价的估计较为片面,导致转移代价估计不准确,无法保证规划出的路径为代价最小的路径。
发明内容
本申请提供了一种路径规划方法、装置、电子设备及计算机可读存储介质,可以解决现有技术中转移代价估计不准确,无法保证规划出的路径为代价最小的路径的问题。
第一方面,本申请实施例提供了一种路径规划方法,该方法包括:
获取作业路径的起点和终点,所述起点位于第一地图,所述终点位于第二地图;
计算所述起点到所述第一地图上的转移点的第一距离,以及所述终点到所述第二地图上的转移点的第二距离;
基于所述第一距离和所述第二距离,更新所述转移点对应的静态网络转移代价图,得到包含所述起点和所述终点的实时网络转移代价图;
基于所述实时网络转移代价图,确定所述起点与所述终点之间的最小代价路径,并将所述最小代价路径确定为所述作业路径;
其中,所述转移点为地图间的跨区域路径与地图边缘的交点,所述静态网络转移代价图包括地图内的转移点之间的内部转移代价和地图间的跨区域路径的外部转移代价。
在第一方面的一种可能的实现方式中,在所述获取作业路径的起点和终点之前,所述方法还包括:
获取跨区域路径和每个地图的地图边缘;
计算所述跨区域路径与每个所述地图的所述地图边缘的交点,得到每个所述地图对应的所述转移点。
在第一方面的一种可能的实现方式中,所述获取跨区域路径和每个地图的地图边缘,包括:
获取预设的路径点的标识信息,所述标识信息包括类别标签和排序信息;
根据所述类别标签和所述排序信息,确定所述跨区域路径和所述每个所述地图的所述地图边缘。
在第一方面的一种可能的实现方式中,所述计算所述跨区域路径与每个地图的地图边缘的交点,得到每个所述地图对应的所述转移点,包括:
基于所述跨区域路径上的路径点,确定第一直线;
基于所述地图边缘上的路径点,确定第二直线;
计算所述第一直线和所述第二直线的交点,得到所述转移点。
在第一方面的一种可能的实现方式中,在所述计算所述跨区域路径与每个所述地图的所述地图边缘的交点,得到每个所述地图对应的所述转移点之后,所述方法还包括:
基于每个所述地图边缘上的转移点,确定所述地图内的每两个所述转移点对应的所述内部转移代价;
基于所述跨区域路径与所述地图边缘的交点处的转移点,确定各个所述地图之间每两个所述转移点对应的所述外部转移代价;
基于每个所述地图内的所述转移点之间的内部转移代价和各所述跨区域路径的外部转移代价,生成所述静态网络转移代价图。
在第一方面的一种可能的实现方式中,所述基于所述第一距离和第二距离,更新所述转移点的静态网络转移代价图,包括:
根据所述第一距离计算所述起点与所述第一地图上的转移点的内部转移代价;
根据所述第二距离计算所述终点与所述第二地图上的转移点的内部转移代价;
将所述第一地图上的转移点对应的所述内部转移代价,更新为所述起点与所述第一地图上的转移点的内部转移代价;
将所述第二地图上的转移点对应的所述内部转移代价,更新为所述终点与所述第二地图上的转移点的内部转移代价。
在第一方面的一种可能的实现方式中,所述基于所述实时网络转移代价图,确定所述起点与所述终点之间的最小代价路径,包括:
基于所述实时网络转移代价图,采用单源最短路径算法,确定所述最小代价路径。
第二方面,本申请实施例提供了一种路径规划装置,该装置包括:
获取单元,用于获取作业路经的起点和终点,所述起点位于第一地图,所述终点位于第二地图;
计算单元,用于计算所述起点到所述第一地图上的转移点的第一距离,以及所述终点到所述第二地图上的转移点的第二距离;
更新单元,用于基于所述第一距离和所述第二距离,更新所述转移点对应的静态网络转移代价图,得到包含所述起点和所述终点的实时网络转移代价图;
输出单元,用于基于所述实时网络转移代价图,确定所述起点与所述终点之间的最小代价路径,并将所述最小代价路径确定为所述作业路径;
其中,所述转移点为地图间的跨区域路径与地图边缘的交点,所述静态网络转移代价图包括地图内的转移点之间的内部转移代价和地图间的跨区域路径的外部转移代价。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现第一方面的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见第一方面中的相关描述,此处不再赘述。
本申请实施例与相关技术相比存在的有益效果是:本申请实施例,通过获取作业路径的起点和终点;分别计算起点和终点到相应作业地图上的转移点的距离;基于该距离,更新转移点的静态网络转移代价图,得到基于起点和终点的实时网络转移代价图;基于实时网络转移代价图,确定起点与终点之间的最小代价路径,并将最小代价路径确定为作业路径;对转移代价的估计,即考虑了地图间的转移代价,又考虑了地图内的转移代价,对作业路径的转移代价的估计较为全面,从而使得转移代价的估计较为准确,可以保证规划出的路径为代价最小的路径。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的路径规划方法实现的流程示意图;
图2是本申请实施例提供的得到每个地图对应的转移点的流程示意图;
图3是本申请实施例提供的静态网络转移代价图的示意图;
图4是本申请实施例提供的生成静态网络转移代价图的流程示意图;
图5是本申请实施例提供的内部转移无向图的示意图;
图6是本申请实施例提供的跨区域的宏观无向图的示意图;
图7是本申请实施例提供的位置转移代价图的示意图;
图8是本申请实施例提供的更新静态网络转移代价图的流程示意图;
图9是本申请实施例提供的实时网络转移代价图的示意图;
图10是本申请实施例提供的单源最短路径算法实现的流程示意图;
图11是本申请实施例提供的确定转移点之间的最小代价路径的示意图;
图12是本申请实施例提供的生成静态网络转移代价图的流程示意图;
图13是本申请实施例提供的确定最小代价路径的流程示意图;
图14是本申请实施例提供的路径规划装置的结构示意图;
图15是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在一其他些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外他别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
路径规划是在作业环境中,在起始点和目标点之间自动规划出一条代价最小的路径。自移动设备(例如除草机)在多个作业区域(例如多个草坪)运行时,需要估计在不同的作业区域之间运行的转移代价。
然而,相关技术中对转移代价的估计,仅考虑了地图间的转移代价,对作业路径的转移代价的估计较为片面,导致转移代价估计不准确,无法保证规划出的路径为代价最小的路径。
针对上述缺陷,本申请实施例提供了一种路径规划方法,通过获取作业路经的起点和终点;分别计算起点和终点到相应作业地图上的转移点的距离;基于该距离,更新转移点的静态网络转移代价图,得到基于起点和终点的实时网络转移代价图;基于实时网络转移代价图,确定起点与终点之间的最小代价路径,并将最小代价路径确定为作业路径;对转移代价的估计,即考虑了地图间的转移代价,又考虑了地图内的转移代价,对作业路径的转移代价的估计较为全面,从而使得转移代价的估计较为准确,可以保证规划出的路径为代价最小的路径。
本申请实施例提供的方法可以应用于自移动设备。其中,自移动设备可以是包含自移动辅助功能的设备,也可以是半自移动设备或者完全自主移动设备。自移动设备可以是包含自移动辅助功能的设备。其中,自移动辅助功能可以是车载终端实现,相应的自移动设备可以是具有该车载终端的车辆。自移动设备还可以是半自移动设备或者完全自主移动设备。例如,割草机、扫地机、具有导航功能的机器人等。
在一些实施例中,本申请实施例提供的方法也可以应用于与自移动设备通信的其他电子设备。本申请实施例对此不予限制。
下面通过具体实施例介绍本申请实施例提供的路径规划方法实现的具体过程。
请参见图1,图1是本申请实施例提供的路径规划方法实现的流程示意图。如图1所示,该方法可以包括以下步骤:
S101,获取作业路径的起点和终点。
其中,起点位于第一地图,终点位于第二地图。
在一些实施例中,自移动设备(例如除草机)在多个作业区域(例如多个草坪)运行时,可以在作业环境中进行路径规划,在起始点和目标点之间自动规划出一条代价最小的作业路径,从而提高自移动设备的运行效率,减少自移动设备的能量消耗。自移动设备在进行路径规划时,首先获取作业路径上的位于第一地图的起点和位于第二地图的终点。
示例性的,除草机在规划多个草坪上运行的最小作业路径时,首先获取作业路径上的位于第一个草坪上的起点以及位于第二个草坪上的终点。
S102,计算起点到第一地图上的转移点的第一距离,以及终点到第二地图上的转移点的第二距离。
其中,转移点为地图间的跨区域路径与地图边缘的交点。
在一些实施例中,在获取作业路径的起点和终点之后,分别计算起点到第一地图上的转移点的第一距离,以及终点到第二地图上的转移点的第二距离。自移动设备在地图间运行时沿着跨区域路径运行,跨区域路径与地图边缘会产生交点,该交点即为转移点。
示例性的,除草机在规划多个草坪上运行的最小作业路径时,在获取作业路径上的位于第一个草坪上的起点以及位于第二个草坪上的终点之后,计算起点到第一个草坪上的转移点的第一距离,以及终点到第二个草坪上的转移点的第二距离。
在一些实施例中,当自移动设备存储有各个转移点对应的位置转移代价图时,可以根据第一地图上各个转移点对应的位置转移代价图,确定起点到第一地图上各个转移点的代价,即第一距离。相应的,自移动设备还可以根据第二地图上各个转移点对应的位置转移代价图,确定终点到第二地图上各个转移点的代价,即第二距离。
S103,基于第一距离和第二距离,更新转移点对应的静态网络转移代价图,得到包含起点和终点的实时网络转移代价图。
其中,静态网络转移代价图包括地图内的转移点之间的内部转移代价和地图间的跨区域路径的外部转移代价。
在一些实施例中,在计算起点到第一地图上的转移点的第一距离,以及终点到第二地图上的转移点的第二距离之后,可以基于第一距离和第二距离,对转移点对应的静态网路转移代价图进行更新,得到实时网络转移代价图,实时网络转移代价图中包含作业路径的起点和终点。
静态网络转移代价图包括内部转移代价和外部转移代价,内部转移代价为地图内的转移点之间的转移代价,外部转移代价为地图间的跨区域路径的转移代价。
需要说明的是,自移动设备在多个作业区域运行时,需要估计每个作业区域对应的地图内以及多个作业区域分别对应的地图间的转移代价,每个作业区域对应的地图内的转移代价为内部转移代价,多个作业区域分别对应的地图间的转移代价为外部转移代价。具体的,不同地图之间的外部转移代价也可以理解为不同地图之间的跨区域路径的转移代价。
S104,基于实时网络转移代价图,确定起点与终点之间的最小代价路径,并将最小代价路径确定为作业路径。
在一些实施例中,在基于第一距离和第二距离,更新转移点对应的静态网络转移代价图,得到包含起点和终点的实时网络转移代价图之后,可以在实时网络转移代价图中,确定起点和终点之间的最小代价路径。
在确定最小代价路径之后,可以将最小代价路径作为自移动设备的作业路径,自移动设备在多个地图间运行时,可以沿着最小代价路径运行。
通过本实施例,自移动设备通过获取作业路经的起点和终点;分别计算起点和终点到相应作业地图上的转移点的距离;基于该距离,更新转移点的静态网络转移代价图,得到基于起点和终点的实时网络转移代价图;基于实时网络转移代价图,确定起点与终点之间的最小代价路径,并将最小代价路径确定为作业路径;对转移代价的估计,即考虑了地图间的转移代价,又考虑了地图内的转移代价,对作业路径的转移代价的估计较为全面,从而使得转移代价的估计较为准确,可以保证规划出的路径为代价最小的路径。
在步骤S101之前,本申请实施例提供的路径规划方法还包括以下步骤:
第一步,获取跨区域路径和每个地图的地图边缘。
在一些实施例中,在获取作业路径的起点和终点之前,首先计算每个地图对应的转移点。在计算每个地图对应的转移点时,首先获取跨区域路径和每个地图的地图边缘,然后在后续步骤中根据跨区域路径和每个地图的地图边缘计算每个地图对应的转移点。
第二步,计算跨区域路径与每个地图的地图边缘的交点,得到每个地图对应的转移点。
在一些实施例中,在获取作业路径的起点和终点之前,首先计算每个地图对应的转移点。在计算每个地图对应的转移点时,在获取跨区域路径和每个地图的地图边缘之后,可以计算跨区域路径与每个地图的地图边缘的交点,该交点即为每个地图对应的转移点。
在上述实施例中,获取跨区域路径和每个地图的地图边缘,可以包括以下步骤:
第一步,获取预设的路径点的标识信息。
其中,标识信息包括类别标签和排序信息。
在一些实施例中,跨区域路径和每个地图的地图边缘由多个连续的路径点组成,所以可以根据预设的路径点的标识信息确定跨区域路径和每个地图的地图边缘。在确定跨区域路径和每个地图的地图边缘时,首先获取预设的路径点的标识信息,标识信号包括类别标签和排序信息。
在一些实施例中,类别标签可以为小写英文字母,也可以为大写英文字母,或者其他可以标识路径点的标签,可以根据实际应用场景中的具体情形确定,此处不做限定。不同的类别标签可以用于区分不同的跨区域路径或不同的地图边缘。
示例性的,类别标签为小写英文字母a、b、c…和大写英文字母A、B、C…,可以用a表示第1个地图的路径点,用b表示第2个地图的路径点,用A表示第1条跨区域路径的路径点等等。
排序信息用于指示同一地图边缘或同一跨区域路径中,不同路径点的先后顺序。排序信息可以表现为数字、字符或其他表现形式。例如,排序信息可以为1、2、3,也可以为一、二、三等等。
上述类别标签和上述排序信息的具体表现形式可以根据实际应用场景中的具体情形确定,此处不做限定。
第二步,根据类别标签和排序信息,确定跨区域路径和每个地图的地图边缘。
在一些实施例中,在获取预设的路径点的标识信息之后,可以根据类别标签和排序信息,分别确定跨区域路径和每个地图的地图边缘。
示例性的,假设a表示第1个地图边缘的路径点,A表示第1条跨区域路径的路径点,排序信息用数字的表现形式呈现,当前存在路径点a1、路径点a3、路径点a4、路径点a2、路径点A2、路径点A1、路径点A3、路径点A4、路径点A5。此时,可以根据上述类别标签和排序顺序,确定路径点a1、路径点a3、路径点a4、路径点a2是第1个地图边缘的路径点,且路径点的排序顺序为:路径点a1-路径点a2-路径点a3-路径点a4。以及,可以根据上述类别标签和排序顺序,确定路径点A2、路径点A1、路径点A3、路径点A4、路径点A5是第1条跨区域路径的路径点,且路径点的排序顺序为:路径点A1-路径点A2-路径点A3-路径点A4-路径点A5。
请参见图2,图2是本申请实施例提供的得到每个地图对应的转移点的流程示意图。如图2所示,该方法可以包括以下步骤:
S201,基于跨区域路径上的路径点,确定第一直线。
在一些实施例中,在通过排斥实验和跨立判断确定跨区域路径与每个地图的地图边缘有交点之后,可以计算跨区域路径与每个地图的地图边缘的交点,得到每个地图对应的转移点,交点即为转移点。在计算跨区域路径与每个地图的地图边缘的交点时,可以基于跨区域路径上的路径点确定第一直线。在确定第一直线时,可以根据跨区域路径上的预设数量的路径点进行确定,路径点的预设数量可以实际应用场景中的具体情形确定,此处不做限定。
需要说明的是,排斥实验为:以两条线段作为对角线分别画出一个矩形,判断两个矩形是否相交。如果两个矩形不相交,那么两条线段一定不相交;如果两个矩形相交,那么两条线段不一定相交,如果两条线段相交,则可以产生交点。
相应地,跨立判断为:利用叉积判断两条线段中的一条线段两边的两个点是否位于另一条线段的两边,若两条线段都满足该条件,则可以确定这两条直线相交,两条直线相交可以产生交点。通过排斥实验和跨立判断可以确定跨区域路径与每个地图的地图边缘是否有交点。
示例性的,因为两点可以确定一条直线,所以在确定第一直线时,可以根据两个路径点进行确定。如图3所示,在确定第一直线时,可以根据跨区域路径上的路径点q1和q2进行确定。
S202,基于地图边缘上的路径点,确定第二直线。
在一些实施例中,在计算跨区域路径与每个地图的地图边缘的交点时,可以基于地图边缘上的路径点确定第二直线。在确定第二直线时,可以根据地图边缘上的预设数量的路径点进行确定,路径点的预设数量可以实际应用场景中的具体情形确定,此处不做限定。
示例性的,因为两点可以确定一条直线,所以在确定第二直线时,可以根据两个路径点进行确定。如图3所示,在确定第二直线时,可以根据地图边缘上的路径点p1和p2进行确定。
S203,计算第一直线和第二直线的交点,得到转移点。
在一些实施例中,在计算跨区域路径与每个地图的地图边缘的交点时,在基于跨区域路径上的路径点确定第一直线,基于地图边缘上的路径点确定第二直线之后,可以计算第一直线和第二直线的交点得到每个地图对应的转移点,第一直线和第二直线的交点即为每个地图对应的转移点。
示例性的,如图3所示,第一直线q1q2和第二直线p1p2的交点a即为地图A对应的转移点。
示例性的,在计算第一直线和第二直线的交点时,通过直线公式进行计算。通过跨区域路径上的路径点q1和q2得到公式gx+by=e,通过地图边缘上的路径点p1和p2得到公式cx+dy=f,然后通过联立这两个公式解出交点的坐标(x,y),该交点(x,y)即为转移点a,具体计算公式如下:
其中,g、b、e表示基于路径点q1和q2确定的常系数,c、d、f表示基于路径点p1和p2确定的常系数,x表示交点的横坐标,y表示交点的纵坐标。
请参见图4,图4是本申请实施例提供的生成静态网络转移代价图的流程示意图。如图4所示,该方法可以包括以下步骤:
S401,基于每个地图边缘上的转移点,确定地图内的每两个转移点对应的内部转移代价。
在一些实施例中,在计算跨区域路径与每个地图的地图边缘的交点,得到每个地图对应的转移点之后,可以生成静态网络转移代价图。在生成静态网络转移代价图时,首先可以确定地图内的内部转移代价,在确定内部转移代价时,可以基于每个地图边缘上的转移点,确定地图内的每两个转移点对应的内部转移代价,即地图内的每两个转移点之间的距离大小。
在一些实施例中,可以基于搜索的迪杰斯特拉算法遍历当前地图边缘上的转移点,确定每两个转移点对应的内部转移代价,组成一个具有代价值的内部转移无向图。
示例性的,如图5所示,地图A为具有代价值的内部转移无向图,地图A的地图边缘上有3个转移点a、b、c,转移点a和转移点b之间的距离为S1,转移点a和转移点c之间的距离为S2,转移点b和转移点c之间的距离为S3。基于地图A的地图边缘上的3个转移点a、b、c,可以确定转移点a和转移点b之间的转移代价为S1,转移点a和转移点c之间的转移代价为S2,转移点b和转移点c之间的转移代价为S3。
S402,基于各跨区域路径对应的两个转移点之间的距离,确定各跨区域路径对应的外部转移代价。
在一些实施例中,在生成静态网络转移代价图时,在基于每个地图边缘上的转移点确定地图内的每两个转移点对应的内部转移代价之后,可以确定地图之间的外部转移代价。在确定地图之间的外部转移代价时,可以基于每条跨区域路径对应的两个转移点,计算两个转移点之间的距离,从而确定每条跨区域路径对应的外部转移代价。
在一些实施例中,在确定各个地图之间的每两个转移点对应的外部转移代价时,连接跨区域路径对应的两个转移点,将多个单地图的内部转移无向图连接成一个跨区域的宏观无向图。
示例性的,如图6所示,图6为由内部转移无向图A、B、C连接成的跨区域的宏观无向图。跨区域路径L1与地图A的地图边缘上的交点a处的转移点为a,跨区域路径L2与地图A的地图边缘上的交点b处的转移点为b,跨区域路径L1和跨区域路径L2与地图B的地图边缘上的交点c处的转移点为c。转移点a与转移点c之间的距离为S1,转移点b与转移点c之间的距离为S2,可以基于转移点a、b、c确定地图A和地图C之间的转移点a与转移点c对应的外部转移代价为S1,转移点b与转移点c对应的外部转移代价为S2。
S403,基于每个地图内的转移点之间的内部转移代价和各跨区域路径的外部转移代价,生成静态网络转移代价图。
在一些实施例中,在基于每个地图边缘上的转移点确定地图内的每两个转移点对应的内部转移代价,以及基于跨区域路径与地图边缘的交点处的转移点确定各个地图之间的每两个转移点对应的外部转移代价之后,可以基于每个地图内的转移点之间的内部转移代价和各跨区域路径的外部转移代价,生成静态网络转移代价图。在生成静态网络转移代价图时,将单地图的内部转移无向图和跨区域的宏观无向图组合,生成具有内部转移代价和外部转移代价的静态网络转移代价图。
示例性的,如图3所示,地图A、地图B、地图C以及地图D组成一个静态网络转移代价图,每个地图内的每两个转移点分别连接,可以确定相应的内部转移代价,每条跨区域路径对应的两个转移点相连接,可以确定相应的外部转移代价,从而可以生成具有内部转移代价和外部转移代价的静态网络转移代价图。
在一些实施例中,在基于每个地图内的转移点之间的内部转移代价和各跨区域路径的外部转移代价,生成静态网络转移代价图时,可以获取每个转移点的位置转移代价图。
在获取每个转移点的位置转移代价图时,可以对每个地图上的转移点进行迪杰斯特拉拓展,生成每个转移点对应的位置转移代价图,然后将其保存至每个转移点映射的内存哈希表中,在基于实时网络转移代价图确定起点与终点之间的最小代价路径时可以直接进行调用。
示例性的,其中一个转移点的位置转移代价图如图7所示,被箭头指向的点为源点,即在确定转移代价时的当前转移点,其他黑色的点为从其他位置点转移到源点的过程遇到的障碍物(例如自移动设备在草坪上移动时遇到的石块或树枝等障碍物),每个数字表示其中一个数字所在的位置点直接转移到源点的转移代价。
示例性的,可以根据位置转移代价图确定任意一个位置点转移到源点的转移代价。如图7所示,假设源点o为图5中的点a,虚线圆圈所在的位置点为点b所在的位置点,实线圆圈所在的位置点为点c所在的位置点。在对点a进行迪杰斯特拉拓展后,可以得到点a对应的位置转移代价图。通过该位置代价转移图,可以确定点a到点b的转移代价为5,可以理解为点a到点b需要移动5次,也可以理解为点a到点b的距离为5个单位长度。以及,还可以通过该位置代价转移图确定点a到点c的转移代价为10。
请参见图8,图8是本申请实施例提供的更新转移点的静态网络转移代价图的流程示意图。如图8所示,该方法可以包括以下步骤:
S801,根据第一距离计算起点与第一地图上的转移点的内部转移代价。
在一些实施例中,在基于作业路径的起点到第一地图上的转移点的第一距离,以及终点到第二地图上的转移点的第二距离,更新转移点对应的静态网络转移代价图时,得到包含起点和终点的实时网络转移代价图时,首先根据第一距离计算起点与第一地图上的转移点的内部转移代价,第一距离的大小即为起点与第一地图上的转移点的内部转移代价。
S802,根据第二距离计算终点与第二地图上的转移点的内部转移代价。
在一些实施例中,在基于作业路径的起点到第一地图上的转移点的第一距离,以及终点到第二地图上的转移点的第二距离,更新转移点对应的静态网络转移代价图时,得到包含起点和终点的实时网络转移代价图时,在根据第一距离计算起点与第一地图上的转移点的内部转移代价之后,可以根据第二距离计算终点与第二地图上的转移点的内部转移代价,第二距离的大小即为终点与第二地图上的转移点的内部转移代价。
S803,将第一地图上的转移点对应的内部转移代价,更新为起点与第一地图上的转移点的内部转移代价。
在一些实施例中,在根据第一距离计算起点与第一地图上的转移点的内部转移代价,以及根据第二距离计算终点与第二地图上的转移点的内部转移代价之后,可以将转移点对应的内部转移代价更新为起点或终点与相应地图上的转移点之间的内部转移代价。首先可以将第一地图上的转移点对应的内部转移代价,更新为起点与第一地图上的转移点的内部转移代价。
示例性的,如图3所示,地图A中的点p为起点,点a和点b为转移点。点a与点b之间的距离为S1,所以点a和点b对应的内部转移代价为S1;起点p与点a之间的距离为S2,所以起点p和点a对应的内部转移代价为S2;起点p与点b之间的距离为S3,所以起点p和点b对应的内部转移代价为S3。在更新静态网络转移代价图时,可以将点a和点b对应的内部转移代价S1更新为起点p和点a对应的内部转移代价S2,以及起点p和点b对应的内部转移代价S3。
S804,将第二地图上的转移点对应的内部转移代价,更新为终点与第二地图上的转移点的内部转移代价。
在一些实施例中,在根据第一距离计算起点与第一地图上的转移点的内部转移代价,以及根据第二距离计算终点与第二地图上的转移点的内部转移代价之后,可以将转移点对应的内部转移代价更新为起点或终点与相应地图上的转移点之间的内部转移代价。在将第一地图上的转移点对应的内部转移代价更新为起点与第一地图上的转移点的内部转移代价之后,可以将第二地图上的转移点对应的内部转移代价更新为终点与第二地图上的转移点的内部转移代价。
示例性的,如图3所示,地图B中的点q为终点,点c和点d为转移点。点c与点d之间的距离为S4,所以点c和点d对应的内部转移代价为S4;起点q与点c之间的距离为S5,所以起点q和点c对应的内部转移代价为S5;起点q与点d之间的距离为S6,所以起点q和点d对应的内部转移代价为S6。在更新静态网络转移代价图时,可以将点c和点d对应的内部转移代价S4更新为起点q和点c对应的内部转移代价S5,以及起点q和点d对应的内部转移代价S6。
示例性的,如图9所示,图9为在将地图A上的转移点a和b对应的内部转移代价更新为起点p与转移点a和b的内部转移代价,以及将地图B上的转移点c和d对应的内部转移代价更新为终点q与转移点c和d的内部转移代价之后,得到的包含起点p和终点q的实时网络转移代价图。
在步骤S804中,基于实时网络转移代价图,确定起点与终点之间的最小代价路径,可以包括以下步骤:
在一些实施例中,可以基于实时网络转移代价图,采用单源最短路径算法,确定最小代价路径。
在一些实施例中,在基于作业路径的起点到第一地图上的转移点的第一距离,以及终点到第二地图上的转移点的第二距离,更新转移点对应的静态网络转移代价图,得到包含起点和终点的实时网络转移代价图之后,可以基于实时网络转移代价图,确定起点与终点之间的最小代价路径,并将最小代价路径确定为作业路径。在确定起点与终点之间的最小代价路径时,可以采用单源最短路径算法进行确定。
在一些实施例中,单源最短路径算法又称为迪杰斯特拉拓展算法,该算法以起始点为中心向外层层扩展,直至扩展至终点为止,该算法实现的流程示意图如图10所示,该算法包括以下步骤:
S1001,初始化实时网络转移代价图。
在一些实施例中,在基于实时网络转移代价图,采用单源最短路径算法确定最小代价路径时,首先对实时网络转移代价图进行初始化,即删除上一次在实时网络转移代价图中确定的起点和终点,以及起点和终点在相应地图内与转移点之间的连线。
S1002,将源点v存入集合S。
在一些实施例中,在初始化实时网络转移代价图之后,将源点v存入集合S,即集合S={v}。源点v为起点,距离为0。集合U包含除源点v以外的其他转移点u,即集合U={u}。若源点v与集合U中的其他转移点u有边(即源点v与其他转移点u相邻),则(u,v)为正常权值,即源点v与其他转移点u之间的距离大小;若其他转移点u不是源点v的出边邻接点(即其他转移点u与源点v不相邻),则(u,v)的权值为∞。
S1003,判断所有转移点的最短路径是否均已规划出。
在一些实施例中,在将源点v存入集合S之后,规划每个转移点的最短路径,并判断是否已经规划出所有转移点的最短路径,然后在后续步骤中根据判断结果执行相应的步骤。
S1004,若所有转移点的最短路径均已规划出,则结束;若还有转移点的最短路径未规划出,则选取不在集合S中但与源点v的距离最短的转移点u加入集合S。
在一些实施例中,在判断所有转移点的最短路径是否均已规划出时,如果已规划出所有转移点的最短路径,则结束采用单源最短路径算法确定最小代价路径的操作;如果还有转移点的最短路径未规划出,则继续对未规划出最短路径的转移点进行规划。在对未规划出最短路径的转移点进行规划时,可以通过比较转移点之间的转移代价,找出不在集合S中但与源点v的距离最短的转移点u,然后将其加入集合S中。
S1005,判断是否找到与源点v的距离更短的转移点u。
在一些实施例中,在选取不在集合S中但与源点v的距离最短的转移点u加入集合S时,判断是否找到与源点v的距离更短的转移点u,然后在后续步骤中根据判断结果执行相应的步骤。
S1006,若找到与源点v的距离更短的转移点u,则更新不在集合S中的其他转移点的距离,并将转移点u加入集合S。
在一些实施例中,在判断是否找到与源点v的距离更短的转移点u时,如果找到与源点v的距离更短的转移点u,则表明上一次找到的转移点u与源点v的距离不是最短的,还存在与源点v的距离更短的转移点u。在找到与源点v的距离更短的转移点u时,可以更新不在集合S中的其他转移点的距离,并将转移点u加入集合S。
S1007,若未找到与转移点u的距离更短的转移点,则将转移点u加入集合S。
在一些实施例中,在判断是否找到与源点v的距离更短的转移点u时,如果没有找到与转移点u的距离更短的转移点,则表明上一次找到的转移点u与源点v的距离是最短的。这时,可以将找到的与源点v的距离最短的转移点u加入集合S。在将转移点u加入集合S之后,返回执行判断所有转移点的最短路径是否均已求出的步骤及后续步骤。
在一些实施例中,在将转移点u加入集合S之后,返回执行判断所有转移点的最短路径是否均已求出的步骤及后续步骤,直至找出与源点v的距离最短的转移点u,即规划出源点v的最小代价路径。
在一些实施例中,在采用单源最短路径算法确定最小代价路径时,从起点开始,每一个转移点都将与当前转移点转移代价最小的下一个转移点作为局部最优点,即下一个规划点,直至终点。示例性的,如图11所示,图11中有8个转移点,可以采用单源最短路径算法确定0号转移点到8号转移点的最小代价路径。
示例性的,如图11所示,从0号转移点开始规划,0号转移点到1号转移点的转移代价为1,0号转移点到2号转移点的转移代价为5,0号转移点到1号转移点的转移代价最小,所以将1号转移点作为0号转移点的局部最优点,即下一个规划点。
示例性的,如图11所示,从1号转移点开始规划,1号转移点到2号转移点的转移代价为3,1号转移点到3号转移点的转移代价为7,1号转移点到4号转移点的转移代价为5,1号转移点到2号转移点的转移代价最小,所以将2号转移点作为1号转移点的局部最优点,即下一个规划点。
示例性的,如图11所示,按照上述方法依次类推,可以确定2号转移点的局部最优点是4号转移点,4号转移点的局部最优点是3号转移点,3号转移点的局部最优点是6号转移点,6号转移点的局部最优点是7号转移点,7号转移点的局部最优点是8号转移点。最终可以确定0号转移点到8号转移点的最小代价路径为0号转移点~1号转移点~2号转移点~4号转移点~3号转移点~6号转移点~7号转移点~8号转移点(即图11中加粗显示的路径)。
在另一些实施例中,在获取到实时网络转移代价图,也可以通过其他路径寻优算法,确定最小代价路径。例如,可以采用贪婪算法、蚁群算法或其他类型的路径寻优算法,确定最小代价路径。本申请实施例对上述路径寻优算法的具体类型不予限制。
请参见图12,图12是本申请实施例提供的生成转移点对应的静态网络转移代价图的流程示意图。如图12所示,该方法可以包括以下步骤:
S1201,遍历获取当前地图的跨区域路径与地图边缘的交点为转移点。
在本申请实施例中,不同的地图可以对应不同的作业区域,不同的作业区域不存在连通域。
当自移动设备需要在不同的作业区域之间移动时,需要沿对应的跨区域路径移动。不同的作业区域之间可能存在一条或多条跨区域路径,也可能不存在跨区域路径。
在一些实施例中,在生成转移点对应的静态网络转移代价图时,首先遍历获取当前地图的跨区域路径与地图边缘的交点作为转移点。在获取转移点时,可以获取跨区域路径和每个地图的地图边缘,然后通过计算跨区域路径与每个地图的地图边缘的交点,得到每个地图对应的转移点。
S1202,对每个转移点进行迪杰斯特拉拓展,获取该转移点到其他转移点的转移代价,以及该转移点的位置转移代价图。
在一些实施例中,在遍历获取当前地图的跨区域路径与地图边缘的交点为转移点之后,对每个转移点进行迪杰斯特拉拓展,获取该转移点到其他位置点的转移代价,以及该转移点的位置转移代价图。当前转移点到其他位置点的转移代价即为当前转移点到其他位置点的距离,可以通过获取当前转移点到其他位置点的转移代价生成当前转移点的位置转移代价图。
其中,上述其他位置点还包括与上述转移点处于同一地图中的其他转移点,所以,在生成该转移点的位置转移代价图的过程中,还可以获取到该转移点到地图上的其他转移点的转移代价。
S1203,生成单地图的内部转移无向图,并将转移点的位置转移代价图存入哈希表中。
在一些实施例中,在对每个转移点进行迪杰斯特拉拓展,获取该转移点到其他转移点的转移代价,以及该转移点的位置转移代价图之后,可以生成单地图的内部转移无向图,并将转移点的位置转移代价图存入指定的存储位置,例如,可以存入哈希表中,以便确定最小代价路径时直接进行调用。
其中,单地图的内部转移无向图即具有内部转移代价的单个地图,内部转移代价为单个地图的地图边缘上的每两个转移点之间的转移代价。
S1204,判断是否还有未处理的地图。
在一些实施例中,在生成单地图的内部转移无向图,并将转移点的位置转移代价图存入哈希表中之后,判断是否还有未按照上述步骤处理的地图,然后在后续步骤中根据判断结果执行相应的操作。
S1205,若还有未处理的地图,则获取下一个地图为当前地图。
在一些实施例中,在判断是否还有未处理的地图时,如果还有未处理的地图,则获取下一个地图为当前地图,继续执行遍历获取当前地图的跨区域路径与地图边缘的交点为转移点的步骤及后续步骤。
S1206,若没有未处理的地图,则遍历每一条跨区域路径,获取每条跨区域路径上的两个转移点。
在一些实施例中,在判断是否还有未处理的地图时,如果所有地图都已按照上述步骤进行处理,则遍历每两个地图之间的每一条跨区域路径,获取每条跨区域路径上的两个转移点。
S1207,获取每条跨区域路径上的两个转移点之间的转移代价。
在一些实施例中,在遍历每一条跨区域路径,获取每条跨区域路径上的两个转移点之后,获取每条跨区域路径上的两个转移点之间的转移代价,即每两个转移点之间的距离。
S1208,判断是否还有未处理的跨区域路径。
在一些实施例中,在获取了当前的跨区域路径上的两个转移点之间的转移代价之后,判断是否还有未按照上述步骤进行处理的跨区域路径,然后在后续步骤中根据判断结果执行相应的操作。
S1209,若还有未处理的跨区域路径,则获取下一条跨区域路径为当前路径,继续执行遍历每一条跨区域路径,获取每条跨区域路径上的两个转移点之间的转移代价的步骤及后续步骤。
在一些实施例中,在判断是否还有未处理的跨区域路径时,如果还有未按照上述步骤处理的跨区域路径,则将下一条跨区域路径作为当前处理的跨区域路径,继续执行遍历每条跨区域路径获取每条跨区域路径上的两个转移点之间的转移代价的步骤及后续步骤,直至所有跨区域路径上的转移点都已进行连接。
S1210,若没有未处理的路径,则结束生成静态网络转移代价图的操作。
在一些实施例中,在判断是否还有未处理的跨区域路径时,如果所有跨区域路径都已按照上述步骤进行处理,则结束生成静态网络转移代价图的操作。
请参见图13,图13是本申请实施例提供的基于实时网络转移代价图确定最小代价路径的流程示意图。如图13所示,该方法可以包括以下步骤:
S1301,获取作业路径的起点和终点。
在一些实施例中,在基于实时网络转移代价图确定最小代价路径时,自移动设备首先获取作业路径上的位于第一地图的起点和位于第二地图的终点。
S1302,删除静态网络转移代价图中起点和终点所在地图的转移边,得到包含起点和终点的实时网络转移代价图。
在一些实施例中,在获取作业路径的起点和终点之后,计算起点到第一地图上的转移点的第一距离,以及终点到第二地图上的转移点的第二距离。
在基于第一距离和第二距离更新转移点对应的静态网络转移代价图时,删除静态网络转移代价图中起点和终点所在地图的转移边,将第一地图上的转移点对应的内部转移代价更新为起点与第一地图上的转移点的内部转移代价,将第二地图上的转移点对应的内部转移代价更新为终点与第二地图上的转移点的内部转移代价,从而得到包含起点和终点的实时网络转移代价图。
其中,自移动设备可以存储各个转移点对应的位置转移代价图。因此,在确定了起点和终端之后,可以根据第一地图上各个转移点对应的位置转移代价图,确定起点到第一地图上各个转移点的内部转移代价,根据第二地图上各个转移点对应的位置转移代价图,确定终点到第二地图上各个转移点的内部转移代价。
S1303,基于实时网络转移代价图,采用单源最短路径算法,确定最小代价路径。
在一些实施例中,在确定了实时网络转移代价图之后,可以基于实时网络转移代价图,采用单源最短路径算法,确定最小代价路径。
在采用单源最短路径算法确定最小代价路径时,从起点开始,每一个规划点都将与当前规划点转移代价最小的下一个转移点作为局部最优点,即下一个规划点,直至终点,从而可以规划出从起点到终点的最小代价路径。在规划出从起点到终点的最小代价路径之后,可以将最小代价路径作为自移动设备的作业路径。
通过本申请实施例提供的路径规划方法,自移动设备通过获取作业地图上的作业路经的起点和终点;分别计算起点和终点到相应作业地图上的转移点的距离;基于该距离,更新转移点的静态网络转移代价图,得到基于起点和终点的实时网络转移代价图;基于实时网络转移代价图,确定起点与终点之间的最小代价路径,并将最小代价路径确定为作业路径;对转移代价的估计,即考虑了地图间的转移代价,又考虑了地图内的转移代价,对作业路径的转移代价的估计较为全面,从而使得转移代价的估计较为准确,可以保证规划出的路径为代价最小的路径。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的方法,图14示出了本申请实施例提供的路径规划装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图14,该装置包括:
获取单元141,用于获取作业路经的起点和终点,起点位于第一地图,终点位于第二地图。计算单元142,用于计算起点到第一地图上的转移点的第一距离,以及终点到第二地图上的转移点的第二距离。更新单元143,用于基于第一距离和第二距离,更新转移点对应的静态网络转移代价图,得到包含起点和终点的实时网络转移代价图。输出单元144,用于基于实时网络转移代价图,确定起点与终点之间的最小代价路径,并将最小代价路径确定为作业路径。
其中,转移点为地图间的跨区域路径与地图边缘的交点,静态网络转移代价图包括地图内的转移点之间的内部转移代价和地图间的跨区域路径的外部转移代价。
在一种可能得实现方式中,更新单元143包括第一计算模块,用于根据第一距离计算起点与第一地图上的转移点的内部转移代价。第二计算模块,用于根据第二距离计算终点与第二地图上的转移点的内部转移代价。第一子更新模块,用于将第一地图上的转移点对应的内部转移代价,更新为起点与第一地图上的转移点的内部转移代价。第二子更新模块,用于将第二地图上的转移点对应的内部转移代价,更新为终点与第二地图上的转移点的内部转移代价。
在一种可能得实现方式中,输出单元144包括确定模块,用于基于实时网络转移代价图,采用单源最短路径算法,确定最小代价路径。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图15为本申请一实施例提供的电子设备15的结构示意图。如图15所示,该实施例的电子设备15包括:至少一个处理器151(图15中仅示出一个)、存储器153以及存储在所述存储器153中并可在所述至少一个处理器151上运行的计算机程序152,所述处理器151执行所述计算机程序152时实现上述方法实施例中的步骤。
所述电子设备15可以是割草机、扫地机以及具有导航功能的机器人等自移动设备。该电子设备15可包括,但不仅限于,处理器151、存储器153。本领域技术人员可以理解,图15仅仅是电子设备15的举例,并不构成对电子设备15的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器151可以是中央处理单元(Central Processing Unit,CPU),该处理器151还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器153在一些实施例中可以是所述电子设备15的内部存储单元,例如电子设备15的硬盘或内存。所述存储器153在另一些实施例中也可以是所述电子设备15的外部存储设备,例如所述电子设备15上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC)、安全数字卡(Secure Digital,SD)、闪存卡(Flash Card)等。进一步地,所述存储器153还可以既包括所述电子设备15的内部存储单元,又包括外部存储设备。所述存储器153用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器153还可以用于暂时地存储已经输出或者将要输出的数据。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程时,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述应用于方法实施例中的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质至少可以包括:能够将计算机程序代码携带到运算装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质,例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不可以是电载波信号和电信信号。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。以上所描述的装置/电子设备实施例仅仅是示意性的,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、组件可以结合或者可以集成到另一个系统中,一些特征可以忽略不执行。另一点,所显示或讨论的相互之间的间接耦合、直接耦合或通讯连接可以是通过一些接口、装置或单元的间接耦合、直接耦合或通讯连接,可以是电性、机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种路径规划方法,其特征在于,所述方法包括:
获取作业路径的起点和终点,所述起点位于第一地图,所述终点位于第二地图;
计算所述起点到所述第一地图上的转移点的第一距离,以及所述终点到所述第二地图上的转移点的第二距离;
基于所述第一距离和所述第二距离,更新所述转移点对应的静态网络转移代价图,得到包含所述起点和所述终点的实时网络转移代价图;
基于所述实时网络转移代价图,确定所述起点与所述终点之间的最小代价路径,并将所述最小代价路径确定为所述作业路径;
其中,所述转移点为地图间的跨区域路径与地图边缘的交点,所述静态网络转移代价图包括地图内的转移点之间的内部转移代价和地图间的跨区域路径的外部转移代价。
2.如权利要求1所述的方法,其特征在于,在所述获取作业路径的起点和终点之前,所述方法还包括:
获取跨区域路径和每个地图的地图边缘;
计算所述跨区域路径与每个所述地图的所述地图边缘的交点,得到每个所述地图对应的所述转移点。
3.如权利要求2所述的方法,其特征在于,所述获取跨区域路径和每个地图的地图边缘,包括:
获取预设的路径点的标识信息,所述标识信息包括类别标签和排序信息;
根据所述类别标签和所述排序信息,确定所述跨区域路径和所述每个所述地图的所述地图边缘。
4.如权利要求3所述的方法,其特征在于,所述计算所述跨区域路径与每个所述地图的所述地图边缘的交点,得到每个所述地图对应的所述转移点,包括:
基于所述跨区域路径上的路径点,确定第一直线;
基于所述地图边缘上的路径点,确定第二直线;
计算所述第一直线和所述第二直线的交点,得到所述转移点。
5.如权利要求2所述的方法,其特征在于,在所述计算所述跨区域路径与每个所述地图的所述地图边缘的交点,得到每个所述地图对应的所述转移点之后,所述方法还包括:
基于每个所述地图边缘上的转移点,确定所述地图内的每两个所述转移点对应的所述内部转移代价;
基于各所述跨区域路径对应的两个转移点之间的距离,确定各所述跨区域路径对应的所述外部转移代价;
基于每个所述地图内的所述转移点之间的内部转移代价和各所述跨区域路径的外部转移代价,生成所述静态网络转移代价图。
6.如权利要求1所述的方法,其特征在于,所述基于所述第一距离和所述第二距离,更新所述转移点对应的静态网络转移代价图,包括:
根据所述第一距离计算所述起点与所述第一地图上的转移点的内部转移代价;
根据所述第二距离计算所述终点与所述第二地图上的转移点的内部转移代价;
将所述第一地图上的转移点对应的所述内部转移代价,更新为所述起点与所述第一地图上的转移点的内部转移代价;
将所述第二地图上的转移点对应的所述内部转移代价,更新为所述终点与所述第二地图上的转移点的内部转移代价。
7.如权利要求1至6任一项所述的方法,其特征在于,所述基于所述实时网络转移代价图,确定所述起点与所述终点之间的最小代价路径,包括:
基于所述实时网络转移代价图,采用单源最短路径算法,确定所述最小代价路径。
8.一种路径规划装置,其特征在于,所述装置包括:
获取单元,用于获取作业路径的起点和终点,所述起点位于第一地图,所述终点位于第二地图;
计算单元,用于计算所述起点到所述第一地图上的转移点的第一距离,以及所述终点到所述第二地图上的转移点的第二距离;
更新单元,用于基于所述第一距离和所述第二距离,更新所述转移点对应的静态网络转移代价图,得到包含所述起点和所述终点的实时网络转移代价图;
输出单元,用于基于所述实时网络转移代价图,确定所述起点与所述终点之间的最小代价路径,并将所述最小代价路径确定为所述作业路径;
其中,所述转移点为地图间的跨区域路径与地图边缘的交点,所述静态网络转移代价图包括地图内的转移点之间的内部转移代价和地图间的跨区域路径的外部转移代价。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310362901.4A CN116414134A (zh) | 2023-03-31 | 2023-03-31 | 路径规划方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310362901.4A CN116414134A (zh) | 2023-03-31 | 2023-03-31 | 路径规划方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116414134A true CN116414134A (zh) | 2023-07-11 |
Family
ID=87055955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310362901.4A Pending CN116414134A (zh) | 2023-03-31 | 2023-03-31 | 路径规划方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116414134A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435850A (zh) * | 2023-12-20 | 2024-01-23 | 中交通力建设股份有限公司 | 基于改进贪婪算法的道路巡检方法、系统、设备和介质 |
-
2023
- 2023-03-31 CN CN202310362901.4A patent/CN116414134A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435850A (zh) * | 2023-12-20 | 2024-01-23 | 中交通力建设股份有限公司 | 基于改进贪婪算法的道路巡检方法、系统、设备和介质 |
CN117435850B (zh) * | 2023-12-20 | 2024-03-19 | 中交通力建设股份有限公司 | 基于改进贪婪算法的道路巡检方法、系统、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111158365B (zh) | 一种路径规划方法、装置、机器人及存储介质 | |
CN111813101B (zh) | 机器人路径规划方法、装置、终端设备及存储介质 | |
US10288437B2 (en) | Routing with data version stitching | |
CN110608746B (zh) | 用于确定机动车的位置的方法和装置 | |
CN111380532B (zh) | 路径规划方法、装置、终端及计算机存储介质 | |
CN109696909B (zh) | 足式机器人路径规划方法及装置 | |
CN116414134A (zh) | 路径规划方法、装置、电子设备及计算机可读存储介质 | |
CN111433780A (zh) | 车道线检测方法、设备、计算机可读存储介质 | |
CN115585816B (zh) | 车道级地图匹配方法和装置 | |
CN113495940A (zh) | 道路区域校正装置、道路区域校正方法以及计算机程序 | |
CN116080687A (zh) | 一种预测轨迹后处理方法、系统、设备和介质 | |
CN113295160A (zh) | 基于视觉导航的地图加载方法、装置、设备及存储介质 | |
CN112150538A (zh) | 一种在三维地图构建过程中车辆位姿的确定方法和装置 | |
CN115779424B (zh) | 一种导航网格寻路方法、装置、设备及介质 | |
CN116862091A (zh) | 烟草行业配送线路优化方法、系统、设备及介质 | |
CN116295478A (zh) | 车辆的导航方法及装置 | |
CN115406452A (zh) | 一种实时定位及建图方法、装置及终端设备 | |
CN114705180A (zh) | 高精地图的数据修正方法、装置、设备及存储介质 | |
CN114036247A (zh) | 高精地图数据关联方法、装置、电子设备及存储介质 | |
CN116753976B (zh) | 一种步行导航方法和装置 | |
CN115164914B (zh) | 一种单兵作战用导航方法、系统、电子设备及介质 | |
CN115845381B (zh) | 一种基于包围盒的快速寻路方法、装置、设备及介质 | |
CN117664128A (zh) | 调度路径的生成方法、生成装置、机器人以及存储介质 | |
CN117168477A (zh) | 一种电子地图的加载方法、装置及终端设备 | |
CN116736851A (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 |