基于CORS系統的高精度RTK定位技術設計詳解
0 引言
RTK定位技術是利用全球衛星導航系統(Global Navigation Satellite System,GNSS)進行實時動態相對定位的技術,由于RTK定位技術具有實時性好、位置精度高等優點,是地形測圖、施工放樣等領域中不可缺少的設備。
傳統的RTK定位技術在作業時,首先需要手動架設基準站,然后通過無線數傳電臺以數據鏈的形式在基準站與流動站之間傳輸差分數據。但是,有效作業距離一般只有10 km左右,同時在作業時還容易受到樹木、建筑物的遮擋,導致數據傳輸不穩定,使定位精度降低。
隨著國家信息化程度的提高及計算機網絡和通信技術的飛速發展,許多城市建立了連續運行參考站(Continusly Operating Reference Station,CORS)系統。本文針對傳統數據傳輸方式的不足之處,結合CORS系統實現了一種高精度的RTK定位技術。該技術采用3G網絡通信技術建立數據傳輸鏈路,這樣數據傳輸更加穩定可靠,傳輸距離更遠,同時網絡設備功耗低、結構小巧,方便操作。
1 RTK定位技術的原理
RTK技術基本原理是建立在實時處理的兩個測站的載波相位基礎上的,首先基準站通過數據鏈實時將觀測到的載波相位測量值和自身的坐標信息一起發送給移動站。移動站接收GPS衛星信號的載波相位和來自基準站的載波相位測量值,利用基準站與流動站之間觀測誤差的空間相關性,通過差分的方式減小流動站觀測數據中的大部分誤差,組成相位差分觀測值進行實時處理,解算出觀測點的坐標。RTK定位技術的原理框圖如圖1所示。
2 系統結構設計與功能概述
根據RTK終端系統的設計需求,系統結構中的3個核心模塊分別是:微處理器模塊、GPS模塊、3G網絡模塊。電源模塊主要是為系統各模塊提供安全可靠的電源保障。各個模塊的連接如圖2所示。
2.1 S5PV210微處理器
本系統選用了三星公司推出的S5PV210應用處理器[5],S5PV210采用了ARM CortexTM-A8內核,ARM V7指令集主頻可達1 GHz,具有64/32位內部總線,32/32 KB的數據、指令一級緩存,512 KB的二級緩存,可以實現2 000 DMIPS(每秒2億條指令集)的高性能運算能力。終端機使用了友善之臂公司的Tiny210核心板,其搭載了S5PV210處理器,同時具有256 MB容量的DRAM、1 GB的NAND Flash存儲芯片,其豐富的外設接口便于進行數據處理和人機之間命令交互。
2.2 GPS模塊
本系統的GPS模塊采用了美國天寶公司的高性能BD970板卡,它具有原始數據質量好、定位精度高等特點,主要用于接收衛星信號并輸出接收到的衛星星歷數據和觀測數據,能夠滿足用戶對多系統多頻點數據處理的要求。其熱啟動時間小于8 s, 重捕時間小于0.1 s,功耗僅215 mW,結構小巧,性能優良,非常適合應用在對功耗、體積要求較高的嵌入式系統中。
2.3 3G網絡模塊
數據鏈系統也稱為數據傳輸系統,是實現RTK定位技術的關鍵部分。其主要的功能是完成RTK終端機與CORS中心的數據交互。現在移動互聯網覆蓋面積十分廣泛,本文采用華為公司的MU709網絡模塊,基于低功耗設計思想,睡眠模式電流僅為1 mA,且內部整合TCP/IP協議和擴展TCP/IP協議,用AT命令容易操作。通過在網絡模塊中安裝SIM卡,利用3G網絡通信技術實現與CORS中心的無線通信。
3 軟件系統設計
該系統設計的功能是用3G網絡傳輸技術代替傳統的無線電傳輸技術,保證數據穩定、遠距離的傳輸,提高定位精度。本系統運行于高穩定性和實時性的嵌入式 Linux系統[8],主要包括:主控制程序、GPS數據處理軟件設計、差分數據處理軟件設計、數據交互軟件設計。
3.1 主控制程序
系統上電啟動后開始執行主控制程序,首先進行系統初始化。GPS模塊初始化主要是對串口UART0進行初始化,即設置UART0的傳輸幀格式和波特率。根據 BD970板卡硬件特性,設置UART0波特率為11 520 bit/s, 8個數據位,無奇偶校驗位,1個停止位。如果接收到GPS數據,則進行數據處理;否者,重新對串口進行設置并接收數據。
在Linux系統啟動時自動讀取腳本程序,啟動3G網絡模塊,執行ppp撥號上網連接CROS系統中心服務器,此時需要驗證用戶信息的賬號和密碼,成功后即可以建立連接,否則重新進行下一次的連接。初始化完成后進入下一步的差分數據處理部分。主控制程序的流程圖如圖3所示。
3.2 GPS數據處理模塊
該模塊的目的是實現定位信息解析。BD970板卡按照NEMA-0813通信標準格式輸出定位信息,輸出的數據采用ASCII碼,語句的分類含有$GPGGA、$GPGSA、$GPGSV等。其中GPGGA 語句是使用最廣的數據之一,包括17個字段:語句標識頭、世界時間、緯度、緯度半球、經度、經度半球等,結束標記為回車符和換行符,分別用14個逗號進行分隔[9]。該系統主要采用的是GPGGA語句,它包含了系統定位所需要的信息,所以,只需要讀取GPGGA語句即可。
微處理器通過串口接收BD970的原始數據,如果保存到緩沖區中的數據以“GPGGA”開頭并且以“ ”結尾,同時數據校驗位正確,則可以判斷為一條完整有效的數據信息,然后進行下一步的數據解析處理。如果不符合上述規定,判斷為一條無效的數據則丟棄,并繼續對接收到的數據進行判斷。GPS數據處理流程圖如圖4所示。
3.3 差分數據處理模塊
Ntrip(Networked Transport of RTCM via Internet Protocal)是目前CORS系統主要的數據傳輸協議,可以在因特網上傳輸RTK數據。它是基于HTTP協議的通用協議,也是建立在網絡TCP/IP協議基礎上的協議,HTTP對象為GPS數據流。
Ntrip網絡主要由3個部分組成:客戶端、服務器和數據處理中心。這里的Ntrip客戶和Ntrip服務器都只相當于HTTP連接中的客戶端,Ntrip處理中心才是響應它們的服務處理器。在CORS網絡中,Ntrip客戶端是指收到RTK數據流的流動站設備,使用Ntrip處理中心分配的IP地址通過互聯網連接到Ntrip處理中心。差分數據處理流程圖如圖5所示,首先用戶需要發送賬號和密碼到控制中心進行用戶接入,流動站可以請求到差分數據。然后從緩沖區中解析差分數據是否為有效的數據,并判斷校驗位是否正確。如果符合要求則將定位信息保存起來,否者,重新向CORS中心請求差分數據。
3.4 數據交互模塊
本部分主要使用了藍牙通信技術來實現RTK終端機與用戶之間的數據交互:終端機實時向用戶發送最終的定位結果供用戶查閱使用,用戶也可以通過藍牙給終端機發送操作指令。
由于位板卡解算輸出定位結果的速率和藍牙的數據輸出速率是不一樣的,為了避免數據的覆蓋和丟失,設計了一個多線程模型,并結合帶鎖的循環隊列進行數據緩存。當有數據到來時,寫線程就在隊列尾部獲得互斥鎖并將數據寫入緩存,當一條完整的定位數結寫完后立即釋放互斥鎖。此時讀線程會在隊列頭部獲得互斥鎖,并讀取一條完整的數據,然后通過藍牙發送出去并釋放互斥鎖。數據交互流程圖如圖6所示。
4 測試結果分析
為了測試終端機在實際應用環境中的可用性和穩定性,選取重慶郵電大學逸夫科技樓作為測試場地。測試分為無遮擋測試和有遮擋測試兩種情況。將終端機放置在空曠地帶工作為無遮擋測試,將在逸夫科技樓頂進行測試。將終端機放置在逸夫科技樓前的大樹旁邊工作為有遮擋測試。在室外進行定位測量并保存最終的定位數據,然后在上位機中對定位數據精度進行分析。為了保證每次測試的獨立性,測試結束后進行關機操作,然后開機重新啟動,再開始下一次測試。
4.1 達到固定解時間分析
RTK終端機的定位結果達到固定解時的輸出數據才是有效的,因此達到固定解需要的時間是衡量終端機性能的一個重要指標。最終定位結果中的第6個字段表示GPS狀態,“0”表示未定位,“4”表示達到固定解,“5”表示達到浮點解。
終端機觀測到一組GPS數據對應的時刻稱為歷元,大約每隔1 s可以觀測到一組GPS數據,實際測量過程中以觀測到的歷元數來表示終端機的工作時長。圖7表示在沒有遮擋的情況下達到固定解所需要的時間,終端機可以快速由浮點解狀態達到固定解狀態輸出有效數據,并一直是固定解狀態。圖8表示有遮擋的情況下達到固定解所需要的時間,終端機會在浮點解狀態持續一段時間(10 s左右),然后達到固定解狀態輸出有效數據,并一直是固定解狀態。結果表明在衛星信號和數據傳輸鏈有遮擋情況下,終端機也能在較短的時間內達到固定解,滿足實際需求。
4.2 定位精度分析
在定位精度測試時,需要分析接收機達到固定解后輸出的定位數據。將每組數據所有固定解的平均值作為位置的理論值,然后分別計算了每組數據的定位結果與理論值的偏差值和最大偏差值,將該數據用MATLAB分析后,得到如圖9和圖10所示的結果。
在不同的環境中分別測試了3組數據,每組數據的采集時間約5 min(約300個歷元)。將無遮擋的測試結果通過表1統計分析,將有遮擋的測試結果通過表2統計分析。
通過分析表1和表2中的偏差均值可以看出在兩種情況下的整體定位結果比較穩定,誤差十分接近,均在1 cm以內,在允許的誤差范圍內。
通過分析表1中的最大偏差值可知,在沒有遮擋時出現的波動較小,定位精度較高,其中最大偏差值約為2 cm,但大部分歷元的誤差都為厘米級水平,在允許的誤差范圍內。通過分析表2中的最大偏差值可知,在有遮擋時,由于會對接收的衛星信號產生影響,部分時間出現差分數據傳輸受到影響,導致定位誤差出現一定的波動,因此在測試的過程中有時會出現較大的波動,其中最大偏差值約為2.9 cm,波動幅度在測試精度允許范圍以內。
總體而言,無論是沒有遮擋的環境還是有遮擋的環境,在測試的過程中某個歷元的定位結果中會出現一定的波動,但是整體的實驗結果表明,基于BD970板卡的RTK定位系統可以達到厘米級的定位精度,而大地測量要求位置精度也是厘米級。
5 結論
針對無線電傳輸差分數據時容易受到地理環境、有效距離、氣象等因素影響的問題,本文基于Linux嵌入式平臺實現了一種實用的RTK技術,將GPS定位技術與3G無線通信技術相結合開發完成了RTK終端機系統,增強了差分數據傳輸的可靠性和穩定性,提高了定位精度。利用藍牙通信技術提供了良好的用戶體驗,實現了可視化功能。采用高性能嵌入式技術實現了小型化、集成化,提高了系統的智能化程度,方便操作。通過對不同環境的測試分析,結果表明本文實現的RTK定位系統是可行的,在沒有遮擋和有遮擋的應用場景下均具有較高的穩定性,并且能夠提供厘米級的高精度定位結果,可以滿足大地測量等實際應用的需要。該設備體積較小、功耗低,便于安裝在小型無人機等載體上進行定位導航,具有廣泛的應用前景。
非常好我支持^.^
(64) 100%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 高效模擬,靈活擴展!GNSS模擬器的多實例應用淺析(二) 2023-10-23
- [電子說] 細說GNSS模擬器的RTK功能(四)應用實例02 2023-09-07
- [電子說] RTK定位技術原理和誤差分析 2023-09-28
- [PCB設計] 拱架式貼片機結構 2023-09-26
- [PCB設計] 倒裝晶片裝配對板支撐及定位系統的要求 2023-09-21
- [PCB設計] 多功能貼片機 2023-09-21
- [電子說] 智慧工地4G+藍牙+GPS/北斗RTK人員定位管理系統解決方案 2023-09-20
- [電子說] MICORSAR操作系統優化服務 | 創建屬于你的穩定多核架構 2023-09-19
( 發表人:何亞瓊 )