一種小型無人機地面站三維導航地圖實現方法
2023-05-01 22:15:31
一種小型無人機地面站三維導航地圖實現方法
【專利摘要】本發明公開了一種小型無人機地面站三維導航地圖設計方法,包括基於Google?Earth?API的地圖數據獲取、地理坐標轉換以及導航功能實現方法。使用Google?earth?API實現了將飛行區域的網絡地圖數據保存到本地二維數組中;使用三維繪圖接口將地圖數據繪製在地面站導航地圖區形成三維地圖;通過在本地地圖數據中查詢無人機飛行航點位置並在三維地圖中繪製,實現三維地圖導航功能。通過該方法,能夠為小型無人機地面站提供低成本的三維導航地圖,提高了地圖顯示直觀性與無人機在複雜地勢條件下的飛行安全性。
【專利說明】一種小型無人機地面站三維導航地圖實現方法【技術領域】[0001]本發明涉及一種三維導航地圖設計方法,主要應用於小型無人機地面站領域。【背景技術】[0002]無人機駕駛飛機簡稱無人機,是一種動力驅動的、無線電操控或者自主控制的不 載人飛行器。其中小型無人機一般指起飛重量小於IOKG的無人機,由於其具有體積小、 重量輕、操作靈活以及可搭載任務平臺等諸多特點,近年來小型無人機在軍事偵察、地質測 繪、災情監測和航空拍攝等方面發揮著越來越多的作用,顯示出巨大的應用前景。無人機地 面站是無人機的控制中心,主要完成實時採集、分析遙測數據,發送遙控指令,顯示飛行狀 態等功能,是無人機系統的核心部分。[0003]導航地圖是無人機地面站的重要組成部分,無人機大部分時間在視距外工作,地 面站操作者必須通過導航地圖確定無人機的飛行位置。現在普遍使用的小型無人機地面站 中,一般使用第三方提供的二維地圖控制項實現導航地圖功能,地圖控制項需要一定的授權費 用;在越來越多的無人機應用中,二維導航地圖已經逐漸不能滿足需求。[0004]目前GoogleEarth提供了覆蓋全球的高精度三維地圖,可以滿足無人機三維導航 地圖的要求,但使用Google Earth三維地圖需要保持網絡連接,不適於離線應用
【發明內容】
[0005]本發明旨在提供一種小型無人機地面站三維導航地圖設計方法,所要解決的技術 問題是,首先獲取三維導航地圖的網絡地圖數據,之後根據地圖數據在地面站繪製本地三 維導航地圖,在不提高地面站開發成本的前提下,提高地面站導航地圖顯示直觀性和無人 機在複雜地勢條件下的飛行安全性。[0006]為實現上述目的,本發明通過三維導航地圖提供的二次開發接口 API (應用程式 編程接口,Application Programming Interface)獲取 Google Earth 網絡地圖數據,並保 存在二維數組中,數組的每個單元保存每個地圖節點的地理坐標,包括經度、緯度和高度; 使用保存的地圖數據,通過三維繪圖接口在地面站導航地圖區域繪製三維地圖;地面站接 收到無人機位置信息後,在三維地圖上繪製無人機航跡和模型,實現地面站三維導航地圖 功能。[0007]—種小型無人機地面站三維導航地圖實現方法具體步驟是:[0008]步驟一:在三維導航地圖窗口選定無人機飛行區域,確定地圖窗口屏幕坐標範圍。 比如選定某大學圖書館後面的操場區域,圖1中方框所選區域。將無人機飛行區域柵格化, 橫豎線交點對應一個像素點,柵格密度越大,對應精度越高。通過三維導航地圖的API提供 的查詢地理信息接口,查詢飛行區域屏幕坐標範圍內,每個像素點對應地圖上的地理坐標, 包括經度、緯度和地表海拔高度,將查詢結構保存到二維數組中,每個像素點的地理坐標保 存為一個數據單元,數組行數為飛行區域屏幕橫坐標範圍,數組列數為飛行區域屏幕縱坐 標範圍。如圖2所示,方框裡面的像素點對應經度、緯度和地表海拔高度。[0009]步驟二:以二維數組中保存的飛行區域地圖數據為原始數據,使用三維繪圖接口 在地面站導航地圖區繪製三維地圖。以二維數組中每個單元的數據作為繪圖數據頂點,單 元所在行的位置作為頂點X軸坐標,單元所在列的位置作為頂點Y軸坐標,單元內保存的地 表海拔高度轉換為屏幕坐標後作為頂點Z軸坐標,使用數據頂點構建三角形地表面片,形 成飛行區域完整三維地圖。如圖3所示,將根據保存的像素點信息繪製本地三維地圖。[0010]步驟三:將地面站接收到的無人機位置信息加入到航線中,在二維數組中查詢航 線中每個航點,繪製無人機三維航跡和無人機三維模型。在二維數組中按行查詢航點經度 坐標,查詢結果作為航點屏幕坐標的X軸坐標;在二維數組中按列查詢航點緯度坐標,查詢 結果作為航點屏幕坐標的Y軸坐標;無人機的飛行高度轉換為屏幕坐標後作為航點屏幕坐 標的Z軸坐標;按照每個航點的屏幕坐標在三維地圖上繪製無人機飛行航跡,按照當前航 點屏幕坐標在三維地圖上繪製無人機三維模型。如圖4所示,根據無人機的位置信息在某 大學圖書館後面的操場區域繪製無人機三維航跡和無人機三維模型。[0011]本發明的特點在於:[0012]1.構建了低成本,易於維護的小型無人機地面站三維導航地圖。[0013]2.相對於傳統的二維導航地圖,三維導航地圖顯示效果更為直觀,可以提高無人 機在複雜地勢條件下的飛行安全性。【專利附圖】
【附圖說明】:[0014]圖1地圖窗口屏幕坐標範圍。[0015]圖2柵格化後的地圖。[0016]圖3繪製的本地三維導航地圖。[0017]圖4無人機顯示在本地三維導航示例圖。[0018]圖5為本發明執行步驟。[0019]圖6為三維地圖導航功能實現流程【具體實施方式】:[0020]下面結合附圖和具體Google Earth地圖實施示例對本發明做進一步說明:[0021]如圖5本發明執行流程如下:通過Google Earth地圖提供的二次開發接口 Google Earth API獲取Google Earth網絡地圖數據,並保存在二維數組中,數組的每個單元保存每 個地圖節點的地理坐標,包括經度、緯度和高度;使用保存的地圖數據,通過三維繪圖接口 在地面站導航地圖區域繪製三維地圖;地面站接收到無人機位置信息後,在三維地圖上繪 制無人機航跡和模型,實現地面站三維導航地圖功能。[0022]如前所述,使用Google Earth API獲取三維地圖數據,需要將Google Earth地 圖嵌入到地圖數據獲取軟體界面中,涉及到MFC類庫中⑶HtmlDialog對話框的使用。主 要操作為:首先以CDHtmlDialog為基類建立對話框類,並在對話框的HTML文件中加入 Google Earth API 相關代碼;設計 CDHtmlDialog 對話框與 HTML 網頁中 Google Earth API Javascript函數的交互過程;通過對話框與網頁的交互,完成Google Earth地圖的嵌入。[0023]在軟體中嵌入Google Earth地圖後,通過Google Earth提供的開放接口 API查 詢地圖中的地理位置信息:[0024]1.將Google Earth地圖窗口轉到飛行區域;[0025]2.使用Google Earth API提供的hitTest方法查詢當屏幕坐標對應的地圖地理 坐標,可以查詢到當前地點的經度、緯度和地表高度;[0026]3.依次查詢飛行地圖區域內所有屏幕坐標對應的地理坐標,並將其保存在二維數 組內。[0027]根據以獲取的地圖數據,本發明使用以下步驟繪製三維導航地圖:[0028]1.以二維數組中每個單元的數據作為繪圖數據頂點,單元所在行的位置作為頂點 X軸坐標,單元所在列位置作為頂點Y軸坐標,單元內保存的地表海拔高度轉換為屏幕坐標 後作為頂點Z軸坐標,使用數據頂點構建三角形地表面片;[0029]2.使用三維繪圖接口 Direct3D提供的DrawPrimitive並傳遞D3DPT_ TRIANGLELIST參數以繪製上一步中的所有三角形面片。[0030]3.設置地表顏色和紋理,使用坐標變換調整視角,形成飛行區域完整三維導航地 圖。[0031]如圖6所示,根據已繪製的三維地圖,結合地面站接收到的無人機飛行數據,本發 明通過以下方法完成地面站三維地圖導航功能:[0032]1.將地面站接收到的無人機位置信息加入到隊列中,作為航線;[0033]2.從航點隊列中依次取出航點數據,在保存地圖數據的二維數組中按行查詢航點 經度坐標,查詢結果作為航點屏幕坐標的X軸坐標;在二維數組中按列查詢航點緯度坐標, 查詢結果作為航點屏幕坐標的Y軸坐標;無人機的飛行高度轉換為屏幕坐標後作為航點屏 幕坐標的Z軸坐標;[0034]3.按照每個航點的屏幕坐標在三維地圖上繪製無人機飛行航跡,按照當前航點的 屏幕坐標在三維地圖上繪製無人機三維模型,完成地圖導航功能。
【權利要求】
1.一種小型無人機地面站三維導航地圖設計方法,其特徵在於包括以下步驟:步驟一:在三維導航地圖窗口選定無人機飛行區域,確定地圖窗口屏幕坐標範圍;將無人機飛行區域柵格化,橫豎線交點對應一個像素點;通過三維導航地圖的API提供的查 詢地理信息接口,查詢飛行區域屏幕坐標範圍內,每個像素點對應地圖上的地理坐標,包括 經度、緯度和地表海拔高度,將查詢結構保存到二維數組中,每個像素點的地理坐標保存為 一個數據單元,數組行數為飛行區域屏幕橫坐標範圍,數組列數為飛行區域屏幕縱坐標範 圍;步驟二:以二維數組中保存的飛行區域地圖數據為原始數據,使用三維繪圖接口在地 面站導航地圖區繪製三維地圖;以二維數組中每個單元的數據作為繪圖數據頂點,單元所 在行的位置作為頂點X軸坐標,單元所在列位置作為頂點Y軸坐標,單元內保存的地表海拔 高度轉換為屏幕坐標後作為頂點Z軸坐標,使用數據頂點構建三角形地表面片,形成飛行 區域完整三維地圖;步驟三:將地面站接收到的無人機位置信息加入到航線中,在二維數組中查詢航線中 每個航點,繪製無人機三維航跡和無人機三維模型;在二維數組中按行查詢航點經度坐標, 查詢結果作為航點屏幕坐標的X軸坐標;在二維數組中按列查詢航點緯度坐標,查詢結果 作為航點屏幕坐標的Y軸坐標;無人機的飛行高度轉換為屏幕坐標後作為航點屏幕坐標的 Z軸坐標;按照每個航點的屏幕坐標在三維地圖上繪製無人機飛行航跡,按照當前航點屏 幕坐標在三維地圖上繪製無人機三維模型。
2.根據權利要求1所述的一種小型無人機地面站三維導航地圖設計方法,其特徵在 於,所述的三維導航地圖是Google Earth地圖。
【文檔編號】G01C21/00GK103499346SQ201310454731
【公開日】2014年1月8日 申請日期:2013年9月29日 優先權日:2013年9月29日
【發明者】金仁成, 董歡歡, 華宗治, 芮楊, 褚金奎 申請人:大連理工大學