黃 鷹 李 保 覃澤穎 唐詩華
(1.桂林好測信息科技有限公司,廣西桂林 541004;2.桂林理工大學測繪地理信息學院,廣西桂林 541004)
隨著測量科技的發(fā)展,測量機器人廣泛應用于變形監(jiān)測控制網(wǎng)觀測等精密工程測量當中。多測回測角是建立高等級三角網(wǎng)、導線(網(wǎng))以及大型構筑物和建筑物形變監(jiān)測網(wǎng)時的主要觀測手段[1]。
基于測量機器人的程序開發(fā)主要有PDA(或PC)程序設計和機載程序設計兩種模式[2],兩種模式各有優(yōu)缺點。徠卡新一代的測量機器人如TS30/TM30系列支持機載程序開發(fā),二次開發(fā)平臺為GeoC++[3],但該平臺不對所有用戶開放接口。PDA具有價格低廉、方便攜帶、功耗小,可以設計豐富的軟件界面和復雜的功能,數(shù)據(jù)能實時顯示以及良好的人機交互等優(yōu)勢,成為數(shù)據(jù)采集軟件開發(fā)的首選平臺[4- 5]。
精密測量中,在測距改正中加入氣象改正是必不可少的[6]。傳統(tǒng)的氣象數(shù)據(jù)測量方法一般通過攜帶溫度計和氣壓計現(xiàn)場測量,手工輸入儀器或后期對距離進行氣象改正。結合自主研發(fā)的氣象傳感器,依托徠卡測量機器人系列全站儀及其二次開發(fā)接口[7],在PDA上開發(fā)了具有實時氣象改正的自動化多測回數(shù)據(jù)采集軟件。
PDA(Portable Digital Assistant,又稱為掌上電腦)使用的操作系統(tǒng)是 Windows Mobile 5.0,開發(fā)平臺為VS.NET2008 和.NET Compact Framework3.5,開發(fā)語言為 VB。使用徠卡提供的 GeoCOM接口技術[8]。GeoCOM開發(fā)模式分為兩種:一種為低級模式(ASCⅡ碼協(xié)議),一種為高級模式(函數(shù)調(diào)用協(xié)議)[9]。高級模式需要調(diào)用動態(tài)鏈接庫GeoCOM.Dll,該DLL封裝了操作儀器的全部函數(shù)。但DLL與Windows Mobile系統(tǒng)不兼容,在PDA上不能調(diào)用。另外考慮到PDA要同時與氣象傳感器進行通信,只能使用低級模式。低級模式需要自行寫串口通信程序。
所設計的軟件能夠按設定參數(shù)自動完成多測回全圓方向和距離觀測,結合自主研發(fā)的數(shù)字氣象傳感器,可以在測量過程中對氣象參數(shù)進行實時改正,合格數(shù)據(jù)將記錄在手薄內(nèi)存或SD卡上,超限則自動重測或人工判斷重測。測量過程中遇到超限、遮擋等問題,軟件可以語音提醒和對話框提示,軟件運行流程見圖1。
PDA使用數(shù)據(jù)線或藍牙連接全站儀,軟件通過串口向全站儀發(fā)送操作請求指令,等待儀器應答返回數(shù)據(jù)。.NET提供的SerialPort類可以方便地對串口進行操作,如實例化一個串口類:
Public MySerialPort As SerialPort=New SerialPort("COM2",9600,Parity.None,8,StopBits.One)
圖1 系統(tǒng)運行流程
向全站儀發(fā)送測量角度距離指令的代碼如下
MySerialPort.Write("%R1Q,17017,":1" & vb-CrLf)
接收全站儀返回的數(shù)據(jù)為
strRead=Vbserial.ReadLine根據(jù)不同請求指令判斷返回數(shù)據(jù)的格式,操作指令參見文獻[7]。
作為結構化的編程,應將各種操作指令的發(fā)送和接收封裝為函數(shù),類似于高級模式。如以上測量角度距離指令的代碼可以封裝在名為:VB_BAP_MeasDistanceAngle的函數(shù)里面,這里自行封裝的函數(shù)名與DLL里的函數(shù)名相同,方便兩種模式的代碼通用。測量角度距離直接調(diào)用該函數(shù)
Result=VB_BAP_MeasDistanceAngle(BAP_DEF_DIST,dHz,dV,dDistance)
軟件設計使用文件流的方式保存數(shù)據(jù),由于測量的數(shù)據(jù)種類較多,結構較復雜,考慮到保存和讀取數(shù)據(jù)方便,設計了可以序列化讀寫的類來存放數(shù)據(jù)。數(shù)據(jù)的保存和讀取僅需序列化和反序列化。如設計一個類stationdata存放全部測量數(shù)據(jù):
<Serializable()> Public Class stationdata
Public PointName As String '點名
Public HL,HR As Double '盤左盤右水平角(弧度格式)
Public VL,VR As Double '盤左盤右豎直角(弧度格式)
……
End Class
定義一個二維數(shù)組變量Sta用于存儲測量數(shù)據(jù)
Dim Sta(n-1,m -1)As New stationdata
其中n為測回數(shù),m為方向數(shù),如Sta(0,1).HL代表第1測回第2個方向的盤左水平角。
除了對測量數(shù)據(jù)的讀寫外,軟件還需讀寫ini配置文件,該文件存儲軟件各項參數(shù)。
數(shù)字氣象傳感器針對測量機器人設計(如圖2),使用單片機開發(fā),內(nèi)置氣象傳感器、藍牙模塊??梢詼y量干溫、氣壓、相對濕度,溫度精度±0.3℃,氣壓精度±1.5 hPa,濕度精度±2.0%RH。測量過程中PDA要與傳感器通信,傳感器在此相當于指令中轉(zhuǎn)站。PDA通過藍牙連接傳感器,傳感器通過串口線連接全站儀,通信過程如圖3。PDA與傳感器連接后,所發(fā)送的指令都經(jīng)過傳感器,傳感器對指令進行判斷,若指令是全站儀指令則直接傳入全站儀,若是獲取傳感器數(shù)據(jù)的指令則返回氣象數(shù)據(jù)給PDA,獲取氣象數(shù)據(jù)的指令為“QXCS”。傳感器將全站儀返回的數(shù)據(jù)直接傳給PDA,程序自動設置氣象數(shù)據(jù)到全站儀的過程為:發(fā)送獲取氣象數(shù)據(jù)指令—得到氣象數(shù)據(jù)—氣象數(shù)據(jù)設置到全站儀,全站儀內(nèi)置的氣象改正公式會對距離自動進行改正。
圖2 數(shù)字氣象傳感器
圖3 傳感器通信示意
系統(tǒng)主界面如圖4所示。
圖4 系統(tǒng)主界面
項目:包括新建、打開項目,項目數(shù)據(jù)套用等功能。
設置:包括連接儀器設置,測量參數(shù)設置等。
儀器連接見圖5,主要對串口參數(shù)設置。測量前需設置各項測量參數(shù)(如圖6所示),可以設置2C限差、測回數(shù)等。這些參數(shù)用于控制完成多測回方向和距離的全圓觀測,判斷數(shù)據(jù)是否超限。
圖5 連接儀器設置
圖6 測量參數(shù)設置
氣象參數(shù)設置方式有三種(如圖7),其中“每測回前自動改正”與“實時改正”需要結合氣象傳感器使用。“每測回前自動改正”是在每個測回開始測量前,程序自動讀取氣象傳感器的數(shù)據(jù)并設置入全站儀;“實時改正”是每次測距前都進行氣象改正,該方法使用情況較少,作為預留功能。“測量前手工輸入”是在測量開始前提示手動輸入氣象參數(shù),該方法在無氣象傳感器的情況下使用。
圖7 氣象參數(shù)設置
點位學習如圖8,點位學習是手動對全部目標點測量一次,保存點位數(shù)據(jù)以便測量機器人自動找點。人工照準學習的順序可以任意,用戶指定某點作為零方向后,程序根據(jù)方向值大小排序,最終目標點的順序都符合全圓觀測順序,學習完成可以瀏覽點位略圖。軟件在連接儀器的情況下進入學習界面,可以自動打開望遠鏡的指示激光,方便人工快速瞄準目標。
圖8 點位學習
除了全手動點位學習外,系統(tǒng)還提供了坐標定位法的學習功能,即可以通過導入學習點的三維坐標,只需人工照準學習兩個點即可交會出測站坐標并計算全部待測點的位置數(shù)據(jù),當點數(shù)較多時可以減少人工測量的工作量??紤]到望遠鏡的視場內(nèi)出現(xiàn)多個目標問題[10],程序根據(jù)相鄰點的空間夾角自動開關機器人的“小視場”功能,防止瞄準目標出錯。
測量過程:
測量前程序會對儀器的雙軸傾斜進行檢查,傾斜超過一定值就會提示調(diào)平儀器。測量數(shù)據(jù)以表格控件DataGrid實時顯示(如圖9)。這里使用了多線程,將測量過程放在一個獨立線程中執(zhí)行,使用委托的方法將測量數(shù)據(jù)跨線程顯示在主線程的表格中。
圖9 測量數(shù)據(jù)顯示
測量過程中如果觀測目標被遮擋,程序先嘗試繼續(xù)測量,嘗試過三次后仍未成功,則提示找不到目標,等遮擋情況恢復正常后,人工點擊對話框的OK按鈕即可繼續(xù)測量。測量過程可以通過滾動條查看數(shù)據(jù),可以取消,暫停,繼續(xù)測量等操作。每個測回完成后自動探測2C和指標差互差、盤左盤右斜距互差等是否超限,超限立即進行重測。全部測回完成后判斷方向值、豎直角的測回互差,若有超限則重測超限的方向測回。
該系統(tǒng)已成功運用于新疆某段高鐵CPⅢ測量。為避免白天烈日的惡劣氣象條件,CPⅢ一般于晚間施測,在新疆夜間整晚溫差在10℃以上,氣象條件對測距帶來較大影響。系統(tǒng)結合數(shù)字氣象傳感器實時讀取氣象數(shù)據(jù)自動傳入TS30內(nèi)部或者在軟件中進行距離改正,每測回(每次讀數(shù)亦可)改正一次,避免了人工讀取氣象數(shù)據(jù)的麻煩,保證了測量精度。數(shù)據(jù)經(jīng)過平差獲得較高的精度,皆通過了評估。
另外,系統(tǒng)結合精密球形棱鏡應用于深圳地鐵導線測量和廣西某火電廠灰壩變形監(jiān)測都獲得了成功。
基于PDA的測量機器人多測回數(shù)據(jù)采集系統(tǒng),運用于三角網(wǎng)測量、導線測量及變形監(jiān)測等精密工程測量,能夠大大提高作業(yè)效率,降低野外作業(yè)人員的勞動強度。系統(tǒng)操作簡單,界面直觀,功能實用可靠,考慮到了高度自動化,減少了人工干預。系統(tǒng)結合數(shù)字氣象傳感器使用,實時氣象改正保證測距精度。同時,該數(shù)字氣象傳感器還集成了GPRS通信模塊,運用在遠程無線遙控測量機器人變形監(jiān)測系統(tǒng)當中實現(xiàn)無人值守,實現(xiàn)了測量的完全自動化。
[1]陳秀忠,吳志群,錢林.多測回測角平差系統(tǒng)在現(xiàn)代精密工程測量中的應用[J].測繪通報,2009(3):3638
[2]胡波,葉威,朱勇超,等.基于PDA的測量機器人自動化多測回測角軟件設計與實現(xiàn)[J].測繪通報,2013(2):116117
[3]張正祿,沈飛飛,孔寧,等.徠卡新型全站儀TS30的測評和開發(fā)研究[J].測繪信息與工程,2011,36(1):5253
[4]尚延生,王玉振,李躍華.基于PDA的邊角測量數(shù)據(jù)采集系統(tǒng)開發(fā)與應用[J].海洋測繪,2006,26(6):4244
[5]梅文勝,鄭勇波,周命端.基于PDA的測量機器人自動化網(wǎng)觀測軟件研究[J].測繪信息與工程,2008,33(5):4546
[6]董欽偉.氣象條件對全站儀測距精度的影響[J].甘肅科技,2012,28(12):4041
[7]TPS1000 GeoCom Refemee Manual Version2.20.Leica GeoSystems AG[M].Heerbrugg Switzerland,1999
[8]唐爭氣,吳爭鳴,姜波.基于GeoCOM技術的測量機器人在測量中的應用[J].湖南城市學院學報,2006,15(4):7376
[9]王宇會,蔣利龍.GeoCOM對測量機器人的開發(fā)與應用[J].礦山測量,2009,4(2):5657
[10]王宇會,蔣利龍,張興福.測量機器人視場內(nèi)多目標問題的研究[J].工程勘察,2011(1):8486