袁鵬,徐泓燊,張雪飛,譚俊哲,2,王樹杰,2,惠文海,2
1 中國海洋大學(xué) 工程學(xué)院,山東 青島 266100
2 青島市海洋可再生能源重點實驗室,山東 青島 266100
無人帆船在水域航行時,主要受風(fēng)以及由風(fēng)引起的浪和流等許多因素的影響,這些復(fù)雜的環(huán)境因素決定了帆船航行比其他機動艇航行的難度更大。因此,無人帆船的循跡航行需要考慮多種環(huán)境因素,根據(jù)觀測點的氣象信息來實現(xiàn)其循跡航行。
目前,多所高校和科研院所開展了一系列無人帆船路徑規(guī)劃和循跡航行方面的研究。王倩等[1]根據(jù)操舵的專家經(jīng)驗制定出了245 條模糊控制規(guī)則,直接以舵角作為單輸出,實現(xiàn)了一個1.5 m 帆艇的循跡航行。邢慧麗等[2]針對帆船在海上行駛所具有的模糊性和不定性特點,提出了基于分區(qū)段優(yōu)化和進(jìn)化規(guī)劃的帆船航行路徑優(yōu)化方法,對每一個分段都制定相關(guān)決策評價函數(shù),利用全局優(yōu)化搜索路徑,得到最優(yōu)方案。葛艷[3]提出了基于進(jìn)化規(guī)劃理論的無人帆船行駛最優(yōu)路徑規(guī)劃方法。康夢萁等[4]針對無人帆船短途路徑規(guī)劃問題提出了速度最優(yōu)法,并將其與傳統(tǒng)的A*算法進(jìn)行了對比,結(jié)果證明了速度最優(yōu)法在短途路徑規(guī)劃中的合理性。董早鵬等[5]針對水面無人艇(Unmanned Surface Vehicle, USV)的非對稱和欠驅(qū)動特性,提出了一種非對稱模型下的改進(jìn)視線法導(dǎo)向路徑方法,有效解決了針對欠驅(qū)動無人艇的航路點路徑跟蹤問題。曾江峰等[6]設(shè)計了一個新的切換型視線法制導(dǎo)律,可以引導(dǎo)USV 始終以最佳視線圓半徑趨向期望路徑。
帆船的動力來源主要依靠風(fēng)力,且只要有風(fēng)就會伴隨有浪、流對船體的影響,這些影響在實際航行中是不容忽視的因素;依靠流體動力學(xué)、通過設(shè)置流場環(huán)境得到的帆船航速往往需要插值才可以使用。在此基礎(chǔ)上,再結(jié)合諸如遺傳算法、蟻群算法、模擬退火算法之類的算法進(jìn)行路徑規(guī)劃,這使得整個求解過程時間較長。而視線(Line of Sight,LOS)法因簡單、快速、高效,已在路徑規(guī)劃跟蹤系統(tǒng)設(shè)計中得到了普遍應(yīng)用[7-9]。在傳統(tǒng)的LOS 路徑規(guī)劃中,路徑跟蹤點的LOS 視線圓半徑通常設(shè)定為固定不變[10],雖然其整體形式簡單,但會導(dǎo)致收斂時間過長。后來,學(xué)者們又提出了比例型LOS[11]和指數(shù)型LOS[12]。與比例型LOS 相比,指數(shù)型LOS 在路徑跟蹤誤差收斂性方面得到了顯著改善,但因為其數(shù)學(xué)模型中引入了指數(shù)函數(shù)、朗伯W 函數(shù),使得求解LOS 角的運算時間較長。
針對上述問題,本文擬提出一種速度選擇切換型LOS 法,通過無人帆船速度預(yù)測程序(Velocity Prediction Program,VPP)模塊,使無人帆船在每個航速方向能夠達(dá)到的較大速度的基礎(chǔ)上,再結(jié)合切換型LOS,使得路徑跟蹤誤差收斂性得到改善,并使LOS 角求解運算量明顯減小。
無人帆船的循跡航行必須具有應(yīng)對水面波、流多變情況的適應(yīng)性以及實時控制的靈活性,整個控制流程如圖1 所示。根據(jù)在氣象站點測量得到的風(fēng)況信息判斷是否滿足帆船航行的基本條件,并通過帆船各個傳感元器件為智能航行進(jìn)行初步調(diào)節(jié),在得到相應(yīng)的風(fēng)速、風(fēng)向與實時坐標(biāo)之后進(jìn)行速度預(yù)測,同時通過循跡模塊獲得最佳期望航向角與帆角,然后,再通過下層搭建的控制模塊實現(xiàn)無人帆船的循跡航行,并通過傳感器模塊對帆船的姿態(tài)、航向、位置等信息進(jìn)行實時監(jiān)控。因此,在無人帆船的自動循跡航行中,求解出航行速度是算法實現(xiàn)的關(guān)鍵所在。
圖 1 無人帆船循跡航行流程圖Fig. 1 Flow chart of unmanned sailing boats path tracking control
LOS 法的原理是在預(yù)期航跡上設(shè)定一參考點,并有一定的距離在帆船的前方,通過實時不斷地調(diào)整航向,使被控帆船保持對準(zhǔn)LOS 角,并達(dá)到期望路徑的位置,從而實現(xiàn)航跡跟蹤的效果[7-8]。帆船在行進(jìn)過程中受風(fēng)力影響造成的橫向偏移較大,一般的橫向軌跡誤差法無法保證穩(wěn)定性[13],而LOS 法能使航向偏差不斷減小直至為零,因此在航向角偏差較大時適宜采用LOS 法。同時,結(jié)合不同帆船所具有的不同速度極曲線圖對應(yīng)的速度數(shù)據(jù)即可完成無人帆船的循跡航行。
由于帆船屬于無動力航行,因此需要盡可能考慮風(fēng)對帆船升力或阻力的影響。在陸地上感知的是絕對風(fēng)速和風(fēng)向,在船上感知到的風(fēng)速是相對風(fēng)速和相對風(fēng)向,引入船速后,三者滿足如圖2所示的速度矢量三角形關(guān)系。圖中:VB為靜水船速;VW為相對風(fēng)速;θW為相對風(fēng)向角;θT為絕對風(fēng)向角;VT為絕對風(fēng)速。
圖 2 速度矢量三角形Fig. 2 Triangle of velocity vector
根據(jù)余弦定理可得如下公式[1]:
帆船是依靠自然風(fēng)力作用于帆上產(chǎn)生伯努利效應(yīng)而推動船只行進(jìn)的。帆船在海上的運動可以近似看作六自由度剛體運動。為了方便研究,只考慮水平運動而忽略橫搖、縱搖、垂蕩運動,將其簡化為三自由度運動模型。帆船平面運動的各角度關(guān)系如圖3 所示。圖中:α為迎風(fēng)角,即帆與相對風(fēng)之間的夾角;β為帆的調(diào)整角,又稱轉(zhuǎn)帆角,即帆與航向之間的夾角;θW=α+β-θ,其中θ為船的漂角;δ為舵角;V為船速。以大地坐標(biāo)正北方向為基準(zhǔn),順時針方向風(fēng)向角為正值,逆時針方向風(fēng)向角為負(fù)值。
圖 3 帆船行駛平面角度示意圖Fig. 3 Schematic diagram of sailing plane angle
通過對行駛中帆船的受力分析,在平靜的海面上如果不考慮海流和波浪對船體的各種干擾力以及力矩時,船速和風(fēng)速之間的關(guān)系近似為[1,6]
式中:ρ為水的密度;S為帆的面積;C為阻力系數(shù)[14]。
因此,在帆船實際求解速度的過程中,需要結(jié)合帆船的帆、舵以及船舶主尺度參數(shù)和水面實時氣象數(shù)據(jù)進(jìn)行綜合運算,通過VPP 模塊實現(xiàn)對無人帆船航速的求解。VPP 建立在風(fēng)帆空氣動力模型和船體水動力模型的基礎(chǔ)之上,通過風(fēng)帆空氣動力與船體水動力建立力平衡方程與力矩方程[15],進(jìn)而求得帆船在各種航行狀態(tài)下的速度。VPP 的速度求解需要迭代計算。首先,由絕對風(fēng)速、風(fēng)向以及初始船速,結(jié)合速度三角形求出相對風(fēng)速、風(fēng)向,從而求出風(fēng)帆空氣動力;然后,利用初始橫傾角,結(jié)合橫傾方程求解相應(yīng)的橫傾角,對計算出的橫傾角進(jìn)行校核,重復(fù)計算直到橫傾角迭代收斂,依據(jù)計算出的橫傾角和初始船速,利用水動力與空氣動力平衡方程聯(lián)立求解力系平衡,計算出相應(yīng)的船速和偏航角等。帆船最佳航線是以VPP 速度計算為基礎(chǔ),以航行時間最短為目標(biāo)函數(shù),求得各條航線上的航行時間。
無人帆船首先根據(jù)目標(biāo)點確定航速方向范圍,根據(jù)風(fēng)速、風(fēng)向在排除逆風(fēng)不可航行區(qū)域,即?36°~36°范圍后(不同船只范圍有所不同),對剩余的方向角度通過VPP 模塊進(jìn)行速度計算得到航速,并將每一個航速投影到起始點連線上,從中選擇較大航速值,則選擇的航速方向就是帆船下一目標(biāo)點的航向。同時利用切換型LOS 對無人帆船的航跡進(jìn)行實時調(diào)節(jié)修正,直到到達(dá)期望航向點。
只要使無人帆船的航向保持對準(zhǔn)LOS 角,并結(jié)合速度選擇法進(jìn)行角度選擇,在行進(jìn)過程中不斷修正調(diào)整,帆船就能達(dá)到期望的目標(biāo)點,所以獲得LOS 角是算法的關(guān)鍵所在。
圖4 所示為LOS 算法原理圖。圖中:P(x,y)為帆船的當(dāng)前位置;Pk(xk,yk)為帆船在航段內(nèi)的期望位置,Pk-1(xk-1,yk-1)為上一次的期望位置,兩點之間的距離可以進(jìn)行測量[11];PLOS(xLOS,yLOS)為帆船的期望可視距離點;Δ為前視距離,即帆船當(dāng)前位置與期望點PLOS(xLOS,yLOS)在預(yù)期航跡上投影點間的距離,根據(jù)經(jīng)驗可知,Δ=nLD,其中LD為帆船的總長,n為整數(shù),通常取為3~5;d為帆船的橫向跟隨誤差;α1為正北方向與預(yù)期航線的夾角;ψ為帆船的航向角;ψ1為航向偏差角;α2=ψLOS,為LOS 角。由圖中可知,ψ1=α2-ψ,在航行過程中,當(dāng)ψ1趨于無限小的時候帆船就向目標(biāo)點行進(jìn),并將最終達(dá)到預(yù)期航線。
LOS 角ψLOS可以通過式(4)計算得到。
圖 4 LOS 算法原理圖Fig. 4 Schematic diagram of LOS algorithm
式中,ψLOS的范圍為(?π,π)。
圖5 所示為切換型LOS 算法的示意圖。當(dāng)帆船進(jìn)入該預(yù)期航向點Pk(xk,yk)一定范圍內(nèi)時,便自動放棄向該航向點的行進(jìn),轉(zhuǎn)入跟蹤下一個預(yù)期航向點Pk+1(xk+1,yk+1),而當(dāng)帆船偏離期望航跡一定距離d之后,前視距離Δ會進(jìn)行切換,更新原目標(biāo)點,保證帆船偏離預(yù)定航跡較小。這樣就需要一個標(biāo)準(zhǔn)來對期望航向點進(jìn)行判別和切換,本文采用的是一種基于最短距離、同時具有快速收斂特性的切換型LOS 法。圖5 中:Pt(xt,yt)為帆船在t時刻的位置;R1為切換型LOS 的切換圓半徑;R2為比例型LOS 的切換圓半徑;Rmin為LOS 最小切換圓半徑;Rk為下一個預(yù)期坐標(biāo)點的圓半徑。LOS 位置通過式(5)確定。
式中,R為LOS 圓與預(yù)期航線相交或相切的圓的半徑,也就是切換型和比例型這2 種圓的半徑。為了保證式(5)有解,需要保證R≥d[16]。因此,在條件允許的情況下R必須設(shè)置得充分大。但是,這會映射出較大的前視距離Δ,導(dǎo)致帆船到達(dá)期望路徑的收斂時間較長。為此,提出了切換形式的R1以及比例形式的R2來縮短收斂時間。切換形式滿足式(6):
比例形式滿足式(7):
與比例型LOS 相比,切換型LOS 是一種全新并基于最短距離趨近方法且運算量較小的策略。在式中規(guī)定:當(dāng)|d|≤Rmin時R=Rmin,這能使帆船以較大的速率消減由于風(fēng)力所造成的路徑跟蹤誤差;當(dāng)|d|>Rmin時R=|d|,該策略可以使帆船在行進(jìn)過程中按最短距離的方向趨近于預(yù)期路徑。在圖5 中,基于所提出的切換型LOS,LOS 圓半徑的變 化 為R1→Rmin,其 中R1為|d|>Rmin時 的LOS 圓半徑。比例型LOS 圓半徑的變化情況為R2。
無人帆船路徑規(guī)劃速度最優(yōu)法是一種動態(tài)規(guī)劃方法,其核心思想是保證無人帆船具有以較快速度達(dá)到終點的能力,因此可能會存在為獲得最優(yōu)速度而偏離期望航線過大、造成路徑長度較大的問題,而利用切換型LOS 不斷趨近期望路徑的優(yōu)點,可有效減少無人帆船為獲得最大速度導(dǎo)致橫向跟隨誤差較大的問題,將兩者結(jié)合,既保證了無人帆船速度較優(yōu),也防止了循跡航行的不合理。
圖 5 切換型LOS 算法示意圖Fig. 5 Schematic diagram of switching LOS algorithm
無人帆船模型的主要參數(shù)及物理模型分別如表1 和圖6 所示。通過VPP 模塊得到了帆船的速度極曲線,如圖7 所示。圖7 表示在不同絕對風(fēng)速下,帆船與風(fēng)向所成的不同角度所具有的較優(yōu)船速。一般認(rèn)為帆船在相對風(fēng)向角處于?40°~40°,即處于頂風(fēng)航行階段時,為了具有合理船速,就不能按照預(yù)定的最短路線行駛。例如,在正頂風(fēng)航段,即相對風(fēng)向角為0°~36°時,帆船處在不可航行區(qū)域,所以在速度極線圖中0°~36°之間沒有速度顯示,帆船處于失速狀態(tài)。為了使帆船獲取動力,就需要按照之字形路線行駛,不斷地迎風(fēng)換舷,而在逆風(fēng)狀態(tài)下,不同間隔對路徑軌跡與耗時有一定影響,本次規(guī)定逆風(fēng)仿真路徑的計算間隔為40 m進(jìn)行一次迎風(fēng)換舷的調(diào)整,以保證帆船以合適的速度行駛。
表 1 無人帆船尺寸參數(shù)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
在風(fēng)向恒定、風(fēng)速為6 級(10.8~13.8 m/s)情況下測試無人帆船完成一個邊長為100 m 的正方形閉環(huán)區(qū)域的循跡航行。設(shè)置風(fēng)向為正北方向,以此可以完成橫風(fēng)、順風(fēng)與逆風(fēng)等不同情況下的航行,仿真結(jié)果如圖8 所示。由圖中可以看出,速度選擇LOS 法相比單一的速度選擇法具有更好的規(guī)劃路線。圖9 所示的位置誤差和圖10 所示的航向角偏差結(jié)果也表明,速度選擇LOS 法具有相對較小的誤差數(shù)據(jù)。表2 所示為2 種方法在每一段規(guī)劃路徑所花費的航行時間。由表中可以看出,速度選擇LOS 法循跡航行的時間更短,均方根誤差(RMSE)較小。
圖 8 路徑規(guī)劃仿真對比圖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
試驗使用的控制板有主控板和驅(qū)動板,配備的傳感器包括超聲波風(fēng)速風(fēng)向儀、帆角編碼器、電子羅盤和GPS,信號傳輸采用GPRS 與2.4 GHz無線通信。在地面基站處采用無人帆船監(jiān)控軟件監(jiān)視實時返回的數(shù)據(jù)和控制數(shù)據(jù)。無人帆船監(jiān)控軟件是使用Visual Studio 編寫的MFC 應(yīng)用程序,可實時監(jiān)控船舶狀態(tài)、修改參數(shù)、記錄數(shù)據(jù)文件等。該執(zhí)行信號由基站通過Modbus 傳輸至船載主控模塊,再將控制信號通過CAN 總線傳輸?shù)津?qū)動模塊,對帆舵進(jìn)行控制。
本次試驗在中國海洋大學(xué)工程學(xué)院的人工湖內(nèi)進(jìn)行,平均水深1.2 m,水域面積較大,周圍環(huán)境良好,用風(fēng)速儀測得當(dāng)天風(fēng)力等級為5~6 級,環(huán)境條件適合本次無人帆船航行試驗。無人帆船實物和湖面航行情況如圖11 和圖12 所示。
圖13 所示為橫風(fēng)、逆風(fēng)以及順風(fēng)這3 種常見帆船航行工況下,無人帆船利用速度選擇LOS 法和速度選擇法這2 種循跡方法的對比結(jié)果。由圖可知:在橫風(fēng)(圖13(a))與逆風(fēng)(圖13(b))工況下,2 種方法最終都可以到達(dá)期望位置,但速度選擇LOS 法的軌跡(黑色實線)相對于速度選擇法的軌跡(橘色實線)具有明顯行程優(yōu)勢,更加貼合目標(biāo)航線(藍(lán)色虛線)。在順風(fēng)(圖13(c))工況下,速度選擇LOS 法相對速度選擇法的優(yōu)勢不太明顯,兩者都可以到達(dá)期望位置。結(jié)果表明:速度選擇LOS 法在實際應(yīng)用中基本可以滿足無人帆船的航行要求,且相對于速度選擇法可以較好地貼合目標(biāo)航線,證明該算法具有較高的可行性。
圖 11 無人帆船實物圖Fig. 11 Picture of the unmanned sailing boat
圖 12 無人帆船湖面航行圖Fig. 12 Lake trial of the unmanned sailing boat
圖 13 橫風(fēng)、逆風(fēng)和順風(fēng)工況下無人帆船試驗結(jié)果Fig. 13 Lake trial results of the unmanned sailing boat in crosswind, headwind and tailwind conditions
本文提出了一種基于速度選擇切換型LOS的無人帆船循跡航行控制算法,對無人帆船循跡航行進(jìn)行了Matlab 仿真與湖上試驗。對實船進(jìn)行了等比例建模,通過速度預(yù)測模塊獲得了無人帆船每一個航向上的速度,并以速度極線圖的形式進(jìn)行了呈現(xiàn)。試驗對比結(jié)果表明,在多變風(fēng)向的情況下該算法優(yōu)于單純的速度選擇法,切換型LOS 有效克服了無人帆船在水面航行時由于風(fēng)、浪、流等因素所造成的航跡偏離影響,使偏航誤差可以及時減小,并通過帆船的速度極線圖獲取最佳速度,從而快速到達(dá)期望點。本文研究結(jié)果對無人帆船智能循跡航行具有一定參考價值。