APP下载

机器人自动化数据采集测控方法研究

2021-01-28焦丹丹那宏壮曹传德

黑龙江科学 2021年2期
关键词:测控安卓指令

焦丹丹,那宏壮,曹传德,丁 锐

(黑龙江省科学院高技术研究院,哈尔滨 150001)

工业制造技术和智能化技术的发展极大地推动了机器人的开发生产,越来越多的机器人广泛应用于实际生产生活中。地质测量工作中应用的测量机器人具有目标识别、跟踪及ATR补偿等优势,可以广泛应用于地质变形监测和精密工程测量。借助开放性的指令集可以帮助用户制订各种程序控制仪器,以实现高精度的数据采集工作。安卓系统具有强大的功能,已成为应用最为广泛的移动端操作系统。基于安卓系统开发的测量程序也越来越多,其操作原理是通过蓝牙串口向机器人发送各种指令完成测量工作。自动化数据采集工作一方面为测量用户提供了更加灵活、科学的体验,另一方面保证了测量数据成果的真实性和有效性。

1 测量机器人的测控原理

基于安卓系统开发的徕卡测量机器人的测控主要是通过CeoCOM接口实现测量。CeoCOM是地理数据通信接口技术,这种新型的接口技术是基于SUN公司开发的远程调用协议而建立的,属于点对点的通信协议。在CeoCOM接口帮助下,测量机器人的基本通信方式由客户端的请求和应答以及服务器组成,而客户端通常是指控制计算机,服务器是指全站仪。

CeoCOM接口是一个封装了用户和徕卡全站仪进行通信交互时调用仪器上的子系统所需的客户端调用接口函数库,实际应用过程中用户不需要对函数库内函数的具体应用进行分析,只需要对已经设置好的程序进行控制调用即可,程序以低级模式和高级模式两种模式为主。基于安卓平台开发的地质测量程序主要是通过ASCII协议实现通信目标控制。ASCII协议的工作流程是依据线性通信协议,由计算机控制系统将请求信号传达至全站仪,等待全站仪控制器的应答和回复。除了ASCII协议,测量机器人工作过程中还需要借助RFCOMM通信方式的支持。选择应用RFCOMM通信方式的原因是其可以和传统串口应用相兼容。最重要的是,RFCOMM通信方式完全支持安卓平台开发的测量机器人所开展的一系列测量工作,测量用户可以利用安卓系统的API调用函数对测量机器人进行程序控制,进而完成各种地质测量工作。

利用CeoCOM接口技术的优势,可以通过蓝牙通信端口向测量机器人发出各种指令,测量机器人收到控制系统发出的信息后可以立即进行分析和应答。通过客户端和服务器的协同作用可以实现CeoCOM初始化、仪器连接、测量以及端口测控等工作,并根据事先设计的数据测量程序和流程对测量机器人操作进行优化组合,以实现整个地质测量工作的自动化[1]。

2 安卓平台下测量设备测控实现的关键

基于安卓平台开发的测量机器人从事的测量工作实质是一系列ASCII指令组织、发送和解析的过程,在这个过程中,测量机器人执行的测量任务主要包括定向、棱镜搜索、精瞄、测量以及测量结果获取这五个动作。图1为测量机器人自动化测量的流程图。

图1 自动化测量流程图Fig.1 Flow chart of automation measurement

为了确保整个自动化测量工作的顺利进行,安卓平台在设计应用过程中首先要考虑确保蓝牙通信下的ASCII指令得到最快的发送和解析,而RFCOMM通信方式具有一令一答的功能,在一个指令发送完成后,仪器可以在最快的时间内进行解析并获取结果,客户端可以根据字符串的解析确定下一条指令。在整个指令发送和解析过程中,Send And Recieve Data发挥着重要的作用,作为字符串发送和解析的应用函数,Send And Recieve Data可以利用ASCII指令实现一系列的测量操作动作。测量机器人的ASCII关键操作指令主要有以下几方面:利用安卓蓝牙端口RFCOMM协议将测量仪器和安卓设备连接起来,这一步执行命令为:bt Device=bt Adaper.get Remote Device(MyAd-dress);bt Soket=bt Device.create Rfcomm Socket To Service Record(MY-UUID);bt Soket.connet()。测量前期准备工作完成后,接下来需要做的是定向,定向工作依据的指令函数主要是:String Command=″ % R1Q,9027,3:″+HZ+″,″V+″,″+Pos Mode+″,″+Atr Mode+″,″+Atr Mode+″,0 ″;String strR= Send And Recieve Data(Command,3)。定向工作完成后,就需要在指定位置处寻找目标棱镜,这一测量操作的指令为:String Command=″ % R1Q,9029,4:″+HZ+″,″+V+″,0 ″;String strR=Send And Recieve Data(Command,4)。棱镜目标搜索完成后,要进行精准瞄准,精准瞄准的具体指令为:String Command=″ % R1Q,9037,5:″+HZ+″,″+V+″,0 ″;String strR=Send And Recieve Data(Command,5)。上述工作完成后,就可以进行测量任务的批量操作了,批量操作环节的指令为:String Command=″ %R1Q,2008,6:1,1 ″;String strR=Send And Recieve Data(Command,6)。批量操作完成后,可以直接获取测量成果,在最后操作环节中,必须对“是否为最后一点”进行复核,如果不是最后一点则要重新进行整个测量任务,当限差合格时就可以关闭数据端口,断开仪器,结束本次测量工作。此环节所应用的指令为:String Result=″ %R1Q,2108,7∶1000,1 ″;String strR=Send And Recieve Data(Command,7)。

3 机器人自动化数据采集测控的开发和实现

安卓系统构架按照从高到低的排序方式依次是应用程序层、应用程序框架层、系统运行库层以及Linux内核层。其中,四大组件分别为:活动,在安卓系统构架中主要发挥表现的功能。服务,是整个运行过程中所涉及的后台运行服务。广播接收器,用于接收测量过程中的各种广播信息。内容提供商,相当于数据库,可以对发送和接收的信息数据进行读取和存储,具有方便安全和开放的特点。测量工作中借助的平台除了安卓,还有一种基于安卓环境下开发的平台——Android Studio,其与Eclipse ADT插件功能相似。因为Android Studio是Google的IDE,所以可以为安卓应用程序的各项开发提供技术支持,提供的工具技术支持主要包括布局编辑器、代码编辑和分析、工具调试、模拟器及构建系统的模拟建设等[2]。

目前,通过ASCII指令的发送和解析已经充分实现了机器人测量的自动化操作,安卓系统中对机器人测量操作的程序模块主要以工程管理、学习测量、参数设置、自动测量及成果输出为主。在地质测量的自动化过程中,应根据应用界面提示,在工程管理模块选择工程文件,如果事先没有进行学习测量,则在测量开始前要先进行学习测量,完成后再根据测量要求和需要对测量参数进行设置,确保测量输出结果的真实性。在自动测量方式选择设置过程中,测量工作完成后可以对测量结果数据进行输出处理,并做好相关数据的记录和保存。

4 结语

随着科学技术的不断发展,机器人自动化测量地质工作成为发展的必然趋势,将机器人自动测量技术和无人机测绘技术相结合,可以更快地获取测量数据,对节约测量资金具有重要的意义。基于安卓平台开发的测量程序在实现自动化测量的同时,可以增强客户的使用体验。在安卓平台上进行机器人测量具有广阔的应用前景,需要技术人员坚持创新,不断提升技术水平,确保地质测量工作的高质量开展。

猜你喜欢

测控安卓指令
iPhone不卡的秘密曝光:安卓也能享受
昆山祺迈测控设备有限公司
《单一形状固定循环指令G90车外圆仿真》教案设计
文物表情包
安卓系统或成智能汽车标配
基于现代测控技术及其应用分析
虚拟仪器技术在农业装备测控中的应用
向着新航程进发——远望7号测控船首航记录
中断与跳转操作对指令串的影响
安卓机器人