高慶吉 談 政 管若喬
(中國民航大學機器人研究所 天津 300300)
民航飛機進行繞機檢查是保證飛機安全的必要作業(yè)[1]??蜋C的常規(guī)檢查依飛行狀態(tài),可以分為航前、過站和航后三種。航前繞機檢查是為了保證飛機的整體狀態(tài),確保飛行安全;航后則需要對飛機外燈、蒙皮、天線、起落架、機輪、發(fā)動機等20余個部位的異常及磨損狀況進行判斷。目前每次航前航后都需要機務人員以及飛行機組人員進行目視繞檢,而且對于飛機頂部等某些人眼觀測不到的區(qū)域難以檢查。無人機通過近距航拍,能夠在較短的時間內完成高分辨率的圖像采集,實時自動識別異常點狀態(tài)并定位。這些信息可實時傳送給接收平臺深度處理,工作人員也可在平臺上觀察機身的實際狀況。無人機繞檢可大幅度提升航前航后檢查效率和效果。因此采用無人機繞檢代替人工作業(yè)成為關注熱點[2]。而多無人機協(xié)同繞檢將更有利于提高效率。在多無人機繞機檢查時,將面臨兩個問題,一是無人機協(xié)同完成任務時航跡的規(guī)劃,二是無人機最優(yōu)數(shù)量的確定。
多無人機路徑規(guī)劃的效果決定了多無人機執(zhí)行任務的成功率和效率[3]。而在路徑規(guī)劃算法的設計時,算法的優(yōu)劣決定了規(guī)劃路徑的質量[4]。目前無人機航跡規(guī)劃中主要包括A*算法[5]、D*算法[6]、遺傳算法[7]、蟻群算法[8]和粒子群算法[9]等。A*算法是一種較為普遍的啟發(fā)式搜索算法,在路徑規(guī)劃方面使用廣泛,但由于計算時存儲量大,非常耗時,不適用于過于復雜環(huán)境的路徑規(guī)劃;D*算法同樣普遍用于路徑規(guī)劃領域,但不適用于遠距離的最短路徑上發(fā)生變化時的計算;遺傳算法是一種類生物算法,但算法存在適應值標定方法多樣、早熟收斂、最優(yōu)解附近擺動等方面的問題,導致在迭代后期收斂速度慢,甚至無法收斂于最優(yōu)值;蟻群算法模擬螞蟻覓食行為,采用概率式搜尋最優(yōu)解,不易陷入局部最優(yōu),但算法一般需要較長的搜索時間,且法容易出現(xiàn)停滯現(xiàn)象,不利于發(fā)現(xiàn)更好的解;粒子群算法在三維路徑規(guī)劃領域應用廣泛,由于算法操作簡單且易于實現(xiàn),其個體充分利用自身經(jīng)驗和群體經(jīng)驗調整自身的狀態(tài),對于求解一些連續(xù)函數(shù)的優(yōu)化問題優(yōu)勢明顯。
粒子群算法在求解三維空間路徑規(guī)劃問題應用廣泛,但現(xiàn)有粒子群算法在迭代過程中容易出現(xiàn)種群早熟的情況,導致局部極值,且算法過于簡單,規(guī)劃出的路徑并非最優(yōu)。為避免上述情況,國內外學者提出了諸多方法進行算法優(yōu)化,如文獻[10]和文獻[11]在速度更新公式的基礎上分別添加了有界隨機擾動和臨近粒子信息,引入變異機制,防止粒子過早收斂,但是粒子的多樣性一定程度上影響了算法的收斂速度,且研究不能在滿足多種約束的情況下很好地解決多無人機飛行時導致的時空協(xié)同問題;文獻[12]先將最小威脅曲面的概念引入了論文,隨后通過對粒子群位置進行編碼的方式將多約束條件以及智能搜索算法相結合。這雖然縮小了搜索空間,但該算法考慮的目標過于單一、對航跡規(guī)劃的約束分析尚不全面,對算法的整體尋優(yōu)效率仍然沒有提升。
綜上所述,本文研究了一種應用于多無人機航跡規(guī)劃的改進粒子群算法,將基本粒子群算法有機地與差分進化算法進行了結合,并對航跡空間建模,建立航跡規(guī)劃代價函數(shù),在航跡規(guī)劃空間設計多個航點并進行任務分配,以實現(xiàn)多無人機航跡規(guī)劃和機隊規(guī)模優(yōu)化。
無人機繞檢時多機協(xié)作及機隊規(guī)模優(yōu)化,將在一個障礙物已知(被繞檢飛機)的環(huán)境空間中,尋找一條到達目標點且滿足各約束條件的最優(yōu)路徑,同時機隊規(guī)模最優(yōu)。
將問題轉化為在已知環(huán)境的全局地圖中搜尋無碰撞點序列所構成的路徑。一般在路徑規(guī)劃的數(shù)學模型建立時,分為兩部分進行,結合文獻[10]中的方法,首先,確定路徑規(guī)劃的起始位置和目標位置,如圖1所示。
圖1 繞檢目標模型
其次,對繞檢作業(yè)空間離散化,如圖2所示,建立坐標系O-XYZ,其中,以點S為坐標原點、SG為Z軸正方向。
圖2 作業(yè)空間離散化
將SG進行d+1等分,再過每個等分點作平行于OXZ面的d個平面L1,L2,…,Ld。
為方便計算,將AB進行2m等分,AD進行n等分,從而將平面Li(i=1,2,…,d)分割成2m×n個柵格,作為離散化的作業(yè)空間。待規(guī)劃空間內任一離散點的序號坐標為P(i,j,k)(其中i=-m,…,0,1,2,…,m,j=0,1,2,…,d,k=0,1,2,…,n)。
航跡規(guī)劃是為了設計出無人機安全可靠的航跡。在多無人機航跡規(guī)劃中,需要設置航跡節(jié)點。一般民航客機繞機檢查關鍵點包括機頭、前起落架、左側前部機身等,將這些關鍵點作為目標節(jié)點,結合繞檢目標連接作業(yè)空間中的離散點,構成繞檢路徑。在工作空間O-XYZ坐標系中,無人機從O點出發(fā),首先到達平面L1上的某一點P1(i1,j1,k1),形成航跡r(OP1),然后從P1(i1,j1,k1)出發(fā)到平面L2上的某點P2(i2,j2,k2),形成航跡r(P1P2),依次最后到達平面Ld上G(Pd),則無人機從起點S(P0)飛往終點G(Pd),由多條航跡構成一條從源點S(P0)到目標點G(Pd)的路徑,表達式如下:
(1)
將式(1)擴展到N架無人機,無人機k的起點和終點通過路徑rk(P1kP2k)連接,形成無人機k飛行中經(jīng)過的航跡。則多無人機總航跡可表示為:
(2)
粒子適應度函數(shù)是生成路徑質量的唯一依據(jù),因此,為了更好地對路徑質量進行判斷,考慮到無人機在對民航飛機繞檢時的實際問題,提出以下約束條件。
分析無人機生成路徑約束條件,考慮到航跡距離、障礙物因素和路徑平滑度三個約束條件。
1) 航跡距離約束:平面Lj上的任意一點P(ia,ja,ka),以及平面Lj+1上點P(ib,jb,kb)相連,如果線段P(ia,ja,ka)P(ib,jb,kb)不與任何障礙相交,則是一條可行航跡。計算相鄰兩平面點P(ia,ja,ka)和點P(ib,jb,kb)的連線距離,則有路徑長度評價函數(shù):
(3)
式中:DSG表示生成航跡在三維空間中歐氏距離;h表示ABCD-EFHM的長度。
(4)
(5)
3) 路徑平滑度約束:避免規(guī)劃出的路徑多為折線。路徑平滑度計算方法為:對一條路徑中所有連接三個相鄰節(jié)點的兩條線段之間的偏轉角β求和來近似評估路徑的平滑度。路徑平滑度評價函數(shù)如下:
(6)
(7)
1) 機隊規(guī)模約束。為保證每臺無人機的合理分配,避免資源冗余,優(yōu)化最佳機隊規(guī)模,同時也不超過無人機數(shù)量的最大值,即:
N (8) 2) 總任務時間約束。為能夠高效地完成繞檢任務,需要對總任務完成時間進行約束。設Ts表示繞檢任務開始時間,Te表示完成任務時間,即最后一架無人機完成任務到達終點的時刻,則Te-Ts必須滿足: Te-Ts (9) 3) 航跡節(jié)點約束。無人機在繞檢作業(yè)過程中,作業(yè)空間是一個已知的范圍,為提高多無人機協(xié)同繞檢時工作效率,避免繞檢節(jié)點冗余的情況,當兩個航跡節(jié)點過近時,刪除其中一個航跡節(jié)點,對航跡節(jié)點約束如下: (10) 航跡代價函數(shù)的確定是根據(jù)航跡距離、障礙物危險程度、無人機飛行最大時間等因素評價的,同時也考慮了機隊規(guī)模的約束,最終確定飛行航跡及無人機數(shù)量。 綜上所述,可構造無人機k航跡節(jié)點分配后的代價函數(shù)為: (11) 為解決多無人機航跡規(guī)劃,可以分為航跡節(jié)點分配和全局航跡規(guī)劃兩個部分[13-15],航跡節(jié)點分配就是根據(jù)任務要求設定各無人機的航跡,離線規(guī)劃出多條飛行航跡;在此基礎上,研究了一種改進粒子群算法,將差分進化引入粒子群算法中,對算法過早收斂的粒子進行差分進化操作,改善收斂狀態(tài),同時加入自適應調整慣性權重策略進行改進。算法流程如圖3所示。 圖3 算法流程 航機節(jié)點代表無人機在完成繞檢任務時要遍歷的關鍵點。設定初始點Ps與終止點Pe。其中應有P-2個航跡節(jié)點,由此計算P-2+N維的數(shù)列的解,可表示為: Pi=(Pi1,Pi2,…,Pi(B-2),Pi(B-1),…,Pi(B-3+N)) (12) 式中:Pi1,…,Pi(B-2)代表航跡節(jié)點的編號,Pi(B-1),…,Pi(B-3+N)為分割無人機航跡的點。當計算出一個解時,將N-1個點Pi(B-1),…,Pi(B-3+N)插入Pi1,…,Pi(B-2)中,劃分出N個航跡。進而通過點Pi(B-1),…,Pi(B-3+N)插入的位置的改變,使無人機遍歷不同的航跡節(jié)點,簡化了多無人機航跡規(guī)劃的難度,過程如圖4所示。 圖4 航跡節(jié)點分配示意圖 (13) 式中:ω為慣性權重因子;r1和r2服從均勻分布U(0,1);c1和c2是加速系數(shù)。由于粒子群算法存在粒子陷入局部最優(yōu)的問題,引入方差來觀察種群的多樣性。適應度方差σ2代表粒子在迭代時的離散程度,可以表示為: (14) (15) 為解決粒子陷入局部極值問題,保證種群的多樣性,采用差分進化,在保留種群全局搜索的同時,對種群個體變異操作,即: ui=xr1(t)+F[xr2(t)-xr3(t)] (16) 式中:t為當前迭代次數(shù);xr1、xr2、xr3為種群中的個體;F為比例因子。 新一代種群Ni由Ui和Ti組成。 (17) 式中:j=1,2,…D,D表示空間維數(shù);Pc∈[0,1],為交叉概率;Ui為隨機變量;Ti是目標矢量。選擇操作時采用貪婪策略,即: (18) 式中:fit為適應度函數(shù),使用新的粒子繼續(xù)迭代,增加了種群的多樣性,避免了陷入局部極值。 為提高基本粒子群算法的收斂性能以及避免陷入局部極值,Shi等[16]1998年提出了慣性權重這一概念。在初始迭代時,權重因子較大可以加快算法的尋優(yōu)速度,而進入迭代后期時,權重因子減小可以增加局部尋優(yōu)能力。動態(tài)調整慣性權重因子的大小,提高全局搜索與局部尋優(yōu)的協(xié)調性,采用自適應調節(jié)策略,即: (19) 式中:tmax為最大迭代次數(shù);λ為控制因子。在迭代初期,t值較小,慣性權重ω較大,進入迭代后期,t值增大,慣性權重ω減小,所以提高全局搜索與局部尋優(yōu)的協(xié)調性。 本文在Windows 10環(huán)境下采用MATLAB 2014a與Solidworks 2018聯(lián)合仿真,驗證上述算法的有效性。實驗對象空客A380是四發(fā)超大型遠程寬體客機,投產(chǎn)時也是全球載客量最大的客機,有“空中巨無霸”之稱[17],由于A380外形龐大,繞檢航跡線路長,環(huán)境復雜,相比于目前使用廣泛的機型空客A320以及其他機型繞檢點數(shù)量大,計算復雜程度高,具備繞檢目標代表性,所以采用空客A380客機為繞檢目標,建立繞檢客機模型,進行實驗仿真實驗。根據(jù)A380出港前關鍵部位繞機檢查規(guī)范,繞檢時按照圖5所示的路線逐項進行檢查,嚴格按照所持工卡的要求執(zhí)行。繞機檢查路線為:機頭→前起落架→左側前部機身→左大翼內側→左發(fā)動機→左大翼外側→左主起落架→左側后部機身→APU→左水平安定面→垂直尾翼→右水平安定面→右側后部機身(含后貨艙)→右主起落架→右大翼外側→右發(fā)動機→右大翼內側→右側前部機身(含前貨艙)→機上檢查[18]。 圖5 A380繞機航線檢查標準路徑 首先對單無人機航跡規(guī)劃仿真實驗,目標點P為20,采用Solidworks中Simmechanicslink插件與MATLAB仿真接口,獲取節(jié)點坐標,如圖6和圖7所示。 圖6 A380 Solidworks外觀結構建模 圖7 A380 MATLAB數(shù)學模型呈現(xiàn) 航跡空間內航跡節(jié)點信息如表1所示。 表1 目標節(jié)點分布情況 目標節(jié)點1設置為出發(fā)節(jié)點,目標節(jié)點22設置為終止節(jié)點,目標節(jié)點的信息代表在空間內的三維坐標,障礙物模型為A380客機。 單無人機航跡規(guī)劃時,考慮到無人機安全和續(xù)航問題,設定最大飛行距離為200 m,最大飛行速度為0.5 m/s,設置起點坐標PS=(0,0,0),終點坐標PG=(0,76,0)及各節(jié)點坐標代入式(12),規(guī)劃航跡結合單無人機繞檢航跡約束分析函數(shù)式(11),計算航跡代價,并與遺傳算法及基本粒子群算法進行仿真對比,如圖8所示。 圖8 改進DEPSO算法與標準PSO算法對比 可以看出,遺傳算法在迭代中期,收斂速度快于粒子群算法,但隨著迭代次數(shù)增加,收斂速度減慢,最終收斂于2 159,效果欠佳。標準粒子群算法在迭代至500次,達到最大迭代次數(shù)限制時,仍未收斂,而DEPSO算法在第190次迭代時接近收斂,最終在第283次迭代后收斂于1 325。加入自適應慣性權重調整的DEPSO算法在迭代至46次時收斂于1 226,由此得出,加入自適應慣性權重調整的改進粒子群算法在收斂性能上更好,生成的航跡代價指標更優(yōu)。 在上述繞檢作業(yè)空間內進行單架無人機航跡規(guī)劃,結合約束條件,得到的航跡最終如圖9所示。 圖9 單架無人機航跡規(guī)劃圖 基于單架無人機航跡仿真實驗驗證,現(xiàn)設定無人機架數(shù)并分別進行實驗,結果如表2所示。 表2 不同數(shù)量無人機航跡規(guī)劃對比 可以看出,隨著無人機數(shù)量增加,總航跡長度遞增,而平均航跡長度呈現(xiàn)遞減狀態(tài)。由于繞檢作業(yè)空間中無人機需要避開客機機身,平均航跡代價逐漸趨于穩(wěn)定且略大于起始節(jié)點和終止節(jié)點直接飛行的航跡代價。無人機數(shù)量由2架增加至3架時,平均航跡長度和平均航跡代價明顯下降,而無人機數(shù)量為3、4、5架時,平均航跡代價沒有明顯下降,且基本趨于穩(wěn)定。綜上所述,基于A380客機繞檢目標模型下,3架無人機為該繞檢作業(yè)空間中的最優(yōu)機隊規(guī)模。 針對多架無人機繞檢的數(shù)量優(yōu)化問題,通過設定繞檢關鍵點作為目標節(jié)點,插入分割點的方法來簡化尋優(yōu)過程。引入差分進化操作更新粒子群,并采用自適應方法調整粒子的慣性權重,改進粒子群算法,最終實現(xiàn)多無人機航跡規(guī)劃并確定最合適的無人機架數(shù)。對比于傳統(tǒng)粒子群算法,提高粒子群算法的尋優(yōu)效率,能更有效地解決多無人機航跡規(guī)劃問題,優(yōu)化機隊規(guī)模。下一步研究工作將放在復雜環(huán)境下多機協(xié)同作業(yè)時的規(guī)劃問題及機隊規(guī)模優(yōu)化,DEPSO算法必將在其應用中發(fā)揮獨特價值。2.3 航跡規(guī)劃代價函數(shù)
3 基于DEPSO算法的航跡規(guī)劃
3.1 航跡節(jié)點規(guī)劃方法
3.2 粒子群算法
3.3 差分進化操作
3.4 自適應慣性權重調整
4 仿真實驗與分析
5 結 語