張攀華
(中鐵二十二局集團(tuán)第三工程有限公司,福建 廈門 361000)
測(cè)量機(jī)器人從誕生以來憑借高精度、高穩(wěn)定性、高可靠性、快速便捷以及自動(dòng)觀測(cè)等優(yōu)點(diǎn)廣受大家的青睞,高鐵對(duì)線路施工的平穩(wěn)性、準(zhǔn)確性提出更高的要求,提高了測(cè)量機(jī)器人的使用頻率。目前,高鐵建設(shè)項(xiàng)目均裝備了測(cè)量機(jī)器人[1-2];然而隧道控制測(cè)量仍停留在人工手動(dòng)測(cè)量、手簿記錄的階段,功效相對(duì)較低,該文以使用率較高的徠卡TM50系列測(cè)量機(jī)器人為例來探討基于安卓系統(tǒng)下的設(shè)計(jì)與應(yīng)用研究。
TM50全站儀是徠卡全新一代全站儀,具有測(cè)量機(jī)器人目標(biāo)全自動(dòng)搜索、動(dòng)態(tài)目標(biāo)跟蹤、高精確辨識(shí)及照準(zhǔn)目標(biāo)的功能,是可以獲取角度(水平角、豎直角)、距離(平距、斜距)以及空間三維坐標(biāo)等信息的智能全站儀。TM50測(cè)量機(jī)器人二次開發(fā)方案有2種:1) 利用GeoBasic或Geoc++編程工具開發(fā),編譯后上傳目標(biāo)設(shè)備并調(diào)試使用,其優(yōu)點(diǎn)是直接采用廠商底層API函數(shù)執(zhí)行,代碼執(zhí)行效率較高,缺點(diǎn)是受限于設(shè)備本身處理器的運(yùn)算能力限制,對(duì)開發(fā)者要求較高,軟件開發(fā)周期較長。2) 利用GeoComm通信庫或GeoCom ACSII,通過串口與計(jì)算機(jī)或移動(dòng)設(shè)備進(jìn)行聯(lián)機(jī)數(shù)據(jù)通信,其優(yōu)點(diǎn)是復(fù)雜擴(kuò)展計(jì)算由移動(dòng)設(shè)備處理,移動(dòng)設(shè)備和測(cè)量機(jī)器人通信清晰透明,可以及時(shí)發(fā)現(xiàn)并處理異常問題,靈活性高、拓展性豐富,軟件開發(fā)整個(gè)周期較短,通過網(wǎng)絡(luò)可實(shí)現(xiàn)遠(yuǎn)程執(zhí)行,是目前普遍采用的開發(fā)方式,缺點(diǎn)是需要單獨(dú)采購移動(dòng)開發(fā)設(shè)備。該文采用第二種方法操作TM50全站儀。
GeoCOM是一種測(cè)量機(jī)器人的通信接口,是基于SUN微系統(tǒng)的遠(yuǎn)程調(diào)用(RPC)建立的,有2種協(xié)議:1) 調(diào)用GeoCOM函數(shù),采用編程開發(fā)工具,按照作業(yè)需求,根據(jù)流程進(jìn)行應(yīng)答。2) 低級(jí)的ASCII協(xié)議,由請(qǐng)求和應(yīng)答解碼,即由計(jì)算機(jī)或移動(dòng)設(shè)備通過串行線向測(cè)量機(jī)器人發(fā)送一個(gè)請(qǐng)求,等候應(yīng)答并對(duì)應(yīng)答解碼。
測(cè)量機(jī)器人可遠(yuǎn)程調(diào)用,且每個(gè)過程都對(duì)應(yīng)一個(gè)唯一的標(biāo)識(shí),每個(gè)標(biāo)識(shí)碼又與一個(gè)特定的請(qǐng)求相連,這樣可以通過發(fā)送ACSII請(qǐng)求,并得到ACSII應(yīng)答方式來控制測(cè)量機(jī)器人,TM50系列測(cè)量機(jī)器人不支持GSI指令,由GeoCOM ASCII來代替。
ASCII請(qǐng)求協(xié)議語法如下。
[
格式中的[ ]表示可選項(xiàng),
ASCII應(yīng)答協(xié)議語法如下。
%R1P,
格式中[ ]表示可選項(xiàng),“%R1P”表示GeoCOM第一種類型的應(yīng)答該請(qǐng)求,
目前,Android設(shè)備具備藍(lán)牙、OTG(On-The-Go)、GPRS、IEEE 802.11以及NFC(Near Field Communication)等無線通信方案,現(xiàn)場(chǎng)一般近距離操作,采用OTG、GPRS,還需要增加額外費(fèi)用,NFC與IEEE 802.11部分設(shè)備不支持;藍(lán)牙具有功耗低、抗干擾能力強(qiáng)、成本低以及通信距離適中等優(yōu)點(diǎn),可以滿足現(xiàn)場(chǎng)使用要求,通信方案采用藍(lán)牙作為無線通信。測(cè)量機(jī)器人GeoCOM通信如圖1所示。
測(cè)量機(jī)器人自動(dòng)觀測(cè)軟件的設(shè)計(jì)基本思路:儀器在導(dǎo)線點(diǎn)上安置調(diào)整就位后,使用串口線或藍(lán)牙與儀器連接,然后進(jìn)行測(cè)站設(shè)置,主要包括測(cè)站的限差、角度、距離測(cè)回?cái)?shù)、測(cè)站名設(shè)置以及天氣情況等,然后進(jìn)行初始測(cè)量,對(duì)目標(biāo)點(diǎn)數(shù)據(jù)進(jìn)行初始采集,然后開始自動(dòng)觀測(cè),觀測(cè)結(jié)束后觀測(cè)成果自動(dòng)與規(guī)范要求進(jìn)行比對(duì),如果不滿足規(guī)范要求,就彈出對(duì)話框等待人工進(jìn)一步干預(yù)操作。當(dāng)最終獲得合格的外業(yè)觀測(cè)數(shù)據(jù)時(shí),保存該數(shù)據(jù)。工作流程圖如圖2所示。
操作系統(tǒng)為Android 12,軟件基于Android studio編程實(shí)現(xiàn),Android studio具有良好的擴(kuò)展性和交互性,直接編譯為原生代碼;此外,其還具有開發(fā)周期短等優(yōu)點(diǎn),是目前安卓軟件標(biāo)準(zhǔn)的開發(fā)環(huán)境。
在項(xiàng)目中添加對(duì)藍(lán)牙、字符操作的引用,具體如下。
import java.util.UUID;\用唯一標(biāo)識(shí)符引用
import java.lang.String;\字符串操作類引用
import android.os.Handler;\線程通信引用
import java.lang.Object;\基礎(chǔ)類引用
Import android.bluetooth.BluetoothAdapter;\藍(lán)牙適配器引用
import java.lang.StringBuilder;\字符串操作類引用
import android.util.Log;\日志輸出類引用
import android.os.Message;\添加信息操作類引用
2.3.1 連接儀器
采用無線藍(lán)牙連接移動(dòng)設(shè)備和儀器,首先設(shè)置藍(lán)牙串口服務(wù) (SPP) 的 UUID,開啟對(duì)串口的操作。其次,開始與設(shè)備匹配連接,實(shí)例代碼如下。
private final static String MY_UUID = "00001101-0000-1000-8000-00805F9B34FB";
private BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); Toast.makeText(getApplicationContext(), "請(qǐng)先連接設(shè)備", Toast.LENGTH_ SHORT).show(); return;
2.3.2 數(shù)據(jù)采集
采用JSON格式對(duì)測(cè)量機(jī)器人開發(fā)的參數(shù)進(jìn)行存儲(chǔ),實(shí)例代碼如下。
指定測(cè)量機(jī)器望遠(yuǎn)鏡照準(zhǔn)目標(biāo),HZ代表望遠(yuǎn)鏡水平角位置,V代表望遠(yuǎn)鏡豎直角位置,響應(yīng)和超時(shí)時(shí)間限制,返回參數(shù)。
"SetDirection":{
"Enabled":true,
"Request":"%R1Q,9027:Hz,V,2,0,0 ",
"Response":"",
"ResponseDelimiter":" ",
"ResponsePattern":"(?:%R1P,0,0:)(?P
"SleepTime":10.0,
"Timeout":30.0
}
測(cè)量機(jī)器采集水平角和距離,響應(yīng)和超時(shí)時(shí)間限制,返回參數(shù)。
"GetCoordinate":{
"Enabled":true,
"Request":"%R1Q,2108:1,0 ",
"ResponseDelimiter":" ",
"ResponsePattern":"(?:%R1P,0,0:)(?P
"SleepTime":10.0,
"Timeout":30.0
}
測(cè)量機(jī)器換面并轉(zhuǎn)換望遠(yuǎn)鏡,響應(yīng)和超時(shí)時(shí)間限制,返回參數(shù)。
"ChangeFace": {
"enabled": true,
"request": "%R1Q,9028:1,0,0 ",
"responseDelimiter": " ",
"responsePattern": "(?:%R1P,0,0:)(?P
"sleepTime": 10.0, "timeout": 30.0
}
2.3.3 常見通信錯(cuò)誤處理
測(cè)量機(jī)器人調(diào)試反饋指令約228個(gè),施工作業(yè)常遇到錯(cuò)誤見表1,根據(jù)返回的參數(shù)提示操作者,等待人工干預(yù),實(shí)例代碼如下。
表1 部分錯(cuò)誤列表
public static String LeicaError(String p0){
String str;
switch (Integer.parseInt(p0)){
case 0:\返回結(jié)果0代表函數(shù)執(zhí)行完畢
str = "函數(shù)成功執(zhí)行完成。";
break;\跳出循環(huán)判斷
…
2.3.4 注意事項(xiàng)
GeoCOM ASCII提供設(shè)定氣壓、溫度以及濕度操作指令,在實(shí)際操作中,不建議在Android手簿上設(shè)置溫度、氣壓以及濕度等參數(shù),直接進(jìn)入測(cè)量機(jī)器人內(nèi)進(jìn)行設(shè)定,避免因通信或操作不當(dāng)而導(dǎo)致氣象參數(shù)未修改正確。
2.3.4.1 獲取氣象參數(shù)
ASCII請(qǐng)求指令:%R1Q,2029
ASCII應(yīng)答指令:%R1P,0,0:RC,Lambda[double],Pressure[double],DryTemperature
2.3.4.2 設(shè)置氣象參數(shù)
ASCII請(qǐng)求指令:%R1Q,2028:Lambda[double],Pressure[d
ouble],DryTemperature[double],WetTemperature[double]
ASCII應(yīng)答指令:%R1P,0,0:RC
以浙江南部某特長隧道導(dǎo)線測(cè)量為例,表2、表3分別為軟件自動(dòng)觀測(cè)和人工觀測(cè)整理后的部分手簿。氣溫、氣壓分別在現(xiàn)場(chǎng)用氣壓計(jì)量測(cè)后輸入儀器,軟件主界面如圖3所示。由表2、表3可知,軟件觀測(cè)數(shù)據(jù)匯總平均準(zhǔn)值為81 °31 '1.83 ",人工觀測(cè)成果為81 °31 '2.67",在導(dǎo)線測(cè)量前已經(jīng)提前通知隧道班組停工,觀測(cè)時(shí)不存在外界機(jī)械擾動(dòng)等影響,由圖4的觀測(cè)數(shù)據(jù)和圖5數(shù)據(jù)聚合性分析可知,人工觀測(cè)和基于安卓系統(tǒng)開發(fā)的軟件自動(dòng)觀測(cè)精度一致,測(cè)量機(jī)器人至少能節(jié)省一倍的觀測(cè)時(shí)間(在復(fù)雜工況下可以節(jié)約更多的時(shí)間)。
表2 水平角觀測(cè)軟件
表3 人工觀測(cè)觀測(cè)數(shù)據(jù)匯總
測(cè)站觀測(cè)數(shù)據(jù)超限的問題。在實(shí)際作業(yè)過程中會(huì)遇到某站觀測(cè)頻繁數(shù)據(jù)限差不合格的情況,問題大多出現(xiàn)在儀器本身或氣候不適合觀測(cè),可以考慮采用以下方式解決:1)檢查測(cè)量機(jī)器人電子氣泡是否偏離中心位置,如果嚴(yán)重偏離,就需要重新整平;并全面檢查腳架的螺栓是否擰緊,保證擰緊適中;檢查后該測(cè)站重新觀測(cè)。2)檢查溫度測(cè)量結(jié)果是否存在突變;避免光源直接對(duì)著儀器照射,保留必要照明即可,測(cè)量機(jī)器人在夜間同樣能完成作業(yè)任務(wù)。3)測(cè)量機(jī)器人相對(duì)附近震動(dòng)源敏感性強(qiáng),如果發(fā)現(xiàn)及時(shí),就可以進(jìn)行協(xié)調(diào)解決。
觀測(cè)過程中偶爾出現(xiàn)測(cè)量機(jī)器人目標(biāo)找尋錯(cuò)誤或無法發(fā)現(xiàn)目標(biāo)的情況,可以考慮采用以下方式解決:1)檢查目標(biāo)范圍是否存在障礙物干擾(障礙物與目標(biāo)視線距離大于10 cm),并及時(shí)加以排除。2)目標(biāo)點(diǎn)雖然距離很遠(yuǎn),但是二維面上距離較近,該問題多出現(xiàn)在曲線和直線過渡段、橋梁路基過渡段,提前籌劃觀測(cè)位置,保證觀測(cè)到足夠的目標(biāo)。3)在沿海隧道凌晨水汽變化較大,保證目標(biāo)棱鏡清晰可見。
經(jīng)實(shí)踐證明,利用安卓系統(tǒng)開發(fā)的自動(dòng)測(cè)量程序具有較高的實(shí)用性,減少了因人工操作不當(dāng)導(dǎo)致的觀測(cè)誤差,在外業(yè)觀測(cè)時(shí)大大提高了觀測(cè)的效率;利用GeoCOM ASCII二次開發(fā)充分利用測(cè)量機(jī)器人和安卓設(shè)備的硬件優(yōu)勢(shì),同時(shí)拓展了儀器的功能,可廣泛的應(yīng)用鐵路、公路施工控制測(cè)量。安卓設(shè)備比windows morble有更高的執(zhí)行效率,但是開發(fā)時(shí)需考慮適配設(shè)備廠商細(xì)節(jié)差異。另外安卓手簿帶有高精度的溫度、氣壓的傳感器,實(shí)現(xiàn)氣壓、溫度的自動(dòng)改正,那將具有更好的實(shí)用性。