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