摘 要:針對(duì)無(wú)人船航行中遠(yuǎn)程操控和對(duì)自身運(yùn)行狀態(tài)、環(huán)境進(jìn)行監(jiān)測(cè)的需求,基于Android應(yīng)用程序框架開(kāi)發(fā)了一個(gè)地面站人機(jī)界面軟件。系統(tǒng)采用Lora-WiFi網(wǎng)關(guān)實(shí)現(xiàn)無(wú)人船的操控和監(jiān)測(cè)數(shù)據(jù)回傳、處理和顯示,并通過(guò)集成百度地圖,使得用戶(hù)可實(shí)時(shí)定位無(wú)人船的位置并對(duì)其回傳的各項(xiàng)數(shù)據(jù)進(jìn)行檢測(cè)、解析和故障診斷,其中包括監(jiān)測(cè)無(wú)人船的經(jīng)緯度、航速和航向等位置信息。實(shí)船測(cè)試表明,系統(tǒng)的架構(gòu)設(shè)計(jì)合理、運(yùn)行可靠,同時(shí)具有良好的可擴(kuò)展性。
關(guān)鍵詞:無(wú)人船;Android應(yīng)用程序框架;地面站;控制與監(jiān)測(cè)
中圖分類(lèi)號(hào):U664.82;TP273 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2018)09-0177-03
Abstract:In view of the demand for remote manipulating and running status and surroundings monitoring during the intelligent navigation of unmanned surface vessel(USV),a man-machine interface software for ground station is developed based on the framework of Android application program. The system uses Lora-WiFi gateway to realize remote control and monitoring data return,processing and display of USV,and integrated Baidu map,so that enables users to locate the current position of the USV in real time and detect,analyze and diagnose the data of the unmanned vehicle,including the basic parameters such as the latitude and longitude,speed and course of the USV. Real ship verification shows that the system architecture is reasonable,reliable and scalable.
Keywords:unmanned surface vessel;Android application program framework;ground station;control and monitoring
0 引 言
隨著人工智能特別是無(wú)人系統(tǒng)的不斷發(fā)展,人們也逐步展開(kāi)對(duì)水面無(wú)人船(Unmanned Surface Vessel,USV)的研究和開(kāi)發(fā),探索其在環(huán)境監(jiān)測(cè)、科研勘探、海洋測(cè)繪、海上救援、警戒監(jiān)視等領(lǐng)域的應(yīng)用。人們通過(guò)地面站系統(tǒng),對(duì)航行和作業(yè)過(guò)程中USV自身的運(yùn)行狀態(tài)參數(shù)和采集的數(shù)據(jù)進(jìn)行處理和監(jiān)控,必要時(shí)輔以人工干預(yù)。本文基于Android應(yīng)用程序框架,選用低功耗廣域物聯(lián)網(wǎng)Lora技術(shù)作為通信鏈路,集成離線(xiàn)地圖功能,設(shè)計(jì)和開(kāi)發(fā)了一個(gè)無(wú)人船地面站控制和監(jiān)測(cè)系統(tǒng)。系統(tǒng)結(jié)構(gòu)如圖1所示,其中通過(guò)Lora-WiFi網(wǎng)關(guān)實(shí)現(xiàn)Lora和網(wǎng)絡(luò)數(shù)據(jù)的協(xié)議轉(zhuǎn)換。
1 系統(tǒng)實(shí)現(xiàn)關(guān)鍵技術(shù)
1.1 Android應(yīng)用程序框架
Android是由Google發(fā)起和主導(dǎo)的開(kāi)放手機(jī)聯(lián)盟(Open Handset Alliance,OHA)開(kāi)發(fā)的移動(dòng)操作系統(tǒng),主要用于智能手機(jī)、平板電腦等移動(dòng)設(shè)備上。Android是基于Linux的自由開(kāi)源操作系統(tǒng),開(kāi)發(fā)者使用其提供的應(yīng)用程序框架API(如Activity、Broadcast Intent Receiver、Service、Content Provider和Intent and Intent Filter等基本組件)可以快速構(gòu)建數(shù)據(jù)處理和用戶(hù)界面的App程序。
1.2 離線(xiàn)地圖和模擬定位
離線(xiàn)地圖使得不需聯(lián)網(wǎng)也能夠獲取地圖數(shù)據(jù),本文使用BaiduMap的API實(shí)現(xiàn)離線(xiàn)地圖功能,具有地圖查看、虛擬定位和無(wú)人船運(yùn)動(dòng)軌跡顯示等功能。通過(guò)特殊方式來(lái)改變位置的方法稱(chēng)為模擬定位,由于系統(tǒng)運(yùn)行時(shí)需要使用無(wú)人船中的GPS定位芯片發(fā)送過(guò)來(lái)的經(jīng)緯度,所以本文不采取常規(guī)的定位方式,否則無(wú)法正常定位無(wú)人船的位置。
2 地面站控制和監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
地面站控制和監(jiān)測(cè)系統(tǒng)在Android系統(tǒng)集成的應(yīng)用程序框架、WiFi及串口底層驅(qū)動(dòng)的基礎(chǔ)上進(jìn)行開(kāi)發(fā),具有故障檢測(cè)、路徑設(shè)置、地圖定位與顯示、數(shù)據(jù)回傳、雷達(dá)操控等功能模塊。軟件系統(tǒng)架構(gòu)如圖2所示。
其中故障檢測(cè)模塊負(fù)責(zé)檢測(cè)航行狀態(tài)下無(wú)人船的動(dòng)力設(shè)備,如無(wú)刷直流電機(jī)、電調(diào),船體和環(huán)境感知傳感器的運(yùn)行狀態(tài),并進(jìn)行故障診斷,同時(shí)兼顧對(duì)Lora通信鏈路狀態(tài)的監(jiān)測(cè);地圖定位與顯示模塊實(shí)現(xiàn)離線(xiàn)地圖下載、使用離線(xiàn)地圖和對(duì)無(wú)人船位置進(jìn)行定位;數(shù)據(jù)處理模塊接收無(wú)人船的運(yùn)行狀態(tài)、數(shù)據(jù),進(jìn)行實(shí)時(shí)處理并顯示;雷達(dá)操控模塊設(shè)置雷達(dá)的工作方式、轉(zhuǎn)速、掃描方式等參數(shù)控制;通信設(shè)置模塊對(duì)Lora通信鏈路的數(shù)據(jù)傳輸方式、空中速率和發(fā)射功率進(jìn)行設(shè)置;船舶手制模塊對(duì)船舶的直線(xiàn)前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)等進(jìn)行運(yùn)動(dòng)控制;航路設(shè)置模塊在設(shè)定無(wú)人船目標(biāo)方位、距離后,將該位置發(fā)送給無(wú)人船,由其自主避障航行。
3 地面站控制與監(jiān)測(cè)系統(tǒng)的實(shí)現(xiàn)
3.1 Android平臺(tái)下的Socket編程
通過(guò)Socket套接字來(lái)連接服務(wù)器,首先建立DHCP服務(wù)器并定義Lora-WiFi網(wǎng)關(guān)的IP地址變量,通過(guò)DHCP獲取Lora-WiFi網(wǎng)關(guān)的動(dòng)態(tài)IP地址,然后定義端口號(hào),端口號(hào)和IP地址綁定后即可建立與網(wǎng)關(guān)間的連接。地面站系統(tǒng)向無(wú)人船發(fā)送命令的通信協(xié)議格式,如表1所示,其中數(shù)據(jù)由八字節(jié)組成,前兩字節(jié)為數(shù)據(jù)包頭固定不變,第三字節(jié)為主指令,第四字節(jié)到第六字節(jié)為副指令,第七字節(jié)為主指令和三位副指令的簡(jiǎn)單加和后對(duì)0xFF取余得到的校驗(yàn)值,第八字節(jié)為固定不變的數(shù)據(jù)包尾。
3.2 離線(xiàn)地圖的實(shí)現(xiàn)
采用下載接口的方法集成百度離線(xiàn)地圖功能,首先在百度地圖開(kāi)放平臺(tái)中注冊(cè)并申請(qǐng)密鑰,將軟件運(yùn)行平臺(tái)與百度API進(jìn)行綁定。獲取無(wú)人船的位置數(shù)據(jù)后,對(duì)GPS數(shù)據(jù)進(jìn)行解析,進(jìn)而完成后續(xù)的定位和路徑規(guī)劃任務(wù)。設(shè)計(jì)完成的系統(tǒng)運(yùn)行界面如圖3所示。
4 結(jié) 論
本文給出一個(gè)新穎的無(wú)人船地面站控制和監(jiān)測(cè)系統(tǒng)的構(gòu)建思路,并探討其在Android平臺(tái)上的設(shè)計(jì)和實(shí)現(xiàn)。實(shí)船測(cè)試表明系統(tǒng)能夠可靠地完成無(wú)人船的航行狀態(tài)監(jiān)測(cè)、顯示和故障診斷,操控距離遠(yuǎn),界面友好,具有較高的實(shí)用價(jià)值。誠(chéng)然,該軟件系統(tǒng)還有一些功能有待實(shí)現(xiàn),比如如何能讓無(wú)人船在復(fù)雜水域自主導(dǎo)航,如何實(shí)現(xiàn)無(wú)人船機(jī)艙設(shè)備的預(yù)測(cè)性維護(hù),這些都是后續(xù)研究的重點(diǎn)。
參考文獻(xiàn):
[1] 喬大雷,侯嬌,薛鋒.基于物聯(lián)網(wǎng)技術(shù)的無(wú)人船智能航行控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].艦船科學(xué)技術(shù),2017,39(23):149-152.
[2] 張樹(shù)凱,劉正江,張顯庫(kù),等.無(wú)人船艇的發(fā)展及展望 [J].世界海運(yùn),2015,38(9):29-36.
[3] 喬大雷,戴立坤,鄒玉娟.水面機(jī)器人機(jī)艙設(shè)備預(yù)測(cè)維護(hù)系統(tǒng)研究與設(shè)計(jì) [J].機(jī)械設(shè)計(jì)與制造,2018(6):270-272.
[4] 李揚(yáng).基于Android平臺(tái)的導(dǎo)航系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].曲阜:曲阜師范大學(xué),2014.
[5] 過(guò)團(tuán)挺,廖勝利,曹璐,等.基于Android平臺(tái)的小水電信息采集系統(tǒng) [J].電網(wǎng)技術(shù),2014,38(3):750-755.
[6] 吳青,王樂(lè),柳晨光,等.基于MPC的無(wú)人船運(yùn)動(dòng)控制及可視化仿真系統(tǒng)實(shí)現(xiàn) [J].武漢理工大學(xué)學(xué)報(bào)(交通科學(xué)與工程版),2016,40(2):245-250.
作者簡(jiǎn)介:葛榮(1997-),女,江蘇宿遷人,本科在讀。從事Android移動(dòng)互聯(lián)、物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)和開(kāi)發(fā);喬大雷(1980-),男,江蘇徐州人,碩士,高級(jí)工程師。從事物聯(lián)網(wǎng)、智能信息處理的教學(xué)和科研;張超(1995-),男,江蘇宿遷人,本科在讀。從事Android移動(dòng)互聯(lián)、物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)。