文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.174959
中文引用格式: 袁正午,何格格. 一種高精度的GPS-RTK定位技術(shù)設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,,2018,,44(6):63-67.
英文引用格式: Yuan Zhengwu,He Gege. A high precision location technology design and implementation of GPS-RTK[J]. App-
lication of Electronic Technique,,2018,,44(6):63-67.
0 引言
RTK定位技術(shù)是利用全球衛(wèi)星導(dǎo)航系統(tǒng)(Global Navigation Satellite System,,GNSS)進行實時動態(tài)相對定位的技術(shù),,由于RTK定位技術(shù)具有實時性好,、位置精度高等優(yōu)點,是地形測圖,、施工放樣等領(lǐng)域中不可缺少的設(shè)備[1],。
傳統(tǒng)的RTK定位技術(shù)在作業(yè)時,首先需要手動架設(shè)基準站,,然后通過無線數(shù)傳電臺以數(shù)據(jù)鏈的形式在基準站與流動站之間傳輸差分數(shù)據(jù)[2],。但是,有效作業(yè)距離一般只有10 km左右,,同時在作業(yè)時還容易受到樹木,、建筑物的遮擋,導(dǎo)致數(shù)據(jù)傳輸不穩(wěn)定,,使定位精度降低,。
隨著國家信息化程度的提高及計算機網(wǎng)絡(luò)和通信技術(shù)的飛速發(fā)展,許多城市建立了連續(xù)運行參考站(Continusly Operating Reference Station,,CORS)系統(tǒng)[3],。本文針對傳統(tǒng)數(shù)據(jù)傳輸方式的不足之處,結(jié)合CORS系統(tǒng)實現(xiàn)了一種高精度的RTK定位技術(shù),。該技術(shù)采用3G網(wǎng)絡(luò)通信技術(shù)建立數(shù)據(jù)傳輸鏈路,,這樣數(shù)據(jù)傳輸更加穩(wěn)定可靠,傳輸距離更遠,,同時網(wǎng)絡(luò)設(shè)備功耗低,、結(jié)構(gòu)小巧,方便操作,。
1 RTK定位技術(shù)的原理
RTK技術(shù)基本原理是建立在實時處理的兩個測站的載波相位基礎(chǔ)上的,,首先基準站通過數(shù)據(jù)鏈實時將觀測到的載波相位測量值和自身的坐標信息一起發(fā)送給移動站。移動站接收GPS衛(wèi)星信號的載波相位和來自基準站的載波相位測量值,,利用基準站與流動站之間觀測誤差的空間相關(guān)性,,通過差分的方式減小流動站觀測數(shù)據(jù)中的大部分誤差,,組成相位差分觀測值進行實時處理,,解算出觀測點的坐標[4]。RTK定位技術(shù)的原理框圖如圖1所示,。
2 系統(tǒng)結(jié)構(gòu)設(shè)計與功能概述
根據(jù)RTK終端系統(tǒng)的設(shè)計需求,,系統(tǒng)結(jié)構(gòu)中的3個核心模塊分別是:微處理器模塊、GPS模塊,、3G網(wǎng)絡(luò)模塊,。電源模塊主要是為系統(tǒng)各模塊提供安全可靠的電源保障。各個模塊的連接如圖2所示,。
2.1 S5PV210微處理器
本系統(tǒng)選用了三星公司推出的S5PV210應(yīng)用處理器[5],,S5PV210采用了ARM CortexTM-A8內(nèi)核,,ARM V7指令集主頻可達1 GHz,具有64/32位內(nèi)部總線,,32/32 KB的數(shù)據(jù),、指令一級緩存,512 KB的二級緩存,,可以實現(xiàn)2 000 DMIPS(每秒2億條指令集)的高性能運算能力,。終端機使用了友善之臂公司的Tiny210核心板,其搭載了S5PV210處理器,,同時具有256 MB容量的DRAM,、1 GB的NAND Flash存儲芯片,其豐富的外設(shè)接口便于進行數(shù)據(jù)處理和人機之間命令交互,。
2.2 GPS模塊
本系統(tǒng)的GPS模塊采用了美國天寶公司的高性能BD970板卡,,它具有原始數(shù)據(jù)質(zhì)量好、定位精度高等特點[6],,主要用于接收衛(wèi)星信號并輸出接收到的衛(wèi)星星歷數(shù)據(jù)和觀測數(shù)據(jù),,能夠滿足用戶對多系統(tǒng)多頻點數(shù)據(jù)處理的要求。其熱啟動時間小于8 s,, 重捕時間小于0.1 s,,功耗僅215 mW,結(jié)構(gòu)小巧,,性能優(yōu)良,,非常適合應(yīng)用在對功耗、體積要求較高的嵌入式系統(tǒng)中,。
2.3 3G網(wǎng)絡(luò)模塊
數(shù)據(jù)鏈系統(tǒng)也稱為數(shù)據(jù)傳輸系統(tǒng),,是實現(xiàn)RTK定位技術(shù)的關(guān)鍵部分。其主要的功能是完成RTK終端機與CORS中心的數(shù)據(jù)交互?,F(xiàn)在移動互聯(lián)網(wǎng)覆蓋面積十分廣泛,,本文采用華為公司的MU709網(wǎng)絡(luò)模塊,基于低功耗設(shè)計思想,,睡眠模式電流僅為1 mA,,且內(nèi)部整合TCP/IP協(xié)議和擴展TCP/IP協(xié)議,用AT命令容易操作[7],。通過在網(wǎng)絡(luò)模塊中安裝SIM卡,,利用3G網(wǎng)絡(luò)通信技術(shù)實現(xiàn)與CORS中心的無線通信。
3 軟件系統(tǒng)設(shè)計
該系統(tǒng)設(shè)計的功能是用3G網(wǎng)絡(luò)傳輸技術(shù)代替?zhèn)鹘y(tǒng)的無線電傳輸技術(shù),,保證數(shù)據(jù)穩(wěn)定,、遠距離的傳輸,提高定位精度,。本系統(tǒng)運行于高穩(wěn)定性和實時性的嵌入式 Linux系統(tǒng)[8],,主要包括:主控制程序,、GPS數(shù)據(jù)處理軟件設(shè)計、差分數(shù)據(jù)處理軟件設(shè)計,、數(shù)據(jù)交互軟件設(shè)計,。
3.1 主控制程序
系統(tǒng)上電啟動后開始執(zhí)行主控制程序,首先進行系統(tǒng)初始化,。GPS模塊初始化主要是對串口UART0進行初始化,,即設(shè)置UART0的傳輸幀格式和波特率。根據(jù) BD970板卡硬件特性,,設(shè)置UART0波特率為11 520 bit/s,, 8個數(shù)據(jù)位,無奇偶校驗位,,1個停止位,。如果接收到GPS數(shù)據(jù),則進行數(shù)據(jù)處理,;否者,,重新對串口進行設(shè)置并接收數(shù)據(jù)。
在Linux系統(tǒng)啟動時自動讀取腳本程序,,啟動3G網(wǎng)絡(luò)模塊,,執(zhí)行ppp撥號上網(wǎng)連接CROS系統(tǒng)中心服務(wù)器,此時需要驗證用戶信息的賬號和密碼,,成功后即可以建立連接,,否則重新進行下一次的連接。初始化完成后進入下一步的差分數(shù)據(jù)處理部分,。主控制程序的流程圖如圖3所示,。
3.2 GPS數(shù)據(jù)處理模塊
該模塊的目的是實現(xiàn)定位信息解析。BD970板卡按照NEMA-0813通信標準格式輸出定位信息,,輸出的數(shù)據(jù)采用ASCII碼,,語句的分類含有$GPGGA、$GPGSA,、$GPGSV等,。其中GPGGA 語句是使用最廣的數(shù)據(jù)之一,包括17個字段:語句標識頭,、世界時間,、緯度,、緯度半球,、經(jīng)度、經(jīng)度半球等,,結(jié)束標記為回車符和換行符,,分別用14個逗號進行分隔[9],。該系統(tǒng)主要采用的是GPGGA語句,它包含了系統(tǒng)定位所需要的信息,,所以,,只需要讀取GPGGA語句即可。
微處理器通過串口接收BD970的原始數(shù)據(jù),,如果保存到緩沖區(qū)中的數(shù)據(jù)以“GPGGA”開頭并且以“\r\n”結(jié)尾,,同時數(shù)據(jù)校驗位正確,則可以判斷為一條完整有效的數(shù)據(jù)信息,,然后進行下一步的數(shù)據(jù)解析處理,。如果不符合上述規(guī)定,判斷為一條無效的數(shù)據(jù)則丟棄,,并繼續(xù)對接收到的數(shù)據(jù)進行判斷,。GPS數(shù)據(jù)處理流程圖如圖4所示。
3.3 差分數(shù)據(jù)處理模塊
Ntrip(Networked Transport of RTCM via Internet Protocal)是目前CORS系統(tǒng)主要的數(shù)據(jù)傳輸協(xié)議,,可以在因特網(wǎng)上傳輸RTK數(shù)據(jù),。它是基于HTTP協(xié)議的通用協(xié)議,也是建立在網(wǎng)絡(luò)TCP/IP協(xié)議基礎(chǔ)上的協(xié)議,,HTTP對象為GPS數(shù)據(jù)流[3],。
Ntrip網(wǎng)絡(luò)主要由3個部分組成:客戶端、服務(wù)器和數(shù)據(jù)處理中心,。這里的Ntrip客戶和Ntrip服務(wù)器都只相當(dāng)于HTTP連接中的客戶端,,Ntrip處理中心才是響應(yīng)它們的服務(wù)處理器。在CORS網(wǎng)絡(luò)中,,Ntrip客戶端是指收到RTK數(shù)據(jù)流的流動站設(shè)備,,使用Ntrip處理中心分配的IP地址通過互聯(lián)網(wǎng)連接到Ntrip處理中心。差分數(shù)據(jù)處理流程圖如圖5所示,,首先用戶需要發(fā)送賬號和密碼到控制中心進行用戶接入,,流動站可以請求到差分數(shù)據(jù)。然后從緩沖區(qū)中解析差分數(shù)據(jù)是否為有效的數(shù)據(jù),,并判斷校驗位是否正確,。如果符合要求則將定位信息保存起來,否者,,重新向CORS中心請求差分數(shù)據(jù),。
3.4 數(shù)據(jù)交互模塊
本部分主要使用了藍牙通信技術(shù)來實現(xiàn)RTK終端機與用戶之間的數(shù)據(jù)交互[10]:終端機實時向用戶發(fā)送最終的定位結(jié)果供用戶查閱使用,用戶也可以通過藍牙給終端機發(fā)送操作指令,。
由于位板卡解算輸出定位結(jié)果的速率和藍牙的數(shù)據(jù)輸出速率是不一樣的,,為了避免數(shù)據(jù)的覆蓋和丟失,設(shè)計了一個多線程模型,,并結(jié)合帶鎖的循環(huán)隊列進行數(shù)據(jù)緩存,。當(dāng)有數(shù)據(jù)到來時,,寫線程就在隊列尾部獲得互斥鎖并將數(shù)據(jù)寫入緩存,當(dāng)一條完整的定位數(shù)結(jié)寫完后立即釋放互斥鎖,。此時讀線程會在隊列頭部獲得互斥鎖,,并讀取一條完整的數(shù)據(jù),然后通過藍牙發(fā)送出去并釋放互斥鎖,。數(shù)據(jù)交互流程圖如圖6所示,。
4 測試結(jié)果分析
為了測試終端機在實際應(yīng)用環(huán)境中的可用性和穩(wěn)定性,選取重慶郵電大學(xué)逸夫科技樓作為測試場地,。測試分為無遮擋測試和有遮擋測試兩種情況,。將終端機放置在空曠地帶工作為無遮擋測試,將在逸夫科技樓頂進行測試,。將終端機放置在逸夫科技樓前的大樹旁邊工作為有遮擋測試,。在室外進行定位測量并保存最終的定位數(shù)據(jù),然后在上位機中對定位數(shù)據(jù)精度進行分析,。為了保證每次測試的獨立性,,測試結(jié)束后進行關(guān)機操作,然后開機重新啟動,,再開始下一次測試,。
4.1 達到固定解時間分析
RTK終端機的定位結(jié)果達到固定解時的輸出數(shù)據(jù)才是有效的,因此達到固定解需要的時間是衡量終端機性能的一個重要指標,。最終定位結(jié)果中的第6個字段表示GPS狀態(tài),,“0”表示未定位,“4”表示達到固定解,,“5”表示達到浮點解,。
終端機觀測到一組GPS數(shù)據(jù)對應(yīng)的時刻稱為歷元,大約每隔1 s可以觀測到一組GPS數(shù)據(jù),,實際測量過程中以觀測到的歷元數(shù)來表示終端機的工作時長,。圖7表示在沒有遮擋的情況下達到固定解所需要的時間,終端機可以快速由浮點解狀態(tài)達到固定解狀態(tài)輸出有效數(shù)據(jù),,并一直是固定解狀態(tài),。圖8表示有遮擋的情況下達到固定解所需要的時間,終端機會在浮點解狀態(tài)持續(xù)一段時間(10 s左右),,然后達到固定解狀態(tài)輸出有效數(shù)據(jù),,并一直是固定解狀態(tài)。結(jié)果表明在衛(wèi)星信號和數(shù)據(jù)傳輸鏈有遮擋情況下,,終端機也能在較短的時間內(nèi)達到固定解,,滿足實際需求。
4.2 定位精度分析
在定位精度測試時,需要分析接收機達到固定解后輸出的定位數(shù)據(jù),。將每組數(shù)據(jù)所有固定解的平均值作為位置的理論值,,然后分別計算了每組數(shù)據(jù)的定位結(jié)果與理論值的偏差值和最大偏差值,,將該數(shù)據(jù)用MATLAB分析后,,得到如圖9和圖10所示的結(jié)果。
在不同的環(huán)境中分別測試了3組數(shù)據(jù),,每組數(shù)據(jù)的采集時間約5 min(約300個歷元),。將無遮擋的測試結(jié)果通過表1統(tǒng)計分析,將有遮擋的測試結(jié)果通過表2統(tǒng)計分析,。
通過分析表1和表2中的偏差均值可以看出在兩種情況下的整體定位結(jié)果比較穩(wěn)定,,誤差十分接近,均在1 cm以內(nèi),,在允許的誤差范圍內(nèi),。
通過分析表1中的最大偏差值可知,在沒有遮擋時出現(xiàn)的波動較小,,定位精度較高,,其中最大偏差值約為2 cm,但大部分歷元的誤差都為厘米級水平,,在允許的誤差范圍內(nèi),。通過分析表2中的最大偏差值可知,在有遮擋時,,由于會對接收的衛(wèi)星信號產(chǎn)生影響,,部分時間出現(xiàn)差分數(shù)據(jù)傳輸受到影響,導(dǎo)致定位誤差出現(xiàn)一定的波動,,因此在測試的過程中有時會出現(xiàn)較大的波動,,其中最大偏差值約為2.9 cm,波動幅度在測試精度允許范圍以內(nèi),。
總體而言,,無論是沒有遮擋的環(huán)境還是有遮擋的環(huán)境,在測試的過程中某個歷元的定位結(jié)果中會出現(xiàn)一定的波動,,但是整體的實驗結(jié)果表明,,基于BD970板卡的RTK定位系統(tǒng)可以達到厘米級的定位精度,而大地測量要求位置精度也是厘米級,。
5 結(jié)論
針對無線電傳輸差分數(shù)據(jù)時容易受到地理環(huán)境,、有效距離、氣象等因素影響的問題,,本文基于Linux嵌入式平臺實現(xiàn)了一種實用的RTK技術(shù),,將GPS定位技術(shù)與3G無線通信技術(shù)相結(jié)合開發(fā)完成了RTK終端機系統(tǒng),增強了差分數(shù)據(jù)傳輸?shù)目煽啃院头€(wěn)定性,提高了定位精度,。利用藍牙通信技術(shù)提供了良好的用戶體驗,,實現(xiàn)了可視化功能。采用高性能嵌入式技術(shù)實現(xiàn)了小型化,、集成化,,提高了系統(tǒng)的智能化程度,方便操作,。通過對不同環(huán)境的測試分析,,結(jié)果表明本文實現(xiàn)的RTK定位系統(tǒng)是可行的,在沒有遮擋和有遮擋的應(yīng)用場景下均具有較高的穩(wěn)定性,,并且能夠提供厘米級的高精度定位結(jié)果,,可以滿足大地測量等實際應(yīng)用的需要。該設(shè)備體積較小,、功耗低,,便于安裝在小型無人機等載體上進行定位導(dǎo)航,具有廣泛的應(yīng)用前景,。
參考文獻
[1] 鄒璇,,李宗楠,唐衛(wèi)明,,等.一種適用于大規(guī)模用戶的非差網(wǎng)絡(luò)RTK服務(wù)新方法[J].武漢大學(xué)學(xué)報(信息科學(xué)版),,2015,40(9):1242-1246.
[2] 張國利,,時小飛,,楊開偉,等.網(wǎng)絡(luò)RTK支持下的無驗潮水深測量方法及其應(yīng)用[J].測繪通報,,2016(12):140-141.
[3] 秦長才,,郭輝.基于CORS系統(tǒng)的網(wǎng)絡(luò)RTK技術(shù)在土地勘測定界中的應(yīng)用[J].測繪與空間地理信息,2015(3):102-103.
[4] 毛琪,,潘樹國,,高旺,等.RTK終端實時動態(tài)檢測技術(shù)研究[J].測繪工程,,2015(3):47-52.
[5] 張毅,,許勇.基于ARM的商用車信息系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2016,,42(5):57-59.
[6] 鄒進貴,,李勇.GNSS天線陣列接收機數(shù)據(jù)采集與解碼的實現(xiàn)及應(yīng)用[J].測繪通報,2015(8):1-3.
[7] 程行,,岳銳,,金曉龍.基于ARM和3G的船舶燃料管理系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2013,39(10):22-24.
[8] 勇婭詢,,劉維亭,,劉懷芝,等.基于ARM9和Linux的風(fēng)暴潮監(jiān)控系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,,2015,,41(7):30-32.
[9] 許金鋼,常計東,,劉思聰,,等.基于GPS定位的自動引導(dǎo)小車設(shè)計[J].電子測試,,2016(19):7-8.
[10] 甘廣輝,,童蕾,陳超敏.基于低功耗藍牙網(wǎng)絡(luò)的家用胎兒監(jiān)護系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,,2015,,41(8):34-36.
作者信息:
袁正午,何格格
(重慶郵電大學(xué) 移動通信技術(shù)重慶市重點實驗室,,重慶400065)