侯岳奇, 梁曉龍,*, 何呂龍, 劉流
(1. 空軍工程大學(xué) 國家空管防相撞技術(shù)重點實驗室, 西安 710051;2. 空軍工程大學(xué) 陜西省電子信息系統(tǒng)綜合集成重點實驗室, 西安 710051)
隨著高精度影像設(shè)備與技術(shù)的快速發(fā)展,攜帶照相設(shè)備的無人機(Unmanned Aerial Vehicle,UAV)在民用和軍事領(lǐng)域得到了廣泛應(yīng)用,例如環(huán)境監(jiān)測、戰(zhàn)場監(jiān)視以及目標(biāo)搜索等[1-2]。無人機集群通過無人機之間的協(xié)同合作,從而實現(xiàn)整體能力上的涌現(xiàn),即系統(tǒng)涌現(xiàn)出的能力遠超系統(tǒng)內(nèi)單架無人機能力的總和[3-4]。相比于單架無人機,利用多架無人機協(xié)同執(zhí)行區(qū)域搜索任務(wù)得到了越來越廣泛的關(guān)注[5-6]。
針對協(xié)同搜索問題,諸多學(xué)者進行了深入的探索并取得豐碩的成果。離線規(guī)劃方法[7-9]將任務(wù)區(qū)域進行分割,設(shè)計各個子區(qū)域的覆蓋搜索航線,飛行航線固定。該方法的優(yōu)勢在于能夠?qū)崿F(xiàn)任務(wù)區(qū)域的全覆蓋,而在無人機故障、火力威脅等突發(fā)情況下該方法受限。文獻[5]使用笛卡兒柵格描述環(huán)境,賦予每個柵格一個值代表目標(biāo)分布的不確定性,設(shè)計了搜索回報函數(shù)和禁飛區(qū)回避策略。在有先驗信息的情況下,該方法可以實現(xiàn)重點偵察和覆蓋搜索。文獻[10]在文獻[5]的基礎(chǔ)上,考慮通信約束,分析了不同通信約束對協(xié)同搜索效率的影響。在通信距離和角度有約束的情況下,該方法能夠較好地實現(xiàn)協(xié)同區(qū)域搜索。此類方法依賴先驗信息來建立概率地圖,然而在實際應(yīng)用中,先驗信息的獲取和柵格量化是十分困難的。文獻[11]設(shè)計了基于信息素的網(wǎng)格回訪機制,引導(dǎo)無人機對目標(biāo)存在概率較大的區(qū)域進行回訪搜索,使得無人機能夠盡早搜索到更多目標(biāo)。上述方法[5,10-11]均假設(shè)無人機在相鄰柵格之間運動,這種“粗粒度”的運動模型雖然簡化了協(xié)同搜索決策的解空間,但卻在一定程度上降低了決策結(jié)果的精細程度。文獻[12-14]基于分布式模型預(yù)測控制框架,采用納什最優(yōu)和粒子群優(yōu)化相結(jié)合的算法,有效地降低了協(xié)同搜索決策問題的求解規(guī)模和通信負擔(dān)。雖然上述研究在一定程度上使多無人機具備了協(xié)同搜索的能力,但仍存在區(qū)域覆蓋率較低的問題。存在這一問題的原因在于:缺少專門的引導(dǎo)機制,來引導(dǎo)無人機向未覆蓋區(qū)域進行搜索。
在執(zhí)行區(qū)域搜索任務(wù)時,無人機故障和環(huán)境中火力威脅等突發(fā)情況的影響是不容忽視的??紤]到傳統(tǒng)的離線規(guī)劃方法難以應(yīng)對突發(fā)情況,本文提出了一種以覆蓋率為實時搜索獎勵的協(xié)同區(qū)域搜索算法,以改善一般在線規(guī)劃搜索方法覆蓋率不高的問題。
多無人機協(xié)同搜索問題主要分為2類[15]:第1類是在環(huán)境信息已知的條件下,根據(jù)先驗信息對區(qū)域進行搜索,以盡快發(fā)現(xiàn)目標(biāo),或者對重點區(qū)域進行監(jiān)控;第2類是在環(huán)境信息未知的條件下,對區(qū)域進行覆蓋。本文針對第2類問題展開研究。UAV集群攜帶通信設(shè)備和照相設(shè)備對特定任務(wù)區(qū)域展開搜索,區(qū)域內(nèi)目標(biāo)的位置分布未知,如圖1所示。
UAV按照實時規(guī)劃的航路對任務(wù)區(qū)域展開搜索,并通過通信組網(wǎng)模塊進行實時通信,為實時決策提供信息支撐,通信內(nèi)容包括UAV狀態(tài)、環(huán)境信息和決策信息等。當(dāng)某架UAV出現(xiàn)故障時,傳統(tǒng)的離線規(guī)劃方法難以適應(yīng)性地完成搜索任務(wù)。相比而言,在線規(guī)劃方法魯棒性更強,在出現(xiàn)突發(fā)情況時,無人機集群能夠繼續(xù)保持協(xié)同,自組織地完成搜索任務(wù)。因此,本文主要研究如何建立一種高效的區(qū)域覆蓋在線規(guī)劃方法,確保UAV集群在盡可能短的時間內(nèi)對區(qū)域進行覆蓋。
圖1 UAV集群協(xié)同搜索示意圖Fig.1 Schematic diagram of UAV swarm cooperative search
設(shè)任務(wù)區(qū)域Ω為Lx×Ly的矩形區(qū)域,將區(qū)域按照固定間隔Δd柵格化為M×N個柵格,如圖2所示。
賦予每個柵格一個值μij(k),用于描述截止到k時刻為止柵格(i,j)是否已被覆蓋。為簡化分析,做出如下假設(shè):一旦柵格(i,j)處于UAV傳感器探測范圍內(nèi),則認為該柵格已被覆蓋,且柵格內(nèi)的目標(biāo)存在情況完全已知。柵格的狀態(tài)μij(k)表示為
(1)
式中:Ωc(k)為已覆蓋的柵格集合;Ωnc(k)為未覆蓋的柵格集合。任務(wù)區(qū)域Ω為Ωc(k)和Ωnc(k)的總和。構(gòu)建覆蓋分布地圖(Coverage Distribution Map,CDM)來描述任務(wù)區(qū)域的覆蓋分布情況,用矩陣形式來表示覆蓋分布地圖,定義環(huán)境矩陣為
C(k)=[μij(k)]M×N
(2)
在搜索開始前,由于整個區(qū)域的環(huán)境信息完全未知,且需要對整個區(qū)域展開覆蓋搜索,因此每個柵格的值μij(0)=1;隨著搜索的進行,μij(k)實時變化,覆蓋分布地圖實時更新,并在UAV集群內(nèi)共享,為UAV的實時決策提供環(huán)境信息。
圖2 任務(wù)區(qū)域柵格化Fig.2 Mission area rasterization
為簡化分析,假設(shè)UAV在任務(wù)區(qū)域上空等高度飛行,并將UAV視為二維空間中運動的質(zhì)點,其運動方程為
(3)
式中:[xi(k),yi(k)]為UAV的位置;φi(k)=φi(k-1)+Δφi(k),φi為航向角,Δφi∈[-φmax,φmax]為航向偏轉(zhuǎn)角,為決策輸入,φmax為受機動性能限制下的最大轉(zhuǎn)彎角;v0為平飛速度;Δt為時間步長。
將UAV集群視為一個控制系統(tǒng),并將每架UAV視為一個子系統(tǒng)。k時刻,記子系統(tǒng)UAVi的狀態(tài)為pi(k)=(xi(k),yi(k),φi(k))。狀態(tài)方程為
pi(k+1)=f(pi(k),ui(k))
(4)
式中:ui(k)=Δφi(k)為子系統(tǒng)UAVi的輸入;f(·)為狀態(tài)轉(zhuǎn)移函數(shù),由式(3)確定。
根據(jù)式(4),建立子系統(tǒng)UAVi的預(yù)測模型為
i=1,2,…,n;j=1,2,…,H
(5)
式中:n為UAV架數(shù);H為預(yù)測周期;pi(k+j|k)為基于k+j-1時刻UAVi狀態(tài)預(yù)測的k+j時刻的UAVi狀態(tài),其值取決于狀態(tài)pi(k+j-1|k)和控制輸入ui(k+j-1|k)。
從k時刻起,給定H步預(yù)測控制輸入后,可以預(yù)測出未來H步以內(nèi)UAV的航路,如圖3所示。通過優(yōu)化預(yù)測控制輸入,來引導(dǎo)UAV盡可能向尚未被覆蓋的區(qū)域進行搜索,以獲得更高的區(qū)域覆蓋率。
圖3 H步預(yù)測航路圖Fig.3 H step route prediction
覆蓋分布地圖描述了任務(wù)區(qū)域的覆蓋搜索情況,是UAV進行自主決策的重要依據(jù)。因此,如何快速更新覆蓋分布地圖,對在線實時決策具有重要意義。
覆蓋分布地圖的更新就是將傳感器探測范圍內(nèi)覆蓋部分的相應(yīng)柵格置為0。通過逐一判斷鄰近柵格到UAV之間的距離是否小于傳感器探測距離,并對覆蓋范圍內(nèi)的柵格進行逐一賦值,可以實現(xiàn)覆蓋分布地圖的更新,但這種遍歷的方法運算量大、算法復(fù)雜度高,不利于實時更新。本文利用Hadamard積進行覆蓋分布地圖更新,操作簡單且易于實現(xiàn),避免了遍歷判斷和逐一賦值,其流程如圖4所示。
圖4中探測矩陣和環(huán)境子矩陣的定義,以及對其進行Hadamard積的運算過程將在2.1節(jié)和 2.2節(jié)中詳細介紹。
圖4 覆蓋分布地圖更新流程Fig.4 Update process of coverage distribution map
本文將傳感器探測范圍簡化為:UAV所處位置為中心,半徑為Rs的圓形區(qū)域。如圖5所示,正方形區(qū)域記為Ψ,將區(qū)域Ψ柵格化為Q×Q個柵格。
(6)
式中:Rs為傳感器探測半徑;「?為向上取整函數(shù)。
賦予每個柵格一個值ηpq,用于描述UAV傳感器能否探測到該柵格。若柵格(p,q)處于UAV傳感器探測范圍內(nèi),則令ηpq=0,反之,ηpq=1。ηpq表示為
(7)
式中:Ψc為傳感器可探測區(qū)域;Ψnc為不可探測區(qū)域。區(qū)域Ψ為Ψc和Ψnc的總和。
圖5 區(qū)域Ψ柵格化Fig.5 Region Ψ rasterization
以ηpq為元素建立探測矩陣D=[ηpq]Q×Q,表示UAV對鄰近柵格的覆蓋能力。
定義環(huán)境子矩陣C(mn)(k):在環(huán)境矩陣C(k)中,以μmn(k)為中心元素,維度為Q×Q的子塊矩陣,稱為環(huán)境子矩陣。
(8)
(9)
當(dāng)UAV處于柵格(m,n)內(nèi)時,可近似認為UAV處于該柵格的中心。此時,環(huán)境子矩陣C(mn)(k)與探測矩陣D重合,且維度相等。對上述2個矩陣做Hadamard積
C(mn)(k+1)=C(mn)(k)°D=
(10)
式中:“°”為Hadamard積運算;p,q=1,2,…,Q。
假設(shè)傳感器的探測周期為Ts,以Ts為時間間隔將UAV從k到k+1時刻的直線運動離散為運動點跡。對每個離散點做上述運算,即可實現(xiàn)一個步長內(nèi)覆蓋分布地圖的更新。
文獻[16]提出了一種地圖信息融合更新方法,該方法適用于通信理想的情況,在通信中斷或數(shù)據(jù)丟包的情況下,部分地圖信息無法融合更新,對搜索過程造成影響。因此,本文提出基于Hadamard積的地圖信息融合方法(見圖6),能夠在一定程度上減小通信中斷或數(shù)據(jù)丟包對搜索過程的影響。
在協(xié)同搜索過程中,各UAV在本機進行覆蓋分布地圖更新,更新完畢后通過通信網(wǎng)絡(luò)廣播發(fā)送實現(xiàn)融合共享。k時刻,UAVi本地的覆蓋分布地圖對應(yīng)的環(huán)境矩陣記為Ci(k),并接收到其他UAV的廣播消息記為Cj≠i(k)?;贖adamard積可實現(xiàn)各UAV覆蓋分布地圖的信息融合:
(11)
與文獻[16]方法相比,基于Hadamard積的地圖信息融合方法共享的探測信息為環(huán)境矩陣Ci(k),是地圖的全局信息。假如k時刻數(shù)據(jù)丟包或通信中斷,當(dāng)前時刻的探測信息會丟失,地圖信息無法更新。一旦k+x時刻通信恢復(fù)正常,環(huán)境矩陣Ci(k+x)中已包含了k到k+x時刻的歷史探測信息,經(jīng)過基于Hadamard積的地圖信息融合方法更新后,丟失的歷史探測信息就得以恢復(fù)。雖然k到k+x時刻通信中斷會影響當(dāng)前搜索決策,但是通信恢復(fù)后所有歷史信息得到恢復(fù),k+x時刻之后的搜索過程不會受到影響。
圖6 基于Hadamard積的地圖信息融合示意圖Fig.6 Schematic diagram of map information fusion based on Hadamard product
協(xié)同搜索的關(guān)鍵在于設(shè)計一個搜索獎勵函數(shù),對每條預(yù)測航路進行評估[5]。獎勵的設(shè)定主要是一個步長內(nèi)覆蓋率增量的大小,并依據(jù)邊界條件和轉(zhuǎn)彎角度設(shè)計懲罰函數(shù)。在搜索過程中,UAV基于當(dāng)前狀態(tài)和覆蓋分布地圖,利用搜索獎勵函數(shù)對預(yù)測航路進行評估,并自主地選擇獎勵值最大的航路作為決策輸入。每架UAV使用搜索獎勵函數(shù)J選擇它的搜索航路:
J(pi(k),ui(k))=ω1γJC(k)+
ω2JT(k)+ω3JB(k)
(12)
式中:JC為覆蓋率增量;JT和JB分別為轉(zhuǎn)彎角度和邊界距離的懲罰函數(shù);ω1、ω2和ω3為相應(yīng)權(quán)重;γ為重要性因子,覆蓋率的重要性通過調(diào)整γ來體現(xiàn),γ≥1。
k時刻的區(qū)域覆蓋率O(k)是已搜索區(qū)域Ωc(k)占任務(wù)區(qū)域Ω的面積比,即已搜索柵格數(shù)量與總柵格數(shù)量的比值:
(13)
k到k+1時刻的覆蓋率增量是指O(k+1)與O(k)的差值。實際意義為:k時刻,未搜索區(qū)域Ωnc(k)中,在k到k+1時刻內(nèi)被搜索到的區(qū)域占任務(wù)區(qū)域Ω的面積比。覆蓋率獎勵函數(shù)為
JC(k)=O(k+1)-O(k)=
(14)
在執(zhí)行任務(wù)過程中,若轉(zhuǎn)彎角度過大,導(dǎo)致耗油增大,影響續(xù)航時間。因此,設(shè)計一個懲罰函數(shù),盡可能減少UAV轉(zhuǎn)彎角度過大引起的耗油代價。轉(zhuǎn)彎角度的懲罰函數(shù)JT可以表示為
(15)
在搜索過程中,距離邊界越近,傳感器覆蓋的有效區(qū)域越少,效率越低。借鑒虛擬勢函數(shù)的思想,設(shè)計一個懲罰函數(shù),靠近邊界的UAV會受到邊界的虛擬“斥力”,距離邊界越近則“斥力”越大。因此,邊界距離的懲罰函數(shù)JB可以表示為
(16)
(17)
模型預(yù)測控制(Model Predictive Control,MPC)是一種利用控制系統(tǒng)模型和優(yōu)化技術(shù)設(shè)計預(yù)測周期內(nèi)系統(tǒng)最優(yōu)控制輸入的方法,核心思想是滾動優(yōu)化求解[17]。集中式MPC方法依賴中央節(jié)點進行決策,限制了系統(tǒng)規(guī)模的擴展和決策速度,在實際應(yīng)用中有一定局限性[14,18]??紤]到UAV子系統(tǒng)之間不存在耦合性,即不同UAV的控制是相對獨立的,它們在系統(tǒng)的動態(tài)特性上并沒有關(guān)聯(lián)。為提高整個系統(tǒng)的抗毀性和決策速度,其控制結(jié)構(gòu)可以采用分布式模型預(yù)測控制(Distributed Model Predictive Control,DMPC)方式[19],如圖7所示。
MPCi決策流程分為3步。
步驟1預(yù)測
圖7 DMPC框架示意圖Fig.7 Schematic diagram of DMPC framework
圖8 MPCi決策流程Fig.8 Decision-making process of MPCi
在預(yù)測階段,每架UAV基于本地覆蓋地圖和自身狀態(tài)進行優(yōu)化求解,而不考慮其他UAV的運動,即UAV之間不進行協(xié)同。根據(jù)式(17),求解UAVi的H步預(yù)測控制輸入的優(yōu)化模型可以描述為
(18)
步驟2通信
步驟3決策
(19)
搜索決策過程的算法偽代碼如下:
1 初始化任務(wù)參數(shù)
2 fork= 1 tokmax
9 將Ci(k)更新為Ci(k+1)
10 ifO(k+1) ≥ 設(shè)定閾值
11 break
12 end if
13 end for
控制輸入Ui(k)中包含H個未知變量,此優(yōu)化問題是一個非線性優(yōu)化問題??紤]到DE算法在求解優(yōu)化問題,尤其是非線性優(yōu)化問題中的優(yōu)勢[20],采用DE算法進行子系統(tǒng)本地優(yōu)化求解,算法細節(jié)不再贅述。
為驗證本文方法的有效性,本節(jié)對其進行仿真驗證。仿真環(huán)境為I7-4960,主頻2.60 GHz,16 GB內(nèi)存,基于MATLAB 2014a為平臺進行仿真實驗。
設(shè)任務(wù)區(qū)域為8 km×8 km的矩形區(qū)域,每個柵格大小為20 m×20 m。執(zhí)行搜索任務(wù)的4架UAV從不同位置進入搜索區(qū)域,其進入點坐標(biāo)分別為(200,0) m,(2 200,0) m,(4 200,0) m,(6 200,0) m。UAV之間的通信均為理想條件。UAV平飛速度v0=30 m/s,傳感器探測半徑Rs=200 m,最大轉(zhuǎn)彎角φmax=60°,仿真步長Δt=10 s,預(yù)測步長H=3,ω1=0.9,ω2=0.05,ω3=0.05,γ=200。設(shè)定仿真環(huán)境條件:任務(wù)環(huán)境為無遮擋的平地區(qū)域,任務(wù)區(qū)域中存在分布未知的火力威脅,有一定幾率造成UAV設(shè)備故障。在仿真中加入突發(fā)情況來模擬這一環(huán)境條件:運行至20步長時,假定UAV1設(shè)備故障,停止執(zhí)行任務(wù);運行至100步長時,假定UAV3設(shè)備故障,停止執(zhí)行任務(wù)。為體現(xiàn)本文算法的優(yōu)勢,分別運用平行搜索、隨機搜索和本文算法進行對比仿真。仿真結(jié)果如圖9所示(圖中黑色區(qū)域為UAV傳感器未覆蓋的區(qū)域)。
圖9 3種搜索方法的仿真結(jié)果Fig.9 Simulation results of three search methods
如圖9(a)所示,在2架友機相繼發(fā)生故障的情況下,UAV2和UAV4只完成了各自預(yù)先分配的搜索任務(wù),故障UAV未完成的搜索任務(wù)得不到繼續(xù)執(zhí)行。如圖9(b)所示,隨機搜索方法作為一種無引導(dǎo)機制的在線規(guī)劃方法,在任務(wù)過程中多處存在UAV航跡交叉重疊的情況,搜索效率較低。如圖9(c)所示,在搜索初始階段,各UAV之間保持傳感器探測范圍盡可能不重疊,實現(xiàn)較高的覆蓋率增長。在2架友機相繼故障的情況下,UAV2和UAV4通過實時協(xié)同,保持原有的搜索策略,充分發(fā)揮各自的搜索能力,繼續(xù)完成搜索任務(wù)??偟膩砜?,本文算法各UAV探測區(qū)域之間重疊部分較少,在出現(xiàn)突發(fā)情況時,能夠繼續(xù)完成搜索任務(wù),體現(xiàn)了無人機集群在線協(xié)同的優(yōu)勢。
為消除隨機因素的影響,在相同仿真條件下,針對本文算法和隨機搜索方法使用蒙特卡羅方法進行500次仿真,得到平均覆蓋率隨時間變化曲線如圖10所示。
圖10 3種搜索方法的覆蓋率變化曲線Fig.10 Coverage rate changing curve of three search methods
如圖10所示,平行搜索方法和本文算法覆蓋率高于隨機搜索方法。平行搜索方法的覆蓋率變化曲線呈折線狀:當(dāng)某架UAV發(fā)生故障時,覆蓋率曲線的斜率隨之降低;當(dāng)UAV到達邊界時,執(zhí)行轉(zhuǎn)彎程序,覆蓋率斜率為零。在搜索初期,本文算法與平行搜索方法覆蓋率曲線斜率基本一致,體現(xiàn)了較高的搜索效率。當(dāng)UAV2和UAV4完成各自的搜索任務(wù)后,平行搜索方法的覆蓋率保持不變。相比之下,本文算法在UAV1和UAV3發(fā)生故障后,仍能保持覆蓋率的穩(wěn)定增長,最終任務(wù)結(jié)束時的覆蓋率遠高于平行搜索方法。
針對本文算法在集群規(guī)模較大時的有效性進行驗證,采用10架無人機組成的無人機集群進行仿真。設(shè)任務(wù)區(qū)域為15 km×15 km的矩形區(qū)域,執(zhí)行搜索任務(wù)的10架UAV的初始位置和航向由程序隨機產(chǎn)生,UAV故障隨機指定:設(shè)定UAV2、UAV3、UAV8、UAV9和UAV10分別于仿真步數(shù)為185、120、175、170和165時發(fā)生故障,其他仿真條件同實驗1。用本文算法進行仿真,仿真步數(shù)step為100和230時的仿真結(jié)果如圖11所示。
由圖11(a)可以看出,在搜索初期,10架UAV保持傳感器探測范圍盡可能不重疊,以獲得較高的覆蓋率增長。由圖11(b)可以看出,在搜索后期,由于未搜索區(qū)域被分割成多個不規(guī)則的形狀,UAV航路出現(xiàn)了部分交叉,但本文算法還是能夠引導(dǎo)UAV盡可能向未搜索區(qū)域移動。搜索過程中覆蓋率變化曲線如圖12所示。
如圖12所示,在搜索前期,覆蓋率增長速度較快,覆蓋率隨時間變化曲線的斜率保持穩(wěn)定。到搜索后期,由于出現(xiàn)重復(fù)搜索的情況,覆蓋率增長放緩,斜率逐漸降低。當(dāng)搜索時間到達38.33 min時,覆蓋率達到了90.13%,有效地對區(qū)域進行了覆蓋。仿真結(jié)果表明,在集群規(guī)模達到10 架的情況下,本文算法能夠較好地完成搜索任務(wù)。
圖11 本文算法仿真結(jié)果Fig.11 Simulation result of proposed algorithm
圖12 本文算法覆蓋率變化曲線Fig.12 Coverage rate changing curve of proposed algorithm
1) 本文算法在實驗仿真條件下能實現(xiàn)較高的區(qū)域覆蓋率,尤其是在出現(xiàn)突發(fā)情況時,覆蓋率遠高于平行搜索方法,體現(xiàn)了無人機集群在線協(xié)同的優(yōu)勢。
2) 以覆蓋率作為實時搜索獎勵的引導(dǎo)機制,有利于引導(dǎo)UAV向未搜索區(qū)域運動,并協(xié)同各UAV之間探測區(qū)域重疊部分盡可能少,以實現(xiàn)更高的覆蓋率。
3) 利用Hadamard積可實現(xiàn)覆蓋分布地圖的快速更新,避免了遍歷判斷和逐一賦值,且操作簡單、運算速度快,為地圖信息實時更新提供了便捷。
4) 采用DMPC框架進行滾動優(yōu)化求解,將長期的搜索獎勵考慮在內(nèi),并且可以提高系統(tǒng)的抗毀性和決策速度。
本文算法在通信理想的條件下實現(xiàn)了對任務(wù)區(qū)域的有效覆蓋搜索,但針對通信距離和角度約束的情況,尚需進行更加深入的后續(xù)研究。