曹家敏,付琦瑋,周丘實,秦筱楲,蔡 超
(1.華中科技大學(xué) 人工智能與自動化學(xué)院 多譜信息處理技術(shù)國家級重點實驗室,武漢 430074;2.北京機電工程研究所,北京 100074)
航跡規(guī)劃可分成交互規(guī)劃和自動規(guī)劃,其中交互規(guī)劃是由規(guī)劃人員對航跡導(dǎo)航點的屬性進行調(diào)整實現(xiàn)對航跡的規(guī)劃修改。當(dāng)前的航跡規(guī)劃軟件在這兩方面均存在不足,自動規(guī)劃過程中規(guī)劃算法難以兼顧復(fù)雜約束以及交互規(guī)劃過程中缺乏專家經(jīng)驗知識導(dǎo)致規(guī)劃效率低。傳統(tǒng)的自動規(guī)劃算法主要基于預(yù)先確定的代價函數(shù),利用優(yōu)化算法不斷迭代,得到的飛行航跡大多難以滿足現(xiàn)代戰(zhàn)爭中不斷變化的任務(wù)要求和約束條件[1],如稀疏A*搜索算法[2]采用二維的C空間表示規(guī)劃環(huán)境,不能滿足最小爬升/俯沖角、最低飛行高度等約束條件。同時,飛行器執(zhí)行任務(wù)的種類、難度及相應(yīng)的制導(dǎo)、導(dǎo)航等約束條件數(shù)量和耦合程度不斷增加[3],導(dǎo)致規(guī)劃人員在交互規(guī)劃中對不滿足約束的航跡進行調(diào)整時,通常會消耗大量時間,使得航跡規(guī)劃時間過長。規(guī)劃人員的經(jīng)驗不足以及航跡規(guī)劃專家的規(guī)劃經(jīng)驗知識沒有得到及時共享及重用,也增加了規(guī)劃人員無效的調(diào)整次數(shù)。
為能在較短時間內(nèi)規(guī)劃出符合規(guī)劃人員意圖的路徑,可將人工智能和航跡規(guī)劃相結(jié)合。20世紀80年代中后期,美國波音航空航天公司開發(fā)了基于人工智能的航跡規(guī)劃軟件[4]。文獻[5]基于人工智能的基本理論,提出一種適用于航跡規(guī)劃的生長式推理模型。文獻[6]采用基于云模型的模糊方法進行人機協(xié)同的航跡規(guī)劃,實現(xiàn)了規(guī)劃過程中對禁飛區(qū)或威脅區(qū)繞行方向的決策。此外,還有學(xué)者將強化學(xué)習(xí)[7-8]、人工神經(jīng)網(wǎng)絡(luò)[9-10]、模糊控制法[11-12]等用于求解航跡規(guī)劃問題。本文對航跡規(guī)劃系統(tǒng)的智能化進行研究,結(jié)合人工智能中機器學(xué)習(xí)的相關(guān)理論和技術(shù),設(shè)計基于知識積累和知識學(xué)習(xí)的航跡規(guī)劃策略學(xué)習(xí)方法。該方法能夠記錄航跡規(guī)劃過程中有助于解決約束沖突的規(guī)劃操作,學(xué)習(xí)其中的規(guī)劃經(jīng)驗與知識,將其總結(jié)為約束問題的對應(yīng)策略,并通過這些規(guī)劃策略輔助規(guī)劃人員進行航跡規(guī)劃,以降低規(guī)劃難度及加快規(guī)劃速度。在策略學(xué)習(xí)中,對于飛行器環(huán)境約束,主要提取樣本中的環(huán)境信息,建立XGBoost預(yù)測模型,將分類和預(yù)測結(jié)果進行操作映射形成策略;對于飛行器特性相關(guān)約束,主要計算樣本中航跡數(shù)據(jù)的導(dǎo)航點屬性變化,運用K-prototypes算法進行聚類,對聚類中心進行操作映射形成策略。將分類和預(yù)測的結(jié)果與約束對應(yīng)保存于下次約束不滿足的情況中,提取策略并反饋給規(guī)劃軟件進行策略引導(dǎo)。
航跡規(guī)劃策略學(xué)習(xí)的主要步驟為:多方面搜集能夠體現(xiàn)規(guī)劃操作經(jīng)驗的數(shù)據(jù),當(dāng)約束檢查結(jié)果發(fā)生變化時,收集數(shù)據(jù)并按照約束信息、航跡數(shù)據(jù)和環(huán)境信息這3個方面提取學(xué)習(xí)樣本并存入樣本庫;對復(fù)雜約束進行分類,將樣本按照不同約束進行識別區(qū)分;逐類別進行策略學(xué)習(xí)。航跡規(guī)劃策略的學(xué)習(xí)流程如圖1所示。在策略學(xué)習(xí)中,對于飛行器環(huán)境約束,主要提取樣本中的環(huán)境信息,建立XGBoost預(yù)測模型,將分類和預(yù)測結(jié)果進行操作映射形成策略;對于飛行器特性相關(guān)約束,主要計算樣本中航跡數(shù)據(jù)的導(dǎo)航點屬性變化,運用K-prototypes算法進行聚類,對聚類中心進行操作映射形成策略。將分類和預(yù)測結(jié)果與約束對應(yīng)保存于下次約束不滿足的情況中,提取策略并反饋給規(guī)劃軟件進行策略引導(dǎo)。
圖1 航跡規(guī)劃策略的學(xué)習(xí)流程
樣本的采集過程依托于航跡規(guī)劃軟件和航跡約束檢查模塊,主要操作步驟為:1)對當(dāng)前狀態(tài)的航跡進行約束檢查;2)對不滿足約束條件的航跡進行手動規(guī)劃;3)對操作后的新航跡再次進行約束檢查;4)對比兩次檢查結(jié)果,如果檢查結(jié)果發(fā)生變化,則保存樣本并存入樣本庫。樣本采集流程如圖2所示。
圖2 樣本采集流程
在航跡規(guī)劃過程中,規(guī)劃人員的操作行為與環(huán)境因素、約束條件、任務(wù)需求有關(guān),為便于后續(xù)的規(guī)劃策略學(xué)習(xí),本文將操作行為與約束條件相關(guān)聯(lián)。同時,為更完善地記錄操作行為所帶來的影響,對操作前后的航跡數(shù)據(jù)也進行保存。航跡導(dǎo)航點的操作還與規(guī)劃環(huán)境有關(guān),在記錄操作行為時,同時記錄了操作行為所對應(yīng)的環(huán)境信息。樣本的結(jié)構(gòu)包括操作前后的航跡數(shù)據(jù)、約束信息以及被操作點的周圍環(huán)境信息,結(jié)構(gòu)如圖3所示。
圖3 樣本結(jié)構(gòu)
樣本結(jié)構(gòu)具體如下:
1)航跡數(shù)據(jù)。記錄航跡上每個導(dǎo)航點的屬性,包括經(jīng)度、緯度、航程、轉(zhuǎn)彎半徑等。
2)約束信息。記錄約束檢查結(jié)果,包括約束類型、與約束條件相關(guān)的導(dǎo)航點類型。
3)飛行環(huán)境信息。航跡與環(huán)境信息密切相關(guān),規(guī)劃人員在判別如何規(guī)避危險時,最直觀且重要的衡量指標(biāo)是當(dāng)前航跡穿過的危險區(qū)域到周邊禁飛區(qū)或威脅區(qū)的空間距離和方向,所以設(shè)計如圖4所示長度均為R的掃描線檢測當(dāng)前穿過區(qū)域的周圍環(huán)境,并將檢測到不同方位上的距離最近的禁飛區(qū)或威脅區(qū)的距離值dis和角度值dec進行保存。樣本的環(huán)境特征屬性構(gòu)造如下:
(1)保存航跡穿過區(qū)域的自身屬性信息{a,b,ang},其中,a為區(qū)域長軸,b為區(qū)域短軸,ang為長軸與正北方向的夾角。
(2)掃描區(qū)域劃分。掃描區(qū)域以正北方向為基準(zhǔn)、45°為間隔,按順時針方向劃分為8個區(qū)域塊(Env0,Env1,…,Env7)。
(3)周圍環(huán)境信息標(biāo)準(zhǔn)化。量化環(huán)境信息中的角度值dec,并將環(huán)境數(shù)據(jù)向量{dis,dec}填入相對應(yīng)的區(qū)域塊中,若在區(qū)域塊內(nèi)沒有檢測到危險,則該區(qū)域塊的所有屬性值為0。
(4)計算穿過危險區(qū)域中航跡段的夾角,記為航向偏向角Trackang。
(5)記錄規(guī)劃人員的操作行為,表示為{Opt_dec,Opt_dis},如圖5所示,Opt_dec為操作方向,并以45°為間隔量化成8個方向值,Opt_dis為操作距離。
圖4 距離掃描線
圖5 操作行為示意圖
按照上文描述,將飛行環(huán)境信息格式設(shè)計為如圖6所示的形式。
圖6 飛行環(huán)境信息格式
由樣本采集過程可知,在航跡規(guī)劃過程中采集到的樣本數(shù)據(jù)是能夠解決約束問題的有效規(guī)劃操作。在策略學(xué)習(xí)前需要針對約束對樣本進行分類管理,使后續(xù)學(xué)習(xí)能夠?qū)W⒂谔崛颖局械囊?guī)律信息。
影響飛行器航跡的因素分為:1)來源于飛行器自身,包括飛行器自身的性能和導(dǎo)航約束;2)來源于飛行環(huán)境,本文主要考慮威脅區(qū)和禁飛區(qū)的回避問題;3)與飛行任務(wù)有關(guān)的因素。飛行環(huán)境和飛行任務(wù)影響著航跡的走向和趨勢,本文把這兩類約束相關(guān)的樣本歸并為飛行器環(huán)境約束樣本,獲取規(guī)劃操作的有效特征需要分析航跡與環(huán)境的相對關(guān)系。滿足飛行器特性相關(guān)約束的規(guī)劃操作需要針對不同的具體約束,由規(guī)劃人員依據(jù)自身的經(jīng)驗改變導(dǎo)航點的位置或其他屬性。樣本分類管理示意圖如圖7所示。
圖7 樣本分類管理示意圖
本文設(shè)計的飛行環(huán)境信息包含航跡穿過威脅區(qū)或禁飛區(qū)的屬性信息、被操作導(dǎo)航點的周圍環(huán)境信息、穿過威脅區(qū)或禁飛區(qū)的航跡偏向角以及規(guī)劃操作數(shù)據(jù),可有效反映出航跡與環(huán)境的相對關(guān)系以及規(guī)劃操作特征。因此,將飛行環(huán)境信息作為飛行器環(huán)境約束策略學(xué)習(xí)的輸入數(shù)據(jù)。
當(dāng)航跡不滿足飛行器環(huán)境約束時,規(guī)劃人員主要通過調(diào)整導(dǎo)航點的位置來規(guī)避威脅區(qū)或禁飛區(qū)。輸入數(shù)據(jù)中構(gòu)造了規(guī)劃操作數(shù)據(jù)向量{Opt_dec,Opt_dis},將規(guī)劃人員的操作行為映射為導(dǎo)航點空間位置的變化。Opt_dec表示為操作方向,即被操作導(dǎo)航點的移動方向。規(guī)劃人員對導(dǎo)航點的移動方向要求并不嚴格,只需給出移動的方位信息,即可正確地進行規(guī)劃引導(dǎo),對操作方向進行量化處理,將該類問題看成多分類問題。Opt_dis表示操作距離,即被操作導(dǎo)航點的移動距離,受威脅區(qū)或禁飛區(qū)自身的屬性數(shù)據(jù)影響較大。當(dāng)危險區(qū)域的覆蓋范圍變化時,若操作距離不及時更新或表達不夠精確,則可能會導(dǎo)致移動后的導(dǎo)航點仍在威脅區(qū)域內(nèi),使規(guī)劃策略無效。為保證操作距離的預(yù)測精度,將其保留為連續(xù)型變量,將該類問題看成回歸分析問題。在分類算法中,集成學(xué)習(xí)方法中的XGBoost算法[13]是一種基于樹的能夠自動處理稀疏數(shù)據(jù)的提升學(xué)習(xí)算法,基本分類器是CART,既可以處理回歸分析問題,又可以處理分類問題。
XGBoost算法在目標(biāo)函數(shù)中加入了樹模型的葉子節(jié)點個數(shù)和深度等正則項,有效防止模型過擬合,并且控制模型的復(fù)雜度。同時,XGBoost算法對GBDT算法[14]進行擴展和改進,在優(yōu)化目標(biāo)函數(shù)時引入二階導(dǎo)數(shù),提高算法的準(zhǔn)確度,因其預(yù)測的高效性和準(zhǔn)確性被應(yīng)用于指紋定位[15]、雷達輻射源分類[16]、能源供應(yīng)安全預(yù)測[17]等方面。
(1)
模型的目標(biāo)函數(shù)定義為:
(2)
?
(3)
(4)
為方便計算,采用泰勒二階展開來近似定義目標(biāo)函數(shù),并在正則化中考慮樹的深度和葉子節(jié)點的權(quán)重。最終目標(biāo)函數(shù)可表示為:
(5)
同時,航跡規(guī)劃軟件中的環(huán)境信息復(fù)雜多變,禁飛區(qū)或威脅區(qū)的個數(shù)存在不確定性,導(dǎo)致樣本數(shù)據(jù)中會有大量的零值,使得樣本數(shù)據(jù)稀疏。XGBoost算法能對稀疏數(shù)據(jù)進行自動識別,主要思想為:如果某個樣本在特征k上的值缺失,考慮將其分別劃分到右子節(jié)點和左子節(jié)點,而且選擇最優(yōu)分裂點時只利用那些非缺失值,按照不同的選擇方向分別計算缺失數(shù)據(jù)的樣本屬于右子樹和左子樹的增益,選擇增益最大的方向為缺失數(shù)據(jù)的默認分裂方向。因此,含有缺失值的樣本根據(jù)訓(xùn)練數(shù)據(jù)自動學(xué)習(xí)得到分裂方向。
規(guī)劃人員的操作行為存在隨機性,在生成樣本時會造成樣本的不均衡。集成學(xué)習(xí)中個體分類器與過采樣、欠采樣、選擇性采樣等數(shù)據(jù)預(yù)處理方法結(jié)合,可有效處理類別不平衡數(shù)據(jù)的分類問題[18-19]。綜合以上描述,XGBoost算法快速有效,能較好地處理樣本數(shù)據(jù)稀疏且不平衡的情況,適用于飛行器環(huán)境約束的策略學(xué)習(xí),學(xué)習(xí)流程如圖8所示。
圖8 基于XGBoost算法的策略學(xué)習(xí)流程
飛行器特性相關(guān)約束包括飛行器自身的性能和導(dǎo)航約束。在解決此類約束時,規(guī)劃人員依據(jù)自身經(jīng)驗改變導(dǎo)航點的位置或其他屬性。由于導(dǎo)航點類型與導(dǎo)航點屬性的多樣性,規(guī)劃人員可以進行的規(guī)劃操作存在很多的可能性,因此無法有效地構(gòu)造分類標(biāo)簽,并且對于每一種約束,可能有多種航跡調(diào)整方法使得航跡能夠滿足約束條件,它們之間所涉及的屬性可能相差較大,也給定義樣本類別增加了難度。值得注意的是,對于同一約束,不同規(guī)劃人員的規(guī)劃操作存在一定的規(guī)律性,如果能夠收集大量的有效規(guī)劃操作數(shù)據(jù),則有可能利用這些數(shù)據(jù)生成規(guī)劃策略。聚類分析能夠在沒有領(lǐng)域?qū)<业膮⑴c下,從樣本數(shù)據(jù)中發(fā)現(xiàn)隱含、有價值的知識,適用于飛行器特性相關(guān)約束的策略學(xué)習(xí)。
同時,規(guī)劃人員的操作行為與航跡上導(dǎo)航點的屬性變化相對應(yīng),比如對航跡進行高度調(diào)整對應(yīng)航跡上導(dǎo)航點的高度值發(fā)生變化。因此,輸入數(shù)據(jù)可表示為樣本中規(guī)劃操作后的航跡數(shù)據(jù)與操作前的航跡數(shù)據(jù)的差值,數(shù)據(jù)格式如圖9所示。在輸入數(shù)據(jù)中,設(shè)備狀態(tài)控制點中設(shè)備狀態(tài)值的變化為分類型屬性,其余導(dǎo)航點屬性的變化為數(shù)值型屬性。
圖9 飛行器特性相關(guān)約束策略學(xué)習(xí)的輸入數(shù)據(jù)格式
在聚類分析中,K-prototypes算法[20-21]借鑒K-means算法和K-modes算法[22-23]的思想,分別計算兩種類型數(shù)據(jù)的相異度,數(shù)值型屬性采用歐式平方距離進行計算,分類型屬性采用漢明距離進行計算,最后對其加權(quán)求和作為整體數(shù)據(jù)的相異度衡量標(biāo)準(zhǔn)。在K-prototypes算法中,令X={X1,X2,…,Xn}表示具有n個樣本的數(shù)據(jù)集,其中,Xi1=(Xi1,Xi2,…,Xip,Xi(p+1),Xi(p+2),…,Xim)表示第i個樣本包含的m個屬性值,前p個屬性為數(shù)值屬性數(shù)據(jù),p+1到m為分類屬性數(shù)據(jù)。令k表示初始聚類個數(shù),對應(yīng)模的集合為V={V1,V2,…,Vk},聚類迭代過程中類的集合為C={C1,C2,…,Ck},Ci={Ci1,Ci2,…,Cik}。
數(shù)值屬性數(shù)據(jù)的距離度量[21]是基于歐氏距離定義樣本Xi與模Vl之間的距離,其計算公式為:
(6)
分類屬性數(shù)據(jù)的距離度量[21]的計算公式為:
(7)
其中,(p+1)≤j≤m。相異度計算公式[21]為:
(8)
其中,d(Xi,V)表示樣本Xi到其所屬集合模的距離。
綜合以上描述,K-prototypes算法可解釋性強,計算簡單,且對混合屬性樣本數(shù)據(jù)可進行有效處理,學(xué)習(xí)流程如圖10所示。
圖10 基于K-prototypes算法的策略學(xué)習(xí)流程
一階謂詞邏輯是傳統(tǒng)數(shù)理邏輯中的概念,是應(yīng)用于人工智能領(lǐng)域的一種重要知識表示方法,其知識表示規(guī)范,邏輯性強,推理過程嚴密[24-25]。一階謂詞邏輯通過使用謂詞、連詞和量詞來表述各種描述性語句,適合表示事物的狀態(tài)、屬性、概念等事實性的知識,并可有效、合理地轉(zhuǎn)移和存儲到計算機中進行處理[26]。對于飛行器特性相關(guān)約束,在K-prototypes算法學(xué)習(xí)結(jié)束后得到聚類中心為離散數(shù)據(jù)向量,需要將數(shù)據(jù)向量表示模式轉(zhuǎn)換為自然語言表示模式,便于規(guī)劃人員理解使用,因此,本文采用一階謂詞邏輯將規(guī)劃策略從數(shù)據(jù)向量轉(zhuǎn)換為自然語言表達模式。
在航跡規(guī)劃過程中的規(guī)劃引導(dǎo)信息采用約束-策略的形式。首先,提取約束信息,可轉(zhuǎn)換成“不滿足XX約束,需修改XX導(dǎo)航點”;然后,提取聚類中心數(shù)值向量,將數(shù)值型屬性值代入轉(zhuǎn)換語句,翻譯為“導(dǎo)航點數(shù)值型屬性有/無變化,屬性XX的調(diào)整趨勢:XX”,分類型屬性代入轉(zhuǎn)換語句,翻譯為“導(dǎo)航點分類型屬性有/無變化,屬性XX的調(diào)整趨勢:XX”。將規(guī)劃引導(dǎo)信息用一階謂詞邏輯的形式語言表示,使規(guī)劃策略在自然語言表達下邏輯保持一致,具體設(shè)計如下:
1)定義描述策略的謂詞,如表1所示。
表1 規(guī)劃策略的謂詞表示
在表1中,con∈{AttriYS,RelaYS}表示飛行器特性相關(guān)約束包括導(dǎo)航點屬性約束和導(dǎo)航點關(guān)系約束,導(dǎo)航點屬性約束定義為導(dǎo)航點的屬性值要滿足某一條件的約束,如轉(zhuǎn)彎半徑必須在某數(shù)值范圍內(nèi)等,導(dǎo)航點關(guān)系約束定義為導(dǎo)航點之間依賴或制約的關(guān)系約束,如轉(zhuǎn)彎過程與高度變化過程不可重疊,設(shè)備A在使用過程中,必須有設(shè)備B處于特定狀態(tài)。state∈{Yes,No}表示“是”或“否”兩種狀態(tài);tType∈{Turn,Height,PicFit,EquiState}表示導(dǎo)航點包括轉(zhuǎn)彎控制點、高度變化點、景象匹配點和設(shè)備狀態(tài)控制點;CAttri∈{EquiA,EquiB,…},CAttri表示設(shè)備A狀態(tài)、設(shè)備B狀態(tài)等導(dǎo)航點分類型屬性;NAttri∈{Dis,R,…}表示距離目標(biāo)點的距離、轉(zhuǎn)彎半徑等導(dǎo)航點數(shù)值型屬性;adjust∈{increase,reduce}表示調(diào)整趨勢包括增大和減小。
2)使用謂詞、連詞和量詞來表示一條策略:
CONSTRAINT(con,state)∧CHANGETYPE(tType)∧NUMERICAL_STATE(NAttri,state)∧NUMERICAL_ATTRIBUTE(NAttri,adjust)∧CATEGARY_STATE(CAttri,state)∧CATEGARY_ATTRIBUTE(CAttri,adjust)
航跡規(guī)劃要保證所規(guī)劃航路的可飛性和安全性,規(guī)避禁飛區(qū)和威脅區(qū)是首要任務(wù),因此飛行器環(huán)境約束的優(yōu)先級高于飛行器特性相關(guān)約束,在約束不滿足的情況下會優(yōu)先解決飛行器環(huán)境約束問題。
對于飛行器環(huán)境約束不滿足的情況,將數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的樣本數(shù)據(jù)格式,然后直接用訓(xùn)練好的XGBoost分類器進行策略{Opt_dec,Opt_dis}的預(yù)測,并將結(jié)果以提示框的形式反饋給規(guī)劃人員。
對于飛行器特性相關(guān)約束不滿足的情況,在檢查結(jié)果中可能存在多個約束不通過及一個約束多個策略,因此,需要計算出約束之間的優(yōu)先級和規(guī)劃策略之間的優(yōu)先級。具體步驟如下:
1)統(tǒng)計一次航跡檢查結(jié)果中各約束不通過的次數(shù),并進行降序排序,取前N1個約束,其權(quán)重分別為{N1,N1-1,…,1},剩余約束權(quán)重均為0。
2)根據(jù)各約束對應(yīng)策略組中策略對應(yīng)樣本數(shù)量計算策略權(quán)重,統(tǒng)計各個聚類簇中樣本的數(shù)量并進行降序排序,取前N2個策略,其權(quán)重分別為{N2,N2-1,…,1},剩余策略權(quán)重均為0。
3)獲得每個約束的約束權(quán)重和以及對應(yīng)策略權(quán)重后,挑選權(quán)重高的約束和對應(yīng)策略作為當(dāng)前反饋策略,轉(zhuǎn)化成自然語言,并以提示框的形式反饋給規(guī)劃人員。
對于飛行器環(huán)境約束,讓不同的規(guī)劃人員在不同的環(huán)境下進行規(guī)劃,收集1 500條樣本數(shù)據(jù),樣本中的飛行環(huán)境信息作為輸入數(shù)據(jù),并進行數(shù)據(jù)歸一化處理。其中,訓(xùn)練集樣本數(shù)為1 200,測試集樣本數(shù)為300。
在輸入數(shù)據(jù)中存在操作方向和操作距離兩個標(biāo)簽,操作方向是離散型變量,采用XGBoost模塊中的XGBClassifier()分類函數(shù)進行學(xué)習(xí)。操作方向的預(yù)測為多分類問題,模型參數(shù)Objective為multi:softprob,softprob可返回每個數(shù)據(jù)屬于各個類別的概率。操作距離是連續(xù)型數(shù)值變量,采用XGBoost模塊中的XGBRegressor()回歸函數(shù)進行學(xué)習(xí)。在對比實驗中,本文采用AdaBoost和隨機森林兩種分類算法進行比較,并使用過采樣的方法處理不平衡樣本數(shù)據(jù)。通過交叉驗證分別優(yōu)化3種分類算法的參數(shù)后,利用測試集樣本對建模結(jié)果進行預(yù)測,3種算法的分類結(jié)果如表2所示。
表2 分類結(jié)果比較
整體上看,XGBoost的預(yù)測結(jié)果較其他兩種算法略高,且運行速度更快,具有更好的分類性能,并且對樣本數(shù)據(jù)進行過采樣處理后,提升了算法準(zhǔn)確率。操作距離的預(yù)測結(jié)果如圖11所示。
圖11 操作距離預(yù)測結(jié)果
將訓(xùn)練好的XGBoost模型運用于航跡規(guī)劃軟件,并且給出策略反饋結(jié)果。表3為規(guī)劃策略有效性測試結(jié)果,使3個規(guī)劃人員在不同環(huán)境下按照模型給出的規(guī)劃策略對100條不滿足飛行器環(huán)境約束的航跡進行調(diào)整,驗證模型的有效性,有效性判斷為調(diào)整后的航跡是否滿足約束條件。
表3 有效性測試結(jié)果
圖12為策略反饋提示圖。圖12(a)中航跡穿過了禁飛區(qū),在穿過區(qū)域的正西方向和西南方向有禁飛區(qū)和威脅區(qū),航跡偏向為東南方向,模型預(yù)測的操作方向為向上,操作距離為214 m,按照規(guī)劃軟件中地圖的分辨率轉(zhuǎn)換為68個像素點,與規(guī)劃人員操作相符。圖12(b)中航跡穿過了威脅區(qū),在穿過區(qū)域的東側(cè)有禁飛區(qū)和威脅區(qū),航跡偏向為東北方向,模型預(yù)測結(jié)果為操作方向向下,操作距離為164 m,按照規(guī)劃軟件中地圖的分辨率轉(zhuǎn)換為50個像素點,符合規(guī)劃人員的操作行為,驗證了模型的可行性和有效性。
圖12 飛行器環(huán)境約束的規(guī)劃策略反饋提示界面
在實驗中,規(guī)劃人員可操作的導(dǎo)航點類型和屬性如表4所示。為驗證K-prototypes算法的有效性,從飛行器特性相關(guān)約束中選擇一個約束條件,根據(jù)航跡規(guī)劃人員的經(jīng)驗分析得出其對應(yīng)的規(guī)劃方法,如表5所示。
表4 導(dǎo)航點類型和相關(guān)屬性
表5 約束對應(yīng)的規(guī)劃經(jīng)驗
在樣本采集的過程中,針對不滿足約束1的情況,讓不同的規(guī)劃人員分別用相對應(yīng)的規(guī)劃經(jīng)驗進行多次規(guī)劃,共收集了410條樣本,將樣本中操作前后的兩條航跡數(shù)據(jù)做差值,并對處理后的數(shù)據(jù)進行歸一化處理。輸入數(shù)據(jù)如表6所示,其中,設(shè)備狀態(tài)變化為分類屬性數(shù)據(jù)(設(shè)備開機狀態(tài)為1,關(guān)機狀態(tài)為0),其他導(dǎo)航點屬性的變化為數(shù)值屬性數(shù)據(jù)。
表6 K-prototypes算法的輸入數(shù)據(jù)
K-prototypes算法是劃分式聚類算法,因此在進行聚類之前要先確定聚類簇的個數(shù),本文采用肘部法則來確定最佳的聚類數(shù)目,通過計算獲得該約束的最佳聚類個數(shù)為3,與實際類別數(shù)一致。聚類結(jié)果的評估采用文獻[23]中的輪廓系數(shù)法,其輪廓系數(shù)為0.86。表7為K-prototypes算法的聚類中心數(shù)據(jù)向量,在類別2中,導(dǎo)航點類型為2,經(jīng)度、緯度和航程都發(fā)生了變化,即可表示為高度變化點的空間位置發(fā)生了改變,航程增大,距離目標(biāo)點的位置減小,可將高度變化點的位置調(diào)后,與規(guī)劃策略2相符,類別1和類別3的分析過程同上。
在表8中,統(tǒng)計了約束1各個簇中的樣本數(shù),類別2的樣本個數(shù)最多,即規(guī)劃策略2的權(quán)重高于其他策略。因此,選擇類別2作為反饋策略,將其轉(zhuǎn)換成自然語言形式。類別1和類別3對應(yīng)的規(guī)劃策略均對景象匹配點進行調(diào)整。由于匹配區(qū)約束條件相對較多且情況復(fù)雜,在實際規(guī)劃過程中,規(guī)劃人員會盡量避免對匹配點的調(diào)整,并且規(guī)劃人員按照規(guī)劃策略2調(diào)整航跡,調(diào)整后的航跡大部分都能滿足約束1,在一定程度上驗證了策略優(yōu)先級計算的有效性。將策略2轉(zhuǎn)換成如下自然語言形式:
CONSTRAINT(RelaYS,No)∧CHANGETYPE(Height)∧NUMERICAL_STATE(Dis,Yes)∧NUMERICAL_ATTRIBUTE(Dis,reduce)∧EMPTY(X)∧EMPTY(X)
表7 K-prototypes算法的聚類中心數(shù)據(jù)
表8 規(guī)劃策略的權(quán)重計算
在圖13中,L1、L2表示相鄰兩個導(dǎo)航點之間的距離,航跡中序號為5的景象匹配點和序號為6的高度變化點不滿足約束1,模型給出的提示信息為高度變化點距離目標(biāo)點的距離減小,即可向后移動高度變化點。轉(zhuǎn)彎控制點與景象匹配點相鄰,并且L1小于L2,如果將序號為5的景象匹配點的位置調(diào)前,則可能會導(dǎo)致L1不滿足轉(zhuǎn)彎控制點和景象匹配點之間的距離約束。相比之下,移動序號為6的高度變化點更符合規(guī)劃人員的操作行為,驗證了規(guī)劃策略的有效性。
圖13 導(dǎo)航點關(guān)系約束的規(guī)劃策略反饋提示界面
本文利用航跡規(guī)劃專家的經(jīng)驗和先驗知識,設(shè)計一種基于XGBoost算法和K-prototypes算法的航跡規(guī)劃策略學(xué)習(xí)方法。該方法綜合考慮了各種復(fù)雜約束,針對約束問題的逐類學(xué)習(xí),在樣本分類過程中,依據(jù)約束自身特性和規(guī)劃人員的操作特點,將復(fù)雜約束分成飛行器環(huán)境約束和飛行器特性相關(guān)約束,對于飛行器特性相關(guān)約束,將一個約束對應(yīng)多種操作行為,進一步對約束進行細分,實現(xiàn)樣本的分類管理。實驗結(jié)果表明,對于飛行器環(huán)境約束的策略學(xué)習(xí)問題,XGBoost算法充分考慮了環(huán)境信息對規(guī)劃策略的影響,提取出有效的樣本數(shù)據(jù),并對數(shù)據(jù)進行預(yù)測;對于飛行器特性相關(guān)約束的策略學(xué)習(xí)問題,K-prototypes聚類算法能準(zhǔn)確地發(fā)現(xiàn)航跡規(guī)劃有效操作中的規(guī)律并對其進行提取形成策略。該方法將機器學(xué)習(xí)相關(guān)理論和技術(shù)引入到航跡規(guī)劃軟件中,優(yōu)化交互規(guī)劃過程,降低規(guī)劃人員的勞動強度和對知識、經(jīng)驗的依賴,提升交互規(guī)劃效率和規(guī)劃軟件的智能性。由于航跡約束的復(fù)雜性以及不同約束之間的耦合性,本文策略的反饋機制還需進一步完善,以適應(yīng)更加復(fù)雜的約束和環(huán)境。此外,如何優(yōu)化策略學(xué)習(xí)算法也將是下一步的研究重點。