一種基于序列小生境粒子群算法的無人機多航跡規(guī)劃方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于序列小生境粒子群算法的無人機多航跡規(guī)劃方法,屬于無人 機多航跡規(guī)劃技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 無人機(Unmanned Aerial Vehicle,UAV)航跡規(guī)劃問題是在滿足飛行性能以及地 形、威脅等約束條件下,為無人機規(guī)劃出一條使飛行航程,到達(dá)時間,燃料消耗等代價相對 較小的飛行航跡,保證其圓滿完成飛行任務(wù)。在實際的航跡規(guī)劃過程中,由于實際環(huán)境的復(fù) 雜性,無人機很難事先獲得全部的威脅和環(huán)境信息,而且這些因素也可能會實時發(fā)生變化, 這可能導(dǎo)致預(yù)先規(guī)劃的單條最優(yōu)航跡在無人機執(zhí)行任務(wù)時無法使用。另一方面,當(dāng)多機協(xié) 同執(zhí)行任務(wù)時,往往需要規(guī)劃多條不同的航跡,從不同的方向到達(dá)目標(biāo)區(qū)域執(zhí)行任務(wù)。要解 決上述問題一種有效的途徑就是使用多航跡規(guī)劃方法,預(yù)先規(guī)劃出多條航跡,然后在執(zhí)行 任務(wù)時根據(jù)不同需要臨時決定適合的航跡或多機協(xié)同航跡。
[0003] 無人機的多航跡規(guī)劃方法一般直接采用多峰值函數(shù)優(yōu)化的方法從而生成多條相 對較優(yōu)的航跡。目前對于此類多峰值函數(shù)的優(yōu)化問題多采用小生境技術(shù)結(jié)合智能進化優(yōu)化 算法進行求解。小生境技術(shù)(niche)的基本思想是將生物學(xué)中的小生境概念應(yīng)用于進化計 算中,它模擬生態(tài)平衡中的一種仿生技術(shù),在大種群中形成若干個相互獨立的小的子種群, 即小生境。在進化過程中所有的個體只在自己所在的小生境內(nèi)部進化,追逐出不同的極值 點從而得到各自的最優(yōu)解。而本發(fā)明中采用序列小生境技術(shù)結(jié)合粒子群優(yōu)化算法,能夠有 效而且相對高效的對無人機多航跡規(guī)劃問題進行求解。
[0004] 粒子群優(yōu)化算法(Particle Swarm Optimization,PS0)是一種模擬鳥類飛行過程 中迀徙和群聚行為的智能優(yōu)化算法。在PS0算法中,每個優(yōu)化問題的備選解假設(shè)為η維搜索 空間中的一個點,稱為"粒子"。粒子的優(yōu)劣程度通過由代價函數(shù)響應(yīng)得到適應(yīng)值來度量,同 時每個粒子都會有一個速度決定它們飛行的方向和距離。粒子根據(jù)記憶追蹤兩個極值在解 空間內(nèi)進行搜索:一個是粒子本身找到的最優(yōu)解pBest,另一個是整個種群找到的最優(yōu)解 gBest。第i粒子的第j維位置和速度的更新公式如下
[0007] 其中,t為粒子群當(dāng)前代數(shù);^和^為[0,1]間的隨機數(shù);(:1是粒子跟蹤自身歷史最 優(yōu)值的權(quán)重系數(shù);(3 2是粒子跟蹤群體最優(yōu)值的權(quán)重系數(shù);ω是慣性權(quán)重系數(shù),慣性權(quán)重系數(shù) 越大代表粒子越傾向于執(zhí)行全局搜索,反之則代表粒子越傾向于局部搜索,故而慣性權(quán)重 隨迭代次數(shù)的增加而減小,其更新公式為
[0008] co(t+1)= ω ⑴ X codecay
[0009] 其中codec;ayS慣性權(quán)重衰減系數(shù)。
[0010] 序列小生境技術(shù)(sequential niche technique,SNT)的主要思想是優(yōu)化算法在 搜索空間找到一個最優(yōu)解后,則認(rèn)為該最優(yōu)解的附近區(qū)域為一個小生境區(qū)域。人為修改小 生境區(qū)域內(nèi)的函數(shù)模型,使其在之后的迭代優(yōu)化中不再吸引粒子,迫使優(yōu)化算法去尋找未 被發(fā)現(xiàn)的局部最優(yōu)解。再依次生成這樣的小生境,直到所需的局部最優(yōu)解依次被找到。
【發(fā)明內(nèi)容】
[0011]本發(fā)明針對標(biāo)準(zhǔn)小生境技術(shù)在進行無人機多航跡規(guī)劃時存在計算量大與時效性 較差的問題,提出了基于序列小生境技術(shù)PS0算法的無人機多航跡問題規(guī)劃方法,并設(shè)計了 針對此類問題的小生境半徑確定方法。
[0012] 本發(fā)明提出的方法首先對所需規(guī)劃的問題進行建模,構(gòu)建航跡代價函數(shù)以及約束 條件;使用PS0算法對模型進行第一次規(guī)劃得到第一組航跡;結(jié)合序列小生境技術(shù)更新當(dāng)前 最優(yōu)航跡附近的代價函數(shù)模型,增大最優(yōu)航跡小生境內(nèi)其它方案的代價值;然后再使用PS0 算法對更新后的模型進行下一次規(guī)劃,獲得次優(yōu)航跡;重復(fù)上述兩個步驟便可將最初構(gòu)建 的代價函數(shù)模型的最優(yōu)航跡及次優(yōu)航跡依次找出,當(dāng)找到足夠數(shù)量的航跡時,算法終止并 輸出滿足任務(wù)要求的多航跡結(jié)果。
[0013] 本發(fā)明的目的是通過下述技術(shù)方案實現(xiàn)的。
[0014] -種基于序列小生境粒子群算法的無人機多航跡規(guī)劃方法,包括步驟如下:
[0015] 步驟1獲取無人機飛行環(huán)境設(shè)定以及無人機飛行性能參數(shù);
[0016] 步驟2構(gòu)建航跡規(guī)劃求解模型,包含以下兩個步驟;
[0017] 步驟2.1確定粒子的編碼方式
[0018] 基于序列小生境PS0算法求解無人機多航跡規(guī)劃問題過程中,種群中的每個粒子 表示一條備選航跡,每條航跡又包括一定數(shù)量的航跡點,故而每一個粒子X表征一組航跡點 坐標(biāo),例如
[0019] X = (Xstart ,ystart,Xl,yi,· · ·,Xn,yn,Xgool,ygool)
[0020]其中(Xstart,ystart)、( Xgool,ygool )為已知的起始點和目標(biāo)點坐標(biāo);n為待規(guī)劃的航跡 點數(shù)。
[0021] 步驟2.2構(gòu)造的代價函數(shù)包括航跡長度、平均飛行高度等;約束條件包括轉(zhuǎn)彎角約 束、爬升角約束、最短航跡段約束、威脅約束與地形約束等。
[0022] 步驟3航跡規(guī)劃問題的環(huán)境初始化設(shè)置,包括規(guī)劃區(qū)域邊界,起始點和目標(biāo)位置, 威脅位置及其大小,以及所需規(guī)劃的航跡數(shù)目K,并令已規(guī)劃航跡數(shù)量i = 0;
[0023] 步驟4PS0算法初始設(shè)置,包括最大迭代次數(shù)與種群規(guī)模等;本發(fā)明設(shè)計了 一種針 對多航跡規(guī)劃問題的小生境半徑計算方法,如下
[0025] 式中,D為設(shè)計變量的維度;P為每條航跡的航點個數(shù);S為規(guī)劃區(qū)域的面積大小。
[0026] 步驟5使用拉丁超方試驗設(shè)計方法生成初始粒子種群;
[0027] 步驟6判斷i是否等于0。若是轉(zhuǎn)步驟7;否則轉(zhuǎn)步驟10
[0028] 步驟7計算每個粒子的代價函數(shù)值,保存pBest和gBest,及其相應(yīng)位置;
[0029]步驟8根據(jù)pBest和gBest更新粒子的速度矢量,并根據(jù)速度矢量更新粒子位置; [0030]步驟9判斷粒子是否收斂,若是,輸出最優(yōu)航跡解X,且令i = i + l,并記錄此解航跡 為s1;否則轉(zhuǎn)步驟7;
[0031]步驟10判斷i是否等于K。若是,算法終止并輸出多航跡結(jié)果;否則按以下步驟修改 解航跡Sl附近小生境半徑區(qū)域r內(nèi)的代價函數(shù)值,并返回步驟7。
[0032]代價函數(shù)的更新公式如下
[0033] Π η+?(χ) = Π n(x) XG(x,Sn)
[0034] 式中,Π n+1(x)為搜索第n+1個航跡時使用的代價函數(shù);Π n(x)為搜索第η個最優(yōu)航 跡時使用的代價函數(shù);G(x,sn)為指數(shù)縮減函數(shù),其表達(dá)式如下
[0036]式中m為縮減系數(shù),應(yīng)取得足夠大,才能保證代價函數(shù)值在小生境范圍內(nèi)顯著改變 而在下一次迭代中不再吸引粒子,根據(jù)經(jīng)驗m建議取值為100。式中距離d(x,sn)表示當(dāng)前航 跡和之前找到的較優(yōu)航跡Sn之間的距離,d( X,Sn)的計算步驟如下 [0037] 步驟10.1對起始點到目標(biāo)點的X坐標(biāo)區(qū)間進行P+1等分;
[0038] 步驟10.2在步驟10.1的等分線上,分別對之前局部最優(yōu)解航跡sn和當(dāng)前航跡X進 行插值計算,得到兩組航跡特征點;
[0039] 步驟10.3根據(jù)上述兩組航跡特征點,計算兩組點間對應(yīng)的歐式距離,并求和得到d (x,Sn)〇
[0040]至此,就實現(xiàn)了基于序列小生境粒子群算法的無人機多航跡規(guī)劃過程。
[0041 ] 有益效果
[0042] 將序列小生境技術(shù)與PS0算法相結(jié)合應(yīng)用于無人機多航跡規(guī)劃,可規(guī)劃出多條可 行較優(yōu)航跡。規(guī)劃出的航跡能夠合理規(guī)避威脅,且滿足飛行性能約束,并具有較短的航程。 由于采用的是序列規(guī)劃的方法,所以能夠有效控制算法的計算時間,避免了標(biāo)準(zhǔn)的小生境 技術(shù)導(dǎo)致的多條航跡重復(fù)進入同一小生境而難以收斂的情況。同時,由于小生境半徑的合 理設(shè)計,規(guī)劃出的多航跡在空間上分布較為離散,可以更好地應(yīng)對由實際環(huán)境變化和未知 性導(dǎo)致的單條航跡不可行問題,并能為多無人機協(xié)同任務(wù)提供預(yù)先航跡。
【附圖說明】
[0043] 圖1為本發(fā)明的基于序列小生境技術(shù)結(jié)合粒子群算法無人機多航跡規(guī)劃方法流程 圖;
[0044] 圖2為【具體實施方式】中Κ = 3時得到多航跡結(jié)果圖;
[0045] 圖3為【具體實施方式】中Κ = 4時得到多航跡結(jié)果圖;
[0046] 圖4為【具體實施方式】中Κ = 5時得到多航跡結(jié)果圖;
[0047] 圖5為【具體實施方式】中Κ = 3時各條航跡代價值收斂的過程;
[0048] 圖6為【具體實施方式】中Κ = 4時各條航跡代價值收斂的過程;
[0049] 圖7為【具體實施方式】中Κ = 5時各條航跡代價值收斂的過程。
【具體實施方式】
[0050] 為了更好的說明本發(fā)明的目的與優(yōu)點,下面通過無人機多航跡規(guī)劃實例,結(jié)合附 圖與表格對本發(fā)明做進一步說明,并通過與標(biāo)準(zhǔn)小生境結(jié)合粒子群算法的多航跡規(guī)