首页 > 范文大全 > 正文

基于开源场景图形的三维可视化与信息管理系统设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于开源场景图形的三维可视化与信息管理系统设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:对于产品虚拟装配的三维呈现过程中难以实现零件信息管理问题,结合电动车模型的拆装,提出三维可视化与信息管理技术融为一体的设计方案。首先,建立三维模型库,并根据电动车模型的拓扑结构和辅助信息,如零件的材质、型号等,建立信息库;其次,读取信息库中零件与子装配体间的父子关系信息建立目录树,根据子装配体与场景树均为“多叉树”组成结构的原理进行子装配体的三维呈现,再对子装配体的各个节点设置动画完成拆装呈现;最后,采用多线程方法将电动车配件信息管理与可视化有机结合,实现支持三维的拾取交互查询和检索定位查询等功能。系统以世纪鸟电动车进行验证,实现了三维可视化技术与信息系统相融合,能快速有效地为电动车的三维呈现和虚拟装配提供技术支持。实例验证表明,所设计系统可以有效地将零件的信息管理融入到虚拟装配的三维可视化中。

关键词:

开源场景图形三维渲染引擎的英文缩写为OSG?是否正确?请明确。;三维可视化;信息管理;虚拟装配;人机交互

中图分类号: TP391.9 文献标志码:A

0引言

随着计算机图形学、计算机可视化技术、工艺设计技术的快速发展,虚拟装配[1-3]作为虚拟现实技术在制造业的典型应用,引起了国内外学者全方位、多层次的研究,并且已经取得了初步的成果,但是,在以三维可视化的交互模式支持配件信息管理方面,现有的虚拟装配系统还存在着不足:缺少对三维空间中零配件的信息管理;在拆装过程中难以及时查询零件的相关信息;没有对零件模型进行库存、分类等管理。由此可知,如何建立三维零件的数据属性及一体化的多维信息展示平台,是虚拟装配技术中三维可视化与信息管理系统设计的关键问题。

从装配环境的角度可以将虚拟装配分为三类[4]:基于计算机辅助设计(Computer Aided Design, CAD)平台的虚拟装配系统、基于通用虚拟现实技术开发的桌面虚拟装配系统、大规模虚拟现实系统。其中,基于CAD平台的系统仿真的真实感和可靠性不是很高,并且难以发挥虚拟现实技术的优势,如交互式CAD系统(Computer Aided Threedimensional Interactive Application, CATIA)、UG、Pro/E等仿真系统;基于通用虚拟现实技术的虚拟装配系统能够利用虚拟现实技术,从而降低成本,如哈尔滨工业大学夏平均等[5]研究的基于Division Mockup软件开发的卫星产品虚拟装配系统和郑州大学刘凯等[6]研究的基于产品模型数据交互规范(Standard for the Exchange of Product Model Data, STEP)和三维渲染引擎开源场景图形(Open Scene Graph, OSG)的虚拟装配系统;大规模的虚拟现实系统成本高、开发难度大,如浙江大学万华根等[7]开发的集成的虚拟设计与虚拟装配系统和哈尔滨工业大学Liu等[8]设计的采用球形幕作为显示装置、操作者能够自由行走的虚拟装配环境系统。以上的虚拟装配系统都难以用三维可视化的交互模式支持配件信息管理[9]。而三维可视化与信息管理技术相结合的方法已经有了研究,如文献[10-11]所述的三维可视化变电设备管理系统,在三维可视化方面,为实现对变电设备的监控,它们只提供对变电设备的三维呈现,难以满足对产品虚拟装配过程的三维呈现;在信息管理方面,只完成单个模型的检索查询,但是,在虚拟装配系统中融入信息管理技术的研究目前较少。

针对上述问题,本文采用微软基础类库(Microsoft Foundation Classes, MFC)管理三维渲染引擎OSG,实现虚拟装配的三维可视化。同时,融合装配目录树和配件的供应商、材质、型号等信息,支持以三维可视化的交互模式进行零件的信息管理,最终实现三维场景呈现与信息管理的有机统一。鉴于电动车的种类繁多,如简约款、经典款、时尚款等,本文选取几个典型款式的电动车进行实例验证。

1系统总体设计

本文提出了三维可视化与信息管理技术相融合的系统的设计,系统主要由3个部分组成:信息库、三维可视化模块、信息管理模块,后面两个是系统的主要功能模块。总体设计框图如图1所示。

1)建立信息库。

系统的信息库分为模型库和数据库两类,模型库存放零件的三维模型,数据库保存模型信息、装配信息、供应商信息等。建立逼真的三维模型是最基本也是最重要的前期工作,本文系统采用专门的三维建模软件进行建模,并以.ive格式导出模型,建立模型库。.ive格式是OSG自己定义的二进制存储格式文件,模型渲染速度比较快;但是,它不包含模型的拓扑结构信息,为建立模型信息库、装配信息库等数据库,需要先将.ive格式的模型转换为场景图形的文本描述格式(.osg格式),然后分析场景模型的拓扑结构才能得到所需的数据信息。供应商、模型的材质、型号等信息库根据专家经验知识建立。

本文系统所建立信息库中的数据结构、表与表之间的关系如图2所示,共4种类型的数据表:零件库表“Model_Library”、模型信息表“Model”、供应商信息表“ProviderInfor”、装配信息表“AssemblePlan”。其中,装配信息表有多个,每个子装配体的装配呈现都对应一个装配信息表,并结合子装配体的标识符取名,以便于识别。“Model”表中主要的数据类型:模型标识符“MID”、模型类型“MType”、宿主模型标志符“MOwnerID”、层次“MLayer”、模型名称“MName”、几何名称“MgName”、4×4的位姿矩阵“MatrixL”、尺寸“MSize”等。

2)三维可视化模块。

根据模型信息库中的子装配体、零件的层次关系信息建立系统目录树,用户通过与目录树的交互实现对各个部分的管理,包括单个零件或子装配体的三维呈现、按照装配信息库中的数据对子装配体进行装配或拆卸呈现等。

3)信息管理模块。

采用多线程方法和消息响应机制将电动车模型的二维数字化信息与三维可视化呈现相融合,主要实现从三维场景中的模型到二维文字信息的拾取交互查询和从关键字信息到三维模型的检索定位查询。

2基于OSG 的三维可视化模块

三维可视化部分主要实现虚拟场景中电动车模型的三维呈现和拆装呈现功能。为了对电动车模型的各个部分进行有条理的管理,采用目录树结构的方式对零件进行组织,并且在渲染节点时调用OSG提供的osg::CullFace类,设置剔除面,使渲染时不在视野范围内的部分不进行渲染,如背面、被遮挡部分等,从而提高渲染效率。

2.1目录树的构建

一辆完整电动车模型结构非常复杂,若每次操作都需要渲染整辆电动车模型,不仅工作繁琐,而且效率低下。而建立目录树可以支持用户有针对性地对零配件或子装配体进行可视化呈现、信息管理等操作,更重要的是可以有效地减少场景渲染的工作量。

建立的目录树层次结构取决于模型信息库中存储的模型层次关系。第1层是根节点,即完整的电动车模型;第2层是对根节点的第一次划分,包含子装配体、单个零配件;第3层是对其上一层各个子装配体的继续划分;逐层往下,每一层子装配体的所有孩子节点组合构成该子装配体。

目录树的建立过程:首先,父节点建立成功后可以得到该父节点的句柄;然后,孩子节点寻找到它的父节点句柄后作为孩子节点加入父节点,即可建立父子关系。所以,目录树是按照层次上由上往下的顺序建立的。本文系统的目录树的展示如图3所示,图中电动车是“简约款”类型中选取的一辆,根节点“简约款电动车”对应整辆电动车模型。图4是目录树结构的树状图,它对应于图3左侧的目录树。

2.2零件或子装配体的三维呈现

单个零件的三维呈现从三维模型库、模型信息库中分别读取模型文件和模型的位姿矩阵信息,便可在场景中按要求进行渲染显示;但是,为了支持用户自定义的修改子装配体的成员,模型库中没有存放子装配体模型,只有单个的零配件模型,所以子装配体的呈现与零配件的呈现有所不同。

由于子装配体是多叉树结构,所以它的所有零件叶子节点的呈现就是子装配体的呈现。如图5(a)子装配体1的呈现只需呈现孩子节点11,12,13;但是,若子装配体的孩子节点中仍存在子装配体,如图5(b)所示,那么在孩子节点中类型为子装配体的,继续往下一层寻找零件节点进行显示,依次类推。对子装配体5的呈现,最终呈现零配件节点511,512,521,522,53。图5(c)是“经典款”电动车的子装配体“车尾部分”的实例展示。

子装配体呈现算法:利用递归函数实现对它的孩子节点的逐个遍历,找到其中所有的零配件节点并进行呈现,算法流程如图6所示。首先判断要呈现节点是否是子装配体,不是则直接读取模型呈现;是则调用递归函数逐层寻找所包含的零配件节点并呈现。以图5(b)中的子装配体例,判断第一个节点5是子装配体,搜索得到它的所有孩子节点51,52,53,逐个处理。首先,处理孩子节点51,判断是子装配体则调用递归函数并将指向子装配体5的指针作为参数传递,搜索到它的所有孩子节点511,512,它们都是零件节点所以直接作为孩子节点加入子装配体51,再将子装配体51作为孩子节点添加到子装配体5,此时,处理子装配体51的函数结束,回到处理子装配体5的函数;接着,处理孩子节点52,类似于节点51;最后,节点53是零件节点直接作为孩子节点添加到子装配体5。到此成功构建了子装配体5的场景树[12],对场景树进行渲染就可实现对子装配体5所包含的所有零配件节点的呈现,即呈现子装配体5。实验结果如图7所示,若要呈现子装配体“车尾部分”,只需要呈现零配件节点靠垫、靠垫下金属、后车灯、后车灯上盖、后车轮挡板。

2.3装配体的拆装呈现

由浙江大学“可拆即可装,拆卸与装配是互为可逆过程”的理论[7]可知:在子装配体结构完整时,只要能够对其进行合理的拆卸,便可逆向对其进行装配,由此装配呈现与拆卸呈现可以共用一个信息库,若该信息库存放的是拆卸信息,那么只要将部分信息在读取的时候进行处理,如顺序进行颠倒、方向向量取反等,就可以实现装配呈现。拆装呈现方法:将零件节点添加动画节点,并设置运动的方向、距离。动画执行结束后设置节点的属性为隐藏,即可实现一个节点的成功拆卸。将待拆卸的子装配体包含的所有节点按照指定的顺序、方向、距离逐个拆卸,便可以实现子装配体连续的拆卸呈现。实验结果由图8所示,图8(a)到图8(f)是经典款电动车配件“前车灯”的拆卸呈现按照时间顺序截取得到的图。在装配呈现过程中,每个配件装配前需要对配件的尺寸进行判断,只有配件尺寸匹配才可以继续装配,否则系统提示配件尺寸不匹配,装配不能进行。实验结果由图9所示,场景中配件“前车灯”的尺寸较小,装配无法继续。

3虚拟场景中模型的信息管理

模型的信息管理模块实现融合三维场景的数字化信息管理功能,打破了传统的二维文本信息管理,并且将三维可视化技术应用到一个新的领域。该部分主要包括两个方面的内容:拾取交互查询、检索定位查询,详细功能说明如图10所示。

3.1拾取交互查询

拾取交互查询:在三维场景中点选拾取模型查询配件的相关信息。本文系统通过点击场景中三维电动车配件模型,让用户可以轻松、便捷地查看每个零件的详细信息。采用OSG的自定义事件[12]方法进行实现,过程:首先,对场景树进行遍历,用碰撞检测[13]方法识别点选的三维模型;其次,将选取的模型网格化突出显示;最后,将识别的模型的标识符添加到消息中并进行传递,主线程会通知执行消息响应的窗口,窗口根据响应的内容执行信息显示。实验结果由图11所示,在三维虚拟场景中点选左后视镜模型,场景中模型网格化突出显示,信息管理窗口中显示模型的详细信息,并可对页面的信息进行更改。

供应商库存查询查询供应商能够提供的某种型号的所有款式的零件。本文系统在信息管理窗口中显示了模型的供应商列表,点击列表中任意供应商可以显示该供应商的详细信息和它提供的当前零件的所有其他款式模型,实验结果如图12所示,三维场景中呈现的是供应商列表中第三家提供的中型“左后视镜”零件,共有三种款式,同时还显示了该供应商的详细信息。

3.2检索定位查询

检索定位查询通过检索关键字查询完整信息和三维场景中零件的模型,根据模型在场景中的位置实现定位。在本文系统中,检索关键字被分为三种类型:零部件标识符、零部件名称、供应商名称;查询方式有两种:查询单个和查询所有,它们都可以实现模型的定位。

检索定位查询主要采用多线程方法实现,MFC主线程[14]通过接口CoreOSG类与OSG渲染线程进行通信,从而控制该线程。实现过程:首先,在虚拟场景中显示完整电动车模型;其次,对场景中电动车模型的场景树进行遍历,寻找要检索模型节点,找到后将其网格化突出显示,实现模型定位;最后,在信息管理对话框中显示模型的完整信息。实验结果如图13~14所示,本次实验打开的是“时尚款”中的一辆电动车模型,检索方式为“查询单个”。图13是按照零部件的标识符(ID)进行检索的结果,检索方式为“查询单个”;图14是按照零部件名称进行检索的结果,检索的是子装配体,检索方式也是“查询单个”。2.2节介绍子装配体呈现时要构建场景树,场景树中每个节点以标识符命名,所以只要获取到子装配体的标识符就可以通过遍历场景树,找到该子装配体,然后对其进行处理。

模糊查询查询名字中包含查询关键字的所有模型节点。查询关键字的类型可以是“零部件名称”或“供应商名称”,查询方式为“查询所有”。“零部件名称”类型的模糊查询可以实现不同位置相同零件的检索,如图15所示,按照关键字“轮胎”进行查询后,搜索到前、后两个车轮的轮胎模型;“供应商名称”类型的模糊查询可以呈现某供应商能够提供的所有类型的模型,方便厂家对产品配件的集中采购。

4结语

本文在虚拟装配的三维可视化系统中融入配件的信息管理。建立目录树,按照目录树结构实现电动车零部件的分模块呈现和子装配体的拆装呈现;实现三维可视化与信息管理的有机结合,完成双向查询:拾取交互查询和检索定位查询。以几种款式的电动车模型为例,采用MFC管理OSG的场景渲染方法,实现了一个综合、高效的管理系统。本文系统对库存查询功能的实现还没有很完全,缺少对零件的所有库存的查询。在此基础上,将三维场景中的配件换成库存中的新颖款式,实现电动车款式的多样化设计,这些将是下一步的工作内容。

参考文献:

[1]

武殿梁,杨润党,马登哲,等.虚拟装配系统及其关键技术[J].上海交通大学学报,2004,38(9):1539-1543.(WU D L, YANG R D, MA D Z, et al. Virtual assembly system and the enabling technologies [J]. Journal of Shanghai Jiao Tong University, 2004, 38(9): 1539-1543.)

[2]

邓逸辰,范秀敏,邱世广,等.基于装配约束动态创建的虚拟装配技术研究[J].组合机床与自动化加工技术,2014(7):124-128.(DENG Y C, FAN X M, QIU S G, et al. Research of virtual assembly technology based on dynamic construction of assembly constraint [J]. Modular Machine Tool & Automatic Manufacturing Technique, 2014(7): 124-128.)

[3]

杨润党.虚拟环境中交互式工位规划与装配过程仿真技术研究[D].上海:上海交通大学,2007:92-100.(YANG R D. Study on interactive workplace planning and assembly process simulation in virtual environment [D]. Shanghai: Shanghai Jiao Tong University, 2007: 92-100.)

[4]

李建广,夏平均.虚拟装配技术研究现状及其发展[J].航空制造技术,2010(3):34-38.(LI J G, XIA P J. Survey of virtual assembly and its perspective [J]. Aeronautical Manufacturing Technology, 2010(3): 34-38.)

[5]

夏平均,姚英学,孙刚,等.基于Division Mockup的卫星虚拟装配系统研究与开发[J].中国机械工程,2008,19(19):2340-2343.(XIA P J, YAO Y X, SUN G, et al. Study and development of a virtual assembly system based on division mockup for satellite [J]. China Mechanical Engineering, 2008, 19(19): 2340-2343.)

[6]

刘凯,赵新灿,谭同德.基于STEP和OSG的虚拟装配系统[J].计算机工程与设计,2013,34(1):262-267.(LIU K, ZHAO X C, TAN T D. Virtual assembly system based STEP and OSG [J]. Computer Engineering and Design, 2013, 34(1): 262-267.)

[7]

万华根,高曙明,彭群生.一个集成的虚拟设计与虚拟装配系统[J].中国图象图形学报,2002,7(1):27-35.(WAN H G, GAO S M, PENG Q S. VDVAS an integrated virtual design and virtual assembly environment [J]. Journal of Image and Graphics, 2002, 7(1): 27-35.)

[8]

LIU G H, YAO Y X. Development of a new virtual environment system for assembly [J]. Key Engineering Materials, 2006, 315/316: 556-560.

[9]

张文建,焦梓实,杜亚维,等.虚拟装配技术的研究现状及发展趋势分析[J].新技术新工艺,2007(1):19-21.(ZHANG W J, JIAO Z S, DU Y W, et al. The analysis of the present research situation and development of virtual assembly technology [J]. New Technology & New Process, 2007(1): 19-21.)

[10]

李莉.攀枝花电业局三维可视化变电设备信息管理系统的设计与实现[D].成都:电子科技大学,2012:38-45.(LI L. The design and implementation of threedimensional visualization MIS of the Panzhihua electric power bureau’s substation equipment [D]. Chengdu: University of Electronic Science and Technology of China, 2012: 38-45.)

[11]

王先兵,张学东,何涛,等.三维虚拟变电站数字可视化管理与监控系统[J].武汉大学学报:工学版,2011,44(6):786-791.(WANG X B, ZHANG X D, HE T, et al. Digital visualization management and monitoring system for 3D virtual transformer substations [J]. Engineering Journal of Wuhan University, 2011, 44(6): 786-791.)

[12]

王锐,钱学雷.Open Scene Graph三维渲染引擎设计与实践[M].北京:清华大学出版社,2010:56-62.(WANG R, QIAN X L. Open Scene Graph 3D Rendering Engine Design and Practice [M]. Beijing: Tsinghua University Press, 2010: 56-62.)

[13]

李永胜.虚拟校园中碰撞处理技术的研究[D].郑州:郑州大学,2011:37-39.(LI Y S. Research on collision processing technology in virtual campus [D]. Zhengzhou: Zhengzhou University, 2011: 37-39.)

[14]

许列,韦群,王珏.基于OSG的三维场景管理及实时绘制技术研究与实现[J].装备指挥技术学院学报,2011.22(3):100-104.(XU L, WEI Q, WANG J. Research and implementation of 3D scene management and realtime rendering technology based on OSG [J]. Journal of the Academy of Equipment Command & Technology, 2011, 22(3): 100-104.)