基于MOOS的AUV通信系统的软件系统设计
2017-05-02于文浩赵英
于文浩+赵英
【摘要】 自主式无缆水下机器人(AUV)作为一种新的技术手段,在海洋资源研究领域中起到重要的作用[1]。为了保证通信系统的稳定性,以AUV后舱体电路板作为硬件平台,搭载GPS、无线数传电台、铱星9602通信终端等多个传感器,共同组成通信定位系统,各传感器模块化分布,使用MOOS体系下串口通信技术,实现岸基平台与AUV的交互。
【关键词】 AUV通信系统 串口编程 MOOS-ivp
一、AUV通信系统简介
AUV的通信系统需要具备如下功能:1.实时接收来自岸基平台发送的控制指令;2.接收来自各传感器的实时数据,返回給岸基端进行实时处理。因此,自主式水下航行器通信系统的研发重点是与各传感器模块的配合协调、建立稳定的通信链路、具备应急处理能力。在实际工作中,AUV需要与母船控制单元、岸基平台进行通信,AUV在贴近水面工作时,通过大功率的无线电波或者铱星卫星通信系统进行数据的传输、信息的共享、控制指令的下达等工作。
二、AUV通信系统的软件系统
软件系统基于Paul Michael Newman 提出的MOOS-ivp体系[2],使用Linux系统的FLTK类库开发操作平台的界面,核心在于利用pMOOSBridge进程搭建AUV与岸基端的通信信道[3]。pMOODBridge是建立MOOS派生系统的重要工具,可以将AUV端与岸基端配置的MOOSDB(数据信息服务器)相连,在不同的MOOSDB之间起到桥梁的作用,首先接收来自自身所在MOOS体系的数据变量,然后根据AUV实际工作中的状态修改配置文件,最后完成已定义数据的转发,实质上就是功能模块pMOOSbridge分别与不同的MOOSDB服务器之间的通信。
在设计中,在pMOOSBridge添加支持RS232串口的类CMOOSSerialLink(),支持数据的发送、捕获、解析、分类等功能。利用pMOOSBridge类建立的连接主要完成如下两条任务:
(1)获取当前AUV状态信息、位置信息,从AUV端MOOSDB采集GPS数据通过串口发送到岸基端,岸基端MOOSDB讀取数据信息,分类发送给各个进程模块,并显示到岸基界面上;
(2)岸基界面发送控制指令通过MOOSDB传输到串口后发送到AUV端,AUV端MOOSDB读取指令信息,实现对AUV的导航与控制功能。
以无线数传电台为例,pMOOSBridge类建立其与MOOSDB的连接,使MOOSDB与传感器之间建立串口数据连接,其工作流程如图1、2所示。
三、软件系统的实现
MOOS体系的核心模块是MOOSDB,GPS定位模块被CMOOSCommClient实例化后与MOOSDB进行通信,实现串口通信,需要建立继承于CMOOSApp的子类,对函数OnStartUp()、Iterate()、OnNewMail()进行重载,实现传感器与MOOSDB的串口通信功能。本文采用Ublox LEA-6T型号的高精度GPS,采集GPRMC的格式数据应用于AUV的导航与定位中。
通信系统的操作界面部分代码如图3、4所示。
通过无线数传电台的通信信道,AUV可实时返回当前位置信息,实现了通信与定位的功能,有效的保障了AUV的正常工作,系统可自主切换通信信道,采用铱星9602装置的通信方法与无线数传电台相似。
四、结语
本文介绍了新型AUV通信系统的软件开发与应用,重点介绍了基于MOOS的AUV通信系统的软件设计,以pMOOSBridge为核心,介绍此进程实现通信功能的原理与应用,最后以GPS定位模块、无线数传电台的采集程序开发为例,介绍通信系统的数据采集方法,并开发软件模拟AUV的通信。
参 考 文 献
[1]徐玉如,李彭超.水下机器人发展趋势[J].自然杂志,2011(3):5-12.
[2] NEWMAN MOOS: a moos oriented operating suite[R].USA:Department of Ocean Engineering,MIT,2008.
[3] NEWMAN MOOS:Bridging communities with pMOOSBridge,MIT,2009.