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