CN110968658A - 一种用于跳点搜索最短路径算法的矢量地图预处理方法 - Google Patents
一种用于跳点搜索最短路径算法的矢量地图预处理方法 Download PDFInfo
- Publication number
- CN110968658A CN110968658A CN201911188715.3A CN201911188715A CN110968658A CN 110968658 A CN110968658 A CN 110968658A CN 201911188715 A CN201911188715 A CN 201911188715A CN 110968658 A CN110968658 A CN 110968658A
- Authority
- CN
- China
- Prior art keywords
- map
- basic
- basic units
- obstacles
- layer
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Navigation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种用于跳点搜索最短路径算法的矢量地图预处理方法,属于地图搜索技术领域,包括步骤:S1:选取应用需求的精度,将一定范围内的矢量地图转为M*N的网格地图,定义每一个格子为一个基础单元e0;S2:遍历M*N的网格地图,将每k*k个基础单元e0合成为一个单元e1,获得第一层压缩地图,则第一层压缩地图的基础单元e1按规则处理;S3:遍历第一层压缩地图,将每k*k个基础单元e1合成为一个单元e2,获得第二层的压缩地图,则第二层压缩地图的基础单元e2按规则处理;S4:重复步骤S3直至将上一层压缩地图的基础单元合成为一个新单元直至达到满足要求的最大层数,本方案根据使得跳点搜索最短路径算法需要遍历的网格减少,算法执行效率快。
Description
技术领域
本发明涉及地图搜索技术领域,更具体地说,涉及一种用于跳点搜索最短路径算法的矢量地图预处理方法。
背景技术
最短路径问题是一个经典算法问题,旨在寻找基于网格地图(每个网格存储有或无障碍的信息)的两结点之间的最短路径。例如Dijkstra、A*、跳点搜索(jump pointsearch)算法等经典算法,都是用来解决这类问题。其中,JPS已经被证明是基于无权重格子、没有预处理情况下寻路最快的算法,该算法及其变种在连续三届基于网格寻径的比赛(The Grid-Based Path Planning Competition)中都高居榜首,目前该方法已被广泛应用于游戏开发、道路网最短路径规划等多个寻径领域。
根据jump_point_search(简称JPS算法)中的论文论述(Harabor,D.,andGrastien,Al.2011.Online graph pruning for pathfinding on grid maps.In AAAI.),其中的重要的一步是搜索地图中的“强迫邻居”结点。
搜寻“强迫邻居”结点中的一个重要过程就是沿网格地图中的一定方向及规则,搜寻路径旁网格为障碍物的结点。而开放区域的矢量地图中,往往存在大块的可通行区域和不可通行区域,以海图为例,以下为我国某区域海岸线的矢量海图。如图2所示,其中黑色代表陆地区域,白色代表海面可通行区域。因此,我们针对跳点搜索算法需要沿一定方向搜索障碍物位置及地图通常有大片相同属性(有或无障碍)的区域的这两个特点,提出了针对矢量地图的预处理方法。举例说明:类似无人船寻径导航所需要的矢量海图,中国东海及南海海岸线附近约1500公里*1500公里的区域,要求其精度为30米,则网格地图为50000*50000大小,按计算机中的最小单位字节存储,则需要近2.5GB的存储空间,这使得寻径算法无论是地图载入和网格搜索上效率都很低,使用本专利中的方法,在最大层数p为3,合成单元k*k大小为4*4的条件下,仅需数十兆左右空间即可存储上述网格地图,可大幅加快JPS算法的地图载入速度、寻径效率,同时在不损失寻径精度的前提下减少了网格地图的存储空间。
随着科技发展,开放式地图区域的最短路径规划(如海上无人艇、无人机)在机器人导航领域对该类算法提出了更高的需求。开放式地图区域为保证精度及地图数据大小通常是矢量地图,而上述算法只能针对网格地图进行最短路径搜索。在兼顾算法计算量及地图精度的前提下,如何将矢量地图预处理为合适算法使用的网格地图,是一个亟待解决的问题:对某一区域的矢量地图,若划分网格较细,则网格地图精度高、寻径路径精度高,但算法需要遍历更多的网格,耗时较长,且需要存储的网格地图数据量巨大。若划分网格较粗,则网格地图精度低、寻径路径精度低,但算法需要遍历的网格减少,算法执行效率快,网格地图存储量也可控制在一定范围内。
发明内容
针对现有技术的不足,本发明的目的在于提供一种用于跳点搜索最短路径算法的矢量地图预处理方法,该方法针对跳点搜索最短路径算法特点,可兼顾优化算法效率、地图精度、网格地图存储量。
本发明的目的可以通过以下技术方案实现:
一种用于跳点搜索最短路径算法的矢量地图预处理方法,包括以下步骤:
S1:选取应用需求的精度,将一定范围内的矢量地图转为M*N的网格地图,定义每一个格子为一个基础单元e0,所述基础单元e0存储该网格有障碍或者无障碍的信息;
S2:遍历M*N的网格地图,将每k*k个基础单元e0合成为一个单元e1,获得第一层压缩地图,则第一层压缩地图的基础单元e1按下述规则存储了以下内容:
若k*k个基础单元e0全为障碍,则由其组成的e1定义为有障碍,抛弃原k*k个基础单元e0;
若k*k个基础单元e0全无障碍,则由其组成的e1定义为无障碍,抛弃原k*k个基础单元e0;
若k*k个基础单元既存在有障碍的网格点,也存在无障碍的网格点,则记录下该e1对应的k*k个基础单元e0,记为不确定状态。
S3:遍历第一层压缩地图,将每k*k个基础单元e1合成为一个单元e2,获得第二层的压缩地图,则第二层压缩地图的基础单元e2按下述规则存储了以下内容:
若k*k个基础单元e1全为障碍,则由其组成的e2定义为有障碍,抛弃原k*k个基础单元e1;
若k*k个基础单元e2全无障碍,则由其组成的e2定义为无障碍,抛弃原k*k个基础单元e1;
若k*k个基础单元e1包含有、无障碍两种网格、或包含不确定状态的网格,则记录下该e2对应的k*k个基础单元e1,记为不确定状态。
S4:重复步骤S3直至将上一层压缩地图的基础单元合成为一个新单元直至达到满足要求的最大层数。
本发明的有益效果:
本发明提供一种对某一区域的矢量地图进行压缩的方法,根据需求的精度,划分网格,使得跳点搜索最短路径算法需要遍历的网格减少,算法执行效率快,网格地图存储量也可控制在一定范围内。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的矢量地图预处理方法的流程图;
图2为海岸线的矢量海图;
图3为本实施例中步骤2中压缩规则的示意图;
图4为本实施例中步骤3中压缩规则的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,一种用于跳点搜索最短路径算法的矢量地图预处理方法,包括以下步骤:
S1:选取应用需求的精度,将一定范围内的矢量地图转为M*N的网格地图,定义每一个格子为一个基础单元e0,所述基础单元e0存储该网格有障碍或者无障碍的信息;
S2:遍历M*N的网格地图,将每k*k个基础单元e0合成为一个单元e1,获得第一层压缩地图,压缩规则方法如图3所示,则第一层压缩地图的基础单元e1按下述规则存储了以下内容:
若k*k个基础单元e0全为障碍,则由其组成的e1定义为有障碍,抛弃原k*k个基础单元e0;
若k*k个基础单元e0全无障碍,则由其组成的e1定义为无障碍,抛弃原k*k个基础单元e0;
若k*k个基础单元既存在有障碍的网格点,也存在无障碍的网格点,则记录下该e1对应的k*k个基础单元e0,记为不确定状态。
S3:遍历第一层压缩地图,将每k*k个基础单元e1合成为一个单元e2,获得第二层的压缩地图,压缩规则方法如图4所示,,则第二层压缩地图的基础单元e2按下述规则存储了以下内容:
若k*k个基础单元e1全为障碍,则由其组成的e2定义为有障碍,抛弃原k*k个基础单元e1;
若k*k个基础单元e2全无障碍,则由其组成的e2定义为无障碍,抛弃原k*k个基础单元e1;
若k*k个基础单元e1包含有、无障碍两种网格、或包含不确定状态的网格,则记录下该e2对应的k*k个基础单元e1,记为不确定状态。
S4:重复步骤S3直至将上一层压缩地图的基础单元合成为一个新单元直至达到满足要求的最大层数。
本发明提供一种对某一区域的矢量地图进行压缩的方法,根据需求的精度,划分网格,使得跳点搜索最短路径算法需要遍历的网格减少,算法执行效率快,网格地图存储量也可控制在一定范围内。
上述方法能够在不降低寻径精度的前提下,最大程度的压缩网格地图,其本质是只存储有无障碍网格的交界处的信息。在使用JPS寻径时,首先在最大层地图上进行网格搜索,可大幅减少需要搜索的网格数量,提高了网格搜索效率,如遇到不确定状态的基础单元,可直接读取对应其所对应的上一层压缩地图格式,直到能够确定为有、无障碍为止,从而保证无精度损失。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
Claims (1)
1.一种用于跳点搜索最短路径算法的矢量地图预处理方法,其特征在于:包括以下步骤:
S1:选取应用需求的精度,将一定范围内的矢量地图转为M*N的网格地图,定义每一个格子为一个基础单元e0,所述基础单元e0存储该网格有障碍或者无障碍的信息;
S2:遍历M*N的网格地图,将每k*k个基础单元e0合成为一个单元e1,获得第一层压缩地图,则第一层压缩地图的基础单元e1按下述规则存储了以下内容:
若k*k个基础单元e0全为障碍,则由其组成的e1定义为有障碍,抛弃原k*k个基础单元e0;
若k*k个基础单元e0全无障碍,则由其组成的e1定义为无障碍,抛弃原k*k个基础单元e0;
若k*k个基础单元既存在有障碍的网格点,也存在无障碍的网格点,则记录下该e1对应的k*k个基础单元e0,记为不确定状态。
S3:遍历第一层压缩地图,将每k*k个基础单元e1合成为一个单元e2,获得第二层的压缩地图,则第二层压缩地图的基础单元e2按下述规则存储了以下内容:
若k*k个基础单元e1全为障碍,则由其组成的e2定义为有障碍,抛弃原k*k个基础单元e1;
若k*k个基础单元e2全无障碍,则由其组成的e2定义为无障碍,抛弃原k*k个基础单元e1;
若k*k个基础单元e1包含有、无障碍两种网格、或包含不确定状态的网格,则记录下该e2对应的k*k个基础单元e1,记为不确定状态。
S4:重复步骤S3直至将上一层压缩地图的基础单元合成为一个新单元直至达到满足要求的最大层数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911188715.3A CN110968658B (zh) | 2019-11-28 | 2019-11-28 | 一种用于跳点搜索最短路径算法的矢量地图预处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911188715.3A CN110968658B (zh) | 2019-11-28 | 2019-11-28 | 一种用于跳点搜索最短路径算法的矢量地图预处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968658A true CN110968658A (zh) | 2020-04-07 |
CN110968658B CN110968658B (zh) | 2022-12-16 |
Family
ID=70032022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911188715.3A Active CN110968658B (zh) | 2019-11-28 | 2019-11-28 | 一种用于跳点搜索最短路径算法的矢量地图预处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968658B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060241827A1 (en) * | 2005-03-04 | 2006-10-26 | Masaki Fukuchi | Obstacle avoiding apparatus, obstacle avoiding method, obstacle avoiding program and mobile robot apparatus |
US20110010083A1 (en) * | 2007-07-03 | 2011-01-13 | Jae-Yeong Lee | Path search method |
RU2589381C2 (ru) * | 2010-04-15 | 2016-07-10 | Роберт Бош Гмбх | Навигационная система и способ штурманского сопровождения движения |
CN107357293A (zh) * | 2017-07-31 | 2017-11-17 | 上海应用技术大学 | 移动机器人路径规划方法和系统 |
CN110398964A (zh) * | 2019-07-16 | 2019-11-01 | 浙江大学 | 一种低能量损耗机器人全覆盖路径规划方法及系统 |
-
2019
- 2019-11-28 CN CN201911188715.3A patent/CN110968658B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060241827A1 (en) * | 2005-03-04 | 2006-10-26 | Masaki Fukuchi | Obstacle avoiding apparatus, obstacle avoiding method, obstacle avoiding program and mobile robot apparatus |
US20110010083A1 (en) * | 2007-07-03 | 2011-01-13 | Jae-Yeong Lee | Path search method |
RU2589381C2 (ru) * | 2010-04-15 | 2016-07-10 | Роберт Бош Гмбх | Навигационная система и способ штурманского сопровождения движения |
CN107357293A (zh) * | 2017-07-31 | 2017-11-17 | 上海应用技术大学 | 移动机器人路径规划方法和系统 |
CN110398964A (zh) * | 2019-07-16 | 2019-11-01 | 浙江大学 | 一种低能量损耗机器人全覆盖路径规划方法及系统 |
Non-Patent Citations (7)
Title |
---|
BRANKO RISTIC等: ""Autonomous information driven search for a diffusive source in an unknown structured environment"", 《2014 IEEE WORKSHOP ON STATISTICAL SIGNAL PROCESSING (SSP)》 * |
BRANKO RISTIC等: ""Autonomous information driven search for a diffusive source in an unknown structured environment"", 《2014 IEEE WORKSHOP ON STATISTICAL SIGNAL PROCESSING (SSP)》, 28 August 2014 (2014-08-28), pages 1 - 5 * |
杨肖宁等: ""基于邻接节点聚合的多层级MQA-A*路径规划算法"", 《地理信息世界》, 25 February 2018 (2018-02-25), pages 1 * |
段勇等: ""基于不确定网格地图的移动机器人导航"", 《控制理论与应用》 * |
段勇等: ""基于不确定网格地图的移动机器人导航"", 《控制理论与应用》, 31 December 2006 (2006-12-31), pages 1009 - 1013 * |
陈炜楠等: "室内环境的元胞自动机SLAM算法", 《机器人》 * |
陈炜楠等: "室内环境的元胞自动机SLAM算法", 《机器人》, no. 02, 15 March 2016 (2016-03-15), pages 43 - 51 * |
Also Published As
Publication number | Publication date |
---|---|
CN110968658B (zh) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101782399B (zh) | 导航电子地图中道路网络拓扑分区的方法及装置 | |
CN101650191B (zh) | 道路网络拓扑抽象的方法及装置 | |
Thomson et al. | A graph theory approach to road network generalisation | |
CN107092978B (zh) | 一种面向虚拟地球的最短路径分层规划方法 | |
CN102435200A (zh) | 一种路径快速规划方法 | |
JPH1027240A (ja) | トポロジー構造の図形表現の表示装置 | |
CN113485369A (zh) | 改进a*算法的室内移动机器人路径规划和路径优化方法 | |
JP4997597B2 (ja) | 最短経路探索方法 | |
CN112985443B (zh) | 路径规划方法、装置及终端设备 | |
Gu et al. | An improved RRT algorithm based on prior AIS information and DP compression for ship path planning | |
CN111009034A (zh) | 一种三维模型单体化方法、系统、存储介质及设备 | |
CN110968658B (zh) | 一种用于跳点搜索最短路径算法的矢量地图预处理方法 | |
Benton et al. | Tactical route planning: new algorithms for decomposing the map | |
CN114577217B (zh) | 基于冯洛诺伊图的路径规划方法、装置、设备及存储介质 | |
Rowe | Roads, rivers, and obstacles: optimal two-dimensional path planning around linear features for a mobile agent | |
CN106781706B (zh) | 基于风场分布的空中交通航路设计方法 | |
CN114509085A (zh) | 一种结合栅格和拓扑地图的快速路径搜索方法 | |
CN110211204A (zh) | 一种确定道路任务包的方法、装置及存储介质 | |
CN108731688A (zh) | 导航方法和装置 | |
Chen et al. | Path planning in large area monitoring by drones | |
Zhang et al. | Query method for nearest region of spatial line segment based on Hilbert curve grid | |
Ran et al. | Summary of research on path planning based on A* algorithm | |
Chen et al. | On geometric path query problems | |
JP2010217459A (ja) | 路網図管理装置、路網図管理システム、路網図管理プログラムおよび路網図管理方法 | |
Liu et al. | Improved A* algorithm for mobile robot 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 |