羅 淦,余華兵,余海瑞,吳文憑,肖宇峰
(1.哈爾濱工程大學 青島創(chuàng)新發(fā)展基地,山東 青島 266000; 2.中國船舶集團有限公司 系統(tǒng)工程研究院,北京 100000; 3.西南科技大學 信息工程學院, 四川 綿陽 612000)
無人船發(fā)展至今已有70多年的歷史隨著工業(yè)技術的進步,人類對無人遙控設備的需求越來越大[1]船舶的自主的航行有著十分重要的戰(zhàn)略層面的意義,由于無人船在全自主的控制的方式方法對于無人船的智能化的程度要求非常高,無人船的智能化的實現(xiàn)非常的艱難。與傳統(tǒng)船舶比起來,無人船能夠通過人員的控制系統(tǒng)與遠程的一些遙控的一些設備能夠在勞動的條件更加的優(yōu)越的岸上環(huán)境之下進行一系列的實時的操作,通過這些操作設備從源頭上減去人為的因素對船舶的運行的安全的影響[2]。
由于科學技術的進展,有關無人船的科學研究也日益引起世界各國的高度關注,而長距離或者超遠距離的數(shù)據(jù)通信也一直是無人船關鍵技術研發(fā)的重要課題,而以往的無人船控制系統(tǒng)大多通過設備的無線電接收機接收由地面遙控器發(fā)送的信息,而這種系統(tǒng)方法不但有效防止相距過近,同時易于引起干擾。針對于該問題,設計了將通道信號經(jīng)由無線數(shù)傳模塊從無人船發(fā)送端,接受端得到信號端的通訊系統(tǒng)[1-4]。
同時系統(tǒng)如果要在水面環(huán)境中完成控制者的安排,自主導航是不可缺少的關鍵環(huán)節(jié)。目前階段我們可使用到的自主導航方式有:慣性導航、天文導航、特征匹配等[3],但是如果只是單一的使用一種導航方式進行導航,在實際應用上效果往往達不到預期的想法,因此一般使用組合導航方式,用以更精確的完成導航效果,其次為了使無人船在規(guī)劃的路徑上穩(wěn)定運行,提高準確性需要對控制方法進行比較分析。當前常用的控制方法或多或少存在一些不足,所以在實際應用中還需要將這些方法做些改進[4]。
本次實驗以自主導航配合無線傳輸技術遠程遙控,設計出一種能在中長距離自由切換控制方式的一個無人船控制系統(tǒng),在測試實驗中取的很好的效果。
本次實驗的無人船控制系統(tǒng)采用了工業(yè)控制系統(tǒng)計算機和STM32單片機來做為 控制器共同組成的下位機主控制器,上位機為STM32單片機,外圍設備包括無線傳輸模塊(數(shù)傳和圖傳)、電源管理模塊、操舵裝置與驅動模塊、舵機模塊、舵機模塊,激光雷達以及攝像頭等,并且提供一個基于開源軟件框架的上位機監(jiān)控軟件,另外還包括電源管理模塊:通過穩(wěn)壓電路產(chǎn)生16 V,5 V以及3.3 V的電壓,為系統(tǒng)各個模塊提供安全穩(wěn)定的電壓,保證電路正常工作。舵機的驅動模塊可以通過轉16 V直接進行電源供應,而工控機和單片機的電源可以經(jīng)過穩(wěn)壓電路直接轉入12 V或者5 V電源?;驹O計框圖,如圖1。
圖1 系統(tǒng)設計框圖
無人船在一個完整的控制測試過程中主要完成以下流程。
本次實驗使用的無線傳輸模塊分為數(shù)傳和圖傳,通過工業(yè)級無線數(shù)傳模塊,上位機控制系統(tǒng)能夠遠程訪問無人船終端,使其執(zhí)行控制和數(shù)據(jù)反饋[4],通過無線圖傳模塊傳輸圖像回到上位機。在無人船路徑規(guī)劃上,采用激光雷達采集無人船位姿信息,回傳到下位機控制器進行提取和處理,在無人船運動控制方面,為了實現(xiàn)轉速和轉角可控,在推進器的控制上需采用PID算法和PWM定時器;在上位機控制器和無人船下位機控制器的通信方面上,采用RS485通信接口,以工業(yè)級無線數(shù)傳電臺來進行無線數(shù)據(jù)收發(fā),達到遠程控制無人船的目的。
現(xiàn)階段無人船為了適用于水面上的各種突發(fā)狀況,因此對于其的穩(wěn)定性要求很高。無人船在其航行的過程中需要保證船體航行等一系列的因素,讓船的重量盡可能的分布均衡,使其重心盡量偏低且居中,以此來防止在航行的過程中遇到水流變化而發(fā)生側翻的情況。根據(jù)技術指標和最高航速規(guī)定可知,該實驗無人船為中低速船舶。這一類的內(nèi)河行船通常有二個選擇:平底船和折角船。折角線體制造的工序較為繁瑣,且在相同容積下艙容較小,穩(wěn)定性不足,也不夠經(jīng)濟;平底方型線體制造工序較為簡化,而且艙口容量比較豐富,艦型更加穩(wěn)定。綜合考量無人船穩(wěn)定性和布置地位,選用平底方型線體比較合理[5]。對雙舵裝置的艦艇而言,在航行過程中往往需要將雙舵同時,而雙舵同時運轉最簡便、最安全的方式就是用一個推舵機構,利用連桿機構推動二舵柄同時運轉,但僅適合于雙舵相距近、單機運行功率小、載荷差別小的情況場合[6]綜合考慮采用平底雙舵機控制來完成本次實驗。
在本次實驗的地圖建立時,使用激光雷達掃描周圍環(huán)境信息,對無人船定位則采用的是GPS(global positioning system)+IMU(inertial measurement unit)的組合慣導模型,雷達能有效檢測距離為以雷達為中心的一定范圍環(huán)境,它本身能進行三維立體圖構建但因為三維地圖建立占用資源太多,且本次實驗可近似為在二維平面上運動故本次實驗使用二維掃描。在路徑設計上相對于光學系統(tǒng),激光雷達容易掌握,運用方便,而且對周圍環(huán)境的影響作用較小,配合GPS+IMU組合系統(tǒng)對無人船位置的定位,能讓無人船對周圍環(huán)境進行掃描并對自身位置進行定位。
進行無線數(shù)據(jù)傳輸時,使用兩種無線傳輸模塊,為區(qū)分以下分別稱為工業(yè)級無線數(shù)傳模塊和無線圖傳模塊:其中無線數(shù)傳模塊的工作頻段為425~450.5 MHz,出廠默認是433 MHz,傳輸距離達3 km;通信接口有RS232和RS485兩種,波特率支持1 200~115 200,出廠默認9 600;工作電壓為12 V。無線圖傳模塊的工作頻段為5.8 G,視頻碼率和工作帶寬為1~300 MHz,延時約為10 ms(僅圖傳),接收機5 dBi天線時傳輸距離可達1~3 km;工作電壓為DC12~24 V,能使無人船的控制距離在原有的基礎上擴大,使無人船能使用的領域更加寬廣。
本次設計采用兩個推力器做為無人船的動力來源,它所采用的新設計包括了一個全浸沒型無刷推進器,該推進器內(nèi)帶有封裝的調節(jié)推進器繞組溫度和定子,以及涂層的磁石和轉子。推進器的主體結構和螺旋槳均由堅硬的聚碳酸酯塑膠所制造,而僅有的裸露金屬部分則由船用不銹鋼制造。與之前的推進器相比,全淹沒設計是獨一無二的。它允許對推進器進行水冷和對塑料襯套進行水潤滑。它消除了對軸封,電磁聯(lián)軸器以及充滿空氣或機油的隔室的需要,從而使推進器具有自然的耐壓性。設計緊湊,部件數(shù)量最少,因此可以以可承受的價格使用它。
其對應的推進器驅動器上面包括了6個端子,分別是4個編碼器控制端子,用來驅動推進器;以及兩個脈沖信號端子,通過信號控制推進器的轉角。這6個端子加起來一起控制無人船的運動狀態(tài)。
無人船的視頻回傳采用720 P攝像頭,支持60幀視頻回傳,720 P攝像頭模塊的分辨率不是很高,它的最大圖像尺寸僅是1 024*768像素,因此所需回傳數(shù)據(jù)相較于其他攝像頭較少,很適合遠距離監(jiān)控,本次實驗使用該模塊主要目的為測試無線圖傳模塊傳輸?shù)姆€(wěn)定性。
電源管理是整個操作系統(tǒng)正常運行的前提基礎,就像人的壽命一樣,一個好的電源和電源管理就好比人有了一個好身體,所以在設置電源部分之前就需要單獨的對電源線路進行設置,并且在選用電源模塊時,還必須充分考慮實際使用的電源情況。電源模塊包括48 V電源箱和穩(wěn)壓模塊。電源箱供電電壓穩(wěn)定。本次各個模塊需要供電的范圍在3.3~16 V之間,需要轉化的電壓較多,因此電源箱很適合本次實驗各模塊的供電需求。
本文選用單片機作為系統(tǒng)主機的主控制器,在芯片選擇的時候需要考慮以下一些因素:系統(tǒng)外圍的電路非常多,芯片的I/O口數(shù)量一定要能夠滿足使用的需求。本系統(tǒng)設計選型采用了STM32F103ZET6芯片,用作控制主機的主控件。STM32F103ZET6為32位處理器芯片,使用了ARM公司的Cortex-M3內(nèi)核,最大運行時間為72 MHz,運行電壓區(qū)間為2.2~3.6 V,能夠運行在-40~105 ℃的工作溫度范圍,通過一系列的省電模塊保證了低功耗使用的需求,繪制PCB原理圖如圖2所示。
圖2 基于STM32的上位機控制器PCB
下位機控制器采用工控機和STM32單片機相結合。工控機可以通過收集激光雷達的信號對回傳無人船的位姿信息加以處理,并將信息傳遞給STM32單片機,工控機具有設計簡潔清晰、擴展功能強大、開源性較好的優(yōu)點。只需要熟悉各個硬件架構和應用基本理論便可簡單應用多個功能,同時實現(xiàn)跨平臺發(fā)展,所以使用非常廣泛。
軟件總體設置主流程圖,如圖3。首先完成對每個運行系統(tǒng)的初始化,分配資源后攝像頭采集信息發(fā)送至PC(personal computer)機軟件是否手動控制無人船(本次實驗需事先讓無人船在實驗場地行駛描繪出場地地圖),之后組合傳感器采集無人船位姿信息發(fā)送給工控機處理,檢查是否按程序路線行駛,若有偏移,則通過對推進器轉速的修正使其繼續(xù)按路線行駛,直到到達終點。
圖3 軟件總體設計主流程圖
定位系統(tǒng)和地圖的構建(SLAM)是移動機器人技術發(fā)展中的問題,難題,是移動機器人在未知條件中進行主動導航的理論基礎。激光雷達和光學感應器是SLAM領域的兩種主要傳感器,而近年來基于激光雷達和光學感應器傳感器的SLAM技術也獲得了更廣泛的發(fā)展與應用[7],其中激光雷達相較于視覺傳感器使用方便構建簡單。
本次實驗中使用了激光雷達制作水面環(huán)境圈定衛(wèi)星地圖盲區(qū),激光雷達所構建的是一種信息含量較小的柵格地圖,柵格地圖易于創(chuàng)建且生成速度快,更重要的是無需向外界數(shù)據(jù)庫請求信息,如圖4,為本次實驗雷達建立的柵格地圖示意圖。它將周圍環(huán)境分割成柵格的形式表示,柵格有白、灰和黑3種狀態(tài),白表明該路徑上無障礙物可通過,灰表明無法判別不明情況,黑則表明路徑上有障礙物[7]。
圖4 柵格地圖
本次地圖的構建分為先后端兩個步驟:地圖的建立是cartographer-SLAM計算的最先端,但是需要在地圖建立的步驟中添加了子地圖的定義,先通過一系列的激光掃描方式,使用掃描圖相匹配的方式在最佳方位處建立出子地圖,再通過特定的持續(xù)時刻的掃描圖相匹配方式[8]估算出無人船的相對位置,如果激光掃描的區(qū)域圖和距離過去的較近區(qū)域圖匹配了,那么在地圖上就可以添加回環(huán)的約束,通過估算出來的數(shù)據(jù)、相對時刻等,也能建立出最先端的位置圖;其后端過程中進行的就是圖的修改,進而去調節(jié)無人船在過去時的位姿和子地圖等信息,其后端處理則是指利用分支界定法實現(xiàn)對位姿圖像的閉環(huán)運算,在出現(xiàn)情況后,再將這個回環(huán)進行了一次非線性最小化二乘的優(yōu)化過程求解解決,然后再調整這個回環(huán)中的節(jié)點、邊和子地圖[9-10],圖5為地圖規(guī)劃算法框圖。
圖5 地圖規(guī)劃算法框圖
本次的實驗場地為水面平穩(wěn),視野開闊無遮擋的河流,為使地圖構建效果更佳,選取的實驗場地為河岸較河面高度差較為明顯處。
在現(xiàn)有技術之中導航定位常見的易于實現(xiàn)的技術手段共有3種:無線定位導航,GPS定位技術以及組合導航定位技術,組合導航定位技術能夠彌補GPS定位技術使用種如衛(wèi)星信號不足等缺陷,且能反饋的信息量相對于前倆者更為豐富[11],故本次的實驗采用的是GPS+IMU的組合慣導完成位置的標定,再根據(jù)定位信息和地圖信息完成實驗[12]。在無人船的位置定位模型中,通過GPS和IMU組合系統(tǒng)將收集到的位姿信息回傳到下位機控制器中,因為回傳的坐標信息是組合系統(tǒng)內(nèi)部的空間坐標系稱為地球坐標系,需要將回傳坐標轉換到對應的地理坐標系下(通常情況下地理坐標系和載體坐標系取相同),再將船體方位與姿態(tài)信息結合到一起組成完整的位置坐標信息。組合系統(tǒng)上的位置坐標可用φ,λ,h三個參數(shù)表示,其中φ,λ依次代表了緯度和經(jīng)度(從子午平面/本初子午面從赤道平面到該點的夾角),h表示高度,這3個參數(shù)共同構建出了組合系統(tǒng)的坐標系。轉換得到的地理坐標式也可由x,y,z三個參數(shù)表示,可簡單理解為以無人船重心為原點的空間直角坐標系,其中x,y,z分別指向東,北以及垂直向天的方向,以下列出坐標系轉換的計算公式,如式(1)~(3)表示位置坐標在轉換之后的模型上的關系,其中Re_L為地球長軸半徑,Re_S為地球短軸半徑,e為偏心率,計算方式如式(5)[12-14]:
(1)
(2)
(3)
其中:N為曲率半徑,W為輔助系數(shù):
(4)
(5)
N=Re_L/W
(6)
Re_L=6 378 137
(7)
Re_S=6 356 863.018 8
(8)
再經(jīng)過量綱轉換后,收集在地圖或坐標下的位置信息和在船舶偏航點的位置信息,進行組合就能在地圖上定位無人船的位置[15]。
路徑規(guī)劃模塊負責的是生成最優(yōu)路徑,A*算法作為最常用的規(guī)劃算法,在目前規(guī)劃中大都使用該算法進行操作,基本思想為選取f(n)值中最小的節(jié)點作為相鄰后置位要查找的節(jié)點,逐個查找一直到找到目標節(jié)點[16]。代價值的式子如下所示:
f(n)=g(n)+h(n)
(9)
f(n)為點n于起始,目標節(jié)點的代價值總和;g(n)為點n到起始節(jié)點實際的代價值;h(n)為點n到的目標節(jié)點估計的代價值,其流程框圖如圖6。
圖6 路徑規(guī)劃框圖
PID控制系統(tǒng)是利用對誤差信息的比較、積分、導數(shù)計算的各種復合方式應用于各種系統(tǒng)的控制原理,以便使誤差趨向零。
PID計算式如式(10),在其中e(k)表示本次偏差,e(k-1)表示前位相鄰偏差,e(k-2)表示前隔位相鄰偏差,Pwm表示增量輸出,Kp,Ki,Kd分別代表比例增益,積分和微分常數(shù)。
PID調整,主要是指調整微分時間常數(shù)Td、比例增益效果Kp、積分分時間常數(shù)Ti三種參量,其傳遞函數(shù)為式(11)所示。該裝置采用PID調節(jié)方法控制推進器,其速度變動相對穩(wěn)定,且偏差較少,此時僅需要改變PI參數(shù)即可,包括比例增益效果和積分時間等常數(shù)[17]。那么,上式(11)可以簡化成式(12)中所述:
Pwm+=Kp[e(k)-e(k-1)]+Ki×e(k)+
Kd[e(k)-2e(k-1)+e(k-2)]
(10)
G(s)=U(s)/E(s)=Kp(1+1/(Ti×s)+Td×s)
(11)
Pwm+=Kp[e(k)-e(k-1)]+Ki×e(k)
(12)
在本文中的無人船舶采取雙舵機驅動的方法推進船舶朝著目的地運行,這里我們假設無人船在一個XOY的坐標系中,規(guī)定船頭朝向為Y軸正方向,右推進器為X軸正方向,規(guī)定好坐標系方向之后,根據(jù)左右推進器速度差實現(xiàn)對無人船方向的改變[18],本次實驗使用利用Pwm定時器通過設置占空比的方式調整每個階段推進器的運行速度配合PID算法進行轉向控制,其設計流程如圖7所示。
圖7 PWM設計流程圖
上位機軟件是采用開源框架搭建的一個窗體軟件,采用的是C++語言,這款軟件能在裝有Windows系統(tǒng)的PC機或者工控機上穩(wěn)定運行,且操作方便[19-20]。本上位機軟件是由如下幾個部分構成的。
1)上線狀態(tài):當無人船與上位機軟件收發(fā)數(shù)據(jù)正常時,軟件會提示通信正常,并且顯示無人船的當前轉角,速度,工作狀態(tài),回傳視頻等信息,以便我們觀察無人船情況。
2)地圖:軟件會獲取衛(wèi)星地圖,并通過收到信息定位無人船在地圖上的位置,方便我們進行后續(xù)控制等一系列的操作。
3)切換控制:可控制無人船切換為自主行進還是手動控制行進。
4)其他可附加功能:留有可附件功能的界面,可添加其他如定位等的附屬功能[20]。
1)先搭載好船體,并查看外圍設備是否和主要控制器穩(wěn)定相連接。
2)使用基于STM32的上位機控制器對無人船進行控制,在實驗場地行駛繪制出實驗場地柵格地圖(為測試方便,只建立了計劃路線即包含行駛路徑的柵格地圖,未建立完整河道地圖)圈定衛(wèi)星地圖盲區(qū)。
3)選取合適的路線(由于河道部分地方河道彎曲且周圍有障礙物阻擋,為了測試無線傳輸最好的效果,在選取路線時,通過劃分區(qū)域點到點分段式到達的方式行駛來規(guī)避上位機和下位機間的部分障礙物),通過上位機將行進指令發(fā)送到下位機控制器。
4)事先在下位機控制器上設置自動回傳的固定長字符串(共28位,開頭三位分別為000)。
5)無人船行駛,在行駛過程中,每當無人船與起點直線距離行駛達到約100 m便向PC機軟件監(jiān)控端和控制器回傳一次設置好的長字符串。
6)記錄長字符串反饋情況,并且匯總與文檔中。
7)在行駛過程中,每當無人船與起點直線距離行駛達到200 m,PC端便單獨保存此200 m從攝像頭回傳的視頻,然后記錄該視頻的效果。
將記錄的數(shù)據(jù)進行統(tǒng)計、處理,得到如表1~2所示的實驗數(shù)據(jù)。
表1 無人船接收到字符串效果1
1:無人船接收到字符串效果完整度分成A、B、C三種等級,A:完整接收;B:遺失1-10個字節(jié);C:遺失10個字節(jié)以上或無法接收到字節(jié)。
表2 無人船回傳視頻效果2
2:無人船的回傳視頻效果分為A、B、C3種等級,A:視頻正常無卡頓;B:視頻正常無明顯卡頓或無明顯雪花干擾;C:視頻雪花干擾和卡頓明顯或無視頻傳入。(正常人肉眼觀察無卡頓的視頻幀數(shù)為每秒24幀以上,20幀以下能察覺到明顯卡頓)
從表1中的信息表明,無人船中的數(shù)據(jù)信號傳輸隨著初始距離的增加而變得越來越不穩(wěn)定。當初始距離從0 m增加至1 300 m時,傳輸字節(jié)接收完整度穩(wěn)定,幾乎無缺失且能穩(wěn)定接收,而超過1 300 m后接收字符完整度和穩(wěn)定程度明顯下降,甚至幾乎無法接收到字符串。因此,當直線距離小于1 300 m時,無人船遠距離控制較為穩(wěn)定。
從表2中的數(shù)值表明,無人船回傳視頻的有效性隨著起點與無人船的直線間距的增加而有所減弱,因為測試地為遮擋物較少地區(qū),所以主要影響因素為距離??梢园l(fā)現(xiàn),起始距離在800~1 200 m范圍內(nèi)的,視頻效果明顯低于起始距離在0~800 m范圍內(nèi)的。另外,距離超過1 200 m時,視頻效果也衰減地比較明顯甚至接收不到視頻。
結合之前所查閱資料和以上測試的數(shù)據(jù)分析而得出,當在環(huán)境開闊無遮擋物時航行距離直線長度在0~1 200 m范圍內(nèi)時,無人船的綜合效能發(fā)揮良好。
本篇主要講述了一種采用無線傳輸模塊的無人船,對無人船的硬件和軟件設計部分作出了重點說明。經(jīng)實驗檢查證明,無人船能根據(jù)規(guī)劃路線自動行駛,同時在一定距離內(nèi)能進行遠程操控和反饋信息。此外,無人船的總體穩(wěn)定性尚有待繼續(xù)改善且尚未在復雜環(huán)境測試,主要可以通過提升相應硬件并繼續(xù)優(yōu)化軟件設計來完成。由于該無人船成本較低,性能優(yōu)越,通過簡單改善就可以取代目前的一些自動化水平較低、售價卻十分昂貴的無人船,具有一定的實際使用價值,因此具有一定的參考價值。