林仕材,湯愛武,黃德祥
(深圳航天科技創新研究院,廣東 深圳 518057)
?
基于WinCE的無人機嵌入式地面站GIS顯示優化
林仕材,湯愛武,黃德祥
(深圳航天科技創新研究院,廣東 深圳 518057)
摘要針對無人機嵌入式地面測控站系統資源和性能的局限性,研究了基于WinCE系統的嵌入式GIS地圖的顯示過程和原理,分別從動態和靜態2個方面提出了嵌入式平臺下優化無人機GIS地圖應用的軟件和硬件方法,靜態方面在于優化地圖文件的轉換和讀取以適用于嵌入式平臺,動態方面在于將需要動態更新和添加的內容進行算法上的裁剪或精簡以達到快速顯示的目的。測試結果表明,這些優化方法有效地減少了嵌入式WinCE系統下GIS地圖資源占用,提高了GIS地圖顯示效率,也為其他平臺GIS地圖的顯示優化提供了參考。
關鍵詞無人機;地面站;WinCE;GIS
Display Optimization of UAV Embedded GCS GIS Based on WinCE
LIN Shi-cai,TANG Ai-wu,HUANG De-xiang
(ShenzhenAcademyofAerospaceTechnology,ShenzhenGuangdong518057,China)
AbstractIn view of the limitations of resource and performance of UAV embedded ground control system,this paper studies the display process and principle of embedded GIS map based on WinCE system.The software and hardware methods of UAV GIS map application optimization based on embedded platform from static way and dynamic way respectively.The static way is used to convert the huge map file to meet the demand of embedded system.The dynamic way is used to cut or reduce the dynamic update and increase contents for fast display.The test results show that the optimization methods can reduce the usage of system resource of embedded GIS map in embedded WinCE system and improve the display efficiency of GIS map.It can also provide reference for GIS map display optimization of other platform.
Key wordsunmanned aerial vehicle(UAV);ground control station(GCS);WinCE;geographic information system(GIS)
0引言
目前國內用于無人機地面測控站[1,2]的硬件平臺一般基于X86架構,而用嵌入式平臺的非常少,其中一個重要原因就是嵌入式平臺的硬件性能跟不上。影響地面測控站性能的主要功能模塊有2個:視頻和地圖。常用于無人機視頻編碼的格式主要是JPEG2000、H.264[3]、MEPG-2[4]和MPEG-4[5],其中JPEG2000有專用的解碼芯片[6],H.264、MEPG-2、MPEG-4對于多數嵌入式ARM平臺具有的硬解碼功能來說已不再是難點[7]。而用于航線規劃和航跡顯示重要功能的地理信息系統[8](Geographic Information System,GIS)地圖是造成性能瓶頸的重要原因。如果GIS地圖性能能夠被大幅優化,那么采用嵌入式平臺的地面測控站以其功耗低和重量輕的特點更適合于輕巧便攜式微小型無人機系統中使用。
可用于無人機地面測控站的主流嵌入式操作系統主要有WinCE、Android和Linux等,其中Android為新興的嵌入式操作系統[9],主要用于消費類的便攜式產品,但是系統的實時性和穩定性還待加強。Linux下開發GIS應用較少,目前國內很少有相應的GIS SDK和產品支持。WinCE是由Microsoft開發的具有豐富應用和服務的32位嵌入式系統,具有小容量、移動式和智能化的特點,為有限資源的設計平臺提供多線程、完整優先權、多任務支持[10],在導航和嵌入式GIS應用中得到更廣泛的應用。
對于基于嵌入式WinCE系統的地面測控站來說,GIS模塊中的矢量地圖或柵格地圖在數據讀取和繪制時均需耗費大量的CPU時間,如果處理不好輕者將影響用戶體驗、干擾飛手對飛機[1]的遙控,嚴重時甚至造成系統崩潰進而置飛機于失控狀態影響飛行安全,所以對基于WinCE系統的嵌入式GIS顯示技術的優化對無人機地面測控系統有著極為重要的實用意義。
本文先分析GIS地圖的顯示原理,然后從靜態和動態2個方面對其顯示進行了優化,這些優化方法在某無人機項目中應用,減輕了系統資源負擔,算法程序運行穩定,地圖顯示顯著加快。
1GIS地圖顯示原理
無人機GIS應用中的地圖一般分為靜態地圖和動態地圖2部分,如圖1所示。其中靜態地圖為從GIS地圖文件中讀取的地理信息數據,往往包括多種類型的信息,比如地形、地貌、植被、水文和高程等。為了方便信息數據的管理和顯示,一般將地理數據按其地理特征的不同進行分類,將同一類的數據歸于一個圖層中進行組織、存儲、修改和顯示。

圖1 無人機GIS地圖應用顯示
靜態地圖讀取后將寫入顯示緩存,也可以作為動態地圖顯示的畫布,如無漫游、縮放等操作,可以一直顯示舊的內容,直到需要發生改變才以某一規則讀取新的地圖文件部分內容并顯示,靜態地圖優化完后一般不再進行二次修改。
動態地圖是根據用戶需要而添加或更新的內容,具有較強的實時性和位置性,比如無人機規劃的航線、飛行過程中產生的航跡以及對關鍵目標的標注信息等。這些內容可根據執行飛行任務時動態機動變化和添加,而且每次顯示的內容均不同,所以屬于動態地圖部分。動態地圖是優化顯示的重點,而且方法得當與否會有較大的差異。
在實際優化處理過程中,正是按照這種分層的方法對靜態和動態2種類型的地圖顯示分別進行優化。
2優化方法
2.1靜態地圖優化方法
在嵌入式系統中,靜態地圖數據的顯示一般經歷格式轉換、讀取計算、數據解析、生成分割圖片和顯示等多個步驟,每一個步驟都存在一定的優化空間,如圖2所示。

圖2 嵌入式GIS地圖數據格式轉換處理流程
嵌入式GIS應用必須滿足低內存、低存儲和實時性要求,然而GIS空間數據包括圖形數據、拓撲數據、參數數據和屬性數據,其數據量非常大,所需存儲空間也相應很大,所以應用于嵌入式GIS的地圖需要進行轉換才可使用,轉換時一般分為2個步驟:第1步是先對地圖進行屬性和內容的初步轉換,主要采用的方法包括:
① 減少顯示級數;② 精簡角點和線條數目;③ 減少文件體積。
經過以上處理方法,就可以先解決GIS地圖文件在嵌入式系統中存儲空間和內存容量不足的一些問題。
第2步就是進行地圖圖像數據類型預處理。因為對于多圖層數據的矢量圖形繪制成圖像數據的計算和處理量非常巨大。即便是放到現在比較高端的PC機平臺之上,繪制過程也顯得略微漫長,如果將這一對于計算要求過于龐大的處理過程放在無論是內存還是CPU都比較低的嵌入式平臺上去處理的話,那么所等待處理的時間將非常大。而且地圖的每次漫游、放大和縮小都會發生重繪的情況,用戶每一個操作都需要經過漫長的等待才能得到結果。這對于實時性要求較高的無人機地面測控站幾乎是無法忍受的。
為了提高顯示和繪制的效率,可以先進行格式轉換,再直接使用已經預先生成的圖像數據來進行顯示。
在轉換時采用現在網絡地圖常用的地圖數據存儲手段,即將已經存在的大幅面地圖按照160×160大小進行切割并通過命名來編號存儲,文件和目錄編號規則為:顯示級別/行號#列號.png,如8/2#2.png。而在顯示時則經過一個相反的過程,如圖3所示。

圖3 嵌入式地圖文件加載和顯示過程
這樣就將讀取龐大的地圖數據文件轉化為讀取已生成的圖像文件,再配合內存文件讀取方法,在速度上將更快。
2.2動態地圖優化方法
在實驗的過程中,采取了多種方法進行顯示優化,主要包括精簡航線點、固定航點、線條裁剪以及其他優化方法。
2.2.1精簡航線點
目前,Douglas-Peucker算法[11]和“簡單距離壓縮”法是減小曲線坐標數據的有效方法,應用范圍較廣。其中“簡單距離壓縮”的方法(如圖4所示)是獲取地理坐標點對應的屏幕坐標,如果2個點間距離小于某一值GAP時,將只顯示前一個點,對于航跡點的顯示,尤其是地圖縮小到一定比例尺時,該方法能一定程度減少繪制點的個數,達到加快航跡點顯示的目的。

圖4 空間壓縮精簡航跡點
Douglas-Peucker算法是經典的精簡航跡點方法,可以達到進一步精簡航跡點的目的。
2.2.2顯示固定航跡點
顯示固定航跡點是另外一種加快航跡顯示的方法,因為無限制地顯示航跡點,將耗費系統大量的內存和CPU資源直至系統資源耗盡死機。在實際應用中,顯示合適的固定航跡點,既不影響航跡的顯示,又不至于消耗系統過多資源。
2.2.3線段裁剪
在顯示飛行航跡時,如果航跡點已超出屏幕顯示范圍,則沒有必要對它及后面同樣的點進行繪制,這里用到了線段的裁剪,采用經典的Cohen-Sutherland線段裁剪算法及改進的裁剪算法[12],可以減少點的航跡繪制點的個數,達到優化航跡顯示的目的。
2.2.4目標符號庫
在無人機執行飛行任務過程中,對視頻中看到的目標點在地圖上進行標注,就需要用到目標符號。目標符號是地圖的語言,是表達地圖內某一點內容的基本手段,根據使用特征可以分為目標點符號、文字符號和特殊符號。根據直觀分析和實驗數據統計,繪制地圖符號是地圖顯示過程中比較耗時的一項工作,尤其是當地圖上疊加的目標符號較多時。
對于固定目標和內容的繪制,完全可以設計對應的目標符號庫,通過調用符號庫文件達到簡化復雜符號的繪制。符號庫可統一定義為24×24大小,通過索引號來進行調用,每個符號項的結構體定義如下:
struct tagPointSym {
int nIndex;//索引號
charszSymText[32];//軍標庫符號文字
}
2.2.5其他優化方法
此外,在實際應用時,還有以下其他的技巧和方法可進行再優化:
① 更新頻率盡量少:固定更新頻率配合按需更新;
② 盡量不頻繁做圖形旋轉和居中操作,多次相同操作時如果沒有操作結束則屏蔽后續操作;
③ 雙緩沖繪圖[13],即對顯示的內容先繪制到內存再統一顯示到屏幕上;
④ 采用硬件加速,在嵌入式ARM平臺下很多繪圖功能與操作都是可以直接調用硬件加速的功能,具體調用方法可參閱相應的用戶手冊。
3測試結果分析
采用以上優化方法對嵌入式WinCE系統下的GIS地圖進行了比較測試。測試硬件條件為Freescale i.MX515,操作系統為WinCE 6.0,向上發送遙控指令,對遙測數據進行實時解析,同時運行H.264視頻解碼和GIS地圖2個功能模塊。
3.1靜態測試
靜態測試時以執行LoadMap()函數讀取轉換格式前的文件和轉換格式后的文件為測試條件,分別記錄讀取前時間t1和讀取后的時間t2,計算出T=t2-t1,優化后的文件讀取時間明顯少于優化前的數據讀取時間,如表1所示。由于測試文件china2000.emp只是較簡單的地形輪廓,讀取差別就已經非常明顯,當地圖中的地形較復雜或目標較多時,讀取時間差距還將進一步加大。

表1 讀取地圖文件耗時對比
3.2動態優化測試
由于航線規劃用到的航點和內容一般較少,測試中沒有加入考慮。而對于無人機飛行過程中產生的大量航跡點和動態旋轉的無人機符號,如果沒有進行動態優化,航跡顯示將會耗費大量的CPU時間,尤其是當點數超過600點(按每1 s添加一個航跡點計,一般10 min之內航跡顯示),每操作一次刷新航跡和地圖會導致顯示停滯1~2 s左右,CPU平均占用率達到43%,如圖5所示。當航跡點超過900點時,將更嚴重影響整個系統的操作體驗。

圖5 未精簡航跡點的CPU占用曲線
實驗中有取舍的采用了固定600個航點+超范圍線段裁剪+自定義符號庫的方法,同時采用雙緩沖法先在內存中繪制再在顯示器幀緩沖區中刷新顯示,CPU平均占用率顯著減少到29%左右,如圖6和圖7所示,而且還有進一步優化的空間。

圖6 優化后GIS顯示后航跡顯示

圖7 優化后GIS顯示CPU占用率
4結束語
本文從靜態和動態2個方面分析并測試了基于WinCE系統的無人機地面測控站中GIS組件顯示的優化方法。測試數據表明,這些優化方法緩解了嵌入式地面測控站系統在使用過程中GIS地圖對硬件平臺的性能局限帶來的困擾,保證了視頻幀率和遙測信息內容及時更新,也保證了按鍵和其他操作的快捷和飛行安全。同時,這些優化方法和原理也為其他類似平臺的GIS優化方法提供了參考。
參考文獻
[1]盧艷軍,劉季為,張曉東.無人機地面站發展的分析研究[J].沈陽航空航天大學學報,2014(3):60-64.
[2]賀光霞.基于GIS的無人機地面控制站的實現[J].無線電工程,2007,37(2):36-37.
[3]吳笑天,魯劍鋒,王宇慶,等.基于DM368的無人機視頻壓縮系統的設計[J].液晶與顯示,2014(6):1 117-1 123.
[4]崔麥會,周建軍,陳超.無人機視頻情報的壓縮傳輸技術[J].電訊技術,2007,47(1):131-133.
[5]關曉磊,李志強.基于MPEG-4編碼的近距離無線視頻傳輸系統[J].電子科技,2011(6):45-50.
[6]黃德祥,湯愛武,徐升,等.基于ADV212的無人機實時視頻解碼系統設計[J].無線電工程,2014,44(10):59-63.
[7]王珊.基于ARM9的近程無人機數據采集系統[J].無線電工程,2013,43(8):40-43.
[8]劉育新.軍事地理信息系統的現狀和發展[J].無線電工程,2000,30(5):33-35.
[9]韓大偉.基于Android的小型飛行器終端控制系統的設計與實現[D].北京:北京郵電大學,2014.
[10]張志勇,楊誠,祝挺.基于WinCE的軍用車輛綜合信息系統應用研究[J].汽車科技,2008(1):57-61.
[11]何津,費立凡.再論三維Douglas-Peucker算法及其在DEM綜合中的應用[J].武漢大學學報(信息科學版),2008(2):160-163.
[12]李竹林,雷崗.一種改進的Sutherland-Cohen裁剪算法[J].計算機工程與應用,2012(34):175-178.
[13]殷銀鎖,張仁誠,王東輝.基于DirectDraw雙緩沖的實時動態成像技術[J].北京生物醫學工程,2014(4):379-382.
林仕材男,(1976—),高級工程師。主要研究方向:移動計算及嵌入式系統設計、無人機測控系統設計。
湯愛武男,(1967—),高級工程師。主要研究方向:工業控制計算機及嵌入式系統設計、嵌入式系統應用研究。
作者簡介
基金項目:深圳市科技創新計劃基金資助項目(CXZZ20130322165234700)。
收稿日期:2015-09-09
中圖分類號TP391
文獻標識碼A
文章編號1003-3106(2015)12-0021-04
doi:10.3969/j.issn.1003-3106.2015.12.06
引用格式:林仕材,湯愛武,黃德祥.基于WinCE的無人機嵌入式地面站GIS顯示優化[J].無線電工程,2015,45(12):21-24,28.