新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 基于Google Earth的GPS導航系統(tǒng)

基于Google Earth的GPS導航系統(tǒng)

作者: 時間:2011-12-02 來源:網絡 收藏

 1 緒論

本文引用地址:http://butianyuan.cn/article/187138.htm

  隨著科技的發(fā)展車輛的普及,人們對實時導航的需求變的越來越突出。隨之出現(xiàn)了,許多實時,這其中有軟硬件集成一體的導航設備,也有基于其他GPS設備的軟件系統(tǒng)。而所有的這些GPS導航幾乎都是以線框圖為主。線框圖的方式比較適用于城市內部的導航,當有需要去郊區(qū)或者山地野外去探險等活動時,這種方式就顯得力不從心了。

  因為這些地方的地圖信息少,圖示比較粗糙,其次,它提供的時線框的方式去描述地理,顯然不能很深刻的反應該地的地貌特征,比如海拔,山野等。而且為了及時更新維護這些線框圖帶來的代價也時很大的。而這些需求的信息可以在衛(wèi)星地圖上找到。

  與此同時公司在近些年出來的 軟件,是一款十分優(yōu)秀的衛(wèi)星地圖服務軟件,它免費提供的衛(wèi)星地圖精度很高。大部分地區(qū)的地區(qū)都比較清晰,特別是各個城市的照片,可以清晰的看到馬路上的車輛。在中國衛(wèi)星圖像里,一線城市以2009、2010年拍攝的為主,二、三線城市以05、06年的庫存圖片為主,能較好地滿足導航的要求。

  在 Plus以上的收費版本中還提供了GPS接口,能實時地顯示當前位置的地圖和移動軌跡。而在免費版本中不帶這個功能。因此,設計一個基于Google 的GPS也是很有實際意義的。通過該系統(tǒng),完成對Google Earth軟件的控制,從而達到基于GPS的實物圖導航的目的。

  此外近期, 基于Google Earth的開發(fā)已經很多了, 例如, 利用Google官方提供的3D圖形繪制工具,繪制各種建筑或者樹木等物品,可以上傳擺置在Google Earth上面作為產品展出,也可以設計各種樹木擺放到山林的平面衛(wèi)星照片上,從而勾勒出具有3D特性的衛(wèi)星地圖,便于防止森林火災搶救等應用。

  2 需求分析

  2.1 功能需求

  本系統(tǒng)由如下的四部分構成:

  1)GPS與GPS設備的通訊模塊。

  2)WEB服務器,接受來至于Google Earth的Network Link的請求,響應當前的坐標及軌跡信息。

  3)預定軌跡的導航,根據預定軌跡對位置進行檢測,實現(xiàn)偏離預定軌跡時的報警功能。

  4)提供軌跡管理和與其他GPS數據交換的工具。

  2.2 數據流分析

  如圖1,在整個系統(tǒng)中,數據的流動比較的重要,各個功能之間的數據信息的交互都是數據的流動。GPS硬件設備是個數據源,不停的接受來自衛(wèi)星的信號,通過計算,組織成有格式的數據流傳遞到本系統(tǒng),而本系統(tǒng)對這些GPS信息進行讀取,并與系統(tǒng)內部的其他的功能配合完成一系列功能。由于系統(tǒng)要控制Google Earth來完成衛(wèi)星地圖的導航功能,所以必須要有一個可以控制Google Earth軟件的方式來完成這個任務。這個功能需要把之前從GPS硬件設備讀取的信息以某種方式來控制Google Earth。此外,系統(tǒng)的軌跡管理功能也需要與其他功能配合才能完成一系列的管理功能。

  圖1 數據流圖

  圖1 數據流圖

  3 系統(tǒng)設計

  3.1 系統(tǒng)模型

   圖2 系統(tǒng)模型圖

  圖2 系統(tǒng)模型圖

  完成GPS導航的整個系統(tǒng)的模型如圖2所示。這其中包含了很多外部硬件設備和軟件系統(tǒng),而我們的GPS導航系統(tǒng)是安裝在用戶的PC機或筆記本電腦中的。

  首先GPS設備不斷的接受來至于各個衛(wèi)星的無線信號,通過它本身的固件計算得出當前的坐標等相關地理信息。然后與計算機進行藍牙通訊傳送這些地理信息,而在計算機中,操作系統(tǒng)底層把藍牙通訊模擬成基本的串口通訊,供應用程序調用。本GPS導航系統(tǒng),自動識別當前計算機中的被模擬為串口的端口號,并不斷的讀取來至于GPS設備的地理信息。再通過Google Earth控制模塊,控制Google Earth的顯示,若當前的地圖信息還未加載,Google Earth會根據當前的網絡情況,連接Google Earth服務器獲取對應坐標視角的地圖信息。用戶一般都是在駕車行駛的時候需要這種導航,所以一般可能的話,可以通過筆記本無線網絡連接Google Earth服務器,正如圖2所示。

  3.2 功能模塊劃分

  整個系統(tǒng)由四大模塊組成。分別為GPS設備通訊模塊,WEB服務器模塊,預定軌跡導航模塊,用戶圖形界面。

  1)GPS設備的通訊模塊根據操作系統(tǒng)底層對藍牙的模擬串口,讀取GPS設備發(fā)送過來的地理信息,并過濾無用信息,動態(tài)的更新到自定義的數據結構中去。

  2)WEB服務器模塊接受來至于Google Earth的Network Link的請求,結合之前更新在結構體中的坐標信息,生成用來改變Google Earth顯示的KML文件,并響應Google Earth.

  3)預定軌跡導航模塊先加載KML文件,獲得預定的軌跡信息。啟動導航功能之后,實時地根據預定軌跡對當前位置檢測,并在當前位置偏離預定軌跡時,提供報警功能。

  4)用戶圖形界面為了便于用戶的快捷使用,本系統(tǒng)提供類似與金山快譯的工具條按鈕組,所有的功能全都由工具條上的幾個形象的按鈕完成。十分便利。

  3.3 核心模塊分析

  3.3.1 GPS模塊

  圖3 GPS模塊分析

  圖3 GPS模塊分析

  這里GPS模塊的輸入是來至于GPS硬件設備發(fā)送過來的地理信息,而它的輸出是對這些地理信息解析提取出來的坐標和軌跡信息,傳遞給GoogleEarth控制模塊。內部完成串口數據的接受與坐標軌跡的提取。

  3.3.2 Google Earth控制模塊

  圖4 Google Earth控制模塊分析

  圖4 Google Earth控制模塊分析

  這個Google Earth控制模塊,有兩個輸入,一個是外部輸入,就是來自于Google Earth的請求,一個是用于構造響應這個請求時用到的坐標與軌跡信息,這些信息來至于GPS模塊,對外輸出就是響應Google Earth的KML文件。

  3.3.3 串口通訊模塊分析

   圖5 串口通訊模塊

  圖5 串口通訊模塊

  在這個過程中,首先GPS設備不斷的接受來至于各個衛(wèi)星的無線信號,通過它本身的固件計算得出當前的坐標等相關地理信息。然后與計算機進行藍牙通訊傳送這些地理信息,而在計算機中,操作系統(tǒng)底層把藍牙通訊模擬成基本的串口通訊,供應用程序調用。我們的GPS導航系統(tǒng),自動識別當前計算機中的被模擬為串口的端口號,并開啟線程,不斷的讀取來至于GPS設備的地理信息。這里并不是所有的地理信息在本系統(tǒng)都是有用的,通過程序過濾,提取出當前坐標點經緯度、速度、方向等幾個基本的數據信息。把這些信息存儲到結構體中,并通過與之前的坐標點的累加,可以構造出一連串的坐標,從而構成行駛軌跡。

  3.3.4 WEB服務器模塊分析

  WEB服務器模塊中首先開啟HTTP服務線程, 等待來至于GoogleEarth的Network Link的請求,結合之前更新在結構體中的坐標信息,生成用來改變Google Earth顯示的KML文件,并響應Google Earth.這里有三個KML文件,其中Network Link中的URL直接指向http://127.0.0.1:5080/index.kml.這里的5080是WEB服務器注冊的端口號。

  3.3.5 預定軌跡導航模塊分析

  圖6 預定軌跡導航及越界警報模塊

  圖6 預定軌跡導航及越界警報模塊

  預定軌跡導航及越界警報模塊中,首先在導航之前要加載預定軌跡。

  為了便于繪制和存儲,我們就采用Google Earth中對軌跡的存儲的KML軌跡文件作為預定軌跡的載體。在加載完預定軌跡之后就可以開啟GPS導航,串口通訊模塊不斷的讀取當前坐標信息,而系統(tǒng)專門啟動一個線程定時的去檢測當前坐標與預定軌跡之間的距離,當超出設置的預定軌跡的范圍的時候,即偏離預定軌跡時,啟動警報系統(tǒng),發(fā)出聲音警報,提醒用戶當前坐標已經偏離預定的軌跡范圍了。若是沒有偏離預定軌跡,則線程睡眠一段時間,再次檢測當前位置與預定軌跡之間的距離,開始下一輪的檢測與警報。



評論


相關推薦

技術專區(qū)

關閉