敖邦乾 ,楊 莎,葉振環(huán)
(1.遵義師范學(xué)院工學(xué)院,貴州遵義 563006;2.遵義師范學(xué)院物理與電子科學(xué)學(xué)院,貴州遵義 563006)
路徑規(guī)劃是所有智能移動(dòng)系統(tǒng)研究中的一個(gè)重要領(lǐng)域,路徑的可行性是完成自主移動(dòng)的首要關(guān)鍵環(huán)節(jié),水面無人艇(unmanned surface vessel,USV)是一種可以在海洋當(dāng)中實(shí)現(xiàn)自主航行,并完成相應(yīng)任務(wù)的小型水面船舶,經(jīng)常被用來執(zhí)行情報(bào)收集、環(huán)境監(jiān)測、海上搜救和水文地理勘查等特殊任務(wù),具有十分廣泛的用途,路徑規(guī)劃對(duì)于USV有著非常重要的作用,USV不斷的與周圍環(huán)境進(jìn)行信息交互,并及時(shí)更新自己的位置信息.路徑規(guī)劃主要分為兩類:全局靜態(tài)路徑規(guī)劃和局部動(dòng)態(tài)路徑規(guī)劃[1],全局路徑規(guī)劃的算法主要有人工勢場法[2]、A*算法[3]、粒子群算法[4]、蟻群算法[5]、遺傳算法[6]、神經(jīng)網(wǎng)絡(luò)算法[7]、各種改進(jìn)型算法[8–9]和混合型算法[10–11],其中人工勢場法容易陷入局部最優(yōu)和死鎖現(xiàn)象;A*算法會(huì)造成不必要的繞遠(yuǎn)路,得到的并不是最優(yōu)路徑;粒子群算法需要大樣本來逼近系統(tǒng)的后驗(yàn)概率,并且重新采樣階段會(huì)導(dǎo)致樣本有效性和多樣性喪失,從而導(dǎo)致樣本耗竭,而且算法計(jì)算量大;蟻群算法在搜索過程中不可避免的產(chǎn)生大量局部交叉路徑,而且大量螞蟻個(gè)體會(huì)在搜索最優(yōu)路徑過程中迷失,產(chǎn)生大量的非完整路徑;遺傳算法在沒有實(shí)際經(jīng)驗(yàn)和數(shù)據(jù)的情況下,遺傳算子參數(shù)的選取比較困難,適應(yīng)度值的取值也比較隨機(jī);神經(jīng)網(wǎng)絡(luò)算法則存在計(jì)算量大的問題,在開始階段需要大量的訓(xùn)練,不適合于計(jì)算能力有限的平臺(tái).基于上述問題,很多人對(duì)環(huán)境進(jìn)行了各種預(yù)處理,并對(duì)算法進(jìn)行了改進(jìn),鞏敦衛(wèi)等人在文獻(xiàn)[12]中通過構(gòu)造密集障礙物的凸包,采用微粒群優(yōu)化規(guī)劃機(jī)器人路徑,同時(shí)在文獻(xiàn)[13]中提出多目標(biāo)模型,并采用粒群算法解決機(jī)器人在多地貌環(huán)境下的路徑規(guī)劃問題,在文獻(xiàn)[14]中更進(jìn)一步,通過定義隸屬度函數(shù)來評(píng)估路徑的風(fēng)險(xiǎn)程度,設(shè)計(jì)了一種約束多粒子群算法來提高有效性,在文獻(xiàn)[15]中提出了一種基于粒子群優(yōu)化算法的改進(jìn)集中式算法,仿真結(jié)果證明了算法的有效性與可行性.適合于USV行駛的路徑必須是滿足方位和曲率連續(xù)的可行路徑,路徑的平滑與否是實(shí)現(xiàn)精確路徑規(guī)劃的前提,如文獻(xiàn)[16]對(duì)航路點(diǎn)序列使用三次Hermit樣條法進(jìn)行擬合,且針對(duì)航路點(diǎn)處曲率不連續(xù)給出了方案,可以生成通過所有航路點(diǎn)的單調(diào)曲線,文獻(xiàn)[17]則利用非均勻B樣條曲線對(duì)折線路徑的每一個(gè)轉(zhuǎn)彎處進(jìn)行光順處理,快速構(gòu)造出方位和曲率均為連續(xù)函數(shù)的二維路徑,但是,很多算法設(shè)計(jì)的平滑路線,要么是直線與弧線段的拼接,要么是直接利用樣條曲線,沒有考慮USV的動(dòng)力學(xué)狀態(tài),并不是一條適合的最佳可行路徑.
本文首先通過對(duì)蟻群算法的局部及全局信息素的更新策略進(jìn)行改進(jìn),得到初始航線段,然后對(duì)航點(diǎn)進(jìn)行無障礙優(yōu)化,最后對(duì)生成的折線段進(jìn)行路徑平滑算法設(shè)計(jì),使得所生成的曲線路徑的方位和曲率均為連續(xù)的函數(shù),保證了路徑的平滑性及可行性,仿真結(jié)果表明提出的算法具有很好的迭代效果,能規(guī)劃出一條較為優(yōu)化的平滑可行曲線路徑.
對(duì)USV從起點(diǎn)到終點(diǎn)的運(yùn)行環(huán)境進(jìn)行柵格化建模,將環(huán)境柵格化為一定數(shù)量的柵格,以二值格式對(duì)柵格進(jìn)行編碼:1表示當(dāng)前柵格存在障礙物,0表示無障礙物,每個(gè)柵格的屬性存儲(chǔ)包括障礙物位置、海浪波幅、海流流速、海風(fēng)風(fēng)速等信息,然后利用仿生學(xué)原理,對(duì)障礙物做開運(yùn)算,建立的模型極大程度上契合實(shí)際物理環(huán)境,可行空間與障礙物也得到了精細(xì)的建模及劃分.
形態(tài)學(xué)以圖像的形態(tài)特征為研究對(duì)象,其基本運(yùn)算有腐蝕、膨脹,還可以組合出各種其它的形態(tài)學(xué)算法來對(duì)圖像進(jìn)行特征提取、邊緣骨架抽取等[18],假設(shè)運(yùn)算對(duì)象障礙物圖像A和結(jié)構(gòu)元素B(通常是包絡(luò)圖),A關(guān)于B的腐蝕和膨脹分別定義為
式中:(A)?b是A關(guān)于B的映射的平移集合,(A)b是A關(guān)于B的平移集合,腐蝕運(yùn)算刪除圖像中障礙物邊界的某些像素,使目標(biāo)區(qū)域范圍變小,可以用來消除那些比較小且無意義的物體,膨脹運(yùn)算則給圖像對(duì)象邊界添加像素,使目標(biāo)區(qū)域范圍變大,將與目標(biāo)區(qū)域接觸的背景點(diǎn)合并到該目標(biāo)中,使目標(biāo)邊界向外部擴(kuò)張,用來填補(bǔ)物體中的空洞,小且無意義的物體,膨脹運(yùn)算則給圖像對(duì)象邊界添加像素,使目標(biāo)區(qū)域范圍變大,將與目標(biāo)區(qū)域接觸的背景點(diǎn)合并到該目標(biāo)中,使目標(biāo)邊界向外部擴(kuò)張,用來填補(bǔ)物體中的空洞,有去除噪點(diǎn)[19]的作用,它們的組合有如下2種形式:
式(3)和式(4)分別表示閉運(yùn)算和開運(yùn)算,其中,閉運(yùn)算連接相臨近的物體,平滑其邊界的同時(shí)并不明顯的改變其面積;而開運(yùn)算在細(xì)微點(diǎn)處分離物體,平滑較大物體的同時(shí)并不明顯的改變其面積,并使其成為四邊形形狀,其模型如圖1所示.
圖1 柵格化環(huán)境模型Fig.1 Rasterize environment model
經(jīng)過柵格化建模和對(duì)障礙物進(jìn)行開運(yùn)算以后,環(huán)境障礙物以及USV可行空間得到了精確的劃分,在可行區(qū)域內(nèi),USV下一步的可能航向如圖2所示,使用算法獲得整個(gè)航路段下一步可能的航點(diǎn),所有航點(diǎn)構(gòu)成了整個(gè)USV的全局航線.
圖2 下一步運(yùn)動(dòng)規(guī)則Fig.2 The next movement rules
蟻群算法[20]是一種新型分布式智能仿生類算法,通過模擬螞蟻覓食過程中螞蟻群體之間、螞蟻蟻群與環(huán)境之間不停的通過信息交互來實(shí)現(xiàn)最優(yōu)路徑的選擇,螞蟻所走的路徑越短以及留下的信息素就越多,螞蟻傾向于選擇該路徑,路徑上的信息素就會(huì)越來越多,這樣就形成了一個(gè)正反饋機(jī)制,最后蟻群能找到最優(yōu)路徑,在搜索空間范圍比較大的情況下,蟻群算法的優(yōu)越性更好,路徑規(guī)劃中沒有過多的障礙物,信息素的更新比較集中,算法的復(fù)雜度進(jìn)一步得到了降低,該算法首先成功使用在解決旅行商問題上.
本文改進(jìn)蟻群算法如下:使用GPS(超高靈敏度,更新率1~10 Hz,誤差±1 m)定位當(dāng)前USV在海洋中的位置,同時(shí)結(jié)合電子羅盤測量的偏轉(zhuǎn)角,規(guī)劃出一條從起點(diǎn)到終點(diǎn)的全局路線,自定義設(shè)置從當(dāng)前USV位置指向終點(diǎn)目標(biāo)位置方向?yàn)榱愣确较?羅盤偏離角度為θ(逆時(shí)針為正0?≤θ≤180?,順時(shí)針為負(fù)?180?≤θ≤0?),改進(jìn)蟻群算法如下:
Step 1初始化蟻群參數(shù)如信息素啟發(fā)因子α、期望啟發(fā)因子β、啟發(fā)信息誘導(dǎo)因子γ、全局信息素?fù)]發(fā)系數(shù)ρρ、局部信息素?fù)]發(fā)系數(shù)ρ等,假設(shè)蟻群規(guī)模為n,初始化每條邊的信息素量值:τij(0)=1,?τij(0)=0,最大迭代次數(shù)為Nmax;
Step 2將螞蟻放置在當(dāng)前GPS定位的航跡規(guī)劃空間的起始點(diǎn)上,設(shè)置禁忌表為對(duì)應(yīng)的頂點(diǎn);
Step 3按照螞蟻的轉(zhuǎn)移規(guī)則和轉(zhuǎn)移概率選擇下一個(gè)節(jié)點(diǎn):
其中:k為第k只螞蟻;ψ0(0 ≤ψ0≤1)為可以根據(jù)經(jīng)驗(yàn)得到的固定閾值常數(shù);ψ為均勻分布在[0,1]之間的隨機(jī)數(shù);τij(t)為第t次迭代時(shí)節(jié)點(diǎn)i到節(jié)點(diǎn)j的路徑上的信息素濃度;α(α>0)為信息素啟發(fā)因子;ηij(t)為第t次迭代時(shí)節(jié)點(diǎn)i到節(jié)點(diǎn)j的路徑上的距離啟發(fā)信息,大小為ηij(t)=1/Lij;Lij為節(jié)點(diǎn)i到節(jié)點(diǎn)j的路徑上的能耗啟發(fā)信息;β(β >0)為距離啟發(fā)信息期望啟發(fā)因子;φij(t)為第t次迭代時(shí)節(jié)點(diǎn)i到節(jié)點(diǎn)j的羅盤偏轉(zhuǎn)角度啟發(fā)信息,大小為1/|θ|;γ(γ >0)為羅盤偏轉(zhuǎn)角度啟發(fā)信息誘導(dǎo)因子;
Step 4對(duì)每只螞蟻經(jīng)過一次一步移動(dòng)后進(jìn)行信息素局部更新:
各變量表示如下:τij(t+1)為移動(dòng)一步后的信息素濃度;τij(t)為當(dāng)前節(jié)點(diǎn)的信息素濃度;ρ(0<ρ<1)為信息素局部更新?lián)]發(fā)系數(shù);?τij(t)為本次循環(huán)中各只螞蟻在路徑i →j上留存的信息素濃度;為信息素的改變值;Q為根據(jù)經(jīng)驗(yàn)設(shè)置的常數(shù);LS為螞蟻k在本次循環(huán)中所走的總路徑航跡綜合值.
Step 5更新禁忌表;繼續(xù)計(jì)算概率,再選擇節(jié)點(diǎn)及更新禁忌表,直到遍歷所有節(jié)點(diǎn)1次;對(duì)所有螞蟻完成一次迭代后得到的最優(yōu)路徑進(jìn)行信息素全局更新,同時(shí)更新禁忌表:
其中:ρρ為信息素全局更新?lián)]發(fā)系數(shù);Q為經(jīng)驗(yàn)常數(shù);OP為本性循環(huán)中所得最優(yōu)路徑;Λ為當(dāng)前得到的最優(yōu)解.
Step 6計(jì)算該只螞蟻留在各邊的信息素量,丟棄該只螞蟻,進(jìn)入下一次迭代;
Step 7重復(fù)Step 3到Step 6,直至n只螞蟻都遍歷完畢;
Step 8計(jì)算各邊的信息素增量和信息素總量,記錄本次迭代的路徑,更新當(dāng)前的最優(yōu)路徑,清空禁忌表;同時(shí)判斷是否達(dá)到預(yù)定的迭代步數(shù)Nmax,或者判斷是否出現(xiàn)停滯現(xiàn)象,若是,算法結(jié)束,輸出當(dāng)前的最優(yōu)路徑;否則,轉(zhuǎn)Step 2,進(jìn)行下一次迭代.
本算法在CPU 為Inter(R)Core(TM)i7–8750H CPU @2.20 Hz2.21 GHz、Memory為16 GB、GPU為NIVIDA GeForce GTX 1080 Ti、版本號(hào)為MATLAB 2016a的平臺(tái)下進(jìn)行測試,仿真環(huán)境為20×20經(jīng)過腐蝕處理過的平面柵格模擬環(huán)境(如圖1),分簡單環(huán)境及復(fù)雜環(huán)境下的仿真.
影響蟻群算法性能的參數(shù)有很多,而且相互影響,一個(gè)值的選擇可以影響其它參數(shù),甚至整個(gè)算法的優(yōu)劣性,但是目前還沒有合適的數(shù)學(xué)模型或者數(shù)值數(shù)理分析方法在每種情況下都能生成最優(yōu)值,通常情況下只能通過經(jīng)驗(yàn)來進(jìn)行參數(shù)的選擇,本文在設(shè)置一定參數(shù)變化范圍的情況下,通過設(shè)置不同的參數(shù)組合反復(fù)多次的實(shí)驗(yàn)結(jié)果來選擇最優(yōu)的參數(shù)組合,蟻群算法的信息素的濃度和啟發(fā)信息的大小對(duì)本算法具有較大的影響,因此選擇與此有關(guān)的5個(gè)參數(shù):信息素啟發(fā)因子α、期望啟發(fā)因子β、啟發(fā)信息誘導(dǎo)因子γ、全局信息素?fù)]發(fā)系數(shù)ρρ、局部信息素?fù)]發(fā)系數(shù)ρ.對(duì)這5個(gè)重要參數(shù),每個(gè)參數(shù)選取5個(gè)點(diǎn)進(jìn)行分析,分別為
對(duì)每個(gè)參數(shù)設(shè)置一組值,同時(shí)其他參數(shù)保持不變,并進(jìn)行10次仿真,對(duì)結(jié)果求均值進(jìn)行對(duì)比.初始時(shí),設(shè)置一組默認(rèn)參數(shù)值為α=1,β=3,γ=10,ρρ=0.3,ρ=0.3,多次仿真實(shí)驗(yàn),可以得到如表1中的數(shù)據(jù).
表1 本文算法的參數(shù)優(yōu)化結(jié)果Table 1 Parameters optimization of the algorithm
由表1中的參數(shù)優(yōu)化結(jié)果,本文算法的主要參數(shù)有如下特征:α的優(yōu)化值大約為1,β的優(yōu)化值出現(xiàn)在5附近,γ的優(yōu)化值大約為10,ρρ的優(yōu)化值處于0.6與0.8之間,ρ的優(yōu)化值為0.8左右.對(duì)于本算法,最終選取的優(yōu)化值為:α=1,β=5,γ=10,ρρ=0.7,ρ=0.8.同時(shí)取值Q=1.
在參數(shù)設(shè)置完全一致的情況下,將本算法仿真結(jié)果同時(shí)與基本蟻群算法和勢場算法兩種算法在路徑長短及迭代次數(shù)上進(jìn)行比較,設(shè)置起始位置為(20,0),終點(diǎn)位置為(0,20),圖3為在較簡單及復(fù)雜環(huán)境下的仿真結(jié)果.
圖3 不同環(huán)境下3種算法軌跡對(duì)比Fig.3 Trajectory comparison in different environment
從圖4及表2–3可以看出,不管是簡單環(huán)境還是復(fù)雜環(huán)境,3種算法都能收斂得到最終路徑,基本蟻群算法搜索到的路徑因?yàn)槿菀紫萑刖植孔顑?yōu)的情況,導(dǎo)致其算法收斂的迭代次數(shù)要大于其他兩種算法,而且其搜尋到的路徑長度,也要大于其他兩種算法,簡單情況下路徑長度為31.753 m,復(fù)雜環(huán)境下則為34.258 m.勢場力算法由于為蟻群提供了較為正確的初始啟發(fā)信息,而且在勢場力的正反饋?zhàn)饔孟?其收斂速度明顯得到了加快,兩種環(huán)境下迭代次數(shù)分別為12次和17次,得出的路徑也是一條比較優(yōu)化的路徑,本文算法加入了硬件設(shè)備GPS和COMPASS,其相關(guān)參數(shù)在路徑循跡中對(duì)信息素有較大的改進(jìn),避免了局部最優(yōu)解,而且在循跡過程中,其方向始終指向終點(diǎn),因此具有較優(yōu)的全局搜索性,從3種算法對(duì)比結(jié)果來看,本文算法在簡單環(huán)境下只需要經(jīng)過8次迭代,就能尋得較優(yōu)的29.837 m的路徑長度,復(fù)雜環(huán)境下經(jīng)過13次迭代就能得到32.985 m的優(yōu)化路徑,不管是在簡單環(huán)境下,還是在復(fù)雜的環(huán)境中,本文算法都有較強(qiáng)的普適性.
圖4 不同環(huán)境下3種算法仿真比較Fig.4 Comparison of simulation in different environment
表2 簡單環(huán)境下3種算法對(duì)比Table 2 Comparison in simple environment
表3 較復(fù)雜環(huán)境下3種算法對(duì)比Table 3 Comparison in complex environment
改進(jìn)后的蟻群算法得到初始路徑是由很多折線段構(gòu)成,一條良好的路徑應(yīng)該有以下特點(diǎn):為了船體的易操作性,應(yīng)盡量避免船體頻繁轉(zhuǎn)向以及大幅度轉(zhuǎn)向,因此,首先對(duì)得到的路徑進(jìn)行優(yōu)化合并,去掉很多不必要的轉(zhuǎn)向,方法如下:由上述算法得到的路徑,對(duì)于其中的航點(diǎn)Mi,Mi+1,Mi+2,如果航點(diǎn)Mi,Mi+2的連線之間沒有與障礙物相交,則把其中間的航點(diǎn)Mi+1去掉,直接連接兩個(gè)航點(diǎn);接下來循環(huán)這一算法,Mi與Mi+3之間,Mi與Mi+4之間,去掉中間航點(diǎn),然后繼續(xù)迭代,當(dāng)Mi和后續(xù)的某一個(gè)航點(diǎn)的連線有障礙物相交時(shí)就中止這一迭代過程,重復(fù)這一過程,直到最后到達(dá)終點(diǎn),這樣得到的路徑避免了很多不必要的轉(zhuǎn)向,同時(shí)優(yōu)化了全局路徑,如圖5所示,根據(jù)改進(jìn)蟻群算法得到的航點(diǎn)依次為(S,Mi,Mi+1,Mi+2,Mi+3,Mi+4,G),經(jīng)過優(yōu)化后航點(diǎn)為(S,Mi,Mi+4,G).
圖5 全局路徑航點(diǎn)優(yōu)化Fig.5 Global path way-points optimization
經(jīng)過改進(jìn)蟻群算法生成的路徑以及全局路徑航點(diǎn)優(yōu)化后,其最終生成的軌跡折線航路如圖6(a)所示,通過其幾何性質(zhì)進(jìn)行分析,圖6(b)所示,對(duì)于直接由航路點(diǎn)連接成的折線段路徑,其路徑方位ψ及曲率κ均不連續(xù),不能作為USV可行路徑,對(duì)于執(zhí)行器的路徑任務(wù),必須受其本身機(jī)動(dòng)性能的限制,在行駛至航路點(diǎn)時(shí),必須滿足方位及曲率的連續(xù)約束,其回旋半徑約束滿足如下條件:
上式中:R(Rmin 首先使用Dubins路徑算法對(duì)圖6(a)所示路徑進(jìn)行平滑處理,假設(shè)在連接點(diǎn)處,圓弧的任意參數(shù)曲線形式表示為 圖6 軌跡折線航路及其幾何性質(zhì)分析Fig.6 Trajectory of poly-line route and its geometric properties 式中:λ為圓弧參數(shù);O=[a0,b0]以及R為圓弧所在圓的圓心及半徑;α0和α1分別為圓弧的起始方位和終點(diǎn)方位,則曲線的方位和曲率分別為 經(jīng)過Dubins平滑算法處理以后,在航路點(diǎn)處,也即各線段的連接處,用一段圓弧來代替原來的折線,如圖7(a)所示,由式(9)–(10)得到的曲線方位和曲率可平滑兩段直線航路段,形成一條理論可行的航線段. 圖7 Dubins平滑曲線及其幾何特性Fig.7 Dubins smooth curve and its geometric properties 經(jīng)過Dubins平滑處理后的折線段,還并不是USV行進(jìn)的最優(yōu)化路線,由運(yùn)動(dòng)學(xué)定理可知,USV路徑的曲率與航行器的橫蕩加速度之間[21–22]存在如下關(guān)系: 式中:μ為USV的速度矢量,α為橫蕩加速度矢量,曲率的不連續(xù)會(huì)造成航向控制器控制輸入的不連續(xù),對(duì)于由上述算法得到的初始路徑,該折線段的二階導(dǎo)數(shù)不連續(xù),如圖7(b)中的曲率幾何性質(zhì)κ所示,也即在連接點(diǎn)處曲率不連續(xù),這會(huì)造成航行器橫蕩加速器的跳變,進(jìn)而使得USV偏離期望航路,一條良好的路徑同時(shí)應(yīng)保持船舶行駛的連續(xù)性,即在保持方位偏航連續(xù)性的同時(shí)也要保持曲率連續(xù). 為了平滑滿足最小旋轉(zhuǎn)半徑且一階二階導(dǎo)數(shù)均存在的兩條不同直線,利用貝塞爾曲線理論:對(duì)于有n+1個(gè)控制點(diǎn)(P0,P1,···,Pn)的n階貝塞爾曲線,由文獻(xiàn)[23]有如下定義: 為減少參數(shù)量,使用鏡像法則,并令l=l1=l2,不失一般性,假設(shè)φ=2φ,則由圖9可得 把式(17)代入式(16)可得 同時(shí)也可以簡化式(15)的相關(guān)參數(shù)為 式(19),只要找到l,就能構(gòu)造三次貝塞爾曲線,通常情況下,相鄰兩條直線的前一條直線段用于構(gòu)造滿足最大旋轉(zhuǎn)曲率半徑的圓弧,在第1段弧的最后一個(gè)點(diǎn)M1中,根據(jù)式(14),其三次貝塞爾曲線的一階和二階導(dǎo)數(shù)分別為 因此,其三次貝塞爾曲線的最大曲率半徑為 把式(19)中的相關(guān)參數(shù)代入式(21),則可以得到 由于l≠0且φ≠180?,則由式(22)可知κmax是一致連續(xù)的. 為了驗(yàn)證貝塞爾三次曲線平滑策略的有效性,首先分析其幾何特性,由圖8(b)可知,其偏航角和曲率在從起點(diǎn)到終點(diǎn)的過程中始終是連續(xù)的,且偏航角不存在大幅度的轉(zhuǎn)向,曲率的變化曲線也不是很尖銳陡峭,不需要對(duì)動(dòng)力大小及方向進(jìn)行大規(guī)模的調(diào)整,這也在實(shí)時(shí)控制上滿足了USV的運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)特性,同時(shí)為了驗(yàn)證算法的優(yōu)越性,將其與文獻(xiàn)[16]與文獻(xiàn)[17]的算法在相同環(huán)境下進(jìn)行了仿真測試,圖9(a)模擬了較為復(fù)雜的USV障礙物環(huán)境,從測試結(jié)果可以看出,3種算法都能得到一條平滑可行的路徑,本文由于對(duì)信息素進(jìn)行了改進(jìn),同時(shí)優(yōu)化了航路點(diǎn),因此具有最短的航路距離以及最少的轉(zhuǎn)向曲線,從USV運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)理論來分析,更短的距離及最少的轉(zhuǎn)向,只需要較少的能耗,圖9(b)中模擬了在較大搜索空間情況下3種算法的仿真結(jié)果,在較大空間環(huán)境中,3種算法的搜索效果差距不是很明顯,但是本文中的算法還是得到了最短的路徑,這是因?yàn)樵诔跏紩r(shí)及整個(gè)航行過程中,USV隨時(shí)與周圍環(huán)境進(jìn)行信息交互,其信息素隨時(shí)進(jìn)行更新,更能得到優(yōu)化的結(jié)果,由于本文所設(shè)計(jì)的算法是從USV的自身動(dòng)力航行特點(diǎn)和機(jī)動(dòng)性能出發(fā)的,因此所規(guī)劃出來的路徑在能有效避開障礙物和滿足可行性的同時(shí),也實(shí)現(xiàn)了USV自身旋轉(zhuǎn)角度和路徑曲率的連續(xù)性,而且是一條優(yōu)化后的路徑. 圖8 貝塞爾曲線模型圖及其導(dǎo)數(shù)特性Fig.8 Bezier curve model and its derivative properties 圖9 全局平滑路徑對(duì)比Fig.9 Comparison of three global smooth path 針對(duì)USV的全局路徑規(guī)劃問題,提出了一種基于改進(jìn)蟻群全局路徑規(guī)劃算法,得到的路徑通過與其它兩種算法進(jìn)行對(duì)比,是一條優(yōu)化后的由航路點(diǎn)序列順序連接而成的安全且較短的路徑,然后對(duì)其航路點(diǎn)進(jìn)行全局優(yōu)化,減少不必要的航路段,在可以減少USV油耗的同時(shí)也降低了路徑長度,其時(shí)空開銷得到了一定程度的降低,最后利用三次貝塞爾曲線理論平滑原來的折線段,在滿足最小旋轉(zhuǎn)半徑的情況下,可以保證其路徑上任一點(diǎn)的方位和曲率是連續(xù)的,仿真實(shí)驗(yàn)結(jié)果也驗(yàn)證了本文所設(shè)計(jì)的算法的有效性及優(yōu)越性,USV可以生成一條光滑可行的路徑,對(duì)于小型USV的路徑規(guī)劃及控制,具有一定的研究意義.4.2 Dubins平滑算法
4.3 貝塞爾平滑路徑設(shè)計(jì)
5 仿真結(jié)果與分析
6 結(jié)語