数控车床主轴箱虚拟装配系统的研究与应用*
2016-04-14文怀兴朱效杰
文怀兴,朱效杰
(陕西科技大学 机电工程学院,西安 710021)
数控车床主轴箱虚拟装配系统的研究与应用*
文怀兴,朱效杰
(陕西科技大学 机电工程学院,西安 710021)
摘要:以虚拟装配技术为理论依据,虚拟现实软件EON Studio为仿真平台,数控车床主轴箱为研究对象,详细论述了虚拟装配系统实现的功能以及设计方案,深入分析了系统设计的关键模块包括自动装配、手动装配、运动仿真、碰撞检测等模块的功能,利用集成开发工具Visual Basic将系统各模块集成起来,形成一个完整的虚拟装配系统。测试结果表明该系统可以很好地解决目前企业机械产品装配环节存在的问题,有助于高校或企业的实践教学或员工培训,具有重要的实用价值。
关键词:虚拟装配;数控车床主轴箱;EON Studio
0引言
装配是企业机械产品研发的重要环节之一,它占用了产品制造过程中大量的人力和物力。传统的装配方式是在所有的实物模型都生产出来后,再进行装配。然而这种装配方式存在很多的缺陷,例如零件尺寸不合适无法进行装配,装配顺序不合理导致再次装配,生产实物模型所用的材料价格昂贵造成生产成本提高以及使产品生产周期延长等。另外,许多机械类高校和企业在实践教学或员工培训环节,要求学生或员工对某一机械产品的结构、性能等全面的了解,这就需要对该机械产品进行反复地拆装训练,因此导致该产品零件磨损严重,尺寸达不到装配要求甚至报废。虚拟现实技术的产生为解决以上问题带来了新的契机。它采用以计算机技术为核心的现代科技生成逼真的视、听、触觉等一体化的虚拟环境,用户借助鼠标、键盘或其他外部设备与虚拟世界中的物体进行交互,相互影响[1]。许多国内外专家学者应用虚拟现实技术对装配方面存在的问题进行了深入的研究,例如华盛顿州立大学开发了VADE虚拟装配系统,该系统允许设计者在设计早期考虑装配问题,通过执行虚拟装配任务可建立产品和工艺信息[2];德国宝马汽车公司为了加快新型汽车的开发周期设计了一个虚拟装配系统,该系统能够识别语音输入并完成相应的装配操作[3];清华大学智能技术与系统国家重点实验室开发出一套虚拟装配仿真平台,该平台涉及装配关系表示、实时碰撞检测等问题[4]。本文在充分分析了国内外专家学者研究成果的基础上,针对目前企业产品装配方面存在的问题以及高校或企业实践教学、员工培训方面存在的问题,设计的虚拟装配系统既可以轻松地解决上述问题,又具有容易操作、易于掌握的优势。
EON Studio是一款由美国EON Reality Inc公司研发的专业虚拟现实软件。它是一个完全基于GUI(图形用户界面)的设计工具,能够开发出应用于机械、建筑、销售、电子商务以及教育培训的实时3D多媒体应用程序[5]。
1系统实现功能以及设计方案
以EON Studio为仿真平台、Visual Basic为集成开发工具建立的虚拟装配系统,主要用于企业机械产品装配环节的研发以及高校或企业实践教学、员工培训方面,应能实现以下功能:可以建立非常逼真的虚拟场景和三维虚拟模型;用户可以通过鼠标或键盘与虚拟对象灵活地进行交互;能够找到最佳的装配序列和装配路径;能够实现自动装配和手动装配;可以完成碰撞检测;可以反复进行拆卸和装配训练,从而全面掌握机械产品的结构、工作原理、各个零件间的装配关系等重要信息。
本系统的设计方案:首先利用三维建模软件SolidWorks建立三维模型;然后将建立的三维模型导入到EON Studio中进行进一步的设置,利用该软件的功能节点和元件设置虚拟装配系统的关键功能模块,包括自动装配模块、手动装配模块、碰撞检测模块等;最后通过集成开发工具Visual Basic将各个功能模块整合起来,构成一个完整的系统。系统设计方案流程框图如图1所示。
图1 系统设计方案流程框图
2系统主要模块的功能
2.1三维虚拟模型的建立
本文以MJ-50数控车床主轴箱为研究对象,它主要由主轴、主轴箱体、轴承、同步带和带轮、脉冲编码器以及传动密封件等零件组成。采用CAD软件SolidWorks建立三维模型,然后将建好的模型导入到EON Studio中。EON Studio可以轻松地与其他3D软件结合,利用其自带的插件转换程序将其他格式的文件转换为面片格式,不需要重新建模。将主轴箱三维模型导入到EON Studio,并调节灯光材质后效果如图2所示。
图2 导入EON Studio的主轴箱三维模型
2.2自动装配模块的功能
企业在对员工进行培训过程中以及机械类高校在实践教学环节,往往会遇到这样的问题:如何让员工或学生更快更好地了解机械部件的内部结构、组成部分及工作原理等重要信息。针对上述问题,本系统设计了自动装配模块。在自动装配模块,机械部件所有零件的拆卸以及装配过程都是自动完成的,它可以让员工或学生快速地了解该机械部件的重要信息。这一模块的实现,需要借助虚拟现实软件EON Studio。它提供了很多功能节点和元件,这些功能节点和元件是被封装了的一段小的程序,用户只需正确地使用它们,不需要编制复杂的程序就可以实现所需的功能。自动装配模块主要利用Place(放置)节点和2DText节点(文本控制节点)。Place节点可以改变物体沿x轴、y轴、z轴的直线运动以及绕x轴、y轴、z轴的旋转运动。2DText节点允许在EON Studio的3D渲染窗口显示文本框,文本框的位置、大小、背景颜色,字体的大小、颜色等都可以设置,并且当点击文本框区域时该节点可以产生事件响应。将Place节点拖动到相应的零件节点下,就可以通过对该节点属性的设置来改变零件的运动方式;将2DText节点拖动到Scene(场景)节点下,并且将其文本修改为“虚拟装配”;然后将所有的Place节点和2DText节点拖动到逻辑关系设定视窗对各个节点的逻辑关系进行设置,即可完成自动装配[6]。以主轴箱箱体的自动装配为例,其装配过程如图3所示。
图3 主轴箱箱体的自动装配
2.3手动装配模块的功能
如何提高企业员工或高校学生在机械部件装配过程的熟练程度以及动手操作能力,是企业员工培训以及机械类高校实践教学环节遇到的另一个问题。本系统设计的手动装配模块,可以有效地解决上述问题。手动装配模块需要用到Place节点和ClickSensor(点击传感器)节点。将Place节点和ClickSensor节点拖动到需要装配的零件节点下,双击它们即可在弹出的属性对话框中,对相关参数进行设置。在ClickSensor节点的属性对话框中,当把Chang cursor when clickable勾选后在鼠标经过要点选的物体时,鼠标的形状变成手的形状,以提醒用户可以点选物体;还可以设置用鼠标左键、右键或者中键触发点击事件。以带轮的手动装配为例,其过程如图4所示,当鼠标经过主轴箱的带轮时,鼠标变成手的形状,单击带轮即可进行装配;若鼠标经过主轴箱的零件时,形状没有变成手的形状,则该零件不能进行装配,所以这种手动装配方式有助于提高企业员工或高校学生装配过程的熟练程度以及动手操作能力。
图4 带轮的手动装配
2.4运动仿真模块的功能
主轴箱的主运动传动系统由交流伺服电动机驱动,电动机通过带轮将运动传给主轴。主轴有前后两个支承,前支承由圆锥孔双列圆柱滚子轴承和角接触球轴承组成,后支承只有圆锥孔双列圆柱滚子轴承组成,主轴的支承形式为前端定位,其受热膨胀后向后伸长,这种支承结构适宜高速、重载荷的情况。主轴做旋转运动的同时,将运动传递给靠近主轴的同步带轮,此带轮带动同步带旋转,然后再由同步带将运动传递给与脉冲编码器在同一根轴上的另一个同步带轮,最终将运动传递给了脉冲编码器。EON Studio作为仿真平台,其提供的Rotate(旋转)节点可以方便地实现整个运动传递过程。将该节点分别拖动到带轮、主轴、同步带轮以及同步带节点下,双击该节点对其相关属性进行设置,然后在逻辑关系视窗中设置各节点的逻辑关系,就可以实现主轴箱的运动仿真。
2.5碰撞检测模块的功能
在传统的CAD软件中,对机械产品进行装配时,只要两个零件满足某种配合关系就可以进行装配,这往往会导致这两个零件部分重叠在一起,出现“穿透”现象;此外,还会出现过盈配合或干涉现象。然而,这些现象在实际装配过程中是不允许的。针对上述问题,本系统设置了碰撞检测模块。碰撞检测的实质就是在同一时刻检测虚拟环境中是否有两个或多个物体占据同一个空间区域[7]。EON Studio中的碰撞检测机理是基于应用广泛的包围盒法的思想。EON Studio提供了多种与碰撞检测相关的功能节点:Collision Node(碰撞节点)、ConvexCollision Node(凸面碰撞节点)、ConvexCollision Manager Node(凸面碰撞管理节点)、CollisionGeometryType Node(碰撞几何类型节点)。文中主要应用Collision Node和CollisionGeometryType Node。将Collision Node拖动到需要进行碰撞检测的零件节点下,然后将另一个需要碰撞检测的零件节点关联复制到Collision Node节点下的Collision Object文件夹下,这样这两个零件在装配时就会自动进行碰撞检测。将CollisionGeometryType Node拖动到相应零件节点下,左键单击该节点,就可以在右侧属性窗口进行相关设置。从图5中可以看到该节点拥有Bounding sphere、Axis aligned bounding box、Convex hull三种包围几何体,分别对应Sphere(包围球)、AABB(沿坐标轴的包围盒)以及k-DOP(离散方向多面体)这三种包围盒[8]。根据零件的形状,可以选择最适合该零件的包围盒来进行碰撞检测,从而提高碰撞检测的精度。
图5 包围几何体的类型
3通过Visual Basic将系统各功能模块集成
3.1Visual Basic与EON Studio的通信原理
EON Studio自带的EonX控件是联系集成开发平台VB与EON Studio的桥梁。EonX控件是一种ActiveX控件。ActiveX控件是一组封装在COM(Component Object Model,组件对象模型)中的功能模块,这个COM对象是独立的。ActiveX控件提供了一系列的接口,容器应用程序用这些接口来触发控件中的各种功能模块。EonX控件具有一系列的属性、方法、事件,当把EonX控件添加到VB应用程序中时,其封装的类也同时添加上了,这时就可以方便地调用该类的成员函数与VB应用程序进行通信了。其通信机理如图6所示[9]。
图6 VB与EON的通信原理
3.2系统集成的关键环节
3.2.1将EonX控件添加到VB应用程序中
EonX控件在添加到VB应用程序后才能在VB和EON Studio之间进行通信。和其他ActiveX控件的添加方法一样,在VB应用程序的主菜单中依次选择“工程—部件”,然后在弹出的“部件”窗口中,选中“EonX3.0Type Library”即可将EonX控件添加到应用程序中。
3.2.2系统登录界面的设置
企业在产品研发或员工培训过程中,有些信息需要保密,这就要求所设计的虚拟装配系统需要密码才能登录。VB集成开发工具可以较方便地实现此功能。首先利用VB应用程序的控件工具箱设计窗体界面,本系统用到的控件有标签控件、文本框控件以及按钮控件;然后根据需要对这些控件的属性进行相关的设置,以达到系统的要求;最后对“登录”按钮添加相应的响应事件,下面是该响应事件的程序代码:
Private Sub Command1_Click()
If Text1.Text = "陕西科技大学" And Text2.Text = "123456" Then
a = Text1.Text
Unload Form2
MsgBox "欢迎您" & a, vbInformation, "登录成功"
Load Form1
Form1.Show
Else
MsgBox "登录错误!请输入正确的用户名和密码"
End If
End Sub
以上程序代码的作用是当输入用户名和密码后,若密码正确则弹出“欢迎您”的对话框,表示登录成功;若密码错误,则弹出一个窗口,显示“登录错误!请输入正确的用户名和密码”。系统登录界面如图7所示。
图7 虚拟装配系统的登录界面
3.2.3系统主界面的设置
系统主界面包含了虚拟装配系统的所有功能模块,它是整个系统的核心部分。主界面的设置主要用到VB应用程序的控件、对话框、菜单,其中控件是构成应用程序窗体的最基本元素。控件是在系统内部定义的能够完成特定功能的控制程序单元。在应用程序中使用控件不仅简化了编程,还能完成常用的各种功能,其在对话框与用户的交互过程中担任着主要角色。将控件拖动到应用程序的窗体中,在右侧的属性窗口中就可以设置控件的属性,包括标题、位置、大小、背景颜色等,以达到用户想要的效果。在设置好控件的属性之后,还需要设置各控件的响应事件,这需要通过编写程序代码来实现。系统主界面包含多个窗体,这些窗体和系统主界面窗体必须通过调用函数的方式来实现。下面是部分程序代码:
Private Sub Command1_Click()
Load Form3
Form3.Show
End Sub
Private Sub Command2_Click()
Load shoudongzhuangpei
shoudongzhuangpei.Show
End Sub
Private Sub Command3_Click()
Load pengzhuangjiance
pengzhuangjiance.Show
End Sub
Private Sub Command5_Click()
Load yundongfangzhen
yundongfangzhen.Show
End Sub
上述程序代码的功能是使系统的主界面窗口与各功能模块窗口建立通信,当用户成功登录进入系统主界面时,单击某一功能模块的图标即可弹出该模块的窗口,从而对该模块进行研究。虚拟装配系统的主界面窗口如图8所示。
图8 虚拟装配系统的主界面
3.2.4系统各功能模块界面的设置
系统各功能模块是实现其功能的具体模块。这些模块需要利用EonX控件使VB应用程序与EON Studio建立通信。在将EonX控件添加到应用程序中后,该控件就会出现在VB的控件工具箱上。将该控件拖动到VB应用程序的窗体上,则该控件封装的类也同时被添加进了应用程序,在右侧属性窗口中会看到名为AxControl2的类。然后为该类添加对象,就可以利用该对象调用这个类的成员函数了。AxControl2类的成员函数主要有:SimulationFile()、SendEvent()、SetFullSize()、Start()等十多种,调用它们就可以完成模型的加载、发送信息、全屏、开始等功能[10]。
利用VB应用程序的控件工具箱设置窗体的界面,这里主要用到按钮控件、标签控件。例如将按钮控件拖动到窗体中,在右侧的属性窗口中设置它的字体大小、颜色、背景等。然后为该按钮添加响应事件,双击该按钮编写程序代码,部分程序代码如下所示:
Private Sub Command1_Click()
m_eon.SimulationFile=App.Path&"/zhuzhouxiang.eoz"
m_eon.Start
End Sub
上述程序代码的作用是设定所要加载文件的路径,然后载入该文件。以自动装配模块为例,设计的窗口界面如图9所示。
图9 自动装配模块的窗口界面
4结束语
虚拟装配技术的应用给产品的装配设计带来新的思路,它有助于企业产品装配环节的研发。本文利用SolidWorks建立主轴箱三维模型,再将其导入到EON Studio中,然后利用该软件提供的功能节点和元件较方便地实现了自动装配、手动装配、碰撞检测等虚拟装配的关键技术,最后通过EonX控件使EON Studio和Visual Basic建立通信,利用VB集成开发平台将系统各功能模块集成起来,构成完整的虚拟装配系统。它既可以应用于企业产品装配环节的研发,也可以应用于企业员工的培训以及高校的实践教学环节,具有重要的应用价值。
[参考文献]
[1] 孙福臻,阎勤劳,单忠德,等. 机械虚拟现实技术的应用与发展[J].机械设计与制造,2010(5):264-266.
[2] 胡兆勇. 基于虚拟现实技术的机床可视化仿真示教系统开发[J].机床与液压,2009,37(7):205-207.
[3] 王伟,张鹏,刘庆云.制造业中虚拟仿真技术的发展研究[J].组合机床与自动化加工技术,2013(7):1-4.
[4] 薛强, 孙文磊, 曹玉山,等. 基于虚拟现实技术的风力发电机齿轮箱的虚拟装配的研究[J].机床与液压,2010,38(9):76-79.
[5] 于辉,赵经成,付战平,等.EON入门与高级应用技巧[M].北京:国防工业出版社,2008.
[6] 邓逸辰,范秀敏,邱世广.基于装配约束动态创建的虚拟装配技术研究[J].组合机床与自动化加工技术,2014(7):124-128.
[7] 刘爱华,周建钊,徐肖攀,等. 基于EON的虚拟拆装碰撞检测算法[J].解放军理工大学学报:自然科学版,2014,15(1):62-66.
[8] 许荣,张为民.基于包围盒的机床碰撞检测系统算法研究[J].制造技术与机床,2011(8):90-92.
[9] 杜霄鹏,李星新,李想.虚拟维修训练通用平台与EON接口实现[J].计算机与数字工程,2011,39(7):200-202.
[10] 田野,童大鹏,吕运,等.某型燃气轮机虚拟拆装系统的关键技术研究[J].船舶工程,2010,32(6):75-77.
(编辑赵蓉)
Research and Application of CNC Lathe Spindle Box of Virtual Assembly System
WEN Huai-xing,ZHU Xiao-jie
(College of Mechanical Engineering, Shaanxi University of Science and Technology, Xi′an 710021,China)
Abstract:Virtual assembly is a new practical technology involves many disciplines, is the collection of advanced computer technology, sensor and measurement technology, simulation technology, microelectronics technology for the integration of comprehensive integration technology. Based on the theory of virtual assembly technology, virtual reality software EON Studio as the simulation platform, numerical control lathe spindle box as the research object, firstly discusses the function and the design scheme of virtual assembly system implementation, and then analyzes the key module of system implementation including automatic assembly, manual assembly, motion simulation, collision detection module, finally using Visual Basic to integrate the system module, forming a complete system. Results show that the system is a good way to solve the current problems existing in the enterprise of mechanical product assembly link, help to the practice teaching of the university or corporate or employee training, has a important practical value.
Key words:virtual assembly; CNC lathe spindle box; EON Studio
中图分类号:TH164;TG659
文献标识码:A
作者简介:文怀兴(1957—),男,陕西咸阳人,陕西科技大学教授,硕士生导师,工学博士,研究方向为机械制造及自动化,虚拟现实技术, (E-mail)zhuxiaojiely@126.com。
*基金项目:国家科技重大专项(2009ZX04001-014);陕西省教育厅科技计划项目(11JK0867)
收稿日期:2015-04-25;修回日期:2015-05-26
文章编号:1001-2265(2016)02-0144-05
DOI:10.13462/j.cnki.mmtamt.2016.02.041