1. 引言
牵引变电站连接电力网和牵引网,将牵引供电系统中的三相电通过牵引变压器转化为牵引网所需的单相电;现有传统培训方法主要通过视频、教材、师傅传授、现场参观等手段。
在现有传统培训方法下,由于牵引供电系统的特殊性,受培训的牵引供电运行维护人员既不能在运行的系统或设备上进行实际操作,也不允许人为地设置事故让学员观察处理,这就使得学员难以在变电所的正常操作和事故处理中得到锻炼 [1]。自1982年北京电力专科学校引进美国SINGER公司的30万千瓦火电机组仿真软件以来,变电所虚拟仿真技术得到了迅速的发展 [2]。
文献 [3] [4] 在变电站培训仿真系统的个体培训模式和师生培训模式的基础上,提出并实现了协作培训模式。优化设备图元的数据存储结构与传递路径,使状态信息的流动更为快捷。采用Direct X技术实时传送语音,使协作间的沟通更为便利。文献 [5] [6] 使用Java语言的J2EE平台技术、并利用辅助设计编程的UML统一建模语言等计算机技术,结合VRML、面向对象的软件设计和开发方法、Browser/Server网络结构体系,最终实现了基于J2EE平台的虚拟培训系统。
因此,本文拟采取搭载Unity引擎的方式,对现实变电所进行三维建模,构造虚拟三维变电所场景,实现对牵引变电所系统的全三维化系统仿真,为受训学员提供一个虚拟的仿真学习平台,在此基础上对学员进行巡视、值班、倒闸、检修等职能培训,可解决上述传统培训方式的不足。
2. 牵引变电所系统总体设计
2.1. 底层模型层的设计
牵引变电所底层的模型结构设计及搭建比较特殊,而专业三维建模软件在建立复杂物体三维模型时具有独特优势,它可从各个角度来完善模型细节,使模型更加真实,而且建模方法也多种多样,还可导出为Unity所需要的文件格式。图1为底层模型层所包含的主要模型对象。
2.2. 接口数据库层的设计
系统采用SQL数据库进行数据存储。考虑系统的发展和变化,将来数据存储形式可能发生改变,基于系统设计的灵活性原则,将定义和实现分离,系统设计中定义了服务接口层。设计与业务流程相对应的程序脚本控制命令,设计脚本解析、加载、执行机制,将具体动作分解到使用命令标注的细节步骤上,构建通用的标准作业流程程序化语言方式,能够灵活实现业务仿真。
其具体模块实现流程如图2所示。
Figure 1. Node structure of Traction substation
图1. 牵引变电所节点结构
Figure 2. Database layer structural diagram of simulation system
图2. 仿真系统数据库层结构图
2.3. UI交互层的设计
将三维模型导入Unity引擎中,使其变为能够被渣染和处理的三维虚拟对象,然后为场景对象添加引擎自带或自定义组件,完成场景对象的逻辑控制和UI交互设计。在此基础上,构建培训流程的操作逻辑,使三维场景具备关联性和逻辑性,从而完成牵引供电系统仿真平台的搭建,其中牵引变电所UI设计如图3所示。
3. 仿真系统粒子系统的构建
利用Unity内部粒子系统设计天气系统,根据文献 [7] ,粒子的绘制需要一些技术支持,包括始终让粒子面向相机的布告板技术、加速粒子系统绘制的可编程渲染管线技术等。在虚拟仿真场景中,我们可以这样描述粒子系统的顶点结构:顶点初始位置、粒子速度、粒子的生命周期、粒子的创建时间、粒子大小等。粒子生存时间
公式为 [7] :
(1)
Figure 3. Functional sketch of UI interaction layer in traction substation
图3. 牵引变电所UI交互层功能示意图
其中
为虚拟仿真系统当前时间点,
为粒子创建的时间节点。
若粒子已经存活的时间为大于粒子的生命周期,则删除该粒子。每次更新后还存在的粒子的当前位置
:
(2)
粒子初始速度为:
(3)
该粒子顶点结构用以模拟电火花和雨雪效果上已经足够了。以上是粒子顶点结构,只是粒子系统框架的基础的静态部分。有了粒子顶点结构,就可以创建一个基于该结构的粒子顶点列表,用于保存仿真场景中存在的粒子。然后围绕这个粒子顶点列表,进行粒子的创建、更新、删除和绘制 [8] [9]。其总体算法流程图如图4所示。
Figure 4. Particle system update flow chart
图4. 粒子系统更新流程图
4. 模型混合加载和分层渲染的设计
4.1. 混合加载设计
牵引变电所场景内包含大量的加载对象,传统的思路是同步加载全部资源,这会引发较长的等待时间,并占用大部分的内存资源。因此为了更好的运行,需将三维场景设备物理资源和数据资源分离,并分别对两者异步加载。
在该仿真系统中,拟采取混合加载的方式,即采用同步加载与异步加载相结合的方式。在场景初始化时,采用同步加载方式快速加载三维场景关键区域模型,以满足用户基本使用需求;同步加载结束后,采用异步加载方式加载三维场景剩余区域模型。该动态加载方式极大地缩短了三维场景初始化过程中的等待时间,提高了系统运行流畅度。
4.2. 分层渲染LOD设计
LOD技术是根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。图5是在三维仿真系统场景内对相同物理模型组采取LOD分层渲染与传统渲染的时间对比。
Figure 5. Comparison of LOD layered rendering time with full rendering time
图5. LOD分层渲染时间与全渲染时间比较
从图5中可以看出,随着渲染模型组的个数增加,传统渲染方式所消耗的时间也随之增加,而整个三维系统中所包含的渲染对象数以万计,因此LOD技术能够较好的提升系统的性能。
5. 基于沉浸式技术的虚拟现实系统设计
为了更好达到教学的效果,增强虚拟仿真系统沉浸式体验,通过Unity内部提供的虚拟现实仿真框
Figure 6. Indoor simulation scenario of traction substation
图6. 牵引变电所室内仿真场景
架对牵引变电所三维场景进行虚拟现实仿真教学的设计。通过相关设备,将搭建完成的牵引变电所三维场景渲染至虚拟仿真头盔,通过搭载的传感器跟踪人体头部动作,从而实现学员对牵引变电所沉浸式学习,图6是沉浸式三维仿真的场景。
6. 结束语
总之,牵引变电所虚拟仿真系统的设计目的在于让学员对牵引供电结构组成,包括实验学习和故障模拟在内,能有个直观认识,在性能方面融合了粒子系统,LOD减面方法混合加载等先进的引擎技术,使软件能在保证画质及仿真效果的同时流畅运行。