趙 蕊,余 琨,鄭文成,向先波
(1.中國(guó)艦船研究設(shè)計(jì)中心,武漢 430064; 2.華中科技大學(xué) 船舶與海洋工程學(xué)院,武漢 430074)
基于以太網(wǎng)通信的水下航行器遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)
趙 蕊1,余 琨1,鄭文成1,向先波2
(1.中國(guó)艦船研究設(shè)計(jì)中心,武漢 430064; 2.華中科技大學(xué) 船舶與海洋工程學(xué)院,武漢 430074)
討論以太網(wǎng)Socket通信基本原理和航行器監(jiān)控系統(tǒng)通信協(xié)議的確定,介紹便攜式水面監(jiān)控臺(tái)和水下控制系統(tǒng)的功能及設(shè)計(jì)方法,完成水池試驗(yàn)聯(lián)調(diào),試驗(yàn)結(jié)果表明,基于TCP/IP的通信協(xié)議,水面監(jiān)控臺(tái)可以實(shí)時(shí)地完成對(duì)水下航行器的數(shù)據(jù)監(jiān)視、遠(yuǎn)程遙控和半自主控制。
TCP/IP;水下航行器;監(jiān)控系統(tǒng)
無(wú)人水下航行器因具有體積小、航行噪聲低等優(yōu)點(diǎn),被廣泛應(yīng)用于打撈魚(yú)雷、滅雷[1]、情報(bào)搜集、監(jiān)視和偵察[2]等軍事領(lǐng)域[3],同時(shí)在海上緊急搜救[4]、海洋調(diào)查[5]等民用研究領(lǐng)域也發(fā)揮著重要作用。對(duì)于有便攜式水面監(jiān)控臺(tái)的無(wú)人水下航行器,監(jiān)控系統(tǒng)起到實(shí)時(shí)監(jiān)視航行器位姿、狀態(tài)信息以及下達(dá)與執(zhí)行控制命令的作用[6],因此必須考慮其實(shí)時(shí)性以及安全性[7]。本文主要研究基于面向連接的以太網(wǎng)標(biāo)準(zhǔn)TCP/IP通信協(xié)議的水下航行器監(jiān)控系統(tǒng),充分利用TCP/IP傳輸?shù)目焖傩砸约八潞诵目刂葡到y(tǒng)VxWorks的實(shí)時(shí)性,滿(mǎn)足無(wú)人水下航行器水面和水下兩級(jí)監(jiān)控系統(tǒng)之間的實(shí)時(shí)數(shù)據(jù)通信要求。
無(wú)人水下航行器實(shí)時(shí)監(jiān)控系統(tǒng)包含便攜式水面監(jiān)控臺(tái)和水下控制系統(tǒng),兩者之間數(shù)據(jù)通信基于以太網(wǎng)TCP/IP標(biāo)準(zhǔn)協(xié)議。無(wú)人水下航行器通過(guò)傳感器獲取自身位姿,狀態(tài)等信息,基于TCP/IP協(xié)議通過(guò)光纖收發(fā)器周期性將位姿、狀態(tài)信息傳給水面監(jiān)控臺(tái),水面監(jiān)控臺(tái)完成數(shù)據(jù)信息的接受、顯示與存儲(chǔ)。水面監(jiān)控臺(tái)也可實(shí)時(shí)獲取監(jiān)控界面的控制按鈕信息,按照通信協(xié)議實(shí)時(shí)傳給水下控制系統(tǒng),水下控制系統(tǒng)通過(guò)嵌入式控制處理器PC/104堆棧進(jìn)行決策,控制被控機(jī)構(gòu)協(xié)同動(dòng)作,達(dá)到預(yù)期的運(yùn)動(dòng)效果。監(jiān)控系統(tǒng)組成見(jiàn)圖1。
圖1 無(wú)人水下航行器監(jiān)控系統(tǒng)組成示意
具體通信數(shù)據(jù)幀按照約定協(xié)議進(jìn)行交互,格式見(jiàn)表1。每組數(shù)據(jù)幀包含報(bào)文頭,數(shù)據(jù),校驗(yàn)碼以及結(jié)束符,其中數(shù)據(jù)包含布爾量、整型和浮點(diǎn)型三種類(lèi)型數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行求和檢驗(yàn)。
表1 數(shù)據(jù)幀格式
便攜式水面監(jiān)控臺(tái)與水下控制系統(tǒng)基于TCP/IP協(xié)議進(jìn)行網(wǎng)絡(luò)通信,網(wǎng)絡(luò)編程采取最常用的客戶(hù)/服務(wù)器模式,其中水下控制器為客戶(hù)機(jī),便攜式水面監(jiān)控臺(tái)為服務(wù)器。TCP/IP協(xié)議作為面向連接網(wǎng)絡(luò)通信協(xié)議,其網(wǎng)絡(luò)應(yīng)用中服務(wù)器首先要調(diào)用socket建立套接字,然后用bind綁定本地地址與端口,接著進(jìn)行偵聽(tīng)和等待連接,客戶(hù)機(jī)通過(guò)connect與服務(wù)器建立連接,連接后通過(guò)調(diào)用read和write進(jìn)行數(shù)據(jù)的讀寫(xiě),最后關(guān)閉Socket通信[8-9]??蛻?hù)/服務(wù)器模式原理見(jiàn)圖2。某一周期通信過(guò)程中,水下控制器通過(guò)write函數(shù)將無(wú)人水下航行器的位姿(經(jīng)度、緯度、艏向角、俯仰角、橫滾角)和狀態(tài)(電池狀態(tài)、電機(jī)參數(shù)、漏水檢測(cè))信息上行傳給水面監(jiān)控臺(tái)后通過(guò)write函數(shù)將在線(xiàn)遙控和半自主控制命令下行給水下控制器。
圖2 客戶(hù)/服務(wù)器模式原理示意
3.1 水面監(jiān)控系統(tǒng)
本無(wú)人水下航行器配置的便攜式水面監(jiān)控臺(tái)為一臺(tái)工控機(jī)。Microsoft 公司推出的C++集成開(kāi)發(fā)環(huán)境Visual C++,由于其良好的界面和可操作性,加上支持標(biāo)準(zhǔn)C/C++規(guī)范,在水下機(jī)器人上位機(jī)開(kāi)發(fā)中得到了廣泛的應(yīng)用[10],利用MATLAB設(shè)計(jì)圖形用戶(hù)界面,MATLAB可以創(chuàng)建圖形用戶(hù)界面GUI(graphical user interface),它是用戶(hù)和計(jì)算機(jī)之間交流的工具。MATLAB將所有GUI支持的用戶(hù)控件都集成在這個(gè)環(huán)境中并提供界面外觀(guān)、屬性和行為響應(yīng)方式的設(shè)置方法,而且具有強(qiáng)大的繪圖功能,可以輕松地獲得更高質(zhì)量的曲線(xiàn)圖[11],水面監(jiān)控軟件主界面見(jiàn)圖3。
便攜式水面監(jiān)控臺(tái)具備實(shí)時(shí)顯示無(wú)人水下航行器的位姿和狀態(tài)信息,并將這些數(shù)據(jù)信息按照原始數(shù)據(jù)格式存儲(chǔ)于后臺(tái)數(shù)據(jù)庫(kù)中,便于數(shù)據(jù)分析。同時(shí)也具備對(duì)無(wú)人水下航行器在線(xiàn)遙控和半自主控制,其中在線(xiàn)遙控即是通過(guò)操縱一對(duì)舵機(jī)、開(kāi)啟主推電機(jī)和輔推電機(jī)這三種執(zhí)行機(jī)構(gòu)的單一或者組合操作實(shí)現(xiàn)水下航行器的水面或水下空間運(yùn)動(dòng);半自主控制即水面人員通過(guò)細(xì)光纜對(duì)預(yù)編程水下航行器的作業(yè)任務(wù)(自動(dòng)定深和自動(dòng)定向)進(jìn)行人工干預(yù)[12]。此外,還配置緊急處理按鈕。
圖3 水面監(jiān)控界面
3.2 水下控制系統(tǒng)
本無(wú)人水下航行器的核心控制系統(tǒng)為PC/104堆棧,它配置了美國(guó)WindRiver公司開(kāi)發(fā)的VxWorks實(shí)時(shí)操作系統(tǒng),VxWorks是一個(gè)運(yùn)行在目標(biāo)機(jī)上的高性能、可裁剪的嵌入式實(shí)時(shí)操作系統(tǒng)[13],具有專(zhuān)門(mén)為實(shí)時(shí)嵌入式系統(tǒng)設(shè)計(jì)開(kāi)發(fā)的操作系統(tǒng)內(nèi)核,見(jiàn)圖4。VxWorks只占用很小的存儲(chǔ)空間,并可高度裁剪,此外具備高效的多任務(wù)管理和微秒級(jí)的中斷任務(wù)循環(huán)調(diào)度,快速確定的上下文切換以及靈活的任務(wù)間通訊,保證了水下控制系統(tǒng)能以較高的效率運(yùn)行。
圖4 VxWorks可擴(kuò)展內(nèi)核
圖5 水下控制系統(tǒng)任務(wù)調(diào)度
無(wú)人水下航行器的任務(wù)調(diào)度見(jiàn)圖5,其中感知任務(wù)集是水下航行器控制系統(tǒng)獲取本體自身狀態(tài)和外界信息的重要途徑,包含電池信息接收、漏水信息接收、視頻信息采集、深度信息接收以及位姿信息接收5個(gè)任務(wù),他們和網(wǎng)絡(luò)通信任務(wù)之間是基于時(shí)間片輪轉(zhuǎn)調(diào)度,執(zhí)行任務(wù)集中的單項(xiàng)調(diào)試,自動(dòng)定深和自動(dòng)定向3個(gè)任務(wù)是通過(guò)網(wǎng)絡(luò)通信任務(wù)發(fā)起和結(jié)束的。感知任務(wù)集獲取的位置狀態(tài)信息賦值給全局變量和數(shù)組中,數(shù)組信息作為網(wǎng)絡(luò)通信任務(wù)的信息源,變量信息作為執(zhí)行任務(wù)集的信息源。單項(xiàng)調(diào)試可完成水下航行器攝像頭、動(dòng)力電源開(kāi)關(guān),主推、輔推以及舵機(jī)單獨(dú)或組合聯(lián)動(dòng)。
圖6 無(wú)人水下航行器及水面監(jiān)控主界面
無(wú)人水下航行器水池試驗(yàn)監(jiān)控主界面見(jiàn)圖6。在滿(mǎn)足設(shè)計(jì)通信頻率要求前提下,經(jīng)過(guò)長(zhǎng)達(dá)數(shù)月的水池功能試驗(yàn),基于TCP/IP協(xié)議通信誤碼率較低,便攜式水面監(jiān)控臺(tái)實(shí)時(shí)顯示位姿、狀態(tài)信息,采集軟按鈕輸入信息,水下控制系統(tǒng)基于VxWorks操作系統(tǒng)的wind實(shí)時(shí)內(nèi)核可實(shí)時(shí)獲取水面監(jiān)控臺(tái)發(fā)出的在線(xiàn)遙控、半自主控制以及緊急人工干預(yù)命令信息,合理調(diào)度資源完成對(duì)上述緊急命令信息的處理。實(shí)際水池試驗(yàn)結(jié)果表明,基于TCP/IP協(xié)議的無(wú)人水下航行器監(jiān)控系統(tǒng)數(shù)據(jù)通信實(shí)時(shí)性好,滿(mǎn)足水面平臺(tái)遠(yuǎn)程監(jiān)視、遙控和半自主運(yùn)動(dòng)控制的要求。
[1] 徐玉如,李彭超.水下機(jī)器人發(fā)展趨勢(shì)[J].自然雜志,2011,33(3):125-132.
[2] 徐玉如,蘇玉民,龐永杰.海洋空間智能無(wú)人運(yùn)載器技術(shù)發(fā)展展望[J].中國(guó)艦船研究,2006,1(3):1-4
[3] 傅金祝.無(wú)人水下航行器與自主水下航行器的價(jià)值與發(fā)展前景[J].水雷戰(zhàn)與艦船防護(hù),2006(3):1-6.
[4] 馮 凱,嚴(yán)衛(wèi)生,李執(zhí)山,等.基于MSP430的遙控?zé)o人水下航行器控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2014,22(1):122-124.
[5] 嚴(yán)浙平,趙玉飛,陳 濤.海洋勘測(cè)水下無(wú)人航行器的自主控制技術(shù)研究[J].哈爾濱工程大學(xué)學(xué)報(bào),2013,34(9):1152-1158.
[6] 羅 瑜.遠(yuǎn)程監(jiān)控系統(tǒng)中網(wǎng)絡(luò)通信的研究與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2006.
[7] 王建國(guó),姜春萌,吳方良,等.水下航行體的改進(jìn)S面運(yùn)動(dòng)控制器[J].中國(guó)艦船研究,2013,8(5):41-45.
[8] 張?jiān)蕜?,劉常春,?偉等.基于Socket和多線(xiàn)程的遠(yuǎn)程監(jiān)控系統(tǒng)[J].控制工程,2006,13(4):175-177.
[9] 李 焱.PC104計(jì)算機(jī)網(wǎng)絡(luò)通信系統(tǒng)設(shè)計(jì)與研究[J].微計(jì)算機(jī)信息,2007,23(12):48-49.
[10] 翟宇毅,張瑞勇.基于VC++的超小型水下機(jī)器人上位機(jī)人機(jī)交互界面設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2011(5):66-68.
[11] 南 洋,周 靜,孟開(kāi)元,等.基于Matlab的GUI的界面設(shè)計(jì)[J].石油儀器,2008(6):76-78.
[12] 徐鵬飛,崔維成,謝俊元,等.遙控自治水下機(jī)器人控制系統(tǒng)[J].中國(guó)造船,2010,51(4):100-110.
[13] 徐惠明.基于VxWorks的嵌入式系統(tǒng)及實(shí)驗(yàn)[M].北京:北京郵電大學(xué)出版社,2006.
Remote Monitoring and Control System of Underwater Vehicle Based on Ethernet Network
ZHAO Rui1, YU kun1, ZHENG Wen-cheng1, XIANG Xian-bo2
(1.China Ship Development and Design Center, Wuhan 430064, China;2.College of Naval Architecture and Ocean Engineering, Huazhong University of Science and Technology, Wuhan 430064, China)
The fundamental principle of Socket and determination of the communication protocol are introduced. The functions and design methods of surface monitoring station and underwater monitoring system are discussed to build the two-stage system and design the software. The system is tested in the water tank. Test results show that surface monitoring station can complete the real-time data monitoring of underwater vehicles, remote operation and semi-autonomous control.
TCP/IP; underwater vehicle; monitoring; control system
10.3963/j.issn.1671-7953.2015.06.031
2014-12-19
小型無(wú)人水下航行器樣機(jī)控制系統(tǒng)研發(fā) [YFA12-04-(27)68]
趙 蕊(1981-),女,碩士,工程師
U674.7;U675.79
A
1671-7953(2015)06-0134-03
修回日期:2015-01-28
研究方向:無(wú)人水下航行器總體及控制技術(shù)
E-mail: zhaorui701s@163.com