APP下载

基于GMap.NET的无人机航迹再现设计与应用*

2014-03-27吉宏安

舰船电子工程 2014年10期
关键词:预置离线控件

马 野 吉宏安

(海军大连舰艇学院 大连 116018)

1 引言

无人机在飞行过程中,各种因素都可能导致飞行偏航,甚至造成飞行事故。飞行再现技术,能够迅速还原飞机各系统的工作情况和各种飞行状态信息,从而正确估计飞行状态的变化趋势、分析可能存在的故障隐患及危害度,并提供安全级别报警和应采取的应急措施,因此,被广泛应用于飞行事故中的飞参数据分析[1]。

目前,国内外的飞行再现技术在有人驾驶飞机上的使用已经非常成熟,可以实现三维的飞行仿真,但三维的仿真需要搜集大量数据以建立真实地景模型,系统庞大复杂,对计算机的图形硬件有较高的要求[2~3],在无人机的使用方面有较大局限性。本文着重介绍的无人机二维航迹再现技术,能够供工作人员迅速、准确的判断出偏航区域,方便、快捷的寻找到问题参数,而且操作简便,对硬件要求低,更具有实际使用价值。

2 主体结构设计

无人机航迹再现作为无人机飞参分析系统的重要组成部分,是一种利用电子地图,结合飞参数据,真实反映无人机飞行全程轨迹变化的技术。论文所研究的系统选择了GMap.NET控件作为开发航迹再现模块的核心,其总体结构分为三个部分,如图1所示。

图1 无人机航迹再现模块机构图

1)地图浏览。系统从飞行记录中获取飞参数据,并自动加载该飞行区域的地图,供用户执行浏览、拖动、缩放等操作。

2)航线预置。提供了在地图上绘制航迹点、航线并对进行管理的功能,在偏航分析中,通过实际航线与预置航线的比对,可以迅速标绘出偏航位置,达到偏航报警的功能。

3)航迹再现。可以对飞行航迹的快速还原,也可以同步其它飞参数据共同进行飞行状态的动态演示。

3 技术实现

3.1 地图浏览

地图加载与浏览是无人机航迹再现的核心。基于GMap.NET电子地图的应用大多是在线地图,对离线地图的使用很少。本系统中应用的是GMap.NET离线地图的嵌入与浏览,其与用户交互的模型如图2所示。

图2 GMap.NET离线地图模型

图3 栅格模型

3.1.1 地图数据库建立原理

GMap.NET中的电子地图采用栅格化的数学模型,是直接采用面域或空域枚举来直接描述空间目标对象的[4]。如图3所示,该模型的特点是:同一地理区域,拼接地图的图片数量与地图缩放的级数以及地图分辨率均成正比[5]。

地图数据库存储和管理着海量的地图图片,存储时对每张图片都指定了URL。不同地图对图片URL的命名有不同的规则。以百度地图为例,图4所示为地图中图片的URL,1位置代表的是分布式服务器地址,2位置是根据墨卡托投影算法解算出来的坐标,3位置是图片所在的层级数,4位置代表当前版本号,5位置表示通过浏览器访问,6位置是固定值[6]。

图4 百度地图URL地址

GMap.NET支持对在线地图的图片获取,通过GetImageFrom()方法,把选定区域的各个层级的地图图片提取出来,并打包生成.gmdb文件,即系统中所用到的离线地图数据包。

3.1.2 GMapProvider接口原理

GMap.NET采取了良好的代码结构,缓存、数据结构都遵循了低耦合-高内聚的原则,每个模块之间的联系都是基于接口编程的[7]。GMapProvider就是GMap.NET地图数据源的接口。

由于不同的地图对于图片URL的命名有不同的规则,所以,当客户端通过GMapProvider接口调用地图时,必须对所加载地图的URL命名规则进行明确,调用流程如图5所示。

图5 GMapProvider接口调用流程

3.1.3 地图的显示与操作

通过对地图数据库和GMapProvider接口的准备,实现了离线地图的显示功能。通过定义了一系列的鼠标动作,如支持对地图的拖动浏览、地图的缩放、地图的标注以及鹰眼等[8],最终完善了GMap.NET控件在无人机航迹再现系统中的应用。

3.2 航线预置

对飞参数据进行分析时,把预置航线与再现航线进行比对,可以直观地寻找出偏差位置以及偏离时刻,极大地简化了数据分析的难度,提高了工作效率[9]。

航线预置可分为两个部分:一是航线绘制,二是航线管理。GMap.NET地图控件的分层结构式框架,支持多图层绘制。同时,提供的一系列功能强大接口,可供用户定制标绘点、标绘线的颜色、形状、大小等,大大简化了航线标绘的过程。航线预置流程如图6所示。

图6 航线预置流程程序图

航线管理是通过数据库,将预置的航线进行编号管理,并提供航线浏览查询和重复利用。

3.3 航迹再现

实现航迹再现,需要用到随时间不断变化的飞行轨迹数据。根据无人机飞行记录系统记录的导航信息就可以描述飞行轨迹变化情况了。特殊情况下根据飞行速度、航向及姿态等信息,也可以换算出位置信息,这就需要在加载地图前,对数据进行预处理[10]。

3.3.1 航迹绘制

GMap.NET为航线绘制提供了一个GMapRoute接口,只需要定义一个List〈〉列表,并将所有的航迹点添入列表中,GMap.NET便可以根据列表信息,绘制出整个飞行过程的航迹线。

3.3.2 动态演示

航迹的动态演示过程结合了飞参数据分析共同进行。系统在演示实时轨迹的同时,对发动机参数、变速箱温度、外界温度等一系列飞参数据的变化曲线也进行了绘制,工作人员可根据需要,随时对相应的参数曲线进行分析,对超出阈值范围的参数,系统还提供自动报警。动态演示流程如图7所示。

图7 航迹再现动态演示程序流程

3.3.3 航迹再现效果

图8 航迹再现即动态演示效果

无人机的航迹再现效果如图8所示,图8(a)为无人机实际航迹图,地图上方为功能区,提供对飞行记录的选择以及演示参数的控制,左上角则实时显示了无人机实时位置信息,并算出了飞行航程。图8(b)是同步显示的各项参数的飞参曲线,左侧的参数区域可以对所要查询的飞参数据进行选择。

4 结语

本文构建的无人机航迹再现系统,在GMap.NET控件的平台上,探讨了离线地图数据库的建立原理以及GMapProvider接口技术,实现了多种地图格式的离线浏览与操作;研究了地图的标绘方法,设计了预置航线数据库,实现了航迹预置的功能;结合对飞参数据的获取和分析,实现了无人机航迹再现的二维动态演示。整个系统的设计简洁美观,可操作性强。

[1]胡朝江,陈列,杨全法.飞机飞参系统及应用[M].北京:国防工业出版社,2012:164-165.

[2]高辉,张茂军.基于真实地景的三维飞行再现系统的设计与实现[J].计算机工程,2006,32(12):232-240.

[3]赵向领.飞行航迹再现与三维回放研究[J].计算机工程与科学,2012,34(7):99-103.

[4]何必.地理信息系统原理教程[M].北京:清华大学出版社,2010:82-90.

[5]CSDN博客redhairp的专栏.栅格那点儿事(一)[EB/OL].http://blog.csdn.net/redhairp/article/details/7238227,2012.

[6]360doc个人图书馆.深入理解最强桌面地图控件GMAP.NET[EB/OL].http://www.360doc.com/content/13/0424/16/9163198_28630504.shtml,2013.

[7]开源中国社区.在线地图浏览器GMAP.NET[EB/OL].http://www.oschina.net/p/gmap-net,2012.

[8]孙涛,马野,孙明珠,等.舰载无人机导航信息系统设计与实现[J].舰船电子工程,2013,33(7):4-7.

[9]钱正祥,丁鹏辉,王春龙,等.基于自适应技术的无人机飞行航迹控制研究[J].电子测量与仪器学报,2007(增刊):38-41.

[10]王军,程远增,段修生,等.基于多线程技术的目标航迹的真实再现[J].科学技术与工程,2007,7(4):511-512.

猜你喜欢

预置离线控件
异步电机离线参数辨识方法
基于排队论的水下预置反舰导弹部署优化
基于.net的用户定义验证控件的应用分析
浅谈ATC离线基础数据的准备
互联互通车载控制器离线数据自动生成方法研究
关于.net控件数组的探讨
可预置工作点脉动直流工况电感测量仪研制
多级网络物资预置—前送模型及改进布谷鸟搜索算法研究
基于离线状态监测的复杂装备预知维修决策及优化
请把手机应用选择权还给消费者