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