曾华荣,黄 良,陈沛龙(贵州电力试验研究院, 贵阳 550002)
电力协同仿真设计是以用户为中心的工作[1],目前大量研究多为基于Web[2]与基于代理[3]的协同仿真设计,用户支持跨地域的协同仿真设计。然而目前这些研究实际上仍旧以机器为中心,用户之间的交互仍旧是通过人机界面进行[4]。虚拟现实技术的引入为用户提供了一种三维接口[5],更加直观,然而仍旧无法突破人机交互格局。而混合现实技术突破了人机界限,混合了虚拟环境与真实环境,能够真正实现以人为中心,大大提高了人人交互的直接性。一种基于混合现实技术和的电力协同仿真设计可以通过真实环境中的实体工具的使用来支持虚拟环境中的电力设备的设计,具有更高的真实感与沉浸感。相比而言混合现实环境由于避免了全场景建模,因此可以大大降低开发难度与成本[6]。用户既可以使用实体工具来达到真实感同时可以借住虚拟环境带来的便利性,因此采用混合现实技术进行实现电力协同仿真设计可以大大提高效率与真实感。
基于混合现实技术的电力协同仿真设计系统采用C/S结构,这样跨地域的协同用户就可以同时对三维模型进行编辑修改。整个系统组成如图1所示。①客户端用于协同仿真设计过程中的协同用户视图;②服务器支持三维建模,协同管理以及一致性维护;③交互技术支持客户端的产品与三维建模;④ 嵌入式三维内核用于实体建模以及几何信息抽取,以便支持混合现实技术和的电力协同仿真设计中的模型创建与修改。
图1 模型修改中的信息流
为了保证仿真实时性以及多用户数据一致性,基于混合现实技术和的电力协同仿真设计系统采用了集中式架构。客户端的主要工作是支持模型的虚拟化、模型操作以及沉浸式的用户交互接口。三维模型创建后,被保存在服务器当中,不同用户的模型操作可以通过协同模型处理保证数据一致性。分布式建模框架是基于建模系统的API构建,而中心数据库保存了用户的关注列表、约束信息、设计过程中的各种设计信息以及修改历史文档。中心服务器采用多线程方法,其中主线程用于模型虚拟化以及约束输入,其他线程用于建模与信息抽取,另外两个信息发送与接收线程用于在用户接入时通过连接与授权将用户加入到任务中。
在一个协同设计任务中,同一个模型对象在不同的用户都会保存一个本地版本。当某个用户对本地模型做出修改操作时,这个操作要及时传递给其他所有用户进行感知以及数据一致性维护,从而避免产生数据冲突与不一致。采用一种访问权限机制对协同设计进行管理,任何用户在对虚拟模型进行编辑前都要先申请模型的访问权限,而且访问权限每次只能被一个用户获取。其他用户的模型编辑需求将会被禁止,直到获取访问权限,这个权限会在有模型编辑需求的用户间传递。当用户获取权限后,对模型的修改操作将会被其他所有用户感知,其他用户只能对感知信息作出反馈而无法直接编辑模型。当其他用户对于授权用户的修改持有反对意见时,可以通过反馈信息对修改进行取消,而这一切所有用户的编辑活动、反馈操作都会记录在一个协同设计历史中,并展示在用户界面上。另外系统中还提供讨论区功能,所有用户间可以发起讨论。当某个用户的模型编辑操作得到所有用户的同意以后,这个编辑将会被发送到服务器中,对服务器中的模型以及设计信息进行更新,如图1所示。
为了支持基于混合现实技术的电力协同仿真设计,本文提出了一种多层模型表示方法,如图2所示。这种方法可以满足实体建模、混合现实以及多用户协同设计的以下要求。
图2 多层模型表示
(1)虚拟化-三维模型的展示与监测。
(2)交互-三维模型与实体间的交互。
(3)建模-支持实时的分布式三维建模。
(4)模型有效性保持-保持每个用户工作区中模型的有效性。
局部模型树结构用于保存和维护局部三维模型的相关信息,它是基于抽取的局部模型信息创建的。根节点是三维模型的第一个局部模型,中间节点是其后续局部模型。局部模型的每个面是其叶子节点,而每个面的三角面片连接在该面的叶子节点上用于表示该面。不同的局部模型与面具有不同的IDs。
第一层中三维模型的多边形模型是基于局部模型树中的局部模型、面与三角面片信息进行创建。这些模型通过第三层的实体模型获取与更新。由于混合现实环境与实体模型空间的坐标空间一致,模型的拓扑与局面模型参数信息能够根据用户任务与上下文表示为虚拟文档,以便加强用户对于虚拟模型的感知。
第二层基于约束的模型保证了三维模型数据的一致性与有效性。在一个仿真设计任务中,设计将根据充分考虑各个用户的设计意图,每个客户端的约束条件必须得到满足。在混合现实技术和的电力协同仿真设计中,约束来源于分布在不同客户端的三维模型的不同客户端的设计参数。
第三层由实体模型组成,它的创建与更新是当某个客户端的建模操作被接受后发起。三维模型的拓扑与局部模型信息被保存在该层。拓扑信息用户恢复多边形模型的几何信息用以支持电力协同仿真设计中模型的修改。局部模型信息(ID、位置、参数等)被用于定义第第二层中的模型约束。
模型约束被保存在中心服务器数据库中,同时在各个客户端的本地数据库中保存一份副本。约束分析在每个客户端执行过程如图3所示。在进行三维建模过程中,当某个约束被用户编辑操作违反时,这个信息将发送给所有其他用户,而约束冲突的处理将由所有用户通过讨论方式产生,随后编辑用户将被要求按照约束冲突的处理意见进行模型的再编辑。之后约束分析将会被再次执行,并且将执行信息发送给其他用户。当不再有约束冲突后,模型信息以及参数修改将会在所有用户客户端呈现。
本文提出了一种2D/3D跟踪交互方法,用于三维模型的设计、操作与参数输入。该方法由上下文敏感的虚拟操作板与交互光标构成,提供了一种高效直观的建模环境。2D/3D网格捕获模式支持三维点的选择以及模型的修改。
上下文敏感的虚拟操作板包括两个部分:一个是基于屏幕左边系统与全局坐标系统,通过计算机视觉技术追踪现实环境中的标记;另一个是进行讨论信息的虚拟显示,例如命令按钮、符号、信息等,这些都能够通过一个3D头盔进行显示。虚拟操作板是上下文敏感的,同时也便于使用。
交互光标用于激活虚拟按钮以及与三维模型间的交互。这个光标即可以是一个采用计算机视觉技术的真实的物理追踪器也可以是一个标记上的虚拟跟踪器。物理跟踪器用于虚拟操作板上的菜单激活操作,而虚拟跟踪器用于虚拟三维空间中的虚拟模型操作,例如采用网格捕获模式的模型局部选取。这些交互工具能够方便直观的支持用户与真实3D环境中的2D/3D对象的交互。
3D网格捕获模式能够支持用户在虚拟三维模型表面插入草绘点以及选择局部模型位置。在这种模式下,一个3D网格将与模型表面的兴趣点进行匹配,而网格的尺寸可以用户定义。交互光标将追踪该兴趣点坐标最近的网格点,因此能够方便选取想要的仍和3D空间坐标。
而2D的网格捕获模式将在进行草绘编辑与修改时使用。这个2D网格进行屏幕匹配,该区域是草绘区域的4倍。其工作模式与3D网格捕获模式相似。模型草绘将会根据光标的移动动态更新,当精确度高于网格尺寸时,用户还可以通过屏幕上的虚拟操作板进行坐标点的输入。
基于混合现实技术的电力协同仿真设计中的建模过程以及局部模型的特点,提出了三组局部模型的建模规则。图3给出了一种直观的基于形状控制点的局部模型建模拖放方法。
图3 基于约束的协同
某个局部模型的形状控制点即在三维空间中完全定义该局部模型形状的所有点。这些形状控制点通过拖放方法用于混合现实三维环境中。在基于混合现实技术的电力协同仿真设计中,一个局部模型可以通过基于全局坐标系定义的本地坐标系统进行定位,它的形状控制点能够被修改,因此可以通过交互光标拖放这些点来实现局部模型的形状变化。
当一个形状控制点的坐标被修改,局部模型的参数将随之对应修改,例如当用户拖动最高一个形状控制点后可以改变该局部模型的高度参数。局部模型根据形状控制点变化是实时更新的。
局部模型可以从两个方面进行修改,位置修改与形状参数修改,例如深度参数修改与草绘修改。为了支持修改,局部模型的维度将通过物理三维空间中的虚拟文档进行表示。修改将通过一个3D空间接口进行,而虚拟模型修改过程中的讨论将进行动态更新,具体模型修改过程如图4所示。
图4 基于混合现实技术的电力协同仿真设计中的建模过程
为了实现模型一致性,一个局部模型修改传播机制被用于同步不同客户端数据库中的三维模型。基于这种机制,特征修改(如图5所示)将会在服务器中区分,并且会在不同客户端被不同局部模型进行同步。唯一的局部模型名被用于区分局部模型,避免产生命名冲突。
图5 建模过程中的参数定义
为了验证上述方法,本文开发了一个基于混合现实技术的电力协同仿真设计原型系统,其中建模与几何抽取过程耗时最长,占据了超过50%的CPU时间,但是这并没有影响整个系统的效率与效果。系统使用方便直观的支持用户交互以及操作实时感知,能够更加高效地支持电力协同仿真设计。
□
[1] 李 妮,刘 杰,蔡志浩,等, 复杂系统虚拟样机协同建模/仿真支撑平台[J]. 计算机集成制造系统,2004,10(10):1 207-1 211.
[2] Li WD, Ong SK, Fuh JYH, et al. Feature-based design in a distributed and collaborative environment[J]. Computer-Aided Design, 2004,36(9):775-797.
[3] Chu CH, Cheng CY,Wu CW. Applications of the web-based collaborative visualization in distributed product development[J]. Computers in Industry, 2006,57:272-282.
[4] Mcdonald JT, Talbert ML. Agent-based architecture for modeling and simulation integration[C]∥ Proceeding of the National Aerospace & Electronics Conference, 2000.
[5] 李 妮,郑宏涛,彭晓源,等. 仿真网格中协同建模网格服务研究及实现[J]. 计算机集成制造系统,2007,9(13):1 586-1 699.
[6] Leu MC, Peng X, Zhang W. Surface reconstruction for interactive modeling of freeform solids by virtual sculpting[J]. Annals of CIRP, 2005,54(1):131-134.