金新平,秦川,鮑東東,丁克良
(1.華東勘測設計院(福建)有限公司,福建 福州 350003; 2.北京建筑大學,北京 1002626;3.蘇州市測繪院有限責任公司,江蘇 蘇州 215000)
橋梁立柱在施工和使用過程中的垂直度檢測是維護其使用壽命和安全性的重要保障,國家公路工程質量檢驗評定標準[1]對公路橋梁墩、臺、立柱的豎直度做了嚴格規定。隨著我國高速公路、鐵路、橋梁的發展,橋梁立柱的建設與使用也越來越廣泛,傳統的橋梁立柱垂直度檢測方法,例如垂線法、弧長檢測法等,無法獲取立柱截面中心點的坐標,不能檢測出立柱中心軸線的偏移量和傾斜率,因此無論是檢測效率還是檢測精度方面都難以滿足現代工程的檢測需求。近年來,諸多學者對垂直度的檢測方法和計算模型進行了大量的探索和研究[2~5],文獻[6]探索了采用全站儀無接觸測量技術進行垂直段測量方法和精度分析。但這些方法僅僅限于檢測方法的和模型研究,如何高效、快速地在工程中檢測橋梁立柱的垂直度依然是一項難題。
目前,測量機器人以其高精度和自動化的特點被廣泛應用于各類工程中,其提供的二次開發技術,可以支持用戶根據工程項目需求二次開發應用程序。本文以Leica測量機器人(全自動全站儀)和Android系統的智能手機移動終端為基礎,結合Android開發技術、藍牙通信技術、云存儲技術和測量機器人二次開發技術,設計與實現了基于Android系統的橋梁立柱垂直度快速實時檢測系統,使得垂直度檢測的效率和數據管理更為高效。
橋梁立柱垂直度快速實時檢測系統以Leica TS30型號測量機器人為開發測試儀器,綜合使用Java語言、Android Studio開發環境、Bmob移動后端云存儲平臺和Leica測量機器人二次開發協議中的ASCII協議進行本系統的研究和開發工作。
ASCII協議屬于GeoCom協議下的線路通信協議,協議的通信是由點對點的通信單元組成。每一個通信單元包含一個命令碼和一個回執碼,在一個通信單元中,系統以開發程序為客戶終端向以測量機器人為服務端發送命令碼,隨后保持通信通道等待回執信號,此時測量機器人接收到命令碼,同時對命令碼進行內部標識符匹配,若匹配成功,則儀器根據命令碼進行相應的工作,同時生成回執碼向開發程序返回;若匹配失敗,則儀器不進行工作,同時將命令錯誤信息生成回執碼向開發程序返回,當開發程序通過通信通道接收到回執碼后,此時一個通信單元通信完成,如圖1所示。

圖1 通信單元
橋梁立柱垂直度快速實時檢測系統主要由三個子模塊組成,分別為數據采集模塊、計算存儲模塊和云端管理模塊,系統框架如圖2所示。

圖2 橋梁立柱檢測系統框架
(1)數據采集模塊負責根據設計的程序對橋梁立柱的檢測信息進行數據采集。系統根據ASCII協議的通信原理進行通信建立、遠程控制和信號傳輸;模塊的檢測數據的采集步驟根據文獻[6]的高墩橋梁立柱檢測數據采集方法進行設計,同時遵照GeoCom串行接口下的ASCII協議進行功能開發。
(2)計算存儲模塊負責對檢測數據進行計算、分析和本地存儲。計算功能部分根據檢測數據運用穩健最小二乘方法計算高墩橋梁立柱的上下截面圓心坐標;分析功能部分根據文獻[6]中的垂直度檢測算法原理對立柱的垂直度進行分析;本地存儲功能部分通過數據庫和本地文件對立柱的檢測數據和結果進行存儲。
(3)云端管理模塊負責立柱垂直采集數據和檢測數據的云端管理存儲工作,此模塊根據Bmob移動后端云提供的接口和開發規范進行開發編寫和功能實現。
根據系統的框架設計和模塊設計,系統實現的數據采集、計算存儲、云端管理三大功能模塊,各模塊功能結構圖如圖3所示。

圖3 檢測系統各模塊功能結構圖
藍牙通信技術歷經多年的發展、創新和技術變革,因其具有低能耗、低成本等優勢,目前已被廣泛應用于各類系統的智能終端設備。現有的Android智能終端設備的藍牙模塊的工作主要由待機、查詢、配對和連接四個步驟組成[7~9]。本系統通過使用Android平臺提供的藍牙API接口來實現藍牙設備之間的通信,Android系統應用程序與測量機器人之間建立RFCOMM通道,實現點對點的無線通信。對Android系統本地藍牙與測量機器人藍牙通信進行設計,設計流程如圖4所示:

圖4 藍牙通信流程圖
(1)SQLite數據庫
Android系統集成了嵌入式關系型數據庫SQLite,與其他數據庫相比具有輕量、靈活、高效等特點[11],完全可以滿足系統對數據存儲管理的需求。SQLite數據庫總體上符合SQL-92標準,無論是在功能上還是在語法上都與目前主流的SQL數據庫差異不大,但SQLite具有其獨有的優勢,首先,SQLite數據庫在數據處理速度上更快,效率高;其次,SQLite的數據類型為弱引用類型,可自動實現不匹配數據類型的自動轉化,極大地方便了開發者的編寫,使SQLite數據庫具有更高的靈活性。
(2)數據表結構設計
為實現數據存儲結構的可管理性、低復雜度、最優化和靈活性等目標,結合數據表結構的設計原則,在充分考慮系統的數據存儲需求后,設計系統的數據表包括:項目信息表、擬合信息表和成果信息表。
①項目信息表,用來存儲不同檢測項目的信息,包括項目ID、測站名稱和創建時間,項目信息表結構如表1所示。

項目信息表 表1
②擬合信息表,用來存儲檢測立柱上下部分擬合圓的擬合結果信息,包括立柱名稱、項目ID、擬合圓的位置(0表示頂部擬合圓,1表示底部擬合圓)和擬合圓心的三維坐標(X,Y,Z)及半徑R,擬合信息表結構如表2所示。

擬合信息表 表2
③成果信息表,用來存儲檢測立柱的檢測結果,包括立柱名稱、項目ID、立柱的豎直度、立柱的高度、立柱豎直度的允偏值和檢測結論,成果信息表如表3所示。

成果信息表 表3
(1)Bmob移動云的搭建
Bmob移動云[12,13]是一款向移動應用市場提供云數據存儲服務的Serverless云應用平臺,可快速幫助移動應用實現一個靈活且安全的后臺管理系統,平臺支持現有主流移動端操作系統。Bmob移動云提供了較為簡單、便捷的搭建方式,它將網絡通信函數進行了封裝,開發者無須大量的后端設計開發,只需要在前端開發中進行相應函數功能的調用即可。Bmob移動后端云的搭建、連接和使用步驟如圖5所示:

圖5 移動云搭建步驟流程圖
(2)Bmob云的上傳與下載
Bmob通過批量數據添加實現數據項的上傳,其實現方法是通過BmobBatch對象的insertBatch方法,以數據項數組為方法參數,實例化QueryListListener監聽器。Bmob通過批量條件查詢返回數據項對象實現數據項的下載,其實現方法是通過BmobQuery對象的findObjects方法,以數據項作為方法參數,實例化FindListener監聽器。
工程應用案例選在某在建高速公路一個標段施工現場,由于公路所在區域地形為丘陵地形,橋梁立柱較多,施工期間垂直度檢測是一項必要工作。首先根據現場的實際情況,設定測站位置。在選定測站位置時注意選擇視野較好,一次盡量檢測較多的立柱。設站之后,首先進行藍牙搜索與鏈接,智能手機與測量機器人鏈接。啟動立柱檢測系統,進行項目設置,包括新建項目、刪除項目、當前項目選擇等,即可進行檢測測量,實際操作分為數據采集、數據處理、數據存儲、數據上傳、下載等項操作。
首先根據進行人工瞄準,完成對選定立柱上部、下部截面圓的左切右切測量,即切點定位,隨后啟動自動測量,系統控制測量機器人進行自動測量立柱表面特征點,完成體立柱垂直度檢測征點測量,觀測結果包括角度、坐標實時可見。啟動計算進行最小二乘計算垂直度,點擊保存,測量和計算結果按設定格式保存,進行下一個立柱測量。每站測量結束,測站數據自動按照設計數據格式保存,報表功能將垂直度的計算結果按照成果樣式導出,自動生成表格,以.xlsx格式存儲到終端本地文件管理目錄下。圖6(a)、6(b)為系統文件建立和測量界面。

圖6 數據采集與處理界面
每次測量結束,可以將項目測量數據上傳到Bmob移動后端云數據庫,可以在電腦端直接下載測量數據,無須在測量結束進行連線下載數據和處理工作。如圖7(a)、圖7(b)所示為數據傳輸和云端管理界面。

圖7 云端管理程序界面
實際應用表明,采用編制的垂直度檢測系統進行橋梁立柱檢測,在選定測站之后只需對每個立柱,進行左切、右切人工測量,而后系統自動測量,自動計算,數據自動存儲并上傳云端,減少了數據下載、整理、計算處理等中間環節,大大提高了立柱檢測效率。
本文以高墩橋梁立柱的垂直度檢測為研究對象,根據文獻[6]的理論研究方法,以測量機器人為硬件基礎,設計實現了基于Android系統的高墩橋梁立柱垂直度快速檢測系統。
高墩橋梁立柱垂直度快速檢測系統把無接觸測量方法與Android移動開發技術、藍牙通信、云存儲和測量機器人二次開發等技術相結合,實現了無線控制、自動測量、快速計算、實時報表、云端存儲等功能。用戶只需要在Android終端手機上安裝系統,配合測量機器人就可以使用系統進行橋梁立柱的垂直度檢測工作,實現了集自動化數據采集、處理、存儲為一體的橋梁立柱快速實時檢測系統。