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