深水 AUV 电子海图监测系统设计与实现

自主式水下航行器AUV(AutonomousUnderwaterVehicle)是一种智能的无人操纵的水下航行器。它自带能源,与母船没有直接的物理连接,具有在水下作业期间不依赖于母船、活动范围大、作业时间长和机动性好等优点,广泛应用于海底地形地貌勘测、海洋资源检测等领域,具有重要的应用价值。

本文所研究的内容隶属于“十一五”国家重大科技专项:深水工程勘察船及配套技术课题子课题-深水AUV系统设计与制造技术。研制的深水AUV可以搭载多种勘测传感器,以4kn左右的速度连续航行24h,自动控制航姿并精确定位,完成3000m深海地形地貌的测量。监控系统的设计是AUV研制的关键技术之一,在提高整机系统的可靠性和作业的安全性上有重要作用。深水AUV监控系统网络按大层面上可划分为水面监控网络和水下控制网络。水面监控网络主要指甲板监控系统。水下子系统则主要用包括主控系统、运动控制单元、导航定位单元和传感单元等。各个监控单元在程序模块上相对独立,限于篇幅,本文主要就水面监控网络中电子海图监测系统的搭建进行阐释。此部分是监控系统的重要部分,直观显示AUV航行参数,并实现航迹规划、记录等海图作业功能,确保AUV的安全航行。

1电子海图监测系统的组成及工作原理

电子海图监测系统的硬件组成如图1所示。甲板部分采用水下声学定位系统IXSEAGAPS实现对水下目标的实时跟踪。与传统的超短基线定位(USBL)系统相比,它避免了与母船的固定连接,免标定,工作稳定,可以高精度追踪水下目标的位置,最大限度满足定位要求[4]。水声Modem是一种利用海水作为介质来进行点对点通信的水下调制解调器,利用它能保持深水AUV和母船之间的数据交换和指令收发。水下部分主要包括声学定位系统和水声通讯系统的水下信标,以及用于水下定位的多普勒速度计程仪(DVL),惯性导航组件,电子罗盘及深度计等。

AUV的定位工作原理:预设定AUV的航迹,并将甲板系统与水下系统进行时间同步。AUV释放后在水下航行时,使用其自身的组合导航系统定位;同时监控系统使用IXSEAGAPS在测量船上对其实时定位,并在时间轴上记录航迹。航行过程中,甲板计算机利用水声Modem把GAPS获取的航迹定时传输给水下AUV,以对航行过程进一步校准,提高定位精度。

2电子海图监测系统软件实现

2.1软件开发环境

由于电子海图监测系统是一种多任务测量的系统,程序逻辑结构复杂,需要并行处理机制以提高运行效率,并且与多种软件有数据交换。综合考虑系统的复杂性、高效性及兼容性,采用了LabVIEW作为软件开发平台。作为一种图形式编程语言,其界面直观、可操作性好,流程式的程序设计与编程人员较为熟悉的数据流和方框图的概念是一致的,用户可以在很清晰的逻辑结构内调试程序。程序运行模式类似于并行模式,可大大提高程序的运行速度。软件内部提供了大量的子VI,通过DLL、Activex等途径实现与外部程序代码或系统的连接[5],在数据采集、串口通信、数据分析和图形显示等方面都具有强大的优势。

2.2软件交互界面设计

软件界面的设计除应考虑实际应用需求外,还应逻辑清晰、便于操作。设计的电子海图监测系统软件交互界面如图2所示。第1部分采用各种自定义控件实现电子海图的缩放、选择、测距、漫游等基本功能。同时考虑到海洋测量实际需求,增加了设置航迹点、航迹数组等特殊按钮。第2部分作为电子海图监测系统的主体,实时显示AUV在探测阶段的航迹及经纬度数据。第3部分、第4部分通过显示AUV自身的航速、位姿以及其相对于母船的位置信息,使操作人员更加直观的获取AUV在深海的运行情况,一定程度上预防AUV丢失

2.3功能实现

本系统的软件设计采用了模块化的程序设计思想。通过功能模块的划分,设计各个模块之间数据流向,以保持良好的可读性、可移植性和可扩充性。软件模块根据功能的不同可以划分为通信模块、电子海图模块、数据库访问模块等。

2.3.1通信模块

电子海图监测系统与其他单元的数据传输,在AUV下水前是通过RS232、TCP、UDP,下水后则通过声通讯的方式实现的[6]。对于前三种通讯方式,程序一般遵循打开端口、对端口进行读或写、关闭端口等。声通讯的实现也主要是借助串口通信的方式。电子海图监测系统通过串口连接声Modem,声Modem采用声通信的方式与AUV上搭载的声通信信标连接,这样建立起一个数据通道,实现了水上水下系统的数据交换。由于这些通信数据都是长串字符串,需提前制定通讯协议,方便读取。之后笔者根据这些通信协议,利用截取字符串、字符串格式转换等工具编程实现数据的解析。

主VI及各个子VI之间的数据交换主要是通过全局变量与局部变量来实现的。

2.3.2电子海图模块

电子海图模块的主要组成如图3所示。甲板监控系统接收外界设备(包括GAPS或者主控系统)发来的位置信息,以此为接口连接数据库,得到所处位置的相关海洋环境数据,并在电子海图上显示出来,为工作人员提供信息辅助。

电子海图的基本功能主要是借助MapX工具实现。MapX是MapInfo公司提供的一种方便快捷、功能强大的ActiveX组件式开发工具,它提供了对象链接与嵌入控件,可被集成到多种标准可视化编程工具中,使地图对象与系统紧密结合,为应用系统提供了高度可视化的方法来显示和分析基于位置的数据[7,8]。具体实现过程如下:

1)采用多图层地图文件

常用的电子地图中,用户可以通过图形分层技术,根据自己的需求对各种空间实体进行分层组合,将一张地图分成不同图层。采用这种分层存放的结构可以提高图形的搜索速度,便于不同数据的灵活调用、更新和显示。同时,由于任何电子地图都要具备缩放功能,而该过程容易带来模糊或失真,采用具有分层显示特点的矢量图可方便解决这一问题。基于以上两点,程序设计过程中采用地图分层管理的方法。

Mapx通过图层管理工具GeosetManager中创建的“*.gst”文件实现地图的载入及存储[9]。该文件是一个地图图层的集合,规定了组中各个图层的名称、属性及叠加顺序等。在进行地图显示时,首先打开一个Geoset数据集,之后通过CmapXLayers集合实现图层属性的更改。

2)建立基于MapX的虚拟工作区

MapX控件通过运用对象CMapX来进行地图的显示、操作和管理。CMapx相当于一个地图工作区,在其上实现GIS的各项操作。建立一个与CMapX协同工作的虚拟工作区,可以实现比例尺地图的各项功能[10]。虚拟工作区的属性与方法定义如图4所示。

3)实现地图的基本操作

缩放、漫游、各种选择工具是常用GIS软件中最基本也是最必需的功能,调用MapX控件中的工具常量(如CMapxZoom等)可以非常方便地实现。

4)AUV航迹显示

电子海图最重要的功能是AUV航迹显示。GPS/北斗通讯模块不断接收AUV位置信息,经由RS-232串口传送到主控计算机。获取的AUV数据被保存在固定的缓存区中,之后经由声Modem传输给电子海图系统。海图系统将其从缓存字符串中提取出来,并转化成有实际意义的,可供高层决策使用的定位信息数据。电子海图是一个分层管理的文件,航迹显示被放在单独的动态图层(即动目标层)中,此图层位于所有图层最上方,每次读取缓冲区数据时更新一次。对于定位信息,第一次获取时在电子海图的相应位置画出一个航点,并记录其经纬度、高度、速度等;当第二次获得定位信息后,在航迹显示图层中将航点移动到新的位置,与之前的航点之间形成一条轨迹线,直到测量任务完成为止[11]。这样,AUV航迹就在电子海图上直观显示出来。程序数据流程如图5所示。

2.3.3数据库访问模块

数据库访问模块需要对AUV航行过程中的各种通讯信息进行记录、存储、查询,以便程序的后续调试及航行任务的记录。数据量很大,因此选用数据查询功能较强的MySQL数据库。本文利用NI公司的DatabaseConnectivityToolkit模块来实现电子海图测系统对实时数据库的访问。模块中提供的子VI可实现数据库的连接、关闭,数据的插入、查询,表的创建、删除等功能。当不具备完成某些复杂的数据库操作功能时,可编写SQL语句完成特定的任务[12,13]。图6所示为利用DatabaseConnectivityToolkit进行数据库操作的数据流程。

具体实现过程为:1)在数据库管理系统中建立新的ODBC数据源;2)利用connectionreference连接数据库;3)编写SQL语句创建table;4)将通信数据解析后,与时间标签整合。调用InsertData子VI以簇的形式向表中写入数据,程序将利用索引把簇中的数据拆开并依次写入表的每一列中;5)程序结束时关闭数据库连接。

3系统测试

3.1系统功能测试

考虑到AUV拆装困难,且实际运行成本及风险较高等原因,将电子海图监测系统与主控系统、运动控制单元接入半实物仿真系统进行系统联调测试,检验系统的功能是否完善。半实物仿真系统充分考虑流体力学、海洋洋流等的影响,可以模拟实际深海环境及地貌结构,并根据所构建的水动力模型以及来自运动控制单元的航行参数,实时计算并处理AUV运动姿态和位置等信息,其功能的实现过程将另文阐述。如图7(a)所示,

AUV自初始点S点出发,通过运动单元航向算法确定最优路径向A点前进,之后沿弓字形航线向B处行驶。由图可看出电子海图记录的航迹与AUV实际航线基本相符。之后分别采用图7(b)、图7(c)、图7(d)所示的顺时针圆、逆时针圆、“8”字行进等不同任务文件多次测试,均能满足用户的应用要求。在整个测试过程中,通讯日志记录模块可实时记录各项传感器的通讯数据,如图7(e)所示。

3.2系统可靠性测试

完善的监测系统不仅能在系统工作正常时记录运行情况,还应具有一定的异常处理功能。设置多种故障模式检测海图监测系统处理情况(表1),评估其对整个探测任务执行可靠性的影响。

实验结果证明,电子海图监测系统运行效果良好,可一定程度实现传感设备的监视预警、故障处理等,提高了整机系统的可靠性。

4结束语

深水AUV工作环境的复杂性及探测设备的高成本对系统可靠性方面提出了较高的要求。本文基于此目的,以LabVIEW为平台开发了一套深水AUV电子海图监测系统。该系统具有一般电子海图的基本功能,可有效解决声学通讯、航迹显示、通讯日志记录等问题,已成功和AUV控制系统其它功能模块完成联调实验,可一定程度提高深水AUV勘测任务的可靠性。此系统充分发挥了LabVIEW可视化开发语言良好的接口功能和运行高效、调试方便等优点,具有较好的实用效果。