宋海薇+李瑜強



摘 要
針對無人直升機航跡規劃與監控的實際需求,提出基于MapX組件開發一套無人直升機航跡系統,介紹了系統的模塊組成及數字地圖平臺的構建方法,研究了航跡規劃策略、航點調整及航線發送技術,分析了航跡動態顯示需要解決的關鍵問題,飛行試驗表明系統實現了預定功能,且表現出良好的可靠性。
【關鍵詞】MapX 無人直升機 航跡規劃 航跡監控
無人直升機全自主飛行需提前對無人機的航跡進行規劃,包括航跡中各關鍵航點的經緯度位置信息、高度信息以及對任務設備的操作等。操作人員需從地圖中逐點查找、計算航點,并手工將得到的航跡數據輸入無人機系統中。這往往需要花費操作人員數小時到數天的時間,一旦航跡發生變動,由此帶來的不便是不言而喻的。
為了解決上述問題,開發一套適用于無人直升機的航跡系統是必要的。利用航跡系統,操作人員可以直接在數字地圖上進行航跡的規劃,能夠實時、便捷地得到數字地圖中任意一點的多種信息,并且可自動計算航點位置。同時,航跡系統還能夠實時地跟蹤監控無人直升機航跡。
1 系統開發環境及功能模塊
1.1 MapX組件
系統采用MapInfo公司提供的地理信息系統(Geographical Information System,GIS)處理控件MapX實現數字地圖的縮放、移動、信息顯示等功能。MapX是一種基于Windows操作系統的標準組件,能支持絕大多數標準的可視化開發環境,如Visual C++、Visual Basic、Delphi和PowerBuiler等,同時其對使用者的GIS專業背景要求不高,使用標準化語言、明確的對象模型、大量的方法和事件、高效的屬性頁和默認值等功能,使得用戶可以輕松的在應用程序中加入強大的制圖功能。本系統應用程序以Visual C++作為開發語言。
1.2 系統方案
根據無人直升機試飛工作需求,系統由航跡規劃模塊、航跡顯示模塊、航跡存儲模塊、航跡回放模塊、數據通訊模塊、數據處理模塊組成,如圖1所示。
航跡規劃模塊主要用于飛行前路徑規劃,操作人員結合飛行區域的地理信息直接在地圖上點選及拖拽航跡點形成飛行航跡,系統通過飛行性能約束條件對航跡進行可行性判斷,最終確定飛行航跡,并將規劃數據通過地面指揮控制設備發送給機載導航管理計算機。
航跡顯示模塊可根據預設航點信息和遙測參數同步顯示理論航跡和實時飛行航跡,同時把理論航跡和飛行航跡進行比較,并將比較結果以數值形式呈現出來。
航跡存儲模塊將經緯度、高度、速度、航向信息實時記錄在ACCESS數據庫中,供后續分析及航跡回放時使用。
航跡回放模塊調用航跡存儲模塊中的數據實現飛行航跡回放。
數據通訊模塊通過串口通信技術與地面指揮控制設備進行通訊,地面指揮控制設備再經無線鏈路與機載設備進行通訊。
數據處理模塊用于完成遙測參數解幀以及預設航點信息組幀。
2 系統關鍵技術
2.1 數字地圖平臺構建
航跡系統的開發首先需要構建一個數字地圖平臺,在平臺上實現基本數字地圖操作。系統采用飛行區域的高清數字正設影像圖(Digital Orthophoto Map, DOM)作為背景地圖,通過MapX組件將其嵌入系統主視圖。
基于MapX組件的數字地圖平臺構建方法如下:
(1)安裝MapX后在Visual C++創建的項目中添加MapX.cpp和MapX.h文件;
(2)在主視圖頭文件中包含MapX.h頭文件,在主視圖類中添加成員變量CMapX m_ctrlMapX;
(3)聲明表示用于MapX的控件ID常數,名稱為“IDC_MAP”;
(4)在創建視圖時創建該控件:
if(!m_ctrlMapX.Create(NULL, WS_VISIBLE, CRect(100,0,1270,670), this, IDC_MAP))
return -1; //創建MapX組件
m_ctrlMapX.GetLayers().Add("map.gst")
//顯示默認路徑下的地圖
MapX組件在本應用中主要實現以下功能:
(1)背景地圖設置以及地圖信息獲取;
(2)地圖的縮放、平移;
(3)文字、圖標、線條等圖元的添加、刪除和移動;
(4)測距工具、圖元拖拽工具的創建;
系統在MapX組件提供的上述功能基礎上,實現航跡規劃和航跡顯示等各模塊的開發。
2.2 航跡規劃
2.2.1 規劃策略
系統采用人機交互的航跡規劃模式,結合數字地圖上的地理信息直接在圖上點選航跡點,并通過計算機完成可行性計算。這種方式在數字地圖上進行航跡規劃,能直觀地規避地形障礙,并且通過MapX提供的地圖信息獲取功能實現航點點選功能,避免了手工錄入航點帶來的不便,通過系統自動計算來完成航跡可行性判斷,極大地減小了手工計算的工作量。規劃策略如圖2所示。
(1)點擊數字地圖上相應位置確定航跡點,若需調整其位置,直接拖至其他位置;
(2)為航跡點設置飛行特征(如懸停點、過渡點、途經點、加速點、減速點)及飛行速度等屬性;
(3)計算機對所設置航跡自動進行飛行可行性判斷(包括根據某飛行速度下的轉彎半徑判斷轉彎角是否復合要求,根據飛行速度判斷航段長度是否滿足加減速要求等);
(4)若計算結果不可行,計算機給出相應提示,進入步驟(5),若計算結果可行,進入步驟(6);
(5)用戶根據提示對航跡進行修改后進入步驟(3);
(6)將規劃結果發送給機載導航管理計算機。
2.2.2 航跡調整
系統采用拖拽航跡點的方式進行航跡調整,如圖3所示,同時自動計算航跡屬性并用列表的形式顯示,如圖4所示,根據航跡點位置的調整,航跡列表將進行實時更新。這種航跡調整方式方便、直觀,免去了航跡規劃過程中人工計算的部分,極大地縮短了航跡規劃的時間。
2.2.3 航跡發送
系統將各航點信息組成一幀20字節的數據,結構見表1,經串口發送至地面指揮控制設備并按通訊協議進行組幀,并通過無線數據鏈發送給機載導航管理計算機,導航管理計算機接到航點信息后進行原碼反饋,航跡系統將反饋信息與發送信息進行比對確認正確后發送下一航點信息,直至所有航點信息發送完畢。
2.3 航跡動態顯示
航跡動態顯示的關鍵問題是更新航路信息時,若每兩個點用一個線圖元顯示,整條航線將由上萬條微小線圖元組成(遙測數據采樣速率為12.5幀/s),勢必增加系統負擔,若整條航線用一個線圖元表示,每接收一個采樣點將線圖元全局更新一次,將導致地圖整體閃爍,影響系統視覺效果。為解決上述問題,系統對航跡的更新采用線圖元局部更新的方法,即僅對原有線圖元進行部分延長,而非整體更新并且線圖元個數始終保持一個。這種方式能非常有效的克服閃爍問題,減輕系統負擔。
航跡動態顯示的另一問題是在無人操作系統的情況下,運動主體可能移動超出視窗范圍。這里采用ZoomTo的地圖對中方法來解決這個問題,一旦運動主體超出視窗范圍,把地圖以當前縮放率對中到運動主體當前坐標處,這樣就保證了運動主體始終處于視窗范圍。
3 系統應用
通過對系統進行測試及使用,證明該系統運行可靠,能夠滿足無人直升機試飛過程中的航跡規劃及實時航跡監控需要。圖5為航跡規劃功能應用界面,圖6為航跡監控功能應用界面。
4 結束語
本系統在航跡規劃過程中用計算機智能判斷代替了繁瑣的人工計算,且采用點選和拖拽的方式確定航跡點位置,免去了手動輸入帶來的不便,操作方便直觀,規劃速度快,交互性強。另外系統構建了飛行航跡實時監控環境,根據實時遙測數據在數字地圖上繪制無人直升機飛行軌跡,并可與理論航跡進行對比,實時掌握無人直升機的飛行情況,為地面飛行操縱提供分析依據。隨著無人直升機飛行性能的不斷提高,本系統航跡可行性判斷條件也將不斷完善與改進,航跡規劃的智能性與優化性也還須進一步提高。
參考文獻
[1]駱訓紀,朱紀洪,孫增圻.無人機航跡系統研究[J].測控技術,2002,21(11):1-4.
[2]孫云春,李建海.MapX控件技術在模擬導航仿真系統中的應用[J].微計算機信息,2008(24):145-147.
[3]尹旭日,張武軍.Visual C++環境下MapX的開發技術[M].北京:冶金工業出版社,2009:33-34.
[4]李華超,吳潛,陳春俊,等.基于BCB&MapX的無人機航路規劃與監控系統實現[J].計算機應用,2007,27(09):2315-2318.
[5]劉波,盧京潮,吳益明.無人機地面導航站系統的設計與實現[J].計算機測量與控制,2006,14(12):1714-1716.