?

水面無人艇遠程控制系統設計與實驗

2022-02-18 03:11俞萬能李光澤
關鍵詞:經緯度航向水面

王 珺,俞萬能,2,3,李光澤

(1.集美大學輪機工程學院,福建廈門 361021;2.福建省船舶與海洋工程重點實驗室,福建廈門 361021;3.福建省近海小型綠色智能船舶系統工程研究中心,福建廈門 361021)

0 引言

水面無人艇(unmanned surface vehicles,USV)可以通過艇上智能控制系統與遠程無線遙控系統相配合,實現手動操控和自主航行功能。水面無人艇又可以看作是一個在水面上執行任務的智能機器人,可以根據不同的需求搭載相應的功能模塊,構成擁有特定功能的機器人,代替人們執行多種任務。水面無人艇具有機動性強、隱身性能好、成本低等特點,在民用與軍用上都具有重要作用[1]。目前,相比于國外的無人艇技術,我國在許多關鍵領域的難題還需攻克[6]。田延飛等[7]設計的遠程控制系統以 Arduino 2560 為中央控制器,船舶的運動狀態通過驅動電機來進行轉換,并通過 GPRS 實現無人艇端與岸基操控端的無線通信,但是由于GPRS網絡速度慢且信號不好,會造成通信的延遲,難以精確地實現運動控制;王寧等[9]則通過LOS(line-of-sight)制導方法及PID(proportional-integral-differential)控制器實現對無人艇的運動控制,但是由于PID控制具有參數整定困難以及不適應非線性系統的控制等問題,因此難以滿足控制要求;李麗等[10]設計的小型吊艙式無人艇采用TMS320F2812 DSP(digital signal processor)作為控制器,并采用DTU(data transfer unit)進行2G網絡通信,由于海上風、浪、流等干擾,以及移動信號弱等環境因素的影響,使得其設計的無人艇難以滿足高精度的控制要求以及低延遲的通信要求;田勇[11]采用主頻不高的STM32作為控制器,由于體積小且功能單一,無法滿足多功能的需求。

為解決水面無人艇遠程控制中通信延遲和信號差等通信問題,本研究設計了無人艇的艇載通信系統和岸基通信系統,搭建DSP結合ARM(advancd RISC machine)控制器的硬件平臺,研發通信導航運動控制系統;采用模糊算法改進PID控制器,通過模糊推理實現對PID控制參數的調整,以期提高無人艇運動控制的準確性。

1 系統總體架構組成

本研究根據需求搭建的水面無人艇實物圖見圖1,無人艇長為1.82 m、寬為0.58 m,吃水深度為0.18 m,質量為90 kg。所設計的無人艇主要由船體、電池模塊、導航模塊、推進模塊、遠程控制模塊和攝像頭等硬件組成。電池模塊由電池和電池管理系統組成;導航模塊由GPS和慣性導航系統組成;推進模塊由螺旋槳、數字舵機和推進電機組成;遠程控制模塊分為艇載控制系統和岸基網絡控制系統兩大部分,兩者通過中介DTU進行雙向的信息傳輸,即以DTU為通信終端設備,通過5G移動通信網絡與阿里云服務器建立連接,將信息傳輸至云端服務器,同時可使用臺式計算機、筆記本電腦、平板電腦和手機等移動網絡設備訪問水面無人艇網絡控制界面,對無人艇進行運動控制和狀態監測。

2 無人艇遠程控制系統研發

2.1 艇載控制系統

為實現艇內設備以及艇載系統與岸基系統之間的通信[12],將TMS320F2812型號DSP控制器[13]與STM32H743型號的ARM控制器相結合,以此作為無人艇的控制器(如圖2所示)。在控制系統架構中(如圖3),DSP控制器主要用來讀取推進電機、數字舵機及電池的電壓電流等數據信息,對采集的數據信息進行融合處理。DSP控制器通過脈沖寬度調制的方式對直流無刷電機和數字舵機進行控制,從而實現對無人艇運動速度和運動方向的控制。ARM控制器對慣性導航系統所傳輸的無人艇實時信息解析出經緯度,處理器將大地坐標系下的目標點、起始點和當前點的經緯度投影出平面坐標系的二維(x,y)坐標,并用三角函數進行運算,計算出無人艇實際航向和期望航向之間的誤差,得出無人艇回到實際航線所需的轉向及轉速信息。最后,將控制指令通過ARM傳給執行機構,從而實現無人艇的路徑跟蹤。

2.1.1 數據采集

數據采集是實現水面無人艇遠程控制至關重要的環節。推進電機和數字舵機的電壓、電流數據采用DSP內置的A/D輸入接口進行采集,從而將模擬信號轉換為數字信號。電池的電壓和電流的數據信息將通過BMS(battery management system)[14]模塊采集。無人艇的經緯度和航向等信息通過慣性導航系統(見圖4)采集,慣性導航系統上電后可以自動發送實時監測的數據信息,通信協議選用MODBUS協議。

2.1.2 數據通信及航向引導計算

艇載的通信通過串口實現。如圖5所示,經緯度的數據信息從慣性導航系統輸出,先通過RS-232轉RS-485無源光電隔離轉換器進行轉換,接著通過RS-485傳輸至ARM,在ARM中完成經緯度的坐標轉換及坐標的計算。慣性導航系統的數據幀格式為1位起始位,8位數據位,1位停止位,無校驗位,先發低字節,后發高字節,每字節又低位先發送。其中經緯度的數據由8個字節組成,前4個字節為經度,后4個字節為緯度,經緯度的讀取方式為從低位往高位讀取。由于從慣性導航系統輸出的經緯度數據為16進制數據,故先將16進制的數據轉換為10進制的數據格式,再將轉換后的數據轉換成度數的格式,利用轉換后的經緯度進行無人艇航向引導的計算。

本研究所使用的航向引導法是使用類似于視線制導的方法,通過慣性導航系統實時采集的經緯度信息來進行。圖6中A代表無人艇起始點的位置,B代表目標點位置,C為受到風浪流等干擾后偏離航線的實時位置點。A和B點的位置信息由無人艇上位機軟件界面輸入,通過DTU的傳輸下發至ARM,C點為慣性導航系統實時采集的無人艇經緯度信息,將A、B和C三點的經緯度通過ARM進行坐標系的轉換,使三點在同一個笛卡爾坐標系中,便于計算出θ的角度。當θ>10°時,會將舵機進行20°的一個轉向;當5°<θ<10°時,會將舵機偏轉10°;當θ<5°時,屬于在允許的誤差范圍內。完成航向的制導計算后,在原來的慣導數據后追加8個字節的控制數據,將合成的控制數據通過RS-232傳輸至DSP用來控制數字舵機,而采集的慣導數據經過RS-232從DSP傳輸至DTU,DTU則將傳來的數據通過移動網絡傳輸至SQL數據庫。

2.2 遠程遙控系統研發

遠程控制界面如圖7所示,主要以阿里云服務器、Web服務器[15]、Apache服務器、MySQL數據庫為基礎,基于5G移動通信技術,設計開發無人艇遠程控制系統。該系統可對無人艇進行遠程控制,并可對電池組信息、推進系統狀態、航行海況、無人艇的位置等進行實時監控,可以直觀獲取當前以及歷史運行數據。

2.2.1 數據庫與服務器

數據庫采用MySQL3.2。MySQL[16]具有操作簡單,占用體積小,方便調用數據并提供多種編程接口的特點。Apache服務器功能是提供網上信息瀏覽服務,當客戶端向Apache服務器管理的HTML靜態網頁文件發起文件請求,Apache服務器接受到該請求并在相關目錄下尋找這個HTML網頁文件,然后將結果反饋至客戶端瀏覽器,附帶的文本類型信息會指示瀏覽器如何查看文件[17]。云服務器[18]采用阿里云ECS(elastic compute sercive)服務器,它可根據用戶需求提供彈性可伸縮的計算服務[19]。

DTU與ECS的數據交換是基于因特網的TCP協議格式完成,需配置DTU撥號參數、云服務器IP地址、串口波特率和端口號等工作參數。DTU上電工作后,首先讀取內部FLASH中保存的工作參數,DTU隨即登錄移動網絡,進行PPP撥號,獲得一個由移動隨機分配的內部IP網絡。云服務器的Web服務器收到DTU的TCP通信請求并響應請求,向DTU返回請求成功字符,則DTU與Web服務器連接成功[20]。

2.2.2 客戶端界面設計

客戶端界面由HTML和Javascript編寫。后臺腳本程序用來實現CGI(common gateway interface)功能[21],Web瀏覽器發送給Web服務器的信息將由CGI程序接收并進行處理[22]。當瀏覽器收到Apache服務器發來的HTML代碼后,逐條解析成網頁,在客戶端瀏覽器顯示無人艇的電池組信息、雷達信息、視頻畫面、運動狀態等,完成所需的人機交互功能。針對無人艇遠程控制與監測的功能需求,前端人機交互由無人艇監控界面、控制界面、蓄電池組信息界面、雷達數據界面、歷史航行記錄界面組成。

3 無人艇控制系統軟件設計

水面無人艇的控制是通過數字舵機的轉向以及螺旋槳的轉速來完成的,模糊PID控制方法基于微控制器來實現。無人艇的運動控制系統主要由上、下位機兩個部分組成,軟件流程圖如圖8所示。

無人艇采用吊艙式設計,通過對推進電機和數字舵機的控制來實現無人艇航速和航向的控制。傳統的PID控制器不能適應外界擾動對航向變化的影響,主要是因為其控制器參數不會隨著外部擾動的變化而改變。對于這種非線性、時變的系統,控制方法主要采用神經網絡和模糊邏輯控制。本研究采用模糊PID控制方法,通過模糊推理實現PID參數的在線整定,不僅保持了傳統控制系統原理簡單、使用方便的優點,而且具有更強的靈活性、適應性和較強的魯棒性。無人艇的航行運動控制結構如圖9所示,給定的運動控制指令與USV反饋回來的當前航向、航速的偏差γ、μ通過模糊PID調節,消除誤差,通過脈寬調制來控制方向φ和航速V,從而對無人艇航行進行控制。

4 實船測試與數據分析

為了驗證水面無人艇遠程運動控制系統的實時性、操作性及準確性,基于上述通信架構和運動控制方法,使用自主研發的水面無人艇搭載控制系統進行實船測試。在廈門某水域先后進行了多次下水航行測試,實船測試如圖10所示。

4.1 USV遠程通信實時性測試

水面無人艇在遠程人工控制模式下航行時,需要經常向USV發出控制指令。因此,手動控制的基礎就是控制指令能否實時下達。如表1所示,測試了不同地點無人艇對控制指令的響應時間。測試結果表明:本設計的無人艇遠程控制系統的通信延遲短,能夠滿足控制要求。

表 1 遠程控制實時性測試表

4.2 USV實時加速性能測試

航向、航速控制是USV運動控制的基礎和關鍵。本系統所選用的推進電機為直流無刷電機,最大轉速1100 r/min,將電機轉速劃分為四個檔位:DS、S、H、F,分別對應四個航速。USV實時加速性能測試結果見表2。

表2的測試結果表明:本研究采用模糊PID控制方法可以有效地控制無人艇的運動,能夠根據遠程運動控制指令校準和穩定航速,使無人艇遠程運動控制更具精確性。

表 2 推進性能測試數據

4.3 USV遠程控制下直行及回轉性能測試

根據無人艇的主要參數,為了驗證無人艇控制系統的靈敏性和可操作性,本文分別對直線行駛以及設定航速、轉舵角度下的巡回半徑分別進行了PID控制實驗和模糊PID實驗,巡回半徑實驗舵角范圍為[-60°,+60°]。在遠程運動控制測試中,由于沒有航行軌跡繪制圖,所以測試完成后需要對MySQL數據庫存儲數據進行分析。根據MySQL數據庫存儲的航行數據,通過MATLAB坐標轉化運算,結合航速和航向大小變化在地圖上進行數據擬合得到無人艇直線行駛運動軌跡圖,如圖11所示。

圖11a為水面無人艇采用PID控制的直線行駛實驗的軌跡圖,綠標為起點,紅標為終點;圖11b為模糊PID控制的直線行駛的軌跡圖,其中紅色的航線為設定的期望航線,藍色的航線為實際航線。圖11a中,通過實際航線與期望航線的誤差計算可知最大的偏航距離為5 m;圖11b使用改進后的控制器,通過實際航線與期望航線的對比可知,最大的偏航距離為 1 m。

通過MATLAB對慣導系統采集回來的實際航向與期望航向進行分析,結果如圖12所示。圖12a采用原控制器,設置的期望航向角為60°,實際航向與期望航向最大誤差將近20°;圖12b采用改進后的控制器,設置的期望航向角為110°,通過期望航向與實際航向對比,可知最大誤差在10°以內。由此可以清晰地看出改進后的控制系統在控制無人艇直線航行的時候,可以更好地控制航跡,使得航向偏差控制在允許的范圍內,無人艇的控制系統更加穩定,受其他干擾因素的影響比較小。

圖13a為水面無人艇采用PID控制的巡回半徑實驗的軌跡圖,圖13b為模糊PID控制的巡回半徑實驗的軌跡圖。圖13中紅色的航跡為通過計算之后的期望航跡,藍色的航跡為無人艇通過實船實驗所得的實際航跡,從中也可以清晰地看出改進后的控制系統在風、浪、流等外界擾動的情況下,無人艇做巡回運動時,抗干擾能力變強,穩定性變強,回轉性能也更優異。

給定無人艇航速V,且無人艇橫傾角小于15°,當船速穩定后,逐漸增加舵角φ,可以得到不同船速下的巡回最小半徑航行軌跡。由此獲取不同給定航速、航向下的巡回半徑,如表3所示。

表 3 巡回半徑表

綜上,測試結果表明:本研究研發的小型吊艙式無人艇遠程控制系統,經實船實驗驗證,在不同航速下無人艇轉舵的靈活性、可操作性以及遠程控制的實時性均能夠滿足水面無人艇的遠程運動控制要求。

5 結語

本文設計了水面無人艇的艇載控制系統和岸基控制系統,搭建了無人艇通信導航系統。同時基于阿里云服務器、Web服務器、Apache服務器及MySQL數據庫開發了無人艇運動控制網絡界面和狀態監控界面,可通過手機、iPad、筆記本電腦等遠程設備控制無人艇,且遠距離控制延遲較小。水面無人艇的運動控制系統基于DSP和ARM控制器,在原來PID控制算法中加入模糊控制算法,提高了無人艇的航跡控制精度。搭建實驗平臺并進行實船實驗,實船測試結果表明,本研究所研發的5G通信技術下的水面無人艇控制系統能夠滿足遠程運動控制要求,并提高了無人艇航跡控制的精度。

猜你喜歡
經緯度航向水面
風浪干擾條件下艦船航向保持非線性控制系統
知坐標,明航向
水黽是怎樣浮在水面的
考慮幾何限制的航向道模式設計
基于經緯度范圍的多點任務打包算法
自制中學實驗操作型經緯測量儀
基于干擾觀測器的船舶系統航向Backstepping 控制
爭奪水面光伏
澳洲位移大,需調經緯度
一塊水面
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合