基于VRML的虚拟车床实验教学平台

2017-12-31 08:00薛裕童李世丁黄启昭
无线互联科技 2017年11期
关键词:累加器虚拟现实机床

蒲 东,薛裕童,李世丁,黄启昭

(哈尔滨理工大学,黑龙江 哈尔滨 150080)

基于VRML的虚拟车床实验教学平台

蒲 东,薛裕童,李世丁,黄启昭

(哈尔滨理工大学,黑龙江 哈尔滨 150080)

为了实现车床的虚拟仿真,就必须实现加工过程的模拟。由于网络虚拟语言VRML能在网页上方便地建立三维交互模型,因此可以将其用在虚拟车床方面。文章主要针对如何实现虚拟车床的加工进行研究,由于使用VRML语言直接进行编写,代码长度与加工的精确展示有一定关系。为简洁起见,文章使用C++语言进行VRML语言的编写,简单明了而且方便快捷。

VRML;虚拟车床;仿真;网络教学;C++

1 虚拟现实技术概述

虚拟现实技术(Virtual Reality,VR)是继多媒体技术之后另一个在计算机界引起广泛关注的研究热点,其定义可以归纳成:利用计算机生成一个模拟环境,通过多种的传感设备让用户投入到此环境之中,实现用户与环境直接进行自然交互的技术。由于其简单又超强的交互能力与低带宽运行的优势,该技术在系统仿真、教育培训和工业生产等领域内得到了广泛的应用,并已经成为构建虚拟现实应用系统的基础。在这种情况下,探讨开发过程、掌握开发工具,并研究其开发策略变得很有必要。

虚拟现实技术可以让用户对虚拟世界中的物体进行观察和操作,并且可提供视、听、触摸等多种直观而自然的实时感知,具有沉浸性、交互性和想象力等特点[1]。虚拟现实建模语言是桌面虚拟现实系统中最经典著名的虚拟现实技术手段[2]。国内外有很多学者应用VRML进行了研究与开发[3],将虚拟现实技术应用于机械基础实验中,构建基于VRML的机械基础虚拟实验系统。该系统能让学生沉浸在虚拟环境中,发挥主观能动性,进行实验操作,为学生创造良好的实验环境,彻底打破空间和时间的限制,能有效提升学生的学习效率,提高学生的思维能力、动手能力和创新能力。

但是VRML构建的虚拟实验系统与操作电脑的学习者之间还需要一个媒介让试验系统与其相关的知识更加系统而且直观,连接这两者之间的媒介就成了一个重要的问题。为了让学习者更加直接而深刻地学习理解虚拟实验系统中的知识,就需要虚拟实验系统中的机械装置可以模拟现实中的器械进行各种复杂的运转动作。用什么控制?如何进行控制?为了解决这些复杂重要的问题,文章进行了各种探索。

2 C++和VRML的连接方式和方法

在VRML语言中没有直接进行加工仿真的语言,只能使用加工动画来进行代替。如果加工部分的代码过于简短,会造成实验失真并且效果不明显。C++和VRML的具体连接方式和方法如下。

2.1 C++与VRML连接的思路

从对VRML的简介中可以看到,VRML本身带有时间序列可以让物体根据其代码沿着固定的轨迹运动,而形状也可以通过时间序列进行编程的方法。而这些都可以通过用Java或者Javascrpt进行动态编程,但是Javascrip可以对简单的逻辑进行判断做出来。类似打开一个开关,物体移动一定的角度或者,将鼠标移动到一定的位置,然后物体的颜色就会变化的简单例子。但是对于像机床加工,机械手的运动就要取得Java的支持,但是VRML是一个在几年前流行的软件,它所支持的Java版本过低,开发困难。于是人们就想出来用C++编写一个专门针对某一型号的机床的解释器的软件,通过对输入g代码的读取、处理、建模、时间序列的分配、输出VRML可以直接运行的代码,然后由网页对VRML对其进行直接调用使之表现出来人们想要的效果。

2.2 C++软件系统要处理的问题

C++软件系统最主要的功能是输出位置和时间序列使VRML系统可以按照它所指示的时间位置坐标来运动。生成的文件最多最大的部分也是这个部分,对此,本文提出了几种思路。

(1)通过对VRML文件进行动态的检索,检索出来对应的关键字之后就用模拟软件根据计算出来的时间序列进行插补。这个方法的特点是可以对不同的机床进行控制,但是因为VRML文件里面的内容复杂,又涉及很多的变量,对于编程掌握不好的人来说有些困难。

(2)全新生成一个VRML文件。这个方法所对应的C++文件比较大,也就是说其对系统的资源占用比较大,所要求的计算机的速度和内存也比较高。

(3)模拟软件1通过给定的g代码运算出各个刀架主轴在某一时间的位置等参量,输出文件,然后由软件根据文件对VRML软件进行数据的填入。这个方法编程较为简单,分工明确,对系统的要求也不是很高,是一个很好的由C++驱动VRML作位置变换的方法。

对于加工件形状的变化与时间的关系进行匹配,则通过C++输出大量的首尾相连的圆柱体,通过内置的时间序列对其控制其形状。控制方法和上面控制位置的类似,结果就是输出一个各个部分随时间变化的一个圆柱体,这个圆柱体可以按照车刀的位置控制其直径,这样也就可以实现模拟机床切削的效果。

3 数控插补原理

关于软件插补部分的插补原理,主要有以下几个方面。

3.1 脉冲增量插补

脉冲增量插补是每次插补结束在一个轴上面产生一个位移,以一个脉冲的输出作为插补的标志。在机床中每次脉冲机床位置的变化量被称为脉冲当量,因为是软件插补、软件移动,所以脉冲当量可以自由调节,也就是说人们的虚拟仿真数控车床的实验中,并不需要脉冲当量过大而引起的机床损坏。但是因为如果脉冲量过大则会引起机床的快速进给,让整个加工过程失衡。解决方法是将脉冲当量调整到较小,将脉冲发射的速度调到较快。这个部分是通过VRML的时钟修改的,这样做可以让整个加工过程变得平顺,没有突兀感。

3.2 逐点比较法和数字积分法

逐点比较法的基本思路是计算机在控制的过程中,能够逐点比较计算加工偏差然后控制坐标进给,按规定的图形加工出所要的工件。数字积分法的基本思路是数字微分分析器采用数字积分法插补的效果好速度快,逻辑功能强。对于高次曲线具有很好的适应性。

逐点比较法的基本过程由偏差判别、坐标进给和偏差计算组成。偏差判别是为了判断加工点对规定图形的偏移距离,决定进给的方向。坐标进给是指将坐标进给方向和进给距离发送到坐标差值计算器中,根据切削深度和脉冲当量对刀具位置坐标进行进给,并将刀具位置一同发送给图形变换计算器中,并让图形变换计算器保存下来。偏差计算是为了将进给后的坐标带入到偏差判别计算器里面,进行下一步的计算。就这样构成了一个工作循环,直至本加工步完成由退刀计算器对刀具的位置进行退刀运算。

数字积分法共有两个累加器,x累加器和y累加器。根据位置给累加器赋值,x,y方向上面没进一步就在相应的累加器中加1,如果累加器中的值大于所赋的值就产生溢出,溢出后x,y累加器保存余数并产生进给。

4 对于模拟切削深度和速度的控制

在加工过程中加工的切削深度和切削速度是必须控制的变量,这不仅对切削温度和切削力有影响,还会影响加工的速度和表面质量,所以对于切削深度和切削速度的控制是非常必要的。

4.1 模拟切削深度

机床经过上面的运算之后已经有了根据路径移动的功能,模拟机床切削的过程是先和工件接触,而如果没有切削深度的话,那么有了路径也就只能看到机床在那里动来动去,无法达到人们想要的结果。所以需要一个部分对加工路径产生持续的偏移,并且使机床待加工的工件产生相同的动作。

4.2 模拟切削的速度

模拟切削的速度是通过计数器加减的方式进行控制的,其脉冲当量就是机床进给的速度,而在软件里面写的是和VRML具有相同时间坐标的时间计算器进行的,可以通过对g代码的解释进行速度的调节。

5 结语

机械基础实验教学在工科院校中占有重要地位,为了提高实验教学的效果,构建了基于 VRML技术的机械基础虚拟实验系统,对系统的结构和关键技术进行深入分析,并以冲击实验为例进行研究。该系统是对机械基础理论和实验教学的有益补充,使学生可在时空开放的虚拟环境中身临其境地进行实验操作,不再局限于短暂的实操时间与匮乏的可用设备,能有效地促进学生对专业知识的掌握,激发学习和创造的积极性。

[1]汪兴谦.VRML与Java编程实例讲解[M].北京:中国水利水电出版社,2002.

[2]申蔚,曾文琪.虚拟现实技术[M].北京:清华大学出版社,2009.

[3]格林乔治,布尔德.虚拟现实技术[M].2版.魏迎梅,译.北京:电子工业出版社,2005.

Virtual lathe experiment teaching platform based on VRML

Pu Dong, Xue Yutong, Li Shiding, Huang Qizhao
(Harbin University of Science and Technology, Harbin 150080, China)

In order to realize the virtual simulation of the lathe, it is necessary to realize the simulation of the process-cycle. Because the network virtual language VRML can easily establish the three-dimensional interactive model on the website, therefore it can be used in virtual lathe. This paper mainly focuses on how to realize the processing of virtual lathe. Because the code written directly by the VRML language, the length of code has a certain relation with the precise display of processing. For the sake of brevity, the article uses C ++ language to write VRML language, which is simple, convenient and quick.

VRML; virtual lathe; simulation; online education; C++

蒲东(1996— ),男,黑龙江宝清,本科;研究方向:摩擦磨损仿真。

猜你喜欢
累加器虚拟现实机床
机床展会
密码累加器研究进展及应用
2019,中国机床变中求进
Fpga的信号发生器设计原理
基于通用机床的100%低地板有轨电车轮对旋修
机床挤刀装置的控制及应用
REALITY BITES
虚拟现实技术向科幻小说借灵感
用于时间延迟积分型图像传感器的流水采样列级运放共享累加器*
浅谈虚拟现实