定位系統軟件設計
定位系統軟件設計
【摘要】分析定位系統軟件IPS設計的幾個(gè)問(wèn)題,包括建模,及對異常處理、通訊信號處理、繪制圖像的部分探討。
【關(guān)鍵詞】水下定位;軟件;C#
1.概述
隨著(zhù)社會(huì )的發(fā)展,海洋資源顯得越來(lái)越重要。
而人類(lèi)探索、開(kāi)發(fā)海洋資源的主要工具之一就是水下機器人。
有纜遙控水下機器人(ROV)、無(wú)纜水下機器人(AUV)是兩大發(fā)展方向。
當ROV潛入水下時(shí)通過(guò)電纜可以傳輸它的方位信息,但AUV沒(méi)有電纜就難以知道它在水下的方位了。
一般水下機器人下水時(shí)都會(huì )帶上一個(gè)聲信標,并通過(guò)費倫蒂公司海洋研究設備部(Ferr-
anti O.R.E)研制的綜合超短基線(xiàn)聲跟蹤系統Trackpoint之類(lèi)的設備,獲得水下目標相對母船的位置。
如果把這個(gè)信息輸入到計算機,并利用GPS獲得母船的經(jīng)緯度,就可以計算出水下目標的經(jīng)緯度。
Integrated Positioning System(IPS)是創(chuàng )新水下技術(shù)有限公司(Creative Underwater Technology Inc.)開(kāi)發(fā)的一套軟件,就可以進(jìn)行這樣的計算。
但IPS是一個(gè)獨立的程序,使用時(shí)需要占用一臺主機,并且購買(mǎi)IPS的價(jià)格不菲。
如果研究自主的類(lèi)似IPS的定位系統(MyIPS),不僅節約采購經(jīng)費,還可以把程序嵌入到AUV的水面監控系統中。
MyIPS綜合了多門(mén)學(xué)科,主要用到計算機圖像、通訊、信號處理、大地測量等。
2.系統結構
2.1 硬件
工控機一臺,有25針和9針RS-232串口各一個(gè);
4410D型TrackpointⅡ,帶發(fā)聲器,應答器;
NovAtel公司OEM4型GPS卡。
2.2 系統結構
MyIPS利用4410D型TrackpointⅡ獲取水下目標的相對位置,用GPS卡獲得母船的大地坐標。
然后計算出水下目標的大地坐標。
其結構如圖1所示:
3.數學(xué)模型
從系統結構圖可以看到,MyIPS有兩個(gè)數據源:TrackpointⅡ數據和GPS數據。
MyIPS的關(guān)鍵就是從這兩組數據計算出所需。
如果歸結成數學(xué)問(wèn)題就是已知橢球面上一點(diǎn)的經(jīng)度緯度(母船的經(jīng)度緯度,由GPS獲得),橢球面上另外一點(diǎn)至該點(diǎn)的大地線(xiàn)長(cháng)度和大地線(xiàn)的方位角(水下目標相對母船位置,由TrackpointⅡ獲得),推求另外一點(diǎn)的經(jīng)度緯度。
這是高等大地測量學(xué)中的大地主題正解問(wèn)題。
如圖2所示:橢球面極三角形PAB,P為極點(diǎn),A點(diǎn)為橢球面上一已知點(diǎn),大地線(xiàn)AB的大地方位角A1.2亦為已知值,且已知A及B兩點(diǎn)間的大地長(cháng)度S1。
求B點(diǎn)的經(jīng)度緯度。
對這個(gè)問(wèn)題我國著(zhù)名大地測量專(zhuān)家張志新曾于六○年代提出過(guò)計算公式,見(jiàn)參考文獻[1、2]。
這里根據實(shí)際的需求情況,在允許的誤差范圍內進(jìn)行簡(jiǎn)化,以便于計算。
當聲信標的類(lèi)型為T(mén)RANSPONDER或RESPON-DER4410D型TrackpointⅡ的絕對精度如下表所示:
實(shí)際上4410D型TrackpointⅡ的有效距離為2km,當距離為2km時(shí)TrackpointⅡ的誤差至少為2km×0.5%=10m。
參考“國際橢球”的參數,取地球的曲率半徑=6,371,228米,在以為半徑的球體中,弦長(cháng)L=2km對應的弧長(cháng)S為:
S=2×arcsin=2×6371228×acsin ()≈2000.0188m
S-L=0.0188<<10m.
S和L的值相差不大,遠小于Trackpoint的10m誤差,因此就把TrackpointⅡ測量的距離當做兩點(diǎn)間的大地線(xiàn)長(cháng)。
同時(shí)以平面坐標系來(lái)計算B點(diǎn)的坐標。
同樣采用“國際橢球”的參數。
如圖3所示,A點(diǎn)為母船位置,用GPS獲取該點(diǎn)的經(jīng)緯度,B點(diǎn)為水下目標的位置。
當Trackpoint系統連接上COMPASS后,將COMPASS/RS232 DATA設置為以正北為基準,Trackpoint輸出的BRG(BEARING,目標方向)就是∠NAB,X就是△x,Y就是△y。
則:
緯度差為:360°×;
經(jīng)度差為:360°×。
若COMPASS/RS232 DATA沒(méi)被設置為以正北為基準,則∠NAB=HDG(HEADING,母船方向)+BRG(BEARING,目標方向),又因為AB=S.R.(SLANT RANGE,斜距),則△x=S.R*sin∠NAB,△y=S.R*cos∠NAB。
用A點(diǎn)(母船)的經(jīng)緯度相應加上經(jīng)度緯度差就得到B點(diǎn)(目標)的經(jīng)緯度。
在距離不遠的情況下,這樣計算的精度就可以滿(mǎn)足要求了。
4.軟件設計
4.1 設計概要
本人使用的是Visual C#.NET,所以以下舉例是基于C#語(yǔ)言。
MyIPS具有可視化的界面,有便捷的操作菜單和工具條,其界面如圖4所示:
MyIPS不僅以數字的形式反映數據,還可以圖形的方式直觀(guān)的反映出,母船與水下目標的位置關(guān)系。
程序簡(jiǎn)要流程圖如圖5所示:
4.2 主要技術(shù)及算法
、佼惓L幚
當要從COM1和COM2讀取數據,及試圖和數據庫連接時(shí)可能出現異常情況。
因此使用try-catch 語(yǔ)句對可能出現的異常進(jìn)行處理,以增強軟件的健壯性。
實(shí)際使用中COM端口可能會(huì )被占用或其它故障,以致無(wú)法使用。
將打開(kāi)COM端口的命令放到try語(yǔ)句塊中,則當出現以上可能時(shí),程序轉到catch語(yǔ)句,執行異常情況下的處理程序。
、跀祿幚
Trackpoint輸出的數據格式有九種,而GPS輸出的數據也有好幾種。
以GPS的GPGGA格式數據為例: $GPGGA,082631.00,3041.4634,N,11118.4636,E,1,06,1.5,128.29,M,-24.23,M,,*46
這是一條完整的GPGGA格式的GPS數據,可以看到數據的開(kāi)頭有一個(gè)標識符號$,當從緩沖區讀取數據時(shí),讀到$字符就表示后面的數據就是要提取的有用信息。
對于Trackpoint輸出的NMEA ORE、NMEA TTM格式的數據也是以“$”符號作為開(kāi)始標志。
NCSC格式以“J”符號作為開(kāi)始標志,其它格式的數據雖然沒(méi)有特殊的符號作為開(kāi)始標志,但它們的開(kāi)頭都包含時(shí)間信息如“16:55:32”,但讀到相隔兩個(gè)字符長(cháng)度的“:”時(shí),就表示一條數據開(kāi)始了。
數據處理的代碼如下:
取出各有效字段后,還要將其類(lèi)型由字符串型轉化成浮點(diǎn)小數型,再進(jìn)行數據計算,并把結果存儲到數據庫文件中去。
、劾L圖
假設以母船為中心,在800*600的矩形中心畫(huà)上船的標記,同時(shí)定義一個(gè)變量Tick作為放大倍數。
母船的位置在屏幕上以像素表示為點(diǎn)(400,300),經(jīng)度和緯度差的數值很小,在距離近時(shí)可能只有0.0001°的差別,因此需要將經(jīng)緯度差乘上Tick,比如:當Tick=10000時(shí),則經(jīng)緯度每變化0.0001°,在屏幕上的變化就是一個(gè)像素的位移。
屏幕的像素是以左上角為原點(diǎn)的,如果按上北下南左西右東的方向在屏幕上建立坐標系,則目標B點(diǎn)的像素坐標表示成如下(在東北半球時(shí)):
=+Tick×△x(=400,為A點(diǎn)像素的X坐標);
=-Tick×△y(=300,為A點(diǎn)像素的Y坐標);
當在其它半球時(shí)需相應變換正負號。
若定義兩個(gè)變量WE和NS,當在東半球時(shí)WE=1,在西半球時(shí)WE=-1;
當在南半球時(shí)NS=1,在北半球時(shí)NS=-1;
修改上面公式成:
=+WE×NS×Tick×△x(=400,為A點(diǎn)像素的X坐標);
=+WE×NS×Tick×△y(=300,為A點(diǎn)像素的Y坐標);
WE和NS的取值可由GPS數據判斷。
如:
$GPGGA,082631.00,3041.4634,N,11118.4636,E,1,06,1.5,128.29,M,-24.23,M,,*46
通過(guò)數據分析函數可以提出第3和第4個(gè)逗號之間的字符“N”,表示在北半球,所以NS=-1,同樣“E”表示在東半球,所以WE=1。
另外,視圖的放大和縮小按鈕可以改變Tick的大小,然后刷新視圖,這樣可以滿(mǎn)足目標和母船距離遠近不同時(shí)在屏幕上的反映。
5.結論和建議
從上述可以看出,設計IPS的主要技術(shù)并不復雜,但實(shí)際中因為T(mén)rackpointⅡ和GPS發(fā)送數據的速率不同,要想更快的分析數據,還必須研究?jì)?yōu)化的算法。
為了提高在遠距離時(shí)計算結果的精度,還要對數學(xué)模型進(jìn)行改進(jìn),添加修正參數。
參考文獻
[1]張志新.大地坐標計算公式[J].測繪通報,1956,2(4).
[2]張志新.遠距離大地坐標正反解公式[J].測量制圖學(xué)報,1958,2(3).
[3]OPERATION AND MAINTENANCE MANUAL FOR THE ORE MODEL 4410D-01 TRACKPOINT Ⅱ Plus SYSTEM.
【定位系統軟件設計】相關(guān)文章:
軟件設計咨詢(xún)合同04-08
[精品]軟件設計大賽策劃書(shū)12-22
確定位置教案10-23
市場(chǎng)定位策劃書(shū)12-05
凈水器廣告定位語(yǔ)11-20
職業(yè)規劃目標定位06-19
監控系統方案優(yōu)秀 監控系統方案書(shū)04-12
家居類(lèi)產(chǎn)品定位廣告語(yǔ)11-05
人參露易拉罐飲料定位語(yǔ)11-15
修腳器品牌定位廣告語(yǔ)08-27