李春嬌 馬 光 楊文凱
北華航天工業(yè)學(xué)院 河北 廊坊 065000
低空安全是全社會(huì)、全球都關(guān)注的重點(diǎn)領(lǐng)域,是最大的民生[1]。隨著經(jīng)濟(jì)的發(fā)展、科技的進(jìn)步,無(wú)人機(jī)技術(shù)日益成熟,無(wú)人飛行器越來(lái)越在生產(chǎn)生活中越來(lái)越普及,隨之也給人們的生活帶來(lái)了各種問(wèn)題。近年來(lái),黑飛無(wú)人機(jī)多次干擾民航運(yùn)行,導(dǎo)致大量航班備降或取消,黑飛無(wú)人機(jī)已成為威脅城市安全的重大安全隱患[2]。為此研究城市低空安全走廊劃定技術(shù),對(duì)于提高人們對(duì)低空空域資源的利用率,減少黑飛事件發(fā)生率,保證城市低空安全具有重大意義。
本文針對(duì)復(fù)雜城市環(huán)境的低空空域,提出基于改進(jìn)蟻群算法的無(wú)人機(jī)飛行路徑規(guī)劃方案。模擬現(xiàn)代城市復(fù)雜而密集的建筑群環(huán)境,根據(jù)提出的路徑規(guī)劃方案可有效的為無(wú)人機(jī)規(guī)劃出合理的飛行路徑,并根據(jù)現(xiàn)實(shí)情況模擬“黑飛”事件,測(cè)試驗(yàn)證了改進(jìn)的蟻群算法可以有效的應(yīng)對(duì)突發(fā)狀況,實(shí)現(xiàn)無(wú)人機(jī)規(guī)避危險(xiǎn)區(qū)域的能力。
2.1 城市密集建筑群環(huán)境建立 為保證無(wú)人機(jī)安全的穿梭于各類建筑之間,需要提出新的無(wú)人機(jī)航路規(guī)劃方案。如圖1,本文根據(jù)城市密集建筑群模擬了無(wú)人機(jī)低空飛行的環(huán)境。其中圖中灰色部分表示城市的建筑,白色部分為無(wú)人機(jī)可飛行的區(qū)域,航路規(guī)劃的任務(wù)就是尋找出從起點(diǎn)S到目的地D的安全飛行路線。
本文根據(jù)突發(fā)(包括“黑飛”)事件帶來(lái)的臨時(shí)威脅區(qū)域(t1<th<t2),即臨時(shí)威脅區(qū)域在t1時(shí)刻出現(xiàn),t2時(shí)刻解除,這樣無(wú)人機(jī)在規(guī)劃航路時(shí),要在突發(fā)事件出現(xiàn)前后都進(jìn)行改變。
圖1 城市密集建筑群環(huán)境
2.2 無(wú)人機(jī)航路規(guī)劃方案 大多數(shù)無(wú)人機(jī)除起飛和降落之外,是以一個(gè)相對(duì)固定的飛行高度向前飛行的,假設(shè)在復(fù)雜城市環(huán)境中安全飛行高度為H m,因此本文主要考慮的是在飛行高度為H m 下的二維城市建筑群環(huán)境,航路規(guī)劃也是在此基礎(chǔ)上建立的。根據(jù)“線段公理”可知,假如無(wú)人機(jī)從起點(diǎn)S直線飛行到D 的距離最短,而城市環(huán)境中受建筑物的遮擋完全直線飛行無(wú)法實(shí)現(xiàn)的,但如果無(wú)人機(jī)在遇到障礙后以較小的轉(zhuǎn)向角度躲避障礙物,可得到最短的飛行距離,這里假設(shè)無(wú)人機(jī)利用的激光測(cè)距所消耗的時(shí)間非常短不影響其飛行和轉(zhuǎn)向,因此本文忽略其測(cè)距時(shí)間。
這里以飛行航程最短為最優(yōu)目標(biāo)函數(shù),即在滿足安全飛行要求的前提下,飛行的總路徑應(yīng)盡可能的小。假設(shè)L 為飛行的總航程,li為每時(shí)隙飛行的總航程,飛行航路總航程為:
城市環(huán)境中的建筑物作為飛行中的永久性威脅,無(wú)人機(jī)在飛行中會(huì)利用激光測(cè)距傳感器測(cè)量其自身到障礙物的距離,記為Dt,當(dāng)Dt≤Dmin(Dmin為安全距離)時(shí),表示無(wú)人機(jī)遇到障礙物,需要調(diào)整飛行路徑,如圖2所示,是無(wú)人機(jī)在飛行中遇到威脅時(shí),其測(cè)距傳感器會(huì)自動(dòng)旋轉(zhuǎn)θi=nθ (n ∈ {1 ,2,…,N}) 角度(圖中以向右旋轉(zhuǎn)為例,實(shí)際中也可向左旋轉(zhuǎn)),尋找躲避危險(xiǎn)區(qū)域的安全路徑,如圖2(a)所示,無(wú)人機(jī)第一次檢測(cè)到前方有障礙物后,開(kāi)始根據(jù)飛行角度左旋或右旋自己的測(cè)距傳感器,每次旋轉(zhuǎn)角度為θi=nθ (n ≥0) ,算法根據(jù)傳感器測(cè)得的安全距離更新無(wú)人機(jī)飛行角度,從而規(guī)避危險(xiǎn)區(qū)域。
2.3 改進(jìn)的蟻群算法步驟V 本文在傳統(tǒng)的蟻群算法中加入了路徑選擇部分,根據(jù)無(wú)人機(jī)路徑規(guī)劃需求,在城市環(huán)境中利用距離檢測(cè)模塊測(cè)得無(wú)人機(jī)據(jù)障礙物的距離,實(shí)時(shí)調(diào)整無(wú)人機(jī)的飛行路徑,根據(jù)計(jì)算的概率調(diào)整飛行角度旋轉(zhuǎn)方向。算法的步驟如下:
步驟1:初始化:loop←0(loop為迭代次數(shù)):初始化各個(gè)外激素的強(qiáng)度,將K 只螞蟻置于起始點(diǎn)S處。
步驟2:告知各只螞蟻終點(diǎn)D 點(diǎn)的位置,并計(jì)算起始點(diǎn)到目標(biāo)點(diǎn)連線與經(jīng)線上的夾角θ0,對(duì)每只螞蟻k (k =1,2,3,…,m) ,按照初始角度θ0爬行,各個(gè)時(shí)隙爬行速度相同,即每時(shí)隙爬行距離相同,為li。
步驟3:告知螞蟻當(dāng)前位置據(jù)障礙物之間的距離Dt(Dt為無(wú)人機(jī)在飛行中利用激光測(cè)距傳感器測(cè)得其自身到障礙物的距離),若Dt≤Dmin(Dmin為安全距離),根據(jù)轉(zhuǎn)向概率函數(shù)(左)和(右)調(diào)節(jié)其爬行方向,否則下一時(shí)隙繼續(xù)保持原爬行角度爬行。
步驟4:判斷螞蟻k是否到達(dá)終點(diǎn)D,若到達(dá),則記錄螞蟻k的路徑長(zhǎng)度Lk(k =1,2,…,K),記錄當(dāng)前的最好解。若未到達(dá),則繼續(xù)步驟3。
圖2 無(wú)人機(jī)避障方案
步驟5:按照信息素計(jì)算方程(4)和(5)調(diào)整爬行路徑強(qiáng)度。
步驟6:將各路徑Δεij←0,loop ←loop+1。
步驟7:若loop小于預(yù)定迭代次數(shù)且求取路徑保持不變,則轉(zhuǎn)至步驟8。
步驟8:輸出當(dāng)前最優(yōu)路徑。
圖1顯示了場(chǎng)地為大小1.6 k m×1.6 k m 城市環(huán)境,圖中的白色區(qū)域?yàn)闊o(wú)人機(jī)安全飛行空間,灰色部分為城市建筑,無(wú)人機(jī)飛行任務(wù)為從起始點(diǎn)S飛行到終點(diǎn)D,假設(shè)無(wú)人機(jī)飛行速度保持10 m/s,且轉(zhuǎn)向時(shí)間忽略不計(jì)。利用無(wú)人機(jī)自身裝備的測(cè)距模塊實(shí)時(shí)獲取無(wú)人機(jī)到障礙物的距離,并根據(jù)轉(zhuǎn)向概率函數(shù)選擇轉(zhuǎn)向方向,規(guī)避障礙物,經(jīng)過(guò)多次迭代的方式求出一條最短的飛行路徑。
圖3 最短路徑規(guī)劃圖
圖4 突發(fā)事件調(diào)整飛行路徑圖
圖3為該算法規(guī)劃出的低空環(huán)境下的最短飛行航路,圖4為在t1<th<t2,根據(jù)實(shí)際突發(fā)(包括“黑飛”)事件模擬的臨時(shí)威脅區(qū)域,當(dāng)臨時(shí)威脅區(qū)域在t1時(shí)刻出現(xiàn)時(shí),無(wú)人機(jī)在正常飛行規(guī)劃航路上重新規(guī)劃航路,規(guī)避危險(xiǎn)區(qū)域,再多次循環(huán)迭代后重新規(guī)劃出一條新的航路,新的飛行路徑要避開(kāi)危險(xiǎn)區(qū)域因此其飛行時(shí)間和飛行路徑長(zhǎng)度都大于原始路徑。
本文提出了一種基于改進(jìn)的蟻群算法無(wú)人機(jī)航路規(guī)劃方法,能夠保證飛行器以最短路徑飛行完成從起點(diǎn)到終點(diǎn)的任務(wù)。在模擬黑飛事件時(shí),無(wú)人機(jī)可以有效地規(guī)避突發(fā)事件,在突發(fā)事件解決后又能夠調(diào)回原航路,實(shí)現(xiàn)了避障功能。