测量机器人远程控制应用设计
2017-3-28 来源:合肥工业大学 作者:王盼 吴兆福 张怀亮
摘要: 利用 Leica 测量机器人的 Geo Com 接口,使用 C + + 二次开发可实现自动化观测软件,为重复、高频次的变形观测提供解决方案。辅以网络通信模块,实现对测量机器人的远程控制,完成数据采集任务。通过对比分析利用软件自动采集的坐标和人工直接采集的坐标,结果显示数据结果稳定可靠。该系统可实现测量内外业作业的一体化,大大提高传统测量的效率,在生产实践中有着重要意义。
关键词: Geo Com; 自动化观测; 网络通信; 数据库
0 引言
测量机器人可实现数据获取和处理的自动化,也可实现测量过程的自动化 ( 即无人观测) 。测量过程控制及其行为的智能化主要是指通过程序实现对自动化观测仪器的智能化控制、管理,模拟人脑的思维方式判断和处理测量过程中遇到的各种问题[1 ~3]。利用测量机器人开发远程控制程序可以提供高效便捷的自动化测量,大大降低劳动强度。同时可以满足内、外业一体化、规范化的作业要求。
本软件以 Leica TS30 全站仪为基础,在 Microsoft VisualStudio. NET2010 平台上利用 C ++ 和 C #语言编写服务器和用户端程序,辅以网络通信实现远程控制。
1.系统开发平台的搭建
远程控制软件使用的操作系统是 Windows 7,开发平台是 Microsoft Visual Studio. NET 2010,开发语言为 C ++ 和 C#。远程控制软件与测量机器人之间的通信是通过服务器端进行的,利用 Leica 提供的 Geo Com 串行通信接口、C ++ 调用 Class Ge GeoCom. dll 类库和 Geo Com 封装函数来控制仪器进行自动测量、转盘、倒镜等工作。C#是一种简单、现代、面向对象、类型非常安全、派生于 C 和 C ++ 的编程语言,它是专门为与. NET Framework 一起使用而设计的,对 . NET 特性的支持不仅是完整的,而且提供了比其他语言更合适的语法,而 . NET 具有平台无关性和数据的高效访问等优点。所以利用 C#搭建控制中心平台是较好的选择,能够满足建立友好用户界面和方便操作数据库的要求。
2.系统设计
2. 1 系统总体设计
本系统使用的是 TS30 全自动全站仪,该仪器测角精度为 0. 5″,测距精度为 1mm + 1ppm × D ( D为所测距离) ,转速为 180° /s,正倒镜的转换只需2. 9s,非常有利于进行自动化观测测量[4]。机器人远程控制系统由三部分组成: 测量机器人功能软件、无线通讯模块程序和控制中心软件。本系统设计的基本结构如图 1 所示。
图 1 测量机器人远程监控系统架构
(1) 测量机器人功能软件
这一部分主要是服务器端程序,包括遵照国家三角测量作业规范编写的 “多测回自动观测” 程序,具有自动照准目标、自动测角、自动测距及超限或目标丢失等异常情况的自动处理功能[5,6]。此外,可以根据不同的工程任务进行设置,也可以对软件程序进行修改,得到满足不同工况的软件,从而使得测量效率大大提高。
(2) 无线通讯模块
主要负责建立通讯链路,用来转发指令或数据。在客户端和服务器端 PC 程序都有编写接收和发送的通讯模块。服务器端收到控制中心指令后,解析出指令内容,然后转发给测量机器人; 客户端收到测量机器人数据后,按照约定的数据格式保存到数据库。
(3) 控制中心模块
这一部分程序是在客户端程序进行编写,主要实现发送开关机、观测等控制指令、接收观测状态以及传输测量数据。该控制中心软件还包含有 SQLServer 数据库管理模块和数据后处理平差模块。通过Internet 接收到的无线数据包经过 SQL Server 数据库管理模块直接自动输入到 SQL Server 大型数据库中。
2. 2 测量机器人功能软件
Geo Com 按照功能可分为 12 个子系统功能函数,本系统主要利用其 COM、AUT 和 TMC 三个主要模块进行功能软件的开发[7,8]。调用 Geo Com 一般步骤为: 初始化→打开通讯端口→将望远镜照准指定方向→精密照准目标→执行测距动作→获取角度和距离的测量数据→清空测距结果→关闭通讯端口→退出 Geo COM。
2. 3 无线通讯模块
由于 TS30 全站仪自身提供的 RS232 电缆线可用距离非常短 ( 1. 5m) ,无法满足操作人员远程控制和数据远程传输的要求[9,10]。采用 Socket 类来实现 C /S 模式下网络程序的通信可以很好地解决远程控制问题。根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:
(1) 服务器监听: 指服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。
(2) 客户端请求: 指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后向服务器端套接字提出连接请求。
(3) 连接确认: 指当服务器端套接字监听到或者接收到客户端套接字的连接请求时,响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,就建立好连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
2. 4 控制中心模块
2. 4. 1 数据库的设计
开发本系统软件总体任务之一就是建立监测数据的数据库,本次建立的数据库分为数据库管理和数据库查询两个模块。在数据库管理模块中建立用户和测量数据的管理,在数据查询模块中设计点号查询和日期查询两种查询方式。本数据系统的功能如图 2 所示。
图 2 数据系统功能示意图
为了保证高质量、高效、便捷地完成测量任务,且测量成果满足国家测量规范,本系统数据库的测量数据库管理模块设计有盘左测量数据存储表dbo. LANGLE 和盘右测量数据存储表 dbo. RANGLE。其中表 RANGLE 结构如表 1 所示。从表 1 中可以看出,该表的设计有利于测量数据的实时存储。
表 1 RANGLE 表结构
2. 4. 2 C#开发模拟测量状态动画
为了使用户更加方便地操控仪器,本软件设计四个快捷键 “W”、“A”、 “S”、 “D”来控制仪器向上、左、下、右匀速转动,进行目标照准范围的选取。 当键盘上相应的字符被按下,则触发Keydown 事件,客户端向服务器发出打开激光和全站仪转动指令。当按键被松开,则触发 Keyup 事件,发出关闭激光和全站仪停止转动指令。图 3 为方向控制键代码。
图 3 方向控制键部分代码
模拟测量状态的动画界面是利用 C#双缓存技术开发的。通过学习测量将所有的监测点按实际的方位模拟显示在软件上。在多测回测角状态,软件会根据现场照准点的情况,模拟测量动画。在鼠标点击相应图标时,程序会计算出焦点与图标的距离关系,判断选中的目标点号并触发测量事件,即实现 “任意测量”的功能。 “任意测量”功能的关键代码见图 ,功能测量界面见图 5,视图模拟测量如图 6 所示。
图 4 任意测量功能代码
图 5 功能测量界面
图 6 视图模拟测量
3.系统应用
在完成测量机器人远程控制系统后,为了验证该系统的实用性和稳定性,对软件进行了实际应用。在合肥市地铁 2 号线某基坑变形监测的现场办公室安装上客户端软件,并通过 WIFI 连接上互联网,在 WIFI 所能覆盖的现场强制对中测墩 A 上安置 TS30 全站仪,并与服务器端 PC 连接,服务器端PC 也连接互联网。在离测站 A50-150m 距离范围内布置 6 个 Leica 圆棱镜作为监测目标。首次连接时,在客户端先设置服务器的 IP 和端口号,连接成功后,控制仪器转动,自由设站后进行学习测量。之后进入多测回测角设置,设置观测测回数为 2,观测周期为 8,点击记忆测量进行多测回角观测。从观测结果来看,Leica TS30 自动目标识别的情况良好,测量精度较高。
将数据库的观测数据导出后,利用平差软件对数据进行平差解算,并以第一周期数据为基础进行变形分析,得出各个点的变形情况,其中监测点 1的后 7 个周期人工观测与用软件进行自动观测的变形量对比如图 7 所示。由图 7 可以看出,人工观测和自动观测有一定的误差,但变形量都为正数,说明反映的变形趋势一致,且这种误差是由观测的随机误差造成的,误差最大处仅为 0. 2mm,说明变化量也相当,自动观测可以达到替代人工观测的精度要求。
图 7 人工观测变化量与自动观测变化量对比图
4.结束语
本软件通过网络通信实现了远程控制测量,体现出了测量内外业的一体化和数据获取及处理的自动化。利用远程控制系统进行变形监测可大大降低劳动强度,提高作业效率。特别适合小型基坑的长期监测。在此基础上,可研究用安卓系统的手机等微型终端连接仪器作为服务器,使得测量更加智能化。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息