黃 鷹 李 保 覃澤穎 唐詩(shī)華
(1.桂林好測(cè)信息科技有限公司,廣西桂林 541004;2.桂林理工大學(xué)測(cè)繪地理信息學(xué)院,廣西桂林 541004)
隨著測(cè)量科技的發(fā)展,測(cè)量機(jī)器人廣泛應(yīng)用于變形監(jiān)測(cè)控制網(wǎng)觀測(cè)等精密工程測(cè)量當(dāng)中。多測(cè)回測(cè)角是建立高等級(jí)三角網(wǎng)、導(dǎo)線(網(wǎng))以及大型構(gòu)筑物和建筑物形變監(jiān)測(cè)網(wǎng)時(shí)的主要觀測(cè)手段[1]。
基于測(cè)量機(jī)器人的程序開發(fā)主要有PDA(或PC)程序設(shè)計(jì)和機(jī)載程序設(shè)計(jì)兩種模式[2],兩種模式各有優(yōu)缺點(diǎn)。徠卡新一代的測(cè)量機(jī)器人如TS30/TM30系列支持機(jī)載程序開發(fā),二次開發(fā)平臺(tái)為GeoC++[3],但該平臺(tái)不對(duì)所有用戶開放接口。PDA具有價(jià)格低廉、方便攜帶、功耗小,可以設(shè)計(jì)豐富的軟件界面和復(fù)雜的功能,數(shù)據(jù)能實(shí)時(shí)顯示以及良好的人機(jī)交互等優(yōu)勢(shì),成為數(shù)據(jù)采集軟件開發(fā)的首選平臺(tái)[4- 5]。
精密測(cè)量中,在測(cè)距改正中加入氣象改正是必不可少的[6]。傳統(tǒng)的氣象數(shù)據(jù)測(cè)量方法一般通過(guò)攜帶溫度計(jì)和氣壓計(jì)現(xiàn)場(chǎng)測(cè)量,手工輸入儀器或后期對(duì)距離進(jìn)行氣象改正。結(jié)合自主研發(fā)的氣象傳感器,依托徠卡測(cè)量機(jī)器人系列全站儀及其二次開發(fā)接口[7],在PDA上開發(fā)了具有實(shí)時(shí)氣象改正的自動(dòng)化多測(cè)回?cái)?shù)據(jù)采集軟件。
PDA(Portable Digital Assistant,又稱為掌上電腦)使用的操作系統(tǒng)是 Windows Mobile 5.0,開發(fā)平臺(tái)為VS.NET2008 和.NET Compact Framework3.5,開發(fā)語(yǔ)言為 VB。使用徠卡提供的 GeoCOM接口技術(shù)[8]。GeoCOM開發(fā)模式分為兩種:一種為低級(jí)模式(ASCⅡ碼協(xié)議),一種為高級(jí)模式(函數(shù)調(diào)用協(xié)議)[9]。高級(jí)模式需要調(diào)用動(dòng)態(tài)鏈接庫(kù)GeoCOM.Dll,該DLL封裝了操作儀器的全部函數(shù)。但DLL與Windows Mobile系統(tǒng)不兼容,在PDA上不能調(diào)用。另外考慮到PDA要同時(shí)與氣象傳感器進(jìn)行通信,只能使用低級(jí)模式。低級(jí)模式需要自行寫串口通信程序。
所設(shè)計(jì)的軟件能夠按設(shè)定參數(shù)自動(dòng)完成多測(cè)回全圓方向和距離觀測(cè),結(jié)合自主研發(fā)的數(shù)字氣象傳感器,可以在測(cè)量過(guò)程中對(duì)氣象參數(shù)進(jìn)行實(shí)時(shí)改正,合格數(shù)據(jù)將記錄在手薄內(nèi)存或SD卡上,超限則自動(dòng)重測(cè)或人工判斷重測(cè)。測(cè)量過(guò)程中遇到超限、遮擋等問(wèn)題,軟件可以語(yǔ)音提醒和對(duì)話框提示,軟件運(yùn)行流程見圖1。
PDA使用數(shù)據(jù)線或藍(lán)牙連接全站儀,軟件通過(guò)串口向全站儀發(fā)送操作請(qǐng)求指令,等待儀器應(yīng)答返回?cái)?shù)據(jù)。.NET提供的SerialPort類可以方便地對(duì)串口進(jìn)行操作,如實(shí)例化一個(gè)串口類:
Public MySerialPort As SerialPort=New SerialPort("COM2",9600,Parity.None,8,StopBits.One)

圖1 系統(tǒng)運(yùn)行流程
向全站儀發(fā)送測(cè)量角度距離指令的代碼如下
MySerialPort.Write("%R1Q,17017,":1" & vb-CrLf)
接收全站儀返回的數(shù)據(jù)為
strRead=Vbserial.ReadLine根據(jù)不同請(qǐng)求指令判斷返回?cái)?shù)據(jù)的格式,操作指令參見文獻(xiàn)[7]。
作為結(jié)構(gòu)化的編程,應(yīng)將各種操作指令的發(fā)送和接收封裝為函數(shù),類似于高級(jí)模式。如以上測(cè)量角度距離指令的代碼可以封裝在名為:VB_BAP_MeasDistanceAngle的函數(shù)里面,這里自行封裝的函數(shù)名與DLL里的函數(shù)名相同,方便兩種模式的代碼通用。測(cè)量角度距離直接調(diào)用該函數(shù)
Result=VB_BAP_MeasDistanceAngle(BAP_DEF_DIST,dHz,dV,dDistance)
軟件設(shè)計(jì)使用文件流的方式保存數(shù)據(jù),由于測(cè)量的數(shù)據(jù)種類較多,結(jié)構(gòu)較復(fù)雜,考慮到保存和讀取數(shù)據(jù)方便,設(shè)計(jì)了可以序列化讀寫的類來(lái)存放數(shù)據(jù)。數(shù)據(jù)的保存和讀取僅需序列化和反序列化。如設(shè)計(jì)一個(gè)類stationdata存放全部測(cè)量數(shù)據(jù):
<Serializable()> Public Class stationdata
Public PointName As String '點(diǎn)名
Public HL,HR As Double '盤左盤右水平角(弧度格式)
Public VL,VR As Double '盤左盤右豎直角(弧度格式)
……
End Class
定義一個(gè)二維數(shù)組變量Sta用于存儲(chǔ)測(cè)量數(shù)據(jù)
Dim Sta(n-1,m -1)As New stationdata
其中n為測(cè)回?cái)?shù),m為方向數(shù),如Sta(0,1).HL代表第1測(cè)回第2個(gè)方向的盤左水平角。
除了對(duì)測(cè)量數(shù)據(jù)的讀寫外,軟件還需讀寫ini配置文件,該文件存儲(chǔ)軟件各項(xiàng)參數(shù)。
數(shù)字氣象傳感器針對(duì)測(cè)量機(jī)器人設(shè)計(jì)(如圖2),使用單片機(jī)開發(fā),內(nèi)置氣象傳感器、藍(lán)牙模塊。可以測(cè)量干溫、氣壓、相對(duì)濕度,溫度精度±0.3℃,氣壓精度±1.5 hPa,濕度精度±2.0%RH。測(cè)量過(guò)程中PDA要與傳感器通信,傳感器在此相當(dāng)于指令中轉(zhuǎn)站。PDA通過(guò)藍(lán)牙連接傳感器,傳感器通過(guò)串口線連接全站儀,通信過(guò)程如圖3。PDA與傳感器連接后,所發(fā)送的指令都經(jīng)過(guò)傳感器,傳感器對(duì)指令進(jìn)行判斷,若指令是全站儀指令則直接傳入全站儀,若是獲取傳感器數(shù)據(jù)的指令則返回氣象數(shù)據(jù)給PDA,獲取氣象數(shù)據(jù)的指令為“QXCS”。傳感器將全站儀返回的數(shù)據(jù)直接傳給PDA,程序自動(dòng)設(shè)置氣象數(shù)據(jù)到全站儀的過(guò)程為:發(fā)送獲取氣象數(shù)據(jù)指令—得到氣象數(shù)據(jù)—?dú)庀髷?shù)據(jù)設(shè)置到全站儀,全站儀內(nèi)置的氣象改正公式會(huì)對(duì)距離自動(dòng)進(jìn)行改正。

圖2 數(shù)字氣象傳感器

圖3 傳感器通信示意
系統(tǒng)主界面如圖4所示。

圖4 系統(tǒng)主界面
項(xiàng)目:包括新建、打開項(xiàng)目,項(xiàng)目數(shù)據(jù)套用等功能。
設(shè)置:包括連接儀器設(shè)置,測(cè)量參數(shù)設(shè)置等。
儀器連接見圖5,主要對(duì)串口參數(shù)設(shè)置。測(cè)量前需設(shè)置各項(xiàng)測(cè)量參數(shù)(如圖6所示),可以設(shè)置2C限差、測(cè)回?cái)?shù)等。這些參數(shù)用于控制完成多測(cè)回方向和距離的全圓觀測(cè),判斷數(shù)據(jù)是否超限。

圖5 連接儀器設(shè)置

圖6 測(cè)量參數(shù)設(shè)置
氣象參數(shù)設(shè)置方式有三種(如圖7),其中“每測(cè)回前自動(dòng)改正”與“實(shí)時(shí)改正”需要結(jié)合氣象傳感器使用。“每測(cè)回前自動(dòng)改正”是在每個(gè)測(cè)回開始測(cè)量前,程序自動(dòng)讀取氣象傳感器的數(shù)據(jù)并設(shè)置入全站儀;“實(shí)時(shí)改正”是每次測(cè)距前都進(jìn)行氣象改正,該方法使用情況較少,作為預(yù)留功能。“測(cè)量前手工輸入”是在測(cè)量開始前提示手動(dòng)輸入氣象參數(shù),該方法在無(wú)氣象傳感器的情況下使用。

圖7 氣象參數(shù)設(shè)置
點(diǎn)位學(xué)習(xí)如圖8,點(diǎn)位學(xué)習(xí)是手動(dòng)對(duì)全部目標(biāo)點(diǎn)測(cè)量一次,保存點(diǎn)位數(shù)據(jù)以便測(cè)量機(jī)器人自動(dòng)找點(diǎn)。人工照準(zhǔn)學(xué)習(xí)的順序可以任意,用戶指定某點(diǎn)作為零方向后,程序根據(jù)方向值大小排序,最終目標(biāo)點(diǎn)的順序都符合全圓觀測(cè)順序,學(xué)習(xí)完成可以瀏覽點(diǎn)位略圖。軟件在連接儀器的情況下進(jìn)入學(xué)習(xí)界面,可以自動(dòng)打開望遠(yuǎn)鏡的指示激光,方便人工快速瞄準(zhǔn)目標(biāo)。

圖8 點(diǎn)位學(xué)習(xí)
除了全手動(dòng)點(diǎn)位學(xué)習(xí)外,系統(tǒng)還提供了坐標(biāo)定位法的學(xué)習(xí)功能,即可以通過(guò)導(dǎo)入學(xué)習(xí)點(diǎn)的三維坐標(biāo),只需人工照準(zhǔn)學(xué)習(xí)兩個(gè)點(diǎn)即可交會(huì)出測(cè)站坐標(biāo)并計(jì)算全部待測(cè)點(diǎn)的位置數(shù)據(jù),當(dāng)點(diǎn)數(shù)較多時(shí)可以減少人工測(cè)量的工作量。考慮到望遠(yuǎn)鏡的視場(chǎng)內(nèi)出現(xiàn)多個(gè)目標(biāo)問(wèn)題[10],程序根據(jù)相鄰點(diǎn)的空間夾角自動(dòng)開關(guān)機(jī)器人的“小視場(chǎng)”功能,防止瞄準(zhǔn)目標(biāo)出錯(cuò)。
測(cè)量過(guò)程:
測(cè)量前程序會(huì)對(duì)儀器的雙軸傾斜進(jìn)行檢查,傾斜超過(guò)一定值就會(huì)提示調(diào)平儀器。測(cè)量數(shù)據(jù)以表格控件DataGrid實(shí)時(shí)顯示(如圖9)。這里使用了多線程,將測(cè)量過(guò)程放在一個(gè)獨(dú)立線程中執(zhí)行,使用委托的方法將測(cè)量數(shù)據(jù)跨線程顯示在主線程的表格中。

圖9 測(cè)量數(shù)據(jù)顯示
測(cè)量過(guò)程中如果觀測(cè)目標(biāo)被遮擋,程序先嘗試?yán)^續(xù)測(cè)量,嘗試過(guò)三次后仍未成功,則提示找不到目標(biāo),等遮擋情況恢復(fù)正常后,人工點(diǎn)擊對(duì)話框的OK按鈕即可繼續(xù)測(cè)量。測(cè)量過(guò)程可以通過(guò)滾動(dòng)條查看數(shù)據(jù),可以取消,暫停,繼續(xù)測(cè)量等操作。每個(gè)測(cè)回完成后自動(dòng)探測(cè)2C和指標(biāo)差互差、盤左盤右斜距互差等是否超限,超限立即進(jìn)行重測(cè)。全部測(cè)回完成后判斷方向值、豎直角的測(cè)回互差,若有超限則重測(cè)超限的方向測(cè)回。
該系統(tǒng)已成功運(yùn)用于新疆某段高鐵CPⅢ測(cè)量。為避免白天烈日的惡劣氣象條件,CPⅢ一般于晚間施測(cè),在新疆夜間整晚溫差在10℃以上,氣象條件對(duì)測(cè)距帶來(lái)較大影響。系統(tǒng)結(jié)合數(shù)字氣象傳感器實(shí)時(shí)讀取氣象數(shù)據(jù)自動(dòng)傳入TS30內(nèi)部或者在軟件中進(jìn)行距離改正,每測(cè)回(每次讀數(shù)亦可)改正一次,避免了人工讀取氣象數(shù)據(jù)的麻煩,保證了測(cè)量精度。數(shù)據(jù)經(jīng)過(guò)平差獲得較高的精度,皆通過(guò)了評(píng)估。
另外,系統(tǒng)結(jié)合精密球形棱鏡應(yīng)用于深圳地鐵導(dǎo)線測(cè)量和廣西某火電廠灰壩變形監(jiān)測(cè)都獲得了成功。
基于PDA的測(cè)量機(jī)器人多測(cè)回?cái)?shù)據(jù)采集系統(tǒng),運(yùn)用于三角網(wǎng)測(cè)量、導(dǎo)線測(cè)量及變形監(jiān)測(cè)等精密工程測(cè)量,能夠大大提高作業(yè)效率,降低野外作業(yè)人員的勞動(dòng)強(qiáng)度。系統(tǒng)操作簡(jiǎn)單,界面直觀,功能實(shí)用可靠,考慮到了高度自動(dòng)化,減少了人工干預(yù)。系統(tǒng)結(jié)合數(shù)字氣象傳感器使用,實(shí)時(shí)氣象改正保證測(cè)距精度。同時(shí),該數(shù)字氣象傳感器還集成了GPRS通信模塊,運(yùn)用在遠(yuǎn)程無(wú)線遙控測(cè)量機(jī)器人變形監(jiān)測(cè)系統(tǒng)當(dāng)中實(shí)現(xiàn)無(wú)人值守,實(shí)現(xiàn)了測(cè)量的完全自動(dòng)化。
[1]陳秀忠,吳志群,錢林.多測(cè)回測(cè)角平差系統(tǒng)在現(xiàn)代精密工程測(cè)量中的應(yīng)用[J].測(cè)繪通報(bào),2009(3):3638
[2]胡波,葉威,朱勇超,等.基于PDA的測(cè)量機(jī)器人自動(dòng)化多測(cè)回測(cè)角軟件設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪通報(bào),2013(2):116117
[3]張正祿,沈飛飛,孔寧,等.徠卡新型全站儀TS30的測(cè)評(píng)和開發(fā)研究[J].測(cè)繪信息與工程,2011,36(1):5253
[4]尚延生,王玉振,李躍華.基于PDA的邊角測(cè)量數(shù)據(jù)采集系統(tǒng)開發(fā)與應(yīng)用[J].海洋測(cè)繪,2006,26(6):4244
[5]梅文勝,鄭勇波,周命端.基于PDA的測(cè)量機(jī)器人自動(dòng)化網(wǎng)觀測(cè)軟件研究[J].測(cè)繪信息與工程,2008,33(5):4546
[6]董欽偉.氣象條件對(duì)全站儀測(cè)距精度的影響[J].甘肅科技,2012,28(12):4041
[7]TPS1000 GeoCom Refemee Manual Version2.20.Leica GeoSystems AG[M].Heerbrugg Switzerland,1999
[8]唐爭(zhēng)氣,吳爭(zhēng)鳴,姜波.基于GeoCOM技術(shù)的測(cè)量機(jī)器人在測(cè)量中的應(yīng)用[J].湖南城市學(xué)院學(xué)報(bào),2006,15(4):7376
[9]王宇會(huì),蔣利龍.GeoCOM對(duì)測(cè)量機(jī)器人的開發(fā)與應(yīng)用[J].礦山測(cè)量,2009,4(2):5657
[10]王宇會(huì),蔣利龍,張興福.測(cè)量機(jī)器人視場(chǎng)內(nèi)多目標(biāo)問(wèn)題的研究[J].工程勘察,2011(1):8486