侯玉乙,滕音文,孫寶龍
(大連船舶重工集團設計院船研所,遼寧 大連 116005)
無人水面艇簡稱無人艇,是一種小型水面智能平臺,其智能系統包括通訊系統、運動控制系統和輔助無人艇安全航行的傳感器系統[1]。隨著通信、人工智能等技術的迅速發展和應用需求的強力推動,無人艇已進入快速發展時期,在水文研究、水面環境監測、海事服務等領域扮演著越來越重要的角色[2]。
當前,無人艇研究主要集中在路徑規劃算法方面,陳霄等[3]提出一種基于改進視線導引算法與自適應滑模航向控制算法的無人艇航跡跟蹤控制算法,通過Matlab仿真實驗與傳統算法進行對比,驗證了算法的有效性。陳卓等[4]提出采用進化勢場模型完成無人艇的路徑規劃,在算法模型中引入路徑評價方程和微分進化算法,仿真結果驗證了算法的有效性。吳波等[5]研究了基于速度障礙法的無人艇自動避碰算法,克服了局部路徑規劃的局限性,仿真完成了復雜環境中的安全避障。無人艇路徑規劃問題是運動控制系統的重要組成部分,包括基于環境信息的全局路徑規劃和基于外部傳感器的局部路徑規劃。基于環境信息的全局路徑規劃前人已經進行了大量研究[6-7],但在規劃航線上難免會存在一些未知的靜態障礙物,影響航行安全。無人艇要想實現自主航行,不僅要實現在全局規劃航線上運動,同時還要能夠及時避開規劃航線上的未知障礙物,保證其安全航行。
無人艇運動控制系統由船載部分和岸基部分組成,如圖1所示。船載部分包括的無人艇控制器是運動控制系統的核心部分,負責處理來自傳感器、通訊模塊和導航模塊的數據,做出航行決策;傳感器模塊,負責感知無人艇周圍環境信息,為模糊控制算法提供障礙物距離信息;導航模塊,提供無人艇實時位置;船載無線數據傳輸模塊將信息實時傳輸到地面站系統,供岸基人員監控、決策;動力模塊接受控制器的輸出指令,對螺旋槳和舵機進行控制。岸基部分主要包括接受無人艇上實時傳輸參數的岸基無線數據傳輸模塊和地面站系統,地面站系統用于存儲數據信息和實現無人艇狀態參數顯示,供岸基人員監控和進行數據分析。

圖1 無人艇運動控制系統組成示意圖
無人艇采用全局路徑規劃與局部路徑規劃相結合的方式完成自主航行。全局路徑航行是指人在岸基根據地圖信息設置好需要到達的航點,使無人艇沿著自動生成的路線航行;當在規劃航線上遇到未知的靜態障礙物時,無人艇通過自身攜帶的超聲波傳感器獲取周圍環境信息,當發現前方有威脅到自身航行安全的障礙物時,啟動避障模塊,使其繞開障礙物,順利完成各航點的巡航任務。無人艇避障流程圖如圖2所示。在整個運動控制過程中,避障模塊的優先級最高,即在航向過程中首先需保證無人艇的航行安全,其次是在設定航線上航行。

圖2 避障流程圖
模糊控制是控制理論和模糊數學結合得到的控制方法,通過規則實現系統控制,不依賴于精確數學模型,但也不是隨機的,規則依賴于現有知識基礎和專家經驗。本文無人艇避障系統采用模糊控制算法,依據專家經驗和避障規則制定算法控制規則。規則包括4個輸入,分別為前方、左側、右側超聲波測得的距離和羅盤測量的偏航角;2個輸出,分別為舵角和航速。部分模糊控制規則如表1所示。

表1 模糊控制規則表
其中,近和遠代表距障礙物遠近信息;正、負和零表示無人艇航向與目標航向的夾角即偏航角,以右為正;右舵大表示操右舵,且為大舵角;左舵小表示操左舵,且為小舵角;快、慢表示航速。
規則采用“IF-THEN”的形式進行描述,例如:IF無人艇左方、右方無障礙物或距離障礙物較遠,前方距離障礙物較近,且偏航角為正,THEN無人艇以右舵大舵角慢速航行。
隸屬度函數是模糊控制的基礎,隸屬度函數構造是否合理將直接影響控制器的性能。隸屬度函數主要包括三角形隸屬度函數、梯形隸屬度函數和高斯型隸屬度函數[8]。本文依據專家經驗,結合超聲波傳感器的測量距離和無人艇航速設計模糊控制算法的輸入、輸出范圍和隸屬度,選擇三角形和梯形隸屬度函數作為函數模型,通過MF編輯器來構建隸屬函數,進行反復調試,最終得到了理想的結果,如圖3所示。

圖3 隸屬度函數曲線
無人艇模糊控制算法包括4個輸入和2個輸出,輸入分別為圖3(a)、(b)、(c)所表示的前、左、右3個方向上的超聲波測距傳感器測量的距障礙物距離信息隸屬度和圖3(d)表示的偏航角隸屬度;輸出分別為圖3(e)、(f)所表示的舵角和航速隸屬度。由圖3知,超聲波測距傳感器的論域為[0,800],因船的運動主要在船長方向,幾乎不發生側移,所以,對于前面的超聲波傳感器,當距障礙物的距離小于600 cm時,船舶開始進行避障;當距離小于200 cm時,視為距離障礙物很近,進行緊急避讓;左右兩路超聲波,其主要作用是保障船舶在狹窄區域或轉向時的安全,與障礙物距離大于400 cm時,均視為安全距離,小于100 cm時視為距障礙物較近。偏航角的論域為[-180,180],輸出速度論域為[0,4],舵角輸出大小根據實船操舵要求,舵角論域設為[-30,30]。
模糊控制算法避障仿真實驗在Windows 7系統,MATLAB 2014a環境下進行。在16 m×8 m仿真環境設置若干障礙物,如圖4所示,黑色實心圓即為障礙物位置信息,為了仿真過程中直觀判斷無人艇航行路線是否在安全區域;點劃線圓繪出了無人船航行時距障礙物的安全范圍,圓外即為安全區域,圓內屬于危險區域。

圖4 仿真環境
為了驗證算法的可行性,分別設置3個起點和終點,基于模糊控制算法在環境中分別進行路徑規劃。起點1(0,0),終點1(16,8);起點2(0,0),終點2(16,6);起點3(0,2),終點3(16,8);路徑仿真結果如圖5所示。由圖5可知,算法生成的路徑可有效避開環境中的障礙物,且均在安全區域內,滿足無人艇航行、避障要求,驗證了算法的有效性。

圖5 路徑仿真圖
針對當前無人艇智能航行中,如何更好地避開規劃航線上的障礙物問題,本文提出在艇上安裝超聲波傳感器的方式,獲取航行過程中周圍環境信息,采用基于專家經驗的模糊控制算法,實現無人艇航行過程中有效避開規劃航線上的障礙物。依據專家經驗設計了避障規則,根據超聲波傳感器的有效工作范圍和無人艇航速設計了隸屬度函數曲線,Matlab仿真結果驗證了算法的可行性,對無人艇智能航行具有借鑒意義。