張云飛
(河海大學 計算機與信息學院, 南京 211100)
無人機利用無線電遙控設備和控制裝置操縱,應用于民用和軍事,能夠解決人類無法解決的難題。考慮到無人機自身的特殊性,特別是面對戰爭威脅時,如何快速、準確地確定最佳航路,是保證在日益復雜、多變的現代戰場環境下,無人機能夠順利完成任務的關鍵條件[1]。因此,需要對其路徑規劃進行優化。
使用路徑規劃算法計算無人機最優飛行軌跡,目前最常用的兩種方法主要為蟻群算法和啟發式搜索算法[2]。其中,啟發式搜索算法是一種最小代價函數,它基于最小代價,在從初始點到當前點再到目標點的搜索過程中,連續地對目標節點進行擴展,從而形成一組最小代價路由,使一組節點到達最優路徑。啟發式搜索通常用來解決靜態的不確定規劃問題,廣泛應用于地圖中。該方法具有很強的收斂能力,常用于單點搜索,在快速搜索路徑上有較好的效果,但隨著搜索區域的增大,其記憶數據也隨之增大,使搜索時間變長[3]。該算法難以實現無人機約束的融合,只能生成一條路徑,無法滿足某些特殊任務的需要,導致無人機路徑不可行;蟻群算法是一種基于動物從洞穴中尋找食物這一最短路徑現象的合作發現方法,該方法采用路徑規劃的方法,首先使給定路徑的所有節點都處在信息素的作用范圍內,然后蟻群算法通過這些節點達到目標路徑,避免了路徑中節點對信息素的影響,從而減少了路徑中節點的數目,提高了路徑的可重復性,直到找到了最佳路徑為止[4]。然而,蟻群算法在無人機飛行路徑規劃過程中存在計算步驟復雜、計算量大的問題。
因此,針對上述兩種路徑規劃算法中存在的問題,結合貝葉斯決策方法,設計無人機航跡自動規劃方案。在無人機飛行路徑自動規劃硬件部分,分別設計了自動規劃模塊、動畫演示模塊、地圖導航模塊及數據導出模塊,在硬件模塊設計的基礎上,利用貝葉斯決策算法設計無人機飛行路徑自動規劃流程,傳統路徑規劃方法存在規劃準確性較差的問題,為此基于貝葉斯決策算法設計無人機飛行路徑自動規劃流程。確定貝葉斯先驗概率,在此基礎上從預測距離和障礙物節點數量兩個方面,準確選擇節點預測區域,計算飛行安全距離,初步規劃避障路線,計算后驗概率,選擇備份區選擇節點。最后利用重復循環機制綜合循環結果并選擇最優路徑。
傳統路徑規劃方法存在規劃準確性較差的問題,為此基于貝葉斯決策算法設計無人機飛行路徑自動規劃方法。首先設計無人機飛行路徑自動規劃硬件模塊,實現無人機飛行路徑自動規劃的功能運行,并結合基于貝葉斯決策的無人機飛行路徑自動規劃流程,確定貝葉斯先驗概率,據此從預測距離和障礙節點數量兩方面出發,獲得精準的備選節點預測區域,計算飛行安全距離初步規劃避障路線,計算后驗概率,選定選擇飛行區域內備選節點。最后通過 repeat循環機制,綜合循環結果,選取最優路徑,實現無人機飛行路徑的準確規劃。
無人機飛行路徑自動規劃模塊主要有4個部分,分別是自動規劃模塊、動畫演示模塊、地圖導航模塊和數據導出模塊,如圖1所示。

圖1 無人機飛行路徑自動規劃模塊
由圖1可知,在自動規劃模塊中設置操作按鈕,負責控制無人機飛行;動畫演示模塊負責展示飛機飛行路線;地圖導航模塊負責為無人機飛行路徑規劃提供精準定位數據;數據導出模塊負責導出并保存相關數據。
1.1.1 自動規劃模塊
按照無人機航路的要求,自動規劃模塊主要是由自動規劃的路徑選項分類器、自動規劃的操作模塊、坐標顯示模塊組成的,其中路徑選項分類器在選擇航路時,分別按4個按鈕進行設置,分別控制起點、終點、落腳點、禁飛區;自動規劃的操作模塊包含了3個按鈕,分別是規劃按鈕、優化按鈕、演示按鈕;坐標顯示模塊主要顯示了場景坐標、起點坐標和終點坐標[5]。在開始和結束時,單擊顯示區域的開始和結束按鈕,威脅點和禁止按鈕來確定威脅區域和禁飛區,然后,通過操作舊按鈕來制定路徑規劃的自動規劃選項模塊,生成黑色的路線圖,并通過新按鈕生成新的航行路線圖。自動規劃模塊結構示意圖如圖2所示。

圖2 自動規劃模塊結構示意圖
1.1.2 動畫演示模塊
動畫演示模塊主要負責顯示初始航跡和優化航跡的兩個航跡,通過按動視圖按鈕,即動畫演示按鈕,將看到一架小型模擬飛機按計劃飛行。模擬小飛機不僅能在初始飛行路徑飛行,而且能在優化后的最佳飛行路徑飛行。這種生動、直觀的動畫演示模式,使優化航跡更加清晰準確[6]。
動畫演示模塊主要包括索引模塊、非線性變形器、聲音編輯器,其中索引模塊支持跨平臺操作,具有多線程設計,支持大量用戶訪問;非線性變形器的控制柄顯示在動畫場景中,節點將列在通道盒內,這些節點包括控制柄節點和彎曲變形器節點[7]。使用顯示操縱器工具,為動畫演示提供交互編輯功能;聲音編輯器包括聲卡、調音臺和混音器,使用240PRO型號的LEWITT聲卡,如圖3所示。

圖3 LEWITT聲卡結構
如圖3所示,聲卡結構包括輸入/輸出系統、電池、插座、芯片、接口等。聲卡結構中的芯片組負責從各個模塊中提取聲音信號,通過AD轉換器,將聲音信號轉換為數字形式。采用復用數字信號處理器處理語音指令,不僅減輕了 CPU的工作負荷,同時也提高了執行速度。
1.1.3 地圖導航模塊
地圖導航模塊是基于單片機體系結構特性設計的,采用超低功耗、體積小巧的 GNSS芯片,具有超高的靈活性[8]。接收端采用 UBX或 NMEA協議,通過串口將射頻信號發送到天線的輸入端,并提供位置、速度、時間等信息。
LS-TM8N地圖導航模塊如圖4所示。

圖4 LS-TM8N地圖導航模塊
由圖4可知,顯示在主地圖上的地圖范圍在導航窗口位置發生變化時也發生變化,為實現這一目標,最重要的一步是在導航窗口中將數據與中間主地圖顯示區域中的數據對齊。
1.1.4 數據導出模塊
在航路規劃設計中,航路規劃路線、航路起始點、地圖威脅點等信息會在主圖中顯示,數據導出模塊以bmp格式圖片文件的形式對這些信息導出并保存[9]。當航路規劃完成后,想要對需要保存的路線圖生成紙張,可單擊位于自動路徑規劃界面的右上方的SaveButton,通過點擊此按鈕,就會將數據信息進行保存。
貝葉斯法解決了傳統遺傳算法在交叉、變異等方面存在的問題,通過貝葉斯網分析種群質量,利用貝葉斯網中的參數反映染色體與基因的關系程度,利用貝葉斯網的演化規律,利用貝葉斯優化算法更新無人機飛行規劃路線[10]。貝葉斯決策原理為:
利用多種選擇機制,從當前規劃路線中選取最佳規劃路線。基于數據信息,使用后驗概率的貝葉斯元胞蟻群算法計算最佳規劃路線;利用計算結果,聯合賦值產生新的個體集合。經過以上步驟反復執行直至達到獲取最佳規劃路線為止,該方法的終止條件可為運行到某個代次、群體中存在足夠多的解[11-13]。
進行路徑規劃時,根據貝葉斯決策原理,結合貝葉斯元胞蟻群算法,對無人機飛行路徑進行規劃,詳細步驟如下。
1)確定貝葉斯先驗概率:
在貝葉斯元胞可以飛行區域N1(Sn)內,依據導出的數據,確定備選節點概率,該概率即為最優路徑選擇中的先驗概率,公式為:
(1)
式(1)中,Th表示貝葉斯元胞可以飛行區域N1(Sn)內的信息素。
2)確定貝葉斯元胞備選節點條件概率:
設預測半徑為RR,構造預測區域RD,對于元胞鄰居可行區域N1(Sn)內的任意一個備選節點Wi:
RD(Wi)={dot|dist(Wi,dot)
dot∈L}
(2)
式(2)中,Angle(n)表示不同備選節點間的夾角,該夾角最大值為80°。備選節點的預測區域,如圖5所示。

圖5 備選節點的預測區域
由圖5可知,對于備選節點預測區域的確定需從兩個方面考慮,分別是預測距離和障礙節點數量。其中預測距離指的是無人機到達目標位置的距離和無人機與障礙物位置的距離;障礙節點指的是無人機可以飛行區域內出現的障礙目標。結合上述兩個方面內容,可以獲取精準備選節點預測區域[14-16]。
3)避障規劃:
為了防止避障失敗,無人機需要一定的飛行安全距離,這里設定為D0,針對無人機和障礙節點的距離,定義條件概率:
f(Wi)=

(3)
式(3)中,mindist(Wi,obstacle)表示備選節點和障礙物之間的距離,該距離值越小,說明條件概率值越小。通過對上述全部數據進行歸一化處理后,能夠得到貝葉斯元胞可以飛行區域內的條件概率[17],計算公式為:
(4)
式(4)中,G表示規劃事件;P(Wi|G)表示后驗概率。根據規劃路徑找到最優解后,可以在所選擇的預測區域內尋找備選節點,由此得到全局最優解,該解中包含了所有節點概率評估結果[18]。
4)確定貝葉斯元胞備選節點后驗概率:
貝葉斯元胞備選節點后驗概率,計算公式為:
(5)
式(5)中的Wi指的是依照事先規劃好的路線,通過后驗概率選擇無人機在可以飛行區域內的備選節點。
5)更新無人機飛行信息:
詳細步驟如下。
1)該方法首先對地圖區域進行矩形設置,將其網格離散化,然后利用灰度矩陣H和信息素矩陣IM建立相應的網格;
2)設定無人機飛行規劃模擬批次數量為m,同批次數量為m0。
3)批次循環開始for(i=1:m);
4)同批次內無人機的循環開始for(j=1:m0);
5)使用 repeat循環機制,確定當前無人機可以飛行的區域,由此確定備選節點的先驗概率、條件概率和后驗概率。為了完成螞蟻移動,在無人機到達目標節點之前,對其進行抽樣,完成重復循環。
6)同批次無人機的循環結束,確定m0條路徑并按照距離最短選擇局部最優路徑;
7)在圈形軌跡識別完成之后,剔除局部最優路徑;
8)在下一批無人機模擬航行中使用優化后的局部最優路徑更新信息;
9)飛行批次m循環結束,綜合m次飛行模擬結果選取最優路徑。
綜上所述,能夠得出無人機飛行路徑自動規劃流程,如圖6所示。

圖6 無人機飛行路徑自動規劃流程
為了驗證基于貝葉斯決策的無人機飛行路徑自動規劃方法研究合理性,在集成開發環境下進行試驗驗證分析。
在集成開發環境下,劃分區域單元格,并將其劃分為可飛行和不可飛行兩種,其數據展示結果如圖7所示。

圖7 數據展示界面
由圖7可知,黑色單元格表示不可飛行,藍色單元格表示可飛行。
在實驗數據支持下,分別使用啟發式搜索算法、蟻群算法和基于貝葉斯決策自動規劃方法對比分析無人機飛行遇到靜態或動態障礙物的避障能力。
2.2.1 靜態障礙物
3種方法遇到靜態障礙物的避障能力,對比結果如8所示。
由圖8可知,使用啟發式搜索算法遇到了兩個障礙物,使用蟻群算法遇到了一個障礙物,使用基于貝葉斯決策自動規劃方法沒有遇到障礙物。上述實驗結果表明,基于貝葉斯決策自動規劃方法能精準規避靜態障礙物,無人機飛行路徑規劃的準確性較好,避障性能優。

圖8 3種方法靜態障礙物避障能力對比分析
2.2.2 動態障礙物
3種方法遇到動態障礙物的避障能力,對比結果如9所示。
由圖9可知,使用啟發式搜索算法沒有障礙物,但飛行路線較遠,使用蟻群算法遇到了兩個障礙物,使用基于貝葉斯決策自動規劃方法沒有遇到障礙物。實驗結果表明,基于貝葉斯決策自動規劃方法能精準規避動態障礙物,無人機飛行路徑規劃的準確性較好,避障性能優。由于貝葉斯決策算法能夠通過先驗概率和后驗概率規劃無人機飛行路徑,結合貝葉斯元胞蟻群算法獲取最優路徑,因此該方法的避障能力較好。

圖9 3種方法動態障礙物避障能力對比分析
通過上述分析結果可知,基于貝葉斯決策自動規劃方法,無人機飛行路徑自動規劃效果較好,無論是遇到靜態障礙物,還是動態障礙物,都能良好避障。
在貝葉斯決策下實現了無人機飛行路徑的自動規劃,優化后的航跡使無人機飛行更加精準可靠,確保任務的順利完成。實驗結果表明,該方法對靜態障礙物及動態障礙物的避障能力均較好,能夠準確捕獲避障信號,實現障礙物自動規劃。因為實際的路徑規劃通常包含多個目標節點,所以多目標路徑規劃更有實際意義。采用貝葉斯決策方法對多目標路徑規劃進行了優化研究,同時對同一批執行不同任務的目標節點進行了路徑規劃,使路徑規劃更具有合理性。