袁鵬,徐泓燊,張雪飛,譚俊哲,2,王樹杰,2,惠文海,2
1 中國海洋大學 工程學院,山東 青島 266100
2 青島市海洋可再生能源重點實驗室,山東 青島 266100
無人帆船在水域航行時,主要受風以及由風引起的浪和流等許多因素的影響,這些復雜的環境因素決定了帆船航行比其他機動艇航行的難度更大。因此,無人帆船的循跡航行需要考慮多種環境因素,根據觀測點的氣象信息來實現其循跡航行。
目前,多所高校和科研院所開展了一系列無人帆船路徑規劃和循跡航行方面的研究。王倩等[1]根據操舵的專家經驗制定出了245 條模糊控制規則,直接以舵角作為單輸出,實現了一個1.5 m 帆艇的循跡航行。邢慧麗等[2]針對帆船在海上行駛所具有的模糊性和不定性特點,提出了基于分區段優化和進化規劃的帆船航行路徑優化方法,對每一個分段都制定相關決策評價函數,利用全局優化搜索路徑,得到最優方案。葛艷[3]提出了基于進化規劃理論的無人帆船行駛最優路徑規劃方法??祲糨降萚4]針對無人帆船短途路徑規劃問題提出了速度最優法,并將其與傳統的A*算法進行了對比,結果證明了速度最優法在短途路徑規劃中的合理性。董早鵬等[5]針對水面無人艇(Unmanned Surface Vehicle, USV)的非對稱和欠驅動特性,提出了一種非對稱模型下的改進視線法導向路徑方法,有效解決了針對欠驅動無人艇的航路點路徑跟蹤問題。曾江峰等[6]設計了一個新的切換型視線法制導律,可以引導USV 始終以最佳視線圓半徑趨向期望路徑。
帆船的動力來源主要依靠風力,且只要有風就會伴隨有浪、流對船體的影響,這些影響在實際航行中是不容忽視的因素;依靠流體動力學、通過設置流場環境得到的帆船航速往往需要插值才可以使用。在此基礎上,再結合諸如遺傳算法、蟻群算法、模擬退火算法之類的算法進行路徑規劃,這使得整個求解過程時間較長。而視線(Line of Sight,LOS)法因簡單、快速、高效,已在路徑規劃跟蹤系統設計中得到了普遍應用[7-9]。在傳統的LOS 路徑規劃中,路徑跟蹤點的LOS 視線圓半徑通常設定為固定不變[10],雖然其整體形式簡單,但會導致收斂時間過長。后來,學者們又提出了比例型LOS[11]和指數型LOS[12]。與比例型LOS 相比,指數型LOS 在路徑跟蹤誤差收斂性方面得到了顯著改善,但因為其數學模型中引入了指數函數、朗伯W 函數,使得求解LOS 角的運算時間較長。
針對上述問題,本文擬提出一種速度選擇切換型LOS 法,通過無人帆船速度預測程序(Velocity Prediction Program,VPP)模塊,使無人帆船在每個航速方向能夠達到的較大速度的基礎上,再結合切換型LOS,使得路徑跟蹤誤差收斂性得到改善,并使LOS 角求解運算量明顯減小。
無人帆船的循跡航行必須具有應對水面波、流多變情況的適應性以及實時控制的靈活性,整個控制流程如圖1 所示。根據在氣象站點測量得到的風況信息判斷是否滿足帆船航行的基本條件,并通過帆船各個傳感元器件為智能航行進行初步調節,在得到相應的風速、風向與實時坐標之后進行速度預測,同時通過循跡模塊獲得最佳期望航向角與帆角,然后,再通過下層搭建的控制模塊實現無人帆船的循跡航行,并通過傳感器模塊對帆船的姿態、航向、位置等信息進行實時監控。因此,在無人帆船的自動循跡航行中,求解出航行速度是算法實現的關鍵所在。

圖 1 無人帆船循跡航行流程圖Fig. 1 Flow chart of unmanned sailing boats path tracking control
LOS 法的原理是在預期航跡上設定一參考點,并有一定的距離在帆船的前方,通過實時不斷地調整航向,使被控帆船保持對準LOS 角,并達到期望路徑的位置,從而實現航跡跟蹤的效果[7-8]。帆船在行進過程中受風力影響造成的橫向偏移較大,一般的橫向軌跡誤差法無法保證穩定性[13],而LOS 法能使航向偏差不斷減小直至為零,因此在航向角偏差較大時適宜采用LOS 法。同時,結合不同帆船所具有的不同速度極曲線圖對應的速度數據即可完成無人帆船的循跡航行。
由于帆船屬于無動力航行,因此需要盡可能考慮風對帆船升力或阻力的影響。在陸地上感知的是絕對風速和風向,在船上感知到的風速是相對風速和相對風向,引入船速后,三者滿足如圖2所示的速度矢量三角形關系。圖中:VB為靜水船速;VW為相對風速;θW為相對風向角;θT為絕對風向角;VT為絕對風速。

圖 2 速度矢量三角形Fig. 2 Triangle of velocity vector
根據余弦定理可得如下公式[1]:

帆船是依靠自然風力作用于帆上產生伯努利效應而推動船只行進的。帆船在海上的運動可以近似看作六自由度剛體運動。為了方便研究,只考慮水平運動而忽略橫搖、縱搖、垂蕩運動,將其簡化為三自由度運動模型。帆船平面運動的各角度關系如圖3 所示。圖中:α為迎風角,即帆與相對風之間的夾角;β為帆的調整角,又稱轉帆角,即帆與航向之間的夾角;θW=α+β-θ,其中θ為船的漂角;δ為舵角;V為船速。以大地坐標正北方向為基準,順時針方向風向角為正值,逆時針方向風向角為負值。

圖 3 帆船行駛平面角度示意圖Fig. 3 Schematic diagram of sailing plane angle
通過對行駛中帆船的受力分析,在平靜的海面上如果不考慮海流和波浪對船體的各種干擾力以及力矩時,船速和風速之間的關系近似為[1,6]

式中:ρ為水的密度;S為帆的面積;C為阻力系數[14]。
因此,在帆船實際求解速度的過程中,需要結合帆船的帆、舵以及船舶主尺度參數和水面實時氣象數據進行綜合運算,通過VPP 模塊實現對無人帆船航速的求解。VPP 建立在風帆空氣動力模型和船體水動力模型的基礎之上,通過風帆空氣動力與船體水動力建立力平衡方程與力矩方程[15],進而求得帆船在各種航行狀態下的速度。VPP 的速度求解需要迭代計算。首先,由絕對風速、風向以及初始船速,結合速度三角形求出相對風速、風向,從而求出風帆空氣動力;然后,利用初始橫傾角,結合橫傾方程求解相應的橫傾角,對計算出的橫傾角進行校核,重復計算直到橫傾角迭代收斂,依據計算出的橫傾角和初始船速,利用水動力與空氣動力平衡方程聯立求解力系平衡,計算出相應的船速和偏航角等。帆船最佳航線是以VPP 速度計算為基礎,以航行時間最短為目標函數,求得各條航線上的航行時間。
無人帆船首先根據目標點確定航速方向范圍,根據風速、風向在排除逆風不可航行區域,即?36°~36°范圍后(不同船只范圍有所不同),對剩余的方向角度通過VPP 模塊進行速度計算得到航速,并將每一個航速投影到起始點連線上,從中選擇較大航速值,則選擇的航速方向就是帆船下一目標點的航向。同時利用切換型LOS 對無人帆船的航跡進行實時調節修正,直到到達期望航向點。
只要使無人帆船的航向保持對準LOS 角,并結合速度選擇法進行角度選擇,在行進過程中不斷修正調整,帆船就能達到期望的目標點,所以獲得LOS 角是算法的關鍵所在。
圖4 所示為LOS 算法原理圖。圖中:P(x,y)為帆船的當前位置;Pk(xk,yk)為帆船在航段內的期望位置,Pk-1(xk-1,yk-1)為上一次的期望位置,兩點之間的距離可以進行測量[11];PLOS(xLOS,yLOS)為帆船的期望可視距離點;Δ為前視距離,即帆船當前位置與期望點PLOS(xLOS,yLOS)在預期航跡上投影點間的距離,根據經驗可知,Δ=nLD,其中LD為帆船的總長,n為整數,通常取為3~5;d為帆船的橫向跟隨誤差;α1為正北方向與預期航線的夾角;ψ為帆船的航向角;ψ1為航向偏差角;α2=ψLOS,為LOS 角。由圖中可知,ψ1=α2-ψ,在航行過程中,當ψ1趨于無限小的時候帆船就向目標點行進,并將最終達到預期航線。
LOS 角ψLOS可以通過式(4)計算得到。

圖 4 LOS 算法原理圖Fig. 4 Schematic diagram of LOS algorithm

式中,ψLOS的范圍為(?π,π)。
圖5 所示為切換型LOS 算法的示意圖。當帆船進入該預期航向點Pk(xk,yk)一定范圍內時,便自動放棄向該航向點的行進,轉入跟蹤下一個預期航向點Pk+1(xk+1,yk+1),而當帆船偏離期望航跡一定距離d之后,前視距離Δ會進行切換,更新原目標點,保證帆船偏離預定航跡較小。這樣就需要一個標準來對期望航向點進行判別和切換,本文采用的是一種基于最短距離、同時具有快速收斂特性的切換型LOS 法。圖5 中:Pt(xt,yt)為帆船在t時刻的位置;R1為切換型LOS 的切換圓半徑;R2為比例型LOS 的切換圓半徑;Rmin為LOS 最小切換圓半徑;Rk為下一個預期坐標點的圓半徑。LOS 位置通過式(5)確定。

式中,R為LOS 圓與預期航線相交或相切的圓的半徑,也就是切換型和比例型這2 種圓的半徑。為了保證式(5)有解,需要保證R≥d[16]。因此,在條件允許的情況下R必須設置得充分大。但是,這會映射出較大的前視距離Δ,導致帆船到達期望路徑的收斂時間較長。為此,提出了切換形式的R1以及比例形式的R2來縮短收斂時間。切換形式滿足式(6):

比例形式滿足式(7):

與比例型LOS 相比,切換型LOS 是一種全新并基于最短距離趨近方法且運算量較小的策略。在式中規定:當|d|≤Rmin時R=Rmin,這能使帆船以較大的速率消減由于風力所造成的路徑跟蹤誤差;當|d|>Rmin時R=|d|,該策略可以使帆船在行進過程中按最短距離的方向趨近于預期路徑。在圖5 中,基于所提出的切換型LOS,LOS 圓半徑的變 化 為R1→Rmin,其 中R1為|d|>Rmin時 的LOS 圓半徑。比例型LOS 圓半徑的變化情況為R2。
無人帆船路徑規劃速度最優法是一種動態規劃方法,其核心思想是保證無人帆船具有以較快速度達到終點的能力,因此可能會存在為獲得最優速度而偏離期望航線過大、造成路徑長度較大的問題,而利用切換型LOS 不斷趨近期望路徑的優點,可有效減少無人帆船為獲得最大速度導致橫向跟隨誤差較大的問題,將兩者結合,既保證了無人帆船速度較優,也防止了循跡航行的不合理。

圖 5 切換型LOS 算法示意圖Fig. 5 Schematic diagram of switching LOS algorithm
無人帆船模型的主要參數及物理模型分別如表1 和圖6 所示。通過VPP 模塊得到了帆船的速度極曲線,如圖7 所示。圖7 表示在不同絕對風速下,帆船與風向所成的不同角度所具有的較優船速。一般認為帆船在相對風向角處于?40°~40°,即處于頂風航行階段時,為了具有合理船速,就不能按照預定的最短路線行駛。例如,在正頂風航段,即相對風向角為0°~36°時,帆船處在不可航行區域,所以在速度極線圖中0°~36°之間沒有速度顯示,帆船處于失速狀態。為了使帆船獲取動力,就需要按照之字形路線行駛,不斷地迎風換舷,而在逆風狀態下,不同間隔對路徑軌跡與耗時有一定影響,本次規定逆風仿真路徑的計算間隔為40 m進行一次迎風換舷的調整,以保證帆船以合適的速度行駛。

表 1 無人帆船尺寸參數Table 1 Size parameters of unmanned sailboats

圖 6 無人帆船物理模型Fig. 6 Physical model of unmanned sailing boat

圖 7 無人帆船速度極線圖Fig. 7 Polar diagram of unmanned sailing boat's velocity
在風向恒定、風速為6 級(10.8~13.8 m/s)情況下測試無人帆船完成一個邊長為100 m 的正方形閉環區域的循跡航行。設置風向為正北方向,以此可以完成橫風、順風與逆風等不同情況下的航行,仿真結果如圖8 所示。由圖中可以看出,速度選擇LOS 法相比單一的速度選擇法具有更好的規劃路線。圖9 所示的位置誤差和圖10 所示的航向角偏差結果也表明,速度選擇LOS 法具有相對較小的誤差數據。表2 所示為2 種方法在每一段規劃路徑所花費的航行時間。由表中可以看出,速度選擇LOS 法循跡航行的時間更短,均方根誤差(RMSE)較小。

圖 8 路徑規劃仿真對比圖Fig. 8 Comparison of path planning simulation

圖 9 位置誤差對比圖Fig. 9 Comparison of position errors

圖 10 航向角偏差對比圖Fig. 10 Comparison of heading angle deviation

表 2 兩種算法不同航段耗時Table 2 Time-consuming of two algorithms in different sections of voyage
試驗使用的控制板有主控板和驅動板,配備的傳感器包括超聲波風速風向儀、帆角編碼器、電子羅盤和GPS,信號傳輸采用GPRS 與2.4 GHz無線通信。在地面基站處采用無人帆船監控軟件監視實時返回的數據和控制數據。無人帆船監控軟件是使用Visual Studio 編寫的MFC 應用程序,可實時監控船舶狀態、修改參數、記錄數據文件等。該執行信號由基站通過Modbus 傳輸至船載主控模塊,再將控制信號通過CAN 總線傳輸到驅動模塊,對帆舵進行控制。
本次試驗在中國海洋大學工程學院的人工湖內進行,平均水深1.2 m,水域面積較大,周圍環境良好,用風速儀測得當天風力等級為5~6 級,環境條件適合本次無人帆船航行試驗。無人帆船實物和湖面航行情況如圖11 和圖12 所示。
圖13 所示為橫風、逆風以及順風這3 種常見帆船航行工況下,無人帆船利用速度選擇LOS 法和速度選擇法這2 種循跡方法的對比結果。由圖可知:在橫風(圖13(a))與逆風(圖13(b))工況下,2 種方法最終都可以到達期望位置,但速度選擇LOS 法的軌跡(黑色實線)相對于速度選擇法的軌跡(橘色實線)具有明顯行程優勢,更加貼合目標航線(藍色虛線)。在順風(圖13(c))工況下,速度選擇LOS 法相對速度選擇法的優勢不太明顯,兩者都可以到達期望位置。結果表明:速度選擇LOS 法在實際應用中基本可以滿足無人帆船的航行要求,且相對于速度選擇法可以較好地貼合目標航線,證明該算法具有較高的可行性。

圖 11 無人帆船實物圖Fig. 11 Picture of the unmanned sailing boat

圖 12 無人帆船湖面航行圖Fig. 12 Lake trial of the unmanned sailing boat

圖 13 橫風、逆風和順風工況下無人帆船試驗結果Fig. 13 Lake trial results of the unmanned sailing boat in crosswind, headwind and tailwind conditions
本文提出了一種基于速度選擇切換型LOS的無人帆船循跡航行控制算法,對無人帆船循跡航行進行了Matlab 仿真與湖上試驗。對實船進行了等比例建模,通過速度預測模塊獲得了無人帆船每一個航向上的速度,并以速度極線圖的形式進行了呈現。試驗對比結果表明,在多變風向的情況下該算法優于單純的速度選擇法,切換型LOS 有效克服了無人帆船在水面航行時由于風、浪、流等因素所造成的航跡偏離影響,使偏航誤差可以及時減小,并通過帆船的速度極線圖獲取最佳速度,從而快速到達期望點。本文研究結果對無人帆船智能循跡航行具有一定參考價值。