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