CN114485611A - 基于北斗网格码的三维空间最短路径规划方法和装置 - Google Patents
基于北斗网格码的三维空间最短路径规划方法和装置 Download PDFInfo
- Publication number
- CN114485611A CN114485611A CN202111626184.9A CN202111626184A CN114485611A CN 114485611 A CN114485611 A CN 114485611A CN 202111626184 A CN202111626184 A CN 202111626184A CN 114485611 A CN114485611 A CN 114485611A
- Authority
- CN
- China
- Prior art keywords
- grid
- nodes
- node
- target
- grid node
- 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 54
- 238000009499 grossing Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000004888 barrier function Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims description 2
- DMBHHRLKUKUOEG-UHFFFAOYSA-N diphenylamine Chemical compound C=1C=CC=CC=1NC1=CC=CC=C1 DMBHHRLKUKUOEG-UHFFFAOYSA-N 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000010845 search algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种基于北斗网格码的三维空间最短路径规划方法,包括:查找起始网格节点的相邻格节点,确定相邻网格节点与目标网格节点的距离估值,将距离估值最小的相邻网格节点作为目标路径上的网格节点;查找距离估值最小的目标路径上的网格节点的26个相邻的第二网格节点,去除其中确定过距离估值的第二网格节点,确定剩余第二网格节点与目标网格节点的距离估值,将距离估值最小且与目标节点的连线不与障碍物相交的第二网格节点作为目标路径上的网格节点,以此方式确定目标路径上的网格节点;确定其中的拐点并保留;对保留下来的拐点进行平滑处理。本公开的基于北斗网格码的三维空间最短路径规划方法,能够提高导航效率和导航结果准确性。
Description
技术领域
本公开的实施例一般涉及空间路径查询领域,并且更具体地,涉及一种基于北斗网格码的三维空间最短路径规划方法和装置。
背景技术
随着信息技术的快速发展,卫星遥感、卫星导航数据获取成本的降低,地理信息数据呈现***式的增长,而路径规划作为地理信息科学等领域的研究热点,能否从复杂海量的地理信息数据中规划出一条符合一定评判标准的从起始位置到终止位置的最短路径,一直以来是众多行业重点研究的场景之一。
传统常用的最短路径规划方法主要有三种,分别是广度优先搜索算法、Dijksra算法以和最佳优先搜索算法
广度优先搜索算法以广度做为优先级进行搜索,从起点开始,首先遍历起点周围邻近的点,然后再遍历已经遍历过点的邻点,逐步的向外扩散,直到找到终点为止。这种方法就像“洪水”一样向外扩张,遍历过多无意义的点,尤其在地图区域比较大的情况下,效率非常低下,不符合实际应用的效率需求。
Dijkstra算法用来寻找图形中节点之间的最短路径。在Dijkstra算法中,需要计算每一个节点距离起点的总移动代价。同时,还需要维护一个优先队列结构。对于所有待遍历的节点,放入优先队列中会按照代价进行排序。在算法运行的过程中,每次都从优先队列中选出代价最小的作为下一个遍历的节点。直到到达终点为止。Dijkstra算法和广度优先搜索算法类似,会漫无目的的向四周扩散,这样会造成无意义的循环遍历,导致寻路效率低下。
最佳优先搜索算法会预先计算出每个节点到终点的距离,将计算节点按照每个节点到终点的移动代价排序,取移动代价最小的点作为遍历的起始点,该算法虽然能够很快的确定移动的方向,但是遇到无法通过的障碍区域时,往往会造成结果无法满足最短路径的要求。
同时,传统寻路算法经常采用经纬度坐标来表征空间信息。但是,经纬度按照度-分-秒的形式来表示,描述复杂,不利于快速计算;经纬度表征的是一个点,要想表征一个面状空域需要确定该空域的几个角点和空域中心点的经纬度坐标,不仅繁琐复杂而且需要检验计算结果的精确性。
传统的最短路径规划方法,存在着寻路效率低下或者计算结果不准确的技术问题,制约了导航技术的发展,影响了用户体验。
发明内容
根据本公开的实施例,提供了一种效率高,计算结果准确的基于北斗网格码的三维空间最短路径规划方案。
在本公开的第一方面,提供了一种基于北斗网格码的三维空间最短路径规划方法,包括:
获取起始网格节点和目标网格节点,查找所述起始网格节点的26个相邻的第一网格节点,确定所述第一网格节点与所述目标网格节点的距离估值,将距离估值最小的第一网格节点作为目标路径上的网格节点;
查找所述距离估值最小的目标路径上的网格节点的26个相邻的第二网格节点,去除其中确定过距离估值的第二网格节点,确定剩余第二网格节点与所述目标网格节点的距离估值,将距离估值最小且与目标节点的连线不与障碍物相交的第二网格节点作为目标路径上的网格节点,以此方式确定目标路径上的网格节点,直到确定得到的网格节点与所述目标网格节点的距离估值为0;
对于所述目标路径上的网格节点,确定其中的拐点并对确定的拐点进行保留;
对保留下来的拐点进行平滑处理。
在一些实施例中,还包括:
用openlist存放已选取的距离估值最小的网格节点,用closelist存放计算距离估值后未被选取的网格节点,将openlist中的网格节点分别以RB树和hash表的形式存储,将closelist中的网格节点以hash表的形式存储,通过空间换时间的策略查找目标路径上的网格节点。
在一些实施例中,还包括确定目标路径上的网格节点中的拐点的过程,具体包括:
对于所述目标路径上的连续的三个网格节点n、m、k,确定网格节点n与网格节点m的连线与网格节点m与网格节点k的连线的夹角,响应于所述夹角大于预设阈值,将所述网格节点m确定为拐点。
在一些实施例中,所述对于所述目标路径上的网格节点,确定其中的拐点并对确定的拐点进行保留,包括:
保留openlist中存放的拐点,删除openlist中的其他网格节点。
在一些实施例中,所述对保留下来的拐点进行平滑处理,包括:
从拐点的两端进行遍历,各取出头部和尾部的拐点作为数据线的两个端点,判断所述数据线与预先定义的障碍物是否相交;
响应于数据线与预先定义的障碍物相交,将头部的拐点后移一位,尾部的拐点前移一位,继续判断移动后的拐点连接起来的数据线与预先定义的障碍物是否相交;
重复上述过程,直到移动后的拐点连接起来的数据线与预先定义的障碍物不相交。
在一些实施例中,所述网格节点基于关系型数据库,所述方法还包括关系型数据库的搭建过程,具体包括:
获取关系型数据库中的二维坐标信息或三维坐标信息,其中,所述二维坐标信息或三维坐标信息以tb_location表的形式存储在所述关系型数据库中;
根据所述二维坐标信息或三维坐标信息的实际应用场景,确定对应的北斗剖分网格编码的层级,生成对应的层级字段level;
将所述二维坐标信息或三维坐标信息转化为对应层级的北斗剖分网格编码,生成对应的经纬度剖分编码字段code、高程剖分编码字段zcode;
将所述层级字段level、所述经纬度剖分编码字段code和所述高程剖分编码字段zcode封装为同一字段grid,并将字段grid存储在所述关系型数据库中对应二维坐标信息或三维坐标信息的tb_location表中,生成网格单元gridcell。
在一些实施例中,还包括:
将所述关系型数据库中的非点要素与对应的多个网格单元gridcell封装一起,生成包括非点要素与网格单元集合的网格集合。
在本公开的第二方面,提供一种基于北斗网格码的三维空间最短路径规划装置,包括:
查询请求获取模块,用于获取起始网格节点和目标网格节点,查找所述起始网格节点的26个相邻的第一网格节点,确定所述第一网格节点与所述目标网格节点的距离估值,将距离估值最小的第一网格节点作为目标路径上的网格节点;
目标路径确定模块,查找所述距离估值最小的目标路径上的网格节点的26个相邻的第二网格节点,去除其中确定过距离估值的第二网格节点,确定剩余第二网格节点与所述目标网格节点的距离估值,将距离估值最小且与目标节点的连线不与障碍物相交的第二网格节点作为目标路径上的网格节点,以此方式确定目标路径上的网格节点,直到确定得到的网格节点与所述目标网格节点的距离估值为0;
拐点确定模块,用于对于所述目标路径上的网格节点,确定其中的拐点并对确定的拐点进行保留;
平滑处理模块,用于对保留下来的拐点进行平滑处理。
在本公开的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
通过本公开的基于北斗网格码的三维空间最短路径规划方法,能够提高导航效率和导航结果准确性,进而提高了用户体验。
发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开实施例一的基于北斗网格码的三维空间最短路径规划方法的流程图;
图2示出了本公开实施例二的基于北斗网格码的三维空间最短路径规划装置的结构示意图;
图3示出了本公开实施例三的基于北斗网格码的三维空间最短路径规划设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本公开实施例的基于北斗网格码的三维空间最短路径规划方法,可以基于预先构建的关系型数据库。具体地,所述关系型数据库通过以下方式建立:
获取关系型数据库中的二维坐标信息或三维坐标信息,其中,所述二维坐标信息或三维坐标信息以tb_location表的形式存储在所述关系型数据库中;根据所述二维坐标信息或三维坐标信息的实际应用场景,确定对应的北斗剖分网格编码的层级,生成对应的层级字段level;将所述二维坐标信息或三维坐标信息转化为对应层级的北斗剖分网格编码,生成对应的经纬度剖分编码字段code、高程剖分编码字段zcode;将所述层级字段level、所述经纬度剖分编码字段code和所述高程剖分编码字段zcode封装为同一字段grid,并将字段grid存储在所述关系型数据库中对应二维坐标信息或三维坐标信息的tb_location表中,生成网格单元gridcell。其中,在网格单元gridcell中定义类型标志字段dim,所述类型标志字段dim用于区分二维坐标信息和三维坐标信息对应的网格单元gridcell。并且,还可以将所述关系型数据库中的非点要素与对应的多个网格单元gridcell封装一起,生成包括非点要素与网格单元集合的网格集合geomgrids。
关系型数据库中定义的复合类型gridcell,用于表示北斗剖分中的一个2D或3D单元网格,2D或3D单元网格即为关系型数据中的坐标信息。北斗剖分网格分为2D网格和3D网格,其中2D网格由纬度、经度分别进行二进制剖分,然后通过莫顿编码合并成一维二进制编码。网格层级从1-32级,每级用2个二进制位表达,用64位无符号长整型(unsigned Long)可存储32级二维编码。3D网格在2D网格的基础上,增加了高程剖分编码,高程剖分的范围也是1-32级,用1个二进制位表示一级剖分。用32位无符号整型(unsigned Int)可存储32级高程编码。层级范围在1-32,可用unsigned char存储层级;由于gridcell是兼容2D/3D,需要指定一个类型标志dim,区别二三维网格。
综上所述,gridcell数据类型的结构如下:
结构中各变量如下表:
下面结合具体的实施例对本公开的技术方案进行说明。如图1所示,为本公开实施例一的基于北斗网格码的三维空间最短路径规划方法的流程图。从图1中可以看出,本实施例的基于北斗网格码的三维空间最短路径规划方法,可以包括以下步骤:
S101:获取起始网格节点和目标网格节点,查找所述起始网格节点的26个相邻的第一网格节点,确定所述第一网格节点与所述目标网格节点的距离估值,将距离估值最小的第一网格节点作为目标路径上的网格节点。
S102:查找所述距离估值最小的目标路径上的网格节点的26个相邻的第二网格节点,去除其中确定过距离估值的第二网格节点,确定剩余第二网格节点与所述目标网格节点的距离估值,将距离估值最小且与目标节点的连线不与障碍物相交的第二网格节点作为目标路径上的网格节点,以此方式确定目标路径上的网格节点,直到确定得到的网格节点与所述目标网格节点的距离估值为0。
S103:对于所述目标路径上的网格节点,确定其中的拐点并对确定的拐点进行保留。
S104:对保留下来的拐点进行平滑处理。
本实施例的方法用于三维空间最短路径规划,可有用来规划三维空间中两点之间的最短路径,例如A地到B地的最短路径。其中,A地和B地可以用关系型数据库中的网格单元gridcell来表示。在建立系型数据库后,空间中的每个点都与关系型数据库中的网格单元gridcell一一对应。为了能够更加贴近实际场景需求,本实施例采用对角线距离来确定三维场景下的h(n)函数。三维对角线的距离为假设,x,y,z三个横向和纵向单个网格之间的距离设置为cost,则三维对角线的距离为二维对角线的距离为因此具体公式如下:
min3d=min(x,y,z)
max3d=max(x,y,z)
min2d=min(t1,t2)其中,t1,t2是去掉min3d另外其他的二维数据。
并且本实施例采用A*算法来计算三维空间中两点之间的最短路径。具体地,维护两个表,分别是openlist用来存放待遍历的节点,用closelist存放已经遍历过的节点。
其中,每一次遍历需要取出估值f(n)最小的节点n,然后用节点n再进一步查找与之相交的26个其他网格,并计算相邻网格的估值***到openlist中,因此每一次遍历都需要查找到估值f(n)最小的节点,本实施例采用RB树,按照f(n)从小到大进行排序,每一次遍历只需取出第一个节点即为f(n)最小的节点。
每一次取出相邻节点的26个节点之后,需要排除已经在openlist和closelist中的节点。为了加快查找的性能,本发明使用hash表的数据结构,来存储closelist中的节点。由于openlist中节点已经在RB树中存储,为了加速openlist中的查找,本方法采用空间换时间的策略,将openlist中的节点在hash表和RB树中各保存一份节点的地址。同时,以网格层级、二维网格码、z维度网格码来作为hash表的key值,来唯一确定一个网格。
具体地,将起始网格节点***到closeHashTable中,查找起始点网格节点的26个相邻网格,并求出26个网格节点与终止网格节点的估值,并***到openRBTree和openHashTable中。其中,openRBTree代表RB树的openlist结构,openHashTable代表hash表的openlist结构,closeHashTable代表hash表的结构。
从openRBTree中取出第一个网格节点n,即为距离估值最小的节点,从openRBTree和openHashTable中删除对应的网格节点。查找网格节点a的26个相邻网格节点,遍历判断相邻网格b是否在closeHashTable中,如果在,则继续遍历下一个节点,否则继续向下判断。遍历判断相邻网格b是否与障碍区域(即关系型数据库的geomgrids)相交,如果相交,则忽略该网格,否则继续向下执行。计算相邻的网格b与终止网格节点的距离之后,分别***到openHashTable和openRBTree中。
按照上述方法,直到查找到终止网格节点,确定目标路径,终止网格节点向上遍历它的父亲节点网格,直至遍历到起始网格节点,最终取出网格集合,完成寻路。
本实施例的基于北斗网格码的三维空间最短路径规划方法,能够提高导航效率和导航结果准确性,进而提高了用户体验。
此外,作为本公开的一个可选实施例,在上述实施例中,在判断相邻网格b是否在openHashTable中之后,如果在,则还可以进一步判断相邻网格b距离起始网格节点的距离是否比hash表中相邻网格b到起始网格节点的距离更小,如果更小,则该网格节点b与openHashTable和openRBTree的网格节点互相交换,否则继续向下判断。这样,可以避免避开障碍物后选取的路径不是最短路径。
在一些实施例中,还包括确定目标路径上的网格节点中的拐点的过程,具体包括:
对于所述目标路径上的连续的三个网格节点n、m、k,确定网格节点n与网格节点m的连线与网格节点m与网格节点k的连线的夹角,响应于所述夹角大于预设阈值,将所述网格节点m确定为拐点。所述对于所述目标路径上的网格节点,确定其中的拐点并对确定的拐点进行保留,具体地,可以保留openlist中存放的拐点,删除openlist中的其他网格节点。
在一些实施例中,还可以对保留下来的拐点进行平滑处理,具体地:
从拐点的两端进行遍历,各取出头部和尾部的拐点作为数据线的两个端点,判断所述数据线与预先定义的障碍物是否相交。响应于数据线与预先定义的障碍物相交,将头部的拐点后移一位,尾部的拐点前移一位,继续判断移动后的拐点连接起来的数据线与预先定义的障碍物是否相交。重复上述过程,直到移动后的拐点连接起来的数据线与预先定义的障碍物不相交。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应所述知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应所述知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
如图2所示,为本公开实施例二的基于北斗网格码的三维空间最短路径规划装置的结构示意图。本实施例的基于北斗网格码的三维空间最短路径规划装置,包括:
查询请求获取模块201,用于获取起始网格节点和目标网格节点,查找所述起始网格节点的26个相邻的第一网格节点,确定所述第一网格节点与所述目标网格节点的距离估值,将距离估值最小的第一网格节点作为目标路径上的网格节点。
目标路径确定模块202,用于查找所述距离估值最小的目标路径上的网格节点的26个相邻的第二网格节点,去除其中确定过距离估值的第二网格节点,确定剩余第二网格节点与所述目标网格节点的距离估值,将距离估值最小且与目标节点的连线不与障碍物相交的第二网格节点作为目标路径上的网格节点,以此方式确定目标路径上的网格节点,直到确定得到的网格节点与所述目标网格节点的距离估值为0。
拐点确定模块203,用于对于所述目标路径上的网格节点,确定其中的拐点并对确定的拐点进行保留。
平滑处理模块204,用于对保留下来的拐点进行平滑处理。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图3示出了可以用来实施本公开的实施例的电子设备300的示意性框图。如图所示,设备300包括中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的计算机程序指令或者从存储单元308加载到随机访问存储器(RAM)303中的计算机程序指令,来执行各种适当的动作和处理。在RAM 303中,还可以存储设备300操作所需的各种程序和数据。CPU 301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
设备300中的多个部件连接至I/O接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元301执行上文所描述的各个方法和处理,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 302和/或通信单元309而被载入和/或安装到设备300上。当计算机程序加载到RAM 703并由CPU301执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,CPU301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种基于北斗网格码的三维空间最短路径规划方法,其特征在于,包括:
获取起始网格节点和目标网格节点,查找所述起始网格节点的26个相邻的第一网格节点,确定所述第一网格节点与所述目标网格节点的距离估值,将距离估值最小的第一网格节点作为目标路径上的网格节点;
查找所述距离估值最小的目标路径上的网格节点的26个相邻的第二网格节点,去除其中确定过距离估值的第二网格节点,确定剩余第二网格节点与所述目标网格节点的距离估值,将距离估值最小且与目标节点的连线不与障碍物相交的第二网格节点作为目标路径上的网格节点,以此方式确定目标路径上的网格节点,直到确定得到的网格节点与所述目标网格节点的距离估值为0;
对于所述目标路径上的网格节点,确定其中的拐点并对确定的拐点进行保留;
对保留下来的拐点进行平滑处理。
2.根据权利要求1所述的基于北斗网格码的三维空间最短路径规划方法,其特征在于,还包括:
用openlist存放已选取的距离估值最小的网格节点,用closelist存放计算距离估值后未被选取的网格节点,将openlist中的网格节点分别以RB树和hash表的形式存储,将closelist中的网格节点以hash表的形式存储,通过空间换时间的策略查找目标路径上的网格节点。
3.根据权利要求2所述的基于北斗网格码的三维空间最短路径规划方法,其特征在于,还包括确定目标路径上的网格节点中的拐点的过程,具体包括:
对于所述目标路径上的连续的三个网格节点n、m、k,确定网格节点n与网格节点m的连线与网格节点m与网格节点k的连线的夹角,响应于所述夹角大于预设阈值,将所述网格节点m确定为拐点。
4.根据权利要求3所述的基于北斗网格码的三维空间最短路径规划方法,其特征在于,所述对于所述目标路径上的网格节点,确定其中的拐点并对确定的拐点进行保留,包括:
保留openlist中存放的拐点,删除openlist中的其他网格节点。
5.根据权利要求4所述的基于北斗网格码的三维空间最短路径规划方法,其特征在于,所述对保留下来的拐点进行平滑处理,包括:
从拐点的两端进行遍历,各取出头部和尾部的拐点作为数据线的两个端点,判断所述数据线与预先定义的障碍物是否相交;
响应于数据线与预先定义的障碍物相交,将头部的拐点后移一位,尾部的拐点前移一位,继续判断移动后的拐点连接起来的数据线与预先定义的障碍物是否相交;
重复上述过程,直到移动后的拐点连接起来的数据线与预先定义的障碍物不相交。
6.根据权利要求5所述的基于北斗网格码的三维空间最短路径规划方法,其特征在于,所述网格节点基于关系型数据库,所述方法还包括关系型数据库的搭建过程,具体包括:
获取关系型数据库中的二维坐标信息或三维坐标信息,其中,所述二维坐标信息或三维坐标信息以tb_location表的形式存储在所述关系型数据库中;
根据所述二维坐标信息或三维坐标信息的实际应用场景,确定对应的北斗剖分网格编码的层级,生成对应的层级字段level;
将所述二维坐标信息或三维坐标信息转化为对应层级的北斗剖分网格编码,生成对应的经纬度剖分编码字段code、高程剖分编码字段zcode;
将所述层级字段level、所述经纬度剖分编码字段code和所述高程剖分编码字段zcode封装为同一字段grid,并将字段grid存储在所述关系型数据库中对应二维坐标信息或三维坐标信息的tb_location表中,生成网格单元gridcell。
7.根据权利要求6所述的基于北斗网格码的三维空间最短路径规划方法,其特征在于,还包括:
将所述关系型数据库中的非点要素与对应的多个网格单元gridcell封装一起,生成包括非点要素与网格单元集合的网格集合。
8.一种基于北斗网格码的三维空间最短路径规划装置,其特征在于,包括:
查询请求获取模块,用于获取起始网格节点和目标网格节点,查找所述起始网格节点的26个相邻的第一网格节点,确定所述第一网格节点与所述目标网格节点的距离估值,将距离估值最小的第一网格节点作为目标路径上的网格节点;
目标路径确定模块,用于查找所述距离估值最小的目标路径上的网格节点的26个相邻的第二网格节点,去除其中确定过距离估值的第二网格节点,确定剩余第二网格节点与所述目标网格节点的距离估值,将距离估值最小且与目标节点的连线不与障碍物相交的第二网格节点作为目标路径上的网格节点,以此方式确定目标路径上的网格节点,直到确定得到的网格节点与所述目标网格节点的距离估值为0;
拐点确定模块,用于对于所述目标路径上的网格节点,确定其中的拐点并对确定的拐点进行保留;
平滑处理模块,用于对保留下来的拐点进行平滑处理。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111626184.9A CN114485611B (zh) | 2021-12-28 | 2021-12-28 | 基于北斗网格码的三维空间最短路径规划方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111626184.9A CN114485611B (zh) | 2021-12-28 | 2021-12-28 | 基于北斗网格码的三维空间最短路径规划方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114485611A true CN114485611A (zh) | 2022-05-13 |
CN114485611B CN114485611B (zh) | 2024-04-26 |
Family
ID=81495540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111626184.9A Active CN114485611B (zh) | 2021-12-28 | 2021-12-28 | 基于北斗网格码的三维空间最短路径规划方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114485611B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214485A (zh) * | 2020-08-18 | 2021-01-12 | 北京旋极伏羲科技有限公司 | 基于全球剖分网格的电网资源数据组织规划方法 |
CN115355902A (zh) * | 2022-08-25 | 2022-11-18 | 深圳市远行科技股份有限公司 | 一种基于北斗网格码的室内导航方法及*** |
CN116227775A (zh) * | 2023-05-06 | 2023-06-06 | 中国公路工程咨询集团有限公司 | 道路养护作业路线的确定方法、装置及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103528586A (zh) * | 2013-10-31 | 2014-01-22 | 中国航天时代电子公司 | 基于故障网格的航迹规划算法设计 |
US20160210863A1 (en) * | 2015-01-19 | 2016-07-21 | The Aerospace Corporation | Autonomous nap-of-the-earth (anoe) flight path planning for manned and unmanned rotorcraft |
CN107144288A (zh) * | 2017-05-19 | 2017-09-08 | 北京旋极伏羲大数据技术有限公司 | 一种无路网地形条件下的路径规划的方法及其装置 |
CN107687859A (zh) * | 2017-09-06 | 2018-02-13 | 电子科技大学 | 基于a星算法的最短寻路方法 |
CN108444482A (zh) * | 2018-06-15 | 2018-08-24 | 东北大学 | 一种无人机自主寻路避障方法及*** |
CN111060109A (zh) * | 2020-01-03 | 2020-04-24 | 东南大学 | 一种基于改进a星算法的无人艇全局路径规划方法 |
CN113188555A (zh) * | 2021-04-25 | 2021-07-30 | 上海电机学院 | 一种移动机器人路径规划方法 |
CN113191521A (zh) * | 2020-01-14 | 2021-07-30 | 北京京邦达贸易有限公司 | 路径规划方法、装置及计算机可读存储介质 |
CN113311843A (zh) * | 2021-06-10 | 2021-08-27 | 大连海事大学 | 基于安全距离约束和los视线判断的无人船路径规划方法 |
CN113741453A (zh) * | 2021-08-31 | 2021-12-03 | 广州文远知行科技有限公司 | 一种非结构化环境的路径规划方法、装置、设备和介质 |
-
2021
- 2021-12-28 CN CN202111626184.9A patent/CN114485611B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103528586A (zh) * | 2013-10-31 | 2014-01-22 | 中国航天时代电子公司 | 基于故障网格的航迹规划算法设计 |
US20160210863A1 (en) * | 2015-01-19 | 2016-07-21 | The Aerospace Corporation | Autonomous nap-of-the-earth (anoe) flight path planning for manned and unmanned rotorcraft |
CN107144288A (zh) * | 2017-05-19 | 2017-09-08 | 北京旋极伏羲大数据技术有限公司 | 一种无路网地形条件下的路径规划的方法及其装置 |
CN107687859A (zh) * | 2017-09-06 | 2018-02-13 | 电子科技大学 | 基于a星算法的最短寻路方法 |
CN108444482A (zh) * | 2018-06-15 | 2018-08-24 | 东北大学 | 一种无人机自主寻路避障方法及*** |
CN111060109A (zh) * | 2020-01-03 | 2020-04-24 | 东南大学 | 一种基于改进a星算法的无人艇全局路径规划方法 |
CN113191521A (zh) * | 2020-01-14 | 2021-07-30 | 北京京邦达贸易有限公司 | 路径规划方法、装置及计算机可读存储介质 |
CN113188555A (zh) * | 2021-04-25 | 2021-07-30 | 上海电机学院 | 一种移动机器人路径规划方法 |
CN113311843A (zh) * | 2021-06-10 | 2021-08-27 | 大连海事大学 | 基于安全距离约束和los视线判断的无人船路径规划方法 |
CN113741453A (zh) * | 2021-08-31 | 2021-12-03 | 广州文远知行科技有限公司 | 一种非结构化环境的路径规划方法、装置、设备和介质 |
Non-Patent Citations (1)
Title |
---|
王文霞;: "基于动态三角网格和启发式搜索算法路径规划研究", 现代电子技术, no. 11, 1 June 2017 (2017-06-01) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214485A (zh) * | 2020-08-18 | 2021-01-12 | 北京旋极伏羲科技有限公司 | 基于全球剖分网格的电网资源数据组织规划方法 |
CN112214485B (zh) * | 2020-08-18 | 2024-02-20 | 北京旋极伏羲科技有限公司 | 基于全球剖分网格的电网资源数据组织规划方法 |
CN115355902A (zh) * | 2022-08-25 | 2022-11-18 | 深圳市远行科技股份有限公司 | 一种基于北斗网格码的室内导航方法及*** |
CN116227775A (zh) * | 2023-05-06 | 2023-06-06 | 中国公路工程咨询集团有限公司 | 道路养护作业路线的确定方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114485611B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114485611A (zh) | 基于北斗网格码的三维空间最短路径规划方法和装置 | |
CN111504325B (zh) | 一种基于扩大搜索邻域的加权a*算法的全局路径规划方法 | |
US9500487B2 (en) | Shortest path determination for large graphs | |
AU2018253470B2 (en) | Device and method for extracting terrain boundary | |
CN115164907B (zh) | 基于动态权重的a*算法的森林作业机器人路径规划方法 | |
CN109214596B (zh) | 求取具有方向约束和障碍限制的栅格最短路径规划方法 | |
CN107544502A (zh) | 一种已知环境下的移动机器人规划方法 | |
US9910878B2 (en) | Methods for processing within-distance queries | |
CN107368612A (zh) | 四叉树索引构建方法及装置 | |
CN103268633A (zh) | 一种栅格数据的等值面构造方法 | |
CN112734878B (zh) | 大型栅格地图两点之间连通性检测方法、设备及存储介质 | |
CN104090945A (zh) | 一种地理空间实体构建方法及*** | |
Wang et al. | Application of A* algorithm in intelligent vehicle path planning | |
CN113074735B (zh) | 一种地图数据结构的处理方法 | |
CN104778308A (zh) | 飞机结构型材的识别方法和装置 | |
CN111061824B (zh) | 基于改进四叉树的范围判断方法、装置、设备 | |
CN108731688A (zh) | 导航方法和装置 | |
CN113139032A (zh) | 地理位置的搜索方法、装置、电子设备及存储介质 | |
CN114202097A (zh) | 基于地形空间数据处理技术的水库坝址资源识别方法 | |
Guo et al. | Global path search based on A* algorithm | |
CN117909342B (zh) | 一种基于时空编码的资产计算方法 | |
CN109256774A (zh) | 一种基于电压等级的电网子图划分方法及装置 | |
CN116882306B (zh) | 一种基于火焰面模型的多维查找方法、装置、设备及介质 | |
CN117951240B (zh) | 全局三维点云地图存储和实时体素检索方法、装置及设备 | |
CN114493383B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |