模型設計原因:
GPS有著全球性、全天候、即時性的導航優勢,但是當遇到城市高層建築物、林蔭道、立交橋及涵洞隧道等衛星訊號“盲區”時,GPS便不能為使用者提供精確的導航資訊,尤其是連續的導航資訊。航位推算(DR,Dead-Reckoning)主要是利用方向感應器(陀螺儀)和速度感應器(裡程儀)來推算車輛的瞬時位置,可以實現連續自主式定位。但由於其推算過程是一個累加過程,方向感應器的誤差會隨時間的延長而積累;另外,DR推算只能確定物體的相對位置和航向。考慮到GPS導航和DR自主式導航的優缺點,可以將GPS和DR結合起來可以起到互補的作用。DR可以有效解決GPS的“盲區”現象,GPS可以抑制DR的誤差積累,並且解決DR的相對航向問題。
GPS的工作原理:
GPS系統組成有三部分:空間部分、地面支撐部分、使用者接收機部分。
我們主要關心的是使用者接收機部分。GPS接收機按功能用途可以分為很多種,我們主要關心的是導航型。運用GPS進行測量和導航的方法也有很多種。
1. 單點定位:只要一部GPS接收機,主要接收衛星發射L1載波上的C/A碼,誤差一般在0-15米,其中5米左右的機率較大。當然型號不同可能可能精度也有所不同。但是最大誤差不可能小於15米。
2. 靜態測量:主要是三台GPS同時工作,精度較高,主要應用於控制點的測量。
3. 後處理動態(PPk):屬於靜態測量,需要兩天GPS接收機同時工作,精度主要在0-1.5米,基本可以滿足我們工作的需要。
4. 偽距差分(PDK):需要用到沿海地區的信標台,所以主要應用於沿海地區,精度在1米左右。它用到了差分技術。
5. 載波相位差分(RTK):也用到了差分技術,兩台GPS接收機需要即時的通訊,所以對接收機的要求也比較高。所以造價也較高。
考慮這幾種測量方法,我們可能主要用的是單點定位和後處理動態(PPK)所以主要瞭解的是這兩種方法的工作原理。
單點定位:
GPS接收機主要接收衛星發射L1載波(L2C和L5目前只要幾顆衛星上存在)上的C/A碼,同時還要受SA(美國為了降低衛星精度而添加的幹擾)
所以精度較低,一般為0-15米,其中誤差主要集中在5米左右。
單點定位元影像
衛星通過L1載波向GPS接收機發射星曆檔案,星曆檔案主要包括每個衛星在WGS-84座標系中的精確位置,衛星時間,衛星發射載波的時間等。衛星1的座標為(x1,y1,z1)衛星2(x2,y2,z2)、衛星3(x3,y3,z3)、衛星4(x4,y4,z4)。根據空間中求兩個點直接的距離公式,我們只要三顆衛星就可以求出來GPS接收機在84座標系中的位置,但是因為衛星的時間和GPS接收機的時間有可能不同步,它們之間有可能又時鐘差,所以另外一顆衛星主要是求時鐘誤差。也就是為什麼單點定位必須要有4顆衛星訊號才行。這部分可能會牽涉到的程式設計主要是對星曆檔案和鐘差(由於衛星時間和接收機時間不同步造成的)這些資料的操作,GPS接收機計算出來的座標資料的讀存操作。應該不是系統設計的重點和痛點。況且銷售GPS接收機的廠家也應該有相應的成品軟體。
後處理動態(PPK):
需要兩台接收機同時工作,一台放置在一個已知點上,作為基準站,另一台作為測量用,兩台接收機之間不需要進行即時的通訊,每一台接收機的工作原理就相當於單點定位,兩台接收機之間的距離不能太大,一般為15公裡左右,另外:兩台接收機需要同時接收五顆相同衛星的訊號(其中一台主要用於參照)。主要原理:基準站的接收機接收的訊號和用於測量的接收機接收的訊號進行比對,從中除掉因電離層幹擾、軌道誤差、大氣層折射等因素引起的誤差。
後處理動態圖
基準站要先開機,按時間段記錄資料(比如一秒一次),第一秒它測出基準站的位置座標為(X1,Y1,Z1),以後依次為:(X2,Y2,Z2)、(X3,Y3,Z3)、(X4,Y4,Z4)……..而用於測量的接收機在A點第二秒測得的資料是(xa,ya,za)。因為兩台接收之間的距離和衛星與接收機之間的距離相比,兩台接收機直接的距離可以忽略(15/20200),從而所受的電離層幹擾、軌道誤差、大氣層折射等誤差可以視為相同,因此先利用基準站求出誤差常數,依次為:Tx =X2-X,Ty=Y2-Y,Tz=Z2-Z。所以A點的精確座標應該為測量值加上A點的誤差常數即為:(xa+Tx,ya+Ty,za+Tz), B、C點依次。兩台接收機的資料必須進行比對才能求出比較精確的座標值,所以這種方法即時性較差。這部分的程式設計和單點定位的程式設計一樣主要是對星曆檔案和鐘差還要兩個接收機的資料進行比對,對大量資料的操作。程式也應該不是系統設計的重點和痛點。
陀螺儀和裡程儀:
陀螺儀按工作原理和功能也可以分為很多種,有:光纖陀螺、微機械陀螺、電子陀螺等。用於導航的主要是電子陀螺。電子陀螺主要是替代以前的磁羅盤,磁羅盤是依靠物理磁介質通過地球磁場來擷取磁北方向,因為是物理磁介質所以很容易受到外界影響,然而電子陀螺可以克服這個缺點。所以電子陀螺的定位原理和磁羅盤一樣:通過地磁場獲得磁北方向,然後再擷取汽車行使的方向,從中記錄汽車行使方向和磁北方向的夾角(磁偏角),依靠此夾角對汽車進行導航。不同型號的儀器有不同的參數。陀螺儀通常和裡程儀同時使用,裡程儀主要通過獲得的脈衝訊號和所用的時間來獲得汽車行使的即時距離。在它們的組合中我們可能主要關心的是夾角,角速度,加速度,脈衝數等參數。如果有方向(夾角),有距離,又有初時點的座標,數學上很容易求得另一個點的座標,無論是分散的還是連續的。
這部分的程式設計應該也是一些關於資料的操作和一些串口問題,還有一些數學公式的編寫,也不應該是系統設計的重點和痛點。
GPS接收機有自己無可比擬的優勢,但是也有不可避免的缺陷,比如衛星訊號盲區。DR推算也是一樣,有自己的優勢和缺陷,缺陷:需要初時化、存在誤差累積,所以在汽車導航中將兩種儀器結合是一種很好的方法。
系統設計方案一:
將單點定位和DR推算通過資料融合演算法結合起來,目前用於汽車導航的資料融合演算法主要是卡爾曼濾波演算法,卡爾曼濾波又分為分布式卡爾曼濾波和集中式卡爾曼濾波兩種,目前應用與汽車導航的主要是分布式卡爾曼濾波。將單點定位和DR推算通過卡爾曼濾波的融合,能夠有效防治GPS資料的漂移、DR推算過程中的誤差積累。基本原理
單點定位和陀螺儀結合使用圖
開始時,GPS接收機接收GPS資訊得到開始位置的座標(xg,yg,zg),然後用這個值初時化DR推算,然後將兩個值通過卡爾曼濾波融合,即得到開始位置的相對準確座標(X1,Y1,Z1),開始的時候GPS的值必須相對精確(因為需要初時化DR推算的值),這樣就要求GPS接收機在開機時需要在同一個地方停留一段時間,這樣DR有了初始值就可以推算出一個值(xd,yd,zd)(對DR推算來說它只需要初時值就行了),然後將(xg,yg,zg),(xd,yd,zd)通過資料融合求出開始位置相對精確的座標(X1,Y1,Z1)。當汽車行使到第二個點的時候,GPS接收機可以得到第二個點的座標(xg2,yg2,zg2),通過開始位置的精確值(X1,Y1,Z1)初始化DR推算,再利用DR測出的方向和時間,即可推算出第二個點的座標(xd2,yd2,zd2),然後再將DR推算出的值和GPS接收機算出的值通過卡爾曼濾波融合,這樣就求出了第二個點的相對精確座標(X2,Y2,Z2),以後依次。當GPS接收機接收不到衛星訊號時,此時全部依靠DR進行推算,推算的初始值為上一時刻經過卡爾曼濾波輸出的精確值。在沒有衛星訊號時,DR推算可能會出現誤差的累計現象。
這種方法的重點和痛點應該是卡爾曼濾波的融合演算法,卡爾曼濾波也應該是整個系統的重點和痛點。因為關於卡爾曼濾波的資料相對較少,另外卡爾曼濾波所涉及的數學知識較深,數學面也比較廣,很難完全領悟其融合演算法的實質。目前只能最簡單的進行類比(簡化大量考慮因素),另外到目前為止還有很多關於卡爾曼濾波的問題沒有解決,自己對卡爾曼濾波的理解也無法的到完全的肯定。這個系統中可能牽涉到的其它程式模組應該有不同座標系的座標轉換、大量資料的讀存、GPS訊號傳遞通訊協定、資料在儀器之間相互傳遞程式、DR推算的資料和GPS接收機測量的資料進行互操作,另外就是軟體的介面等。在這些模組中,雖然有些功能無法完全類比,但這些應該不是系統的痛點。
方案的優缺點:
優點:系統的即時型較好,整個系統的造價(主要是儀器)不高,系統比較靈活,系統的誤差比較穩定(能有效抑制GPS的漂移現象)。
缺點:誤差範圍可能較大(0—15米),資料需要即時處理。
第二種設計方案:
考慮到我們我們主要的應用是道路的測量,對即時性要求不高,所以我們可以將後處理動態(PPK)和DR推算結合使用。
工作原理
用於測量的接收機和陀螺儀的結合使用
假設點A、B、C、D、E、F是將要測量地點,衛星訊號在A、B、C、F處訊號好(衛星數大等於4顆),而在D、E、處沒有衛星訊號,或者衛星訊號差(衛星數小於4顆),同時基站的GPS接收機一直處於工作狀態。用於測量的GPS接收機可以很順利的獲得A、B、C、F四點的座標,分別為(xa,ya,za)、(xb,yb,zb)、(xc,yc,zc)、(xf,yf,zf),當接收機位於D點時,因為沒有了衛星訊號,系統作一個記錄(比如以時間為紀錄),表示此刻沒有衛星訊號或者訊號不全,此時調用陀螺儀導航,系統取得上一個位置(C點處)的座標,用上一個座標值初始化陀螺儀。C-D的過程中陀螺儀記錄了角度a1這個值,通過角度a1和裡程儀再推算出D點的座標,再用D點推算E點直到衛星訊號豐富的F點,這裡D、E兩點的座標雖然可以推算來,但因C點不夠精確,所以DE兩點的座標也是不夠精確的,我們只要記錄下了C點到D點的角度和裡程儀所接收到的脈衝數就行了,D點到F點也一樣。用於測量的接收機儲存的資料就有(xa,ya,za)、(xb,yb,zb)、(xc,yc,zc)、(xf,yf,zf),陀螺儀的角度a1,a2,a3,裡程儀脈衝數m1,m2,m3;這幾個主要的值,然後再將(xa,ya,za)、(xb,yb,zb)(xc,yc,zc)、(xf,yf,zf)這四個值和基站同一時刻所測量的值進行比對,除掉由於共同原因(電離層幹擾、軌道誤差、大氣層折射)所產生的誤差,也就是運用PPK技術得到相對準確的ABCF點的座標,然後用相對準確的C點的座標初始化陀螺儀,利用陀螺儀所記錄的角a1,a2,a3和脈衝數m1,m2,m3,這幾個量來推匯出DE點的精確值。
當然測量資料的過程也可以用方案一的方法代替,也就是用於測量的GPS接收機和陀螺儀結合卡爾曼濾波求出每一個點的座標值,同樣這個過程也需要記錄沒有衛星訊號的標記,然後再將融合後的資料和基站的測量資料進行比對,除掉一些誤差,因為卡爾曼濾波除掉的誤差主要是訊號的漂移,和陀螺儀誤差累計等,這些誤差產生的原因和後處理靜態(PPK)所處理誤差的產生原因(電離層幹擾、軌道誤差、大氣層折射)不一樣。所以資料的精度原理上應該更高,但如果它們誤差產生的原因相同,那麼這種方法便行不通。
這個方案系統設計其實是分為兩個過程的:第一:GPS接收機和陀螺儀這一部分,可能牽涉到的問題有:座標的轉換(包括座標系的選擇),GPS資料的接收,對GPS資料的分析(判斷衛星個數),GPS和陀螺儀工作模式的互換,陀螺儀資料的接收等。如果運用濾波處理還要考慮卡爾曼濾波這一塊。第二:基站的資料和測量的資料比對,可能牽涉到的問題有:對星曆檔案的分析,對大資料量的操作,資料在不同機器上的相互傳遞,求取沒有衛星訊號的那些點座標的演算法(主要是數學公式的編寫),座標的轉換問題。
系統設計的缺點:可操作性差不夠靈活(每測量一個地區需要先找到一個已知點),系統的造價高(需要兩台接收機),即時性差(兩台接收機上的資料需要進行比對才能得出比較精確的結果)。唯一的優點就是精度較高(1-1.5米)。
以上的對GPS接收機和陀螺儀的描述,主要是自己對它們的一些理解和認識,很多內容自己也無法得到完全肯定,另外第一種系統方案目前比較通用(主要應用於汽車即時導航),第二種方案完全是自己為了滿足測量的需要而想象的,其可行性究竟有多高,自己沒有更深入一步的去瞭解。兩個系統涉及到程式模組的也只是自己想到的可能會用到的知識和可能會出現的問題,可能還有很多因素沒有考慮。
作者:張宇
轉載的朋友請一定註明出處謝謝!半支煙阿傑
http://blog.csdn.net/gisfarmer/