胡致遠, 王征, 楊洋, 尹洋
(海軍工程大學 電氣工程學院, 湖北 武漢 430033)
水下無人航行器(UUV)具有體積小、機動能力強、智能化程度高、隱身性能好、作業風險低等特點,在海洋領域得以廣泛應用。路徑規劃作為控制技術之一,能夠保證UUV在具有障礙物環境的作業空間內,尋找到一條從起始點到目標點的最優路徑。按照對環境的知曉程度,可以分為局部路徑規劃和全局路徑規劃。其中,全局路徑規劃適用于已知的海洋環境,為UUV的安全性和可靠性提供重要的支撐。
總體上看,路徑規劃算法可以分為傳統算法和智能算法。相比于傳統算法,智能算法具有簡單、高效、適應性強、魯棒性好等特點,被廣泛應用于路徑規劃問題。應用較為廣泛的有蟻群(ACO)算法、粒子群優化(PSO)算法、蜂群算法、人工魚群算法(AFSA)等。除此之外,部分學者將螢火蟲算法、煙花算法等用于路徑規劃問題,也得到了較好的研究成果。
ACO算法是意大利學者Dorigo等提出的一種新的模擬進化算法,是基于生物界群體啟發行為的一種隨機搜索尋優方法,在解決優化組合的問題上有良好的適應性,比較適合于求解三維路徑規劃問題。
圍繞ACO算法的優化問題,文獻[9]將告警信息素概念引入至ACO算法,減少了螞蟻的無用搜索,提升了算法的整體收斂速度,但同時增加了算法的計算量;文獻[10]將遺傳算法的交叉操作結合到蟻群系統的路徑尋優過程中,加強了蟻群系統的路徑尋優能力;文獻[11]將PSO算法與ACO算法相結合,利用PSO算法進行路徑預搜索,優化了初始信息素配置,改善整體算法性能,但對于ACO算法的全局尋優能力缺乏考慮。
AFSA與ACO算法均屬于智能仿生算法,在種群優化方面具有很多相似之處。圍繞兩者之間的融合問題,文獻[12]計算了當前路徑上的信息素和所有信息素累加和的比值,通過對比擁擠度因子與上述比值的關系,決定ACO算法是否依靠轉移概率選取下一路徑點。文獻[13]在文獻[12]的基礎上,以AFSA搜索到的最優值更新ACO算法的初始信息素,解決了帶時間窗的車輛路徑問題。文獻[14]中交替使用AFSA和ACO算法,不斷地進行信息素更新和全局搜索,在解決工件數目較多的批調度問題時,具有較高的效率。因此對于兩個算法的融合問題值得進一步研究。
本文采用柵格法對下載的真實海洋環境進行建模。考慮到傳統ACO算法存在的初期搜索的盲目性、較為依賴初始信息素分布、易于陷入“早熟”等問題,將AFSA與ACO算法進行融合和改進,并通過仿真實驗加以驗證。
全局路徑規劃適用于已知的海洋環境。獲取實際的海洋環境數據直接關系到UUV全局路徑規劃結果的有效性。
目前關于海底地形的數據庫較多,數據的開源性便于用戶根據需要下載對應的數據庫數據。全球海陸數據庫(GEBCO)包含2.9億個海水深度的探測數據,數據精度能夠滿足路徑規劃研究的需要。
GEBCO提供了全球地圖的顯示插件,如圖1所示。在插件上選取指定的海域框格,便可以下載對應的采樣矩陣,用于后續的全局路徑規劃研究。

圖1 GEBCO插件顯示圖Fig.1 GEBCO image
目前針對環境建模方法主要包含柵格法、八叉樹法和切線圖環境表示法等。其中,柵格法建模具有操作簡單、易于編程實現、與路徑規劃算法結合緊密等特點,能夠將復雜的三維環境轉換為計算機可以處理的數據文件。針對三維環境特點,采取等柵格平面法進行環境建模。
如圖2所示,起始點和目標點之間的區域:-為路徑規劃區域,點位于平面,點位于平面。將點設為坐標原點,UUV的主航行方向設為軸,水平面內與軸垂直的方向設為軸,軸為深度方向,與水平面垂直。
沿軸方向,進行等距離切分,從而形成+1個垂直于軸并且平行于的柵格平面~+1。對任一平面沿著軸等分次,沿著軸方向等分次,從而在每個柵格平面中形成×個柵格。
為保證UUV航行的安全性,在每個柵格平面中,規定只要柵格中含有低于海洋深度或障礙物等情況的柵格均視為不可行柵格,圖中用深色表示,其余柵格視為可行柵格,圖中用淺色表示。

圖2 柵格法建模示意圖Fig.2 Schematic diagram of the grid model
通過柵格法建模后,三維路徑規劃問題可以轉換為在多個垂直于主航行方向上的柵格平面中依次選取可行路徑點~的問題。由于柵格平面沿軸方向均勻分布,因此研究中只需保存各路徑點沿軸和軸方向的坐標信息,減小了計算機的存儲量。各路徑點之間連線形成的路徑~便構成完整的三維路徑。
路徑點搜索過程中,如果對下一柵格平面中的每個柵格點進行遍歷搜索,將會導致搜索過程較為復雜,增加了算法的計算量。與此同時,UUV沿主航行方向航行時,受到其本身機動性限制,不可能在縱向和橫向上有過大的位移,部分路徑點將無法到達,失去研究意義。
綜合考慮算法的計算成本和UUV的實際機動性能,進行搜索框設置如圖3所示,進一步篩選可行路徑點。搜索框由UUV的最大縱移距離和最大橫移距離構成。當位于平面中的路徑點搜索下一平面+1中的路徑點+1時,只需要對搜索框中的可行路徑點進行搜索即可。

圖3 搜索框設置示意圖Fig.3 Schematic diagram of the search box
ACO算法模擬自然界螞蟻的覓食行為,通過信息素濃度的變化,指引螞蟻尋找最優路徑。ACO算法作為智能啟發式搜索算法的一種,具有較強的適應性、魯棒性、自組織性和分布式計算特性。但是,初始信息素的均勻分布使得算法初期具有一定的盲目性,算法的收斂速度因此降低。
AFSA是李曉磊博士于2002年提出的基于生物群體行為的智能算法。該算法模擬魚群的覓食、聚群、追尾、隨機等行為進行搜索尋優,具有簡單、魯棒性強、收斂速度快、初始參數選擇不敏感等特點。因此,可以考慮將AFSA算法與ACO算法相結合,形成魚群蟻群融合優化AFACO算法。
在算法初始階段,利用AFSA進行路徑預搜索,形成若干條可行路徑。增加可行路徑對應路徑點的初始信息素分布,形成優化后的初始信息素分布。將優化后的初始信息素分布傳遞至ACO進行三維路徑規劃,從而降低ACO算法前期搜索的盲目性,提升整體算法的收斂速度。
根據融合算法思路,制定算法流程,算法流程圖如圖4所示。主要步驟如下:

圖4 融合算法流程圖Fig.4 Flow chart of the fusion algorithm
1)使用GEBCO插件,下載路徑規劃研究所需的海域數據庫,并進行環境地圖的繪制;
2)設定起始點目標點信息,進行柵格法建模,確定劃分的平面個數、柵格數量等;
3)設定AFSA相關參數,初始化人工魚群分布;
4)分別以聚群和追尾為主要行為方式,穿插進行覓食和隨機行為,形成新的人工魚群分布,得到對應的食物濃度,根據食物濃度大小選擇相應的魚群分布;
5)若未達到魚群算法最大迭代次數則繼續循環,反之,增加當前魚群對應路徑點的初始信息素值,形成優化后的初始信息素分布;
6)設定ACO算法的相關參數,利用優化后的初始信息素,進行ACO算法的路徑搜索;
7)計算路徑適應度值,進行局部信息素和全局信息素更新;
8)判斷是否達到了ACO算法的最大迭代次數。當達到最大迭代次數后,保存仿真結果,并進行結果的分析與處理。
人工魚群的當前狀態為,包含條人工魚,則該狀態下對應的食物濃度可以通過目標函數計算,并表示為:=(),在考慮路徑長度最短問題時,目標函數即為路徑的長度值。每條人工魚的感知范圍為,感知范圍內其他人工魚的數量為,移動步長為,擁擠度為。人工魚與之間的距離,=‖-‖。
1)覓食行為
人工魚在其感知范圍內,隨機選擇另一狀態,其對應的食物濃度若優于,則表明狀態優于狀態,人工魚需要往該方向前進一步,狀態更新為

(1)
如果并不優于,則重新隨機選取狀態進行比較。設置最大嘗試次數為_。當嘗試次數達到_時,若仍不滿足覓食行為移動條件,則執行隨機行為。
2)聚群行為
以人工魚為中心,搜尋其感知范圍內其他人工魚的數量及中心位置。當>時,表明當前附近食物較為充足且不太擁擠,人工魚向中心位置前進一步,否則執行覓食行為。狀態更新公式為

(2)
3)追尾行為
以人工魚為中心,搜尋其感知范圍內其他人工魚的數量及擁有最大食物濃度的人工魚。當>時,表明當前附近食物較為充足且不太擁擠,人工魚向前進一步,否則執行覓食行為。狀態更新公式為

(3)
4)隨機行為
人工魚在感知范圍內隨機選取一個方向進行移動,狀態更新公式為
=+*
(4)
AFSA中,每一條人工魚對應一種可行解,因此在三維路徑規劃問題中,可以將每條人工魚視為一條可行路徑。條人工魚在第階段的狀態可表示為

(5)

由于起始點和目標點均已確定,即每條人工魚表示的路徑中起始點和目標點坐標固定不變。假設路徑起始點坐標為(1,,),目標點坐標為(+1,,),人工魚狀態可以優化為

(6)
受到搜索框的限制,人工魚的步長和最大橫移距離和最大縱移距離存在的關系為
≤min (,)
(7)
傳統ACO算法中,信息素通常分布在節點之間的連接上。對于三維路徑規劃問題,路徑點即對應ACO算法的節點。由于路徑點數量較多,節點之間的連接較為復雜,若將信息素存儲于各路徑點之間的連接上,勢必增加了算法的空間復雜度。因此,考慮將信息素分布于各離散的路徑點上,任意路徑點對應一個信息素值。各路徑點所包含信息素含量代表了對螞蟻的吸引程度。
411 啟發值大小
啟發值關系到ACO算法的收斂性、穩定性以及求解的優化性。第個平面路徑點,坐標(,,)到第+1個平面路徑點+1,坐標(+1,+1,+1)的啟發值,+1為

(8)
式中:、、為加權參數;,+1表示(,,)和(+1,+1,+1)之間的距離,計算公式為

(9)
+1,表示(+1,+1,+1)與目標點(,,)之間的距離,計算公式為

(10)
+1表示(+1,+1,+1)所在平面中可行路徑點數量+1與總路徑點數量的比值,

(11)
為路徑深度方向變化值,通過相鄰節點的深度坐標和+1進行計算,

(12)
按照實際求解問題,取1,取當前節點與目標點橫坐標之間的差值,達到距離最短的設計原則;取正數,表示期望下一節點選擇上要多考慮其可行性,保證UUV的航行安全。
412 轉移概率
螞蟻在路徑搜索時,會依據路徑點所含的啟發值和信息素值計算轉移概率。轉移概率計算公式為

(13)
式中:+1表示路徑點(+1,+1,+1)的信息素值;,+1表示兩平面路徑點之間的啟發值;為信息素重要程度因子,其值越大,表示信息素在轉移過程中作用越大;為啟發值重要程度因子,其值越大,表示啟發值在轉移過程中作用越大。
413 信息素更新
為避免ACO算法陷入局部最優解,當螞蟻搜尋到一個路徑點或者尋找到一條可行路徑后,需要進行信息素的局部更新和全局更新。
局部信息素更新目的是減小螞蟻已通過節點的信息素值,增加未通過節點的被選擇概率,實現全局搜索的目的。
局部信息素更新公式為
=(1-)
(14)
式中:為平面路徑點的信息素;為局部信息素的衰減系數。
全局信息素更新在螞蟻完成一條路徑規劃后,選擇最佳路徑,增加該路徑上的信息素值,提高被選擇的概率。信息素的局部更新和全局更新共同保證了ACO算法的成功搜索能力。
全局信息素更新公式為
=(1-)+Δ
(15)

(16)
式中:()為第只螞蟻經過點路徑長度;為全局信息素更新系數;為常量系數。
414 適應度函數
通過適應度函數判斷路徑規劃結果的優劣程度。針對路徑最短問題,當前路徑的長度與適應度值密切相關。適應度函數設置為

(17)
式中:(path)表示路徑path的總長度,可以通過累加相鄰路徑點坐標+1、的二范數求得。
ACO算法與AFSA具有一定的相似性:在不考慮信息素指導因素前提下,螞蟻的搜索行為和AFSA中的覓食行為類似;螞蟻優先選擇信息素濃度高的路徑與人工魚的聚群和追尾行為類似。
但是,AFSA設置了擁擠度參數,在算法的初期可以避免個體過早地聚集到信息素較高的路徑上,克服了“早熟”現象,提高了算法的全局尋優能力。
鑒于上述分析,將擁擠度因子思想引入傳統ACO算法,將轉移概率更新為

(18)
式中:+1表示當前選擇的路徑點擁擠度約束系數,根據路徑點所含信息素濃度大小進行設定。假設+1平面中所有路徑點所含的最大信息素濃度為,借鑒文獻[12]中的思想,將擁擠度約束系數設置為

(19)
傳統ACO算法路徑點選取依照轉移概率,按照輪盤賭的方法進行選擇。由于各路徑點之間的轉移概率相差不大,如果依照輪盤賭的方法選擇下一節點,不一定能完全保證具有較優轉移概率的節點被選取。因此選取的路徑點+1:

(20)
考慮到融合算法已經優化了初始信息素分布,因此在算法前期全局信息素更新系數選取較小的值,從而保證螞蟻主要依靠初始信息素尋找路徑;算法中期選取較大的值,避免信息素的堆積,增強算法的全局搜索能力;算法后期,由于較優路徑基本搜索完畢,為了避免算法后期發散,選取較小的值。假設算法的最大迭代次數為,參考文獻[21],將的大小選取如下:

(21)
從GEBCO下載經度122.85°E~123.10°E,緯度24.15°N~24.40°N的海域數據集,數據沿經度和緯度方向每隔1 km采樣,采樣矩陣大小為30×30,UUV的主航行方向為沿經度方向。利用MATLAB軟件對采樣矩陣處理后,可以繪制采樣的三維海洋環境,繪制出的海底地形圖如圖5所示。

圖5 三維海底環境圖Fig.5 Three-dimension submarine environment
依照柵格法建模,將研究海域沿經度方向切分30個柵格平面,并將起始點設置在第一個平面,目標點設置在最后一個平面。
仿真平臺配置為Windows 7系統,Intel Core i5處理器,8 GB內存,算法利用MATLAB 2017A編程實現。
仿真中需要對算法相關參數進行設置。依據仿真實驗環境設定,將柵格法參數設置記錄于表1中。參照文獻[12]和文獻[16]中,關于AFSA和ACO算法的參數設置,將算法對應的參數列于表2和表3中。

表1 柵格法參數設置

表2 AFSA部分參數設置

表3 ACO算法部分參數設置
按照融合算法的流程及參數設置,進行MATLAB編程仿真,經過AFSA預處理后結果如圖6所示。

圖6 AFSA預處理結果圖Fig.6 Preprocessed results after AFSA
增加已搜索到的可行路徑上路徑點的信息素量,形成優化后的初始信息素分布。將優化后的初始信息素分布傳遞至ACO算法,進行仿真實驗。為驗證算法的有效性,在仿真中進行傳統ACO算法、PSO算法和本文融合(AFACO)算法的對比實驗。所得路徑規劃結果圖、路徑俯視圖及適應度值變化趨勢圖如圖7~圖9所示。

圖7 路徑規劃結果圖Fig.7 Path planning results

圖8 路徑結果俯視圖Fig.8 Top view of path planning results

圖9 適應度值變化趨勢圖Fig.9 Variation trend of fitness value
傳統ACO算法在270次迭代時,達到最佳適應度值為41.398 1,PSO算法在267次迭代時,達到最佳適應度值為40.730 6,而本文融合算法在174次迭代時,達到最佳適應度值為40.033 8。
對算法連續仿真10次,將所得仿真結果的平均值記錄于表4中。

表4 仿真結果(平均值)
從圖6中可以看出,通過AFSA的預搜索,部分可行路徑已經被找到,能夠為初始信息素分布提供參考。
圖7和圖8表明傳統ACO算法、PSO算法及本文的AFACO算法均能實現UUV的三維路徑規劃。結合圖9的對比可以得到以下結論:
1)相比于傳統ACO算法,AFACO算法和PSO算法在迭代初期的適應度值曲線能夠較快的收斂,收斂速度較快;
2)與PSO算法不同,AFACO算法在算法后期仍具有較強的局部尋優能力,能夠找到具有較優適應度值的路徑,即具有較優路徑長度的路徑。
為了避免算法隨機性帶來的誤差,表4計算了連續10次仿真結果的平均值。可以看出,AFACO算法在達到最小迭代次數時的耗時最小,與此同時,在最佳適應度值和最小迭代次數方面,較傳統ACO算法及PSO算法均有一定的提升。
本文充分利用了AFSA和ACO算法的特點,進行了人工魚群- 蟻群融合算法的深入研究。通過對三維海洋環境的建模、融合算法的設計、ACO算法的改進等實現了UUV的三維路徑規劃。仿真結果表明,融合算法能夠在保證獲取最優路徑的前提下,使用較少的迭代次數,收斂速度更快,算法的有效性得以驗證。
[1] 鐘宏偉.國外無人水下航行器裝備與技術現狀及展望[J].水下無人系統學報, 2017, 25(3): 215-225.
ZHONG H W. Review and prospect of equipment and techniques for unmanned undersea vehicle in foreign countries[J]. Journal of Unmanned Undersea Systems, 2017, 25(3): 215-225. (in Chinese)
[2] 嚴浙平,趙玉飛,陳濤,等.一種基于導航誤差空間的無人水下航行器路徑規劃方法[J].兵工學報, 2014, 35(8): 1243-1250.
YAN Z P, ZHAO Y F, CHEN T, et al. A novel method of uuv path planning based on navigation error space [J]. Acta Armamentarii, 2014, 35(8): 1243-1250. (in Chinese)
[3] 曹曉明,魏勇,衡輝,等. 海流擾動下無人水下航行器的動態面反演軌跡跟蹤控制[J].系統工程與電子技術, 2021, 43(6): 1664-1672.
CAO X M, WEI Y, HENG H, et al. Dynamic surface backstepping trajectory tracking control of unmanned underwater vehicles with ocean current disturbances[J]. Systems Engineering and Electronic, 2021, 43(6): 1664-1672. (in Chinese)
[4] AGHABABA M P, AMROLLAHI M H, BORJKHANI M. Application of GA, PSO, and ACO algorithms to path planning of autonomous underwater vehicles[J]. Journal of Marine Science and Application, 2012, 11(3): 378-386.
[5] 杜映峰, 陳萬米, 范彬彬. 群智能算法在路徑規劃中的研究及應用[J]. 電子測量技術, 2016, 39(11): 65-70.
DU Y F, CHEN W M, FAN B B. Research and application of swarm intelligence algorithm in path planning[J]. Electronic Measurement Technology, 2016, 39(11): 65-70. (in Chinese)
[6] PANDEY P, SHUKLA A, TIWARI R. Three-dimensional path planning for unmanned aerial vehicles using glowworm swarm optimization algorithm[J]. International Journal of System Assurance Engineering and Management, 2018, 9(4): 836-852.
[7] 馬焱,肖玉杰,陳軼,等.基于改進煙花- 蟻群算法的海流環境下水下無人潛航器的避障路徑規劃[J].導航與控制, 2019, 18(1): 51-59.
MA Y, XIAO Y J, CHEN Y, et al. Obstacle avoidance path planning of unmanned underwater vehicle in ocean current environment based on improved fireworks-ant colony algorithm[J]. Navigation and Control, 2019, 18(1): 51-59. (in Chinese)
[8] PU X, XIONG C, JI L, et al. 3D path planning for a robot based on improved ant colony algorithm[J/OL]. Evolutionary Intelligence, 2020(2020-04-13) [2021-03-30]. https:∥link.springer.com/article/10.1007/s12065-020-00397-6.
[9] MA Y N, GONG Y J, XIAO C F, et al. Path planning for autonomous underwater vehicles: An ant colony algorithm incorporating alarm pheromone[J]. IEEE Transactions on Vehicular Technology, 2018, 68(1): 141-154.
[10] 潘昕,吳旭升,侯新國,等.基于遺傳螞蟻混合算法的AUV全局路徑規劃[J].華中科技大學學報(自然科學版), 2017, 45(5): 45-49,76.
PAN X, WU X S, HOU X G, et al. Global path planning based on genetic-ant hybrid algorithm for AUV[J]. Journal of Huazhong University of Science and Technology (Natural Science Edition), 2017, 45(5): 45-49,76. (in Chinese)
[11] 朱佳瑩, 高茂庭. 融合粒子群與改進蟻群算法的AUV路徑規劃算法[J].計算機工程與應用, 2021, 57(6): 267-273.
ZHU J Y, GAO M T. AUV path planning based on particle swarm optimization and improved ant colony optimization[J]. Computer Engineering and Applications, 2021, 57(6): 267-273. (in Chinese)
[12] 修春波, 張雨虹. 基于蟻群與魚群的混合優化算法[J].計算機工程, 2008, (14): 206-207,218.
XIU C B, ZHANG Y H. Hybrid optimization algorithm based on ant colony and fish school[J]. Computer Engineering, 2008, (14): 206-207,218. (in Chinese)
[13] 鄒挺. 基于蟻群和人工魚群混合群智能算法在物流配送路徑優化問題中的應用研究[D]. 蘇州:蘇州大學, 2011.
ZOU T. A study on the issue of vehicle route optimization upon ant colony algorithm, artificial fish swarm algorithm and hybrid swarm intelligence algorithm[D]. Suzhou:Soochow University, 2011. (in Chinese)
[14] 呂順風. 蟻群魚群混合算法在差異工件批調度中的應用[D].合肥:中國科學技術大學, 2017.
Lü S F. Application of hybrid algorithms based on ant colony optimization and artificial fish swarm for batch processing machine with non-identical job sizes[D]. Hefei: University of Science and Technology of China, 2017. (in Chinese)
[15] MAYER L, JAKOBSSON M, ALLEN G, et al. The nippon foundation-GEBCO seabed 2030 project: The quest to see the world’s oceans completely mapped by 2030[J]. Geosciences, 2018, 8(2):63.
[16] 劉利強, 于飛, 戴運桃. 基于蟻群算法的水下潛器三維空間路徑規劃[J]. 系統仿真學報, 2008, 20(14): 3712-3716.
LIU L Q, YU F, DAI Y T. Path planning of underwater vehicle in 3D space based on ant colony algorithm[J]. Journal of System Simulation, 2008, 20(14): 3712-3716. (in Chinese)
[17] 丑強. 虛擬環境中基于八叉樹的碰撞檢測問題[D].長春:吉林大學, 2007.
CHOU Q. Collision detection in virtual environment based on octree[D]. Changchun:Jilin University, 2007. (in Chinese)
[18] 王磊. 海洋環境下水下機器人快速路徑規劃研究[D].哈爾濱:哈爾濱工程大學, 2007.
WANG L. Research on fast path planning for AUV in ocean environment[D]. Harbin: Harbin Engineering University, 2007. (in Chinese)
[19] DORIGO M, DI CARO G, GAMBARDELLA L M. Ant algorithms for discrete optimization[J]. Artificial Life, 1999, 5(2): 137-172.
[20] 李曉磊. 一種新型的智能優化方法- 人工魚群算法[D]. 杭州:浙江大學, 2003.
LI X L. A new intelligent optimization method-artificial fish school algorithm[D]. Hangzhou:Zhejiang University, 2003. (in Chinese)
[21] 陳雄, 袁楊. 一種機器人路徑規劃的蟻群算法[J]. 系統工程與電子技術, 2008, 30(5): 952-955.
CHEN X, YUAN Y. Novel ant colony optimization algorithm for robot path planning[J]. Systems Engineering and Electronics, 2008, 30(5): 952-955. (in Chinese)