程 鋒,郭際明,黃炳強,阮 明,帕爾哈提·艾則孜
(1.武漢大學 測繪學院,湖北 武漢 430079;2.南寧市勘察測繪地理信息院,廣西 南寧 530022;3.新疆水利水電勘測設計研究院,新疆 烏魯木齊 830000)
基于CORS增強的Android終端地理信息采集系統原型

程 鋒1,郭際明1,黃炳強2,阮 明2,帕爾哈提·艾則孜3
(1.武漢大學 測繪學院,湖北 武漢 430079;2.南寧市勘察測繪地理信息院,廣西 南寧 530022;3.新疆水利水電勘測設計研究院,新疆 烏魯木齊 830000)
研究了CORS增強的衛星定位技術及其在地理信息采集中的應用,設計了基于CORS的Android移動終端定位方案,實現了Android移動終端的GPS通訊模塊、CORS系統數據通訊模塊、偽距差分定位模塊,建立了利用CORS系統獲得RTCM改正信息的亞m級精度Android移動終端地理信息采集系統原型,并通過實例驗證了其可行性。
CORS增強;Android;地理信息采集
現有的移動終端一般采用標準單點定位(SPP)模式,其定位精度只能達到10 m左右,不能滿足地理信息采集的亞m級精度要求,而高精度RTK模式下的定位精度雖能達到cm級,但設備較復雜且價格較高。針對亞m級精度要求的地理信息采集,偽距差分技術是一種合適的選擇[1],其優點是設備價格適中且使用簡單。隨著我國大部分省市CORS的建設完成,CORS系統可為GPS用戶提供實時偽距差分(real-time differential,RTD)服務,用戶無需再架設參考站,可以大大提高工作效率并節省成本[2]。
智能手機是一種重要的Android終端,定位精度在10 m左右,本文在Android手機上,增加外設GPS模塊,并使用RTD定位算法,開發了基于CORS增強的Android終端地理信息采集系統原型。
Android終端通過藍牙連接外設GPS模塊,獲取偽距觀測值,再借助網絡從CORS系統獲取差分數據,經解算得到高精度的定位結果,其定位方案設計如圖1。

圖1 基于CORS的Android終端定位方案
2.1 Android終端和外設GPS通訊模塊
選擇具有藍牙功能的GPS模塊,可以在Android終端和接收機之間建立連接。Android終端和GPS設備進行藍牙通訊的具體流程分為4步[3]:
1)打開藍牙設備。在程序中調用BluetoothAdapter類startActivityForResult()方法打開藍牙。
2)查找藍牙設備。調用BluetoothAdapter類中的startDiscovery()方法,將設備信息列表。找到外設GPS模塊的藍牙后,即可獲取藍牙設備的通用唯一識別碼(UUID, universally unique identifier)。
3)連接藍牙設備。Android終端通過GPS模塊藍牙的UUID與其建立Bluetoothsocket連接。
4)Android終端和GPS設備通訊。Android終端和外設GPS模塊通過Bluetoothsocket建立連接后,調用getInputStream()方法得到數據流,再使用read()方法即可獲取GPS設備發送的NMEA數據以及偽距、星歷等觀測值。
2.2 Android終端和CORS通訊模塊
Android終端需要從CORS獲取RTCM V2.3差分數據,這個過程通過NTRIP協議實現。Android終端和CORS通訊分以下4步[4]:
1)Android終端調用Socket和CORS建立網絡連接,向CORS服務器發送請求信息,包括用戶名、密碼和掛載點;
2)CORS服務器對Android終端發送的用戶名和密碼進行驗證通過后,如需要用戶發送概略坐標,Android終端再發送NMEA GGA消息到CORS服務器;
3)CORS服務器從GGA消息中獲取用戶的概略坐標后,會源源不斷地向Android終端發送RTCM V2.3差分數據;
4)在手機上對RTCM數據進行解碼,具體包括字節掃描、字節滾動、取補碼、跳頁、電文同步和奇偶校驗等[5],最終得到參考站的坐標和偽距觀測值。
2.3 偽距差分定位模塊
Android終端接收CORS系統發送的RTCM差分數據和外設GPS設備采集原始觀測數據進行差分運算,消除衛星軌道誤差、削弱傳播誤差、估計接收機誤差、實現偽距差分定位功能。偽距雙差定位的觀測方程為[6]:

式中,b、r分別代表參考站和手機流動站;j代表參考衛星;i代表其他共同觀測的衛星代表參考站對衛星i、j的偽距觀測值代表手機流動站對衛星i、j的偽距觀測值。

式中,(Xj,Yj,Zj)代表參考衛星坐標;(Xi,Yi,Zi)代表其他共同觀測衛星坐標;(Xb,Yb,Zb)代表基準站坐標;(Xr,Yr,Zr)代表手機流動站坐標。
由誤差傳播定理得到雙差模式的權陣P:

偽距差分定位的流程如下[7]:
1)根據偽距觀測值歷元,從RTCM V2.3差分數據中提取基準站觀測值和基準站坐標;
2)計算基準站單點定位坐標,如果結果同基準站坐標差距達到閾值,則基準站坐標或基準站觀測值有誤,系統退出;
3)以流動站單點定位結果作為初值,計算設計矩陣、權矩陣、觀測值矩陣;
4)選擇高度角最大的衛星作為參考星,并結合基準站的觀測值,計算雙差觀測值矩陣、雙差設計矩陣和雙差權矩陣;
5)采用最小二乘算法,計算得到平差改正數;
6)根據停止迭代的條件進行判斷,若不滿足條件,則更新定位結果,重復第3)~5)步,直到滿足停止迭代條件。
2014-07-10,在南寧市勘察測繪地理信息院附近選擇一個固定點,使用RTK設備測量該點的坐標并作為偽距差分定位的真實坐標。將外設Hemisphere GPS模塊的天線放置在固定點上,GPS的采樣率為1 s,進行30 min左右的靜態測量。手機連接南寧CORS接收RTCM差分數據,然后進行實時偽距差分解算。如圖2所示,偽距差分定位的N方向的誤差為0.48 m,E方向誤差為0.57 m,達到了亞m級的定位精度。

圖2 靜態定位誤差
2014-11-14,在南寧市進行動態測試,將Hemisphere GPS模塊和司南BDS/GPS模塊連接到同一個外置天線上,手機連接Hemisphere GPS模塊,并通過南寧CORS獲取RTCM數據進行實時偽距差分解算。整個過程在移動的小汽車上進行,測試時間50 min。事后通過GrafNav軟件對司南BDS/GPS模塊的數據進行動態解算,由于司南模塊提供的是多頻多模數據,動態解算結果基本都是RTK固定解。將其作為真值和手機的解算結果進行對比,如圖3所示,偽距差分定位的N方向的誤差為0.60 m,
E方向誤差為0.64 m,達到了亞m級的定位精度。
P208
B
1672-4623(2015)03-0032-02
10.3969/j.issn.1672-4623.2015.03.011
2014-12-15。
項目來源:國家自然科學基金資助項目(41474004);武漢大學精密工程與工業測量國家測繪地理信息局重點實驗室開放基金資助項目(PF2012-13);南寧市勘察測繪地理信息院資助項目(KY-2013-27)。