邵士凱,李厚振,趙淵潔
(河北科技大學(xué) 電氣工程學(xué)院, 石家莊 050018)
伴隨著高新技術(shù)的發(fā)展,無人機(jī)在各個(gè)行業(yè)均受到了普遍的重視。尤其在多變的戰(zhàn)場(chǎng)環(huán)境下,多無人機(jī)協(xié)同執(zhí)行任務(wù)是無人機(jī)技術(shù)的發(fā)展趨勢(shì),多無人機(jī)協(xié)同執(zhí)行偵查攻擊任務(wù)是無人機(jī)執(zhí)行復(fù)雜多樣化、智能化任務(wù)的研究熱門[1-3]。
目前,針對(duì)無人機(jī)任務(wù)分配問題,國內(nèi)外很多學(xué)者均進(jìn)行了廣泛的研究。文獻(xiàn)[4-5]提出了一種故障無人機(jī)編隊(duì)容錯(cuò)控制策略,給出了編隊(duì)控制與協(xié)調(diào)的基本定義和分類,針對(duì)故障檢測(cè)的容錯(cuò)協(xié)同控制技術(shù)進(jìn)行了綜述。文獻(xiàn)[6]提出離散粒子群算法進(jìn)行無人機(jī)的任務(wù)分配,通過仿真實(shí)驗(yàn)驗(yàn)證其算法的有效性。文獻(xiàn)[7]根據(jù)無人機(jī)群的在線任務(wù)分配問題,設(shè)計(jì)了粒子二維0-1編碼方法和針對(duì)不規(guī)范粒子的修正方法,實(shí)驗(yàn)驗(yàn)證該方法解決帶實(shí)時(shí)要求的任務(wù)分配問題。根據(jù)當(dāng)前發(fā)展成果,無人機(jī)任務(wù)分配的控制方式包括了集中式、分布式與分層次控制,文獻(xiàn)[8]使用混合整數(shù)線性規(guī)劃(MILP)進(jìn)行了多無人機(jī)的任務(wù)規(guī)劃,該方法提高了障礙物數(shù)量及起點(diǎn)和目標(biāo)點(diǎn)間距離的可擴(kuò)展性。但是其計(jì)算復(fù)雜程度也將會(huì)隨著任務(wù)數(shù)量的增多使運(yùn)算時(shí)間變長(zhǎng),不適合大機(jī)群協(xié)同任務(wù)分配。文獻(xiàn)[9]提出了一種DE-DPSO-GT-SA算法的協(xié)同多任務(wù)分配,并進(jìn)行了多種算法的對(duì)比,仿真實(shí)驗(yàn)證明該方法具有較好的收斂特性。文獻(xiàn)[10-11]考慮實(shí)際環(huán)境下無人機(jī)任務(wù)分配的協(xié)同能力,加入了復(fù)雜的地形約束。文獻(xiàn)[12]提出了一個(gè)由嵌入式硬件和高級(jí)別通信協(xié)議相結(jié)合的系統(tǒng),作為識(shí)別、分發(fā)和分配任務(wù)的基礎(chǔ),進(jìn)而用簡(jiǎn)單分散的方式供多無人機(jī)使用。文獻(xiàn)[13]提出了一種動(dòng)態(tài)離散鴿群的優(yōu)化算法,進(jìn)行處理多無人機(jī)協(xié)同搜索攻擊任務(wù)規(guī)劃,集成了任務(wù)分配和路徑生成方面。
此外,針對(duì)當(dāng)前無人機(jī)航線規(guī)劃的研究方法,國內(nèi)外學(xué)者進(jìn)行了深入的探索研究。運(yùn)用圖論的方法進(jìn)行一些路徑規(guī)劃是當(dāng)前研究的一種思路,具體如A*算法[14]、匈牙利算法[15]、隨機(jī)樹算法[16]、Voronoi圖形算法[17]等。這類方法由于均是基于代價(jià)圖進(jìn)行規(guī)劃的,需要進(jìn)行離線存儲(chǔ)好代價(jià)圖,從而導(dǎo)致該方法較費(fèi)時(shí)。隨著人工智能技術(shù)的發(fā)展,仿生物群體捕食技術(shù)的算法被廣泛應(yīng)用于航線規(guī)劃中,應(yīng)用較廣泛的算法如蜂群算法(bee colony algorithm )[18]、狼群算法(wolf swarm algorithm)[19]、遺傳算法(genetic Algorithm)[20]以及粒子群算法(particle swarm optimization)[21]等。其中粒子群算法因搜索能力強(qiáng)、易仿真操作等優(yōu)勢(shì)被廣泛應(yīng)用,文獻(xiàn)[22]提出了將粒子群算法進(jìn)行航線預(yù)規(guī)劃,并結(jié)合高斯偽譜法進(jìn)行擬合進(jìn)行航線規(guī)劃的方法,該方法有效提高了收斂速度,航線平滑性更好。文獻(xiàn)[23]提出了一種對(duì)變量進(jìn)行控制優(yōu)化的粒子群算法,將無人機(jī)與水下機(jī)器人進(jìn)行協(xié)同路徑規(guī)劃,所得解可以追蹤理論極值。
綜上所述,當(dāng)前無人機(jī)任務(wù)規(guī)劃研究大都只考慮任務(wù)分配或者航跡規(guī)劃方面內(nèi)容,沒有考慮現(xiàn)實(shí)狀況下二者耦合情況; 同時(shí),在無人機(jī)集群協(xié)同作戰(zhàn)過程中,當(dāng)無人機(jī)出現(xiàn)故障后,對(duì)各機(jī)的協(xié)同性和任務(wù)的有效性考慮不夠充分?;诖?本論文主要研究以下內(nèi)容:首先,運(yùn)用匈牙利算法對(duì)故障后無人機(jī)機(jī)群進(jìn)行快速隊(duì)形重構(gòu);其次,介紹和分析了離散粒子群算法的2種改進(jìn),即基于柯西算子、非線性時(shí)變的變異更新策略,并與傳統(tǒng)離散粒子群算法和遺傳算法相比,有效提高收斂速度和最優(yōu)解。最后,改進(jìn)的離散粒子群優(yōu)化算法成功地實(shí)現(xiàn)了地形、雷達(dá)等威脅約束下的任務(wù)規(guī)劃。
假設(shè)無人機(jī)集群在執(zhí)行作戰(zhàn)任務(wù)的過程中,因有無人機(jī)發(fā)生故障而無法繼續(xù)執(zhí)行任務(wù)進(jìn)而退出戰(zhàn)隊(duì)序列,剩余無人機(jī)需調(diào)整狀態(tài),快速變換隊(duì)形,替代故障機(jī)完成原定任務(wù)分配。為滿足發(fā)生故障后,無人機(jī)群整體任務(wù)規(guī)劃最優(yōu),需在合理規(guī)劃的約束下將敵方目標(biāo)按照最小成本代價(jià)分配給各型無人機(jī)。
由于任務(wù)分配是采用離線分配的模式,因此,任務(wù)分配完成后,各無人機(jī)根據(jù)設(shè)定的航跡點(diǎn)進(jìn)行航跡規(guī)劃,最終到達(dá)分配的目標(biāo)處。
多無人機(jī)協(xié)同任務(wù)規(guī)劃是一種在多種約束條件下進(jìn)行優(yōu)化的問題,為便于算法建模求解,設(shè)定任務(wù)時(shí)序、時(shí)間協(xié)同、偵查次數(shù)、飛行高度、彈藥量等約束條件。
1.1.1任務(wù)時(shí)序約束
針對(duì)同一敵方目標(biāo)的打擊任務(wù)必須在偵查任務(wù)完成后才能執(zhí)行。假定對(duì)目標(biāo)i執(zhí)行偵查,打擊任務(wù)的時(shí)刻依次設(shè)為tScout(i)、tAttack(i),二者需滿足:
tScout(i) (1) 其對(duì)應(yīng)的優(yōu)化約束指標(biāo)函數(shù)為: (2) 1.1.2時(shí)間協(xié)同約束 任務(wù)分配過程中,需要各類型無人機(jī)在規(guī)定的有限時(shí)間內(nèi)完成對(duì)目標(biāo)點(diǎn)的偵查和打擊任務(wù),超過該時(shí)間窗,任務(wù)可能會(huì)失敗。假設(shè),對(duì)此目標(biāo)i的偵查或打擊任務(wù)在tbegin(i)時(shí)刻開始執(zhí)行,Δtmin表示其他無人機(jī)開始執(zhí)行相同任務(wù)的最短時(shí)長(zhǎng),Δtmax表示其他無人機(jī)開始執(zhí)行相同任務(wù)的最長(zhǎng)時(shí)長(zhǎng),則對(duì)此目標(biāo)任務(wù)執(zhí)行完畢的時(shí)間窗tfinish(i)約束為: tbegin(i)+Δtmin≤tfinish(i)≤tbegin(i)+Δtmax (3) 其對(duì)應(yīng)的優(yōu)化約束指標(biāo)函數(shù)為: (4) 1.1.3偵查次數(shù)約束 偵查次數(shù)約束是指每架偵查無人機(jī)對(duì)敵方目標(biāo)均需進(jìn)行一次偵查,設(shè)xi, j∈{0,1}為決策變量,當(dāng)分配無人機(jī)i執(zhí)行偵查任務(wù)j時(shí),xi, j的值為1,否則,其值為0。因此,偵查機(jī)群協(xié)同約束可表述為: (5) 其對(duì)應(yīng)的優(yōu)化約束指標(biāo)函數(shù)設(shè)置為: (6) 1.1.4飛行高度約束 在無人機(jī)飛行過程中,需規(guī)避敵方偵測(cè)雷達(dá)信號(hào)以及山區(qū)地形威脅,設(shè)定hi表示第i段航線的航行高度,hmin表示最低飛行高度,hmax表示最高飛行高度,n表示維數(shù),則航行高度可表示為: hmin≤hi≤hmax,i=1,2,…,n (7) 其對(duì)應(yīng)的優(yōu)化約束指標(biāo)函數(shù)為: (8) 1.1.5彈藥量約束 打擊無人機(jī)所攜帶的彈藥是有限的,故設(shè)定打擊機(jī)對(duì)敵方目標(biāo)執(zhí)行攻擊任務(wù)的次數(shù)約束。假設(shè)無人機(jī)執(zhí)行任務(wù)分配時(shí),對(duì)目標(biāo)i執(zhí)行打擊的次數(shù)表示為MAttack(i),目標(biāo)點(diǎn)集合表示為T,則打擊次數(shù)可表示為: (9) 其對(duì)應(yīng)的優(yōu)化約束指標(biāo)函數(shù)為: (10) 1.1.6雷達(dá)威脅約束 多無人機(jī)在執(zhí)行任務(wù)飛行時(shí)需避免被敵方目標(biāo)設(shè)置的雷達(dá)監(jiān)測(cè)到,假設(shè)雷達(dá)探測(cè)范圍表示為半球形,且不會(huì)被周邊地形遮蓋,則多無人機(jī)在執(zhí)行任務(wù)的航線規(guī)劃過程中,其雷達(dá)威脅模型設(shè)置為: Lradar=(xk,yk,zk,rk) (11) 式(11)中:xk、yk、zk表示雷達(dá)所在的中心位置;rk表示其監(jiān)測(cè)半徑。設(shè)定約束形式為: (12) 其優(yōu)化約束的指標(biāo)函數(shù)為: (13) 1.1.7山峰威脅約束 在實(shí)際自然環(huán)境中,多無人機(jī)協(xié)同執(zhí)行任務(wù)分配時(shí),還需要規(guī)避飛行區(qū)域內(nèi)的山峰。因此,編隊(duì)機(jī)群應(yīng)與山體威脅保持一定航距。則山峰威脅約束的建模形式為: (14) 其優(yōu)化約束的指標(biāo)函數(shù)為: (15) 多無人機(jī)協(xié)同任務(wù)規(guī)劃必須滿足以上各約束條件,使得各機(jī)協(xié)同優(yōu)化性能達(dá)到最優(yōu),將無人機(jī)飛行總航程最短、航線有效規(guī)避威脅等納入評(píng)價(jià)協(xié)同任務(wù)規(guī)劃性能的指標(biāo)中。 在實(shí)際作戰(zhàn)空間中,無人機(jī)執(zhí)行任務(wù)的航程越長(zhǎng),其被敵方目標(biāo)反打擊的概率也越大,因此,要求多無人機(jī)執(zhí)行任務(wù)分配的飛行總航程最短。 考慮到無人機(jī)飛行過程中的航線規(guī)劃,假設(shè)S1表示為無人機(jī)從起始點(diǎn)到敵方目標(biāo)點(diǎn)需要付出的航程代價(jià),為保證總體目標(biāo)函數(shù)中權(quán)重占比差距不大,將航程代價(jià)進(jìn)行歸一化,設(shè)置為規(guī)劃的飛行航線總里程與無人機(jī)起點(diǎn)到終點(diǎn)的直線里程的比值。具體表示為: (16) 其中 li=sqrt[(xk+1-xk)2+(yk+1-yk)2+(zk+1-zk)2] (17) 式(16)和式(17)中:η為航線維數(shù);k為某一航跡點(diǎn);x、y為該航線點(diǎn)在水平面上的坐標(biāo);z為航跡點(diǎn)的垂直高度;lstr為無人機(jī)起點(diǎn)到終點(diǎn)的直線里程。航線規(guī)劃的最終結(jié)果是在三維空間內(nèi)搜索出一系列的航線點(diǎn),每個(gè)航線點(diǎn)與相鄰的航線點(diǎn)相連,構(gòu)成飛行航線。 綜上,總體指標(biāo)函數(shù)表示為: S=S1+f1+f2+f3+f4+f5+fR+fM (18) 式(18)中:S為總代價(jià)值;S1為航程代價(jià);f1為時(shí)序約束懲罰值;f2為時(shí)間協(xié)同約束懲罰值;f3為偵查次數(shù)約束懲罰值;f4為飛行高度約束懲罰值;f5為彈藥量約束懲罰值;fR為雷達(dá)威脅懲罰值;fM為山峰威脅懲罰值。 故障下多無人機(jī)編隊(duì)重分配是一種帶有目標(biāo)代價(jià)的指派問題,利用匈牙利算法能夠?qū)⒅概蓡栴}轉(zhuǎn)換到算法的求解過程中,有效化解為數(shù)學(xué)問題進(jìn)行解決。假設(shè)飛行過程中偵查機(jī)、打擊機(jī)各出現(xiàn)一架無人機(jī)故障,剩余無人機(jī)需迅速調(diào)整隊(duì)形,重新進(jìn)行任務(wù)分配。 設(shè)無人機(jī)發(fā)生故障時(shí)位置集合為C={c1,c2,…,cp},重分配后無人機(jī)位置集合為N={n1,n2,…,nq},xij表示無人機(jī)從故障位置Ci到編隊(duì)重分配后位置Nj的航程。航程集合X={xij|i=1,2,…,q}。給定q架偵查無人機(jī)和打擊無人機(jī),從Ci出發(fā)沿一條路徑分配至Nj,即求解q條路徑,使得此q架無人機(jī)的飛行總航程D最短,其表示為: (19) 2.2.1基本離散粒子群算法 根據(jù)基本粒子群算法,在離散空間中設(shè)計(jì)了交叉和變異策略,重新定義了粒子位置和速度的更新規(guī)則,表達(dá)式為: Xi(t+1)=c2?F3(c1?F2(ω?F1(Xi(t),Pi(t)),Pg(t))) (20) 式(20)中:Xi(t)=(xi1,xi2,…,xiz)表示粒子i在第t次迭代中的位置坐標(biāo);Pi(t)=(Pi1,Pi2,…,Piz)表示粒子i在第t次迭代中的個(gè)體極值;Pg(t)=(Pg1,Pg2,…,Pgz)表示全局極值。 2.2.2改進(jìn)離散粒子群算法策略 1) 柯西變異策略。 針對(duì)DPSO易陷入局部最優(yōu)的特點(diǎn),引入柯西算子,能夠有效提升算法的全局搜索能力,增強(qiáng)搜索空間。由于柯西分布函數(shù)在中點(diǎn)的步長(zhǎng)較小,在兩端的步長(zhǎng)較大,從而對(duì)粒子個(gè)體產(chǎn)生較大擾動(dòng),使得粒子能夠及時(shí)調(diào)整位置,避免陷入局部最優(yōu)。同時(shí),柯西分布峰值下降的坡率較緩且峰值較小,從而使得粒子經(jīng)過變異后用于搜索的時(shí)間花費(fèi)較少,進(jìn)而能夠把更多的時(shí)間用于全局尋優(yōu)上,因此提高了改進(jìn)算法的收斂速度。 經(jīng)過離散化的算法采用如下改進(jìn)的柯西變異公式,進(jìn)行更新當(dāng)前個(gè)體的最優(yōu)位置,提高全局尋優(yōu)能力。 (21) 2) 非線性時(shí)變策略。 DPSO借鑒遺傳算法的思想,離散化基本粒子群算法的粒子位置和速度,更新為交叉和變異策略,變異策略使得粒子在迭代后期可以跳出局部最優(yōu),加強(qiáng)全局搜索,從而提升尋優(yōu)能力。然而DPSO的變異策略較為簡(jiǎn)單,隨著迭代的進(jìn)行與時(shí)間的推移,不能及時(shí)地根據(jù)位置的變化做出相應(yīng)的調(diào)整,從而導(dǎo)致尋優(yōu)效果變差,為解決該問題,引入非線性時(shí)變的變異策略,有: (22) 根據(jù)式(22),將變異策略分為3個(gè)階段,其中T表示最大迭代次數(shù),t表示當(dāng)前階段的迭代次數(shù),由于變異策略處于算法的后期階段,此時(shí)解的尋優(yōu)性較差,然而利用非線性時(shí)變變異因子的前2個(gè)階段能夠加強(qiáng)粒子的變異能力,從而及時(shí)擺脫局部搜索,提高解的尋優(yōu)能力,隨著迭代的進(jìn)行,適應(yīng)值趨于最優(yōu),變異因子隨之進(jìn)入第3階段的線性環(huán)節(jié),從而加快算法的收斂速度。 此外,交叉因子ω、c1也會(huì)影響粒子的更新速度與尋優(yōu)能力,為進(jìn)一步提高算法的收斂速度與全局尋優(yōu)能力,對(duì)交叉因子進(jìn)行如下改進(jìn): ω=0.25+0.8×(t/T) (23) c1=0.75-0.8×(t/T) (24) 式(23)~(24)中:t為當(dāng)前迭代次數(shù);T為最大迭代次數(shù);交叉因子ω隨著迭代的進(jìn)行而增加;c1隨迭代次數(shù)的累加而減小。這使得算法在迭代開始階段積極進(jìn)行全局搜索,進(jìn)而提升收斂速度,當(dāng)隨著迭代接近尾聲,個(gè)體學(xué)習(xí)能力的加強(qiáng)使得種群不易陷入局部最優(yōu),同時(shí),ω與c1的累加和為1,保證了粒子的尋優(yōu)能力和收斂速度能力之和保持恒定,從而兼顧了算法收斂速度和尋優(yōu)性的統(tǒng)一。 依據(jù)改進(jìn)離散粒子群算法與匈牙利算法相結(jié)合的方法,進(jìn)行故障下多無人機(jī)編隊(duì)重分配任務(wù)規(guī)劃,多約束下的任務(wù)規(guī)劃流程步驟如下。 步驟1:設(shè)定基本參數(shù)。給定無人機(jī)、目標(biāo)點(diǎn)位置,設(shè)定環(huán)境障礙參數(shù),包括雷達(dá)威脅的個(gè)數(shù)及監(jiān)測(cè)中心坐標(biāo)與半徑,山峰威脅的個(gè)數(shù)及相關(guān)參數(shù)。 步驟2:初始化種群數(shù)量,設(shè)置粒子個(gè)體極值和全局極值的初值,以及最大迭代次數(shù)。 步驟3:開始進(jìn)行迭代尋優(yōu),編譯適應(yīng)值函數(shù)并輸入多約束條件,給定相應(yīng)懲罰值,計(jì)算每次的代價(jià)值,并畫出代價(jià)值函數(shù)曲線。 步驟4:根據(jù)每次迭代的代價(jià)值,判斷粒子當(dāng)前迭代值與個(gè)體極值的大小情況,如若連續(xù)10次迭代值相等,執(zhí)行柯西變異策略,幫助跳出局部最優(yōu);如若不然,則不執(zhí)行此策略,直接進(jìn)入下一步驟。 步驟5:執(zhí)行改進(jìn)離散粒子群算法的交叉策略,并依據(jù)改進(jìn)算法依次執(zhí)行式(25)的的非線性時(shí)變的變異策略,并將當(dāng)前迭代次數(shù)與最大迭代次數(shù)進(jìn)行比較,直至執(zhí)行完設(shè)定的最大迭代次數(shù)。 步驟6:依據(jù)任務(wù)分配得到的最終代價(jià)值、分配結(jié)果進(jìn)行航線規(guī)劃。 具體仿真流程設(shè)計(jì)如圖1所示。 圖1 故障下多無人機(jī)協(xié)同任務(wù)規(guī)劃流程Fig.1 Flow chart of multi UAV cooperative mission planning under fault 根據(jù)流程設(shè)計(jì),在計(jì)算機(jī)硬件配置為Intel 5,1.19 GHz,運(yùn)用軟件Matlab 2020b進(jìn)行仿真。設(shè)定迭代次數(shù)T=200,種群數(shù)N=400,飛行高度hmax=33、hmin=15;航跡維度η=20;打擊機(jī)速度設(shè)定為3v0km/min、偵查機(jī)速度設(shè)定為4v0km/min,其中v0=10 km/min;時(shí)間協(xié)同過程的最短執(zhí)行時(shí)間Δtmin=1 min、最長(zhǎng)執(zhí)行時(shí)間Δtmax=2 min。 設(shè)定三維地形環(huán)境為250 km×250 km×70 km的任務(wù)區(qū)域,包括5個(gè)雷達(dá)監(jiān)測(cè)區(qū)域和2個(gè)山峰威脅區(qū)域,雷達(dá)區(qū)域在仿真環(huán)境中以半球進(jìn)行繪制,山峰則用高低起伏不同的曲面進(jìn)行繪制。其參數(shù)設(shè)置如表1所示。 表1 威脅參數(shù)Table 1 Threat parameters 將無人機(jī)擬化為質(zhì)點(diǎn),并忽略相關(guān)的動(dòng)力學(xué)模型。假設(shè)15架無人機(jī)中有2架無人機(jī)因發(fā)生故障退出編隊(duì)協(xié)同,則對(duì)剩余13架無人機(jī)執(zhí)行編隊(duì)重分配任務(wù),分配為打擊隊(duì)形和偵查隊(duì)形。故障下多無人機(jī)編隊(duì)重分配參數(shù)如表2所示。 表2 故障下多無人機(jī)編隊(duì)重分配參數(shù)Table 2 Multiple UAV formation fault allocation 根據(jù)匈牙利算法多無人機(jī)重編隊(duì)的總分配航程最短的指標(biāo),得到剩余的多無人機(jī)重編隊(duì)的前后位置信息(見表2)。故障下多無人機(jī)編隊(duì)重分配結(jié)果如圖2所示,五角形表示故障前15架無人機(jī)的隊(duì)形排列,其中藍(lán)色五角形為故障無人機(jī),六角形表示故障后2個(gè)打擊隊(duì)形排列,四角形表示故障后的1個(gè)偵查隊(duì)形排列。 圖2 故障下多無人機(jī)編隊(duì)重分配結(jié)果Fig.2 Reassignment results of multiple UAV formation under fault 基于改進(jìn)離散粒子群算法的多無人機(jī)任務(wù)分配以8架打擊型無人機(jī)和5架偵查型無人機(jī)執(zhí)行對(duì)5個(gè)敵方目標(biāo)的偵查、打擊任務(wù)為背景進(jìn)行仿真實(shí)驗(yàn),無人機(jī)的起點(diǎn)為故障下多無人機(jī)編隊(duì)重分配后的13架無人機(jī)坐標(biāo)位置,5個(gè)敵方目標(biāo)點(diǎn)位置的具體信息如表3所示。 表3 目標(biāo)點(diǎn)區(qū)域范圍參數(shù)Table 3 Parameters of target point area 為驗(yàn)證改進(jìn)離散粒子群算法(IDPSO)的有效性,分別將改進(jìn)算法與基本離散粒子群算法(DPSO)和遺傳算法(GA)進(jìn)行了對(duì)比仿真,并同時(shí)進(jìn)行了30次、50次、100次蒙特卡羅仿真,求其平均值后得到如圖3所示的算法對(duì)比圖。 圖3 改進(jìn)算法對(duì)比結(jié)果Fig.3 Comparison results of improved algorithms 根據(jù)圖3改進(jìn)算法對(duì)比結(jié)果可以看出,經(jīng)過30次、50次、100次蒙特卡羅仿真求平均值的多次仿真對(duì)比,改進(jìn)離散粒子群算法(IDPSO)在歷次迭代尋優(yōu)性能上均優(yōu)于基本離散粒子群算法(DPSO)和遺傳算法(GA),尋優(yōu)有效性較好。 為進(jìn)一步驗(yàn)證改進(jìn)算法在無人機(jī)任務(wù)規(guī)劃中具有應(yīng)用有效性,分別對(duì)改進(jìn)離散粒子群算法(IDPSO)、基本離散粒子群算法(DPSO)、遺傳算法(GA)進(jìn)行三維空間中的建模仿真,如圖4—圖6所示。 圖4 IDPSO打擊任務(wù)分配結(jié)果Fig.4 IDPSO attack task allocation results 由于篇幅問題,僅針對(duì)故障后無人機(jī)的打擊任務(wù)分配場(chǎng)景進(jìn)行詳細(xì)分析。無人機(jī)的航線規(guī)劃均采用10個(gè)航跡點(diǎn),通過圖4—圖6的三維仿真航跡可以看出,基于改進(jìn)離散粒子群算法(IDPSO)的任務(wù)規(guī)劃結(jié)果可以成功躲避威脅障礙,平滑性優(yōu)于DPSO和GA,說明IDPSO任務(wù)分配的尋優(yōu)有效性能夠保證粒子群航線規(guī)劃的成功;其次,在考慮其他相同約束的條件下,算法優(yōu)化的目標(biāo)主要集中在總航程最短,由仿真圖4(c)與圖5(c)對(duì)比可以看出,與傳統(tǒng)離散粒子群算法相比,IDPSO所求結(jié)果中,各無人機(jī)選擇距離本機(jī)位置更近的目標(biāo)點(diǎn)進(jìn)行打擊,說明了IDPSO具有更佳的求解特性;由圖4和圖6的對(duì)比得知,改進(jìn)離散粒子群算法(IDPSO)的任務(wù)分配結(jié)果滿足打擊機(jī)的彈藥量約束,而遺傳算法(GA)的分配未對(duì)2、5號(hào)目標(biāo)點(diǎn)進(jìn)行打擊,導(dǎo)致任務(wù)分配的失敗,由此規(guī)劃出的航線也未能避開設(shè)置的障礙威脅。這些仿真結(jié)果驗(yàn)證了改進(jìn)算法在求解復(fù)雜優(yōu)化問題時(shí)能夠得到優(yōu)于其他算法的解。 圖5 DPSO打擊任務(wù)分配結(jié)果Fig.5 DPSO attack task allocation results 圖6 GA打擊任務(wù)分配結(jié)果Fig.6 GA attack task allocation results 針對(duì)故障后多無人機(jī)任務(wù)重分配問題,基于改進(jìn)離散粒子群算法(IDPSO)對(duì)偵查、打擊全場(chǎng)景的分配結(jié)果進(jìn)行仿真實(shí)驗(yàn),圖7中紅實(shí)線表示偵查機(jī)任務(wù)規(guī)劃,藍(lán)實(shí)線為打擊機(jī)任務(wù)規(guī)劃。根據(jù)圖7信息可知,各無人機(jī)均在一定高度上飛行且有效避障,滿足飛行高度約束條件;由圖8(a)偵查分配結(jié)果得知,偵查機(jī)對(duì)每個(gè)目標(biāo)均進(jìn)行了一次偵查任務(wù),即滿足偵查次數(shù)約束條件。根據(jù)圖9(a)打擊分配結(jié)果可以看出,打擊機(jī)對(duì)不同標(biāo)號(hào)的目標(biāo)進(jìn)行了不同架次的打擊任務(wù),滿足彈藥量約束條件。此外,由圖8(b)和圖9(b)的協(xié)同飛行時(shí)間比較可知,偵查機(jī)群在12~19 min內(nèi)可以完成偵查任務(wù);打擊機(jī)群隨后在22~38 min內(nèi)完成打擊任務(wù),滿足先偵查再打擊的時(shí)序約束條件;且各偵查機(jī)和各打擊機(jī)在執(zhí)行任務(wù)時(shí),均具有1~2 min共同的時(shí)間窗,即滿足時(shí)間協(xié)同約束。 圖7 故障后多無人機(jī)任務(wù)重分配結(jié)果Fig.7 Task reassignment results of multiple UAVs under fault 圖8 故障后偵查機(jī)群任務(wù)重分配結(jié)果Fig.8 Task reassignment results of scout UAVs under fault 圖9 故障后打擊機(jī)群任務(wù)重分配結(jié)果Fig.9 Task reassignment results of attack UAVs under fault 綜上可知,采用13架無人機(jī)進(jìn)行仿真具有較好的一般性,能夠?qū)崿F(xiàn)偵查過程的一對(duì)一場(chǎng)景和打擊過程的多對(duì)一場(chǎng)景,仿真結(jié)果也說明了本文所提算法的有效性。 針對(duì)故障下多無人機(jī)執(zhí)行多目標(biāo)任務(wù)規(guī)劃的問題,本文提出了利用匈牙利算法與改進(jìn)離散粒子群算法進(jìn)行結(jié)合的求解方法。首先利用匈牙利算法進(jìn)行故障下無人機(jī)群編隊(duì)重規(guī)劃,然后基于柯西變異策略、非線性時(shí)變策略改進(jìn)的離散粒子群算法,將剩余無人機(jī)進(jìn)行任務(wù)重分配,為了得到公正且信服的評(píng)估,將各無人機(jī)在多種約束條件下進(jìn)行了多組蒙特卡羅模擬仿真,并與傳統(tǒng)離散粒子群算法和遺傳算法進(jìn)行了充分比較,說明了本文所提出的改進(jìn)DPSO的有效性。主要研究結(jié)果總結(jié)如下: 1) 改進(jìn)DPSO可以比傳統(tǒng)DPSO和GA獲得更好的最優(yōu)解。 2) 改進(jìn)DPSO的收斂速度比DPSO和GA更快。 3) 改進(jìn)DPSO可以優(yōu)化得到更佳的分配方案,從而降低任務(wù)規(guī)劃成本,具有一定現(xiàn)實(shí)意義。 本研究?jī)H考慮了故障無人機(jī)無法繼續(xù)執(zhí)行任務(wù)的場(chǎng)景,下一步將在輕度故障可繼續(xù)執(zhí)行相應(yīng)任務(wù)的策略方法上進(jìn)行探索跟進(jìn)。1.2 評(píng)價(jià)指標(biāo)
2 求解策略
2.1 匈牙利算法
2.2 改進(jìn)離散粒子群算法
2.3 流程設(shè)計(jì)
3 仿真與分析
3.1 仿真參數(shù)設(shè)定
3.2 仿真結(jié)果分析
4 結(jié)論