黃昆學,章傳銀,馬 瑩,陳品馨
(1.中國測繪科學研究院,北京100830;2.山東科技大學,山東青島 266510;3.中國礦業大學(北京),北京100083)
主動式定位系統可實現遠距離不接觸目標以獲取目標點三維坐標的功能,能很好的解決對不便到達目標的定位問題。主動式定位系統主要由GPS-OEM板、激光測距模塊(無棱鏡測距)、數字羅盤和軟件控制平臺組成,如圖1所示。該系統可手持,車載,船載或機載進行移動測設。但隨著GPS定位精度與激光測距系統的測距精度亞米級的實現,主動式定位系統的定位精度也將隨之提高,因此,主動式定位系統將在許多領域中有著廣泛的應用。
GPS-OEM板主要完成測點信息的采集,實時提供測設點的空間坐標并為整個系統提供時間基準,激光測距模塊獲取測點至目標點斜距信息,數字羅盤獲取測點的角度信息,所有的數據通過串口發送至控制終端,軟件平臺實現數據的實時接收、存儲,解算目標點的三維坐標,同時負責整個系統的監視以及向各模塊發送控制命令。
主動式定位系統由GPS模塊、激光測距模塊、數字羅盤模塊、中心控制模塊組成。中心控制模塊由計算機代替(技術成熟后將嵌入到手持設備中),提供可視化的操作界面,相應的串口命令提示語言,滿足數據通信與時間同步要求。對數據進行實時采集、傳輸與處理,并給出相應組件或相應數據傳輸的指示信息。
啟動系統后,激光測距儀瞄準目標,計算機對激光測距模塊發送外部觸發脈沖,激光測距模塊通過串口返回測距數據。對GPS模塊發送外部觸發脈沖,讀取脈沖發射時間。三維數字羅盤從系統啟動開始通過串口連續數據輸出,20 Hz/s。使用同步觸發脈沖對GPS組件和激光測距組件進行同步的精度優于10-5s,符合系統對時間同步精度要求。
獲取脈沖發射時間GPS模塊和數字羅盤模塊的數據,進行采集和預處理。主要是判斷GPS數據,激光測距數據,數字羅盤數據的可用性,正確性和時間延遲是否滿足要求,對不滿足要求的數據進行整組剔除,對于滿足要求的數據進一步處理,并記錄相應組件信息。然后對數據進行解算及實時顯示,保留原始數據,用于后處理的精密定位計算。圖2就是流程圖。

2.1.1 GPS定位數據
GPS的定位數據主要由#RANGEA、#RAWEPHEMA、#IONUTCA開頭的三組數據組成,包括衛星距離信息、星歷信息、電離層及 UTC時間信息。其數據格式如下:


3,1342,115200,//PRN(衛星編號),參考時間:周,參考時間:秒


2.1.2 GPS外部事件觸發信息數據
外部事件觸發信息數據是指GPS-OEM板接收到激光測距模塊的觸發TTL信號,實時提供的觸發時刻的GPS時,通過該時間數據為系統提供測距的時刻。采用了NovAtel自定義的數據傳輸格式傳輸“#MARKTIMEA”語句輸出和數據傳輸。其語句如下:

激光測距數據是測設點與目標點之間的斜距信息,采用了廠家自定義的數據格式,其語句如下:
L 2562.5 m
數字羅盤可以實時測量系統的三維姿態,用于實時測量系統的方位角、俯仰角信息。采用了廠家定義的數據傳輸語句“$PTNTHPR”,其語句如下:

由Nov Atel接收機接收的原始數據是由#RANGEA、#RAWEPHEMA、#IONUTCA 開頭的三組數據組成,接收機產品本身自帶數據轉換軟件,但是數據接收完畢后的轉換,無法用于系統的實時解算,需要自己對原始數據進行實時轉換,主要包括測量數據的轉換和星歷原始數據的轉換。
以#RANGEA開頭的數據中包括了該觀測歷元時刻的時標、該歷元所觀測到衛星的數量、該歷元所采集到的所有觀測值、觀測標準差。測量文件由頭部和數據兩部分組成,其頭部的規定性文字多,基本不涉及計算,這里就不贅述了。測量文件的數據部分相對簡單,不過因為其來源沒有像ICD-GPS-200這樣的文檔來規范,各個廠家的數據格式大不相同,雖然轉換的結果以RINEX為準,但也隨著接收機的不同而不同。NovAtel公司接收機的測量數據直接給出了偽距、載波相位等值,所以,只要按星號順序把觀測衛星的C1、L 1、L 2、D1、D2等數據一一按RINEX格式排列數據即可。
NovAtel接收機接收的導航星歷數據特點:每條數據包括 3個子幀,分別為 SUB1、SUB2、SUB3。每個子幀包括10個字(Word),每個字長為24 bit,不包括校驗碼,如圖3所示。接下來的工作就是將指令對應的含義求出來,將數據的每個字節都表示為二進制。因為,對這些需要計算參數的量級和精度都有著高要求,且在RINEX文件中表示變量的方法都是科學計數法,所以涉及到具體計算的變量都要設為double型。在具體計算這些變量的時候,還必須注意幾點。

圖3 星歷數據格式subframe1
例如,圖3中,TGD,該變量有一個注釋,標明它是2的補碼。這就是說該變量是用以2為模的補碼形式表示的數(最高的bit位是符號位),即:如果它大于0,那么因為正數的補碼就是其本身,可以直接求出;但如果它小于0(最高位為1),情況就完全不同,比如11111001≠-01111001,而等于-(00000110+1)=-00000111。要快速求出一個補碼表示的負數的真值,方法為:對于n位二進制數,X真=X補-2n。其次,按照補碼形式求出每個變量的真值后,還要將變量乘以其尺度因子。例如TGD的尺度因子為2-31。最后,要檢查變量的單位,例如 Δn,其單位為“半周/秒”,但在 RINEX中,它卻是“radians/sec”,所以還要將其乘上π=3.1415926535897932384626433832795,凡是“周”的地方都要乘上π。
在1~3子幀中,可以計算出下列數據:

使用這些參數就可以得出 RINEX的導航數據文件,此文件由“頭”和“數據”兩部分組成,其中“頭”的格式比較靈活,除了必要的幾項以外還可以添加注釋,而“數據”就是上述參數的排列,具體如圖4所示:

圖4 導航文件數據排列順序
數據通過串口傳送至數據控制中心,數據中心就要對多個串口通道內的數據進行處理,包括不同數據語句分離、語句讀取并存儲數據。
語句分離就是從該通道字符串隊列緩沖區中分離出各個格式的語句,包括“$GPGGA”、“#MARKTIMEA”、“$PTNTHPR”、“L”。可以采用語句隊列的方式實現各語句的分離,由于所有數據格式對應的語句都采用了類似的格式,通過語句的標識符提取各語句,同時將語句進入語句隊列。對語句隊列中的各個語句進行相應語句的數據讀取,獲取相應的數據。同時將該語句提取出隊列。
軟件控制中心首先要判斷數據的有效性,判斷數據的有效性首先要判斷GPS,數字羅盤的數據是否有效,通過解析串口傳回的字符串,就可以判斷GPS和數字羅盤工作是否正常,以上兩個設備正常工作后,軟件中心對激光模塊的數據通道進行初始化,激光模塊進入工作狀態。激光模塊進行測距后,若GPS沒有收到激光模塊發出的 TTL信號,數據不進行記錄。
軟件控制中心通過分離,提取數據。對于GPS的數據,進行單點定位,求得各個歷元時的三維坐標,得自定義的數據格式如下:
“觸發時間信息、$狀態信息、測設次數、X Y Z(測設點坐標)、L(斜距)、Heading(方位角)、Pitch(俯仰角)、Roll(翻滾角)”
主動式定位系統的準實時處理采用這一數據格式,數據片段如圖5所示。

圖5 主動式定位系統數據格式
主動式定位系統的實時處理功能是指在完成一次測試后實時提供待測點的概略坐標。單一測站計算公式如下

式中:(X,Y,Z)為待測點目標;(x,y,z)為測設點目標;d為斜距;α為方位角;β為俯仰角。由于在定位中利用了數字羅盤的方位角和俯仰角信息,數字羅盤為磁傳感器可能會在測角時存在誤差,因此,實時定位的結果只能為用戶提供待測點的概略坐標。
當測站數大于3時,進行多點距離交會,圖6為5組多點距離交會的結果。

圖6 距離交會點位誤差
用數據進行距離交會的同時,加入測角信息進行平差處理,所得結果如圖7,只用距離數據進行定位高程精度較差,但加入羅盤的角度信息進去再進行解算,能大大提高高程的定位精度,且比前面的定位方法精度有所提高。

圖7 邊角交會點位誤差
討論了主動式定位系統的組成,工作模式及其實時定位精度,通過數據分析,可以看出,主動式定位系統能夠實現自主實時遠距離不接觸目標物的三維坐標點位獲取,其實時定位平面精度可達米級,高程精度略差。在以后的研究中改進算法,提高定位精度以提高待測點的定位精度。再加上該系統的便捷性、實時性、無需設立站標,一人即可操作等優點,該系統將具有很好的研究意義與實用價值。
[1]李征航,黃勁松.GPS測量與數據處理[M].湖北武漢.武漢大學出版社,2005:182-202.
[2]何海波.高精度GPS動態測量及質量控制[D].河南鄭州:解放軍信息工程大學,2002:36-42
[3]ALTMAYERC.Ehancing the intergrity of integrated GPS/INS system by cycle slip detection and correction[C].Proceedings of the IEEE intelligent Vehicles Symposium Dearborn,Miami,October 3-5,2000:174-179.
[4]DEDES G,MALLETT A.Effects of the ionosphere and cycle-slips in long baseline dynamic positioning[C].Proceedings of Mobile Mapping Symposium,Columbus,Ohio,May 44-26,1995:142-152.