溫小飛, 王廣哲*, 周 楓, 李同蘭
(1.浙江海洋大學(xué) 船舶與海運(yùn)學(xué)院,浙江 舟山 316022;2.浙江省海洋開發(fā)研究院,浙江 舟山 316021;3.舟山市卓林船舶設(shè)計有限公司,浙江 舟山 316000)
隨著物聯(lián)網(wǎng)(Internet of Things,IoT)技術(shù)的發(fā)展,無人駕駛技術(shù)得到快速提升,無人水面艇(Unmanned Surface Vessel,USV)因小巧靈活、操作簡單而廣泛用于替代人類在危險和惡劣環(huán)境中執(zhí)行任務(wù),例如環(huán)境監(jiān)測、海洋資源勘探、海上搜救、反潛作戰(zhàn)等[1-2]。然而,在復(fù)雜和危險水域執(zhí)行任務(wù)時,需要實時獲取參數(shù)并辨識其安全狀態(tài),要求監(jiān)測系統(tǒng)具有高實時性和可靠性,一旦USV航行狀態(tài)參數(shù)(航速、航向、風(fēng)速、風(fēng)向、橫搖、縱搖、主機(jī)運(yùn)行參數(shù)等)在傳輸系統(tǒng)中延遲或誤差過大,會對其航行安全產(chǎn)生致命的后果[3]。在主機(jī)航行試驗和航速、操縱性、耐波性等航行性能試驗中,同樣需要獲取航行狀態(tài)數(shù)據(jù)對USV性能進(jìn)行評估。針對USV航行需求設(shè)計監(jiān)測系統(tǒng),實時監(jiān)測航行狀態(tài)信息并對異常參數(shù)進(jìn)行預(yù)警,對提高USV航行安全性與任務(wù)成功性具有重要意義。
目前,在船舶監(jiān)測研究方面取得一定成果。Alpha Ori Technology 公司研發(fā)監(jiān)測船舶運(yùn)行狀況的SMARTShip監(jiān)測系統(tǒng)[4]。文獻(xiàn)[5]~文獻(xiàn)[7]針對USV的綜合電力系統(tǒng)智能監(jiān)控進(jìn)行研究。胡劍等[8]對 USV健康管理系統(tǒng)需求進(jìn)行分析。余永華等[9]設(shè)計船用柴油機(jī)缸壓在線監(jiān)測系統(tǒng)。喬大雷等[10]設(shè)計USV預(yù)測性維護(hù)系統(tǒng)。任兵等[11]設(shè)計基于移動浮標(biāo)式的USV航行位置監(jiān)測系統(tǒng)。IoT 3層架構(gòu)監(jiān)測平臺作為“智慧航運(yùn)”的重要組成部分,在智能化、自動化、連續(xù)性及可靠性等方面均具有良好的表現(xiàn),能夠提供實時便捷的監(jiān)控網(wǎng)絡(luò)[12]。然而,上述研究中的IoT技術(shù)在USV運(yùn)行狀態(tài)監(jiān)測方面的相關(guān)研究卻較少,且現(xiàn)有監(jiān)測系統(tǒng)的測量物理對象單一,僅解決若干關(guān)鍵子設(shè)備的監(jiān)測問題,系統(tǒng)數(shù)據(jù)傳輸丟包率與延時較高,尚無法為USV動態(tài)調(diào)整任務(wù)及航行性能評估試驗提供全面的信息支持。
綜上所述,針對USV運(yùn)行狀態(tài)監(jiān)測物理對象類別不足與遠(yuǎn)程傳輸丟包等問題,基于IoT 3層架構(gòu)開展研究工作,設(shè)計USV航行狀態(tài)監(jiān)測系統(tǒng),利用多源傳感器和現(xiàn)場總線對航行狀態(tài)參數(shù)進(jìn)行采集,豐富監(jiān)測參數(shù)種類。數(shù)據(jù)遠(yuǎn)程傳輸采用遠(yuǎn)距離無線電(Long Range Radio,LoRa)終端與LoRa無線網(wǎng)關(guān)相結(jié)合的方式可有效解決傳輸丟包與延時的問題,提高系統(tǒng)實時性,為USV的任務(wù)成功性及航行性能評估試驗提供推理依據(jù)。
根據(jù)IoT體系結(jié)構(gòu)設(shè)計原則,設(shè)計USV航行狀態(tài)監(jiān)測系統(tǒng)主體架構(gòu),分為感知層、傳輸層和應(yīng)用層,如圖1所示,其中,TCP為傳輸控制協(xié)議,I2C(Inter-Integrated Circuit)為集成電路互連。該系統(tǒng)具有實時數(shù)據(jù)采集、遠(yuǎn)程傳輸、異常報警等功能。

圖1 系統(tǒng)主體構(gòu)架
(1)感知層由STM32微控制器、多源傳感器、模擬量采集器、RS485集線器、現(xiàn)場總線等組成。采用RS485與I2C組合的通信方式,執(zhí)行上級的操作指令,STM32微控制器最終將采集的實時數(shù)據(jù)通過現(xiàn)場總線向上傳輸。
(2)傳輸層主要由互聯(lián)網(wǎng)和無線通信網(wǎng)組成。LoRa是一種低功耗廣域網(wǎng)通信技術(shù)[13],鑒于其低成本、功耗小、抗干擾能力強(qiáng)等特點,選用LoRa終端作為近距離傳輸網(wǎng)絡(luò)。遠(yuǎn)距離數(shù)據(jù)傳輸選用雙通道LoRa網(wǎng)關(guān),對上使用TCP/網(wǎng)際協(xié)議(IP)接入云平臺,對下通過內(nèi)部LoRa通道與終端節(jié)點進(jìn)行通信。傳輸層的主要功能是將感知層中監(jiān)測數(shù)據(jù)上傳至應(yīng)用層,并將應(yīng)用層的指令下發(fā)至感知層,起到上傳下達(dá)的橋梁作用[14]。
(3)應(yīng)用層作為IoT和用戶的接口,需要實現(xiàn)對接收的原始數(shù)據(jù)進(jìn)行解碼、計算和存儲,并在監(jiān)測到異常數(shù)據(jù)時及時反饋至用戶。應(yīng)用層主要由上位機(jī)和移動終端組成。Web端和手機(jī)小程序可實現(xiàn)人機(jī)交互,授權(quán)用戶可通過Web端和小程序訪問該數(shù)據(jù)可視化展示平臺,實時獲取USV航行狀態(tài)數(shù)據(jù),并可人為下發(fā)指令。計算模型主要用于將采集的數(shù)據(jù)轉(zhuǎn)換成所需參數(shù),再將其與設(shè)置的靜態(tài)閾值進(jìn)行對比分析,在不滿足條件時發(fā)送預(yù)警指令,管理者根據(jù)實際情況及時調(diào)整航行策略。
系統(tǒng)硬件分別由數(shù)據(jù)采集模塊、存儲模塊、無線通信模塊和電源模塊組成,詳細(xì)技術(shù)指標(biāo)如表1所示,其中,DC為直流電,ASCII(American Standard Code for Information Interchange)為美國信息交換標(biāo)準(zhǔn)代碼,LSB(Least Significant Bit)為最低有效位(即最小分辨率)。系統(tǒng)主要電路原理如圖2所示。

表1 技術(shù)指標(biāo)

圖2 系統(tǒng)電路原理
數(shù)據(jù)采集模塊是感知層的核心部分,由微控制器和多源傳感器組成。數(shù)據(jù)采集與處理功能由微控制器完成。使用STM32F103C8T6作為主控制器,該芯片基于32位高性能ARM Cortex-M3芯片,工作頻率最高可達(dá)72 MHz,擁有2個串行外設(shè)接口(Serial Peripheral Interface,SPI)、2個I2C接口、2組12位模數(shù)轉(zhuǎn)換器(Analog-to-Digtal Converter,ADC)、3個通用同步/異步收發(fā)器(Universal Synchronous/Asynchronous Receiver/Transmitter,USART)接口,性能高,功耗低。豐富的接口和杰出的控制能力使其適用于控制多個傳感器的應(yīng)用。多源傳感器選型及計算模型如下:
(1)姿態(tài)數(shù)據(jù)。采用MPU60506軸姿態(tài)傳感器,芯片內(nèi)部涵蓋3軸陀螺儀和3軸加速度傳感器,且內(nèi)置卡爾曼濾波算法,提高數(shù)據(jù)處理精度,減少誤差累積[15]。MPU6050通過I2C接口與微控制器進(jìn)行通信。各軸的角速度分量、加速度分量經(jīng)數(shù)字運(yùn)動處理器(Digital Motion Processor,DMP)直接融合并輸出四元數(shù),采用q30格式,放大至230[16],將四元數(shù)轉(zhuǎn)換為歐拉角。
(2)依托Here+基站[實時動態(tài)(Real-Time Kinematic,RTK)全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System,GNSS)]差分定位模塊獲取位置信息,該模塊支持多衛(wèi)星系統(tǒng)聯(lián)合定位,可根據(jù)需求選擇數(shù)據(jù)輸出協(xié)議,供電電壓為3.3 V,追蹤靈敏度為-161 dBm、網(wǎng)絡(luò)RTK定位更新速率最高可達(dá)8 Hz,通過I2C接口直接與微控制器進(jìn)行通信。
(3)利用SJ1011CY-1615-070-H電渦流位移傳感器采集振動數(shù)據(jù),工作電壓為±15 V,整體采用“二次注塑”技術(shù)具有耐腐蝕、防油、防水的功能,適合在惡劣環(huán)境下工作。根據(jù)標(biāo)準(zhǔn)特性方程可計算振動位移:
X=(V+1.000 4)/2.548 9
(1)
式中:X為探頭與試件之間的距離,mm;V為電渦流傳感器輸出電壓,V。
(4)風(fēng)向、風(fēng)速傳感器均采用Modbus遠(yuǎn)程終端單元(Remote Terminal Unit,RTU)協(xié)議,工作電壓為DC 12 V,動態(tài)響應(yīng)速度小于0.3 s,靈敏度高。基于輸出電壓與風(fēng)速風(fēng)向成正比關(guān)系,可計算實時海上氣象數(shù)據(jù)。風(fēng)向換算關(guān)系如表2所示。

表2 風(fēng)向換算關(guān)系
(5)由于USV工作環(huán)境惡劣,為準(zhǔn)確、穩(wěn)定地采集舵角數(shù)據(jù)采用防護(hù)等級為IP67的BTR50單圈絕對值編碼器,工作電壓為5 V,舵角計算公式[17]為
(2)
式中:θ為輸出舵角;v為絕對值編碼器輸出ASCII碼經(jīng)轉(zhuǎn)換后的十進(jìn)制數(shù)。
(6)轉(zhuǎn)速采集采用HY1954霍爾轉(zhuǎn)速傳感器,輸出信號為模擬量,需外接模擬量轉(zhuǎn)換器使用。轉(zhuǎn)速計算公式[18]為
(3)
式中:n為主機(jī)轉(zhuǎn)速;P為主機(jī)軸轉(zhuǎn)一圈的脈沖數(shù);T為輸出方波信號周期。
傳感器采用現(xiàn)場總線型拓?fù)浣Y(jié)構(gòu)進(jìn)行組網(wǎng),如圖3所示。微控制器RS485接口拓出1根現(xiàn)場總線作為多源傳感器與微控制器的公共傳輸通道,依托微控制器輪詢傳感器應(yīng)答的通信模式,減少數(shù)據(jù)沖突,提高數(shù)據(jù)采集效率與準(zhǔn)確率。

圖3 現(xiàn)場總線組網(wǎng)結(jié)構(gòu)
系統(tǒng)在運(yùn)行時受到海浪、洋流和海風(fēng)等海洋環(huán)境因素的影響,數(shù)據(jù)遠(yuǎn)程傳輸會造成數(shù)據(jù)丟失。因此,先將數(shù)據(jù)存儲至SD卡,建立支持決策和管理過程、面向主題、集成、相對穩(wěn)定、反映歷史變化的數(shù)據(jù)集合,再遠(yuǎn)程傳輸至云平臺,為后續(xù)USV航行性能評價提供數(shù)據(jù)支持。
USV自身電力資源有限且系統(tǒng)中的模塊工作電壓差較大,如數(shù)據(jù)采集模塊需要3.3 V、5 V、12 V、±15 V等,因此采用多路輸出DC降壓模塊,電路原理如圖4所示。

圖4 DC降壓模塊電路原理
具體供電方案如下:系統(tǒng)采用24 V鋰電池作為電源,通過LM2596-5.0、LM25960-12固定降壓芯片將鋰電池輸入的24 V電壓分別轉(zhuǎn)換為5 V、12 V電壓,而3.3 V、±15 V電壓則需要2個LM25960-ADJ可調(diào)降壓芯片分別轉(zhuǎn)換。
數(shù)據(jù)近距離傳輸使用LoRa終端模塊,工作電壓及溫度分別為12 V、-20~80 ℃。該模塊選用SX1278射頻芯片[19]、LoRa調(diào)制解調(diào)器并集成30 dBm功率放大器,結(jié)合前向糾錯碼和數(shù)字信號處理技術(shù),具有超遠(yuǎn)距離擴(kuò)頻通信、高抗干擾性和低功耗性,適用于復(fù)雜環(huán)境下的無線數(shù)據(jù)傳輸。在使用時需進(jìn)行同速率、信道、目標(biāo)地址參數(shù)配對設(shè)置,配對LoRa終端采用點對點數(shù)據(jù)透傳模式。
數(shù)據(jù)遠(yuǎn)程傳輸可使用LoRa無線網(wǎng)關(guān)實現(xiàn)。數(shù)據(jù)采集模塊依托RS485串行總線將數(shù)據(jù)傳輸至LoRa終端。LoRa終端以Modbus RTU協(xié)議通過發(fā)送短報文數(shù)據(jù)格式點對點上傳至LoRa無線網(wǎng)關(guān)。LoRa無線網(wǎng)關(guān)使用Modbus TCP將數(shù)據(jù)上傳至云平臺,實時監(jiān)測USV運(yùn)行狀態(tài)。管理者可在任何無線網(wǎng)絡(luò)覆蓋的地方,通過云平臺對參數(shù)預(yù)警閾值進(jìn)行設(shè)定,云平臺將設(shè)定的閾值以Modbus TCP格式下發(fā)至LoRa無線網(wǎng)關(guān)。對下發(fā)的數(shù)據(jù)進(jìn)行Modbus TCP與Modbus RTU協(xié)議轉(zhuǎn)換,形成Modbus RTU報文數(shù)據(jù)格式,經(jīng)LoRa終端依次發(fā)送至STM32對應(yīng)的指令寄存區(qū),最終實現(xiàn)異常預(yù)警功能。數(shù)據(jù)遠(yuǎn)程傳輸框架如圖5所示。

圖5 數(shù)據(jù)遠(yuǎn)程傳輸框架
考慮航行體內(nèi)部狹小、可加裝的空間固定且有限、在不同工況條件下的電磁干擾波動大等問題,在兼顧控制數(shù)據(jù)采集及傳輸流程等相關(guān)要求基礎(chǔ)上,將各模塊采用活動卡扣封裝在電磁屏蔽箱內(nèi),以減小電磁對各模塊的干擾,方便安裝與維護(hù)。多源傳感器接口均采用四芯航空插頭,每個航空插頭包含2根電源線和2根信號線,便于靈活安裝。監(jiān)測設(shè)備內(nèi)部實物如圖6所示。

圖6 監(jiān)測設(shè)備內(nèi)部實物
選用Keil μVision5[20]集成開發(fā)環(huán)境,應(yīng)用C語言編寫數(shù)據(jù)采集與傳輸程序,其運(yùn)行流程如圖7所示。數(shù)據(jù)采集模塊在接收到云平臺發(fā)送的采集任務(wù)指令后,根據(jù)指令完成采集任務(wù),通過LoRa終端與無線網(wǎng)關(guān)上傳至云平臺。

圖7 主程序運(yùn)行流程
LoRa無線網(wǎng)關(guān)接收云平臺下發(fā)的指令或LoRa終端發(fā)送的數(shù)據(jù),兩者通過命令字進(jìn)行判別。若是云平臺下發(fā)的預(yù)警閾值設(shè)定指令,則通過LoRa終端發(fā)送至數(shù)據(jù)采集模塊的STM32控制器;若是LoRa終端上傳數(shù)據(jù),則直接發(fā)送至云平臺。無線網(wǎng)類程序執(zhí)行流程如圖8所示。

圖8 無線網(wǎng)關(guān)程序執(zhí)行流程
應(yīng)用程序開發(fā)通過云平臺中的組態(tài)設(shè)計功能實現(xiàn)。通過組態(tài)編輯器實現(xiàn)實時顯示和數(shù)據(jù)反演功能,將關(guān)聯(lián)數(shù)據(jù)進(jìn)行可視化展示。具體設(shè)計步驟如下:①創(chuàng)建模板,選擇合適模板對應(yīng)用程序進(jìn)行組態(tài);②設(shè)計應(yīng)用程序界面,進(jìn)行需求分析,詳細(xì)考慮系統(tǒng)參數(shù)監(jiān)測需求,對主界面、數(shù)據(jù)收發(fā)測試與分析界面、監(jiān)測與歷史數(shù)據(jù)查詢界面進(jìn)行設(shè)計,如圖9所示;③關(guān)聯(lián)系統(tǒng)監(jiān)測參數(shù),對組態(tài)界面中的每個按鈕設(shè)定輸入框、圓餅及線型數(shù)據(jù)顯示框,并將對應(yīng)變量進(jìn)行數(shù)據(jù)關(guān)聯(lián)。

圖9 應(yīng)用程序組態(tài)界面
監(jiān)測應(yīng)用程序工作流程如圖10所示。建立數(shù)據(jù)獲取接口鏈接,判斷校驗是否正確,遵循一對一原則識別不同傳感器原始報文并進(jìn)行分組。根據(jù)解碼規(guī)則對原始報文信息進(jìn)行解碼、進(jìn)制轉(zhuǎn)換與計算。根據(jù)預(yù)先設(shè)置的靜態(tài)閾值進(jìn)行數(shù)據(jù)異常判斷,在出現(xiàn)異常時發(fā)出警報。

圖10 監(jiān)測應(yīng)用程序工作流程
在對系統(tǒng)進(jìn)行硬件設(shè)計、程序設(shè)計與開發(fā)后,進(jìn)入系統(tǒng)功能與性能測試階段。功能測試包括監(jiān)測及預(yù)警功能測試。系統(tǒng)性能測試主要包括精度測試、信息傳輸丟包率及通信延遲測試。
測試區(qū)域長4 000 m、寬3 000 m、深8 m,場地開闊、無遮擋,滿足無線通信設(shè)備架設(shè)需求。海況為3級,溫度為23~33 ℃,相對濕度為35%~45%。監(jiān)測對象為一艘長7.6 m、寬2.8 m、高3.0 m柴油機(jī)驅(qū)動且運(yùn)行良好的USV,船體采用滾塑材質(zhì)。測試區(qū)域及監(jiān)測對象如圖11所示。

圖11 測試區(qū)域及監(jiān)測對象
將所設(shè)計的監(jiān)測系統(tǒng)安裝在USV上進(jìn)行持續(xù)測試,時長約8 h。系統(tǒng)運(yùn)行結(jié)果表明:監(jiān)測數(shù)據(jù)實時穩(wěn)定地上傳至云服務(wù)器,并通過應(yīng)用程序以圖形化界面展示;用戶通過應(yīng)用程序下發(fā)指令設(shè)置風(fēng)速預(yù)警閾值5 m/s,在風(fēng)速超過5 m/s時系統(tǒng)預(yù)警,達(dá)到預(yù)期的功能要求。系統(tǒng)預(yù)警閾值應(yīng)根據(jù)船型參數(shù)及穩(wěn)定性要求進(jìn)行設(shè)定,參見中國船級社《鋼質(zhì)海船入級規(guī)范》[21]和《智能船舶規(guī)范》[22]。
(1)精度測試。由第三方檢測公司進(jìn)行精度測試和標(biāo)定,因此對系統(tǒng)精度不再進(jìn)行測試,結(jié)果如表3所示。結(jié)果表明,該系統(tǒng)風(fēng)速誤差為(0.2±0.03)m/s,風(fēng)向為±2.5°,定位為0.025 m,所有參數(shù)均符合系統(tǒng)技術(shù)指標(biāo),整體數(shù)據(jù)正確率較高。

表3 系統(tǒng)精度測試結(jié)果
(2)信息傳輸丟包率測試。試驗共分10組,每組通信距離間隔為 0.3 km,將串口調(diào)試工具波特率設(shè)置為115 200,向無線通信模塊發(fā)送200個數(shù)據(jù)包,每包1 000字節(jié),發(fā)送間隔為1 ms。數(shù)據(jù)傳輸丟包率測試條件和結(jié)果如表4所示。由表4可知:通信距離在1.0 km以內(nèi),系統(tǒng)無亂碼、無丟包。與文獻(xiàn)[23]相比,在數(shù)據(jù)傳輸距離小于1.4 km時丟包率為1.5%,降低約22%。

表4 數(shù)據(jù)傳輸丟包率測試條件和結(jié)果
(3)通信延遲測試。通信延遲會影響USV運(yùn)行的穩(wěn)定性和安全性,通過標(biāo)記時間戳的方式計算系統(tǒng)延遲時間。T1為數(shù)據(jù)發(fā)送時刻,T2為云服務(wù)器數(shù)據(jù)接收時刻,T2-T1即為數(shù)據(jù)傳輸延遲。由于數(shù)據(jù)先寫入存儲模塊SD卡中再進(jìn)行遠(yuǎn)程傳輸,因此將SD卡中的數(shù)據(jù)時間戳作為T1。取100組數(shù)據(jù)進(jìn)行對比分析,如圖12所示。結(jié)果表明,系統(tǒng)平均通信延遲為23 ms,滿足監(jiān)測實時性要求。

圖12 系統(tǒng)延遲分析
(1)針對USV航行狀態(tài)監(jiān)測及試航性能評估試驗中的參數(shù)獲取需求,并結(jié)合中國船級社《鋼質(zhì)海船入級規(guī)范》設(shè)計一套綜合監(jiān)測系統(tǒng)。該系統(tǒng)依托感知層、傳輸層、應(yīng)用層等3層體系結(jié)構(gòu),應(yīng)用多源傳感器與現(xiàn)場總線對多類型航行參數(shù)持續(xù)采集,經(jīng)傳輸層傳輸與應(yīng)用層解算,最終實現(xiàn)實時監(jiān)測與預(yù)警功能,未來可應(yīng)用于USV日常航行監(jiān)測與性能監(jiān)測試驗。
(2)基于系統(tǒng)監(jiān)測數(shù)據(jù)遠(yuǎn)程傳輸要求,選擇LoRa終端和無線網(wǎng)關(guān)組合通信方式,對STM32內(nèi)部嵌入基于Modbus RTU協(xié)議的數(shù)據(jù)采集與傳輸程序,完成與LoRa終端之間的通信。無線網(wǎng)關(guān)以Modbus TCP為橋梁與云平臺進(jìn)行信息交互,用戶可通過手機(jī)小程序在任何互聯(lián)網(wǎng)覆蓋的地方遠(yuǎn)程查看監(jiān)測數(shù)據(jù)。
(3)通過對系統(tǒng)功能與性能進(jìn)行測試,結(jié)果表明:所設(shè)計的系統(tǒng)運(yùn)行穩(wěn)定,監(jiān)測數(shù)據(jù)準(zhǔn)確率高,所有參數(shù)精度均符合系統(tǒng)技術(shù)指標(biāo),風(fēng)速、風(fēng)向、定位誤差分別為(0.2±0.03)m/s、±2.5°、0.025 m;數(shù)據(jù)傳輸平均通信延遲23 ms,可實現(xiàn)實時監(jiān)控;通信距離在小于1.4 km時的丟包率為1.5%,對比傳統(tǒng)方法降低約22%,滿足預(yù)期的監(jiān)測與預(yù)警功能需求。