郭 杰,王曉銀,滑亞慧
(西安航空學院計算機學院,西安 710077)
無人機又稱作無人駕駛飛行器,它能夠按照精確打擊、零傷亡的目標,被廣泛用于現代戰爭之中,開創具有非接觸的新型戰爭模式。無人機在執行任務環節,展現出準確、靈活等特性,受到國內外多數機構、組織的廣泛研究。航跡規劃作為無人機開展自主導航的重要技術,主要用于賦予飛行器一定智能,順利實現無人機自主導航,促使飛行員由高度緊張地飛行中解放出來。航跡規劃必須考慮一系列物理及環境約束,也一度自手動規劃發展成為計算機規劃。最早開展航跡規劃旨在對單機單目標展開,隨著研究的逐漸深入,已有任務更為復雜,包含單機多目標、多機單目標等不同類型的任務[1]。航跡規劃除去任務規劃則是依據不同的任務需求,明確無人機數據及飛行策略。尹高揚,周紹磊等人研究表明,挑選快速隨機搜索樹算法當做跡規劃航算法主體,并根據Dijkstra算法獲得改進的RRT算法,順利設計出合理的最小航跡代價飛行軌跡[2]。劉世一,趙曉林等學者研究指出,因執行任務階段無人機有可能面臨諸多不確定因素,依次創建無人機機載慣性單行系統無償模型、防空威脅模型等,詳細介紹導航精度對無人機航跡規劃產生的影響,并基于導航精度約束視角下無人機航跡仿真操作,仿真結果證實,光學偵察荷載校正點設定方式,對確保無人機偵察任務順利實現具有重要的應用價值[3]。基于此,本文介紹設計無人機航跡規劃與監控系統設計原則、各層次及模塊設計情況,并對系統展開測試,測試結果表明,所設計的系統達到無人機飛行任務實際需求,能夠為后續研究工作打下堅實的基礎。
本次所設計的無人機航跡規劃與監控系統在深入分析使用者需求基礎上,嚴格按照下列原則完成設計:①可持續性原則:設計的系統要具有較好的延續性及可擴展性,系統建設以前,實施長時間的宏觀規劃,以此滿足新需求發展要求,可以向著復雜的工作形式上延伸[4]。②模塊化:系統要按照“模塊化”的原則展開設計,依據使用者的實際要求展開配置,安裝相對簡單、結構靈活的系統,各基礎及業務模塊均可以任意組合,全方面滿足已有或未來系統個性化應用需求[5]。③易操作性原則:設計友好、方便操作的界面,有助于用戶開展各模塊的功能,進而提升系統工作效率。因此,本次設計系統時,要設法減少使用者的記憶負擔,加大數據自動輸入,確保界面展現良好的預見性,防止發生用戶輸入錯誤數據的狀況。④可擴展性:各個程序及接口必須設計統一的標準,確保系統展現出良好的可移植性。此外,配置具有開放性特點的接口,方便及時進行拓展和應用。
按照系統設計原則,為全面了解系統各功能模塊之間的層次機構,有效進行軟件的整體設計,其主要劃分為用戶控制、通信傳輸及數據管理三層,其中,用戶控制層主要任務是確保軟件界面各模塊功能得以實現,包含控制臺、監控及航跡規劃模塊。其中,監控模塊主要任務接收數據并將其展示在虛擬儀表和設備監控上實施監控;控制臺模塊包括地圖顯示、界面搭建等功能;航跡規劃模塊,就是依據使用者設定的航跡規劃參數,用于規劃單機目標軌跡。通信傳輸層旨在與飛行仿真平臺之間實現通信連接、數據分析等操作,為有待傳輸的數據進行預處理操作。數據管理層旨在進行實時接收航跡跟蹤的信息等操作。系統分層結果見圖1。
圖1 系統分層架構示意圖
該層主要是用來實現人機交互的設計,而一個具有良好用戶界面的設計,能促使使用者獲得良好的體驗,靈活執行各項操作。無人機任務規劃和監控系統在界面設計中,常出現的兩種狀態如下:(1)飛行監控環節顯示相關信息:如:地圖顯示、設備狀態顯示、飛機航跡顯示等;也能完成飛機控制命令。(2)航跡規劃階段,這個時期,飛行器并未開啟,界面處在能夠編輯的狀態,可利用航跡規劃算法生成相應的航跡,并執行局部調整航點操作。
2.1.1 控制臺模塊
本次設計的系統用戶控制層所提到的兩個狀態均需在二維或者三維地圖上實現,在飛行監控環節,航跡會及時展示在地圖上。而任務規劃時也必須在地圖上顯示相應的航點信息或航線。因此,進行界面設計過程中,應支持不改變界面狀態,確保兩種狀態之間能夠相互切換,促使界面操作顯示人性化特點。控制臺界面見圖2。
圖2 系統界面設計簡圖
地圖窗口設置在界面中部,使用MapX軟件當做地圖控件,從而展示二維矢量地圖。系統界面右邊是依托虛擬實現的三維地圖,采用鼠標對地圖進行縮放、拖動、瀏覽等操作。虛擬儀表窗口設計在正下方,包含那些簡單的航空儀表,使用依托DirectX圖形驅動繪制相應的航空儀表,從而為空速、偏轉角等信息提供直觀地數據顯示出來,左下角展示飛行器內不同設備運行情況。設備監控窗口設計在左下角,通過虛擬LED燈,在飛行監控操作中,監測飛行器機械設備運行狀況。當系統正常開啟后,挑選航跡規劃狀態,用戶能夠在當前界面內地圖中挑選任務航點,隨之通過航跡規劃算法求得初步航跡,用戶可依據實際需求對生成軌跡點完成編輯操作。菜單欄包括控制臺上的各項操作,包含網絡配置連接、地圖讀取、數據保存等功能。狀態窗口設計在地圖下方,用來提供時間信息等數據。
2.1.2 航跡規劃模塊
該模塊必須實施單機航跡規劃,并由用戶完成相應的任務。使用者依據選擇任務內有待考慮的目標位置、禁飛區、著陸點等一系列模型,上述模型數據根據預處理傳送至航跡規劃模塊完成解析操作,獲得相應的航跡,并把航跡展示在地圖界面內。用戶能夠依據需求給予恰當的調整,該模塊框架如圖3所示。
圖3 任務規劃模塊具體架構
該模塊作為系統最主要的模塊,涉及單機航跡規劃內的關鍵航點等基本元素建模,順利完成界面內能夠任意加載上述元素;航跡規劃算法必須考慮獲得最優航跡,并利用三維空間內的高程信息對算法實施優化。航跡規劃算法就是結合二維、三維內的高程信息,具體規劃操作中,必須考慮地形數據、飛行約束等條件,依據航跡算法對整體航跡實施規劃處理,還應由用戶給予適當的調整,從而局部優化威脅航跡的地形,規劃一條最佳的航跡[6]。航跡規劃操作流程見圖4。
圖4 航跡規劃操作流程
本文設計的無人機航跡規劃與監控系統和仿真平臺間通過網絡實施數據傳輸,可靠的通信網絡能確保數據正確的傳輸。網絡通信模塊旨在解決關鍵問題,確保該模塊的通行性。依據組件化思想,把網絡通信當做動態鏈接庫形式得以實現。先創建一個通用的網絡協議,并把封裝當做動態鏈接庫,并用于各客戶端,順利實現網絡通信,防止出現重復開發的情況。網絡通信架構見圖5。
圖5 網絡通信架構簡圖
所設計系統是把人由繁雜的數據內解放出來,運用計算機高效率的運算能力,順利完成航跡規劃操作。與此同時,運用虛擬儀表基數展示繁多的飛行數據,上述數據使用數據庫完成管理操作。數據庫配置高效的讀寫能力,能提升航跡規劃與監控系統的運行效率。數據管理模塊功能見圖6。
圖6 數據管理架構示意圖
數據庫是無人機航跡規劃與監控系統信息存儲中心,數據庫結構設計質量直接影響整個系統實際運行狀況。因此,配置合理的數據庫不僅能提升數據存儲效率,也可以保障信息的完整性及安全性。所設計系統配備數據庫好壞,具體表現在它是否可以提供相對齊全的功能、系統是否具有優越的性能等方面,而以往所用的數據存儲系統,若存在部分問題或突發狀況,會使得數據出現永久性丟失[7]。因此,對數據庫及其接口編程展開設計,必須嚴格遵循規范化、低耦合性、安全性等要求,在詳細分析各用戶對系統功能需求基礎上,完成系統的設計和處理,進而保證數據的一致性。
系統對飛行器飛行狀況進行監控時,能夠及時接收飛行包發送的各類信息,包含飛行狀態、航點等。對航點實施規劃時,任務航點及其生成的航跡點等數據均會保存在數據庫內。在研發無人機航跡規劃與監控系統時,數據庫設計是系統中最為關鍵與核心部分,應該依照邏輯結構、需求以及物理結構展開,用戶端不用設置專用軟件,可以促使系統維護更為便捷。數據庫E-R模型依據用戶的需求,主要包含以下類型:主要包含起落架、發動機、航跡點、緯度等,如圖7所示。
圖7 飛行航點E-R模型圖
對航跡進行規劃操作時,任務航點及其產生的航跡點當做兩個實體,以此當做一次規劃操作的結果,從而組成相應的任務。航跡規劃E-R圖如圖8所示。
在上述主要關系要素內,編號均是其中的關鍵,也是對象的唯一索引。飛行器及航跡點外鍵均為航跡編號,任務航點及其所產生的外鍵則是任務編號,以此組成完成完整的數據結構。航跡時間及其規劃時間依次為航跡保存、航跡規劃完成的系統時間,并依據時間及時條用某一個時間區間內的任務及航跡。
圖8 航跡規劃環節E-R圖
測試工作要嚴格按照相關測試流程,各流程嚴格根據計劃執行情況,且撰寫的測試文檔要具有規范化的特點,確保測試結果的準確性,測試執行流程見圖9。具體流程如下:(1)對于使用者的需求,對測試需求及測試方案進行評審;(2)依據測試需要的結果,設計具體的測試計劃及用例,并對測試用例展開細致的審查;(3)把測試的各單元模塊,實現系統整合和集成測試,進而檢驗整個系統是否正確,判斷系統能否達到用戶的實際需求。完成系統的整合,進行系統集成測試,驗證系統功能情況,詳細記錄各項測試結果。同時,將測試環節不足之處進行維護,確保所設計系統最終能交付使用。
該層主要包含控制臺、航跡規劃等模塊,主要針對上述模塊展開測試。系統運行操作中具體步驟如下:(1)開啟飛行仿真平臺,設定該平臺處在等候起飛環節;(2)開啟飛行包軟件,設計初始值以后,將仿真平臺下的無人機定位至指定的機場;(3)開啟軟件系統,將網絡連接打開,確保各監控窗口處在初始狀態[8]。
3.2.1 測試控制臺模塊功能
控制臺作為顯示使用者各項操作功能的界面,軟件界面包括8個分隔窗體,通過DockPanel配置文件存儲在相對應的布局信息。如果窗體布局發生改變,需要重新保存相應的配置文件。軟件再次開啟以后,加載依然是上次存儲的配置文件。為檢測分隔窗體能否支持隨意拖動,可改變二維及三維兩個窗體的位置,檢測結果見圖10。
該模塊功能測試時,針對控制臺各功能響應狀況展開測試,控制臺主要包括界面內的工具欄、菜單欄、各窗口等,先對各控件是否正常響應實施檢測。由于控制臺內使用者開展操作的控件比較多,旨在對關鍵功能控件展開測試,結果證實,各控件均可以正常執行相應的功能,根據控件測試時間,可知各控件執行效率比較高,平均響應時間均處在50 ms之內。
圖9 系統測試操作流程
圖10 分隔視圖變化后界面顯示效果
3.2.2 測試航跡規劃模塊功能
對這個模塊展開測試,就是依據用戶配置的無人機及其威脅信息等數據規劃相應的航跡,并在二維及三維航跡模塊內展示出來。航跡規劃操作中,必須配置無人機各項操作、威脅物等信息。依據使用者配置的無人機參數、起飛位置等數據信息,存儲到數據庫內,依據航跡數據展開航跡規劃操作,無人機參數見圖11。
依據配置的各項信息,設計3個禁飛區域,一個規則的長方體障礙物,通過標準網格100*100空間網絡內規劃整體航跡。實際進行航跡規劃時,必須在三維GIS內,生產相應的航跡點,通過經緯度形式存儲在數據庫內。數據庫航點信息見圖12。
3.2.3 測試狀態監控模塊功能
圖11 航跡規劃具體參數
圖12 數據庫內存儲的航點信息
該模塊旨在對虛擬儀表、數字儀表等是否正確顯示傳輸數據。依據這方面的要求,利用仿真飛行包傳送指定數據,時刻觀察該模塊不同儀表是否展示正確的數據。發送數據見表1。
表1 飛行監控模塊傳送數據
所傳送的數據部分為定量數據,包含發動機、起落架、雷達等,只需設定一個標志位,就能明確其實際工作狀態。例如:滾轉角、經緯高數據等作為連續數據,可能在設定范圍內處于時刻變化狀況。因此,依托仿真飛行包遵循一定時鐘頻率發送。仿真飛行包所傳送的數據如圖13所示。
借助網絡通信連接,系統能夠接收的數據傳送至各個儀表窗口,查看數據顯示和傳輸數據是否保持一致。見圖14、15。
圖13 仿真飛行包傳送的數據
圖14 數據儀表窗口顯示信息
圖15 設備監控窗口顯示信息
根據上面兩幅圖可知,這兩個窗口均可以正常接收飛行包傳送的數據,并正常顯示各項信息。而航跡回放模塊功能,旨在由數據庫內挑選相應的數據信息再現飛行過程,挑選數據條件要以時間段為主要限制,也支持挑選一整條航跡。航跡恢復則依托配置窗口實現控制,依托進度條挑選實施航跡回訪的信息,并依托設定讀取數據速度,進而加快、放慢回放操作。航跡恢復控制窗口見圖16。
依據配置文件選定時間段對數據實施回放操作,二維及三維航跡所顯示的地圖僅僅是一部分數據,航跡回放操作顯示的軌跡見圖17。
圖16 航跡回放控制效果
圖17 二維地圖內回放軌跡
綜上所述,基于無人機飛行檢測與控制需求,設計相應的航跡規劃與監控系統。系統得以實現導航參數及時獲取、飛行控制參數實施在線調整、數據分析與存儲等功能,并為規劃長距離飛行提供有利的保障。通過分析發現,本文設計無人機航跡規劃與監控系統,不僅能達到無人機信道傳輸大數據的要求,也滿足信道控制參數高精度、可靠性的要求,有助于實現飛行機執行的各項任務。