李妍文+霍帥珂+陳偉楨+朱秋明+李浩+蔣志成
摘 要: 建立了一個無人機作為中繼的通信網絡系統,并通過對中繼鏈路和高空中繼覆蓋區域進行幾何建模,推導獲得了無人機在一定飛行高度的信號覆蓋區域。在此基礎上,基于Google Earth和Visual C++ 6.0軟件平臺,開發了一套無人機中繼系統可視化網絡優化軟件。測試結果表明,該軟件操作簡便且運行穩定,能夠實現無人機的靜態最優布置與動態飛行路徑規劃,對于解決網絡節點高速和大范圍移動導致的網絡中斷問題,具有重要的工程應用價值。
關鍵詞: 谷歌地球; 無人機; 移動自組網; 中繼平臺; 網絡優化
中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2014)04?0060?04
Software of UAV relay layout optimization based on Google Earth
LI Yan?wen, HUO Shuai?ke, CHEN Wei?zhen, ZHU Qui?ming, LI Hao, JIANG Zhi?cheng
(College of Electronic and Information Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China)
Abstract: A communication network system which is relayed by UAV was established. A geometric modeling for the trunk links and aerological relay coverage areas was made. The signal coverage areas where the UAV flies at a certain height were obtained. Furthermore, a visual network optimization software for the UAV relay system was developed based on Google Earth and Visual C++ 6.0. The testing results indicate that the software has the advantages of easy operating and stable running, and can realize statically optimal placement and dynamic flying path planning of UAV. Therefore, it is of great project application value in solving the problem of network interruption caused by the high?speed and large?scale moving of network nodes.
Keywords: Google Earth; UAV; mobile Ad?hoc network; relay platform; network optimization
0 引 言
無線移動自組織網絡具有組網快速靈活、可靠性高、抗毀性強等優點,特別適用于戰場的惡劣通信環境。但網絡中結點的移動及其活動范圍擴大等因素導致的網絡連通性變化使其應用范圍嚴重受限。針對該問題最有效的一個解決方法是引入無人機作為中繼節點,為移動中的網絡節點提供中繼通信,以提升網絡的連通性和可靠性。
文獻[1?3]研究了靜態場景下具有無線通信組網能力的無人機中繼平臺布置問題,但未考慮中繼通信的動態維持問題,也沒有討論無人機中繼和地面節點移動對網絡連通性的影響。近期動態場景下無人機中繼的飛行路徑和網絡性能優化等問題的相關研究受到越來越多關注[4?6]。其中,文獻[4]定義了四種連通性準則并給出對應無人機中繼平臺的最優布置和飛行路徑,指出單無人機中繼系統可顯著提高網絡連通性,文獻[5]則進一步研究了多無人機中繼的最優飛行路徑問題。
本文基于上述理論基礎針對無人機中繼自組織網絡中的中繼布局和飛行軌跡優化問題,設計開發了一款基于Google Earth的可視化網絡優化軟件,該軟件可實現無人機中繼數目估計、最優位置布局和飛行軌跡規劃等功能,同時利用Google Earth電子地圖模擬真實地球場景,實現人機交互可視化演示。
1 無人機中繼高度和覆蓋區域
無人機中繼平臺的信號覆蓋區域與飛行高度和挾帶的通信設備功率有關。當中繼系統的性能指標如誤比特率預先指定,則地面節點的最低信噪比門限也隨之確定,進而可求出中繼信號的最大傳播距離[6?7]。
地面節點接收信號平均功率可表示為:
[Pr=PtGtGrLfΔL] (1)
式中:[Pt]表示無人機發射功率;[Gr,Gt]分別為收發天線增益;[ΔL]則表示環境以及極化、饋線損耗等因素對接收功率的額外損耗;[Lf=(4πdλ)2]表示信號空間傳播衰減,其中[λ]為波長。
接收機噪聲因素一般采用等效噪聲溫度[N0=KT,][T]表示接收端等效噪聲溫度,K為波爾茲曼常數。當系統誤比特率確定時,接收端最低信噪比門限記為[γ0],則中繼鏈路傳播衰減應滿足如下條件:
[LfPtGtGrKTΔLRb·1γ0] (2)
式中[Rb]表示信息傳輸速率。
假設不考慮信道隨機衰落,可得對應中繼信號的最大傳播距離為:
[dPtGtGrΔLKRbTγ0(λ4π)2] (3)
為求得高空無人機中繼平臺覆蓋區域,構建幾何模型如圖1所示,地球半徑[R≈6 370 km],無人機高度記為[H],則有效覆蓋區域面積為:
[S=2πRh] (4)
在直角三角形[ADF]和[DFO]中分別運用勾股定理可解得:
[h=d2-H22R+2H] (5)
圖1 無人機中繼覆蓋區域示意圖
無人機飛行高度[H]一般為數百至數千米,遠小于地球半徑[R],因此,圓弧[BPC]與直線[BC]長度基本一致,球冠[DPE]面積也可近似為[P]為中心的平面圓面積,根據式(4)可得覆蓋半徑[r]的表達式:
[r=R(d2-H2)R+H] (6)
最后,將式(3)代入式(6)可得無人機中繼平臺的平均覆蓋半徑:
[rR(PtGtGrλ216π2ΔLKRbTγ0-H2)R+H] (7)
2 無人機中繼網絡優化軟件設計
2.1 軟件開發平臺及流程圖
本軟件采用VC++ 6.0軟件開發平臺,結合Google Earth 二次開發技術,利用Google Earth電子地圖將空間特征信息進行可視化表達,從而快速獲得無人機中繼網絡環境的基本特征,將無人機中繼及地面結點的布局情況以三維形式清晰直觀地顯示在界面上。
本系統軟件設計流程如圖2所示,軟件包括兩部分功能:“靜態最優布置”和“動態飛行路徑規劃”。其中,“靜態最優布置”由用戶輸入無人機數量以及地面結點的位置,軟件計算單架或多架無人機的中繼覆蓋范圍及無人機的最優布置,進行可視化演示并可導出到外部文檔;“動態飛行路徑規劃”由用戶選擇輸入無人機數量以及地面結點的移動路徑,軟件規劃單無人機或多無人機的最優飛行路徑,進行可視化演示并可導出到外部文檔。
圖2 軟件流程圖
兩種模式下都支持自動載入數據文件及保存數據文件等功能。“載入上次數據”可以載入上次保存的無人機及地面結點相關數據并進行可視化演示;“載入本次數據”可以清除上次數據的視圖,并從txt文本文檔中載入本次的地面節點坐標或移動路徑等數據,計算出無人機及其中繼覆蓋范圍相關數據并進行可視化演示,地面節點示例數據如圖3所示;“保存本次數據”可以保存本次數據到本地硬盤中,并可供用戶下一次載入。
圖3 地面節點文件
除了上述功能,該軟件還提供了地圖定位、地圖平移和地圖截圖等輔助功能。“地圖定位”可實現由用戶輸入經緯度,地圖定位到用戶輸入的地理坐標;“地圖平移”可實現在當前界面選擇想要平移的方向(可自動、勻速地向該方向平移)進行平移,方便觀察周邊地形,并做到精確定位;“地圖截圖”可實現截取當前Google Earth界面的圖像,保存在硬盤默認位置中。
2.2 中繼節點優化算法實現
當用戶輸入地面節點地理坐標或移動路徑后,軟件自動處理流程如圖4所示。因為Google Earth只能對經緯度坐標進行處理,而直角坐標系具有計算方便的特點,本文地面節點的坐標處理均在直角坐標系中進行。故需要先將經緯度坐標通過坐標轉換變換為空間直角坐標系中的對應坐標,并根據用戶選擇的無人機數量通過聚類算法對地面節點劃分子網。對于每一個子網,使用加權質心算法即可獲得靜態場景下無人機最優位置及無人機覆蓋區域。通過無人機覆蓋范圍并使用第一部分所述算法,便可求得無人機高度,從而計算獲得動態場景下無人機的最優飛行路徑,并將數據送入Google Earth實現三維可視化顯示。
2.3 基于Google Earth的可視化實現
Google Earth可以將各架無人機顯示在三維地球模型中,它提供了兩種擴展接口:基于組件技術的COM API形式和KML文件形式。基于COM API的開發方式用來控制 Google Earth的視角和動畫效果,而基于 KML的開發方式可用來生成地理要素,實現數據的動態更新等。本文結合了這兩種開發方式,得到了比較理想的效果。
圖4 中繼平臺優化算法流程
Google Earth COM API是組件的公共接口,在用戶調用組件的過程中,首先調用Colnitialize函數,初始化COM庫;然后根據獲得的CLSID庫函數CoGetClassObject創建類;最后根據類創建的對象提供給用戶調用,釋放資源時調用CoUninitialize函數。
調用IAppIicationGE主入口類中IsInitialized()、IsOnline()與Login()函數,判斷Google Earth客戶端是否正常初始化,以確保Google Earth客戶端的正常開啟。在實現地圖定位功能中,調用IAppIicationGE主入口類的SetCameraParams()函數,對用戶窗口視圖的經緯度、高度、傾斜度等參數進行設定,從而使用戶能獲得最好的視覺效果。通過調用IViewExtentsGE視口類的GetNorth(),GetSouth(),GetEast()和GetWest()等函數來獲取當前視點的位置,對經緯度進行微調從而控制當前視口的平滑移動,實現了地圖平移功能。
KML是一種基于XML語法與格式的、用于描述和保存地理信息(如點、線、圖像、多邊形和模型等)的編碼規范,可以被Google Earth識別并顯示。KML使用包含名稱、屬性的標簽(tag)來確定顯示方式。按照規定的格式和使用正確的tag即可滿足無人機組成的大規模移動自組織網絡在GE用戶界面中的演示。這里使用C++語言將需要進行可視化演示的數據寫入KML文檔中,供GE調用。
在進行無人機中繼平臺優化軟件開發時不能僅在Google Earth的原生界面上進行控制,而是要將Google Earth的地球主界面截取到所開發的軟件中,這里通過Hook技術實現了這一需求。以下為主要實現代碼:
OLE_HANDLE m_hMainWnd;
m_hMainWnd= m_geApplication.GetMainHwnd();
//獲取客戶端框架窗口句柄
CRect rect;
//設置Google Earth窗口的位置和大小
rect.left=10;
rect.right=1010;
rect.top=10;
rect.bottom=720;
//利用該矩形區域設置框架窗口的大小
:: SetWindowPos((HWND)m_hMainWnd, HWND_BOTTOM,0,0,0,0, SWP_NOSIZE+SWP_HIDEWINDOW);
OLE_HANDLE renderhwnd= m_geApplication.GetRenderHwnd();
HWNDGE ParentHrender= :: GetParent((HWND)renderhwnd);
::ShowWindow(GEParentHrender, SW_HIDE);
::SetParent((HWND)renderhwnd, m_static_googleearth.GetSafeHwnd());
//把HWND和窗口上的一個靜態文本控件綁定
3 軟件運行與測試
本文軟件界面如圖5所示,包括主要功能區和輔助功能區兩個部分。軟件主要功能為實現無人機靜態最優布置、動態飛行路徑規劃及可視化顯示。
圖5 軟件主界面
針對靜態場景下已知地面網絡節點地理位置信息的無人機中繼系統,計算無人機最優位置,根據通信鏈路狀態求得無人機在不同高度下的無線信號有效覆蓋區域,并基于Google Earth完成無人機最優位置與覆蓋區域的可視化,運行結果如圖6所示;針對動態場景下已知地面網絡節點移動路徑的無人機中繼系統,通過聚類找到與每架無人機組成子網的地面節點,使每架無人機覆蓋其所在子網內所有地面節點,計算使無人機覆蓋所在子網節點的最優布置,在地面節點進行無規則運動時,規劃各無人機的飛行路徑,并基于Google Earth完成無人機飛行路徑規劃的可視化,運行結果如圖7所示。
圖6 無人機靜態最優布置運行結果
圖7 無人機動態最優布置運行結果
4 結 論
本文在VC++ 6.0軟件平臺上,開發了一款基于Google Earth的無人機中繼平臺優化軟件,并通過應用Google Earth模擬出真實網絡通信場景。該軟件具有友好的用戶界面,能夠實現無人機數量估計、布置優化與動態飛行路徑規劃,對于解決大規模移動網絡節點高速和大范圍移動導致的網絡中斷問題,具有重要的理論意義和工程應用價值。
參考文獻
[1] CHADRASHEKAR K, RAISSI?DEHKORDI M, BARAS J S. Providing full connectivity in large Ad?Hoc networks by dynamic placement of aerial platforms [C]// Proceedings of IEEE 2004 Military Communications Conference. Maryland, USA: IEEE, 2004, 3: 1429?1436.
[2] RAISSI?DEHKORDI M, CHANDRASHEKAR K, BARAS J S. UAV placement for enhanced connectivity in wireless Ad?hoc networks [EB/OL]. [2011?07?19]. http://www. wenku.baidu.com/view.
[3] PERUMAL S, BARAS J S , GRAFF C J , et al. Aerial platform placement algorithms to satisfy connectivity, capacity and survivability constraints in wireless ad?hoc networks [C]// Proceedings of Military Communications Conference. San Diego, USA: MCC, 2008: 1?7.
[4] ZHU H, SWINDLEHURST A, LIU K J. Optimization of MANET connectivity via smart deployment/movement of unmanned air vehicles [J]. IEEE Transactions on Vehicular Technology, 2009, 58(7): 3533?3546.
[5] 徐贊新,袁堅,王鉞,等.一種支持移動自組網通信的多無人機中繼網絡[J].清華大學學報:自然科學版,2011,51(2):150?155.
[6] ZHAN P, YU K, SWINDLEHURST A L. Wireless relay communications with unmanned aerial vehicles: performance and optimization [J]. IEEE Transactions on Aerospace and Electronic Systems, 2011, 47(3): 2068?2085.
[7] EL?JABU B, STEELE R. Cellular communications using aerial platforms [J]. IEEE Transactions on Vehicular Technology, 2001, 50(3): 686?700.
[8] 馬俊,楊忠,楊成順,等.基于 Google Earth 的人機交互平臺設計[J].應用科技,2010,37(7):6?10.
[9] 張春波,陳琰,李燦,等.基于Google Earth的電網GIS應用研究[J].機電工程,2009,26(11):34?37.
[10] 江寬,龔小鵬.Google API 開發詳解:Google Maps與Google Earth雙劍合璧[M].北京:電子工業出版社,2008.
在進行無人機中繼平臺優化軟件開發時不能僅在Google Earth的原生界面上進行控制,而是要將Google Earth的地球主界面截取到所開發的軟件中,這里通過Hook技術實現了這一需求。以下為主要實現代碼:
OLE_HANDLE m_hMainWnd;
m_hMainWnd= m_geApplication.GetMainHwnd();
//獲取客戶端框架窗口句柄
CRect rect;
//設置Google Earth窗口的位置和大小
rect.left=10;
rect.right=1010;
rect.top=10;
rect.bottom=720;
//利用該矩形區域設置框架窗口的大小
:: SetWindowPos((HWND)m_hMainWnd, HWND_BOTTOM,0,0,0,0, SWP_NOSIZE+SWP_HIDEWINDOW);
OLE_HANDLE renderhwnd= m_geApplication.GetRenderHwnd();
HWNDGE ParentHrender= :: GetParent((HWND)renderhwnd);
::ShowWindow(GEParentHrender, SW_HIDE);
::SetParent((HWND)renderhwnd, m_static_googleearth.GetSafeHwnd());
//把HWND和窗口上的一個靜態文本控件綁定
3 軟件運行與測試
本文軟件界面如圖5所示,包括主要功能區和輔助功能區兩個部分。軟件主要功能為實現無人機靜態最優布置、動態飛行路徑規劃及可視化顯示。
圖5 軟件主界面
針對靜態場景下已知地面網絡節點地理位置信息的無人機中繼系統,計算無人機最優位置,根據通信鏈路狀態求得無人機在不同高度下的無線信號有效覆蓋區域,并基于Google Earth完成無人機最優位置與覆蓋區域的可視化,運行結果如圖6所示;針對動態場景下已知地面網絡節點移動路徑的無人機中繼系統,通過聚類找到與每架無人機組成子網的地面節點,使每架無人機覆蓋其所在子網內所有地面節點,計算使無人機覆蓋所在子網節點的最優布置,在地面節點進行無規則運動時,規劃各無人機的飛行路徑,并基于Google Earth完成無人機飛行路徑規劃的可視化,運行結果如圖7所示。
圖6 無人機靜態最優布置運行結果
圖7 無人機動態最優布置運行結果
4 結 論
本文在VC++ 6.0軟件平臺上,開發了一款基于Google Earth的無人機中繼平臺優化軟件,并通過應用Google Earth模擬出真實網絡通信場景。該軟件具有友好的用戶界面,能夠實現無人機數量估計、布置優化與動態飛行路徑規劃,對于解決大規模移動網絡節點高速和大范圍移動導致的網絡中斷問題,具有重要的理論意義和工程應用價值。
參考文獻
[1] CHADRASHEKAR K, RAISSI?DEHKORDI M, BARAS J S. Providing full connectivity in large Ad?Hoc networks by dynamic placement of aerial platforms [C]// Proceedings of IEEE 2004 Military Communications Conference. Maryland, USA: IEEE, 2004, 3: 1429?1436.
[2] RAISSI?DEHKORDI M, CHANDRASHEKAR K, BARAS J S. UAV placement for enhanced connectivity in wireless Ad?hoc networks [EB/OL]. [2011?07?19]. http://www. wenku.baidu.com/view.
[3] PERUMAL S, BARAS J S , GRAFF C J , et al. Aerial platform placement algorithms to satisfy connectivity, capacity and survivability constraints in wireless ad?hoc networks [C]// Proceedings of Military Communications Conference. San Diego, USA: MCC, 2008: 1?7.
[4] ZHU H, SWINDLEHURST A, LIU K J. Optimization of MANET connectivity via smart deployment/movement of unmanned air vehicles [J]. IEEE Transactions on Vehicular Technology, 2009, 58(7): 3533?3546.
[5] 徐贊新,袁堅,王鉞,等.一種支持移動自組網通信的多無人機中繼網絡[J].清華大學學報:自然科學版,2011,51(2):150?155.
[6] ZHAN P, YU K, SWINDLEHURST A L. Wireless relay communications with unmanned aerial vehicles: performance and optimization [J]. IEEE Transactions on Aerospace and Electronic Systems, 2011, 47(3): 2068?2085.
[7] EL?JABU B, STEELE R. Cellular communications using aerial platforms [J]. IEEE Transactions on Vehicular Technology, 2001, 50(3): 686?700.
[8] 馬俊,楊忠,楊成順,等.基于 Google Earth 的人機交互平臺設計[J].應用科技,2010,37(7):6?10.
[9] 張春波,陳琰,李燦,等.基于Google Earth的電網GIS應用研究[J].機電工程,2009,26(11):34?37.
[10] 江寬,龔小鵬.Google API 開發詳解:Google Maps與Google Earth雙劍合璧[M].北京:電子工業出版社,2008.
在進行無人機中繼平臺優化軟件開發時不能僅在Google Earth的原生界面上進行控制,而是要將Google Earth的地球主界面截取到所開發的軟件中,這里通過Hook技術實現了這一需求。以下為主要實現代碼:
OLE_HANDLE m_hMainWnd;
m_hMainWnd= m_geApplication.GetMainHwnd();
//獲取客戶端框架窗口句柄
CRect rect;
//設置Google Earth窗口的位置和大小
rect.left=10;
rect.right=1010;
rect.top=10;
rect.bottom=720;
//利用該矩形區域設置框架窗口的大小
:: SetWindowPos((HWND)m_hMainWnd, HWND_BOTTOM,0,0,0,0, SWP_NOSIZE+SWP_HIDEWINDOW);
OLE_HANDLE renderhwnd= m_geApplication.GetRenderHwnd();
HWNDGE ParentHrender= :: GetParent((HWND)renderhwnd);
::ShowWindow(GEParentHrender, SW_HIDE);
::SetParent((HWND)renderhwnd, m_static_googleearth.GetSafeHwnd());
//把HWND和窗口上的一個靜態文本控件綁定
3 軟件運行與測試
本文軟件界面如圖5所示,包括主要功能區和輔助功能區兩個部分。軟件主要功能為實現無人機靜態最優布置、動態飛行路徑規劃及可視化顯示。
圖5 軟件主界面
針對靜態場景下已知地面網絡節點地理位置信息的無人機中繼系統,計算無人機最優位置,根據通信鏈路狀態求得無人機在不同高度下的無線信號有效覆蓋區域,并基于Google Earth完成無人機最優位置與覆蓋區域的可視化,運行結果如圖6所示;針對動態場景下已知地面網絡節點移動路徑的無人機中繼系統,通過聚類找到與每架無人機組成子網的地面節點,使每架無人機覆蓋其所在子網內所有地面節點,計算使無人機覆蓋所在子網節點的最優布置,在地面節點進行無規則運動時,規劃各無人機的飛行路徑,并基于Google Earth完成無人機飛行路徑規劃的可視化,運行結果如圖7所示。
圖6 無人機靜態最優布置運行結果
圖7 無人機動態最優布置運行結果
4 結 論
本文在VC++ 6.0軟件平臺上,開發了一款基于Google Earth的無人機中繼平臺優化軟件,并通過應用Google Earth模擬出真實網絡通信場景。該軟件具有友好的用戶界面,能夠實現無人機數量估計、布置優化與動態飛行路徑規劃,對于解決大規模移動網絡節點高速和大范圍移動導致的網絡中斷問題,具有重要的理論意義和工程應用價值。
參考文獻
[1] CHADRASHEKAR K, RAISSI?DEHKORDI M, BARAS J S. Providing full connectivity in large Ad?Hoc networks by dynamic placement of aerial platforms [C]// Proceedings of IEEE 2004 Military Communications Conference. Maryland, USA: IEEE, 2004, 3: 1429?1436.
[2] RAISSI?DEHKORDI M, CHANDRASHEKAR K, BARAS J S. UAV placement for enhanced connectivity in wireless Ad?hoc networks [EB/OL]. [2011?07?19]. http://www. wenku.baidu.com/view.
[3] PERUMAL S, BARAS J S , GRAFF C J , et al. Aerial platform placement algorithms to satisfy connectivity, capacity and survivability constraints in wireless ad?hoc networks [C]// Proceedings of Military Communications Conference. San Diego, USA: MCC, 2008: 1?7.
[4] ZHU H, SWINDLEHURST A, LIU K J. Optimization of MANET connectivity via smart deployment/movement of unmanned air vehicles [J]. IEEE Transactions on Vehicular Technology, 2009, 58(7): 3533?3546.
[5] 徐贊新,袁堅,王鉞,等.一種支持移動自組網通信的多無人機中繼網絡[J].清華大學學報:自然科學版,2011,51(2):150?155.
[6] ZHAN P, YU K, SWINDLEHURST A L. Wireless relay communications with unmanned aerial vehicles: performance and optimization [J]. IEEE Transactions on Aerospace and Electronic Systems, 2011, 47(3): 2068?2085.
[7] EL?JABU B, STEELE R. Cellular communications using aerial platforms [J]. IEEE Transactions on Vehicular Technology, 2001, 50(3): 686?700.
[8] 馬俊,楊忠,楊成順,等.基于 Google Earth 的人機交互平臺設計[J].應用科技,2010,37(7):6?10.
[9] 張春波,陳琰,李燦,等.基于Google Earth的電網GIS應用研究[J].機電工程,2009,26(11):34?37.
[10] 江寬,龔小鵬.Google API 開發詳解:Google Maps與Google Earth雙劍合璧[M].北京:電子工業出版社,2008.