CN107506513A - 一种基于a*算法的兵棋六角格地图路径规划方法 - Google Patents
一种基于a*算法的兵棋六角格地图路径规划方法 Download PDFInfo
- Publication number
- CN107506513A CN107506513A CN201710516711.8A CN201710516711A CN107506513A CN 107506513 A CN107506513 A CN 107506513A CN 201710516711 A CN201710516711 A CN 201710516711A CN 107506513 A CN107506513 A CN 107506513A
- Authority
- CN
- China
- Prior art keywords
- cell
- point
- target point
- mrow
- hexagonal grid
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于A*算法的兵棋六角格地图路径规划方法,首先针对六角格地图的特点,与四角格地图进行比较,提出了六角格定位方法;并由此提出两个单元格之间计算距离的有效方法,可以准确计算两个单元格相距的格数;由于兵棋地图中地形复杂,因此经过每个单元格的消耗不同。在计算A*算法中的路径实际代价时考虑了消耗问题,对实际代价函数进行修改。本发明提出的方法可以更为精确的计算六角格之间的距离,并且在复杂的兵棋地图中寻找最优路径,对兵棋推演提供路径规划支持。
Description
技术领域
本发明涉及一种基于A*算法的兵棋六角格地图路径规划方法。
背景技术
兵棋推演是一种运用于军事训练,消防模拟等场景的仿真技术,可以有效的模拟现实情况,为指挥决策者提供参考依据。兵棋经过不断的发展,地图从最初的设想地形图,到后来逐步采用不同比例的实际地形图;代表军队及其装备的算子随着军事的发展和武器类型的逐步增加,出现海、空、天等新式武器;规则由最初简单的步兵和炮兵作战规则演变到今天的多兵种对战规则,并强调政治、经济和民众变化等诸多战场外因素的影响;兵棋推演目的也从最初的演练部队作战,到强调检验机动计划、后勤保障、诸兵种联合作战等战略性推演。兵棋在这个发展变化过程中,从最初的战术级,逐步发展为战役级和战略级的兵棋,作用和领域的不断扩大标志着兵棋功能和侧重点的改变,不再仅仅是起初的军事教育和训练方法,还能够作为对大型军事行动和国家政治政策行为潜在问题的调查研究工具。
随着信息技术的发展,使用具有快速计算、数据统计精准的计算机***进行推演成为兵棋推演的主要发展方向。由于兵棋地图复杂、单元格数量较多,路径规划成为兵棋推演电子化中一个关键问题。兵棋推演路径规划在国内外的研究成果较少。
因此,需要一种基于A*算法的兵棋六角格地图路径规划方法以解决上述问题。
发明内容
本发明针对现有技术中存在的缺陷,提供一种可以在复杂地形的兵棋六角格地图中正确寻找最优路径的基于A*算法的兵棋六角格地图路径规划方法。
为解决上述技术问题,本发明的基于A*算法的兵棋六角格地图路径规划方法所采用的技术方案为:
一种基于A*算法的兵棋六角格地图路径规划方法,包括以下步骤:
1)、地图信息建模:建立六角格地图,根据棋子在不同单元格中的移动能力数值,将地形信息转化为移动点数消耗信息,得出经过每个单元格的移动消耗点数,完成地图建模;
2)、计算每个单元格的坐标,得到单元格初始点以及目标点的坐标;并记录每个单元格相邻的6个单元格的坐标信息;
3)、利用A*算法生成路径:
根据代价函数f(x)=g(x)+h(x),搜索单元格的邻域,直至到达目标点,然后从目标点回溯到初始点,输出路径,其中,f(x)是从初始点经由节点x到目标点的估价函数,g(x)是从初始点到节点x的实际代价,h(x)是节点x到目标点最优路径的估计代价。
更进一步的,步骤3)中g(x)的通过下式计算得到:
式中,x为经过的单元格数,Ni为第i个单元格的移动消耗点数。
更进一步的,步骤3)中h(x)的计算方法包括以下步骤:
一、利用直线l1,l2和l3将六角格地图分割为六部分,其中,直线l1,l2和l3均通过当前单元格x的中心点且均与当前单元格x的边垂直;
二、判断目标点T位于的部分及分割此部分的直线,过目标点T做直线l4和l5,并使直线l4和l5分别平行于分割此部分的直线,并得到直线l4和l5与分割此部分的直线的交点P1和P2;
三、当前单元格x到目标点T的距离等于P1点到目标点T的距离加上P2点到目标点T的距离,即满足等式:
式中,d(x,T)为当前单元格x到目标点T的距离,为P1点到目标点T的距离,为P2点到目标点T的距离;
四、根据步骤三得到的当前单元格x到目标点T的距离d(x,T),计算得到h(x):
h(x)=D·d(x,T)
式中,D为最小的单元格移动消耗点数。
更进一步的,步骤1)中单元格的移动消耗点数通过下式计算得到:
移动消耗点数Ni为:
式中,Ni为第i个单元格的移动消耗点数,Ci为棋子在第i个单元格中的移动能力,移动消耗点数的范围为[1,n],单元格的个数为m个。
更进一步的,其中,Ci为棋子在第i个单元格中的移动能力为棋子在第i个单元格中的移动速度。
更进一步的,步骤2)中根据下式计算每个单元格的坐标P(k,l):
式中,k为横向的单元格数量,l为纵向的单元格数量,a为正六边形单元格的边长。
发明原理:A*算法是一种典型的启发式搜索算法,被广泛的运用于路径规划中。为了将A*算法作用于兵棋推演,需要对A*算法进行改进,包括以下几点:(1)传统A*算法基于四角格地图,而兵棋地图为六角格地图,每个单元格定位算法不同。(2)兵棋地图地形复杂,每个单元格的移动消耗不同。(3)相比较四角格地图,六角格地图中两个单元格之间的距离难以测算。
有益效果:本发明的基于A*算法的兵棋六角格地图路径规划方法可以更为精确的计算六角格之间的距离,并且在复杂的兵棋地图中寻找最优路径,对兵棋推演提供路径规划支持。
附图说明
图1为实际兵棋地图。
图2为具体实施方式中生成的移动消耗点数信息图。
图3为四角格网格定位图。
图4为六角格网格定位图。
图5为具体实施方式中的兵棋地图划分。
图6为具体实施方式中的距离计算示意地图。
图7为具体实施方式中根据移动消耗点数信息图生成的路径。
图8为具体实施方式中实际地图生成的路径。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1和图2所示,本发明的基于A*算法的兵棋六角格地图路径规划方法,包括以下步骤:
步骤1,地图信息建模。
步骤1.1,兵棋实际地图如图1,根据某装备在不同地形中的移动能力进行量化处理。设装备在第i种地形(共m种地形)中的移动能力为Ci千米/小时,移动点数消耗范围为[1,n]。则移动消耗点数Ni为:
步骤1.2,将实际兵棋地图转化为移动消耗点数信息图(图2),并将信息存入一个二维数组中。
步骤2,设置路径规划初始条件,网格信息。
步骤2.1,计算每个六角形单元格坐标,得到单元格的初始点以及目标点坐标。六角格中存在网格定位问题,下面将四角格和六角格地图进行对比。如图3所示,以左上角的正四边形为原点坐标为(0,0)。设当前节点为P(3,1),则P(3,1)点的坐标为(3a,a)。对于任意节点P(n1,m1)(n1为横向的网格数量,m1为纵向的网格数量),坐标为(n1a,m1a)。在正六边形的网格中(如图4),设正六边形边长为a,则图中节点坐标均不为整数。由于正六边形的特点,需要对纵坐标分奇偶讨论。当纵坐标为偶数时,如下图点P(3,2),坐标为当纵坐标为奇数时,如下图点P(3,3),坐标为对于任意节点P(k,l),坐标应该满足如下等式:
步骤2.2,根据步骤2.1得出的各单元格坐标,记录每个六角格相邻单元格的坐标信息。地图上有些单元格之间存在不能通过的地形,则在记录相邻单元格坐标信息时认为存在不能通过地形的两个单元格之间不相邻。
步骤3,利用修改后的A*算法生成路径。
步骤3.1计算g(x)时不仅考虑单元格距离,而且考虑经过每个单元格所消耗的移动点数。实际代价g(x)满足如下公式:
式中,x为经过的单元格数,Ni为第i个单元格的移动消耗点数。
步骤3.2计算h(x)如图5所示,设上方的点为当前节点,下方的点为目标点。从当前节点x出发往垂直于其边的方向做直线l1,l2,l3,可将地图分为6个部分。判断目标点T所在部分,本例中目标点在第5部分,被直线l2,l3所包围。如图6所示,过目标点作直线l4,l5分别平行于直线l2,l3,得到交点P1,P2。则当前节点x到目标点T的距离等于P1点到目标点T的距离加上P2点到目标点T的距离,即满足等式:
式中,d(x,T)为当前节点x到目标点T的距离,为P1点到目标点T的距离,为P2点到目标点T的距离。
h(x)=D·d(x,T) (5)
式中D为最小的单元格移动消耗点数。
步骤3.3根据代价函数f(x)=g(x)+h(x),搜索六角格邻域;搜索直至到达目标点,或者OPEN表中没有元素;然后从目标点回溯到初始点,输出路径。
实施例:
首先根据图1兵棋实际地图,由公式(1)生成移动消耗点数表(表1)。根据表1将地形信息转化为移动点数消耗信息图(图2),将地图信息电子化。其中路径规划初始点为S,目标点为T。根据公式(2)得到每个六角形单元格坐标,并保存每个单元格的邻域信息。根据公式(3)得到初始点S到节点n的距离g(x),根据公式(4)和公式(5)得到启发式函数h(x)。然后利用代价函数f(x)=g(x)+h(x)搜索六角格邻域;搜索直至到达目标点或者OPEN表中没有元素,则表示搜索完成;然后从目标点回溯到初始点,得到在消耗点数信息图的路径(图7),并映射到实际兵棋地图(图8)。可以看到本算法可以在复杂地形的兵棋地图中寻找最优路径,为指挥决策者提供路径规划支持。
表1移动消耗点数表
。
Claims (6)
1.一种基于A*算法的兵棋六角格地图路径规划方法,其特征在于:包括以下步骤:
1)、地图信息建模:建立六角格地图,根据棋子在不同单元格中的移动能力数值,将地形信息转化为移动点数消耗信息,得出经过每个单元格的移动消耗点数,完成地图建模;
2)、计算每个单元格的坐标,得到单元格初始点以及目标点的坐标;并记录每个单元格相邻的6个单元格的坐标信息;
3)、利用A*算法生成路径:
根据代价函数f(x)=g(x)+h(x),搜索单元格的邻域,直至到达目标点,然后从目标点回溯到初始点,输出路径,其中,f(x)是从初始点经由节点x到目标点的估价函数,g(x)是从初始点到节点x的实际代价,h(x)是节点x到目标点最优路径的估计代价。
2.根据权利要求1所述的基于A*算法的兵棋六角格地图路径规划方法,其特征在于:步骤3)中g(x)的通过下式计算得到:
<mrow>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>x</mi>
</munderover>
<msub>
<mi>N</mi>
<mi>i</mi>
</msub>
</mrow>
式中,x为经过的单元格数,Ni为第i个单元格的移动消耗点数。
3.根据权利要求1所述的基于A*算法的兵棋六角格地图路径规划方法,其特征在于:步骤3)中h(x)的计算方法包括以下步骤:
一、利用直线l1,l2和l3将六角格地图分割为六部分,其中,直线l1,l2和l3均通过当前单元格x的中心点且均与当前单元格x的边垂直;
二、判断目标点T位于的部分及分割此部分的直线,过目标点T做直线l4和l5,并使直线l4和l5分别平行于分割此部分的直线,并得到直线l4和l5与分割此部分的直线的交点P1和P2;
三、当前单元格x到目标点T的距离等于P1点到目标点T的距离加上P2点到目标点T的距离,即满足等式:
<mrow>
<msub>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>d</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>P</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>d</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>P</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
</msub>
</mrow>
式中,d(x,T)为当前单元格x到目标点T的距离,为P1点到目标点T的距离,为P2点到目标点T的距离;
四、根据步骤三得到的当前单元格x到目标点T的距离d(x,T),计算得到h(x):
h(x)=D·d(x,T)
式中,D为最小的单元格移动点数消耗。
4.根据权利要求1所述的基于A*算法的兵棋六角格地图路径规划方法,其特征在于:步骤1)中单元格的移动消耗点数通过下式计算得到:
移动消耗点数Ni为:
式中,Ni为第i个单元格的移动消耗点数,Ci为棋子在第i个单元格中的移动能力,移动消耗点数的范围为[1,n],单元格的个数为m个。
5.根据权利要求4所述的基于A*算法的兵棋六角格地图路径规划方法,其特征在于:其中,Ci为棋子在第i个单元格中的移动能力为棋子在第i个单元格中的移动速度。
6.根据权利要求1所述的基于A*算法的兵棋六角格地图路径规划方法,其特征在于:步骤2)中根据下式计算每个单元格的坐标:
式中,k为横向的单元格数量,l为纵向的单元格数量,a为正六边形单元格的边长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710516711.8A CN107506513A (zh) | 2017-06-29 | 2017-06-29 | 一种基于a*算法的兵棋六角格地图路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710516711.8A CN107506513A (zh) | 2017-06-29 | 2017-06-29 | 一种基于a*算法的兵棋六角格地图路径规划方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107506513A true CN107506513A (zh) | 2017-12-22 |
Family
ID=60678635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710516711.8A Pending CN107506513A (zh) | 2017-06-29 | 2017-06-29 | 一种基于a*算法的兵棋六角格地图路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107506513A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647374A (zh) * | 2018-03-22 | 2018-10-12 | 中国科学院自动化研究所 | 陆军战术兵棋博弈中坦克战术行为模拟方法及***和设备 |
CN109343847A (zh) * | 2018-09-14 | 2019-02-15 | 北京华如科技股份有限公司 | 面向多领域可扩展兵棋推演平台 |
CN110631601A (zh) * | 2019-11-13 | 2019-12-31 | 中国电子科技集团公司第二十八研究所 | 一种基于非显示拓扑矢量地图的路径规划方法 |
CN112509114A (zh) * | 2020-11-24 | 2021-03-16 | 中国船舶工业***工程研究院 | 一种路径规划方法、***和介质 |
CN112652034A (zh) * | 2019-10-10 | 2021-04-13 | 中科星图股份有限公司 | 一种二三维一体化的兵棋六角格的生成方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045976A (zh) * | 2015-07-01 | 2015-11-11 | 中国人民解放军信息工程大学 | 一种运用栅格矩阵建立兵棋地图地形属性的方法 |
CN106441303A (zh) * | 2016-09-30 | 2017-02-22 | 哈尔滨工程大学 | 一种基于可搜索连续邻域a*算法的路径规划方法 |
-
2017
- 2017-06-29 CN CN201710516711.8A patent/CN107506513A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045976A (zh) * | 2015-07-01 | 2015-11-11 | 中国人民解放军信息工程大学 | 一种运用栅格矩阵建立兵棋地图地形属性的方法 |
CN106441303A (zh) * | 2016-09-30 | 2017-02-22 | 哈尔滨工程大学 | 一种基于可搜索连续邻域a*算法的路径规划方法 |
Non-Patent Citations (4)
Title |
---|
伯乐在线-JANZOU编译: "游戏中常用的寻路算法的分享(2):Heuristics 函数", pages 1 - 2 * |
张俊恒: "计算机兵棋中兵力机动路径规划研究", vol. 2012, no. 02, pages 1 - 3 * |
李天成等: "基于扇形栅格地图的移动机器人全局路径规划", vol. 32, no. 04, pages 547 - 552 * |
陈宗海: "***仿真技术及其应用 第11卷", 中国科技大学出版社, pages: 368 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647374A (zh) * | 2018-03-22 | 2018-10-12 | 中国科学院自动化研究所 | 陆军战术兵棋博弈中坦克战术行为模拟方法及***和设备 |
CN108647374B (zh) * | 2018-03-22 | 2020-11-17 | 中国科学院自动化研究所 | 陆军战术兵棋博弈中坦克战术行为模拟方法及***和设备 |
CN109343847A (zh) * | 2018-09-14 | 2019-02-15 | 北京华如科技股份有限公司 | 面向多领域可扩展兵棋推演平台 |
CN109343847B (zh) * | 2018-09-14 | 2021-09-14 | 北京华如科技股份有限公司 | 面向多领域可扩展兵棋推演平台 |
CN112652034A (zh) * | 2019-10-10 | 2021-04-13 | 中科星图股份有限公司 | 一种二三维一体化的兵棋六角格的生成方法和装置 |
CN110631601A (zh) * | 2019-11-13 | 2019-12-31 | 中国电子科技集团公司第二十八研究所 | 一种基于非显示拓扑矢量地图的路径规划方法 |
CN110631601B (zh) * | 2019-11-13 | 2021-04-27 | 中国电子科技集团公司第二十八研究所 | 一种基于非显示拓扑矢量地图的路径规划方法 |
CN112509114A (zh) * | 2020-11-24 | 2021-03-16 | 中国船舶工业***工程研究院 | 一种路径规划方法、***和介质 |
CN112509114B (zh) * | 2020-11-24 | 2023-06-02 | 中国船舶工业***工程研究院 | 一种路径规划方法、***和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506513A (zh) | 一种基于a*算法的兵棋六角格地图路径规划方法 | |
Gong et al. | Analysis and simulation of land use spatial pattern in Harbin prefecture based on trajectories and cellular automata—Markov modelling | |
Xu et al. | Integrating the system dynamic and cellular automata models to predict land use and land cover change | |
CN106441303A (zh) | 一种基于可搜索连续邻域a*算法的路径规划方法 | |
CN105204005B (zh) | 一种基于地理坐标系的vts***雷达回波视频显示方法 | |
Li et al. | AUV 3D path planning based on A* algorithm | |
CN101916397B (zh) | 一种描述湿地植被生态水文响应的三维可视化装置及方法 | |
CN103456041A (zh) | 一种基于s-57电子海图数据的三维地形和雷达地形生成方法 | |
CN103196368A (zh) | 基于车载激光扫描数据的单株树三维绿量自动估算方法 | |
CN109614638B (zh) | 一种非直接建模的城市风环境cfd模拟方法 | |
CN103065361A (zh) | 三维海岛沙盘实现方法 | |
CN103970837B (zh) | 基于城市用地和竖向规划的不连续dem分类制作方法 | |
CN104200387A (zh) | 一种顾及地理实体语义相似度的土地用途分区方法 | |
CN106600661A (zh) | 精确生成弧段地质剖面的方法 | |
CN103295080A (zh) | 基于高程图和蚁群寻食的三维路径规划方法 | |
CN105067004A (zh) | 一种基于地形的路径搜索方法 | |
CN111462323A (zh) | 一种面向三维空间的动态欺骗路径规划方法及*** | |
CN103065305B (zh) | 虚拟手术训练***中基于四面体的组织模型切割方法 | |
CN105335478B (zh) | 构建城市土地空间立体调查数据语义关联的方法和装置 | |
Gao et al. | Assessing the impacts of ecological-living-productive land changes on eco-environmental quality in Xining City on Qinghai-Tibet Plateau, China | |
CN102880753B (zh) | 基于分形维数的土地利用空间特征尺度转换方法 | |
CN112116709A (zh) | 一种提高地形表达精度的地形特征线处理方法 | |
CN105974471A (zh) | 一种基于异步流的地震数据多gpu快速正演计算方法 | |
CN113012286B (zh) | 一种基于密集点云数据构建道路dem的方法 | |
CN107063195B (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 |