虚拟现实技术在变电站培训仿真中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟现实技术在变电站培训仿真中的应用
周季峰1,胡剑峰2,张志学3,王炎初4
1,2,3,4(南京南瑞继保电气有限公司, 江苏南京211100)
摘要在分析现有变电站三维培训仿真系统的基础上,针对现有系统缺乏实际运行数据的问题,实现了一套能够与调度培训仿真系统实时交互数据的、具有“活力”的变电站三维培训系统。该系统采用自行开发的三维引擎,包括设备建模、场景建模、场景浏览等几个主要部分。其中场景浏览器实时与调度培训仿真系统交互,大大增强了变电站培训仿真的真实感,改善了培训的效果。
关键词: 虚拟现实、变电站、培训仿真、交互
中图法分类号: TP391 文献标识码: A
Application of Virtual Reality in Substation Training Simulation
Zhou Jifeng1,Hu Jianfeng2,Zhang Zhixue3,Wang Yanchu4
1,2,3,4(Nanjing Nari-relays Electric Co., Ltd., Nanjing, 211100, China)
Abstract: Based on analyzing the existing substation training simulation systems, we developed an interactive substation tranining simulation system. It has a real-time interaction with the DTS(dispatcher training simulation system), retrieves data from DTS and sends back feedback to DTS. This system bases on our self-developed three dimision engine and includes equipment modeler、scene modeler and scene explorer. Practical application shows our system grealty improves training effect.
Keywords: Virtual Reality, Substation, Training Simulation, Interactive
1 引言
变电站是电力系统的重要组成部分,随着其自动化程度的提高,对运行维护人员也提出了更高的要求。但由于电力系统的特殊性,不能直接通过操作实际运行中的电力设备来进行培训,因此进行仿真培训就很有必要。传统的培训主要包括以二维画面表现的软件仿真和以专用设备搭建的物理仿真。二维画面的真实性欠缺,物理仿真的代价太高,因此将具有沉浸性、交互性、操作性特点的虚拟现实技术引入电力培训仿真具有重要的现实意义。
2 现有系统概述
目前虚拟现实技术在电力培训仿真中的应用很广泛,也涌现出了很多实用的系统。主要包括以下几类系统:
1、基于OpenGL[1]或Direct3D[2]技术
OpenGL是一个独立于操作系统的、开放的底层图形库,具有功能强大、移植性好的特点,是高性能图形算法的行业标准。Direct3D是微软开发的针对Windows系统的三维图形接口,可直接操作支持该接口的各种硬件。由于OpenGL和D3D属于比较底层的技术,缺乏一些比较高级的特性,因此开发难度比较大。
2、基于三维引擎或三维开发平台
目前很多电力仿真系统为了降低开发难度,缩短开发周期,纷纷采用成熟的三维引擎或三维开发平台。在开源社区比较著名的三维引擎系统有OSG[3](Open Scene Graph)、OGRE(Object-oriented Graphics Rendering Engine)[4]等。其中OSG引擎是一种采用标准C++和OpenGL编写的跨平台、高性能三维图形引擎。李蔚清[5]等、张照彦[6]等分别采用OSG 引擎构建变电站仿真系统。由于三维引擎一般并不包括场景编辑、场景浏览等组件,因此一些系统转而采用内容更丰富的三维开发平台。谢成[7]等采用Virtools开发了一个220kV 变电站仿真系统。
3、基于VRML技术
由于Web应用部署方便,对客户端要求低,因此目前很多电力仿真应用基于Web方式实现。虚拟现实描述语言VRML[8](Virtual Reality Modeling Language) 是一种描述三维场景中对象及其行为的场景描述语言,是目前电力三维仿真应用采用的主要建模语言。刘杨[9]等采用VRML建模并通过VRML的Script节点调用Java程序的方式实现了变电站三维仿真系统。龚庆武等[10]采用VRML建模并通过MATLAB 模拟变电站运行状态进行三维仿真。
从上面的分析可以看出,很多系统缺乏跟实际运行系统的交互,采用MATLAB模拟等手段得到的数据不能真实反映设备的运行状态,这在客观上影响了培训的效果。在分析上述系统的基础上,本文实现了一个跟调度培训仿真系统DTS(Dispatcher Training Simulator)配合的变电站三维仿真系统。通过与DTS交互,一方面仿真系统可以实时获取电力设备的运行状态并通过三维方式展示给学员,另一方面学员可以操作三维场景中的设备来动态改变电力设备的运行方式。
3 交互式三维仿真系统
3.1 系统结构
电力系统自动化软件大多同时运行在多个异构系统上,如Windows、Linux、Unix等,为了满足平台无关性的要求,本系统采用了跨平台的开发库Qt。Qt中包含了OpenGL模块,对采用OpenGL开发三维系统提供了简单的支持。不过由于OpenGL只提供了基本的渲染方法,为了增强系统的表现能力,本系统实现了一个基于Qt的具备基本功能的三维引擎。
一个完整的三维仿真系统主要包括设备建模、场景建模、场景浏览(交互)这三个部分。第二部分介绍的一些系统大部分采用3DS MAX、Maya等专业三维建模软件来进行设备和场景的建模。由于电力仿真中需要模拟设备的状态和缺陷,并且要完成场景切换、设备操作等功能,因此本文实现的三维仿真系统提供了设备编辑器来辅助设备建模。图1为本系统的结构图。下面几个部分分别介绍系统的几个主要构成内容。
图1 系统结构图
3.2 三维引擎
本系统实现了一个简单的三维引擎,满足三维仿真的基本要求。主要内容包括:
1、基本对象表现:包括立方体、球、圆柱、圆锥等基本的几何体
2、模型导入:目前支持3DS、OBJ、MD2等格式的模型导入
3、图片导入:在Qt支持的图片格式基础上增加了TGA格式图片的导入
4、碰撞检测:实现了线、立方体、球、椭球体之间的碰撞检测,可以方便的实现设备操作、角色行走、上下楼梯、沿墙滑行等功能
5、灯光:可以方便的创建点光源、平行光源、聚光灯等
6、材质、纹理:可以编辑对象的材质和纹理
7、粒子系统:提供火、烟、蒸汽、爆炸、雨、雪现象的模拟
8、公告牌(Billboard):提供以平面方式廉价模拟大量三维对象的功能,如树等
9、雾:对OpenGL雾效简单封装
10、天空体、天空盒
11、BSP、视景体裁剪,提高渲染效率
12、动态图像序列,可以实现闪电、流水等效果3.3 设备编辑器
设备编辑器通过导入现有的三维模型,并对各种模型进行组合、属性设置来构建一个真实的设备(如图2)。主要功能包括:
1、造型设置
用户可以通过组合不同的子模型来创建新的模型,并可以通过纹理和材质来增强其真实性。
2、故障设置
在培训仿真中,经常需要人为设置某个设备的故障。比如瓷瓶开裂、地线锈蚀、冒蒸汽等。这里考虑采用子模型交替显示、纹理替换和增加特效的方式来实现。
(1)子模型交替显示。对于瓷瓶开裂、瓷瓶发红等故障,可以预先在同一位置设置几个尺寸相同的子模型,它们分别对应开裂的瓷瓶、发红的瓷瓶和正常的瓷瓶。通过显示某个子模型并隐藏其它子模型的方法来模拟故障。
(2)纹理替换。对于地线锈蚀、设备脏污等故障,可以简单的通过纹理替换来实现,降低显示成本。
(3)特效。对于冒蒸汽、冒烟、爆炸等,可以通过粒子系统的特效功能来实现。
3、操作设置
在三维场景中,为了增强真实性,经常需要操作设备。如开关门、拉动开关、转动把手等。这些功能可以通过支持关键帧的模型来实现。考虑到MD2模型结构简单,且能提供关键帧功能。我们可以考虑采用MD2模型。在具体显示过程中,通过关键帧之间进行插值处理来显示操作效果。
图2 设备编辑器
3.4 场景编辑器
场景编辑器使用设备编辑器编辑完成的设备模型进行整个仿真场景的部署。实现方法如下:
1、将地形分割成网格形状,可以单独设置每个网格的纹理(用来创建道路,通过改变网格的大小,还可以创建弯曲的道路,进一步可以添加凹凸效果,形成土丘、路牙等效果),还可以在网格处添加对象。
2、通过鼠标操作调整对象的大小,用户也可以通过手工输入数据来精确定义对象的位置和大小。