基于Android高墩桥梁立柱垂直度快速实时检测系统设计与实现
2021-07-12金新平秦川鲍东东丁克良
金新平,秦川,鲍东东,丁克良
(1.华东勘测设计院(福建)有限公司,福建 福州 350003; 2.北京建筑大学,北京 1002626;3.苏州市测绘院有限责任公司,江苏 苏州 215000)
1 引 言
桥梁立柱在施工和使用过程中的垂直度检测是维护其使用寿命和安全性的重要保障,国家公路工程质量检验评定标准[1]对公路桥梁墩、台、立柱的竖直度做了严格规定。随着我国高速公路、铁路、桥梁的发展,桥梁立柱的建设与使用也越来越广泛,传统的桥梁立柱垂直度检测方法,例如垂线法、弧长检测法等,无法获取立柱截面中心点的坐标,不能检测出立柱中心轴线的偏移量和倾斜率,因此无论是检测效率还是检测精度方面都难以满足现代工程的检测需求。近年来,诸多学者对垂直度的检测方法和计算模型进行了大量的探索和研究[2~5],文献[6]探索了采用全站仪无接触测量技术进行垂直段测量方法和精度分析。但这些方法仅仅限于检测方法的和模型研究,如何高效、快速地在工程中检测桥梁立柱的垂直度依然是一项难题。
目前,测量机器人以其高精度和自动化的特点被广泛应用于各类工程中,其提供的二次开发技术,可以支持用户根据工程项目需求二次开发应用程序。本文以Leica测量机器人(全自动全站仪)和Android系统的智能手机移动终端为基础,结合Android开发技术、蓝牙通信技术、云存储技术和测量机器人二次开发技术,设计与实现了基于Android系统的桥梁立柱垂直度快速实时检测系统,使得垂直度检测的效率和数据管理更为高效。
2 检测系统设计
2.1 系统开发环境搭建
桥梁立柱垂直度快速实时检测系统以Leica TS30型号测量机器人为开发测试仪器,综合使用Java语言、Android Studio开发环境、Bmob移动后端云存储平台和Leica测量机器人二次开发协议中的ASCII协议进行本系统的研究和开发工作。
ASCII协议属于GeoCom协议下的线路通信协议,协议的通信是由点对点的通信单元组成。每一个通信单元包含一个命令码和一个回执码,在一个通信单元中,系统以开发程序为客户终端向以测量机器人为服务端发送命令码,随后保持通信通道等待回执信号,此时测量机器人接收到命令码,同时对命令码进行内部标识符匹配,若匹配成功,则仪器根据命令码进行相应的工作,同时生成回执码向开发程序返回;若匹配失败,则仪器不进行工作,同时将命令错误信息生成回执码向开发程序返回,当开发程序通过通信通道接收到回执码后,此时一个通信单元通信完成,如图1所示。
图1 通信单元
2.2 系统框架
桥梁立柱垂直度快速实时检测系统主要由三个子模块组成,分别为数据采集模块、计算存储模块和云端管理模块,系统框架如图2所示。
图2 桥梁立柱检测系统框架
(1)数据采集模块负责根据设计的程序对桥梁立柱的检测信息进行数据采集。系统根据ASCII协议的通信原理进行通信建立、远程控制和信号传输;模块的检测数据的采集步骤根据文献[6]的高墩桥梁立柱检测数据采集方法进行设计,同时遵照GeoCom串行接口下的ASCII协议进行功能开发。
(2)计算存储模块负责对检测数据进行计算、分析和本地存储。计算功能部分根据检测数据运用稳健最小二乘方法计算高墩桥梁立柱的上下截面圆心坐标;分析功能部分根据文献[6]中的垂直度检测算法原理对立柱的垂直度进行分析;本地存储功能部分通过数据库和本地文件对立柱的检测数据和结果进行存储。
(3)云端管理模块负责立柱垂直采集数据和检测数据的云端管理存储工作,此模块根据Bmob移动后端云提供的接口和开发规范进行开发编写和功能实现。
2.3 系统功能设计
根据系统的框架设计和模块设计,系统实现的数据采集、计算存储、云端管理三大功能模块,各模块功能结构图如图3所示。
图3 检测系统各模块功能结构图
3 系统关键技术
3.1 蓝牙通信设计
蓝牙通信技术历经多年的发展、创新和技术变革,因其具有低能耗、低成本等优势,目前已被广泛应用于各类系统的智能终端设备。现有的Android智能终端设备的蓝牙模块的工作主要由待机、查询、配对和连接四个步骤组成[7~9]。本系统通过使用Android平台提供的蓝牙API接口来实现蓝牙设备之间的通信,Android系统应用程序与测量机器人之间建立RFCOMM通道,实现点对点的无线通信。对Android系统本地蓝牙与测量机器人蓝牙通信进行设计,设计流程如图4所示:
图4 蓝牙通信流程图
3.2 数据库存储设计
(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
3.3 Bmob云存储设计
(1)Bmob移动云的搭建
Bmob移动云[12,13]是一款向移动应用市场提供云数据存储服务的Serverless云应用平台,可快速帮助移动应用实现一个灵活且安全的后台管理系统,平台支持现有主流移动端操作系统。Bmob移动云提供了较为简单、便捷的搭建方式,它将网络通信函数进行了封装,开发者无须大量的后端设计开发,只需要在前端开发中进行相应函数功能的调用即可。Bmob移动后端云的搭建、连接和使用步骤如图5所示:
图5 移动云搭建步骤流程图
(2)Bmob云的上传与下载
Bmob通过批量数据添加实现数据项的上传,其实现方法是通过BmobBatch对象的insertBatch方法,以数据项数组为方法参数,实例化QueryListListener监听器。Bmob通过批量条件查询返回数据项对象实现数据项的下载,其实现方法是通过BmobQuery对象的findObjects方法,以数据项作为方法参数,实例化FindListener监听器。
4 工程应用
工程应用案例选在某在建高速公路一个标段施工现场,由于公路所在区域地形为丘陵地形,桥梁立柱较多,施工期间垂直度检测是一项必要工作。首先根据现场的实际情况,设定测站位置。在选定测站位置时注意选择视野较好,一次尽量检测较多的立柱。设站之后,首先进行蓝牙搜索与链接,智能手机与测量机器人链接。启动立柱检测系统,进行项目设置,包括新建项目、删除项目、当前项目选择等,即可进行检测测量,实际操作分为数据采集、数据处理、数据存储、数据上传、下载等项操作。
4.1 数据采集与处理
首先根据进行人工瞄准,完成对选定立柱上部、下部截面圆的左切右切测量,即切点定位,随后启动自动测量,系统控制测量机器人进行自动测量立柱表面特征点,完成体立柱垂直度检测征点测量,观测结果包括角度、坐标实时可见。启动计算进行最小二乘计算垂直度,点击保存,测量和计算结果按设定格式保存,进行下一个立柱测量。每站测量结束,测站数据自动按照设计数据格式保存,报表功能将垂直度的计算结果按照成果样式导出,自动生成表格,以.xlsx格式存储到终端本地文件管理目录下。图6(a)、6(b)为系统文件建立和测量界面。
图6 数据采集与处理界面
4.2 云端管理
每次测量结束,可以将项目测量数据上传到Bmob移动后端云数据库,可以在电脑端直接下载测量数据,无须在测量结束进行连线下载数据和处理工作。如图7(a)、图7(b)所示为数据传输和云端管理界面。
图7 云端管理程序界面
实际应用表明,采用编制的垂直度检测系统进行桥梁立柱检测,在选定测站之后只需对每个立柱,进行左切、右切人工测量,而后系统自动测量,自动计算,数据自动存储并上传云端,减少了数据下载、整理、计算处理等中间环节,大大提高了立柱检测效率。
5 结 论
本文以高墩桥梁立柱的垂直度检测为研究对象,根据文献[6]的理论研究方法,以测量机器人为硬件基础,设计实现了基于Android系统的高墩桥梁立柱垂直度快速检测系统。
高墩桥梁立柱垂直度快速检测系统把无接触测量方法与Android移动开发技术、蓝牙通信、云存储和测量机器人二次开发等技术相结合,实现了无线控制、自动测量、快速计算、实时报表、云端存储等功能。用户只需要在Android终端手机上安装系统,配合测量机器人就可以使用系统进行桥梁立柱的垂直度检测工作,实现了集自动化数据采集、处理、存储为一体的桥梁立柱快速实时检测系统。