張金澤,趙紅,王寧,郭晨
1 大連海事大學(xué) 船舶電氣工程學(xué)院,遼寧 大連 116026
2 大連海事大學(xué) 輪機(jī)工程學(xué)院,遼寧 大連 116026
3 哈爾濱工程大學(xué) 船舶工程學(xué)院,黑龍江 哈爾濱,150001
無人艇(unmanned surface vehicle,USV)是一種輕型智能水面運(yùn)載工具,具有體積小、造價(jià)低、速度快、機(jī)動(dòng)性強(qiáng)等特點(diǎn)[1],在我國環(huán)境檢測、科研勘探、水下測繪、搜索救援、安全巡邏等領(lǐng)域均有應(yīng)用。
自主導(dǎo)航是USV的核心技術(shù)之一。在實(shí)際海洋環(huán)境中,特別是漁船作業(yè)區(qū)、港口、臨海、錨地等復(fù)雜環(huán)境下,僅通過衛(wèi)星拍攝的海圖,很難實(shí)時(shí)獲得環(huán)境的完整信息。例如,無人艇在大型水產(chǎn)養(yǎng)殖區(qū)執(zhí)行餌料投放、水質(zhì)檢測等任務(wù)時(shí),當(dāng)水面上有臨時(shí)??康臐O船等障礙物時(shí),就需要無人艇通過船載的雙目視覺、激光雷達(dá)等傳感器實(shí)時(shí)感知周圍環(huán)境,獲取局部的障礙物信息,進(jìn)而應(yīng)用局部路徑規(guī)劃方法使無人艇完成自主避障。經(jīng)過國內(nèi)外學(xué)者多年的研究,目前已經(jīng)有很多成熟的算法用于無人艇的路徑規(guī)劃問題。局部路徑規(guī)劃常用的算法有人工勢場法、向量場直方圖(vector field histogram,VFH)法和動(dòng)態(tài)窗口法(dynamic window approach,DWA)等。
人工勢場法由Khatib[2]提出,其基本思想是建立虛擬的人工力場。障礙物會(huì)對無人艇產(chǎn)生斥力,目標(biāo)點(diǎn)則對無人艇產(chǎn)生引力,引力和斥力的合力就會(huì)驅(qū)動(dòng)無人艇運(yùn)動(dòng)。人工勢場法具有數(shù)學(xué)描述簡潔、計(jì)算量小、反應(yīng)速度快、實(shí)時(shí)性高、規(guī)劃軌跡平滑的優(yōu)點(diǎn),便于底層的實(shí)時(shí)控制[3]。但同時(shí)也存在一些固有的缺陷,比如存在局部極值點(diǎn)障礙物附近目標(biāo)不可達(dá)等問題。
基于人工勢場法的思想,Borenstein等[4]提出了VFH法。該算法是一種未知環(huán)境下的局部避障算法,其通過測距傳感器測得的信息建立向量場直方圖,進(jìn)行兩級環(huán)境數(shù)據(jù)壓縮,并考慮無人艇在前進(jìn)運(yùn)動(dòng)過程中產(chǎn)生的代價(jià),進(jìn)而得到最優(yōu)的可行方向,具有實(shí)時(shí)性高、避障可靠等優(yōu)點(diǎn)[5]。但是該算法沒有考慮無人艇自身的運(yùn)動(dòng)學(xué)性能,導(dǎo)致無人艇在實(shí)際環(huán)境中并不能按照規(guī)劃好的路徑航行[6]。
為此,Simmons[7]提出了曲率速度法(curvature velocity method,CVM),即將避障問題轉(zhuǎn)化為約束和優(yōu)化速度空間的問題,考慮了無人艇的速度和加速度的限制。隨后,F(xiàn)ox等[8]提出了更為完善的動(dòng)態(tài)窗口算法(dynamic window approach,DWA)。該算法充分考慮了無人艇的運(yùn)動(dòng)學(xué)性能和環(huán)境約束等因素,已在無人艇避障領(lǐng)域得到廣泛應(yīng)用。
DWA算法是首先根據(jù)無人艇自身的運(yùn)動(dòng)學(xué)性能建立一個(gè)預(yù)選速度窗口,然后再通過評價(jià)函數(shù)優(yōu)化得到最優(yōu)速度(包括前進(jìn)速度和艏搖角速度),其中評價(jià)函數(shù)綜合考慮了艏向角、航速和安全性這3個(gè)因素。采用該算法能夠直接獲得無人艇的最優(yōu)前進(jìn)速度和艏搖角速度,規(guī)劃的航行軌跡平滑,適合無人艇實(shí)際航行過程的特點(diǎn)。但原始DWA算法存在2個(gè)主要的問題:一是會(huì)導(dǎo)致無人艇選擇從密集障礙物群的外圍繞行,而無法從密集障礙物之間穿過,致使無人艇的航行路徑過長;二是算法的評價(jià)函數(shù)權(quán)值固定,無人艇無法適應(yīng)航行于密集障礙物海域時(shí)的復(fù)雜海況。為解決上述問題,有學(xué)者提出了改進(jìn)的優(yōu)化方法,如程傳奇等[9]將全局路徑規(guī)劃和局部路徑規(guī)劃聯(lián)系在一起,將A*算法與DWA算法融合后提出了一種全局動(dòng)態(tài)路徑規(guī)劃算法,在保證規(guī)劃路徑全局最優(yōu)性的基礎(chǔ)上,可提高平滑性及路徑規(guī)劃的局部避障能力。Tang等[10]根據(jù)DWA算法提出了一種OAABHW(obstacle avoidance algorithm based on heading window)避障算法,該算法將窗口劃分為艏向窗口和速度窗口,并構(gòu)建了2個(gè)評價(jià)函數(shù)分別選擇最優(yōu)的避障速度和避障方向。Zhang等[11]引入強(qiáng)化學(xué)習(xí)算法,提出了一種基于強(qiáng)化學(xué)習(xí)的自適應(yīng)避障算法,該算法采用自適應(yīng)學(xué)習(xí)模塊處理海風(fēng)和涌流的影響,提高了無人艇的避障性能。田永永等[12-13]針對稠密障礙物場景和動(dòng)態(tài)障礙物的運(yùn)動(dòng)特性,提出了自適應(yīng)動(dòng)態(tài)窗口法和基于速度方向判定的動(dòng)態(tài)窗口法,在原始算法的基礎(chǔ)上實(shí)現(xiàn)了改進(jìn)優(yōu)化。
上述改進(jìn)措施雖然可以解決原始DWA算法存在的問題,但這些算法有的是基于DWA算法與其他算法相融合,增加了算法的復(fù)雜度,有的沒有考慮無人艇實(shí)際船載傳感器獲取信息的范圍限制,且沒有規(guī)定對單個(gè)障礙物結(jié)束避障的邊界,無法有效優(yōu)化速度集合。鑒于此,本文擬提出一種雙窗口DWA避障算法,即在常規(guī)速度窗口的基礎(chǔ)上再設(shè)計(jì)一個(gè)基于艇載傳感器的感知窗口,以對感知范圍內(nèi)的障礙物進(jìn)行處理,并將感知窗口作為結(jié)束當(dāng)前單個(gè)障礙物避障的邊界,障礙物離開感知窗口即結(jié)束對其的避障。然后,在此基礎(chǔ)上提出基于模糊控制策略的改進(jìn)型雙窗口(fuzzy-based dynamic double-window approach,F(xiàn)DDWA)算法,即利用所設(shè)計(jì)的障礙物密集程度函數(shù)來表征障礙物的分布情況,根據(jù)不同的實(shí)時(shí)海況信息,利用模糊控制策略動(dòng)態(tài)調(diào)整評價(jià)函數(shù)中的權(quán)值參數(shù),以使算法規(guī)劃的路徑更加安全、合理,提高無人艇的整體運(yùn)行性。
DWA的基本思想是:計(jì)算在每一個(gè)采樣時(shí)間間隔內(nèi)無人艇的可達(dá)速度,構(gòu)成一個(gè)速度空間的集合,即動(dòng)態(tài)速度窗口,然后通過構(gòu)建的評價(jià)函數(shù)優(yōu)化動(dòng)態(tài)窗口,并從動(dòng)態(tài)窗口中選擇出最優(yōu)的無人艇可行速度。
由無人艇運(yùn)動(dòng)學(xué)分析可知,其前進(jìn)速度u和艏搖角速度r均存在上限值,分別將其設(shè)為umax和rmax,則無人艇的速度集合Vs(u,r)可以設(shè)置為:
而對于一個(gè)給定的無人艇推進(jìn)電機(jī)而言,其有限的輸出力矩限制了無人艇在一個(gè)采樣時(shí)間間隔dt內(nèi)可以達(dá)到的最大速度和最小速度,故根據(jù)當(dāng)前采樣時(shí)刻的前進(jìn)速度ucurr和 艏搖角速度rcurr,由式(2)可以得到下一個(gè)采樣時(shí)刻無人艇的實(shí)際可達(dá)速度集合Vd(u,r)為:
式中:u˙為 前進(jìn)加速度;r˙為艏搖角加速度。
通過式(2),即可確定無人艇在下一個(gè)采樣時(shí)刻可選速度的集合范圍。但集合中的元素是連續(xù)的,為此,將集合中的速度離散化,即將集合根據(jù)前進(jìn)速度離散間隔du和 艏搖角速度離散間隔dr離散為M個(gè)前進(jìn)速度u和N個(gè)艏搖角速度r,離散后的每一個(gè)ui和ri組 成一個(gè)速度矢量(ui,ri),則總共有M·N個(gè)速度矢量。
為保證無人艇在未知海域航行時(shí)能安全、有效地避開障礙物,需考慮制動(dòng)距離的約束,即下一采樣時(shí)刻的速度需滿足無人艇與障礙物的距離小于制動(dòng)距離SD。制動(dòng)距離SD和考慮制動(dòng)距離的可達(dá)速度集合VSD(u,r)的計(jì)算如式(3)和式(4)所示,其中,假定經(jīng)過m個(gè)采樣時(shí)段可令無人艇的前進(jìn)速度降至0。
式中,D(u,r)為當(dāng)前無人艇距離最近障礙物的距離。則動(dòng)態(tài)速度窗口Vr(u,r)為Vs(u,r),Vd(u,r)和VSD(u,r)的交集:
無人艇的全部軌跡是由n個(gè) 時(shí)段的n個(gè)小軌跡所組成,其每個(gè)采樣時(shí)間間隔的運(yùn)動(dòng)軌跡方程如下:
式中:x,y為無人艇當(dāng)前采樣 時(shí) 刻的坐標(biāo);x′,y′為無人艇位置信息更新后的坐標(biāo);?為當(dāng)前采樣時(shí)刻無人艇的艏向;?′為下一采樣時(shí)刻無人艇的艏向。
將離散化后的全部速度矢量代入式(6),即可計(jì)算出T個(gè)采樣時(shí)間間隔內(nèi)的全部預(yù)測軌跡。無人艇在一個(gè)動(dòng)態(tài)窗口內(nèi)的部分預(yù)測軌跡如圖1所示。
圖1 無人艇部分預(yù)測軌跡Fig.1 Partially predicted trajectory of USV
構(gòu)建一個(gè)兼顧無人艇航速、艏向以及安全性的評價(jià)函數(shù)G(u,r),如式(7)所示,從動(dòng)態(tài)速度窗口的Vr中 選擇使評價(jià)函數(shù)G(u,r)值為最大的速度矢量 (u,r),視為最優(yōu)速度。
式中:H(u,r)用于評價(jià)無人艇的艏向,無人艇艏向完全指向目標(biāo)區(qū)域位置時(shí)有最大值;S(u,r)用于評價(jià)無人艇的安全性,即預(yù)測軌跡中無人艇與障礙物間的最小距離,這個(gè)距離越大,發(fā)生碰撞的危險(xiǎn)就越??;v(u,r)用于評價(jià)無人艇的速度,結(jié)果盡量選擇動(dòng)態(tài)速度窗口Vr中前進(jìn)速度大的值;α,β,γ為對應(yīng)的3個(gè)權(quán)值參數(shù)。而且,評價(jià)函數(shù)中H(u,r),S(u,r),v(u,r)的值都被歸一化處理到[0,1]之間,以避免任何一項(xiàng)值過大。
對障礙物進(jìn)行圓形包圍體建模。對于船類障礙物,選擇圓形包圍體建模可以提高安全性,簡化計(jì)算量,縮短計(jì)算時(shí)長,有利于算法的實(shí)時(shí)性和反應(yīng)速度。外包圓具體的取值方法為:當(dāng)傳感器探測到障礙物位置時(shí),以其探測位置作為原點(diǎn),其直徑取1.5倍的本艇長度,即R=1.5L。
在密集障礙物海況下,無人艇基于原始DWA算法進(jìn)行避障時(shí),主要存在2個(gè)方面的問題:
1) 原始DWA算法會(huì)導(dǎo)致無人艇選擇從密集障礙物群的外圍繞行,而無法從密集障礙物之間穿過,致使無人艇航行路徑過長。
2) 無人艇在任務(wù)海域航行時(shí)其整體避障性能無法做到最優(yōu)。無人艇為保證艏向和前進(jìn)速度,通常會(huì)出現(xiàn)選擇過激速度的情況,令無人艇與障礙物靠得非常近,從而威脅無人艇的安全。
將 α,γ參數(shù)固定,僅調(diào)節(jié)安全性權(quán)值參數(shù)β的對比仿真實(shí)驗(yàn)結(jié)果如圖2所示,并將整個(gè)航行的軌跡長度、運(yùn)行時(shí)間、安全距離(無人艇距離障礙物的最短距離)等具體實(shí)驗(yàn)數(shù)據(jù)列于表1中。當(dāng)β=1時(shí),由圖2(a)及表1中的數(shù)據(jù)可見,無人艇在航行過程中若距離障礙物較近,容易造成無人艇與障礙物發(fā)生碰撞;但當(dāng)β=15時(shí),雖然安全性得到了提高,但航行軌跡長度增加了,運(yùn)行時(shí)間增加了12.86%,算法的計(jì)算效率明顯下降。
圖2 基于原始DWA算法的無人艇航行避障軌跡Fig.2 Obstacle avoidance trajectory of USV based on original DWA algorithm
表1 實(shí)驗(yàn)結(jié)果數(shù)據(jù)Table1 Experimental result data
針對原始DWA算法存在的2個(gè)主要問題,本文提出了基于模糊控制策略的改進(jìn)型動(dòng)態(tài)雙窗口(FDDWA)算法:
1) 提出了雙窗口概念,即在原始動(dòng)態(tài)速度窗口的基礎(chǔ)上又設(shè)計(jì)一個(gè)扇形動(dòng)態(tài)感知窗口,也即速度與感知雙窗口,通過對感知窗口內(nèi)障礙物的局部分布狀態(tài)進(jìn)行分析與處理,不僅可以有效提高算法的速度優(yōu)化效率,而且還規(guī)定了局部障礙物結(jié)束避障的邊界,可以避免無人艇過度繞行障礙物的問題,使避障軌跡更加平滑、合理。同時(shí),通過設(shè)置最小安全距離Dmin,可避免算法選擇過激速度。
2) 將模糊控制策略應(yīng)用于雙窗口DWA算法。根據(jù)復(fù)雜海況的不同障礙物信息,基于模糊控制策略動(dòng)態(tài)調(diào)整評價(jià)函數(shù)中的安全性權(quán)值參數(shù)β和速度權(quán)值參數(shù)γ,可令無人艇在避障航行時(shí)兼顧安全性與航行速度,從而提高算法的整體運(yùn)行性能。
實(shí)際應(yīng)用中的無人艇可通過艇載的雙目視覺、激光雷達(dá)來獲取無人艇及障礙物的位置、距離等信息,通過這些傳感器共同工作獲得障礙物的完整信息。這些傳感器通常只能探測一定范圍內(nèi)的信息,而原始DWA算法并未考慮傳感器的這種局限性,為此,本文設(shè)計(jì)了一個(gè)如圖3所示的扇形區(qū)域,即動(dòng)態(tài)感知窗口來表示船載傳感器的探測范圍,不僅使算法更加適用于實(shí)際應(yīng)用場景,而且還提高了算法優(yōu)化效率。由于同時(shí)還規(guī)定了對單個(gè)靜態(tài)障礙物結(jié)束避障的邊界,因此當(dāng)障礙物離開感知窗口時(shí),即會(huì)停止對其避障,這樣可避免過度避障行為,使避障軌跡更加合理。
圖3 感知窗口示意圖Fig.3 Schematic diagram of sensing window
圖4所示為無人艇分別基于原始DWA與本文改進(jìn)型雙窗口DWA算法所進(jìn)行的航行避障對比仿真實(shí)驗(yàn)。由圖可見,在固定權(quán)值參數(shù)α,β,γ的情況下,相比原始DWA算法,改進(jìn)型雙窗口DWA算法令無人艇在密集障礙物分布的復(fù)雜海域內(nèi)航行時(shí)具有更加安全、合理的航行軌跡,航行軌跡長度縮短了24.62%,總運(yùn)行時(shí)間減少了18.18%,算法的整體運(yùn)行性能得到了顯著提高。
圖4 基于原始DWA與本文雙窗口DWA算法的對比仿真實(shí)驗(yàn)Fig.4 Comparison experiment based on original DWA and improved dual-window DWA algorithm
在密集障礙物分布的海域內(nèi)航行時(shí),無人艇的安全是根本,在任何情況下都不允許出現(xiàn)過激速度情況。為此,本文提出設(shè)置最小安全距離Dmin,以對速度集合進(jìn)行進(jìn)一步的篩選,將無人艇與障礙物之間距離小于Dmin的速度組合舍棄,確定新的速度窗口集合Vr′,如式(8) 和式(9)所示。
式中,VDmin為考慮最小安全距離的速度集合。
2.3.1 密集度計(jì)算方法
船載傳感器可以獲取無人艇感知窗口內(nèi)局部障礙物的完整信息,當(dāng)采用模糊控制進(jìn)行算法參數(shù)動(dòng)態(tài)調(diào)整時(shí),需根據(jù)任務(wù)海域內(nèi)進(jìn)入感知窗口的障礙物實(shí)時(shí)分布情況進(jìn)行決策,因此,本文設(shè)計(jì)了一個(gè)表征障礙物密集度的函數(shù)I(n,d,s),其定義如式(10)所示:
式中:n為障礙物個(gè)數(shù);d為感知窗口內(nèi)距離無人艇最近的2個(gè)障礙物之間的距離;s為在感知窗口內(nèi)探測到的由所有障礙物組成的多邊形的面積;δ,ε,μ為 各個(gè)部分的權(quán)重系數(shù);a,b為指數(shù)函數(shù)的底數(shù)系數(shù)。密集度函數(shù)I(n,d,s)的值越大,表示感知窗口內(nèi)障礙物的分布情況越密集,圖5所示為針對不同障礙物分布情況的仿真分析結(jié)果。
當(dāng)視覺窗口中障礙物的分布如圖5(a)所示時(shí),密集度函數(shù)的值為0.615 7;當(dāng)視覺窗口中障礙物的分布如圖5(b)所以時(shí),密集度函數(shù)的值為1.960 0;當(dāng)視覺窗口中障礙物的分布如圖5(c)時(shí),密集度函數(shù)的值為2.560 0。實(shí)驗(yàn)結(jié)果表明,本文所提的密集度函數(shù)可以有效地表示感知窗口內(nèi)障礙物的密集程度。
圖5 密集度示意圖Fig.5 Schematic diagram of density
2.3.2 模糊自適應(yīng)雙窗口FDDWA算法
模糊控制是以模糊集理論、模糊語言變量和模糊邏輯推理為基礎(chǔ),將人的經(jīng)驗(yàn)應(yīng)用于控制規(guī)則的智能控制方法,具有魯棒性好、可以增強(qiáng)控制系統(tǒng)自適應(yīng)能力的優(yōu)點(diǎn)。為解決前述原始DWA算法固定權(quán)值參數(shù)所引發(fā)的問題,本文提出了一種基于模糊控制策略的FDDWA算法,可根據(jù)無人艇在航行中的實(shí)時(shí)海況自適應(yīng)動(dòng)態(tài)調(diào)整權(quán)值參數(shù)β 和γ,令其在復(fù)雜海域內(nèi)的航行路徑轉(zhuǎn)折更小,同時(shí)兼顧速度和安全性因素,采用該算法后,其整體運(yùn)行性能更高。
設(shè)計(jì)的模糊控制器采用的是雙入雙出結(jié)構(gòu),輸入變量為密集度函數(shù)值I及無人艇與最近障礙物間的距離D,輸出變量為權(quán)值參數(shù)γ 與β,各輸入、輸出子集如表2所示,對應(yīng)的論域及隸屬度函數(shù)如圖6所示,模糊控制規(guī)則如表3和表4所示。
圖6 模糊邏輯變量的隸屬度函數(shù)Fig.6 Membership function of fuzzy logic variables
表2 模糊邏輯控制輸入輸出子集Table2 Fuzzy logic control input and output subset
表3 輸出量γ的模糊規(guī)則Table3 Fuzzy rules of γ
表4 輸出量β的模糊規(guī)則Table4 Fuzzy rules of β
FDDWA算法的流程步驟如下:
1) 確定無人艇的起點(diǎn)和目標(biāo)范圍,計(jì)算動(dòng)態(tài)速度窗口;
2) 更新動(dòng)態(tài)速度窗口,計(jì)算預(yù)測軌跡;
3) 通過艇載傳感器更新動(dòng)態(tài)感知窗口內(nèi)障礙物信息,計(jì)算I和D;
4) 由模糊控制器根據(jù)當(dāng)前的I和D計(jì)算γ和β,代入評價(jià)函數(shù);
5) 根據(jù)評價(jià)函數(shù)選擇最優(yōu)速度;
6) 執(zhí)行速度,更新位置,判斷是否到達(dá)目標(biāo)區(qū)域,若是,則結(jié)束,否則,返回步驟1),進(jìn)入下一循環(huán)。
為了驗(yàn)證本文所提FDDWA算法的有效性與優(yōu)越性,在一片障礙物密集分布的任務(wù)海域內(nèi),對無人艇基于固定權(quán)值參數(shù)的雙窗口DWA算法和FDDWA算法進(jìn)行了對比仿真實(shí)驗(yàn)。有關(guān)無人艇和算法的一些參數(shù)如表5~表8所示。
表5 無人艇速度限制Table5 Speed limit of USV
表6 算法參數(shù)設(shè)置Table6 Parameter settings of algorithm
表7 密集度函數(shù)參數(shù)設(shè)置Table7 Parameter setting of density function
表8 無人艇及感知窗口初始狀態(tài)設(shè)置Table8 Initial state setting of USV and sensing window
1) 權(quán)值參數(shù)選取 α =2,β=1,γ=15。
由圖7所示的仿真實(shí)驗(yàn)結(jié)果可見,無人艇的航行軌跡相對平滑,沒有出現(xiàn)較大的轉(zhuǎn)彎現(xiàn)象,但通過密集障礙物區(qū)域時(shí)安全性較低,安全距離僅3.34 m。無人艇在整個(gè)航行過程中基本保持全速航行,受障礙物影響的航速波動(dòng)及艏搖角速度波動(dòng)均較小。因此,若需強(qiáng)調(diào)無人艇的航行速度,可將β設(shè)置得較小,γ設(shè)置得較大,但這樣安全性會(huì)較差。
圖7 雙窗口DWA算法下α =2,β=1,γ=15 時(shí)的仿真實(shí)驗(yàn)結(jié)果Fig.7 Simulation experiment results when α =2,β=1,γ=15 under the dual-window DWA algorithm
2) 權(quán)重參數(shù)選取 α =2,β=15,γ=15。
由圖8所示的仿真實(shí)驗(yàn)結(jié)果可見,與圖7的結(jié)果相比,無人艇通過密集障礙物區(qū)域的安全性得到了改善(安全距離增至3.56 m),但航行軌跡轉(zhuǎn)彎較多,無人艇在整個(gè)航行過程中難以保證全速前進(jìn),且受障礙物影響的航速波動(dòng)及艏搖角速度波動(dòng)均較大,需頻繁轉(zhuǎn)向變速。因此,若需強(qiáng)調(diào)無人艇航行的安全性,可將β設(shè)置得較大,γ設(shè)置得較小,但這樣避障路徑不盡合理,且運(yùn)行時(shí)間會(huì)變長。
圖8 雙窗口DWA算法下α =2,β=15,γ=15時(shí)的仿真實(shí)驗(yàn)結(jié)果Fig.8 Simulation experiment results when α =2,β=15,γ=15 under the dual-window DWA algorithm
基于FDDWA算法的無人艇避障仿真實(shí)驗(yàn)結(jié)果如圖9和圖10所示,其中的實(shí)時(shí)動(dòng)態(tài)權(quán)值參數(shù)用 βd,γd表示。與圖7和圖8相比,基于FDDWA算法的無人艇的航行路徑更加平滑、合理,無人艇通過密集障礙物區(qū)域時(shí)的安全性更高(安全距離增加至4.09 m),且在整個(gè)航行過程中幾乎是保持全速航行,受障礙物影響的航速波動(dòng)及艏搖角速度波動(dòng)均較小,一些相關(guān)的算法運(yùn)行數(shù)據(jù)如表9所示。
圖9 基于FDDWA算法的無人艇避障仿真實(shí)驗(yàn)結(jié)果 (α =2,β=βd,γ=γd)Fig.9 Simulation experiment results of obstacle avoidance for USV based on FDDWA algorithm (α =2,β=βd,γ=γd)
圖10 不同權(quán)值參數(shù)下的無人艇避障軌跡對比Fig.10 Comparison of USV's obstacle avoidance trajectory under different weight parameters
由表9中的數(shù)據(jù)可知,相比固定權(quán)值參數(shù)設(shè)置( α=2,β=15,γ=1)的雙窗口算法,采用動(dòng)態(tài)參數(shù)的FDDWA避障算法的迭代次數(shù)降低了28.24%,運(yùn)行時(shí)間降低了43.43%,軌跡長度降低了2.58%,算法效率明顯得到提高;而相比α=2,β=1,γ=15的參數(shù)設(shè)置,F(xiàn)DDWA的迭代次數(shù)、運(yùn)行時(shí)間和軌跡長度基本不變,但安全距離提高了22.46%,安全性得到顯著提高。仿真結(jié)果充分驗(yàn)證了本文所提FDDWA算法的有效性與優(yōu)越性。
表9 實(shí)驗(yàn)數(shù)據(jù)Table9 Experimental data
本文首先針對原始DWA算法未考慮各傳感器探測范圍的限制,也未規(guī)定對單個(gè)障礙物結(jié)束避障邊界的問題,設(shè)計(jì)了一個(gè)扇形動(dòng)態(tài)感知窗口,然后與速度窗口一起構(gòu)成速度與感知雙窗口模型,用于對感知窗口內(nèi)的障礙物分布情況進(jìn)行分析與處理,待單個(gè)障礙物離開感知窗口即結(jié)束對其的避障。同時(shí),通過設(shè)置最小安全距離Dmin,避免了算法選擇過激速度。然后,針對算法評價(jià)函數(shù)權(quán)值固定、無人艇在任務(wù)海域航行時(shí)的整體避障性能無法做到最優(yōu)的問題,提出了基于模糊控制策略的FDDWA算法,通過動(dòng)態(tài)調(diào)整評價(jià)函數(shù)中的參數(shù)β 和γ來適應(yīng)變化的環(huán)境,用以優(yōu)化算法的避障性能。仿真實(shí)驗(yàn)結(jié)果證明,本文提出的FDDWA算法不僅可以避免無人艇過度繞行密集障礙物群的問題,還可以大幅改進(jìn)算法的運(yùn)行效率和避障性能,使避障軌跡更加合理、安全,對無人艇自主避障技術(shù)研究有一定的參考價(jià)值。