1 引言
“虚拟装配”(Virtual Assembly)是产品数字化定义中的一个重要环节,在虚拟现实领域中得到了广泛的应用研究。通常有两种定义:一是虚拟装配是一种零件模型按约束关系进行重新定位的过程, 是有效分析产品设计合理性的一种手段。该定义强调虚拟装配技术是一种模型重新进在装配过程中人的装配知识无法运用等缺点。
2 设计思想
复杂机械设备的虚拟装配设计与实现为设计者提供了视、听、触觉一体化的设计环境,也为产品装配性分析提供了新的手段,虚拟装配已成为虚拟设计领域中的重要研究方向。虚拟装配一方面可以避免传统人工装配中对实际产品操作的弊端,同时又可以避免自动装配中操作困难以及作业时的交互等。
虚拟装配, 由于时空观念的超越,会出现一些新的特点,要解决的技术问题,主要有如下几点。
2.1 虚拟装配环境的构筑
虚拟环境的描述与管理,动作检测子系统和感觉信息合成子系统的因果关系处理,虚拟世界的事件控制,感觉信息的综合以及输入、输出驱动规则等。
2.2 装配过程的力作用机理分析
装配过程实质上是用力学方法不断地变化、调整由于多个物体的接触而引起的约束关系的过程。由于这一过程呈现出很强的非线性和瞬态性,因此分析难度很大。在虚拟环境中,把微观接触状态展现到宏观世界,把瞬态接触延续为虚拟空间中的“慢动作”,在赋予装配零件机械物理特性的条件下进行装配过程力作用机理分析。为了直观形象,可以对分析数据进行可视化处理。
2.3 自动装配规划的生成
装配规划就是以某种评价标准,按照一定的算法,寻求一条最优的零件装配顺序序列,实际上是最优化问题。在虚拟环境下,应该重点解决:如何更形象地表现装配规划过程中信息流的动态流动和可视化;如何在搜索过程中加入启发性知识和进行人的智能参与。
2.4 虚拟环境中人的自身投射性
需要研究人的动作检测及其信号处理,人手模型在虚拟环境中的映射,人和虚拟环境在装配行定位、分析过程;另一个定义是虚拟装配是根据产品设计的形状特性、精度特性,真实地模拟产品三维装配过程,并允许用户以交互方式控制产品的三维真实模拟装配过程,以检验产品的可装配性。基于VIRTOOLS的复杂机械设备虚拟装配技术是在虚拟现实环境下完成的,它把人、现实世界以及虚拟环境结合起来,融为一体,实现信息的交流和反馈。人可以在虚拟环境中以最自然的形态实时地进行操作和行动,犹如在自身所处现实环境中同样的感受,能训练人们对复杂机械设备的装配、操作,避免对机械设备的损害,这对节约成本和提供方便的训练等方面都具有重要的意义。
3 实现方法
以下将以飞机发动机装配为例, 介绍基于VirtooLS的复杂机械设备虚拟装配方法。
(1).由于VIRTOOLS本身不能创建模型,需要在三维建模软件中创建三维发动机的模型,常用的建模软件有3DS MAX、MAYA、PRO/E、SOLIDWORKS 、 CAT 等, 本例采用SOLIDWORKS建模。
(2). 由于VIRTOOLS无法读取SOLIDWORKS的零件模型或装配体模型, 因此需将SOLIDwORKS的装配体导出为3DXML模型。
(3).在VIRTOoLS中导入3D)【ML模型,并对其进行动态抗锯齿处理,如图l所示。
图1 动态抗锯齿
(4).在Level Manager的3D Object中选择发动机所有零部件, 并添加到群组‘‘ObjectsRename”。
(5).动态复制“Objects ”群组中的零部_ Rename件,将其重命名并隐藏显示,主要用于对装配过程中的零部件进行定位,如图2所示。
图2 动态复制零部件
(6). 编辑鼠标动作,该部分为程序的核心内容,主要解决鼠标三维空间的拾取和定位,其中鼠标在三维空间中的定位是难点,需要解决鼠标在拖动零部件时物体的位置和朝向。程序模块如图3所示。
图3 鼠标动作检测
其中2D Picking一直处于开启状态,用于检测鼠标的状态,当鼠标拾取的物体为群组中的零部件物体时(Test输出值为True),触发MouseWaiter模块,Left Button Down Received(鼠标左键按下状态)连接Keep Active的in端口,表示当鼠标按下时触发Keep Active模块,使得KeepActive后面的模块一直处于运行状态,Left ButonUp Received(鼠标左键弹起状态)连接Keep Ac.tive的Reset端口,表示当鼠标左键弹起的时候,关闭KeepActive后面的程序。
图4 鼠标拾取与定位
鼠标拾取零部件物体在三维空间的定位程序如图4所示,其中主要运用了Get Mouse Dis.placement程序模块,该模块主要用于获取鼠标相对运动的位移属性,其中X和Y的两个参数输出表示鼠标在x轴向和Y轴向的相对位移值,由于X、Y的输出值为整型(Integer),精度不够且数值的大小也不符合要求, 因此需要对其进行实时数值转换,运算方法为将其除以“.100”并转换为浮点型(float)。
在场景中创建一虚拟体用于辅助定位零部件的空间位置和朝向,将Get Mouse Displacement的X、Y 值除以“一100”得到的浮点数值实时赋给虚拟体的x轴和Y轴,然后将虚拟体的位移信息传递给拾取(2D Picking)的零部件物体。
最后为了使虚拟体永远朝向摄像机方向,在虚拟体物体上创建脚本,并添加Billboard程序模块,将模块的输出端口out接入输入端口iIl,使其一直处于开启状态。
(7).用tese模块检测两零部件之间的距离,若“A”零件与‘‘A Rename”零件之间的距离小于某一固定值(如20), 即将‘‘A”零件move to 至“A Renam e”零件,这样便完成了“A”零件的装配设计,同理对其他零部件进行相同的设置,这其中可以通过群组(Group Iterator)来进行批量处理。
(8).将以上环境移植到CAVE洞穴式虚拟现实环境中,配上力反馈装置和数据手套,可实现具有自主性、沉浸感、交互性、身临其境的装配体验,如图5、图6所示。
图5 操作演示1
图6 操作演示2
4 结束语
虚拟现实技术是充分发挥创造力的科学,为人类的智能扩展提供了强有力的手段 对生产方式和社会生活将产生巨大的影响。虚拟制造是虚拟现实技术在制造领域的重要应用,是一种超越时空观念的新的制造哲理和模式。产品的虚拟装配仿真是虚拟制造研究的重要内容。
参考文献
[1] 广濑通孝.假想工场一, 一于 JL,·7 7.夕IJ,计测己制御,1995年第7号
[2] 广濑通孝., 一手 L,·IJ 7-lJ于 应用战略,才一厶社,1992
[3] J.R.Ggalvao,etc.Production and Teaching by Vir—tual Environment,Proc.Of ICAT’97,Dec.,1 997
[4] N.Abe,etc.Verification of Assemblability of江EC}L NICAL Parts and Visualization of Machin.ery of Assembly in Virtual Space, Proc. ofICAT’97,Dec.,1 997
[5] N.Abe,etc.,A Training SYSTEM Detecting Novice’SE~oneous Operation in Repairing Virtual Machines,Proc.of ICAT’97,Dec.,1997