远程测量系统中三坐标测量机的仿真操作实现
来源:测量知识网站http://www.spacepalestra.com
1.引言
互连网的出现,打破了信息传递在时间和空间距离上的限制,使操作者有可能在任何时间、任何地点对任何设备进行操作,为真正的远程控制和操作提供了技术平台。随着互联网的飞速发展,基于互联网的远程操作系统正成为一个重要的前沿课题,在国内外引起了广泛的重视。
各类基于互联网的远程操作系统具有一些共同的特点:整个系统由本地端、远程端和互联网三部分组成。操作者在本地端通过本地端计算机发出操作指令,指令经过互联网传送到远程端服务器,由远程端服务器控制被操作对象完成操作者指定的任务,最后,远程端服务器将指令的执行结果以一定形式传送到本地端,使操作者能掌握指令的执行情况和作业现场的环境,从而能够作出进一步的操作指令。这样,就实现了操作者对被操作对象的远程操作。被操作对象所携带的传感器以及部署在被操作对象周围的传感器对环境的感知信息构建成作业现场的反馈信息,操作者在反馈信息的辅助下,具有了一定程度的临场感,从而可以异地操纵在作业环境中的被操作对象完成作业任务。
2.系统结构
北京理工大学机电一体化中心研究课题----基于互联网的远程测量和操作的基础研究,以三坐标测量机为操作对象对基于互连网的远程操作进行研究,以期构建一个高效的远程测量系统并得到一些适用于远程测量和操作的结论或方法。
该系统的基本结构如图1所示,是一个采用预测/预演和局部自主控制相结合的控制策略的远程测量系统。系统启动时会在本地机上生成仿真三坐标测量机,仿真三坐标测量机是以三坐标测量机为原型建立起来的三维立体模型,其作用是:在本地机给真实三坐标测量机发送操作指令前,预演操作者发出的指令,预测并动画显示真实测量机在指令的执行过程中和执行完毕后各部件的位置或姿态,给操作者提供指令执行情况的视觉参考,确保操作指令的正确性和有效性。操作者可以在本地机操作界面连续地发出指令,经仿真三坐标测量机预演并确认无误的指令被发送到远程端的真实设备。实际上就是让三坐标测量机在一定的时延后重复仿真三坐标测量机的动作。
在系统启动后的初始化过程中,真实三坐标测量机和仿真测量机分别处于各自的初始位置;仿真工件也会在这个过程中生成,它在仿真环境中位置与真实工件在作业环境的位置相对应。在测量开始前,测量机的测头根据本地端传来的指令作大范围的调整,选择合适的测量方位。一旦定位完成,控制器从操作者发来的测量指令中提取测头运动的方向信息,由测量机根据该方向信息自主地进行测量,从而最终实现了操作者对三坐标测量机的操作。
3.仿真环境生成
预测/预演仿真环境是在VC++6.0的环境调用OpenGL函数库编制而成的。仿真环境的建立主要包括:仿真三坐标测量机的几何建模、运动学建模和仿真工件的生成。
3.1几何建模
几何建模的过程就是用一些基本的几何体构建复杂的仿真三坐标测量机的过程,使得仿真三坐标测量机跟真实的三坐标尽量一致,这样才能实现仿真的目的。
OpenGL函数库提供了很强的图形功能,包括一些三维实体的绘制函数,如球、多面体等实体的绘制函数。在构建复杂模型时,可以使用OpenGL提供的比较简单的形体直接构建;也可以用图形建模软件先构造一些稍复杂的形体,然后再用这些形体去构建模型。第一种方法由于可用的基本形体过于简单并且受所提供种类的限制,在完成比较复杂的建模工作时,工作量比较大,而且搭建的模型有时会显得粗糙,与真实物体相差较大,该方法适合于构建部件形体比较简单的仿真模型。第二种方法利用了现有的一些建模软件(如AutoCAD、3dMAX等)强大的三维绘图能力,能完成对较复杂的部件的建模,并保存为一定格式的文件(如DXF、3ds格式)。然后从图形文件中提取几何形体的数据,用OpenGL函数进行绘制,即可在仿真环境中得到较复杂的部件模型,再用这些部件构建仿真模型。采用这种方法,可以得到与实际形体更为接近的仿真模型,但是由于要从CAD文件中提取几何参数,需要编制专门的CAD文件语法分析程序,工作量很大。适用于部件形体复杂,用简单几何形体无法构建的模型。由于三坐标测量机各部件的形状都比较规则,接近于简单的形体,所以我们在构建仿真模型时采用了第一种方法,整个仿真模型由长方体、圆柱体和球三种简单形体构建而成。为了保证模型的准确性,模型的各部件尺寸与真实测量机相应部件的尺寸遵照严格的比例,以使仿真测量机的工作空间与真实测量机的工作空间严格对应起来。
3.2运动学建模
仿真三坐标测量机的一些部件能够进行空间运动,以调整探针至合适的测量位置并完成测量任务。做三坐标测量机的运动学分析,就是要在三坐标测量机的各部件建立坐标系并分析这些坐标系之间的位置或姿态关系。从三坐标测量机的工作台到探针之间共有5个移动或转动关节,依次分别是:Y、X、Z方向的移动Ty、Tx、Tz和测头绕Z轴的转动Rz以及探针在竖直平面内转动Rh,整体上可以看作是一个关节链。在分析关节链中部件之间的运动关系时,常用的方法是Denavit和Hartenberg提出的为每一部件建立附体坐标系的矩阵方法(简称D-H法)。用D-H法对测量仪进行分析时先要对测量仪的各部件进行编号。将固定的工作台定为0,然后从工作台到探针依次递增顺序编号;对各关节也依次作编号,i=1,2,……,n(n为自由度数),每个关节只有一个自由度。接下来对每个部件在关节处建立正规的笛卡儿坐标系。当关节i运动时,部件i将相对于部件i-1运动。若用Ti表示部件i到部件i-1的变换矩阵,用Ti0表示部件i坐标系到部件0(工作台)坐标系的变换矩阵,则有Ti0=T1T2……Ti,由此可以得到各部件相对于工作台的变换矩阵。只要实时给出每个关节的参数,就能实时计算出各部件的位置和探针的姿态,从而能正确绘制各部件,完成对测量仪的实时模拟。为此,我们专门设立了一些位置变量,用这些变量组成各关节的变换矩阵,只要改变位置变量的值,就能改变相应关节的变换矩阵,实现仿真部件的正确运动。
3.3工件的生成
为了实现仿真三坐标测量机的仿真测量功能,还必须在仿真环境中生成欲测量的工件模型。工件模型往往是在一些CAD系统中生成并被保存到一定格式的文件中的。Autodesk公司的CAD软件AutoCAD在微机CAD市场已处于主导地位,由其制定的并推广的DXF图形数据交换文件格式已成为事实上的工业标准。DXF大多是ASCII码文件,一般分为6个部分:
a) HEADER部分:包含了图形的通用信息,诸如图形所处的空间范围、CAD版本号等,大部分信息对于非CAD应用程序没有什么价值,有时可将其忽略。
b) CLASSES部分:包含了应用自定义类的信息,这些类将在BLOCK、ENTITIES和OBJECTS部分被引用。
c) TABLES部分:定义特定的通用常量,如绘图“层”,观察角度和距离,坐标系以及尺寸风格。
d) BLOCKS部分:按名字定义实体组,同时可以包含实体。
e) ENTITIES部分:通过使用点、线、圆、弧等定义实体,图形的具体信息大部分都位于此部分。
f) OBJECTS部分:包括了图中的非图形对象。非实体、非符号表的所有对象都存储在这部分。
在DXF文件中,每种信息都是通过组码和紧随其后的组值一起来表示的。组码是一些具有特殊意义的数字,规定其后组值的类型。组值可以是整数、浮点数,也可以是字符串,表示某一信息的具体的值。
图形的具体信息大部分都保存在文件的Entities部分,而该部分又是由一系列Entity(实体)的信息组成的,只要提取到所有Entity的信息,我们就得到了该图形的所有的几何信息。
为了从DXF文件中提取工件的几何信息数据,我们编写了DXF文件的语法分析器。首先我们定义Vertice类用于存储实体的单个顶点的坐标,定义FaceIndex类用于保存每个面由哪几个顶点组成的信息。在此基础上我们又定义Entity类用来存储整个图形中某一实体部分的信息,该类包含了一个以Vertice为元素的动态数组,并包含一个以FaceIndex为元素的动态数组,因此,该类包含了图形中该实体部分的所有顶点的坐标信息以及组成该实体部分的所有面的顶点的顺序信息。在研究中,我们建立了一个以Entity类为节点的链表,每完成一个实体部分几何信息的提取后就把在信息提取过程中生成的该实体部分对应的Entity类的对象加入链表中,这样,当整个图形的几何信息提取完毕时所有的信息都已存入到了该链表中,我们只要遍历链表并按其中的信息进行绘制,就能在仿真环境中得到工件模型。
4.结论
本文介绍了基于预测/预演策略的远程测量系统中仿真三坐标测量机几何建模、运动学建模方法及其实现方法,还介绍了从DXF格式文件中读取几何信息在仿真环境中生成仿真工件的实现方法。在仿真环境下,操作者可以随意调整观察角度,在一定范围内调整观察的距离。仿真三坐标测量机可以实时接受并响应操作者的指令,模仿真实的三坐标测量机运动,给操作者以视觉上的参考,并能输出预演后的指令,达到了仿真的目的。