首页> 中国专利> 基于骨架图的TF/TA2航迹规划方法

基于骨架图的TF/TA2航迹规划方法

摘要

本发明提出了一种基于骨架图的TF/TA2航迹规划方法,根据数字地图的高程信息,利用地形特征,将相对平坦和山谷地形提取出来,建立骨架图,作为航迹规划的参考。与传统航迹规划算法相比,骨架图法不在依赖于数字高程所提供的网格信息,它将整个数字高程信息转化为骨架图,在实际计算中相当于将成千数万个网格点变成了骨架图中的一个计算节点,使得搜索空间大大缩小,计算效率大幅度提高。而且由于骨架图可以根据地形高程图提前离线处理好,然后保存起来,使用的时候直接加载拼接就能得到整个区域的骨架图。飞行过程遇到危险或突发情况时,根据威胁对骨架图快速处理就能得到新的骨架情况,无需重新构建骨架。

著录项

  • 公开/公告号CN105913469A

    专利类型发明专利

  • 公开/公告日2016-08-31

    原文格式PDF

  • 申请/专利权人 西北工业大学;

    申请/专利号CN201610225363.4

  • 发明设计人 段晓军;张胜贵;陈新庄;

    申请日2016-04-12

  • 分类号

  • 代理机构西北工业大学专利中心;

  • 代理人陈星

  • 地址 710072 陕西省西安市友谊西路127号

  • 入库时间 2023-06-19 00:22:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-24

    未缴年费专利权终止 IPC(主分类):G06T11/20 专利号:ZL2016102253634 申请日:20160412 授权公告日:20181023

    专利权的终止

  • 2018-10-23

    授权

    授权

  • 2016-09-28

    实质审查的生效 IPC(主分类):G06T11/20 申请日:20160412

    实质审查的生效

  • 2016-08-31

    公开

    公开

说明书

技术领域

本发明涉及航迹规划技术领域,具体为一种基于骨架图的TF/TA2航迹规划方法。

背景技术

地形跟随/地形、威胁回避(Terrain Following/Terrain Avoidance and Treat Avoidance,缩写为TF/TA2)技术极大地提高了飞行器的突防能力和生存能力,其中航迹规划(Route Planning)是其核心技术。

航迹规划通常分为静态(或离线)航迹规划和动态(或在线)航迹规划两种。静态航迹规划是指在执行任务前,根据已经获得的诸如地形威胁、敌方火力威胁等已知威胁信息进行航迹规划;动态航迹规划是指在执行任务过程中,根据诸如遇到新的突现威胁、目标任务发生变化等进行航迹重规划。

当前的航迹规划算法有很多,有些也比较成熟,可根据不同的分类标准对众多算法进行系统分类。从规划决策的角度,航迹规划算法可分为最优化算法和启发式算法这两类。

最优化算法是纯数学优化方法,通过数学计算得到最优的路径,这类算法的运算能力与规划的规模紧密联系,若规划规模较大或者问题较多时,其计算时间爆炸式增长,常常会导致无解或者有解但要无休止的运算下去。常用的最优化算法有穷举法、动态规划法、人工势场法、梯度法、参数优化法等。

启发式算法相对最优化算法而提出,其定义为:一个基于直观或经验构造的算法,在可接受的花费(计算时间与空间)下给出待解决优化问题的一个可行解。常用的启发式算法包括:遗传算法、禁忌搜索算法、蚁群算法、蜂群算法、模拟退火算法、神经网络算法、粒子群优化算法等。

关于航迹规划的综述文献包括(李季,孙秀霞.基于改进A-Star算法的无人机航迹规划算法研究[J].兵工学报,2008,29(7):788-792.)(胡中华,赵敏,姚敏,等.无人机航迹规划技术研究及发展趋势[J].航空电子技术,2009,40(2):24-29.)和(王维平,刘娟.无人飞行器航迹规划方法综述[J].飞行力学,2010,28(2):6-10.),其中详细比较了 各类航迹规划算法的优劣,下面对常用的TF/TA2航迹规划算法总结如下:

(1)人工势场法(Lin C L,Li Y H,Aouf N.Potential-field-based evolutionary route planner for the control of multiple unmanned aerial vehicles[J].Proceedings of the Institution of Mechanical Engineers,Part G:Journal of Aerospace Engineering,2010,224(11):1229-1242.)是航迹规划领域较常使用的算法之一,该算法主要利用物理中关于磁场吸引和排斥的法则,将目标点周围视为吸引场,威胁和障碍视为排斥场,飞行器在两者综合生成的势场中飞行。该算法在计算过程中,只使用当前位置临近诸点的信息,所以计算速度快,而且利用该方法还可以处理动态威胁信息。但当吸引力和排斥力相等时由于局部最小点的存在导致规划失败。

(2)动态规划方法(闵昌万,袁建平.航迹规划中安全走廊及参考轨迹的确定[J].飞行力学,1999,17(2):13-18.)也常常用于航迹规划领域,该方法通常能得到一个全局最优解,但计算量随着优化空间的增大也急剧增大,虽然有学者通过把三维最优路径分解为水平方向和垂直方向分别进行计算、通过限制航向改变量不能大于45°从而用可行航向进行搜索、或者提出将树型搜索与动态规划过程相结合进行最优航迹的计算等方式来减小动态规划的维数,提高算法效率,但在大范围计算、实时规划中计算效果仍不理想。

(3)以遗传算法为代表的诸多智能算法,如(Volkan Pehlivanoglu Y,Baysal O,Hacioglu A.Path planning for autonomous UAV via vibrational genetic algorithm[J].Aircraft Engineering and Aerospace Technology,2007,79(4):352-359.)(Blasi L,Barbato S,Mattei M.A particle swarm approach for flight path optimization in a constrained environment[J].Aerospace Science and Technology,2013,26(1):128-137.)(陈冬.基于粒子群优化算法的无人机航迹规划[D].西北工业大学2007.)也常被用来求解航迹规划问题,该类算法通常将目标函数表示为距离代价、路径代价、威胁代价、惩罚代价和范围代价的组合,将飞机机动性等较难处理的约束引入问题编码中,例如将最大偏航距的取值限制在一定的范围内以防止航迹作过大的转弯。但算法的收敛速度不佳且难以验证航迹的优劣。

(4)A-star搜索算法(李季,孙秀霞.基于改进A-Star算法的无人机航迹规划算法研究[J].兵工学报,2008,29(7):788-792.)也是航迹规划领域常用的算法之一。该方法是一种静态路网中求解最短路最有效的方法,利用数字地图的栅格存储方式,根据节点的距离、威胁等信息确定估价函数,在搜索所有节点的情况下,最终能够得到一条最优航迹,但实时性较差。在引入了启发式搜索的思想,提出了一种人工辅助标记航路点+改进的启发式ASTAR算法相结合的航迹规划方法之后,虽然大大改善了航迹规划的效果和实时性,但仍然没有从根本解决实时性问题,且人工辅助标记航路点如何合适确定也是一个新的问题。

发明内容

当前的航迹规划算法各有偏重,在静态航迹规划中,由于对求解时间没有太大限制,可以选择和尝试各种算法进行求解。但在动态航迹规划的时候,由于实时性要求很高,很多算法无法满足实际需要。

为解决现有技术存在的问题,本发明提出了一种基于骨架图的TF/TA2航迹规划方法,根据数字地图的高程信息,利用地形特征,将相对平坦和山谷地形提取出来,建立骨架图,作为航迹规划的参考。在航迹规划过程中,尤其是动态航迹规划,面对复杂的山区地形,能快速制定一条可飞的航迹。

本发明的技术方案为:

所述一种基于骨架图的TF/TA2航迹规划方法,,其特征在于:包括以下步骤:

步骤1:根据数字地图上每一点的高程信息,建立二值图;所述数字地图包含后续步骤3中需要提取的关键区域;

步骤1.1:依据数字地图上每一点的二维平面坐标,建立中间图;所述中间图中的点与数字地图上对应点具有相同的二维平面坐标;

步骤1.2:依据数字地图上每一点的高程信息,进行如下处理,以给中间图中对应点赋高度值:

对于数字地图上的某一点A,以A点为几何中心,建立一个正多边形区域或圆形区域,计算区域内所有点高度的平均值H,若A点在数字地图上的高度值不大于 H*a,则给中间图中与点A具有相同二维平面坐标的点A’赋高度值为H*a,其中a为比例参数,否则给点A’赋A点的高度值;

步骤1.3:依据中间图中各点的高度值,计算中间图中各点的梯度;依据梯度阈值,对中间图中各点进行二值划分,梯度大于阈值的点取值0,梯度不大于阈值的点取值1,并在划分过程中进行去噪处理,得到去噪后的二值图;所述梯度阈值根据最大类间方差法自动确定;

步骤2:对步骤1得到的二值图进行基于细化的骨架提取,得到由节点和边组成的骨架图D=(V,A),其中V为节点集合,A为边集合;

步骤3:从步骤2得到的骨架图中提取设定的关键区域的骨架图;

步骤4:重复步骤1至步骤3,得到能够组成航迹规划区域的若干块关键区域骨架图;对于相邻的两幅关键区域骨架图,其中一幅关键区域骨架图的末尾行或末尾列与另一幅关键区域骨架图的首行或首列具有相同的地理位置;

对相邻的关键区域骨架图按照以下方法进行拼接,得到组成航迹规划区域的骨架图:

对于相邻的两幅关键区域骨架图中具有相同地理位置的点,若该数据点对应在二值图的取值均为1,则在拼接后的骨架图中将该点设置为骨架点;

步骤5:在组成航迹规划区域的骨架图中增加已知威胁区域和突发威胁区域:在威胁区域的安全边界增加骨架,将被威胁区域打断的骨架相连;

步骤6:根据航迹规划要求的起点vs和终点vt,在组成航迹规划区域的骨架图中得到从vs到vt的长度最短的2维路径;

步骤7:基于A*算法对步骤4得到的最短2维路径进行优化,得到最优3维航迹。

进一步的优选方案,所述一种基于骨架图的TF/TA2航迹规划方法,,其特征在于:步骤1.2中建立区域为正方形区域,比例参数a取50%。

有益效果

与传统航迹规划算法相比,骨架图法不在依赖于数字高程所提供的网格信息,它将整个数字高程信息转化为如图1所示的骨架图,在实际计算中相当于将成千数万个 网格点变成了骨架图中的一个计算节点,使得搜索空间大大缩小,计算效率必将有较大幅度的提高。

由于骨架图可以根据地形高程图提前离线处理好,然后保持起来,使用的时候直接加载拼接就能得到整个区域的骨架图。飞行过程遇到危险或突发情况时,根据威胁对骨架图快速处理就能得到新的骨架情况,无需重新构建骨架。

而且,经过抽象的骨架图与图论中所描述的图形类似,都是由节点和边组成,边上的权重可以用一个向量来表示,分别表示节点的距离、被发现的概率等约束信息,图论中常见的最短路算法等可以自然移植到骨架图方法中间。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1:骨架图法示意图;

图2:骨架化处理示意图;

图3:骨架计算模板;

图4:骨架处理中的邻域处理示意图;

图5:保存的骨架图示例;

图6:高程数据图的三维表示;

图7:高程数据图的三维俯视表示;

图8:梯度处理后的中间图灰度表示;

图9:阈值为0.28的二值图;

图10:去噪后的二值图;

图11:全局骨架图;

图12:局部骨架图;

图13:标记交点后的骨架图;

图14:相邻点计算图;

图15:邻接图;

图16:邻接图局部放大图;

图17:航迹规划结果图;

图18:航迹规划3维结果图(局部显示);

图19:A*算法局部优化结果在等高线图中的投影;

图20:原始区域的灰度显示;

图21:“灌水”处理后的灰度显示;

图22:使用大津法获取阈值进行图像分割后的二值图;

图23:进行去噪处理后的二值图;

图24:最终的骨架图;

图25:N33E105开始的15个CELL的骨架图拼接。

具体实施方式

下面详细描述本发明的实施例,描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本发明针对现有航迹规划算法存在的问题,提出了一种基于骨架图的TF/TA2航迹规划方法,根据数字地图的高程信息,利用地形特征,将相对平坦和山谷地形提取出来,建立骨架图,作为航迹规划的参考。在航迹规划过程中,尤其是动态航迹规划,面对复杂的山区地形,能快速制定一条可飞的航迹。

本发明的总体构思为:

如果规划空间的地形较为规律,例如平原地形、沙漠地形或者海面地形等,从数据上来看,数字高程值在规划区域变化不大,或者其方差限定在以较小的范围,在图像上近似为一平面,此时对应的航迹规划就得到极大的简化,因为此时的数字地图可以认为不起作用,飞行器只需要跟随地形低空飞行,且避开已知威胁源并保证航程最短即可得到“最优航迹”。而复杂地形是导致航迹规划问题难于求解的关键因素之一,本发明重点针对复杂地形情况下的航迹规划问题,提取复杂地形的特征,设计了基于 骨架图的快速航迹规划算法。

为了保证低空飞行状态下飞行器的飞行安全和降低被地方发现的概率,飞行器需要在具有一定宽度的“山谷”中飞行,并保证飞行器能够始终在这些“山谷”中穿行,且越来越接近执行任务区域。这些“山谷”的集合就是飞行器可能的飞行路径,而“山谷”的交汇处即为规划路径中比较关键的部分,如果交汇处飞行器可选择的飞行方向有多个,则称该交汇点为“关键点”。如图1所示,线段表示“山谷”(通常是一条曲线,图1只是示意图,用直线统一表示),圆圈表示“山谷”的交汇点,实心的圆圈表示“关键点”,表示飞行器在此可以多种飞行方向的选择。

骨架图(Skeleton)也称路标图(Roadmap),是将地形中的山谷、通路,进行概略抽象,对复杂地形情况下的“山谷”、“山脊”、“山体”等地形状况进行区分,将复杂地形表示成一个二维网络图。然后采用搜索算法在该二维网络图上进行轨迹搜索。这样,路径规划问题被转化为一个网络图的搜索问题。

上述方法通过以下步骤具体实现:

步骤1:根据数字地图上每一点的高程信息,建立二值图;所述数字地图包含后续步骤3中需要提取的关键区域。

步骤1.1:依据数字地图上每一点的二维平面坐标,建立中间图;所述中间图中的点与数字地图上对应点具有相同的二维平面坐标;

步骤1.2:依据数字地图上每一点的高程信息,进行如下处理,以给中间图中对应点赋高度值:

对于数字地图上的某一点A,以A点为几何中心,建立一个正多边形区域或圆形区域,计算区域内所有点高度的平均值H,若A点在数字地图上的高度值不大于H*a,则给中间图中与点A具有相同二维平面坐标的点A’赋高度值为H*a,其中a为比例参数,否则给点A’赋A点的高度值;

步骤1.3:依据中间图中各点的高度值,计算中间图中各点的梯度;依据梯度阈值,对中间图中各点进行二值划分,梯度大于阈值的点取值0,梯度不大于阈值的点 取值1,并在划分过程中进行去噪处理,得到去噪后的二值图;所述梯度阈值根据最大类间方差法自动确定。

梯度信息能够一定程度上反映这种地形上的差异,“山脊”处数字高程信息梯度变化较大,反映山脉高低起伏特征,而“山谷”处较为平缓,数字高程信息梯度变化不大,可以通过设定一个阈值来区分“山谷”和“山脊”,“山顶”处数字高程信息梯度变化通常也不够明显,但在骨架图上显示为不连通的孤立点,使用数值方法去除即可。

为了在梯度下更加凸显出“山谷”的特征,可以先对地图进行模拟给山谷“灌水”的预处理操作:选择一个参考尺寸r(比如900米)和一个比例a(比如50%),如果某点A处的高度小于或等于参考尺寸所覆盖范围均值H的a比例,可以认为A点处在“山谷”中,令A处的高度等于均值*比例(H*a)。经过这样处理后,更低的“山谷”地形被填平了,在后续梯度计算的时候会得到一个较小值;同时此变换仅考虑A点和它周围的点,最低的地方被抬升,保持了地形的连续性。

预处理操作结束后,计算各点的梯度,然后采用阈值分割法对梯度灰度图进行图像分割处理。阈值分割法的结果很大程度上依赖于对阈值的选择,因此该方法的关键是如何选择合适的阈值。本发明中采用公知的最大类间方差法(也叫大津法OTSU)自动确定图像二值化分割阈值,以免设置固定阈值时导致有些区域差别不明显。

二值图像的在背景区通常会出现一些白点,而目标区出现一些黑点,称之为二值图的噪声。实际上这些噪声点可能是山顶的小块平坦地形,或者是湖中的一个小岛。显然这些地方是不会影响航行路线的,需要通过去噪处理将其除去,公知的去噪方法为首先通过标记连通区域,再统计每个连通区域的像素大小,根据像素大小确定其为背景区还是目标区。

此步处理完毕后,原始的高程图就被转化为二值图。

步骤2:对步骤1得到的二值图进行基于细化的骨架提取,得到由节点和边组成的骨架图D=(V,A),其中V为节点集合,A为边集合。对二值图进行基于细化的骨架提取过程是公知方法,下面进行简单介绍:

骨架化:骨架是把一个平面区域简化而得到的,具有与区域等价的表达。抽取目 标的骨架是一种重要的表达目标形状结构的方法,常称为目标的骨架化。实现对骨架抽取的方法有多种思路,其中一种比较有效的技术是中轴变换(medial axis transform,MAT)。具有边界B的区域R的MAT是如下确定的,参见图2。对每个R中的点p,可在B中搜寻与它距离(可使用不同的距离定义)最小的点。如果对p能找到多于一个这样的点(即有两或以上的B中的点与p同时距离最小),就可认为p属于R的中线或骨架,或者说p是一个骨架点。

由上述讨论可知,骨架可用一个区域点与两个边界点的最小距离来定义,即写成:

ds(p,B)=inf{d(p,z)|zB}

其中距离量度可以是欧氏的、城区的或棋盘的。因为最近距离取决于所用的距离量度,所以MAT的结果也和所用的距离量度有关。

如果设S是区域R的骨架,则有(实际中,有时并不能保证下述5点全能满足):

S完全包含在R中,S处在R里中心位置;S为单个像素宽;S与R具有相同数量的连通组元;S的补与R的补具有相同数量的连通组元;可以根据S重建R。这里提供一种计算骨架的一种实用算法:

根据上式区域骨架需要计算所有边界点到所有区域内部点的距离,因而计算量是很大的。实际中都是采用逐次消去边界点的迭代细化算法,在这个过程中有3个限制条件需要注意:①不消去线段端点;②不中断原来连通的点;③不过多侵蚀区域。

设已知目标点标记为1,背景点标记为0。定义边界点是本身标记为1而其8-连通邻域中至少有一个点标记为0的点。算法考虑以边界点为中心的8-邻域,记中心点为p1,其邻域的8个点顺时针绕中心点分别记为p2,p,…,p9,其中p2在p1上方,参见图3。

算法包括对边界点进行两步操作:

标记同时满足下列条件的边界点:

(1.1)2≤N(p1)≤6;(1.2)S(p1)=1;(1.3)p2·p4·p6=0;(1.4)p4·p6·p8=0;其中N(p1)是p1的非零邻点的个数,S(p1)是以p2,p,…,p9,p2为序时这些点的值从0→1变化的次数。当对全部边界单都检验完毕后,将所有标记了的点除去。

标记同时满足下列条件的边界点:

(2.1)2≤N(p1)≤6;(2.2)S(p1)=1;(2.3)p2·p4·p8=0;(2.4)p2·p6·p8=0这里前两个条件同第(1)步,仅后两个条件不同。同样当对全部边界点都检验完毕后,将所有标记了的点除去。

以上两步操作构成一次迭代。算法反复迭代直至没有点再满足标记条件,这时剩下的点组成区域的骨架。参见图4。

在以上各标记条件中,条件(1.1)或条件(2.1)除去了p1只有一个标记为1的8-邻域点(即p1为线段端点的情况如图4(a)所示)以及p1有7个标记为1的邻点(即p1过于深入区域内部的情况如下图4(b)所示);条件(1.2)或条件(2.2)除去了对宽度为单个像素的线段进行操作的情况(图4(c)和图4(d))以避免将骨架割断;条件(1.3)和条件(1.4)除去了p1为边界的右或下端点(p4=0或p6=0)或左上角点(p2=0和p8=0)亦即不是骨架点的情况(前一个情况见图4(e))。类似地,条件(2.3)和条件(2.4)除去了p1为边界的左或上端点(p2=0或p8=0)或右下角点(p4=0和p6=0)亦即不是骨架点的情况(前一个情况见图4(f))。最后注意到,如p1为边界的右上端点则有p2=0和p4=0,如p1为边界的左下端点则有p6=0和p8=0,它们都同时满足条件(1.3)和条件(1.4)以及条件(2.3)和条件(2.4)。

使用MATLAB仿真时,可以使用bwmorph函数的thin操作。为了让最后的骨架效果更好,细化操作不要一直从一个方向上进行,让骨架尽量在区域中央。

比如以S(p1)代表八个bit位构成的整数表示点p1的特征,满足某些值的时候该点可以被细化掉。根据上述分析,从上、右上和下、左下两个方向细化时,可以被细化的值如下:

上、右上:50,51,54,55,176,180,240,244,306,307,308,310,311,432,436,436,438,464,472,496,500,504

下、左下:23,26,27,30,31,55,63,89,90,91,91,94,95,152,153,216,217,219,408,409,472,473

获取骨架后,将该区域的二值图和骨架图信息进行保存。如图5所示,黑色区域 是二值化处理后的背景区域,这些区域的梯度值比较大,不建议飞行器选择这些地方飞行;灰色区域是二值化处理后值为1的区域,梯度值较小,是平坦的地形或“山谷”;白色线条表示骨架,是我们制定航迹的参考。

步骤3:从步骤2得到的骨架图中提取设定的关键区域的骨架图。

通过上述算法描述,获得某区域的骨架图是比较耗时的操作,一次操作选择的区域越大,耗时越长。实际操作时,可以选择一个CELL(1经度*1维度,SRTM3精度下1201*1201像素,即设定的关键区域)的区域进行处理,然后保存处理好的骨架图(对应一个CELL,也是1201*1201像素)。后续使用的时候进行拼接,为了保证拼接的骨架是正常的,要求在二值化处理过程中,“灌水”和计算梯度时多加载周围的CELL,确保得到边界的正确值。

步骤4:重复步骤1至步骤3,得到能够组成航迹规划区域的若干块关键区域骨架图;对于相邻的两幅关键区域骨架图,其中一幅关键区域骨架图的末尾行或末尾列与另一幅关键区域骨架图的首行或首列具有相同的地理位置;

对相邻的关键区域骨架图按照以下方法进行拼接,得到组成航迹规划区域的骨架图:

对于相邻的两幅关键区域骨架图中具有相同地理位置的点,若该数据点对应在二值图的取值均为1,则在拼接后的骨架图中将该点设置为骨架点。

由于两个CELL在单独进行骨架化的时候,尤其边界是大面积灰色区域时,两个CELL的骨架的位置可能不一样,直接组合会导致骨架是断开的。在拼接的时候,最后一行/列(第1201行/列)和邻居CELL的第0行/列需要对接,两者都是灰色,将该处设置为骨架点。这样就确保了两个CELL的骨架在边界处能对接上。

步骤5:在组成航迹规划区域的骨架图中增加已知威胁区域和突发威胁区域:在威胁区域的安全边界增加骨架,将被威胁区域打断的骨架相连。

对于已知威胁和突发威胁,直接作用在骨架图上,将威胁区域设置为背景色,骨架图会产生断裂。同时,为了让骨架图体现出现威胁后的连通状况,需要增加骨架:在威胁区域的安全边界(威胁区域边界的下一个点),如果安全边界是灰色区域,将该 处设置为骨架。威胁消除后,威胁区域和新增骨架也要在骨架图上撤销。

步骤6:根据航迹规划要求的起点vs和终点vt,在组成航迹规划区域的骨架图中得到从vs到vt的长度最短的2维路径。

有了骨架图就可以进行宏观层面的高层轨迹规划,获得关键航路点,根据具体的约束设置路径权重信息,根据约束的复杂程度,路径权重信息可能包含距离、威胁程度、离地高度、“山谷”宽度等信息,是一个向量,根据骨架图以及对应的权重信息,借助图论中的最短路等算法即可迅速获得一条最优航迹。

这里以最短路径为目标进行飞行器航迹规划,记骨架图D=(V,A),对D的节点进行编号。记aij=(vi,vj)为节点vi和vj形成的边,其长度记为wij,表示边上的权。若给定两个顶点vs和vt,设P是D中从vs到vt的一条路径,称路径P中所有边权重之和为路径P的权,记为w(P),则从vs到vt的最短路模型可表示为

ω(P*)=minPω(P)

该模型可以用Dijkstra算法进行求解。

步骤7:基于A*算法对步骤4得到的最短2维路径进行优化,得到最优3维航迹。

骨架图全局优化仅仅给出了一条粗略的2维航迹,在实战中通常需要给出一条更为精细的3维航迹,可以采用公知的A*算法对路径分段进行计算得到。从已经获得的航迹上选取若干人工辅助标记航路点,使用A*算法得到分段最优航迹。

下面以一个MATLAB仿真实例体现本方法:此实例以体现方法过程为主,骨架图存储格式和拼接在下个实例说明。

仿真实例:以图6所示范围的地形数据为例检验基于概略图的航迹规划算法的有效性。图6为高程数据的3维显示图形,纵轴每个点的数据表示该点的高度,与纵轴垂直的两个方向分别对应经度和纬度方向。图6的俯视图如图7所示。

(1)将数据先进行“灌水”处理,然后做梯度处理,并归一化,其灰度图像为图8。

(2)选取“灰度阈值”将灰度图转化为二值图,根据阈值选取算法,本例取阈值为0.28,对应图9。

(3)由以上结果,经过去噪处理,利用形态学运算去掉二值图中的像素较小的区 域,突出有关联的区域,由图9去除小区域后的结果为图10。

(4)根据前述算法,由二值图获取脊线(骨架),得到图6所对应的骨架图如图11所示,局部放大得到骨架图某一局部的放大图如图12所示。

(5)由骨架图计算交点(邻居格式大于2的点)。根据图像处理的形态学算法计算交点,得到图13。

(6)由标记了交点的骨架图(图13)计算邻接矩阵。

a)先计算每个点的相邻点,如图14。

b)根据相邻点像素点个数,结合图6的分辨率数据计算相邻点之间的距离。

c)由点和距离绘出拓扑图,并对节点进行编号,如图15所示。

(7)利用Dijkstra算法计算任意两点之间的路径和距离。以起点为56号终点为101号为例,得到如下求解结果:

距离:distance=554.7544(像素);

路径path:

56->63->68->70->71->84->90->94->104->117->119->125->128->122->101.

图17为对应的图形显示。

(8)选取60号为起点,80为终点利用3维的A*算法求取它们之间的3维局部路径。结果如图18所示。图19则表示局部优化结果在等高线图中的投影。可以看出,3维航迹正好位于、且始终位于“山谷”上方,完全符合低空突防的需求。

骨架图构造实例:使用STRM3精度的N33E106对应CELL的区域为例。

原始数据地图(高程图直接显示为灰度图,如图20)先经过“灌水”处理(图21);使用大津法选取阈值后对灰度图像进行二值分割,得到初始的二值图(图22);然后再进行去噪处理,得到最终的二值图(图23);使用细化操作,获取二值图的骨架(图24)。

骨架图拼接实例:对获取的骨架图,按CELL保存(也可以按其他规格块保存,确保每个骨架图最后一行/列和邻居块的首行/列表示同一地方,便于对接),然后拼接。拼接规则:如果两个骨架图的相同边界点都是灰色,就将该处设置为骨架点。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号