筆記本計算機與GPS構成實(shí)時(shí)立體導航系統的研究
關(guān)鍵詞:實(shí)時(shí) 立體 導航 GPS 3S
1 引言
對于實(shí)時(shí)導航而言,往往不能將所有的地圖全部調入內存而必須很好的管理圖庫[1],而在導航精度方面GPS的精度與導航圖的精度都同等重要[2]。但無(wú)論何種導航,使用者往往要通過(guò)圖上表示的地物和現地地物來(lái)識別位置,本文所建立的立體導航圖正是為提高導航圖的易識別性來(lái)提高導航的效果。
本文所建立的實(shí)時(shí)立體導航系統可以很方便地用做車(chē)載GPS,其成本較低。由于GPS和筆記本計算機的更新速度都很快,本系統能同時(shí)獲得兩方面的科技進(jìn)步的支持,有更多的可選擇性。
2 立體導航圖的研制
立體導航圖是根據等高線(xiàn)及地圖來(lái)進(jìn)行創(chuàng )建的,將等高線(xiàn)表達的地形作為場(chǎng)景幾何并假設了太陽(yáng)光照模型的條件下,應用掃描算法或光線(xiàn)跟蹤算法編程創(chuàng )建立體地形圖[3],再將立體地形圖與地圖合成立體地圖并賦予相應坐標系即是立體導航圖。
立體導航圖是光柵圖像,筆記本用的光柵圖像顯示器的屏幕由一系列顯示單元組成,每一個(gè)顯示單元為一個(gè)象素,生成立體圖時(shí),必須逐個(gè)像素地計算畫(huà)面上相應景物表面區域的明暗度,為此不但要考慮光源對該區域入射光亮度和光譜組成,而且還要考慮該表面區域對光源的朝向,表面的反射性質(zhì),所以,建立立體導航圖必須基于一定的光學(xué)物理模型。
2.1 場(chǎng)景坐標系
景物立體圖像的建立是在三維直角坐標系統中進(jìn)行的,首先必須確定XY平面。地球表面是曲面,必須將曲面投影成為平面,并將此平面定義為立體地形圖的XY平面,將高程方向定義為場(chǎng)景坐標系的Z軸方向。本文所建立的立體導航圖的立體造型是在Gauss-Kruger投影下的坐標系中進(jìn)行的,Gauss-Kruger投影是等角圓柱投影,沿赤道每6°分帶。本文的場(chǎng)景選在黑龍江省尚志縣境內的帽兒山地區,該地區在投影分帶中處于22帶,所以,XY平面是以赤道為x軸,129度經(jīng)線(xiàn)為Y軸的直角坐標系。在這一坐標系下對地形的表示和運動(dòng)描述比較方便。需要注意的是,Gauss-Kruger投影中的x方向應設為場(chǎng)景坐標系的Y方向,而Y方向應設為X方向。由于等高線(xiàn)在矢量化時(shí)就已經(jīng)是Gauss-Kruger投影,而且“UP”方向是N方向(即Y方向),所以只需將地形圖正向掃描并按圖上的坐標設置控制點(diǎn),將等高線(xiàn)矢量化即可得到正確的場(chǎng)景坐標系。
矢量的等高線(xiàn)在場(chǎng)景描述中不方便于直接操作使用,將研究區域按一定的柵格大小柵格化是場(chǎng)景描述的第二步工作,在柵格化過(guò)程中,沒(méi)有高程值的柵格通過(guò)內插處理將它們賦予高程值。而且柵格DEM的算法已有現成的程序可用。
通常每一個(gè)DEM的柵格數據使用無(wú)符號雙字節表示,但有時(shí)為節省內存空間而使用單字節,使用單字節會(huì )損失一部分地形信息。
在Visual C++編程時(shí),將場(chǎng)景坐標系中的DEM數據讀入一個(gè)雙字節的數組中使用如下的命令:
其中ar是Carchive類(lèi)的引用,m和n是DEM模型中的行數和列數,通過(guò)上述操作,即可存放全部DEM數據并進(jìn)行變換。
2.2 立體導航圖的視點(diǎn)坐標系
視點(diǎn)坐標系是指以觀(guān)察者的視線(xiàn)為Z軸,以“UP’方向為Y方向,X軸方向由Y×Z所確定的方向的坐標系。
為了建立立體導航圖就必須將場(chǎng)景坐標系變換為視點(diǎn)坐標系,其變換方程如下:
顯然變換由兩部分組成,即平移和旋轉。(1)式中前一矩陣為平移,后一矩陣為旋轉。
一般而言有了視點(diǎn)坐標系,還需將視點(diǎn)坐標系轉換至屏幕坐標系,并進(jìn)行視窗剪切,這樣產(chǎn)生的立體圖像是實(shí)時(shí)產(chǎn)生的,隨著(zhù)用戶(hù)位置和方向的移動(dòng)可以產(chǎn)生相應的移動(dòng)的實(shí)時(shí)動(dòng)畫(huà)。但這樣導航圖的實(shí)時(shí)計算時(shí)間會(huì )較長(cháng),對實(shí)時(shí)導航不利。所以,本文采用了將視點(diǎn)位置設于很遠的位置,這樣可以認為場(chǎng)景的全部區域均在視窗之內,在圖像生產(chǎn)時(shí)不需進(jìn)行視窗剪切(見(jiàn)圖1)。
創(chuàng )建了立體地形圖還必須與地圖疊加才能成為立體導航圖。立體地形圖從本質(zhì)上講仍是平面圖像,立體是在陰影的襯托下表現出來(lái)的,其平面特性即是缺點(diǎn)也是優(yōu)點(diǎn)。其優(yōu)點(diǎn)是它能很方便地與任何坐標一致的矢量和柵格圖配準。將立體的地形圖與等高線(xiàn)配準更能體現立體的視覺(jué)特性,并能適時(shí)的查詢(xún)任何位置的高程值,配準的結果見(jiàn)圖2。
立體地形圖與等高線(xiàn)配準后顯然增加了立體效果,但也增加了圖上信息的飽和度。在此基礎上疊加地圖,其效果見(jiàn)圖3。
從圖3可見(jiàn),三圖配準只能在特殊情況下或在計算機里使用,用于輸出到紙上是難以閱讀的。但在計算機中用做導航圖是非常方便和實(shí)用的,因為在計算機中立體地圖中的三層可以方便組合和縮放。
3 手持GPS與筆記本連接
3.1 手持GPS的設定
為了將GPS與筆記本計算機相連接,并將GPS的數據實(shí)時(shí)采集到計算機,必須在GPS上的參數進(jìn)行設定,并在編程時(shí)將對應的參數寫(xiě)入程序。本項研究使用了美國MAGELLAN公司生產(chǎn)的GPS 315和GARMIN公司生產(chǎn)的etrex(也稱(chēng)小博士),在此GPS 315上進(jìn)入主菜單按MENU鍵,進(jìn)入主菜單后再按“設置”鍵,在“設置”子菜單下按“波特率”,共有四種波特率供選擇:l 2 0 0、4 8 0 0、9 6 0 0、l 9 2 0 0,本文選擇傳輸波特率為9 6 0 0,在“設置”子菜單中還需要選擇相應的數據格式NMEA-0183。
NMEA-0183是美國國家海洋電子協(xié)會(huì )為海用電子設備制定的標準格式。它是在過(guò)去海用電子設備的標準格式0810和0812的基礎上,增加了GPS接收機輸出的內容而完成的。數據采用ANSI標準,以串口非同步傳送,使用ASCⅡ格式如下:
設置了傳輸參數還需要設置GPS的坐標系統和橢球參數,在GPS315中坐標系是指公里網(wǎng)坐標(USER GRID)和經(jīng)緯度坐標的選擇,這確定GPS上的顯示方式,但在傳輸時(shí)沒(méi)有差別,因為從GPS實(shí)時(shí)傳輸進(jìn)計算機的數據均是沒(méi)有經(jīng)過(guò)投影換算的經(jīng)緯度,投影換算必須在計算機中進(jìn)行。在GPS上橢球參數的設定只需要在相應的菜單中選擇BJ54即可。
3.2 筆記本計算機的設定與操作
一般而言,計算機有多個(gè)通迅端口,通迅端口的列表可以通過(guò)WINDOWS的設備管理器來(lái)查詢(xún)(COM1,COM4,COM5),當GPS與計算機的連線(xiàn)插在計算機的某一串行口(Serial Port)后,計算機對端口操作時(shí)就必須選擇相應的端口名,本文使用的COM5。在實(shí)驗中使用的是COMPAQ筆記本計算機,這一品牌的計算機沒(méi)有現成的COM端口,而只有USB接口。實(shí)驗時(shí)通過(guò)一條端口轉換線(xiàn)來(lái)模擬一個(gè)COM5端口。
在VB編程時(shí),通過(guò)加入MSCOMM(通訊控件)來(lái)實(shí)現對COM5的控制,對通訊控件的參數設置如下:
從COM5讀入計算機的數據是由(2)式定義的數據串,而這里最關(guān)心的是經(jīng)度和緯度,將讀入的經(jīng)度和緯度經(jīng)過(guò)Gauss-Kruger投影換算成為(X,Y)坐標,并將它與前面的立體導航圖進(jìn)行坐標配準便構成了立體導航系統。
在處理立體導航圖時(shí)使用了VC++,將立體導航圖用文件方式存貯。當用VB實(shí)時(shí)處理導航時(shí)將導航圖調入并與經(jīng)投影變換的GPS采集的坐標點(diǎn)配準而構成立體導航系統。
4 立體導航系統的應用
應用本文所建立的實(shí)時(shí)立體導航系統于2002年5月在帽兒山林場(chǎng)進(jìn)行了實(shí)地操作。該系統被用于對帽兒山林場(chǎng)1994年以來(lái)的采伐跡地進(jìn)行全面調查。
帽兒山林場(chǎng)從1994年至2001年間
評論