吳肖伶, 張記會, 龔星衡, 邵澤瑞, 張衛華
(四川大學計算機學院, 成都 610065)
一般意義上的GPS定位通常指偽距定位或者載波相位定位[1],這種方法需要GPS接收機在同一時間能夠觀測到4顆以上的衛星,根據測量GPS接收機與衛星間的距離及從衛星導航電文中獲取的衛星瞬時坐標,通過距離交匯法解算出GPS接收機所在的空間坐標.其中,偽距定位是通過光速與衛星發送的測距碼信號到達GPS接收機經過的時間相乘,測量衛星與GPS接收機的偽距;而載波相位定位則是通過載波信號從衛星到達GPS接收機時的相位差與載波波長的相乘來計算衛星與GPS接收機間的距離,相較偽距定位,載波相位定位具有更高的定位精度,理論上能夠達到毫米級精度,但其測量與偽距定位一樣易受電離層、多路徑、天氣等誤差源的干擾,通常達不到其理論精度.
為了降低電離層、天氣等環境因素對定位的影響,美國Trimble公司提出了一種實時動態載波相位差分(Real-Time kinematic, RTK)定位技術,實現了在移動中全球衛星導航系統(Global Navigation Satellite System,GNSS)數據的瞬時更新,同時擁有較高的定位精度.RTK是一種基于載波相位觀測值的實時動態定位技術,與GPS定位不同的是,RTK定位采用了差分定位的技術,通過架設基準站并將基準站數據與流動站數據進行差分解算獲取流動站的精確位置,當流動站處于基準站周圍一定范圍內時,流動站可視作與基準站處于相同定位環境下,由于基準站坐標已知,即可降低環境因素對定位帶來的誤差,達到比GPS定位更為精確的結果[2].
針對傳統RTK定位方案成本頗高的問題,本文提出了一種邊緣計算環境下的RTK實現方案E-RTK(Edge Real-Time Kinematic),通過將流動站的解算工作移至邊緣設備,降低流動站對算力的要求,使得流動站能夠使用更低性能的處理機進行實現,以降低定位的硬件成本.在此基礎上,本文對上述E-RTK方案進行了樣機實現,并在該樣機上使用GPS+BEIDOU衛星數據與GPS+GLONASS衛星數據進行了兩組定位對照實驗.實驗結果表明,本文提出的E-RTK定位方案能夠達到厘米級精度,與傳統RTK定位精度相當;除此之外,在當前的軟硬件條件下,采用GPS+BEIDOU數據進行E-RTK定位具有更大優勢.
RTK本質上是對傳統衛星定位技術的一種拓展與優化,它通過相位差分降低了環境因素對傳統衛星定位的影響,將定位精度提升了一個層次,擴大了衛星定位技術的使用范圍.該技術于20世紀90年代一經問世便迅速成為衛星定位相關領域的研究熱點,其成果被廣泛應用于測量、工程及自動化等各個行業. 文獻[3]將RTK應用于實時工程測量,根據工程測量放樣和定位,提出了GPS-RTK在實時工程測量中的應用方法,并對其進行了程序實現;文獻[4]將RTK應用于移動機器人導航及其測量數據的地理信息處理,提出了一種新的移動機器人區域路徑點導航方法,該方法較為簡單,且具有不錯的魯棒性; 文獻[5]將RTKLIB(一項開源RTK定位源代碼)移植到樹莓派開發板上,并通過NTRIP協議與基準站進行通信,提出了一種RTK定位的低成本實現,并將其用于無人機導航;2018年,文獻[6]針對城市等狹窄區域的RTK定位通常存在的多路徑及衛星信號斷續問題,將RTK定位與INS慣性導航結合,提出了一種緊耦合的RTK/INS算法,該算法能夠在城市等區域提供更加準確可靠的定位結果;2019年,丁曦等人通過冰面地形內插及測線交叉點比對兩種方式對2013~2015年三期RTK數據進行分析,將RTK-GPS應用與北極冰川高度研究,取得了不錯成果[7].
近年來,隨著中國北斗導航衛星(BEIDOU Navigation Satellite System, BDS)的日漸成熟,各類基于BEIDOU+GPS衛星數據的RTK定位研究開始浮現.Teunissen等人的研究表明使在用GPS與北斗導航衛星結合進行RTK定位時,由于具有更多的衛星可用,使得其具有更大的截止仰角,能夠顯著提高GNSS在城市及低海拔多路徑受限條件下的適用性[8];2016年,Odolinski等人將GPS與BEIDOU結合進行單頻雙系統RTK定位,并將其與雙頻單系統GPS-RTK進行了比較,其實驗證明,使用BEIDOU結合GPS進行RTK定位將比雙頻單系統具有更大的截止仰角,同時由于使用了更便宜的單頻Ublox接收機,該系統能夠以更低的成本進行實現[9];2018年,Nobuaki Kubo等建立了一種混合GPS+BEIDOU的RTK定位模式,并通過芯片級原子鐘輔助估計接收機的時鐘誤差,以達到更高的定位精度,其實驗表明混合定位模式比普通RTK-GNSS系統的定位Fix率高10%左右[10].
在RTK相關技術的日趨成熟的同時,其制造成本卻成了RTK定位技術發展的一大阻礙.這一方面是因為定位天線等配件的成本限制;另一方面則是因為在傳統RTK定位中,計算任務分散在基準站與流動站中,導致兩者都需要較高的算力,從而間接增大了成本.本文對某電商平臺的RTK設備價格區間進行了統計,具體結果如1所示.
圖1 某電商平臺不同價格區間RTK設備的占比
而另一方面,而隨著5G網絡等相關技術的發展,邊緣計算逐漸成為近年的研究熱點,且各界對于結合RTK與邊緣計算的研究還處于起始階段.基于以上情況,本文為解決RTK定位的成本問題,提出了一種基于邊緣計算的RTK定位,將計算任務集中在基準站,降低了流動站的硬件需求,從而達到降低成本的目的.
傳統RTK定位是于流動站接收GNSS數據,并結合從基準站傳輸而來的基準站GNSS數據,在流動站進行解算得到流動站的精確坐標信息,其整體結構如圖2所示.
圖2 傳統RTK的系統結構
傳統RTK定位系統一般由RTK流動站和RTK基準站組成.其中,RTK基準站通常由一個GNSS天線、一個GNSS接收機以及一個處理機組成,其通常位于一個坐標已知點,并通過GNSS天線及GNSS接收機接收來自衛星的GNSS數據,經處理機處理后將其分發給流動站;流動站的硬件構成與基準站相似,不同之處在于,流動站除了通過GNSS天線及GNSS接收機接收來自衛星的GNNS數據外,其處理機同時會接收來自基準站的參考GNSS數據.通過對這兩組GNSS數據進行差分解算,流動站即可得到其本身所處位置的精準坐標數據.圖3展示了傳統RTK的大致定位流程.
圖3 傳統RTK定位流程
本文提出了一種基于邊緣計算的實時動態載波相位差分定位方法E-RTK(Edge Real-Time Kinematic).其總體結構與傳統RTK相似,但在基準站處將處理機替換成了算力更強的邊緣設備.圖4展示了E-RTK的具體結構.
圖4 E-RTK的系統結構
與傳統RTK定位的流動站解算不同,E-RTK的解算任務在邊緣設備進行.通過在邊緣設備上安裝GNSS天線及GNSS接收機,使其在充當計算節點的同時,也具備RTK基準站的功能.而流動站只需要進行簡單的數據轉發的工作,降低了其對硬件性能的需求.從系統整體結構上來看,數據的流向由從基準站到流動站變為了從流動站到基準站,但數據傳輸的過程并沒有變復雜,仍然是單向單次傳輸.因此,邊緣計算并不會給E-RTK帶來更多的數據傳輸延遲,也不會因此造成解算性能的下降.其大致的定位流程如圖5所示.
圖5 E-RTK的定位流程
E-RTK實現了計算任務的集中化,使流動站能夠使用更加低性能、廉價的處理機進行制造.而邊緣設備對算力的需求將會增加,但由于其能夠同時為多個流動站提供解算服務,綜合成本將會比傳統RTK更低.同時,邊緣設備的電源環境優于流動站電源環境,能夠使系統硬件性能得到充分發揮,且能夠較大程度的提高流動站的續航能力.除此之外,E-RTK可降低流動站損壞、遺失造成的損失,在一定程度上減小了RTK定位網絡的擴展成本,有利于RTK定位在工農業等領域的普及.
為了驗證上述E-RTK的可行性及實際性能,同時探究該E-RTK的最佳運行參數及配置,本文對上述E-RTK進行了樣機實現,并采用GPS+GLONASS與GPS+BEIDOU兩種衛星系統組合來對樣機進行了定位實驗.
樣機實現的重點在于相關硬件的選擇以及編寫程序實現RTK計算任務的邊緣化.
組成E-RTK設備的硬件必須具備在保證其定位性能的情況下使成本盡可能降低的特點.因此,本文在基準站方面使用ASUSRT-ACRH17開源路由器作邊緣設備,該路由器在硬件配置上擁有四核ARMCortex A7處理器、128 MB Flash及256 MBRAM.除此之外,該基準站還配備一只u-blox neo m8tGNSS接收器及一顆三系統單頻天線,該天線的接收頻率范圍為:GPSL1 1575.42 MHz、GLONASSL1 1602 MHz、BEIDOU B1 1561 MHz、GALILEOE1 1575.42 MHz.流動站使用的GNSS接收器及天線與基準站相同,其處理機則是一塊Wemos D1 mini pro開發板,該開發板集成了32位Tensilica L106處理器,CPU時鐘頻率為80 MHz/160 MHz,且具備16 MB Flash.上述各個硬件設備的購買單價如表1所示.
表1 樣機各配件價格
在軟件方面,E-RTK的基站邊緣設備運行Openwrt開源路由器系統,同時使用編譯自開源項目RTKLIB的RTKRCV程序充當基礎解算工具[11].同時,對于流動站,本文使用C/C++對開發板進行編程定制,實現基準站連接及保持、定位模塊初始化及GNSS數據轉發等功能.
圖6 常見RTK設備價格對比
本文對上述E-RTK及常見的部分傳統RTK的基準站和流動站價格進行如圖6所示的對比.可以發現,E-RTK成本遠低于常見的傳統RTK.除此之外,對于傳統RTK設備,流動站與基準站價格相同,E-RTK的流動站單價明顯低于基準站,而對于RTK應用來說,流動站的數量是明顯多于基準站的,因此E-RTK更有利于RTK定位網絡的擴展.
本文采用靜態測試的方式來對上述E-RTK定位樣機進行實驗.在每個實驗中均使用兩組衛星數據組合進行對比測試,一組采用GPS+GLONASS,另一組采用GPS+BEIDOU,采樣率均為5 Hz.
4.2.1 精度測試 本文首先對上述E-RTK的定位精度進行測試,測試方法為在基準站與流動站均靜止不動的情況下,待定位收斂為Fix狀態后,觀察每組測試中定位位置的偏移范圍,具體實驗結果如圖7所示.
(a) GPS+GLONASS
由圖7可以看出,兩組實驗的定位精度均在1 cm以內.其中GPS+GLONASS組的定位位置偏移范圍大約為0.9 cm,GPS+BEIDOU組定位位置偏移范圍在0.7 cm左右.圖8展示了定位在East-West、North-South及Up-Down三個方向的偏移范圍.
由圖8觀察可以發現,該E-RTK定位系統在水平方向上的定位精度明顯高于其在垂直方向上的定位精度,除此之外,相較于GPS+GLONASS組的實驗結果,GPS+BEIDOU組在3個方向的定位上均具備更好的精度.
4.2.2 Fix速度測試 RTK定位結果一般具備兩種狀態,即Float狀態與Fix狀態,Float狀態下的結果位置波動較大,可靠性相對較低,而Fix狀態下的定位結果為穩定結果,位置波動較小,可靠性更高.因此,能否更快的到達Fix狀態是衡量RTK定位系統性能的重要因素,該因素通常被稱作Fix速度.
(a) GPS+GLONASS
Fig.8 The offset range of the positioning position in three directions
本文針對上述E-RTK樣機使用兩組衛星數據組合的Fix速度進行了測試.實驗方法為在基準站解算結果為Fix狀態后,保持基準站解算程序運行,關閉流動站,等待30 s后重新啟動流動站,記錄基準站從重新收到流動站GNSS數據到基準站解算結果達到Fix狀態所需要的時間.實驗結果如圖9所示.
圖9 Fix速度實驗結果
在10次實驗中,GPS+GLONASS組可用衛星數量為10顆,而GPS+BEIDOU組則有15顆衛星可用.在此條件下,GPS+GLONASS組的Fix時長平均為20.92 s,而GPS+BEIDOU組的平均Fix時長為14.72 s,較GPS+GLONASS組縮短了29.64%左右.
針對上述實驗結果, 本文進行了如下分析:在當前軟硬件及參數條件下,E-RTK使用GPS+GLONASS衛星數據定位與使用GPS+BEIDOU衛星數據定位的精度相當.而在Fix速度上,GPS+BEIDOU組具有一定的優勢,其中一部分原因是因為GPS與GLONASS頻譜相同,而BEIDOU使用了不同的通信頻段,在組合GPS與BEIDOU進行定位時,由于信號頻譜不同,多路徑效應的影響受到了削弱,同時對信號干擾帶來的影響也有一定的抵制作用.同時,BEIDOU的多頻特性有利于削弱電離層和對流層誤差,弱化基準站距離限制,固定載波相位模糊度,使得首次定位時間縮短[12],本實驗雖然只使用了單頻段的BEIDOU信號,但GPS與BEIDOU兩者共同組成了多頻率定位,使得GPS+BEIDOU的E-RTK定位擁有更短的Fix時間.除此之外,GPS+BEIDOU方案衛星數量更多,觀測數據的冗余度更高,有利于減弱局部環境的影響,這也是其中一部分原因.
傳統RTK定位在流動站進行數據解算,對流動站的處理機有較大的算力需求,不利于定位網絡的低成本擴展.本文將邊緣計算技術與RTK定位相結合,提出了一種基于邊緣計算的實時動態載波相位差分定位方法E-RTK,通過將流動站解算工作移至邊緣設備,減小了流動站的算力需求,在保證定位性能不變的情況下,降低了定位設備的綜合硬件成本及定位網絡的擴展難度.除此之外,本文基于E-RTK進行了定位樣機實現,并使用GPS+BEIDOU衛星組合以及最常見的GPS+GLONASS衛星組合進行了相關的定位性能測試.通過實驗發現,采用GPS+BEIDOU衛星系統的E-RTK能夠在定位精度基本不變的情況下具有更快的Fix速度,在可用性及可靠性上具備更大的優勢,如過隧道后定位恢復更快等.同時,采用GPS+BEIDOU衛星系統有利于促進我國北斗衛星導航系統的普及化及產業化.