APP下载

舰载无人机导航信息系统设计与实现*

2013-08-10孙明珠李晓芳

舰船电子工程 2013年7期
关键词:海图图层信息系统

孙 涛 马 野 孙明珠 李晓芳

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

1 引言

无人机导航信息系统是一种能实时显示无人机侦查信息,同时能够对无人机进行精确定位及导航的助行设备[1]。其最核心的部分是合理地使用电子导航(海)地图,确定飞行位置等即时运动状态信息,直观准确地实现飞行路线的规划及修改。在以往的无人机导航信息系统设计中,许多设计没有集成电子导航(海)地图,不易于判断规划的合理性。在导航任务规划中缺乏对预规划航线的修改等,使得规划可操作性差。针对当前舰载无人机的发展现状及发展需求,本文主要研究舰载无人机导航信息系统中的电子海图解析和显示功能,即研究如何读取显示S-57标准的电子海图数据,如何在海图界面下实现对无人机的航线制定,如何实现在海图界面上实现图形化的交互操作。通过研究电子海图技术,为构建专业的舰载无人机导航信息系统打下技术基础。

2 系统的总体设计

2.1 系统开发环境

选择的编程语言为C#,集成开发环境为Microsoft Visual Studio 2008,选择SuperMap Objects.NET 6R作为开发电子海图软件的核心。如图1所示为SuperMap Objects.NET 6R功能结构[2],本系统重点使用SuperMap Objects.NET 6R中的数据模块和地图模块。

图1 SuperMap Objects.NET 6R功能结构

2.2 系统总体设计

根据舰载无人机导航信息系统的实际需求,系统共分为四个部分:海图浏览、路线规划、信息查询和系统数据库。各部分功能相对独立,又紧密相连,共同组成了舰载无人机导航信息系统。各部分的相互关系如图2所示。

图2 系统功能模块之间的关系

2.3 系统流程

舰载无人机导航信息系统是功能集成度很高的软件,在同一个界面下集成了很多不同的功能。在对舰载无人机导航信息系统进行操作时,通过身份验证,打开海图文件,读取显示海图,之后可以根据实际情况选择某一功能。在海图浏览、路线规划和信息查询三大功能中,海图浏览是其他两个功能的基础。系统运行的流程如图3所示。

图3 系统运行流程

3 系统的实现

根据系统的总体设计提出的要求,系统的结构规模如图4所示。

图4 无人机导航信息系统的结构

3.1 海图数据的获取及转换

论文所使用的SuperMap Object.NET提供了对smw、sxw、shp、mif、tab等多种地图数据格式的支持,但是不支持S-57数据格式。针对这种情况,使用SuperMap Deskpro把S-57数据转换成GIS开发平台可以支持的数据格式,以实现对电子海图数据的支持。这种方法极大地降低了开发难度,节约了开发成本,但是系统不能直接读取S-57数据格式,无法实时接收最新的S-57数据[3~4]。

3.2 海图文件的读取与显示

海图文件的读取与显示是整个系统的基础。实现海图读取与显示功能的程序流程如图5所示。

图5 海图读取与显示程序流程

3.3 路线规划

路线规划是舰载无人机导航信息系统的核心功能,通过在海图上标绘点、线、面和文本各种要素,形成舰载无人机的飞行方案。分层结构式电子海图的基本结构是将不同元素存在于不同图层上[5]。图层的创建是此功能实现的基础。根据绘制对象属性的不同,需要创建点、线、面和文本四种不同类型的图层,每个图层分别存储显示不同类型的元素。创建所需要的图层后,就需要对创建一系列的方法来完成点、线、面和文本的绘制。这是一个很复杂的过程,按照传统的编程思路,在绘制对象时需要定义一系列的事件,来捕获鼠标的动作,比如移动、单击、拖拽等;不同的对象对事件的响应也不同,需要调用不同的方法,这使得整个程序非常的复杂。基于组件的GIS开发平台提供的一系列功能接口大大简化了这一过程[6]。在图层的编辑方面,SuperMap Object.NET提供的多达30种不同元素的绘制以及完善的修改功能。实现这些功能,是需要改变MapControl.Action属性的值,不需要定义事件,甚至不需要调用方法,大大降低了编程难度。实现路线规划功能需要完成两个步骤,首先创建编辑图层,为绘制图形元素提供基本条件;然后在所创建的图层上绘制所需要的图形,实现路线的规划。

3.4 信息查询

信息查询是飞行信息系统最复杂的部分之一。地理空间数据具有多类、多层、多样、多关系、多结构等特点,处理这些数据,实现信息的查询筛选,需要用到比较高级的技巧。

与一般的数据库不同,电子海图数据通常有不同的表现形式。工作空间包含了当前使用的所有数据信息,同一条数据,在Map对象中,数据表现为一个个不同属性的图像符号,在Recordset对象中,数据直接表现为一组相关的数字和字符串,表现模式不同,但是其内在本质是一样的,有着密切的内部关系。使用电子海图系统,更多的是通过鼠标在图形界面下对海图元素进行直接的操作,因此图形与数据之间的交互和转换显得尤其重要。

3.4.1 图查信息

SuperMap Object.NET为图形对象与数据对象的转换提供了一系列方法,其中定义了两个重要的类:Selection和Recordset。Selection选择集类用于存储处理海图上被选中的对象。通过Map.FindSelection方法可以直接获得当前在海图上被选中的对象,记录在Selection对象中。Recordset记录集类用于实现对矢量数据集中的数据进行操作。Recordset对象与Selection对象有着良好的互操作性,可以互相转换。通常在获取Selection对象后,通过Selection.ToRecordset方法可以获得被选对象的全部数据。在对这些数据进行处理后,返回到Selection对象中,就可以实现对目标对象的高亮显示。在图形界面下选择元素,获取并显示元素属性,程序流程如图6所示。

图6 图查信息程序流程

3.4.2 条件筛选

Recordset记录集除了从Selection选择集转换,还可以通过SQL语句查询获取。利用SQL语句的灵活性和严谨性,为从大量海图数据中查询、筛选有效信息提供了高效的方法。

这里使用了SuperMap Object.NET中的DatasetVector.Query(QueryParameter)方法,其中 DatasetVector记录了各图层的矢量数据集,通过layer.Dataset属性获得,QueryParameter包含了查询参数,包括SQL语句。此方法最终返回给Recordset记录集。程序流程如图7所示。

图7 条件筛选程序流程

3.4.3 查询结果显示

获得的Recordset记录集具有标准的数据结构,可以方便的提取,修改其中的数据。为了能够直观显示Recordset记录集中的数据,可以使用.NET框架中的DataGridView控件显示,最终表现为数据表的形式。程序流程如图8所示。

图8 显示查询结果程序流程

3.5 附加信息的显示

附加信息包括经纬度、比例、尺网格、当前系统状态等,涉及很多方面的内容,为海图作业提供了大量的辅助信息,同时便于作业者掌握当前系统的状态,在整个电子海图系统中占有重要地位。实现附加信息的基本思路是通过GIS开发平台提供的数据接口获得所需要的参数,通过特定的格式在地图上显示出来。

3.6 系统数据库

相比其他功能模块,系统数据库并不提供直接的可操作的功能,但其对整个系统的安全性、可靠性和可维护性有重要的意义。系统数据库可设计为三个部分:用户信息、操作日志和错误记录。用户信息数据库主要存储用户的用户名、登录密码、使用权限和登录日志等信息。操作日志主要记录使用无人机导航信息系统所进行的操作,按操作的时间顺序排列。错误记录主要记录系统运行过程中发生的错误信息,便于查找错误原因。数据库本身必须加密,确保日志信息的安全,保证只有海图系统本身才能访问和修改数据库。系统数据库的运行流程如图9所示。

图9 系统数据库访问与修改

4 系统实现

经过系统的总体设计,可以构建一个功能比较完善的软件产品。如图10所示是打开后显示海图的界面,左侧是辅助面板,显示全局图和放大图,下方状态栏显示当前比例尺和经纬度,上方功能区集成了所有的功能按钮。

图10 海图显示界面

5 结语

舰载无人机是获得信息的重要手段,如何有效地使用舰载无人机获取的信息对提高信息化作战具有重要意义。与电子海图相结合,将大大提高舰载无人机导航信息系统的信息集成化程度,有利于信息的融合。同时利用电子海图化的控制方法,将大大提高舰载无人机导航信息系统的使用效率[7~9,12]。论文从研究舰载无人机导航信息系统出发,论述了如何在C#开发环境下,使用SuperMap Object.NET开发组件构建一套功能相对完善的无人机导航信息系统。针对无人机导航信息系统的结构和功能,设计电子海图软件,实现无人机导航信息系统的基本功能;实现浏览海图的漫游、缩放等基本操作,能够显示全局图和放大图功能;实现在电子海图上绘制各种几何元素,实现无人机的路线规划功能;实现对海图元素信息进行查询和搜索;尝试使用第三方工具箱构建先进的Ribbon界面,使整个程序美观大方,可操作性强。

本文所设计的系统还有很多不足的地方,需要在今后的研究中扩充和完善:一是无法直接读取S-57海图数据,需要通过软件转换后才能读取使用,这样大大降低了使用效率,使得软件无法读取实时S-57数据的要求。下阶段可以使用自行编写的S-57解析模块,或者使用一些商用的控件实现软件对S-57的读取;二是没有实现对舰载无人机飞行路径的实时跟踪。作为舰载无人机导航信息系统的重要功能,对舰载无人机位置的实时显示与跟踪将为我们更好的掌握无人机的运行状态。下阶段将加入位置路径跟踪功能,实时监控舰载无人机实际飞行路径与指定路径是否匹配;三是没有实现多海图的拼接功能。当前软件只能读取显示单一的海图文件,无法在大海域发挥作用。下阶段软件将能够读取多个连续的海图数据,并实现显示上的拼接。

[1]薛伟.MapObjects地理信息系统程序设计[M].北京:国防工业出版社,2004.

[2]李杰,付梦印,邓志红.MapInfo格式的地图数据在嵌入式导航系统中的应用[J].计算机工程与应用,2003,13:214-217.

[3]李庆伟,李进杰,卢岩.S-57标准电子海图及其在航海中的应用[J].天津航海,2008:01:7-10.

[4]汪春鹏,周常森.MAPINAFO格式地图解析程序设计[J].测控技术,2008(01):47-50.

[5]郑海.电子航海图系统[M].大连:海军大连舰艇学院,2004.

[6]李欢.面向航海应用的地理信息系统关键技术研究[D].国防科学技术大学研究生院,2004.

[7]旷志高,刘鼎臣.舰载无人机的发展综述[J].飞航导弹,2003(02):16-19.

[8]赵涛.舰载无人机的发展[J].舰船电子工程,2010(04):21-24.

[9]李桂英,徐杨,岳宇博.小型无人机导航系统的探索与研究[J].价值工程,2011(03):150.

[10]冯玖,白尚旺,党伟超.基于SOA的物流信息系统架构研究[J].计算机与数字工程,2009(1).

[11]金亮,高飞,肖希.外军军事信息系统体系结构框架技术概述[J].计算机与数字工程,2012(7).

[12]王春安,闫建国,屈耀红.无人机导航系统的硬件设计[J].计算机测量与控制,2011,12:2999-3004.

猜你喜欢

海图图层信息系统
企业信息系统安全防护
为《飞舞的空竹龙》加动感
纸海图AI小改正制作模式探讨
少林功夫拳(三)
基于区块链的通航维护信息系统研究
解密照片合成利器图层混合模式
信息系统审计中计算机审计的应用
民用海图编绘中数据一致性分析和改进
关于电子海图单元叠盖拼接问题的探讨
基于ADC法的指挥信息系统效能评估