面向并行设计的虚拟原型技术研究
 

2009-08-31 作者:李思昆,郭阳,杨强,赵文辉 来源:网络

 

虚拟原型技术是在虚拟的逼真环境下,对产品设计信息进行协同仿真验证的有效手段,它可有效支持并行设计,缩短产品开发周期.在分析了虚拟原型与并行设计的关系后,提出了基于域对象的虚拟原型建模与仿真方法,并阐述了支持虚拟原型的集成框架的关键技术.

1、引言

面对现代高技术产品的设计复杂性障碍和激烈的市场竞争,产品设计生产部门非常需要能有效地提高产品设计质量、缩短产品研制周期、降低产品开发和生产成本的新技术的支持。

在传统的产品设计与制造过程中,为了验证产品的整体性能,往往采用物理原型(Physical Prototype)方法,但是这种方法生产周期长,成本高.进入90年代后,随着计算机技术和CIMS技术的迅猛发展,虚拟原型(Virtual Prototype)在产品设计和制造过程中起到越来越大的作用.虚拟原型是根据产品设计信息或产品概念产生的在功能、行为以及感官(视觉、听觉、触觉等)特性方面与实际产品尽可能相似的可仿真数字模型.由于虚拟原型技术对推动并行工程和拟实制造技术的发展有重要意义,国外许多研究机构和软件供应商都很重视研究、开发和应用虚拟原型技术,现已深入到机械、电子、航空航天、船舶、汽车与通讯等多个领域。

本文分析了虚拟原型与并行设计的关系,提出了基于域对象的虚拟原型建模与仿真方法,并重点阐述了支持虚拟原型的集成框架的关键技术。

2、虚拟原型与并行设计

并行设计是对产品及其相关过程集成地、并行地进行设计.强调产品开发人员一开始就考虑产品从概念设计到消亡的整个生命周期里的所有相关因素的影响,把一切可能产生的错误、矛盾和冲突尽可能及早地发现和解决,以缩短产品开发周期、降低产品成本、提高产品质量.

并行设计包含2个方面:其一是多过程集成的并行设计,其二是多个产品开发组(Teams)协同的并行设计.

虚拟原型是实现并行设计的重要手段,它在上述2个方面都可对并行设计提供有力的支持.

2.1 虚拟原型与上下游并行设计 虚拟原型与上下游并行设计

在进行上游概念设计和功能设计的同时,进行下游物理规划或虚拟物理设计,并行、全面地规划影响产品质量、成本和周期的各种相关因素,产生合理的约束,用约束驱动设计,并重视上游设计的充分验证。

图1是采用虚拟原型的产品并行设计流程示意图.在上游结构功能设计与验证完成后,根据产品功能结构信息、库元件信息及一些经验数据生成产品的虚拟原型;虚拟原型中包含有所需的系统结构行为、结构和物理设计信息.以虚拟原型为基础,并行设计规划综合考虑各种约束,对虚拟原型进行仿真和测试,对物理参数信息进行分析和规划,判断性能指标是否能够满足,设计方案是否合理,并给出产品的工程可实现性评价.如果发现性能指标和各种约束不能满足,则提出相应的修改建议,重新生成虚拟原型或修改设计方案;否则,规划出设计优化约束规则,驱动下游设计。

图1 采用虚拟原型的产品并行设计流程示意图

2.2 虚拟原型与协同设计

产品的设计空间可以看作是一个多维空间,每一维表示影响产品生命周期的一个制约因素,如性能、成本、可制造性、可维护性等,而这些制约因素之间又相互影响.对某一维而言,某个产品的设计方案可能是很好的,但由于受到其它维因素的制约,就有可能成为不可行方案.在设计中,每一个领域内的专家由于受知识与主观愿望的制约,总是会过多地考虑产品某一方面的指标,而忽略了产品的综合指标.对复杂产品,由多个专家协作设计是不可避免的.而产品设计中的评价多是不确定性问题,用传统方法无法解决.采用虚拟原型是解决多专家协同设计的有效途径。

在多个产品开发组协同设计环境中,分布在不同地点、不同部门的专业人员围绕逼真的虚拟原型,从不同角度、不同需求出发,对虚拟原型进行测试、仿真和评价,并改进和完善.他们也可通过虚拟原型达到相互交流和共享信息的目的.这就可以确保在产品设计开发的早期消除设计隐患,提高产品设计质量,缩短产品开发时间。

3、基于域对象的虚拟原型建模与仿真

3.1 域对象与领域实体对象

域对象是为了在不同工具或领域间实现异构数据的共享,将领域中相应的工具、模型、数据及方法进行封装,形成的一个具有真实产品部件功能特性的实体.域对象由智能接口、设计数据和仿真工具等部分组成.智能接口是域对象和外部世界之间的智能代理.域对象内部的设计数据由同一种设计工具产生,而不同域对象之间则存在着很大的异构性.在域对象外部,可以把产品部件看成是具有一定功能的实体,只关心其激励响应特性,而不考虑其内部细节.从而便于消除工具间的差异,实现异构的集成。

对于每一类域对象,在虚拟原型服务器上都有一个领域实体对象与之对应.领域实体对象中存有和该设计实体相关的属性信息,由设计者在总体设计阶段创建.针对不同领域的设计实体,系统为领域实体对象的创建提供一些预定义的模板,用户根据设计需要选用,并定制自己的领域实体对象.同时,可以用图形编辑的方式定义各领域实体对象间的结构关系,系统可以根据互连关系及各领域实体对象的定义自动产生接口关系信息。

3.2 基于域对象的虚拟原型建模与仿真框架 基于域对象的虚拟原型建模与仿真框架

虚拟原型仿真在域对象的功能基础上进行.其模型在逻辑上是由多个域对象构成的网络,由一个服务器统一管理.参与虚拟原型仿真的用户通过客户结点连接到服务器上,如图2.服务器结点的核心是对象管理器,它通过对一组领域实体对象的管理,集中体现了产品的整体结构信息.客户结点由视图对象、仿真客户代理和协作虚拟原型仿真界面构成.视图对象由对象管理器根据用户的仿真需求动态产生,记录了用户希望得到的信息的内容和形式,其主要作用是配合仿真客户代理,为用户提供所需的产品仿真视图,以减少信息冗余.不同领域设计者关心的内容及认识问题的角度都有不同.仿真客户代理在各领域对象产生的仿真输出结果中查找用户需要的信息,经过一定转换后送到虚拟原型界面上产生可视化的输出.用户在界面上对虚拟原型所加的操作,被虚拟原型界面感知后,也通过仿真客户代理转化为域对象可识别的激励形式,并通过虚拟原型服务器发往各域对象。

图2 基于域对象的异构建模框架

4、支持虚拟原型的集成框架

实现虚拟原型需要有仿真工具的支持,需要有领域设计工具的支持,也需要有开放的集成框架平台的支持.集成框架集数据库的数据管理能力、网络的通讯能力及过程的控制能力于一体,它不仅能实现分布环境中产品数据的统一管理,还能够很好地实现对虚拟原型的支持。

4.1 支持虚拟原型的集成框架的结构 支持虚拟原型的集成框架的结构

支持虚拟原型的集成框架基于Client/Server结构,客户和服务器对象间的通讯通过基于CORBA的Client/Server中间件连接,其结构如图3所示。

图3 支持虚拟原型的集成框架结构

从软件角度看,它是一种层次结构,上层是用户服务器,反映了虚拟原型系统所支持的主要功能,用户通过客户端用户界面使用服务方提供的高层次的用户服务,不必关心底层实现结构.每类服务由多个Agent构成,Agent间以灵活的方式通讯和互操作.用户服务分为4类:数据服务、集成服务、交互服务、应用服务.其中:

  • 数据服务对领域数据和原型数据进行存储和管理,并负责产生虚拟数据.它使用面向对象方法对数据建模,用恰当的模型联结部件描述和行为。
  • 集成服务支持工具集成和团队集成.包括共享电子记事本,用于多领域设计团队中人的通讯,也包括工具集成和封装机制。
  • 交互服务提供3D虚拟环境,支持产品数据的可视化和交互,为用户产生沉浸感。
  • 应用服务管理相对静态的应用(大多为商品化工具),这些应用为虚拟原型用户执行特定功能.应用服务包括一些与虚拟原型设计验证相关的工具,如虚拟原型生成工具、虚拟原型仿真工具,也包括一些特定的服务,如过程管理、项目管理、工具调度、并行设计规划等。

在这些用户服务之下,是底层支持结构,这种底层结构对用户不可见.该结构的主要是支持高层次Agent间通讯需求,它包含3个层次:

(1)信息共享层:与系统内实体间的高层次通讯需求相关。

(2)对象管理层:在分布异构计算环境中,对用户和应用隐藏通讯细节。

(3)高性能计算和通讯网络接口层:分离网络级的底层硬件和通讯与对象管理层及其它高层次Agent。

在上述结构中,数据服务是实现支持虚拟原型的集成框架的核心和难点,在4.2节中展开阐述。

4.2 数据服务 数据服务

图4是基于域对象的虚拟原型数据服务的结构.领域数据库(Discipline Database,DDB)中存放域对象.虚拟原型是对域对象的更高层次封装,是以产品为核心包含多领域信息的完备功能实体,为用户提供一个数字的产品仿真模型.原型数据库(Prototype Database, PDB)存放虚拟原型使用的多领域数据集合,包括所有域对象、域对象之间的关系以及相关的设计数据与虚拟数据等.用户界面一方面通过仿真界面服务器接受用户的仿真操作,并将该操作转化成向虚拟原型提出的仿真请求;另一方面将仿真的结果数据以图形方式显示,以便人机交互.领域数据库和原型数据库分别置于物理上分布的多个Server中,各Client中仿真界面直接访问原型数据库所在的Server,该Server再根据内部的域对象管理机制,向各领域数据库所在的Server上的域对象发出服务请求.最后,将服务返回的结果提供给用户界面或视图对象。

图4 基于域对象的虚拟原型

领域数据库为虚拟原型提供的数据服务功能主要有以下4个方面:域对象的生成与存储;面向仿真的数据服务;与相关领域的数据交换;面向虚拟数据生成的数据服务.原型数据库在数据管理功能上由对象管理器、仿真数据服务器和虚拟数据产生器构成.对象管理器负责域对象与视图对象的创建、维护和删除工作.仿真数据服务器主要根据界面服务器对用户操作的感知,通过对域对象的访问,为仿真界面提供相应的仿真与数据服务.数据产生器按照一定的规则,结合领域数据库中的设计信息,自动生成虚拟原型中的虚拟数据。

4.2.1 对象管理器

对象管理器负责视图对象、域对象以及领域实体对象的管理.对象管理器的视图对象管理功能包括:

  • 视图对象的创建与删除.在仿真开始前,用户通过界面服务器提供的“注册”功能,向虚拟原型提交所关心的仿真视图,对象管理器在Client上创建一个视图对象.随着仿真过程的结束,视图对象被删除。
  • 视图对象的动态重构.随着仿真过程的进行,经过初始化的视图对象无法完全满足用户界面的需求,需要根据用户的操作过程,对视图对象进行动态重构。
  • 视图对象的版本管理.仿真界面允许用户对一个设计进行多方位的仿真,虽然它们共享一个视图对象,但关心的角度各有不同,需要建立视图对象的不同版本,分别管理。

对象管理器对域对象的管理是通过领域实体对象完成的.原型数据库中的领域实体对象与领域数据库中的领域实体对象一一对应,记录了该领域实体对象的相关属性信息.对象管理器对域对象的管理主要包括领域实体对象的创建、维护和删除等。

4.2.2 仿真数据服务器

仿真数据服务器通过建立与管理域对象队列来完成对用户界面的仿真数据服务功能.在仿真操作开始之前,用户需向虚拟原型注册所关心的仿真视图,仿真数据服务器将该视图转换成相应的各个域对象.根据它们之间的时序依赖关系,建立多个域对象队列,并将这些域对象“激活”,为视图对象提交相应的初始化信息.当仿真开始后,仿真界面跟踪用户的操作过程,向仿真数据服务器发出相应的服务请求.仿真数据服务器一方面分析涉及到的域对象,将之激活,插入到域对象队列,并促使视图对象的动态重构;另一方面将用户的操作转化成相应的激励控制,分别传给各域对象.域对象队列按先后顺序或时序依赖关系依次运行,并将结果返回给仿真数据服务器.仿真数据服务器在完成结果分析后,按照一定的方式提供给仿真界面,显示仿真的结果.最后,将完成的域对象从队列中删除。

4.2.3 虚拟数据产生器

为了更有效地支持多领域专家的协同工作,要求在项目开发的早期,甚至项目开发之前,就在计算机上产生产品的虚拟原型.然而,此时建立虚拟原型以及在基于虚拟原型的仿真过程中,需要用到大量的虚拟数据.我们在数据产生器中引入专家系统,根据知识库与推理机制来自动生成,并提供基于Agent的数据主动服务。

5、结束语

虚拟原型的优势主要体现在:

1)成本低,速度快,节省了制造物理原型的昂贵费用.并且,在计算机上建立虚拟原型的时间远远小于物理原型的制作时间。

2)有利于设计优化.虚拟原型易于修改,可以利用虚拟原型对各种设计方案进行综合比较,并选出最优设计。

3)可有效支持并行设计,可以方便地实现上下游并行设计和多专家协同设计。

4)有利于实现拟实制造.虚拟原型数据可直接用于拟实制造。

虚拟原型是多学科和多领域技术的交叉和集成,除应用专业技术外,还涉及CAD/CAE、并行工程、虚拟现实、CSCW、逆向工程、人工智能、计算机仿真、分布计算等技术,技术难度很大.我们正以机电一体化的电子设备设计应用为背景,研究虚拟原型的实现技术,开发实用的支持并行设计的虚拟原型环境。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织