为机床工具企业提供深度市场分析                     

用户名:   密码:         免费注册  |   申请VIP  |  

English  |   German  |   Japanese  |   添加收藏  |  
东台精机
加工中心

车床 铣床 钻床 数控系统 加工中心 锻压机床 刨插拉床 螺纹加工机床 齿轮加工机床
磨床 镗床 刀具 功能部件 配件附件 检验测量 机床电器 特种加工 机器人

加工中心

电工电力 工程机械 航空航天 汽车 模具
仪器仪表 通用机械 轨道交通 船舶

搜索
热门关键字:

数控机床

 | 数控车床 | 数控系统 | 滚齿机 | 数控铣床 | 铣刀 | 主轴 | 立式加工中心 | 机器人
您现在的位置:加工中心网> 技术前沿> 基于Quest3D的钻床加工虚拟教学系统的研究
基于Quest3D的钻床加工虚拟教学系统的研究
2016-7-18  来源:重庆大学机械工程学院  作者:罗求顺,张其,郭建,汪广扩


  
       摘要:针对培训系统要求人机交互界面好以及沉浸感强等特点,在钻床教学系统开发中采用实时3D 建构工具Quest3D,提出了一种针对钻床教学培训的虚拟现实系统的开发方案,将虚拟现实系统分为三维显示模块,运动控制模块,场景交互模块和场景声控模块等,通过Quest3D的图形编程使得整个系统开发周期缩短,运行效率提高。成功将三维场景虚拟交互技术运用于钻床教学培训系统中。
 
      关键词:三维场景交互;教学培训系统;虚拟仿真;Quest3D
   
      1 、引言
 
       在机床教学培训中,由于资金的限制,很难满足人才培养所需的设备或实验室,并且在实际加工过程中,由于操作的不当,往往会造成设备的损失以及人员的伤害。而虚拟现实技术开发的培训系统可以很好地解决资金和安全的难题,并能起到实时培训的效果。
 
      近年,国内外关于虚拟现实技术在机床中应用的研究很多。文献[1]将Pro/E的NC代码自动生成技术和VERICUT的加工仿真功能结合起来,提出了一种Pro/E 和VERICUT 联合运用的虚拟机床技术。文献[2]将Vericut 和Master-CAM结合,实现了机床的仿真过程,该仿真易学易用,可作为教学中对机床教学的一种补充。文献[3]利用VRML 与JavaScript 并结合VC++6.0 和OpenGL 开发了一个基于Web 的加工中心虚拟加工仿真系统,可实现Web 环境下机床三维浏览,运动仿真,装配显示等功能。文献[4]实现了在Open Inventor 平台下数控机床的三维可视化操作仿真系统,提出了一种逼真的虚拟环境下的数控机床操作方法。文献[5]基于VRML 和Unity3D 提出了一种虚拟现实在人机交互中的应用,但其人机交互界面性效果不是很好。
   
     文献[6]通过对数控车削仿真系统的开发与研究,实现了切削加工的动态显示。文献[7]基于VC++与OpenGL 开发了虚拟数控加工仿真系统,通过对G代码的读取和自定义输入,实现了车削加工的动态仿真。文献[8]基于Open Inventor 提出了一种数控培训系统的现实方案,并打破了传统数控仿真软件的操作界面,在立体投影环境中具有深度沉浸感,交互性强。文献[9]提出利用虚拟现实技术,网络技术和多媒体技术,开发了基于VRML 和C/S 结构模式的集培训与考核功能于一体的数控加工实训系统。杨丽娟[10]利用VisualBasic 6.0 开发的可视化数控车削虚拟教学系统,虽然实现了程序编辑,机床操作,参数设置等内容,但是该系统采用界面式的操作,和现实机床的操作有所区别,不能建立很深的沉浸感,并且采用基础语言编程,使得系统开发周期较长。杨萍,韩晓明等[11]将Quest3D 技术应用于虚拟驾驶平台系统开发,并实现了驾驶模拟系统中运动物体的物理仿真。文献[12]利用建模工具Solidworks和3Ds Max 建立火箭炮的火控系统的3D 模型,通过Virtools 建立互动接口,实现火箭炮的虚拟教学系统方案。
 
     文献[13]在虚拟机床及虚拟工艺回顾中提到早期国外对于虚拟现实在机械工艺中的研究主要在于虚拟工艺环境的研究;而近年来开辟了仿真技术,建立了一些虚拟机床以及虚拟机械加工工艺的系统,有的基于网络,有的系统则是强调硬件交互能力。这些研究在虚拟机床仿真方面都取得了一些进展,但总的来说,这些研究主要存在以下局限性:没有形成一套完整的系统;大多系统基于基础语言开发的,开发难度大、周期长,功能实现起来困难;有的系统对计算机配置要求很高,一般都基于高档图形工作站;所有系统都是针对数控机床加工仿真的,没有一套专门针对普通机床教学和培训开发的系统。本文基于Quest3D 平台提出了一种针对机床仿真教学的培训系统,该方案从虚拟环境上不但考虑了环境的视觉,还加入了机床运行时的声音环境,增强了系统的沉寖感;在人机交互式上,郭建,汪广扩等[14]基于Quest3D 采用二维按钮触控方式,开发了一套关于车床教学的培训系统。
   
     而对钻床培训系统采用三维场景交互的方式,使系统的交互性更贴近现实。通过solid edge 建立机床的三维实体模型,接着导入3DMax 进行渲染并导出.X文件,最后通过Quest3D 平台实现三维场景的人机交互。另外,教学系统还应起到引导学员进行正确操作的作用,该系统在界面中不但给出了机床工作时的主要参数,还给出了每个按钮的功能及操作提示,使得界面更加人性化。用户在操作系统的过程中,具有较为真实的多种感知体验,强化了人员的参与感,给学习者留下较为深刻的印象。
 
     2 、系统的总体设计
 
     2.1 系统的总体框架

     本文中虚拟钻床教学培训系统由五个模块组成,分别是:三维显示模块、运动控制模块、人机交互模块、数据采集与处理模块、场景声控模块。其结构如图1。三维显示模块以及声控模块主要是对三维虚拟场景的一个模拟,是整个系统人机交互界面的基础,人机交互模块即实现用户在面向三维场景时对系统进行操作,而运动控制模块则是根据用户的操作信息,将驱动相应的三维实体做出与之对应的运动,最终通过数据模块将某些重要实体的运动信息采集起来经过运算处理后在场景中显现出相应的数据。

  

      
                         图1 系统总体框架
   
      2.2 钻床运动的总体设计
 
      现实中,钻床主要由床身,主轴,主轴箱,电机,工作台,升降主轴,钻头以及一些按钮或手柄组成。从实际出发,将钻床运动分为四个部分:按钮和手柄的运动、工作台的运动、刀具的运动、主轴的运动。其结构如图2。
 

      

                                         图2 钻床运动框架
 
   
      3 、系统的开发过程
   
      3.1 三维显示模块设计
 
      3.1.1 三维模型的建立与导入
 
      本教学系统使用solid edge 根据收集的二维图纸建立Z5140 钻床的三维模型,在建模过程中,没有画出钻床内部的细节,只是对机床的外观进行了建模;将建好的模型导出为STL 格式,再导入到3DMax 软件进行渲染,并经过坐标的变换处理后导出为.X格式文件。将.X文件以single object 的类型导入到Quest3D中。
 
 
      3.1.2 系统场景的设置
 
     场景设置主要包括光照设置、摄影机视角设置、贴图效果设置、环境音效设置等。
 

      场景渲染如图3 所示。
    

     
  
                            图3 场景渲染
   
     对于场景的渲染,一般通过在渲染通道下加入物体相机和灯光以及需要渲染的三维物体,通过该场景渲染模块,可以给人展示逼真的三维效果,系统选用物体注视相机(Object Inspection Camera)作为场景的交互窗口,还可以通过鼠标来旋转场景和对场景进行缩放。


     光照设置,环境音效以及贴图效果设置的主要目的是给用户带来视觉冲击,增强用户的沉浸感和系统的交互性。光源的位置通过运动矩阵来调节,整个场景主要以平行光作为主光源,采用点光源对某些阴影部分进行光照的补偿,使整个场景具有光照强度的变化的同时而又不会造成某些区域没有光照,这样有利于用户对机床状态的一个全局把控。对于机床运行时,系统给出了一个机床运行时.wav 格式的声音文件,当用户触发并启动机床时,系统将会自动发出机床运转时的声音,给人更深的真实性和沉浸感。
 

      系统音效控制文件如图4 所示。
    
  

      
                               图4 系统音效控制文件

 

      3.2 运动控制模块的设计
   
      当用户在对机床进行操作时,通过对用户输入信息的采集,再对采集的信息进行逻辑判断并执行相应的运算操作,获取相应的物体状态信息,最后将物体信息传输到物体的运动信息模块,从而达到用户机床能按照用户的操作进行相应的运动的目的。运动模块的设计思如图5。

 

      

                               图5 运动模块设计思路
      
     3.2.1 机床各部件基本运动的实现
   
     三维交互场景中的机床是由多个模型装配而成,每个模型都有一个独立的运动矩阵,矩阵里存有模型的位置和比例信息,物体的运动则是通过改变矩阵中的位置向量和旋转向量来改变物体的状态。
 
     本系统通过GUI 和机床三维实体触控来实现物体状态信息的切换,GUI 按钮主要用于机床的复位操作以及工艺的选择。机床各部件的运动关系则是通过检测鼠标与机床实体的触控来达到0,1 的信息的切换,并根据需要,通过expression value 通道编辑的算式使鼠标触控时的值可以在某个范围内循环,进而扩展鼠标触控时的0,1 状态到更多的状态。本系统中主轴自动进给摇杆手柄具有3 个状态,手柄当前值OLD 在- 1~3 之间循环,通过鼠标每次触发的值传给expression value 通道,通过式(1)的逻辑计算输出状态分别为0,1,2,实现手柄三个状态的循环。
 
     OLD > 2|OLD < 0?0:(A&B) - (A&C) + OLD (1)式中OLD 表示通道当前值,ABC 表示输入的0,1 值,当前值大于2 或者小于0 时,当前值自动置0,否则在当前值的基础上加上一个有效的用户输入值。程序中-1对应的手柄状态和0 所对应的状态相同。
 
     速度控制操作杆一的控制文件如图6 所示。
  
  

    
                             图6 速度控制操作杆一的控制文件
     
     在矩阵变换过程中,本系统通过机床实体触控时产生的值赋值给expression value 通道,经过算式计算来实现运动矩阵的动态改变。具体实现过程为:首先通过鼠标按键的按下和三维实体的碰撞来产生触控信号,然后经if 语句,当条件成立时将按键的有效输入信息赋值到value 通道,再通过gan1state 通道确定gan1 最终对应的状态信息。
 
      3.2.2 物体运动坐标系位置的变换
 
      由于.X文件导入Quest3D后的模型坐标可能不在几何中心上,考虑到物体的运动与物体坐标系的位置信息有关,为此,在控制物体运动时,希望物体坐标系能在物体的几何中心上,本文提出两种改变坐标原点的方法。对于一些几何中心复杂,并且与很多物体的运动相关的物体,本系统采用父子关系来实现这些部件的运动,即通过将父子关系物体移动到物体的中心,便可实现物体坐标系的间接等效移动,并且可以达到同时操控几个物体的目的,实现物体间的协调运动。采用该项技术可以有效地避免繁琐和重复的编程,提高编程效率,使程序更加优化,不足之处在于将物体移到另一个物体的几何中心非常困难。但只需要将场景中父物体的运动矩阵的快捷方式连接到子物体的father通道上便可建立一对父子关系。
 
     对于某些物体,由于自身结构的简单,可以通过在物体通道下的Off Set Matrix 通道连接一个矩阵通道,双击矩阵,并切换到动画制作界面下,改变矩阵中的相关数值,便可移动坐标到物体的几何中心上,在移动过程中可以通过去除渲染(Culled Wire Rendering),观察物体的线条信息更易找准物体的几何中心。
 
      3.3 三维实体碰撞检测
 
      在加工仿真过程中,需要利用碰撞检测判断刀具是否接触到工件,以及显示工件接触到刀具过后的变形效果。由于道具模型比较复杂,且碰撞检测是通过模型面片相交来实现的,为了减少碰撞检测时的计算量。本系统采用规则的模型球体来参与物体的碰撞检测,利用父子关系,使它跟随主体运动。本系统依靠该方法成功实现钻床钻削工件的虚拟加工过程仿真。
 
      3.4 机床运动参数采集和处理模块
   
      为了方便用户实时了解机床的工作情况,合理调节机床运动,本系统设置了数据采集与显示模块。数据采集与显示流程如图7 所示。

     

                    图7 数据采集与显示流程
   
      在虚拟环境中,所能采集到的数据是机床模型尺寸和运动参数,需要对采集的数据进行一些后处理。系统运行时,通道中的数据都是动态变化的,只需要把相关通道数据的快捷方式连接到数据采集通道,通过expressionvalue 通道对数据进行处理后,再通过2D贴图方式显示在GUI 界面上。
   
      转速数据显示程序模块如图8 所示。
  

     
  
                                 图8 转速数据显示程序模块


      3.5 场景交互界面设计
   
     由于鼠标在三维模型上的触控检测需要判断鼠标是否与实体发生了碰撞,以及鼠标所指向的按钮的功用是什么,该操作有哪些注意事项,这些都需要设计者予以考虑。为此,本系统通过改变操作手柄和按钮等实体模型的颜色来提示用户鼠标已经指向了相关手柄或者按钮,一旦鼠标光标和手柄产生碰撞,信息提示区就会显示该手柄的功能及对应的机床运动参数,使用户能够免去背诵繁杂的操作手册。并且能指导用户按照正确的工艺顺序以及规范的操作流程进行机床的操作。对于模型颜色的改变,本系统是通过改变物体材质中的emissive 特性实现;并通过逻辑的判断,采用2D 贴图的方式,将文字提示信息展现在场景特定的位置。另外本系统在该项技术的基础上建立了三维交互式操作,通过鼠标与三维实体触碰检测实现用户对机床的操作,在Detect Mouse Collision 通道后,跟被碰物体便可实现鼠标与物体的碰撞检测,通过这种碰撞检测,为三维场景交互的设计奠定了基础。
 
     三维场景交互操作设计如图9 所示。
 

     

                                     图9 三维场景交互操作设计
 
      4 、系统运行仿真实例
 
      通过把钻床的三维实体模型导入到3Dmax 中渲染,再利用Quest3D开发平台,成功开发了Z5140 立式钻床虚拟教学及其培训系统。如图10、图11 所示,用户可以利用鼠标对机床模型进行视角窗口的变换;通过GUI按钮或者机床自身的控制摇杆可进行虚拟加工仿真操作;通过数据显示区,用户可以在界面左上角实时了解到机床的工作参数。作为一个培训系统,不仅应该有可以模拟真实的场景与操作,还应在故障诊断仿真功能上起到类似教师的作用[15]。设计者在界面上更加注重系统的教学功能,设置了信息提示区,使用户能够了解到各个触控装置的作用,并且给予用户正确操作的提示,起到了操作指导的作用。
 

     

                                图10 钻削工艺仿真

   
     
  
                               图11 扩孔工艺仿真

   
      从图10、图11 可以看到,当鼠标接触到三角摇杆时,摇杆显示为高亮,信息区具有摇杆操作信息以及当前进行工艺正确性的提示,从而使用户更好地了解到机床自身正确的操作规程。
   
     5 、结束语
   
     采用Quest3D平台开发的程序,可以直接导出为.exe文件,该格式文件可以独立安装运行,与三维实体建模的仿真系统相比对运行系统的配置具有较低的要求,因为Quest3D 里面的模型是将CAD 中实体模型进行格式转化与优化处理后的壳体模型。在开发时,设计者可以借助于Quest3D大量的功能模块,避免了基于基础语言开发的繁琐编程过程,达到缩短开发周期的目的。在未来的研究中,将会在本系统的基础上完善钻床内部的三维模型,继续开发一套钻床虚拟装配训练系统,让用户通过使用本系统不仅能够学习钻床加工工艺,还能够通过钻床内部机械结构了解钻床的基本工作原理,为以后处理机床故障奠定基础。

    投稿箱:
        如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com