1、基于 OBB 算法和数据手套的模具虚拟装配系统研究基于 OBB 算法和数据手套的模具虚拟装配系统研究王文静,王培俊,杨利明,杨旭(西南交通大学机械 x-,IX 学院,四川成都 610031)ResearchofMouldsVirtualAssemblySystemBasedonOBBAlgorithmandDataGloveWANGWenjing?WANGPeijun,YANGLiming,YANGXu(SchoolofMechanicalEngineering.SouthwestJiaotongUniversity,Chengdu610031,China)摘要:开发了一个基于 MFC 的半沉
2、浸式模具虚拟装配系统 MVAS,应用 OBB 算法有效解决了虚拟操作中的碰撞检测,手的穿透防止,抓取释放等关键问题,为克服传统防穿透算法的失真,提出了一种新的基于前向预防的防穿透机制.通过复杂电机壳体模具的装配仿真实验,表明该系统具有较理想的反应速度和操作真实感,为模具的数字化设计与制造提供了一种技术手段.关键词:模具;虚拟装配;OBB 算法;碰撞检测;虚拟手中图分类号:TP391.9文献标识码:A文章编号:10012257(2009)12 一 O013 一 O3Abstract:AMFCbasedsemiimmersivevir-tualassemblyenvironmentformould
3、sisdeveloped.Theproposedsystemsolvesseveralkeytechnicalproblems,includingcollisiondetection,penetrationavoidanceofvirtualhand,aswellasgrasping,andreleasingofvirtualobjectsinvirtualmanipulationusingOBBalgorithm.Toovercomethedistortionoftraditionalpenetrationavoidancealgorithm,anewpenetrationavoidance
4、mechanismbasedonforwardpreventionispresented.Theassemblysimulationofcomplicatedmotorshellmouldshowsthatthesystemisofanidealrespondingspeedandoperatingreality,providinganewtechnologyandmethodformouldSdigitaldesignandmanufacturing.Keywords:mould;virtualassembly;OBBalgo 一收稿日期:2009 一 O623基金项目:国家教委回国人员资助
5、项目(2009S03007)机械与电子2009(12)rithm;collisiondetection;virtua1hand0 引言虚拟装配(VA)是先进制造技术的研究内容之一.虚拟装配系统可以精确真实地模拟和渲染产品及装配过程的相关特性,设计者通过交互设备操纵待装零部件,分析评价产品的装配性能,进行装配工艺规划 L1.模具是制造业的基础工艺装备,精度高,结构复杂,其设计与制造往往要经过反复调试与修正,这不仅使得模具生产周期长,且制造质量难以保证.将虚拟装配技术引入模具设计,可以为设计人员提供一个多感知,沉浸式的虚拟装配环境,使其更充分地参与到模具的装配过程中,对模具的可装配性进行评价,改进
6、设计方案,并最终为装配工艺规划提供决策依据.因此,虚拟装配对减少模具设计错误,提高设计效率,缩短模具生产周期等都具有十分重要的意义.1 模具虚拟装配系统电机壳体模具的 MVAS 虚拟装配系统总体结构如图 l 所示.主界面由装配显示区,交互信息提示区和交互控制区组成,如图 2 所示.零部件在Pro/E 中建模生成,并以 WTK 支持的 SLP 格式载入.采用 OBB 算法在很短的时间内完成了碰撞检测,使虚拟手抓取和拖动零件时,系统不存在滞后感,操作流畅.虚拟手在操作过程中通过防穿透机制有效避免了穿透的发生,使手抓取更加真实自然,不存在手指的穿透现象.?】3?广硬件部分数据手套lL 跟踪仪l 广手
7、装载模块VAS 系统卜_零件库模块l 卜 I 数据手套管理模L 软件部分茎羹卜_显示管理模块装配约束管理模L 装配路径管理模块厂装配路径记录块+装配路径显示L 装配过程回放图 1MVAS 系统结构图 2 左滑块自由导航装配场景系统硬件设备包括 5DTDataGlove5 型数据手套和 PolhemusPatriotTM 六自由度跟踪仪.数据手套用于测量手指的弯曲,并实时驱动装配环境中虚拟手指的转动.跟踪仪与数据手套绑定,实时获取虚拟手的空间位置及方向,驱动虚拟手在虚拟环境中的位姿变换.设计了相应的软件模块完成数据手套及跟踪仪的载人,初始化,标定和数据读取等功能.建立了相应的零件库模块及装配约束
8、信息管理模块,用于装配零部件的导入及装配过程中的约束识别和导航.完成装配后,系统会自动保存装配路径,并提供路径显示,装配回放等功能,为装配工艺人员提供装配规划参考.1.1OBB 快速碰撞检测算法碰撞检测是虚拟手操作的关键.在虚拟装配系统中主要涉及虚拟手与零部件,零部件与装配体间的碰撞检测.精确的碰撞检测有助于提高虚拟环境操作的真实性,增强虚拟环境的沉浸感 L3.包围盒碰撞检测技术具有简单性及紧密性的特?】4?点 L4.本系统采用基于 OBB 包围盒算法的 RAPID碰撞函数库作为碰撞检测引擎.OBB 算法快速精确,能够处理复杂模型的碰撞检测,完全能满足虚拟装配系统的实时交互性要求.OBB 的计
9、算相对复杂,其关键是寻找最佳方向,并确定该方向上包围对象的包围盒的最小尺寸.OBB 包围盒的优点是方向任意,能根据几何对象的形状特点紧密地包围几何对象.由于紧密性好,能成倍地减少包围盒及基本几何元素问的相交测试,大大提高了算法的效率.对于刚体问的碰撞检测,由于不考虑变形,对象的OBB 模型树无需更新 ,只需实时给出对象的平移及旋转矩阵即可进行碰撞测试.基于 OBBTree 算法实现的 RAPID 碰撞函数库的输入模型为多边形,可以是一组无结构,不包含任何连接信息和拓扑约束的多边形.碰撞检测过程主要通过测试对象的 OBB 树是否重叠来完成,如果不重叠,则两模型没有发生碰撞.如果重叠,则检测更底层
10、次的 OBB 树,直至算法结束 .该算法可以同时应用于凸多面体和凹多面体,能够返回碰撞面片,接触点信息,精确度高,速度快,具有良好的健壮性.WTK 平台本身也提供了 WTpolyintersect-node(),WTnodepathinterseetpoly()等基于面片的碰撞检测函数.在对虚拟手与包含 9396 个三角面片模型的抓取测试中,发现 WTK 基于面片的碰撞检测函数计算时间过长使系统产生严重的延迟,且精确性欠佳,而 OBB 算法则快速精确 ,测试数据如表 1 所示.表 1 抓取碰撞检测时间比较1.2 手的防穿透机制虚拟装配过程中,需要实时检测虚拟手与零部件的接触状态.传统的防穿透方
11、法是使虚拟手按原来的运动方向由穿透状态返回到上一个未穿透状态,严重影响虚拟操作的真实感.本文采用预先穿透检测机制,首先读取跟踪仪的位置及方向数据,虚拟手整体如果和零部件产生包围盒碰撞,则更新相关虚拟手与零部件的 RAPID 碰撞检测树的矩阵信息,精确检测是否发生碰撞穿透.如果穿透则剔除该帧读取数据,限制虚拟手运动,维持未穿透状态;如果未穿透则使用该帧数据驱动虚拟手更新位姿.机械与电子)2009(12)测动检一连撞取束放碰抓约释r.,.r.块1.3 零件抓取及释放虚拟装配中,零件的抓取必须贴近自然,抓取动作也依赖于碰撞检测机制.首先,当手整体与零部件发生包围盒层次的碰撞时,启动手抓取模块判定机制
12、.各手指的包围盒与零件发生碰撞,则调用RAPID 精确检测算法进行碰撞检测,并记录下手指与零件的接触状态及碰撞面片.每一帧中若手指与零件产生了接触,则启动手指防穿透机制,使用数据手套的上一帧未穿透数据,手指退回至零件表面,使抓取更加真实.若满足抓取条件,则通过矩阵运算将零件节点置于手节点下,零件随手一起移动和旋转.本文中的数据手套不具备触觉反馈功能,因此零件被抓取后置为红色高亮显示,通过视觉反馈来弥补真实物理约束缺失条件下的缺陷.当释放零件时,只需解除零件与手的固结关系,同时零件颜色恢复至初始颜色,零件重新加载在根节点下,即可完成释放动作.1.4 约束装配引导在虚拟环境中,操作者通过数据手套操
13、纵待装配零件的运动具有模糊性和不精确性,用户很难精确地将零部件装配到位.为使装配更加接近真实,本文采用约束引导的方法,装配过程中动态识别几何约束,并逐步限制零件的自由度,最终实现零件的精确定位5.MVAS 的零件库模型在 Pro/E 中建立并完成预装配.通过 Pro/Toolkit 开发了一个数据接口,将零件的各种几何信息和装配信息提取至 ACCESS 数据库,并成功导入至 MVAS,以完成约束装配引导.零件装配进入约束引导状态时,将零件颜色置为橙色以提示用户.同时,约束引导状态下零件的自由度受限,不能完全随手移动或转动,即出现虚拟手运动与跟踪仪数据的非对应关系.本文采用映射投影方法解决这种非
14、对应关系.以轴约束为例,系统识别到轴约束后,将由跟踪仪取得并换算出的零件位姿矩阵的位置单元信息,实时投影到约束轴线上,零件的方向姿态信息保持不变,使零件被约束在轴线上移动.1.5 装配路径管理装配过程中,零件一旦被抓取后,其位置就与虚拟手建立了联系.由于虚拟手在场景中的位置是由位置跟踪仪确定的,所以零件被抓取后的位置可以机械与电子2009(12)由系统实时计算取得,并显示在用户界面的文本框中.装配过程中,MVAS 会自动记录下零部件每帧所经过的离散的空间位姿点,并储存在 WTpath对象中,装配完成时生成一个包括所有装配路径关键点的记录文件.记录文件不仅可以直接供装配工艺规划人员参考,而且可以
15、利用 WTK 中的WTwindow_draw3Dlines 方法生成折线 ,显示在对应的装配场景中,为用户提供更为直观的装配路径图形.此外,用户还可以调用装配路径进行零件的装配动画回放,进行装配评判或装配训练演示.2 结束语模具虚拟装配系统,解决了虚拟手操作的碰撞检测问题,同时提出了手抓取,穿透防止和释放等几个关键的虚拟手操作问题的解决方案.在装配过程中引入约束装配的思想,逐步归约零部件的自由度,实现零部件的精确装配定位,使虚拟操作更加接近真实.通过 MVAS 虚拟装配平台,设计者可浏览三维表达的模具,通过数据手套对其进行交互性操作,熟悉和了解模具的工作过程和装配步骤,为模具设计与制造提供了一
16、种新的技术和手段,具有重要的现实意义.参考文献:13KimYongwan.eta1.TwostagearticulatedhandinteractionforvirtualassemblysimulationA,I.Intema?tionalConferenceonContro1.AutomationandSystemsC.Seoul,Korea,2008.12801283.2陈鹏,王培俊 ,唐秀桢.基于 Web 的立体显示和多通道实时交互技术的研究J-I.机械与电子,2006.(9):586O.3郑轶,宁汝新 ,刘检华,等.虚拟装配关键技术及其发展口.系统仿真,2006,18(3):649 654.4吴彦鹏,张建民 ,伍贤和.等.一种面向虚拟装配的分层碰撞检测方法研究J.机械设计与制造,2003,(6):103105.5杨润党,武殿梁 ,邓华林,等.虚拟环境下产品装配技术的研究与实现J.计算机集成制造系统,2004.10(10):l220 一 l224.作者简介:王文静(1985-).男,江西吉安人,硕士,研究方向为虚拟现实技术,协同设计技术;王培俊(1962 一),女,浙江宁波人,教授,博士,研究方向为 CAD/VR,协同设计技术.?15?