智能眼镜辅助的激光跟踪仪移动测量系统*

2017-05-26 02:54
航空制造技术 2017年20期
关键词:线程消息眼镜

(北京航空航天大学机械工程及自动化学院,北京 100191)

智能眼镜是近几年来出现的一种新型的可穿戴智能硬件。通过将光学显示器、麦克风、扬声器、传感器以及处理器等硬件以眼镜的形式集成起来,并在硬件上搭载软件操作系统,智能眼镜基本具有显示图像、播放音频、拍照摄像以及连接无线网或蓝牙等功能。正因为其功能相对比较完善,且具有可穿戴的优势,智能眼镜等可穿戴设备在技术信息显示、操作训练与虚拟装配、设备监控与维护、团队协作、质量保障和远程会议等方面得到越来越多的应用[1-2],在基于工业的可穿戴设备辅助系统的研究方面,夏侯士戟等[3-4]提出了基于可穿戴计算的现场作业辅助创新模式,并建立“知晓车间”原型。白寰[5]建立了一个基于可穿戴计算的协同维护支撑系统。Murakami等[6]通过头戴显示设备实现了基于触觉反馈的虚拟装配。Hao等[7]在云制造领域使用智能眼镜与增强现实技术进行了人与设备的互联互通系统设计与实现。而在以装配为代表的典型现场作业,往往需要动态地精确测量物体的位姿信息并及时反馈给操作者,以便精确实施装调操作。但是,当前智能眼镜并不能提供几何量测量功能,也不能将其他测量设备的信息集成起来。

激光跟踪仪在大尺寸精密测量领域有广泛的应用,基于模型的自动测量是关键技术之一[8]。但是,现阶段大多数激光跟踪仪仍是通过控制柜与某台安装工业测量软件(如Spatial Analyzer)的计算机进行有线连接来完成测量任务。在工业现场,一般是一人在计算机前操作工业测量软件,另一人手持激光跟踪仪反射器,双人或多人协同完成某项测量任务。在复杂工业环境中,需要软件操作人员与测量人员不断进行交流以完成测量任务,这种交流通常是通过语言来进行的,实现信息的传递不但十分耗费时间和体力,而且准确性不高。

针对以上问题并结合智能眼镜的优势,本文提出了一种基于智能眼镜的激光跟踪仪移动控制系统。通过该系统,测量人员可以直接佩戴智能眼镜通过语音以及手势等方式操控激光跟踪仪,并在智能眼镜上实时观察测量数据,实现了测量信息传递的闭环,为解放操作人员双手,提高作业过程中效率与准确性奠定了基础。

系统设计

1 系统总体结构

系统总体结构如图1所示,是一个多客户端/服务器结构,其中,客户端为一个智能眼镜移动应用,智能眼镜应用软件与智能眼镜与眼镜佩戴者形成一个数字化人[9]的整体来协同工作,智能眼镜移动端为一个Android应用。安装在基于Android 4.0.3系统的Vuzix M100智能眼镜上。服务器表示位于计算机上的服务端软件。激光跟踪仪为独立的外部系统,但是服务端内部有相应的模块接口与之通信,本系统主要支持Leica系列激光跟踪仪。客户端与服务端之间,服务端与激光跟踪仪之间通过局域网建立TCP/IP连接,实现信息传递。

2 服务端系统功能模块

图1中服务端功能模块主要包括4个部分,分别是智能眼镜模块、激光跟踪仪模块、测量信息模块和测量任务模块。智能眼镜模块拥有两个子功能或模块,分别是智能眼镜信息管理与智能眼镜设备通讯模块;激光跟踪仪模块拥有两个子功能或模块,分别是激光跟踪仪信息管理与激光跟踪仪通信模块;测量信息模块包括测量信息管理功能与测量结果管理功能;测量任务模块包括测量任务管理功能与测量任务执行功能。

数据层包括3个数据库,智能眼镜信息库、激光跟踪仪信息库与测点信息库。其中,智能眼镜信息库保存连接服务器的智能眼镜的信息,包括ID、设备名、操作者以及上次连接时间等。激光跟踪仪信息库保存激光跟踪的信息,包括ID、名称、IP地址、端口号等。测点信息库主要保存测量点的基本信息,包括ID、名称、理论坐标值X、理论坐标值Y、理论坐标值Z等。

智能眼镜信息管理功能对在智能眼镜信息库中保存的智能眼镜的基本信息进行管理。同时提供初次注册功能,让智能眼镜能够获取服务器的IP地址与端口号等必要的连接信息。

智能眼镜设备通讯模块主要负责发送与接收来自智能眼镜的消息并作相应的消息处理。

图1 系统总体结构图Fig.1 Overall structure of the measurement system

激光跟踪仪信息管理负责对在激光跟踪仪信息库中保存的激光跟踪仪的基本信息进行管理。包括激光跟踪仪代号、激光跟踪仪名称、激光跟踪仪连接IP地址与端口号。同时实现包括激光跟踪仪参数设定等功能,主要包括物理单位量的设定、现场环境参数的设定、反射器的设定以及坐标系的设定等。

激光跟踪仪通讯模块主要负责与激光跟踪仪进行通讯。

测点信息管理主要负责管理被测对象的数模点的测量信息,包括数模点ID、测点名称与理论值X、Y、Z的坐标。

测量结果管理功能主要将测量完成后的实测数据保存为其他文件格式,如 txt.或 excel.。

测量任务管理功能负责对用户所见的测量任务进行管理。包括测量任务的建立、删除和状态更改等。

测量任务执行功能主要执行测量任务,并且向激光跟踪仪发送测量指令消息,向智能眼镜发送测量结果消息。

3 移动端系统功能模块

如图1所示,移动端主要包括3个功能模块,分别是测量辅助模块,基础模块及网络通信模块。

测量辅助模块主要包括3个功能,分别是测量任务选择、测量任务执行与测量结果显示。通过这3个功能,用户可以完成一个测量任务。

测量任务选择:该功能将本智能眼镜的测量任务以列表的形式展现出来。

测量任务执行:通过对测量任务的测量点以交互方式进行测量。

测量结果显示:将服务器返回的测量结果显示在智能眼镜上。

基础模块包括两个功能,分别是语音识别功能与手势识别功能。这两个功能的作用是通过语音或手势的方式实现对软件界面的操作,降低智能眼镜操作的不适感,让操作者更加方便地操控设备。

语音识别功能可以识别智能眼镜佩戴者所说的中文语音。并通过其语音的消息响应自动执行相应的代码段,实现了佩戴者对软件的语音控制。

手势识别功能可以通过智能眼镜传感器识别佩戴者的手势,包括上移、下移、前移、后移以及远离和靠近等。通过简单的手势识别以及响应函数的添加,实现了页面滑动等功能。

网络通信模块是实现基于智能眼镜的移动测量的关键。

系统网络通信

1 基于Socket的多端网络通信与消息处理

在网络通信模块中,由于智能眼镜、服务器端和激光跟踪仪三者随时需要进行交互式的通信,因此需要使用Socket来建立长连接,同时主要依靠多线程的使用实现多个智能眼镜与服务器的连接。每当服务端接收到来自智能眼镜移动应用的连接请求,便会生成一个客户端线程,并将其放入线程池进行管理。在这个客户端线程中,包含了一个消息处理线程以及消息处理队列,一个消息发送线程以及消息发送队列(图2)。

在本系统中,将一个消息定义为一个不定长度的字节流。其中,一个消息类包括4个字节的消息头、4个字节的发送者代号、4个字节的接受者代号、4个字节的数据长度值、4个字节的数据类型代号、不定长度的数据和4个字节的结尾标识。发送线程会将一个消息类实例通过以上的顺序以字节流的形式发送,而接收方则通过以上顺序接受字节流并还原为一个消息。

在客户端向服务端发送Socket连接请求之后,服务端会创建一个客户端通信线程,并将其放入线程池中进行管理。在客户端没有发送消息的时候,该通信线程会阻塞并等待消息。在接收到客户端所发送的消息后,客户端通信线程将该消息放入消息处理线程的消息队列中,交由消息处理线程进行处理。消息处理线程会自动识别消息的关键字段的信息并开启相应的工作线程去处理该消息。在工作线程完成处理后,生成的结果消息会放入消息发送线程中的消息发送队列。消息发送线程会将队列中的消息逐个发送给客户端。

2 基于emScon的激光跟踪仪控制

emScon是Leica激光跟踪仪的开源底层控制软件。通过emScon可以使用任何系统或平台来控制Leica激光跟踪仪进行测量[10]。本文通过emScon的应用程序编程接口 TPI(Track Programming Interface)来开发激光跟踪仪控制模块,实现对Leica激光跟踪仪的控制。本系统中emScon具体版本为emScon 3.5版本,可支持的Leica激光跟踪仪型号包括AT Tracker Series 10余种系列型号。

图2 多客户端消息处理流程Fig.2 Multi-client message workflow

激光跟踪仪控制模块中主要包括 TPI中的 3种功能类:(1)Socket网络连接功能类以及其拓展类,主要用于连接激光跟踪仪,并且与激光跟踪仪通信,进行消息收发的操作;(2)消息命令类CESAPICommand以及其拓展类,主要用于将用户需要发送的指令整合为一个消息,并发送给激光跟踪仪;(3)消息接受类CESAPIReceive以及其拓展类,主要用于解析来自激光跟踪仪的消息,并将关键信息提取出来进行后续的处理与显示。

基于测量任务的测量过程定义与执行

智能眼镜屏幕较小,无法使用诸如鼠标和触屏的方式进行操作,因此不能根据传统的激光跟踪仪控制软件的测量过程来开发与实现测量的功能。本文采取了一种基于测量任务的测量方式,来借助智能眼镜控制激光跟踪仪完成测量操作。

图3 服务端测量任务建立Fig.3 Defining a task on the server

在服务端,用户可以通过在测量任务管理模块建立测量任务。本文将一个测量任务分解为以下几个部分:分别是测量任务的名称,测量任务的类型,执行测量任务所用的智能眼镜和激光跟踪仪以及该测量任务需要测量的若干测量点。服务端测量任务建立的界面如图3所示。测量任务可以分为两种: (1)坐标系建立任务,主要用于激光跟踪仪在测量物体局部坐标系下的定位;(2)OTP点测量任务,用于测量OTP点。

图4为测量任务执行的流程图。在智能眼镜进入辅助测量功能之后,智能眼镜首先会向服务器请求测量任务的信息,服务器会发送该智能眼镜的全部测量任务信息给智能眼镜,之后智能眼镜选择一个测量任务,然后服务器会将该测量任务的全部测量点信息发送给智能眼镜,并且开启测量模式,将 智能眼镜的测量指令发送给对应的激光跟踪仪。

图4 测量任务执行流程Fig.4 Workflow of a measurement task

基于语义识别的智能眼镜操作指令下达

现阶段,由于智能眼镜可穿戴的特殊性,其操作方式有诸多的限制。目前,市场上的智能眼镜多采用按键控制、语音控制、手势识别或眼动跟踪的方式等方式进行操作[11]。为了充分体现智能眼镜解放双手的特点,同时为控制激光跟踪仪提供便利,本文实现了基于语义识别的操作指令下达功能。

首先,本文对激光跟踪仪测量过程中常用的操作指令进行了归纳总结,将每个操作指令定义为一个2~4字的语义,如表1所示。

表1 操作指令定义表

本文将激光跟踪仪测量任务中的操作指令分为3种类型;(1)基础指令,代表在测量过程中一些基础性操作的指令;(2)测量指令,表示在测量过程中涉及到测点数据变化或其他数据变化的指令;(3)控制指令,表示在测量过程中仅控制激光跟踪仪进行某种操作且不导致数据变化的指令。

本文使用智能眼镜制造商提供的开发包实现语义识别功能。首先,定义一个String类型的ArrayList数组,并将上述的语义存入该数组。接着调用语音监听服务类加载该数组,该语义数组便自动加载入本地语音库。之后调用服务类的语音监听功能即可实现语音识别功能。在回调函数中抓取识别到的语音字符串并与自定义的语义比较,如果字符串与自定义的语义相同,则执行相应的功能。

实例验证

本系统通过对某长方形金属板的四角坐标以及中心坐标的测量来验证智能眼镜移动控制激光跟踪仪的控制准确程度以及激光测量仪的测量结果是否正确。本次验证所采用的激光跟踪仪为Leica的AT901B型号激光跟踪仪,其系统为emScon 3.6.400。

某长方形金属板的长度约为1170mm,宽度为565mm,该金属板5个关键点在某任意局部坐标系下的坐标分别为TB1(-200,70,0)、TB2(-200,635,0)、TB3(970,635,0)、TB4(-970,70,0),如图5所示。

首先,先新建两个测量任务,分别是坐标系建立任务和OTP点测量任务。坐标系建立任务包括TB1~TB4 4个测量点,主要用于激光跟踪仪在局部坐标系下的定位。OTP点的测量任务包括一个OTP测量点,用于验证激光跟踪仪测量的准确性。在眼镜端首先选择第一个测量任务,分别测量4个TB点后使用“开始转换”与“应用转换”指令,让激光跟踪仪转到测量物体的局部坐标系下,如图6(a)和图6(b)所示。在激光跟踪仪被定位到待测物体的局部坐标系下之后,便可以开始进行OTP点的测量,如图6(c)所示。测量人员可以使用按键或者语音的方式进行测量操作,如对于测量该OTP点而言,测量人员既可以通过智能眼镜上的按键将光标移动至“测量”按钮的位置并点击确认按钮进行测量,也可以直接通过说出语音指令“测量”二字来进行测量操作。可以看出,OTP点的坐标基本上在理论点附近,其中X的坐标相差为0.06mm左右,Y的坐标相差为0.09mm左右,Z的坐标相差为0.09mm左右。可以看出,激光跟踪仪的坐标系已经与待测物体的局部坐标系相符合,且测量结果准确。通过呼出“菜单”界面,可以通过“跟踪模式”让激光跟踪仪进入连续测量状态并不断返回测量值,如图6(d)和图6(e)所示。在图6(e)中,智能眼镜会不断显示当前反射器位置坐标与测量点理论坐标的差值。

在软件界面设计风格上,如图6所示。在移动端应用界面上,每一个可被识别并有消息响应的语音指令均使用双引号标注,用户通过说出该词语即可实现相应的操作。并且,智能眼镜的软件的背景以黑色为主,避免白色等容易让佩戴者产生视觉疲劳的颜色。

图5 金属板模型图Fig.5 3D model of metal plate

为更好地说明本系统测量结果的可信度,本文使用标准尺的数据与Spatial Analyzer软件的测量结果与本系统测量结果比较,验证结果的可信度。

图7所示为测量试验现场实物图与待测标准尺的图片。其中点P1与P3的距离为711.178mm,P1点与P2点的距离为361.941mm。

图6 移动端测量任务的执行界面Fig.6 Execution interface of the measurement task on the glasses

现利用Spatial Analyzer软件与本系统分别对P1、P2和P3点进行测量,测量结果如表2所示。

使用两点间的距离公式,可得出Spatial Analyzer软件与本系统的测量的P1~P2的长度与P1~P3的长度,如表3所示。

从表3可以看出,本系统对该标准尺长度的测量与实际值十分相近。由于激光跟踪仪测量误差为±0.02mm,故本系统与Spatial Analyzer的最终计算值均与实际值有约0.05mm的误差。而Spatial Analyzer目前为行业应用的专业测量软件,可以充分说明本系统的测量结果可信度。

结束语

本文将智能眼镜与工业现场测量实际情况结合,设计并开发了一套基于智能眼镜的激光跟踪仪移动控制系统,该系统能够让测量人员通过智能眼镜下达测量指令,并且可在智能眼镜上显示测量结果,实现了智能眼镜佩戴者对激光跟踪仪的移动控制,保证了精密测量过程中的测量数据的闭环传递,能够减少在测量过程中的不必要语言交流,提高测量工作效率。理论上可将完成测量任务的测量人员最低人数由两人减少为一人,减少了人力成本。但是,本系统目前只能够满足工业现场测量的部分测量需求,部分其他辅助功能仍待开发与完善。

图7 测量试验现场Fig.7 Physical picture of a measurement situation

表2 测量坐标表

表3 距离结果对比表mm

[1]陈东义,夏侯士戟,黄志奇,等. 面向工业应用的可穿戴计算技术[J]. 电子科技大学学报, 2009(5):678-686.

CHEN Dongyi, XIAHOU Shiji, HUANG Zhiqi, et al. Wearable computing technology for industrial applications[J]. Journal of University of Electronic Science and Technology of China,2009(5): 678-686.

[2]ALEKSY M, RISSANEN M J.Utilizing wearable computing in industrial service applications[J]. Journal of Ambient Intelligence &Humanized Computing, 2011, 5(4): 394-400.

[3]夏侯士戟,陈东义,黄志奇. 基于可穿戴计算的现场作业辅助模式[J]. 计算机集成制造系统, 2007, 13(11): 2269-2275.

XIAHOU Shiji, CHEN Dongyi, HUANG Zhiqi. On-site task assistant pattern based on wearable computing[J]. Computer Integrated Manufacturing Systems, 2007, 13(11): 2269-2275.

[4]夏侯士戟. 基于可穿戴计算的企业现场作业辅助系统及关键技术研究[D]. 成都:电子科技大学, 2009.

XIAHOU Shiji. Study on enterprise on-site task assistant system and key technologies based on wearable computing[D]. Chengdu: University of Electronic Science and Technology of China,2009.

[5]白寰. 基于可穿戴计算的设备维护协同作业支撑系统研究[D]. 成都:电子科技大学, 2009.

BAI Huan. Wearable computing supported cooperative work system for equipment maintenance[D]. Chengdu: University of Electronic Science and Technology of China, 2009.

[6]MURAKAMI K, KIYAMA R, NARUMI T, et al. Poster: A wearable augmented reality system with haptic feedback and its performance in virtual assembly tasks[C]// 3D User Interfaces(3DUI), 2013 IEEE Symposium on. IEEE, 2013:161-162.

[7]HAO Y, HELO P. The role of wearable devices in meeting the needs of cloud manufacturing: A case study[J]. Robotics and Computer-Integrated Manufacturing, 2015, 45:168-179.

[8]郑联语,朱绪胜,姜丽萍. 大尺寸测量技术在航空制造业中的应用及关键技术[J].航空制造技术, 2013(7): 38-41.

ZHENG Lianyu, ZHU Xusheng, JIANG Liping. Application of large-scale measurement in aviation manufacturing and its key technology[J].Aeronautical Manufacturing Technology, 2013(7):38-41.

[9]董伯麟,王治森,王纯贤. 基于数字化人的车间数字化制造系统[J]. 中国机械工程, 2008, 19(15): 1815-1820.

DONG Bolin, WANG Zhisen , WANG Chunxian. Digtital manufacturing shop based on digital human[J]. China Mechanical Engineering,2008, 19(15): 1815-1820.

[10]胡宝海. 基于emScon的多激光跟踪仪协同测量关键技术研究[D]. 杭州:浙江大学, 2012.

HU Baohai. emScon-based collaborative measurement technologies of multi-laser tracker[D]. Hangzhou: Zhejiang University, 2012.

[11]李杰. 面向智能眼镜的交互控制系统研究及实现[D]. 成都:电子科技大学, 2015.

LI Jie. Study and implementation of interactive control system for the smart glass[D].Chengdu:University of Electronic science and Technology of China, 2015.

猜你喜欢
线程消息眼镜
眼镜布不是用来擦眼镜的
基于C#线程实验探究
眼镜知识知多少
一张图看5G消息
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
眼镜为什么打了折还那么贵
都是眼镜惹的祸
消息
消息