我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>行业知识

虚拟装配系统中的碰撞检测及交互设计

文章来源:第三维度 作者: 发布时间:2012年03月20日 点击数: 字号:

    来源:第三维度
    作者:王余涛  硕士学位论文

    本文节选自《基于增强现实的协同式装配系统研究》第五章 

    前言   

   在制造业中,装配技术旨在采用快速,可靠,低成本的装配方法来提高产品设计质量,缩短产品开发周期,节约成本。传统的原型装配方法就是制造出零件的原型。零件原型虽然能够给操作者提供真实的装配操作体验,但零件原型的开发成本非常高,如果发现产品设计不足,无法在零件原型上直接修改,必须重新制造原型来改进,反复这个过程直到得到满意的产品设计。这种开发方式导致产品设计周期长,成本高。随着计算机辅助设计技术的发展,装配操作变得越来越自动化,虚拟装配极大地推动了装配技术的进步。虚拟装配技术采用计算机生成的虚拟三维零件模型来代替零件原型,不需要加工出样品原型,可以大幅度降低生产成本,而且零件的改进只需要修改对应的虚拟模型,大大缩短了设计时间。

      然而虚拟装配也有其不足之处,就是其将设计人员完全浸入在虚拟的环境中,没有任何真实装配空间的信息,导致操作环境真实感不足,操作不够直观高效。这其中,用户界面的交互设计是必不可少的环节,而碰撞检测是给用户一个真实体验的基础。

    1 碰撞检测

    在讨论交互设计之前,首先需要分析装配系统中一个重要的模块:碰撞检测(tollision Detection)。磁撞检测用于快速准确的确定模型之间的碰撞发生情况,包括确定发生碰撞的模型、碰撞位嚣、角度、碰撞速度等等。在装配系统中,碰撞检测用于衡量零件之间的约束状态和交互工具与零件的操作情形。

    有效的碰撞检测能够给操作者提供更真实的反馈,辅助装配过程。本文的装配系统需要处理两类碰撞检测:零件之间的碰撞检测(Part-to-Part Collisions)和交互工具与零件之间的碰撞检测(Tool-to—Part Collisions)。前者用于确定零件的约束关系(Pan et a1.2006),如约束不足(under—constrained)、过约束(over—constrained)和适当约束(properly—constrained)。后者是检测交互工具与零件之闻的碰撞关系,例如,当操作者尝试手持虚拟的笔(virtualpen)选中一个零件,或者手戴虚拟手套(virtual glove)抓取零件时,交互工具将会翮零件发生碰撞,表明零件是否被选中或松开,从而执行相应的装配操作。

    碰撞检测技术是一门日益成熟的技术,许多研究机构都提供适用于不同领域的碰撞检测程序包。在基于增强现实的装配系统中,碰撞检测需要能够处理复杂的零件拓扑关系,有准确的检测结果和快速的处理能力以满足系统准确性和实时性的要求。Kim and Vance(2004)详细地分析了几种知名碰撞检测算法的特点和怙能。鉴于装配系统的实时性要求,本文的躁型系统采用SwI孵¨算法(Ehmann and Lin,2004)。SWIFT++是一个用C++编写的基予网0性多面体相交判断的碰撞捡测包,能够准确判断相交情况,进行公差验证和距离计算。

    本文的原型系统中引入SWIFT++作为碰撞检测的处理模块。图1和图2分别给如了本文原型系统中零件之间和零件与交互工具的碰撞检测结果。当有碰撞发生时,被碰撞零件将采用警示色(红色)来绘制,提醒操作者。进一步,如果交互工具采用真实物体,如数据手套(data glove),发生碰撞时手套可以提供适当的力反馈,增强触觉上的真实感。

虚拟装配系统中的碰撞检测及交互设计
图1零件之间的碰撞检测

虚拟装配系统中的碰撞检测及交互设计
图2零件与交互工具的碰撞检测

    2 人机交互设计

    人机交互(human—computer interaction)是计算机的一个重要领域.一直以来都是研究的热点。许多学者都在研究如何设计和评估适用于各种场台的用户界面和交互工具。在传统的CAD系统中,三维几何模型都是显示到二维的屏幕上,操作者通过二维的鼠标、平面的系统菜单、工具条等界面来操作几何模型。这种交互方式虽然稳定且容易实现,但是却将操作者约束在有限的空『自j内,三维的信息都是以二维的方式显示出来,交互方式不够自然直接。在早期的浸入式虚拟现实系统中,如3DM(Butterworth and DAVIDson,1992).传统的windows M格的二维菜单被移植到三维虚拟空间中.以面板的形式提供给操作者,这样操作者虽然能够在三维空间内进行直观的交互,但操作者处于完全虚拟的空间中,没有真实环境的信息,真实感不足。增强现实由于其将虚拟信息与囊实场景叠加融合的特性,能够为用户提供既有真实感又更加自然的三维交互方式,因此有着更加广泛的应用前景。随着增强现实技术的发展,越来越多的增强现实交互工具涌现出来。Liarokapis(2007)介绍了如何利用标识物和三维鼠标在增强现实系统中同虚拟模型交互的方法。Yuan et a1.(2008)利用RCE神经网络算法设计了一个用于增强现实系统的虚拟笔,并介绍了如何将其应用在装配指导中。Billinghurst et a1.(2005)提出了针对增强现实的界面设计准则。Lee and Chun(2009)介绍了一种基予裸手的的交互方式,通过手指的检测跟踪和手势的识别来进行交互。

    结合以上研究工作和装配操作的特点,本文系统设计了一套基于标识物的虚拟交互工其来模拟操作者的装配操作。它们是:虚拟面板(virtual panel)、虚拟笔(virtual pen)和虚拟手套(virtual glove)。这些工具由计算机生成虚拟的凡俺模型,比起真实的数据手套和三维鼠标等更加经济、方便,其缺点也显而易见,就是不能够像数据手套那样提供触觉上的反馈。

    2.1 左手交互工具一虚拟面板

    在本文的原型系统中,一个带有标识物的纸板被用来注册虚拟面板的局部坐标系,虚拟丽板上的操作工具就绘制在这个有标识物的纸板上。虚拟面板上主要有空间球(space ball)、命令按钮(command button)、零传摩(model1ibrary)等虚拟模型(图3a)。空间球的原理类似予三维鼠标,提供空间三个坐标方向的平移(translation)和旋转(rotation)功能。当操作者使用虚拟笔或手套操彳;空间球来模拟移动或旋转空间球的动作时,系统将买时监测碰撞位置,计算空间球的偏移和旋转角度,进而将当前被选中的零件进行相应的平移或旋转(图4.3b)。命令按钮用来处理简单的命令,操作者通过虚拟笔点击按钮,系统将根据碰撞信息判断按钮是否被点击。如图4。4a所示,当虚拟笔和按钮发生碰撞时,系统认为操作者按下了该按钮,按钮将以红色显示表明其被按下,同时按钮对应的命令将被执行。装配系统中通常傈存各类的虚拟零件作为零件库,在执行一次装配任务时,系统将相关的零件调用出来显示在虚拟面板上,成为虚拟面板上可视化的零件库,此零件库是用来辅助操作者选取虚拟零件执行装配搡作的(图哇.4b)。操作者通过抓取零件,将其安装到装配体上,来逐步完成装配操作。整个虚拟面板都是由系统生成几何模型,两非真实的面板,这样的好处是面板上的元素可以随意更改,同时虚拟菰板成本低,容易实现。

虚拟装配系统中的碰撞检测及交互设计
图3 虚拟面扳的交互

    2.2 右手交互工具一虚拟笔和手套

    右手的交互工具同样采用虚拟模型.首先将右手拇指、虎口、食指三处分别粘上小的标识物,用以确定手指的空问位置。系统在三个标识物上分别生成绿色的圆形,并将拇指、食指处的圆形分别于虎口出的相连形成如图5 3b所示的简易夹子,称之为虚拟手套,用于模拟抓取等操作。当操作者弯曲拇指,伸直食指使得食指上的标识物在摄像机图像上可见,而拇指出标识物不可见,系统将在食指处生成一个虚拟笔,笔尖部分相当于传统windows界面中的鼠标光标,用于模拟点击和选择操作(图5 4)。当操作者拇指食指伸展.j个标识物都在摄像机图像上,系统将生成虚拟手套(图4.3b)。这个虚拟手套只是一个较为简单的交互工具,但却体现了增强现实系统交互工具的特点,就是可触式的三维空间的交互方式,其设计思想就是模拟真实的空间操作。这个虚拟手套仅有两个手指,可以当做夹子一样执行抓取操作,当手指处模型与零件碰撞时代表夹住零件,零件就可随夹子移动。如果接下来碰撞消失则表明操作者松开夹子,零件将留在附近位置固定不动。比起真实的数据手套,虚拟手套只能提供视觉上的反馈,而缺乏力反馈,然而虚拟手套实现方便,成本低,且可随意更改,有其一定的应用价值。

虚拟装配系统中的碰撞检测及交互设计
图4 数据手套

    3 空间球的操作实现

    空间球的操作分为平移和旋转两类操作。当用户通过虚拟笔接触到空间球并拖动其平移时,系统检测到虚拟笔和空间球的碰撞信息,空间球将根据前后帧时虚拟笔的位置计算球的平移方向和大小。如图5所示,球心O为坐标原点,P1为前一帧时虚拟笔与空间球的相交点,坐标为(xl,yl,z1),P2为当前帧时虚拟笔与空间球的相交点,坐标为(x2,y2,z2)。那么,对应的空间球将沿向量P1P2方向平移,平移量为向量P1P2的长度。当用户想要释放空间球时,可以通过遮挡食指上的标识物使虚拟笔消失。另外空间球的平移量存在上限,当拖动距离超出范围时,空间球将不随虚拟笔移动,表明虚拟笔松开。

虚拟装配系统中的碰撞检测及交互设计
图5空间球的平移

    当用户通过虚拟笔接触到空间球并拖动其绕球心旋转时,空间球将根据前后帧时虚拟笔的位置计算球的旋转方向和角度。如图6所示,球心0为坐标原点,P1为前一帧时虚拟笔与空间球的相交点,坐标为(xl,yl,z1),P2为当前帧时虚拟笔与空间球的相交点,坐标为(x2,y2,z2)。那么,空间球对应的旋转轴m方向为虚拟装配系统中的碰撞检测及交互设计,旋转角度 虚拟装配系统中的碰撞检测及交互设计

虚拟装配系统中的碰撞检测及交互设计
图6空间球的旋转

    虚拟手套抓取空间球平移和旋转的实现原理与虚拟笔的相似,用户可以通过松开手指,使手套与空间球没有碰撞来释放空间球。空间球的旋转和平移将按照一定比例被映射到当前选中的虚拟零件的旋转和平移上,这样用户通过操作空间球就能间接地操作虚拟零件,将其安置到合适位置。

    4 装配操作流程

    针对以上介绍的交互工具,一个基本的装配操作过程可以描述如下:

    准备阶段

    1)系统初始化,注册世界坐标系。

    2)系统将代表真实零件的虚拟模型与真实零件对齐。

    操作阶段

    3)系统根据标识物信息生成交互工具(虚拟面板、笔、手套)。

    4)操作者通过数据手套从虚拟面板的零件库中抓取零件放到装配环境中,或将其拉出,以示删除。也可操作空间球来移动或旋转当前选中零件。

    5)操作者通过虚拟笔选择零件、装配特征(轴线、平面等)、根据这些特征将零件装配起来。

    6)重复4)、5)步骤,直到获得完整的装配体。

    7)系统对装配体进行运动仿真,帮助操作者衡量设计效果、发现设计缺陷。

    8)如果有设计不足,重复4)、5)、6)操作步骤,直到得到最终满意的装配产品。
 
    5 本章小结

    本章首先介绍了在人机交互中十分关键的碰撞检测技术,接下来在分析增强现实系统交互工具特点的基础上,设计了一套适用于本文装配系统的交互工具,对这套工具的设计和实现给出了详细的分析和说明,同时也指出了这套交互工具的优点和缺陷。

  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料