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