采用HOOPS技术的虚拟测量机原型①
2017-09-15刘雅君
袁 婷,刘 晟,刘雅君
(西安理工大学,西安 710082)
采用HOOPS技术的虚拟测量机原型①
袁 婷,刘 晟,刘雅君
(西安理工大学,西安 710082)
后前计算机虚拟技术的应用成为各类技术专业领域的重要发展趋势之一.本文从搭建虚拟测量机的技术实现出发,分析了测量机虚拟技术的具体需求,分别对虚拟测量机实现涉及的三个关键技术,测量机的仿真、测量路径规划、虚拟测量数据处理进行了深入的论述,分析了各个技术的实现难点,给出了具体实现的思路和方法.最后按照功能需求划分了虚拟测量机的模块,并在HOOPS平台下利用文中的技术实现思路和方法,搭建了虚拟测量机的原型,验证了文中的思路和方法的可行性、有效性.
虚拟技术;测量机;仿真;路径规划;HOOPS
1 引言
随着计算机技术的发展,虚拟实现技术在各行各业得到了广范应用.它是人们借助于计算机技术、传感器技术、仿真技术等仿造和创造虚拟现实的人工媒体技术[1],从而使人们可以在计算机环境中虚拟真实的硬件环境,模拟现实工作场景,虚拟完成与现实操作一致的各种工作.因此,虚拟实现技术对科研、教学、生产具有十分重要的意义,是后前一个重要的研究领域.
后前虚拟现实系统有采用基于VRML-JAVA技术,但VRML语言功能较弱,必须利用其EAI接口与JAVAApple相连.另一种虚拟现实方法是基于JAVA3D技术,它综合了VRML和JAVA等语言的优点,是一种高层的基于图形的应用程序接口.还有用Eonstudio一个基于Web3d技术,用来研发和制作交互式3D多媒体应用程序的全新可视化软件工具,是一个完全基于GUI的设计工具[1].但对CAD性能要求较高的软件,最直接和高效的方法是利用CAD平台来搭建软件的虚拟实现系统.
测量机的虚拟实现是通过计算机CAD技术,模拟测量机结构搭建虚拟测量环境,模拟测量机运动,虚拟实现测量机的运动、探测功能.本文首先探讨了搭建虚拟测量机涉及的主要内容和技术实现思路,利用HOOPS技术实现虚拟测量机的原型系统,验证实现虚拟测量机的思路和方法.
2 搭建虚拟测量机的技术实现思路
虚拟测量机的实现主要包括测量机的仿真、运动模型的建立、虚拟测量数据的处理逻辑以及测量路径的规划.
2.1 测量机的仿真
测量机的仿真主要包括两部分,一是根据真实测量机的结构和尺寸在CAD中搭建对应的部件模型,二是模拟真实测量机的运动实现运动仿真.
①根据真实测量机搭建虚拟测量机
测量机根据不同的机械结构以及可移动部件,可划分为:固定工作台悬臂式、移动桥式、龙门式、L型桥式、固定桥式、移动工作台悬臂式等等诸多类型,它们不同的类型适应不同的环境,不同的机械结构有不同的运动模型,机器的大小、精度也各有不同.这里我们选取移动桥式测量机为例.
移动桥式测量机可根据是否运动,分为非运动部件和运动部件.非运动比较简单,就是由工作台部分组成;它的运动部件是由相互正交的三个运动部件组成.第一部分是装有探测传感器系统的部件组成,它装载在第二部件之上,相对于第二部件作垂直方向运动,第一部分和第二部分由组成第二部分,它们相对第三部分作水平方向运动.第三部分是用两个支柱支撑在机座之上,第一部分、第二部分、第三部分共同组成第三部分,它们相对于机座作水平方向移动.如图1所示[2].
图1 移动桥式测量机
在CAD软件中按照部件尺寸画部件模型,再根据部件的关系和运动部件关系把测量机部件模型装配在一起.上述移动桥式测量机的装配关系如图2.
图2 测量机部件组成关系
我们可按照测量机部件组成关系,在CAD视图中搭建虚拟测量机.测量机的整体控制由“整体机器”进行、各个部件的控制分散到各个部件对应的块中.因部件的关系包含在部件组成划分中,运动控制、操作控制包含了这种关系,后续操作和运动控制功能不用考虑部件间的关系问题.
如在HOOPS平台下,按照部件关系和运动关系,把部件的模型文件放置在对应的HOOPS段中,这样虚拟测量机的控制操作和运动操作,只需操作对应的段即可.HOOP中段的实现逻辑代码如下:
HC_Open_Segment_By_Key(m_lMachine);
//虚拟机整体控制
HC_Open_Segment_By_Key(m_lMachineY);
//运动部件Y向的控制
HC_Open_Segment_By_Key(m_lMachineX);
//运动部件X向的控制
HC_Open_Segment_By_Key(m_lMachineZ);
//运动部件Z向的控制探测部件的控制(运动部件AB)
HC_Close_Segment();
HC_Close_Segment();
HC_Close_Segment();
HC_Close_Segment();
② 虚拟测量机的运动仿真
参照现实测量机的运动方式和控制方式,虚拟测量机的运动仿真也从这两个方面思路来实现.
一是从虚拟测量机的运动方式来实现的.运动方式可分为两类,一是平移运动,二是旋转运动.平移运动是由测量机的三部分运动部件完成:装有探测系统的第一部分实现Z向运动;第二部分实现X向运动,第一部分装在第二部分之上;第三部分实现Y向运动,第二部分装在第三部分之上.旋转运动是模拟自动双旋转测头,它是装在第一部分的探测系统,包括A向角度和B向角度的旋转运动.
在虚拟测量机中平移运动和旋转运动都是运动部件在CAD视图中的空间位置变化实现的.平移运动是随连续时间的连续空间位置变化,旋转运动是随连续时间的连续旋转位置变化.
在HOOPS平台下平移运动的控制逻辑和代码实现:
HBhvInterpolatorPosition *interPos=new HBhvInterpolatorPosition();
interPos →Append(new HKeyframeChannelLinear(-20,0,0));//运动位置
interPos →Append(new HKeyframeChannelLinear(0,-10,-10));
HBhvTimeline *timeline =new HBhvTimeline();
timeline→AddKeyframe(10);//时间间隔
timeline→AddKeyframe(20);//时间间隔
二是从虚拟测量机运动的控制方式来实现.真实测量机的运动控制方式可以分为手动方式和自动方式.手动方式是指手操器控制机器进行运动的;自动方式是采用命令执行方式,把运动命令下达到控制器中通过运动命令执行控制机器运动的.虚拟测量机的手动方式可采用键盘或外设设备如游戏手柄,仿照手操器,发送运动控制指令,控制虚拟机器运动;自动方式可虚拟实现运动控制器的执行逻辑,按照指令队列控制虚拟机器运动.
2.2 虚拟测量数据的处理
测量机是通过各种类型传感设备捕获测量工件表面的数据信息进行工作的,在实际应用中,有利用相机/CCD技术实现的光学设备、有利用激光技术实现的激光设备、还有传统的机械测头,它们有不同的应用领域、精度和环境要求,但从是否接触测量工件,可分为两大类型,接触式传感设备和非接触式传感设备.
我们依据是否接触测量工件,把测量数据的获得分为两种思路来实现,一种是根据理论数据和虚拟测量环境计算数据得来;一种是利用CAD的碰撞检测技术虚拟测量过程得来.
①根据理论数据和虚拟测量环境计算数据
这种方式是根据理论数据和相关测量参数计算得来,采用此种方式只进行数学计算,不受其它外界因素影响,因此所得测量数据与理论数据能保持一致性.但对于无法虚拟环境的测量功能,没有理论数据的测量功能,手动运动方式踩点功能,此方法就无法使用.
图3 计算数据
②利用碰撞检测技术虚拟测量得来
碰撞检测技术是虚拟测量机实现交互不可或缺的重要组成部分.具体实现的工作包括两部分:检测到有碰撞;计算出碰撞发生的位置[3].
碰撞检测技术的实现方法很多,我们从检测效率出发采用包围盒计算法,它可以实现快速碰撞检测功能.但因为包围盒仅仅是对象边界的一个简单粗略的表示.因此,基于包围盒的碰撞检测是非常粗略而不精确的[4].为了在测量中得到精确的碰撞位置,在虚拟测量中将算法分成两步来完成:第一步采用包围盒方法确定要碰撞的元素;第二步把测头的位置和测头的运动方向确定射线,采用射线与碰撞元素相交的方法计算出精确的碰撞点的位置.
根据虚拟测量数据的两种处理方式,可设计两种数据处理流程,一种是根据理论数据和虚拟测量环境计算数据,此种方式不用碰撞检测技术,只用运动方式模拟运动指令和探测指令,探测指令执行完成,根据指令产生测点;另一种是用碰撞检测技术实现,根据运动指令和探测指令进行运动,检测是否碰撞,这里要区分运动指令执行时发生碰撞,为异常碰撞,需要检查程序指令,探测指令运动时发生碰撞,进入碰撞检测计算流程,计算精确的碰撞点,把碰撞点作为测点.第一种方法执行效率高,但只适于知道测量位置的执行方式;第二种方法接近现实的操作逻辑,但因为需要监测运动碰撞状态和进行碰撞点计算,执行效率较差.
2.3 测量路径规划
搭建起虚拟测量机和实现了虚拟运动,但我们怎样控制虚拟机实现测量功能呢?
测量机是通过几何量测量实现工件测量的,测量的路径和测量数据是依据测量元素的几何信息和测量参数计算出要测量的理论点位,再计算测量点间的过渡路径,最后增加几何测量路径间的避让点,最终生成所测几何的路径信息和测量位置信息.
我们以圆柱为例,研究测量路径规划的具体实现思路.
图4 拾取的圆柱信息
几何参数:坐标:显示圆柱的顶面圆心坐标位置,以X、Y、Z表示.
直径:显示圆柱的顶面圆的直径,以长度值Dia表示.
矢量:显示圆柱轴向的矢量方向,以I、J、K表示.
主轴矢量:显示圆柱顶面圆的主轴方向,用I1、J1、K1表示.
起始角度:显示圆柱顶面圆起始测量点的角度位置.
终止角度:显示圆柱顶面圆终止测量点的角度位置.
长度:显示圆柱顶面到圆柱底面的距离.
测量参数:层数:在圆柱顶面到圆柱底面测点生成的位置,最少 2 层.
测点数:生成测量点的个数,每层最少 3 个,测点数最少6个.
内外选项:确定测量点的探测方向.
其它测量参数.
图5 圆柱的参数
测量路径可分为两种类型来考虑,一是路径点,主要考虑探测工件时的避让问题;二是探测点,一般由探测前的路径点、探测点、探测后的路径点组成,它是实现工件的数据采集功能.
圆柱测量路径规划算法,以三层12个测量点、外圆柱为例.
①根据深度信息和测量层数,把圆柱分为需要测量的截面圆,然后依据起始角和终止角、测点数,在各个截面圆上计算出要测量的位置信息;
②按照每层均布探测点(4个)计算,探测点路径为4×3个;
③考虑不同探测点间的避让,需要在不同的探测点间增加路径点;
④考虑不同元素间的避让,需要在测量元素前和测量元素后增加路径点.
图6为根据上述思路实现的外圆柱测量路径规划.
图6 圆柱的路径规划
3 虚拟测量机原型系统
虚拟测量是分析现实测量机运动控制功能,使用计算机虚拟技术搭建起来的虚拟测量机原型系统,它是对测量机硬件系统、运动控制功能、测量数据处理功能的仿真.
根据虚拟测量机实现功能原型系统,模块功能处理流程如图7所示.
图7 模块功能处理流程
模块划分及其功能说明:
①路径规划模块,根据需要测量的几何理论数据和测量参数计算测量路径、测量探测位置,按照运动指令方式发送到运动控制模块;
②运动控制模块,根据接收到的运动指令,实现运动指令的执行逻辑控制,指令执行完成得到测量数据,最后把测量数据传送到数据处理模块进行处理;
③机器模型模块,搭建虚拟测量机环境、运动控制功能,根据运动指令执行运动,提供运动控制状态和产生测量数据;
④数据处理模块,就是对得到的测量数据进行处理,主要是根据测量数据计算几何实测值.测量实测值是测量软件后续工作的基础,如几何计算、误差评定、CAD画图、报告输出等等功能.
根据上述分析,虚拟测量机的核心部分是“运动控制”和“机器模型”组成的运动控制仿真部分,“路径规划”模块是该系统输入接口,“数据处理”模块是该系统的输出接口.按照此思路我们在HOOPS平台下搭建了虚拟测量机原型(如图8),并运用文中的技术思路实现了测量运动的仿真功能.如图9所示.
图8 搭建的虚拟测量机
图9 测量元素的仿真过程
4 结束语
虚拟测量机是计算机虚拟技术在测量行业的应用研究.本文从虚拟测量机的实现技术思路出发,分别探讨了虚拟测量机的搭建、运动的仿真、虚拟数据处理的方法、测量路径规划功能的实现思路,最后按照模块划分了虚拟测量机的系统功能,并采用HOOPS技术实现了虚拟测量机的原型系统,验证了文中的思路和方法.
1 娄燕,罗烽,佘爱庸,等.采用 Eonstudio 技术建立虚拟三坐标测量机的研究.工程图学学报,2011,32(1):76–82.
2 青岛前哨朗普测量技术有限公司.PC-DMIS CAD++培训与应用手册.
3 王志强,洪嘉振,杨辉.碰撞检测问题研究综述.软件学报,1999,10(5):545–551.
4 和莉,刘惠义.碰撞检测技术在三维交互漫游系统中的应用.计算机技术与发展,2006,16(6):92–94.
5 刘得军,王建林,艾清彗.虚拟环境下并联坐标测量机几何建模与运动仿真.计算机仿真,2003,20(9):77–148.
Implementation of Virtual Measuring Machine Prototype Based on the HOOPS Technology
YUAN Ting,LIU Sheng,LIU Ya-Jun
(Xi’an University of Technology,Xi’an 710082,China)
At present,the application of computer virtual technology has become one of the important trends in the field of technology.This paper analyzes the specific needs of virtual machine technology to discuss three key points—the simulation of measuring machine,measuring path and virtual measurement data from the construction of virtual machine technology,including difficulties.It provides the specific ideas and methods.Finally,according to the function division of the virtual measuring machine module,it builds a virtual measuring machine prototype,and verifies the feasibility,ideas and methods,which are effective and available on the HOOPS platform.
virtual technology;measuring machine;simulation;path planning;HOOPS
袁婷,刘晟,刘雅君.采用 HOOPS 技术的虚拟测量机原型.计算机系统应用,2017,26(9):259–263.http://www.c-s-a.org.cn/1003-3254/5998.html
2017-01-15;采用时间:2017-02-17