楊 航,寧 芊,周新志
(1.四川大學電子信息學院,成都 610065;2.電子信息控制重點實驗室,成都 610036)
近年來無人機技術的蓬勃發(fā)展,讓無人機在偵查、壓制、進攻等任務方面展現(xiàn)出了獨特的優(yōu)勢。而無人機的路徑規(guī)劃,則是無人機技術的重要組成部分。它是指平臺在敵方雷達、地形、任務等約束條件下,搜索出一條從起點出發(fā),能夠完成任務并且保證自身生存的最優(yōu)或者次優(yōu)路徑。然而因為無人機面對的戰(zhàn)場態(tài)勢非常復雜,約束眾多而且考慮約束相互之間可能的影響,同時還可能面對路徑中出現(xiàn)的突發(fā)威脅,在處理這些問題的時候就會遇到較大的困難。
針對這些問題,國內外的研究人員進行了大量的工作。文獻[1]采用了一種電荷法的處理方法,使得進入突發(fā)威脅區(qū)域時根據(jù)斥力讓航線遠離威脅。文獻[2-3]將靜態(tài)規(guī)劃與實時規(guī)劃結合起來,遇到突發(fā)則用實時規(guī)劃的一小段路徑替換掉靜態(tài)規(guī)劃的路徑。但是這些方法都無法將路徑中任務完成的情況以及無人機的生存狀況實時地記錄和展現(xiàn)。粒子群算法是一種新型的元啟發(fā)式算法,概念簡單易懂并且容易實現(xiàn)。
本文采用粒子群算法來進行路徑實時規(guī)劃,并且加入八狀態(tài)馬爾科夫聯(lián)合模型[4],在飛行的過程中動態(tài)獲取任務完成情況與飛機生存情況,從而評估任務與生存代價,并據(jù)此對下一步路徑進行規(guī)劃,最后利用Matlab 進行仿真,證明了方法的可行性。
為了能夠直截了當?shù)卣莆諢o人機在飛行過程中的具體生存概率情況,將文獻[5]中提到的8 種狀態(tài)的馬爾科夫模型與文獻[6]中的狀態(tài)轉移與代價的計算方式引入,并在此基礎上加以修改以便配合粒子群算法搜索。
生存性模型由兩個子模型組成,即跟蹤模型(上)和火力模型(下),如圖1 所示。兩個子模型之間是連接的,因為敵人向飛機發(fā)射武器的概率與飛機處于被敵方雷達識別(Identified)狀態(tài)的概率有關。兩個相鄰的狀態(tài)可以以一定的轉移強度互相轉化。
跟蹤子模型是一個時間連續(xù)模型,一共有4 種狀態(tài):未檢測(Undetected),檢測(Detected),跟蹤(Tracked)與識別(Identified)。敵方雷達對飛機的探測可以看作是一個隨機過程,狀態(tài)之間發(fā)生怎樣的轉換取決于飛機是否在雷達區(qū)域內。當飛機進入雷達區(qū)域時,它將逐漸轉移到檢測(D)狀態(tài),繼續(xù)在雷達區(qū)域飛行一段時間后,敵方便可以跟蹤(T)飛機,開始為發(fā)射武器做準備。最后,飛機將處于被識別(I)為打擊目標的狀態(tài)。因此,當飛機停留在雷達區(qū)域內時,該過程可以向圖1 中右側的狀態(tài)傳輸。另一方面,如果飛機離開雷達區(qū)域,敵人逐漸失去對飛機的檢測,直到飛機再次處于未檢測狀態(tài)(U),也就是說,當飛機在雷達區(qū)域之外時,該過程僅在圖1中向左側過渡。
1.2.1 跟蹤模型的轉移強度
強度矩陣以單位時間為分段而發(fā)生改變:
當雷達范圍過大時,如果雷達區(qū)域內每一點的轉移強度相同,那么就會出現(xiàn)一個問題:在雷達區(qū)域內部飛機的航線會呈現(xiàn)出一條直線。為了在內部區(qū)域無人機也能較為精確地規(guī)劃路徑,假定離雷達中心越近,轉移強度就越大。設定o,s分別為雷達區(qū)域外部與內部的轉移強度的最大值,雷達范圍內的轉移強度與飛機離雷達中心的距離有關:
其中,r 為雷達區(qū)域的半徑,d 為飛機到雷達中心區(qū)域的空間距離。用PT(tn)向量來描述tn時刻跟蹤模型的各狀態(tài)概率,可以用下面的公式遞歸計算:
其中,指數(shù)矩陣eΔ定義為:
在一開始,飛機必然處于未檢測(U)狀態(tài),所以PT(tn)的初始值設置為(1,0,0,0)。
1.2.2 重疊區(qū)域的處理
實際情況中為了確保安全,雷達區(qū)域可能會重疊。假設每個雷達能夠獨立地探測和跟蹤飛機,那么在一個由多個雷達覆蓋的區(qū)域的強度是單個強度的總和。例如假設兩個傳感器的相同,這意味著:
因此,轉移前預期時間是單個預期時間的一半。
火力模型是一個時間離散模型,4 種狀態(tài)為:無傷害(Unharmed)、開火(Fire)、失誤(Miss)和命中(Hit)。這個過程從無傷害狀態(tài)(UH)開始,只要飛機遠離所有的武器范圍,它就會保持在這個狀態(tài)。然而,如果敵方武器已經(jīng)發(fā)射出,這個轉移將被立即轉移到下一個狀態(tài)。開火狀態(tài)(F)是一個臨時狀態(tài)。飛機將不會長時間停留在這個狀態(tài)中,而是會進一步轉移到命中(H)或失誤(M)狀態(tài)。一個發(fā)射后的武器最終將以pkill的概率擊中飛機,所以導彈從武器到飛機的飛行時間在本模型中不予考慮。在上一次開火的結果未出來之前,敵方也不會進行新一次開火。在這一工作中,假定飛機以一定時間為間隔進行傷害情況評估。每個武器系統(tǒng)也只能是飛機在武器射程內時以一定時間為間隔進行發(fā)射,而更復雜的傷害情況評估模型將留給未來的工作。
1.3.1 火力模型的轉移概率
火力模型中狀態(tài)的轉移是一個離散時間的馬爾科夫模型,所以此子模型以概率來轉移,而不是用強度,tk時間的轉移矩陣Λ(tk)用以下公式描述:
此外,當飛機離開武器攻擊范圍的時候,開火(F)與失誤(M)這兩種狀態(tài)都將轉移到無傷害(UH)狀態(tài),而命中(H)狀態(tài)則不會再改變。
1.3.2 pfire與pkill
武器開火的概率pfire取決于許多因素,在此將問題簡化,使用以下方法計算:
pi是當前時刻跟蹤模型里計算出的飛機處于被敵方雷達識別狀態(tài)(Identify)的概率,TV(Threat Value)是指對敵方的威脅值,為了估計威脅值,需要評估飛機的接近性、能力和意圖等因素。盡管威脅值不完全由飛機與武器的距離決定,但如果飛機離武器越近,威脅值也必然會更大。這里使用的評估方法是基于文獻[7]中提出的威脅評估的貝葉斯網(wǎng)絡,這是一種比較簡單的方法。該網(wǎng)絡的輸入是飛機與武器之間的距離,這是由5 個層次描述的:
文獻[8]中也提出了一些更復雜的計算威脅值的方法,如果為了避免過于復雜地計算TV,也可以指定TV=x,x 為任一確定的值。pkill則是指在導彈已經(jīng)發(fā)射的情況下?lián)糁酗w機的概率。由于武器的性能通常是保密的,所以在此可以采用一種簡單的模型,將pkill在整個過程中設定為一個恒定值。
粒子群算法是一種基于群體的元啟發(fā)式算法,近年來已經(jīng)被實驗證明了其效果,并且在各種領域得到了相當廣泛的應用。與其他智能算法類似,PSO算法也是通過個體之間的競爭選擇而實現(xiàn)最優(yōu)解。
在PSO 中,整個空間的每一個個體都是求解問題的一個解。在N 維解空間里,有M 個粒子組成的初始種群Z=(z1z2… zM),第i 個粒子的位置信息用向量Xi=(xi1xi2… xiN)描述,這個粒子的運動速度信息則可以用下面的向量描述[9-11]Vi=(vi1vi2… viN)。每一個粒子在解空間迭代搜索,并且通過適應度函數(shù)的值來判斷解的優(yōu)劣,關于適應度函數(shù)的選取將在下一節(jié)中進行詳解。在每一次搜索過程中,通過兩個最優(yōu)值來更新粒子的位置信息,一個是粒子自身的歷史最優(yōu)值B,一個是整個種群中的歷史最優(yōu)粒子值G。然后根據(jù)本公式來迭代更新第i 個粒子的速度與位置:
在這里要強調公式中參數(shù)的選取,不當?shù)膮?shù)將影響算法收斂速度甚至不能收斂。其中w 為慣性權重,代表了全局搜索能力,如果w 為0,則粒子會失去記憶性將收斂于目前的最佳位置。c1代表了粒子的認知能力,如果這一部分為0,在粒子之間的作用下也可以收斂,甚至速度更快,但容易出現(xiàn)局部收斂的問題。c2代表粒子的社會能力,即與種群中其他粒子的交互關系,如果它為0,那么種群中的粒子將失去相互之間的聯(lián)系而自行搜索,這樣很難尋求到整個問題的最優(yōu)解。
在粒子群算法中通常由適應度函數(shù)來描述一個粒子的好壞[12-13],在本文中為了權衡任務完成度與飛機生存性等元素,令適應度函數(shù)由下式給出:
w 分別為各項的權重,Ctotal越小說明航路的整體代價越小,粒子也越接近最優(yōu)值。接下來分別對每一項約束進行說明:
其中,F(xiàn) 用于求點到直線的距離,Xk是當前粒子的位置,Lreference為2.2.2 節(jié)中將要提到的預規(guī)劃路徑。
3)Cheight是高度約束的代價,CPH為高度懲罰代價,Hmin,Hmax分別為最低和最高飛行高度。
4)Coil是油量的代價,本文將從當前位置垂直飛向預規(guī)劃航路,然后沿著預規(guī)劃航路,把剩余路徑的兩段距離之和作為判斷油量是否充足的依據(jù),若油量不足以完成剩余航路,則施加懲罰代價CPO。
5)Ctarget為到下一個任務點的距離,若任務已經(jīng)全部完成,則計算到規(guī)劃終點的距離。此項可以使得路徑是朝向任務點飛行,若無將會直接飛向終點。
2.2.1 無人機坐標的計算
要確定無人機的下一步運動軌跡,首先要確定它的飛行方向與飛行速度。而在三維空間中,用極坐標描述位置變化無疑會更加方便[14]。所以將俯仰角、偏航角與飛行速度作為粒子群算法搜索的解[15-17],然后再將極坐標轉化為笛卡爾坐標就可以繪制出規(guī)劃路徑,如圖2 所示。若整個航路一共為n 步,則粒子的位置為:
α1為第1 步的垂直俯仰角度,β1為第1 步的水平偏航角度,υ1為第1 步飛機的飛行速度,并以此類推。
圖2 運動坐標三維示意圖
2.2.2 動態(tài)航路規(guī)劃
在面對復雜的戰(zhàn)場態(tài)勢時,如果做靜態(tài)的路徑規(guī)劃,面對突然出現(xiàn)的威脅將比較難以處理,所以本文選擇動態(tài)航路規(guī)劃。每次搜索F 步以防止出現(xiàn)路徑不平滑與搜索速度緩慢的問題,然后選取其中的D 步來執(zhí)行。為了保證對突發(fā)威脅的提前反應,通常D 應當不大于F 的一半。下一次規(guī)劃則以本次執(zhí)行的終點作為起點繼續(xù)執(zhí)行。
同時,為了輔助規(guī)劃航路和確定任務執(zhí)行的先后順序,在規(guī)劃之前提前確定一條預規(guī)劃航路,由起始點與任務點按順序連接直到終點的直線組成。
表1 坐標信息表
采用matlab2016 對實驗進行仿真,場景設置為700*600*500 km 的區(qū)域,起始點與任務信息如表1所示,設定飛機自帶雷達探測器探測的范圍為20 km,粒子群規(guī)劃航路的參數(shù)如下頁表2 所示。馬爾科夫生存模型中跟蹤子模型的轉移強度由表3所示,其中表示狀態(tài)i 向狀態(tài)j 轉移的強度,令pkill=0.2。從表3 中可以看到,在雷達區(qū)域內,如只有圖1 中向右轉移的轉移強度不為0,向左轉移的強度都為0,這是因為在此區(qū)域內,雷達跟蹤的幾率只會隨著時間的增加而增加,不會減?。环粗嗳?。生存模型中各個狀態(tài)的狀態(tài)代價值由表4 與表5 給出。跟蹤模型的各個狀態(tài)的生存代價是遠小于火力模型的,因為它只是代表雷達的跟蹤而不會造成傷害,代價則隨著狀態(tài)的向后轉移而增強?;鹆δP椭懈鳡顟B(tài)的生存代價比跟蹤模型大,無傷害(UH)與失誤(M)狀態(tài)都是屬于未命中,開火(F)狀態(tài)有可能擊中,所以代價會較大,而擊中(H)狀態(tài)會導致飛機擊毀,所以代價極大。
表2 粒子群參數(shù)表
表3 跟蹤模型轉移強度表
表4 跟蹤子模型各狀態(tài)生存代價
表5 火力子模型各狀態(tài)生存代價
3.2.1 生存代價w2偏大
在設置生存代價權重偏大的情況下,即式(12)中的0.5<w2<0.7 時,生存代價在總體的目標函數(shù)中所占比重較大,所以在路徑規(guī)劃的時候會更多地偏向考慮飛機的生存情況,在完成任務的前提下,飛機寧愿在路徑長度上耗費一定的代價,也不要進入雷達與武器區(qū)域。
圖3 規(guī)劃路徑圖
圖4 跟蹤模型概率圖
圖5 火力模型概率圖
圖6 綜合評估圖
圖4 中黑色區(qū)域為雷達區(qū)域,紅色區(qū)域為武器區(qū)域,黃色圓點為任務區(qū)域,紅色路徑則為規(guī)劃的飛行航路。從圖4、圖5 中可以看到,飛機進入第1個雷達區(qū)域后被雷達檢測跟蹤識別的概率逐漸上升。到達一個任務點后飛機開始退出雷達區(qū)域,退出后被跟蹤的概率下降至0;然后進入第2 個雷達區(qū)域,由于生存權重較大,所以飛機沒有進入武器區(qū)域太多,從圖6 中可以看到敵方武器發(fā)射與命中的概率均小于0.1。從下頁圖7 可以看到TV 值是在進入武器區(qū)域的一小段時間內有變化,Pidentify與圖5對應,Pfire值與圖6 對應,生存能力Survivalblity 是由1-Phit得來,可以看到幾乎約等于1,說明飛機的生存能力得到了很好的保證。
3.2.2 生存代價w2偏小
當設置生存權重w2偏小的時候,即式(12)中的0.2<w2<0.4 時,仿真結果如圖7~圖10 所示。
從圖中明顯可以看到,當生存權重設置為較小值的時候,對比3.2.1 節(jié),路徑規(guī)劃時明顯對飛機的生存情況不太敏感,在進入第2 個武器區(qū)域時已經(jīng)深入到武器內部了,同時可以看到圖10 中敵方開火與擊中飛機的概率大大地提高了,飛機被擊毀的概率甚至達到了0.4。圖11 中TV 值也在較長時間內保持高值,整個航路的生存能力在后半段明顯下降,說明改變權重對路徑規(guī)劃的影響是非常顯著的。
3.2.3 縮減搜索空間時間對比
在本實驗路徑規(guī)劃中,添加了地形、油量、飛行角度等約束條件,可以有效縮減搜索空間,經(jīng)多次實驗,得到了運行時間對比如表6 所示。
表6 運行時間對比表
從表中可以明顯看出,在添加了約束條件后,粒子群算法中粒子的搜索方向受到限制,搜索空間得到縮減,加快了程序運行速度,提高了效率。
本文在三維空間對實驗進行了仿真,結果表明:使用粒子群算法結合八狀態(tài)馬爾科夫聯(lián)合生存模型的方法是可行的,能夠在飛行過程中實時掌控飛機的各個狀態(tài)的概率情況,通過改變權重也能很好地調節(jié)生存與其他代價之間的關系,從而對飛行路徑進行比較有效的評估。
在未來的研究中,可以考慮利用多種方法建立對威脅值TV 的評估模型,以及對影響的因素如天氣、干擾做一些分析,希望可以最大程度地接近真實環(huán)境,從而得到更加準確、有效的結果。