曹界宇 王偉 葛男男
【摘要】? ? 為解決傳統(tǒng)RTK作業(yè)距離受限,定位精度、可靠性不高的問題,本文設(shè)計了一種基于嵌入式的網(wǎng)絡(luò)RTK定位系統(tǒng)。該系統(tǒng)以STM32F405作為系統(tǒng)核心處理單元,系統(tǒng)主要通過獲取CORS系統(tǒng)差分修正數(shù)據(jù)信息,并將數(shù)據(jù)信息發(fā)送給流動站,RTK板卡定位解算后,系統(tǒng)便可獲得高精度定位信息。經(jīng)過實驗測試表明,本系統(tǒng)具備厘米級高精度定位功能,并且作業(yè)覆蓋范圍廣闊。
【關(guān)鍵詞】? ? 嵌入式? ? 網(wǎng)絡(luò)RTK? ? ?RTK板卡? ? CORS系統(tǒng)
引言
隨著衛(wèi)星導(dǎo)航定位技術(shù)的快速發(fā)展和廣泛應(yīng)用,RTK技術(shù)很好地解決了人們對高精度定位的需求[1]。傳統(tǒng)RTK主要以固定基準(zhǔn)站、數(shù)據(jù)鏈路通信系統(tǒng)、流動站構(gòu)成,其中流動站連續(xù)觀測衛(wèi)星定位數(shù)據(jù),并通過無線通信系統(tǒng)將基準(zhǔn)站上差分修正數(shù)據(jù)信息發(fā)送給流動站。而流動站通過通信系統(tǒng)同時接收衛(wèi)星信號和基準(zhǔn)站發(fā)送過來的數(shù)據(jù),通過差分?jǐn)?shù)據(jù)解算以實現(xiàn)高精度定位。
隨著RTK技術(shù)不斷的成熟,傳統(tǒng)的RTK 定位技術(shù)的弊端也顯現(xiàn)地較明顯。傳統(tǒng)的RTK每次作業(yè)前都需要人力架設(shè)基準(zhǔn)站,并且必須選取空曠的地方架設(shè)基準(zhǔn)站,同時傳統(tǒng)RTK技術(shù)會受到通信鏈路距離的影響,其作業(yè)范圍有一定限制,并且隨著流動站和基站距離的增加,GNSS數(shù)據(jù)信息在空間傳播時受到電離層和對流層的折射因素,其誤差會越來越大。這會極大影響RTK定位精度[2]。而網(wǎng)絡(luò)RTK 定位技術(shù)指的是連續(xù)運(yùn)行參考站系統(tǒng)(CORS系統(tǒng)),CORS系統(tǒng)以網(wǎng)絡(luò)分布系統(tǒng)為基礎(chǔ),基于適當(dāng)密度的參考站網(wǎng)絡(luò),建立精準(zhǔn)的差分?jǐn)?shù)據(jù)計算模型,利用數(shù)據(jù)通信鏈路播發(fā)差分修正數(shù)據(jù),來消除定位過程中受到的各種誤差影響,從而實時地獲得觀測站點(diǎn)高精度、可靠的定位數(shù)據(jù)信息,較常規(guī) RTK定位技術(shù)優(yōu)勢明顯,網(wǎng)絡(luò)RTK技術(shù)已被廣泛運(yùn)用于無人機(jī)電力巡檢、智能交通等行業(yè)領(lǐng)域[3]。因此研究并設(shè)計基于嵌入式的網(wǎng)絡(luò)RTK定位系統(tǒng)具有重要意義。
一、系統(tǒng)總體方案設(shè)計
該系統(tǒng)的系統(tǒng)框圖如下圖1所示,該系統(tǒng)主要由核心處理單元(MCU)、RTK板卡、CORS系統(tǒng)、文件日志、手機(jī)APP部分組成。其中系統(tǒng)處理單元采用的是STM32F405芯片,CORS系統(tǒng)部分主要功能是為系統(tǒng)提供CORS系統(tǒng)差分修正數(shù)據(jù)信息;RTK板卡部分主要功能是觀測單點(diǎn)絕對定位GGA數(shù)據(jù)信息和差分定位解算;文件日志部分主要功能是保存SD卡RTK數(shù)據(jù)信息;手機(jī)APP部分主要功能是監(jiān)控系統(tǒng)上傳的RTK數(shù)據(jù)信息。
二、系統(tǒng)硬件設(shè)計
2.1 核心處理器
核心處理器采用ST公司的STM32F405系列芯片,該處理器是ARM的Cortex-M4 系列內(nèi)核,該處理器最高工作頻率可達(dá)168 MHz,其工作電壓在 2.0-3.6V。該芯片具有 192KB SRAM、512KB FLASH,該系列處理器擁有高性價比、低功耗等特點(diǎn)。
2.2 電源管理模塊
本系統(tǒng)采用TPS65321系列穩(wěn)壓芯片,如下圖2所示,該芯片最高支持36V的輸入電壓,可提供3.3V和3.8V的直流電壓,輸出電流可高達(dá)3.2A,該系列芯片在安全上也具備過流保護(hù)、過熱保護(hù)單元。
2.3 RTK板卡
如下圖3所示,本系統(tǒng)RTK板卡采用諾瓦泰OEM718D多頻單側(cè)板卡,支持全系統(tǒng)多頻測向和定位解算,同時支持雙天線輸入。該板卡板載串口,系統(tǒng)可通過串口和RTK板卡數(shù)據(jù)通信。
2.3 CORS系統(tǒng)
CORS系統(tǒng)主要采用的是千尋在全國范圍內(nèi)布設(shè)的基站網(wǎng)絡(luò)。CORS 系統(tǒng)主要由數(shù)據(jù)處理中心、固定參考站、數(shù)據(jù)通訊和用戶中心四個部分組成[4]。
該系統(tǒng)工作流程主要是RTK板卡將觀測數(shù)據(jù)實時傳送給數(shù)據(jù)處理中心,處理中心利用基準(zhǔn)站觀測數(shù)據(jù)計算基線誤差,通過網(wǎng)絡(luò)插值算法計算出虛擬觀測值,最終生成差分?jǐn)?shù)據(jù)并播發(fā)給流動站[5]。本系統(tǒng)主要是通過4G網(wǎng)絡(luò)實現(xiàn)和CORS系統(tǒng)數(shù)據(jù)鏈路通信。
2.4 4G模塊
本系統(tǒng)4G模塊采用的是SIMCom公司SIM7600CE-L系列模組,該系列模組采用SMT封裝,該模組支持LTE-LDD/LTE-FDD/GSM/GPRS/EDGE等頻段。公網(wǎng)版支持TDD-LTB38/B39/B40/B41,LETCAT4下理論可支持50Mbps最大上行速率,150Mbps最大下行速率。SIM7600CE-L模組支持串口AT指令配置4G信息。
三、系統(tǒng)軟件設(shè)計
3.1 FreeRTOS實時操作系統(tǒng)簡介和移植
FreeRTOS是一款可移植的、完全免費(fèi)的、開放源代碼的迷你操作系統(tǒng)內(nèi)核。用戶可在其內(nèi)核的基礎(chǔ)上進(jìn)行裁剪、移植,同時可以非常方便地移植到自己的硬件平臺。作為一款輕量級系統(tǒng)FreeRTOS提供包括任務(wù)管理、信號量、消息隊列、內(nèi)存管理、時間管理等功能。
FreeRTOS中內(nèi)核核心實現(xiàn)主要由 list.c、queue.c、croutine.c、 tasks.c這4 個文件組成。list.c文件實現(xiàn)數(shù)據(jù)鏈表結(jié)構(gòu)體,為系統(tǒng)提供任務(wù)管理;queue.c文件實現(xiàn)隊列管理主要包括實現(xiàn)消息隊列管理和信號量控制等功能;croutine.c和task.c文件主要提供任務(wù)的創(chuàng)建、刪除和任務(wù)調(diào)度等功能。croutine.c實現(xiàn)了進(jìn)程管理功能,各任務(wù)共享同一個堆棧,減少對RAM的需求。task.c實現(xiàn)不同任務(wù)使用各自的堆棧,支持CPU完全搶占式調(diào)度。
FreeRTOS移植主要是包括FreeRTOS_PORTABLE分組下的port.c、heap4.c文件,F(xiàn)reeRTOSConfig.h頭文件,stm32f4xx_it.c文件等。由于本系統(tǒng)采用的是STM32F405芯片,該芯片帶有FPU單元,因此選擇載入ARM_CM4F中的port.c文件;heap4.c是MemMang文件夾中的和內(nèi)存管理有關(guān),這里本系統(tǒng)采用heap4.c的內(nèi)存管理方法;FreeRTOSConfig.h頭文件中主要修改MCU頻率、關(guān)閉鉤子函數(shù);stm32f4xx_it.c文件中屏蔽PendSV、SVC、Systick中斷服務(wù)函數(shù)。
3.2 系統(tǒng)軟件功能實現(xiàn)
系統(tǒng)軟件部分主要流程包括以下步驟:
(1)系統(tǒng)初始化,該過程主要包括USB初始化,4G網(wǎng)絡(luò)初始化,F(xiàn)ATFS文件系統(tǒng)初始化等。USB初始化主要是USB_OTG接口配置;4G網(wǎng)絡(luò)初始化主要是通過AT指令配置4G網(wǎng)絡(luò)信息;FATFS文件系統(tǒng)初始化主要是初始化SDIO驅(qū)動、FATFS文件系統(tǒng)、SD卡掛載等。
(2)系統(tǒng)通過串口和流動站RTK板卡通信,獲取流動站單點(diǎn)絕對定位GGA數(shù)據(jù)信息。此過程中MCU接收RTK的GGA數(shù)據(jù)主要通過環(huán)形緩存數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的,該實現(xiàn)流程包括:系統(tǒng)獲取RTK板卡發(fā)送的GGA數(shù)據(jù),當(dāng)MCU串口中斷觸發(fā),接收到RTK板卡數(shù)據(jù)的時候,Push數(shù)據(jù)至環(huán)形緩存;系統(tǒng)主線程持續(xù)更新環(huán)形緩存中是否有數(shù)據(jù),如果有便開始解碼環(huán)形緩存數(shù)據(jù),進(jìn)而獲取到GGA數(shù)據(jù)。
(3)系統(tǒng)通過4G網(wǎng)絡(luò)和CORS系統(tǒng)通信,該過程主要包括:通過Ntrip協(xié)議完成CORS系統(tǒng)的賬號和密碼認(rèn)證并登錄到CORS系統(tǒng)數(shù)據(jù)處理中心,當(dāng)MCU接收到CORS系統(tǒng)返回的“200 OK”回傳數(shù)據(jù)的時候,然后系統(tǒng)便可通過NtripClient上傳GNSS單點(diǎn)GGA數(shù)據(jù)信息給CORS系統(tǒng)。
(4)系統(tǒng)通過NtripClient獲取CORS系統(tǒng)差分修正數(shù)據(jù)信息,并且此時系統(tǒng)按照MSM格式即消息頭、衛(wèi)星數(shù)據(jù)、信號數(shù)據(jù)這三個部分解碼報文包。此過程系統(tǒng)獲取CORS系統(tǒng)差分修正數(shù)據(jù)是在步驟3中NtripCaster成功收到GGA數(shù)據(jù)的時候返回的。
(5)系統(tǒng)通過串口發(fā)送CORS系統(tǒng)差分修正數(shù)據(jù)信息給RTK板卡進(jìn)行差分定位解算,最終獲取RTK板卡解算的高精度定位數(shù)據(jù)。
(6)系統(tǒng)在獲得高精度定位數(shù)據(jù)后通過SDIO接口將數(shù)據(jù)寫入SD卡中,作為RTK日志文件記錄。
(7)系統(tǒng)通過4G模塊實時發(fā)送高精度定位數(shù)據(jù)信息給手機(jī)APP,操作人員可實時觀測RTK定位數(shù)據(jù)。
四、結(jié)束語
針對市場對網(wǎng)絡(luò)RTK定位技術(shù)的需求,本系統(tǒng)采用了嵌入式的設(shè)計方案,設(shè)計網(wǎng)絡(luò)RTK定位系統(tǒng)。相比于傳統(tǒng)的RTK,本系統(tǒng)能夠提供厘米級高精度定位,并且具備作業(yè)覆蓋范圍廣闊、成本低廉、攜帶方便等優(yōu)點(diǎn)。該系統(tǒng)在無人機(jī)電力巡檢領(lǐng)域有較大的市場和應(yīng)用價值。
參? 考? 文? 獻(xiàn)
[1] 柴大帥. 高頻單歷元GNSS動態(tài)差分定位技術(shù)研究[D].山東科技大學(xué),2017.
[2] 陳健,岳東杰,朱少林. BDS/GPS組合單歷元相對定位性能分析[J]. 現(xiàn)代測繪, 2017, 40(4).
[3] 程良濤.嵌入式GPS精密單點(diǎn)定位技術(shù)研究[D].東南大學(xué), 2015.
[4] 鄭嘉慧.GNSS網(wǎng)絡(luò)RTK高精度定位方法研究與應(yīng)用[D].哈爾濱工程大學(xué),2018.
[5] 李成鋼.網(wǎng)絡(luò)GPS/VRS系統(tǒng)高精度差分改正信息生成與發(fā)布研究[D].西南交通大學(xué),2007.