基於GPS和電子海圖的嵌入式船舶導航系統設計

來源:互聯網
上載者:User
 

基於GPS和電子海圖的嵌入式船舶導航系統設計
[日期:2008-9-3] 來源:電子技術應用  作者:胡 力, 陳耀武, 汪樂宇 [字型: ]

 

以GPS和電子海圖為技術核心,為航海使用者提供安全航行所必需的海圖、航路等資訊的船舶導航系統目前正在全世界得到廣泛應用,大大提高了船舶導航技術與船舶航行的安全性。
  船舶導航系統目前主要有PC機系統、單片機系統和嵌入式系統等三種實現方式。常見的PC機船舶導航系統採用基於Windows的GIS軟體(如MapInfo、MapGIS)設計,具有系統功能豐富、響應速度快、人機互動介面友好等特點,但成本較高、系統整合度差,不適合作為專業系統使用。單片機電子海圖應用系統由於處理器運算能力較弱,資源有限,支援網路化困難,而且在圖形化使用者介面實現較為困難,近年來已較少使用。隨著嵌入式系統的發展,電子海圖應用系統有了更好的選擇,使用嵌入式32位處理器和嵌入式作業系統的產品逐漸出現。由於系統整合度高、硬體成本較低等特點,在近幾年獲得較多應用。而採用Windows CE、Vxworks、Palm OS等商用嵌入式作業系統,存在軟體開發成本較高的缺點。
  本文提出並設計了一種基於GPS和電子海圖,使用嵌入式32位處理器和嵌入式Linux的船舶導航系統。該系統採用Motorola公司的MPC823E嵌入式處理器,外接GPS接收儀和256色液晶顯示器,基於嵌入式Linux作業系統,具有源碼開放、易移植、模組化、資源豐富的優勢。圖形化使用者介面(GUI)採用QT/Embedded圖形開發庫,電子海圖使用海司航保部的符合國家軍用標準的向量海圖,並預先對電子海圖資料進行預先處理,刪除冗餘資料,進行二維幾何資料壓縮,建立網格索引。在此基礎之上進行船舶導航系統軟體設計,使得系統響應速度大大加快。
1 系統硬體結構和軟體開發平台
  系統整體結構1所示。本系統使用Motolora公司的MPC823E嵌入式處理器,該處理器採用嵌入式PowerPC處理核,採用RISC技術,主頻為75MHz,具有強大的處理能力,並針對通訊進行最佳化,通過獨立的通訊處理模組(CPM)專門處理通訊事務。系統通過通用序列匯流排控制器(USB)外接鍵盤和滑鼠;通過液晶顯示(LCD)控制器外接一個256色的TFT LCD 640×480彩色液晶顯示器,用於圖形化使用者介面的顯示;通過RS232外接GPS接收儀;系統外擴32MB Flash空間,用於儲存Linux核心、應用程式和電子海圖資料;系統外擴32MB SDRAM,用於作業系統記憶體空間,存放動態資料和運行程式。

  系統軟體基於嵌入式Linux作業系統,使用C++語言進行軟體開發,並選擇QT/Embedded作為圖形化使用者介面(GUI)開發環境。QT是Trolltech公司推出的跨平台C++圖形使用者開發庫,QT/Embedded是QT面向嵌入式應用的版本,具有可移植性強,支援Linux、Windows、Mac的優點,移植到新平台時,只需用該平台的編譯器重新編譯即可;物件導向,採用C++語言,加上特有的訊號/槽(singal/slot)機制,使得物件導向的程式設計變得簡單而有效;可裁剪,通過去掉無關模組可以調整庫檔案的大小,適合嵌入式系統使用;GUI介面支援大量標準的視窗組件,並提供了介面設計工具designer;支援國際化,支援中文顯示,並提供了多語言支援工具linguist。QT/Embedded強大的圖形繪製功能在電子海圖的應用系統中得到了充分的應用。
  系統從全球定位系統GPS即時擷取船舶位置(包括經緯度與時間等)和航行資訊(包括船速與航向等),在電子海圖上顯示相關導航資訊,使用者通過精簡的滑鼠鍵盤操作,提供海圖漫遊、海圖查詢和航行資訊管理等功能。
2 電子海圖資料處理
2.1 電子海圖資料群組織結構

  本系統使用海司航保部的軍用向量海圖格式MVCF(Military Vector Chart Format)[1]海圖。MVCF以圖幅為單位組織,採用目錄結構,目錄名即為電子海圖的編號。一個圖幅目錄由一個中繼資料檔案和多個海圖層次檔案組成。中繼資料檔案記錄每幅圖的比例尺、基準緯度等控制資訊,海圖層次檔案由40多種圖層檔案組成。例如海洋陸地層、港口設施層等。每一種圖層檔案由圖形檔案、索引檔案和屬性檔案組成。其中圖形檔案記錄了海圖要素的墨卡托投影座標資料,索引檔案記錄了對應的圖形檔案中海圖要素在圖形檔案中的位移量,屬性檔案是dbase表檔案,記錄了海圖要素的屬性,包括要素的名字、備忘等。
  這樣一幅海圖包括130多個檔案,本系統使用的海圖包括中國總圖、沿海航行圖、港灣圖等共74幅海圖,佔用空間260多MB。由於嵌入式系統儲存空間和處理器運算能力的限制,需要在PC機上對電子海圖進行資料精簡壓縮和最佳化,以提高系統響應速度。
2.2 電子海圖資料壓縮
  (1)刪除冗餘資料
  MVCF海圖資料量大,線狀要素和多邊形要素細節豐富,而嵌入式電子海圖應用系統由於液晶顯示器的大小和解析度的限制,有相當一部分資料浪費。本系統使用的液晶顯示器解析度為640×480,長和寬為21cm×15cm,可以計算出像素間距約為0.031cm。用各種比例尺的電子海圖顯示時,線狀或面狀實體的某些點的間隔如果小於像素間距,顯然無法顯示,應刪除這種冗餘點。以像素間距作為閥值,刪除海圖冗餘資料,演算法如下:
  選定一個線狀或面狀實體,順序遍曆其座標點,除起點和終點外,對每個點計算該點與上一個點的距離,若小於閥值,則刪除該點。
  (2)二維幾何壓縮
  使用合適的二維幾何壓縮演算法能使電子海圖在保持形狀的前提下減少資料量。本系統使用Douglas-Poiker演算法[2]進行線狀和面狀實體的壓縮。該演算法的思想是,從一個近似的形狀開始,逐步修正。該演算法同樣需要一個閥值,本系統可使用上文的同一閥值。以面狀實體為例,演算法過程如下:
  選擇多邊形P的兩個頂點V1和V2,考慮V1、V2,V1組成的多邊形Q是P的一個近似,掃描P中其他頂點,選擇距離Q的邊最遠的頂點W,把W加入到Q中形成新的多邊形,繼續掃描P中的其他頂點,直到P中剩餘的頂點距離Q邊的最長距離小於閥值為止。多邊形Q即為壓縮結果。
2.3 建立網格索引
  高效的索引結構是提高資料訪問效率的關鍵。MVCF海圖資料量大,電子海圖應用系統實際使用過程中,顯示的地區通常只是一個圖幅的一部分,如果能快速搜尋到這部分的海圖資料,系統的響應速度將大大提高。本系統使用網格索引,MVCF海圖按比例尺分為從1:4000000到1:25000共10多級,對每一種比例尺的海圖,都建立一個網格索引,方法如下:
  用一個矩形網格與海圖要素逐個進行相交或包容判斷,凡是在網格中的海圖要素,就記錄下該要素在圖形檔案內的位移量,最後形成網格索引檔案。其中,多邊形要素與矩形網格的相交判斷方法是,若多邊形的一部分端點落在矩形內,而另一部分卻落在矩形的外部,則兩者是相交的;多邊形與矩形的包容判斷是,若多邊形所有的端點落在矩形內則是包容於關係,若矩形所有的端點落在多邊形內則是包容關係。線狀要素也可用相似的方法判斷。
3 系統軟體的設計與實現
  系統軟體2所示,主要由以下模組組成:系統介面與管理模組、海圖資料模組、海圖演算法模組、海圖顯示模組、航行資訊管理模組、GPS接收模組等。

  系統介面與管理模組:實現系統主介面和操作菜單,通過調用其它模組實現海圖漫遊、自動對中、海圖查詢、管理航線、儲存航行記錄等功能。
  海圖資料模組:負責讀取電子海圖檔案,實現海圖查詢功能。通過dbase屬性檔案搜尋地圖要素,可以通過SQL語句在屬性檔案中找到該要素,從而得到該要素在索引檔案中的位置。
  海圖演算法模組:包括程式中用到的各種演算法,如地理座標、墨卡托投影座標和螢幕座標之間的相互轉換[3],點與點、點與線之間距離,線的長度,多邊形的周長和面積等。
  海圖顯示模組:海圖顯示是系統的核心模組。該模組根據管理模組給出的中心點位置及顯示範圍的參數,確定需要繪圖的網格,根據網格索引,快速完成繪製海圖的功能。考慮到海圖漫遊通常是連續的,使用了位元影像緩衝來提高響應速度,每次畫圖的時候,先在緩衝中找,找不到則擴大範圍畫圖,並儲存到位元影像緩衝,對緩衝的管理採用最近最少使用替換演算法(LRU)。具體流程3所示。

  航行資訊管理模組:完成航線設定、航線位移警示、儲存航跡等航行管理功能。航線設定是根據航海使用者對目的點的連續選取,形成一條航線,並對該航線設定一個偏航極限。本模組定時從GPS接收模組擷取地圖座標資訊,判斷當前位置到航線的距離,若超出偏航極限,則發出警示。航跡儲存是定時記錄船舶位置並顯示,醒目、直觀的航跡顯示可以使航海人員對船位資訊、航行曆程及周邊環境有清楚的瞭解。
  GPS接收模組:負責定時讀取GPS接收儀的資料,解析出地理經緯度座標、時間、航速與航向等資訊。外置的GPS接收儀通過RS232串連到系統,GPS接收儀會定時往系統發送符合NMEA(美國航海電子協會)標準的資料。該模組只需定向讀取RS232串口資料,根據NMEA格式解析出地理經緯度座標、時間、航速與航向的資訊即可。

  本系統的部分介面4所示。目前本系統已經出海試運行,實踐證明本系統能即時顯示船舶當前航行狀況,快速響應使用者操作,為航海人員提供可靠的電子海圖資訊。
  隨著嵌入式技術的發展,嵌入式系統裝置的效能逐步提高,船舶導航系統的構建有了更多的選擇。本文提出的基於GPS和電子海圖的嵌入式船舶導航系統,使用嵌入式32位處理器和嵌入式Linux作業系統,具有海圖漫遊、海圖查詢和航行資訊管理等豐富的功能,具有經濟實用、操作簡便、功能可靠、快速響應的優點,已經得到實際的海上應用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.