<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            定位系統軟件設計

            時間:2025-10-29 13:27:07 計算機應用論文

            定位系統軟件設計

              定位系統軟件設計

              【摘要】分析定位系統軟件IPS設計的幾個問題,包括建模,及對異常處理、通訊信號處理、繪制圖像的部分探討。

              【關鍵詞】水下定位;軟件;C#

              1.概述

              隨著社會的發展,海洋資源顯得越來越重要。

              而人類探索、開發海洋資源的主要工具之一就是水下機器人。

              有纜遙控水下機器人(ROV)、無纜水下機器人(AUV)是兩大發展方向。

              當ROV潛入水下時通過電纜可以傳輸它的方位信息,但AUV沒有電纜就難以知道它在水下的方位了。

              一般水下機器人下水時都會帶上一個聲信標,并通過費倫蒂公司海洋研究設備部(Ferr-

              anti O.R.E)研制的綜合超短基線聲跟蹤系統Trackpoint之類的設備,獲得水下目標相對母船的位置。

              如果把這個信息輸入到計算機,并利用GPS獲得母船的經緯度,就可以計算出水下目標的經緯度。

              Integrated Positioning System(IPS)是創新水下技術有限公司(Creative Underwater Technology Inc.)開發的一套軟件,就可以進行這樣的計算。

              但IPS是一個獨立的程序,使用時需要占用一臺主機,并且購買IPS的價格不菲。

              如果研究自主的類似IPS的定位系統(MyIPS),不僅節約采購經費,還可以把程序嵌入到AUV的水面監控系統中。

              MyIPS綜合了多門學科,主要用到計算機圖像、通訊、信號處理、大地測量等。

              2.系統結構

              2.1 硬件

              工控機一臺,有25針和9針RS-232串口各一個;

              4410D型TrackpointⅡ,帶發聲器,應答器;

              NovAtel公司OEM4型GPS卡。

              2.2 系統結構

              MyIPS利用4410D型TrackpointⅡ獲取水下目標的相對位置,用GPS卡獲得母船的大地坐標。

              然后計算出水下目標的大地坐標。

              其結構如圖1所示:

              3.數學模型

              從系統結構圖可以看到,MyIPS有兩個數據源:TrackpointⅡ數據和GPS數據。

              MyIPS的關鍵就是從這兩組數據計算出所需。

              如果歸結成數學問題就是已知橢球面上一點的經度緯度(母船的經度緯度,由GPS獲得),橢球面上另外一點至該點的大地線長度和大地線的方位角(水下目標相對母船位置,由TrackpointⅡ獲得),推求另外一點的經度緯度。

              這是高等大地測量學中的大地主題正解問題。

              如圖2所示:橢球面極三角形PAB,P為極點,A點為橢球面上一已知點,大地線AB的大地方位角A1.2亦為已知值,且已知A及B兩點間的大地長度S1。

              求B點的經度緯度。

              對這個問題我國著名大地測量專家張志新曾于六○年代提出過計算公式,見參考文獻[1、2]。

              這里根據實際的需求情況,在允許的誤差范圍內進行簡化,以便于計算。

              當聲信標的類型為TRANSPONDER或RESPON-DER4410D型TrackpointⅡ的絕對精度如下表所示:

              實際上4410D型TrackpointⅡ的有效距離為2km,當距離為2km時TrackpointⅡ的誤差至少為2km×0.5%=10m。

              參考“國際橢球”的參數,取地球的曲率半徑=6,371,228米,在以為半徑的球體中,弦長L=2km對應的弧長S為:

              S=2×arcsin=2×6371228×acsin ()≈2000.0188m

              S-L=0.0188<<10m.

              S和L的值相差不大,遠小于Trackpoint的10m誤差,因此就把TrackpointⅡ測量的距離當做兩點間的大地線長。

              同時以平面坐標系來計算B點的坐標。

              同樣采用“國際橢球”的參數。

              如圖3所示,A點為母船位置,用GPS獲取該點的經緯度,B點為水下目標的位置。

              當Trackpoint系統連接上COMPASS后,將COMPASS/RS232 DATA設置為以正北為基準,Trackpoint輸出的BRG(BEARING,目標方向)就是∠NAB,X就是△x,Y就是△y。

              則:

              緯度差為:360°×;

              經度差為:360°×。

              若COMPASS/RS232 DATA沒被設置為以正北為基準,則∠NAB=HDG(HEADING,母船方向)+BRG(BEARING,目標方向),又因為AB=S.R.(SLANT RANGE,斜距),則△x=S.R*sin∠NAB,△y=S.R*cos∠NAB。

              用A點(母船)的經緯度相應加上經度緯度差就得到B點(目標)的經緯度。

              在距離不遠的情況下,這樣計算的精度就可以滿足要求了。

              4.軟件設計

              4.1 設計概要

              本人使用的是Visual C#.NET,所以以下舉例是基于C#語言。

              MyIPS具有可視化的界面,有便捷的操作菜單和工具條,其界面如圖4所示:

              MyIPS不僅以數字的形式反映數據,還可以圖形的方式直觀的反映出,母船與水下目標的位置關系。

              程序簡要流程圖如圖5所示:

              4.2 主要技術及算法

              ①異常處理

              當要從COM1和COM2讀取數據,及試圖和數據庫連接時可能出現異常情況。

              因此使用try-catch 語句對可能出現的異常進行處理,以增強軟件的健壯性。

              實際使用中COM端口可能會被占用或其它故障,以致無法使用。

              將打開COM端口的命令放到try語句塊中,則當出現以上可能時,程序轉到catch語句,執行異常情況下的處理程序。

              ②數據處理

              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數據,可以看到數據的開頭有一個標識符號$,當從緩沖區讀取數據時,讀到$字符就表示后面的數據就是要提取的有用信息。

              對于Trackpoint輸出的NMEA ORE、NMEA TTM格式的數據也是以“$”符號作為開始標志。

              NCSC格式以“J”符號作為開始標志,其它格式的數據雖然沒有特殊的符號作為開始標志,但它們的開頭都包含時間信息如“16:55:32”,但讀到相隔兩個字符長度的“:”時,就表示一條數據開始了。

              數據處理的代碼如下:

              取出各有效字段后,還要將其類型由字符串型轉化成浮點小數型,再進行數據計算,并把結果存儲到數據庫文件中去。

              ③繪圖

              假設以母船為中心,在800*600的矩形中心畫上船的標記,同時定義一個變量Tick作為放大倍數。

              母船的位置在屏幕上以像素表示為點(400,300),經度和緯度差的數值很小,在距離近時可能只有0.0001°的差別,因此需要將經緯度差乘上Tick,比如:當Tick=10000時,則經緯度每變化0.0001°,在屏幕上的變化就是一個像素的位移。

              屏幕的像素是以左上角為原點的,如果按上北下南左西右東的方向在屏幕上建立坐標系,則目標B點的像素坐標表示成如下(在東北半球時):

              =+Tick×△x(=400,為A點像素的X坐標);

              =-Tick×△y(=300,為A點像素的Y坐標);

              當在其它半球時需相應變換正負號。

              若定義兩個變量WE和NS,當在東半球時WE=1,在西半球時WE=-1;

              當在南半球時NS=1,在北半球時NS=-1;

              修改上面公式成:

              =+WE×NS×Tick×△x(=400,為A點像素的X坐標);

              =+WE×NS×Tick×△y(=300,為A點像素的Y坐標);

              WE和NS的取值可由GPS數據判斷。

              如:

              $GPGGA,082631.00,3041.4634,N,11118.4636,E,1,06,1.5,128.29,M,-24.23,M,,*46

              通過數據分析函數可以提出第3和第4個逗號之間的字符“N”,表示在北半球,所以NS=-1,同樣“E”表示在東半球,所以WE=1。

              另外,視圖的放大和縮小按鈕可以改變Tick的大小,然后刷新視圖,這樣可以滿足目標和母船距離遠近不同時在屏幕上的反映。

              5.結論和建議

              從上述可以看出,設計IPS的主要技術并不復雜,但實際中因為TrackpointⅡ和GPS發送數據的速率不同,要想更快的分析數據,還必須研究優化的算法。

              為了提高在遠距離時計算結果的精度,還要對數學模型進行改進,添加修正參數。

              參考文獻

              [1]張志新.大地坐標計算公式[J].測繪通報,1956,2(4).

              [2]張志新.遠距離大地坐標正反解公式[J].測量制圖學報,1958,2(3).

              [3]OPERATION AND MAINTENANCE MANUAL FOR THE ORE MODEL 4410D-01 TRACKPOINT Ⅱ Plus SYSTEM.

            【定位系統軟件設計】相關文章:

            軟件設計咨詢合同04-08

            [精品]軟件設計大賽策劃書12-22

            確定位置教案10-23

            市場定位策劃書12-05

            凈水器廣告定位語11-20

            職業規劃目標定位06-19

            監控系統方案優秀 監控系統方案書04-12

            家居類產品定位廣告語11-05

            人參露易拉罐飲料定位語11-15

            修腳器品牌定位廣告語08-27

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院