基于EON的机器人虚拟装配系统的研究*

2019-01-23 10:48文怀兴岳瑞芳杜晨振
组合机床与自动化加工技术 2019年1期
关键词:碰撞检测控件手动

文怀兴,岳瑞芳,杜晨振

(陕西科技大学 机电工程学院,西安 710021)

0 引言

随着现代工业的发展,工业机器人在工业生产中所占的比重越来越大。但由于我国工业机器人起步较晚,生产比较落后。传统的装配生产方式是将各个零部件加工出来以后进行实体装配,就有可能出现装配尺寸不合适,装配序列出错等问题,不仅会延长生产周期,还会造成原材料的浪费等诸多问题[1]。而虚拟装配的出现在一定程度上弥补了传统装配方式的不足。目前国内外关于虚拟装配方面的研究比较多,但大多专业性比较强,使用者不容易上手。本文在充分研究、比较国内外虚拟装配技术的研究现状后,研发了以EON Studio为基础的虚拟现实装配系统,不仅可以解决传统装配中遇到的问题,而且操作简单易学。

1 虚拟装配关键技术

虚拟现实技术是以计算机技术为基础的一种新型的技术,它通过计算机以及其相关的辅助设备鼠标、键盘投影仪、数据手套、头盔等让使用者产生较高的真实感[2]。而虚拟装配技术是虚拟现实技术的重要组成部分,主要包括面型装配特征的建模技术,装配序列规划,模型仿真技术,碰撞检测技术。虚拟装配可以提前验证设计和装配过程的合理性,以及记录整个装配路径,生成装配过程报告。

EON Studio是一个完全基于GUI的设计工具,可以轻松导入多种3D模型,模型导入后,可以通过EON直观的图形设计界面方便的为模型添加各种行为[3]。其应用程序能够以多种形式发布于网络,也可与其它支持微软ActiveX控件的工具相结合。Solidworks具有强大的三维建模功能,易学易用,模型精确度高,本文通过三维建模软件Solidworks对移动式四坐标机器人进行三维建模,然后将模型导入到虚拟现实软件EON Studio中,对其进行虚拟装配、虚拟拆卸、碰撞检测等研究,并通过Visual Basic完成系统界面的设置,完成虚拟装配系统。本文主要技术路线如图1所示。

图1 技术路线图

2 虚拟装配的主要模块

2.1 三维模型的建立

虚拟现实软件EON Studio的三维建模功能不够强大,所以需要先在三维建模软件Solidworks中完成模型的建立。基于龙门式机器人移动范围小,和关节机器人承重能力小的缺点,本文在三自由度直角坐标机器人的基础上,开发了移动式四坐标直角机器人,然后在三维软件Solidworks中完成建模,图2是建立好的三维模型。

图2 移动式四坐标机器人的三维模型

2.2 三维模型的导入

由EON Studio直接导入Solidworks的装配体会出现装配关系混乱的问题,所以本文采用的是先将Solidworks中建立的三维模型导入到Deep Exploration中进行文件格式的转换,将文件保存成.wrl格式。然后再将文件导入到EON Studio中,首先在sence节点下添加Frame节点,然后将模型导入到Frame节点下,选择File菜单下的import下的VRML格式文件,图3是导入后的模型界面。

图3 EON Studio导入后的界面

2.3 自动装配模块

通过拆装过程,使用者通过人机交互的方式可以快速了解机器人的内部结构及其装配关系。首先要进行装配的路径规划,装配要根据其工业生产的实际装配顺序来进行,不可出现碰撞、穿透等现象。本次装配的顺序是先将各功能组件进行局部装配,再将各个功能组件装配成为整机。自动装配模块使用到的功能节点有2D Text节点、Place节点等。2D Text节点是文本控制节点,通过编辑其属性其右侧的Property Bar可对其属性进行相关设置,编辑其文本内容为“自动拆卸”,另外其还作为一个触发节点。Place节点是移动节点,其有6个方向的自由度,可分别绕X、Y、Z轴移动,绕H、P、R轴转动,可根据实际需要设置其移动的距离、速度、转动的角度等。设置好相关节点后,需要在Route:Simulation中进行逻辑连接,将2D Text节点作为触发节点,按照零部件的装配顺序进行逻辑连线。点击自动装配开始运行,如图4是电机的自动装配过程的截图。

图4 电机自动装配

2.4 手动装配模块

手动装配模块可以快速让使用者了解机器人的结构和装配过程,尤其对机械专业的学生来说,由于学生较多,实体设备又比较昂贵,手动装配模块可以有效解决这个问题,锻炼学生的动手实践能力。手动装配模块主要用到的功能节点有ClickSenser,用到的功能元件有DragSelecter、DragManager等。这些功能元件都是系统封装好的一个个小程序,用户可以直接使用。首先将DragSelecter节点放置在需要手动拆卸的零件节点下,再将需要拆卸的零件的节点关联复制到DragSelecter下的DragNode文件夹下。然后将拖动管理元件DragManager放置在Camera节点下,再将DragManager关联复制到DragSelecter下的DragManager文件夹下,最后需要一个传感器节点,将ClickSenser放在需要拖动的零件节点底下。最后需要进行逻辑视窗的连接,将ClickSenser、DragSelecter拖动至逻辑视窗中进行逻辑关系的连接。设置完成后,点击运行,当鼠标经过需要手动拆卸的零件时,会变成小手的形状,即可拖动零件进行手动拆卸。如图5是手动拆卸Z轴电机的过程图。

图5 手动装配过程

2.5 碰撞检测模块

为了避免零件在拆装过程中出现碰撞及穿透现象,需要对零件装配过程中可能出现碰撞的零件之间设置碰撞检测功能。EON Studio的主要碰撞原理是包围盒原理,其用到的主要功能节点是CollisionObeject。将CollisionObeject添加到需要碰撞检测的零部件的节点下,并设置其属性框,根据需要碰撞检测的物体的形状选择相应的包围盒形状。如图6所示,是电机装配过程的碰撞检测。电机与电机支架被包围盒包围,当两个物体接触之后,产生碰撞,零件就会停止运动,不会出现穿透现象。

图6 碰撞检测

3 系统各模块的集成

EON X是EON Studio自带的一种控件,具有连接EON Studio与Visual Basic的桥梁功能[4]。通过Visual Basic中的“工程→部件→EON X”,将EON X加载到Visual Basic中。EON X加载完成后,需要将之前在EON Studio完成的虚拟拆装文件添加到Visual Basic中,就完成了文件的加载。

3.1 系统登录界面的设置

为了保证系统的安全,以及用户的隐私,防止不相关人员的错误操作导致系统出现故障,本文为虚拟拆装系统设置了登录界面,当系统的使用中输入正确的密码,才可以登录操作系统,否则登录失败,如图7所示。Visual Basic具有的编程功能可以实现登录界面的设置,以下是设置登录界面的部分代码:

Private Sub Command1_Click()

If Text1(0) = "" And Text1(1) = "" Then

Form2.Hide

Form3.Show

Else

Form2.Hide

Form4.Show

End If

End Sub

图7 系统登录界面

3.2 系统主界面的设置

登陆之后就进入到系统的主界面,对系统的各项功能进行操作。主界面的设置是整个系统的重要组成部分,主要用到VB应用程序的控件、对话框、菜单,其中控件是构成应用程序窗体的最基本元素。控件是经过封装的特定程序单元,能简化操作过程,实现特定的功能[5]。将控件添加至应用窗口中,可以设置其大小、形状、文本等属性。主界面主要包括的操作功能有部件展示、操作说明、自动装配、手动装配、碰撞检测五大部分。单击各个按钮就可以进入各个模块进行操作。如图8所示,是系统的主界面。

图8 主界面

主登录界面设置主要用到的部分编程代码有:

Private Sub Command4_Click()

Form3.Hide

Form1.Show

End Sub

3.3 系统功能操作界面的设置

点击主界面的各模块按钮,就会进入各模块的功能展示,在各功能的操作界面设置了模型加载、模型重载、返回等功能进去后可点击按钮,进行相关功能的展示,包括自动拆卸、手动装配等功能。如图9是操作界面的展示。操作界面需要用到的部分代码有:

Private Sub Command1_Click()

Control21.Start

End Sub

Private Sub Command2_Click()

Form1.Hide

Form3.Show

Control21.Stop

End Sub

Private Sub Command3_Click()

Control21.Stop

Control21.Start

End Sub

图9 功能操作界面

4 结束语

装配技术是制造业的重要环节之一,虚拟装配技术在制造业的应用,给传统制造业的发展提供一个新方向。研究发现,EON Studio可以通过简单的节点设置,进行虚拟拆装和碰撞检测。通过VB集成EON Studio各功能模块而研发的虚拟装配系统可以有效解决目前工业生产中零件装配不合理,装配顺序出错等问题,极大地减少原材料的浪费,缩短生产周期,在产品装配中有较大的应用前景。

猜你喜欢
碰撞检测控件手动
基于动力学补偿的机器人电机力矩误差碰撞检测
全新预测碰撞检测系统
基于.net的用户定义验证控件的应用分析
基于BIM的铁路信号室外设备布置与碰撞检测方法
7招教你手动设置参数
关于.net控件数组的探讨
基于Virtools的虚拟灭火系统碰撞检测设计与实现
风行S5001.6L手动尊享型
宝骏5601.8L手动豪华型
C4世嘉 1.6L手动豪华型