APP下载

基于虚拟现实技术的风电仿真培训系统

2018-10-13周琪琪孙建平

电力科学与工程 2018年9期
关键词:风电场虚拟现实风电

周琪琪, 孙建平

(华北电力大学 控制与计算机工程学院,河北 保定 071003)

0 引言

风力发电作为一种可再生能源,其有效利用对于资源的可持续发展、环境的保护等方面有着相当大的作用。近几年来,随着国家对风力发电产业的支持与重视,风电场数量不断增加,风电市场前景越来越好[1]。但与此同时,风电人才紧缺的问题日益突出,因此提高风电技术人员的专业能力成为当务之急。目前,对于风电工作人员的培训还处于比较落后的阶段,培训方式存在过于理论化,缺乏实用性,培训内容单一、形式单调等缺点。在这样的背景下,将虚拟现实技术应用到培训中,可以形成更加直观生动、理论联系实际的教学方式,使学员身临其境,从而更好的掌握相关技能[2]。虚拟现实技术,又称灵境技术,是以沉浸性、交互性和构想性为基本特征的计算机高级人机界面。它利用了多学科的技术,例如仿真技术、计算机图形学、接口技术和网络技术等,从而使人能够对虚拟世界进行视觉听觉等方面的感知,同时还可以进行实时交互,具有广阔的应用前景[3,4]。我国在虚拟现实技术研究方面起步较晚,但是随着国家的重视,最近几年取得了一些成果。陈奇朋等人将三维建模技术、虚拟场景搭建技术、可视化交互技术、网络连接等与电力作业相结合,构建了电力作业虚拟仿真培训系统[5];高龙等人提出了一种基于虚拟现实的火电站设备管理系统,将三维设备数据库与MIS系统相连,通过运行数据实现设备的状态检修[6];杨中亚等人开发了一套基于虚拟现实的输电线路巡视仿真培训系统,该系统采用C/S架构,使用Windows操作系统和SQLservers数据库,将实际工作流程与计算机软硬件相结合[7]。在风电领域,基于虚拟现实技术的仿真产品取得了一定的成绩。阎光伟等人建立了集风电机组结构三维仿真、设备运行仿真、虚拟人巡检等于一体的风电虚拟系统[8],任岩等人提出了基于3D虚拟现实技术的风电场全数字化巡检及监测平台的构建方案[9]。

1 系统总体结构

基于虚拟现实技术的风电仿真培训系统是集风机三维场景、功能仿真、远程监控和过程检修模拟等于一体的培训教学平台,并通过实时数据关联各平台一体,进行实时数据交互和展示。结构图如图1所示。在此系统中,学员可以自由漫游整个风电场,同时可以使用鼠标任意选择并对风电机组的设备(如发电机、叶片等)进行旋转,了解其内部结构,学习主要设备的拆装、检修以及维护等;并可以进行远程监控,进行不同运行方式的仿真实验等。

图1 系统结构图

功能仿真支撑平台负责管理风电机组仿真模型的建立和运行,开展完整的风电机组及风电场仿真技术研究。在系统中开发了从风能到机械能到电能转化的完整过程各类模型及相应控制对象的控制模型,完成设备模型仿真,如控制模型(如变流器模型、发电机模型等)、周边电网模型、升压站模型等。

三维可视仿真支撑平台负责管理3D运维仿真模型的开发及运行。在该平台中完成了风机主要设备三维模型建立,包括叶片模型、低速轴模型、齿轮箱模型、高速轴模型、发电机模型、控制柜模型等。

集中监控系统是仿真实际风电场中央监控系统操作员站界面的仿真系统,能够控制和操作风电机组启动并网、正常运行、故障等过程,监视机组各种参数的变化情况,并可形成各种运行曲线[10]。

三维检修培训平台负责在虚拟场景中,对学员进行理论、检修等方面的培训。在此平台中完成了维护库、图纸库、故障库、拆装库、检修库、工具库及原理库等功能模块的开发。

2 虚拟场景搭建

在开发风电虚拟现实仿真培训系统时,首先要对虚拟场景进行搭建,尽可能地模拟真实的风电场。虚拟场景的搭建步骤如下:

(1)三维建模:三维模型是虚拟现实系统的基础模型。风力发电机组是一种大型的结构复杂的设备,在风机建模的过程中,为了使所建立的三维模型具有高精度的仿真立体效果,需要采集现场真实数据,整理相关文档、视频等,同时参考大量的三视图、实物照片、剖面图等多种类型资料,对风电主要设备如叶片、低速轴、齿轮箱等进行建模[11]。建模所用软件为3ds Max。在3ds Max中,可以从点、线、面等进行模型绘制,图形操作方便灵活。具体建模流程如图2所示。

图2 建模流程图

(2)模型导出:将3ds Max中模型导出为FBX格式的文件,然后将FBX文件导入Unity 3 d系统。根据实际风电场场景,调整这些模型的地理坐标、大小、朝向等。同时为了使系统场景明亮,更具有真实感,需要做一些模型渲染、灯光设置、场景调整等工作[12]。场景设置流程图如图3所示。

图3 场景设置流程图

在虚拟场景中,将模型与实时数据库、历史数据库相链接,实现信息交互,从而使工作人员更好的监视风力发电机组的运行状态、参数信息等。图4、图5分别为传动链三维模型、风电机组虚拟现实模型。

图4 传动链三维模型图

图5 风电机组虚拟现实模型图

(3)场景优化:由于风电机组设备较多,若在场景中任何时刻都采用高精度显示,会增加unity负担,因此为了优化unity性能使其在使用过程中更加顺畅,系统使用了摄像机分层距离剔除技术。此技术为小物体标识层次,然后根据其距离主摄像机的距离判断是否需要显示[13]。

在此系统中,使用LODGroup组件设置了风机设备的LOD层级及所对应的模型,LOD:0所对应的模型精度最高,后面的数字越大代表模型精度越低,移动到culled插件,模型消失。同时为了使视觉效果更好,需要设置LOD精度的偏移数值,使过渡更平缓。最后根据摄像机与风机间的距离改变透明值,从而控制机舱内部设备的显示。部分代码如下:

void ChangeAlpha()

{

BoxMat.material.SetFloat(“_TestVal”, AlphaFloat);

if (Dis >=15)

{

BoxMat.gameObject.SetActive(true);

AlphaFloat -=0.03f;

if (AlphaFloat <=0)

AlphaFloat=0;

}

else if (Dis < 15)

{

AlphaFloat +=0.03f;

if (AlphaFloat >=1)

{

AlphaFloat=1;

BoxMat.gameObject.SetActive(false);

}

}

}

3 设备虚拟拆装

虚拟拆装即在虚拟场景中,对设备进行拆装操作。风力发电机组有很多零部件,结构复杂,虚拟拆装能使学员高效的学习设备相关知识,提高培训质量[14]。在系统中,学员通过鼠标点击模型,同时拖拽模型至鼠标松开的位置,从而实现拆卸。实现的主要步骤为:

(1)三维拾取要拆卸的模型。三维拾取的方法有很多种,本文使用鼠标点击的方法来完成拾取操作。该方法符合用户习惯,人机交互良好。物体拾取流程如图6所示。

通过调用Unity中的API函数进行射线构造以及碰撞检测,从而拾取物体。其中包括Ray(射线)、Raycasthit(碰撞信息)、Raycast(Ray,outRaycasthit)函数等[15]。

图6 物体拾取流程

(2)在transform组件和vector3类型数组变量分别保存拆卸模型、模型当前位置,并使用数组变量序号控制拆卸的逻辑顺序[16]。

(3)为该拆卸模型添加拖拽脚本,脚本通过类型值返回,实时检测并计算模型与点击位置的偏移量,重新为模型位置赋值,最后完成拆卸。拆装图如图7所示。

图7 发电机拆装图

4 交互控制

4.1 场景漫游

场景漫游在虚拟现实培训系统中具有重要作用。在此系统中,通过编写脚本加载在摄像机上,设置鼠标的右键来进行场景的旋转,键盘的6个按键(Q键、E键向上、向下移动,A键、D键向左、向右移动,W键、S键向前、向后移动)进行不同方向的移动,操作方式简单方便,可以使用户在虚拟场景中进行自由漫游[17,18]。以右键旋转为例,部分程序如下:

using UnityEngine;

using System.Collections;

public class CameraController:

MonoBehaviour

{

public float sensitivityX=5f;

public float sensitivityY=5f;

void Update ()

{

if (Input.GetMouseButton(1))

{

float rotationX=Input.GetAxis(“Mouse X”) * sensitivityX;

float rotationY=Input.GetAxis(“Mouse Y”) * sensitivityY;

transform.Rotate(-rotationY, rotationX, 0);

}

}

}

4.2 图片大小控制

在此系统中,设有关键设备的培训,点击设备会弹出图片,学员可以通过图片的学习了解设备结构以及工作原理。为了能更好的实现人机交互,学员可以滑动鼠标滚轮控制图片大小[19]。设定图片放大缩小的范围,利用unity中的API函数实现滚轮对图片放大或缩小的实时控制,当向后滚动时,缩小图片,直到最小设定值;当向前滚动时,放大图片,直到最大设定值。

在控制脚本调用了响应函数(Input.GetAxis(

(“Mouse ScrollWheel”)),通过float类型值返回,向前滚是返回正数,向后滚是返回负数。向前滚动代码如下:

if (Input.GetAxis(“Mouse ScrollWheel”) > 0)

{

if(image.transform.parent.localScale.x < 5

image.transform.parent.localScale=new Vector3

(image.transform.parent.localScale.x + 0.2f, image.transform.parent.localScale.y + 0.2f, image.transform.parent.localScale.z + 0.2f);

if (image.transform.parent.localScale.x >=5)

image.transform.parent.localScale=new

Vector3(5, 5, 5);

}

5 风电虚拟现实系统功能简介

(1)学习功能:在虚拟系统中有维护库、图纸库、故障库、拆装库、检修库、工具库及原理库等功能模块。用户在虚拟场景中,可以学习设备各主要零部件的基础理论知识、结构构造和电气原理图(如塔基柜、塔筒)等,掌握设备的拆装、检修、维护等,同时可以了解常用维护工具,使用户掌握基本维修技能[20]。

(2)实时数据监测功能:与实时数据集成,在三维场景下观看风机实时状态参数,如功率大小、风速大小、无功功率数值、实际风向等。

(3)仿真功能: 能针对用户模拟检修完成后,通过观察设备运行情况,来检查检修方法是否适当。

(4)交互功能:用户可以在虚拟环境中实现交互操作,包括放大、缩小、旋转、漫游等。

(5)考核功能:能够进行理论和检修操作考核,用户可以检验学习效果,巩固知识。

(6)管理功能:能够实现系统维护管理、题库管理、权限管理等功能。

6 结论

本文通过完成对系统架构的设计、虚拟场景搭建、虚拟拆装、交互控制等问题的处理,系统终于搭建成型。基于虚拟现实技术的风电仿真培训系统做到了将虚拟与实际结合,让用户在虚拟中就能更好的掌握风电知识。根据80后、90后员工的特点,在培训形式上采取更为生动、直观的三维模式,引入了类似游戏的场景设计理念,提高培训的趣味性,变被动受训为主动学习,从而能有效的提高培训效果。同时可将本系统推广到一些院校进行教学合作,把该成果用于高等院校的学生学习,具有较好的推广价值。

猜你喜欢

风电场虚拟现实风电
基于PSS/E的风电场建模与动态分析
海上风电跃进隐忧
分散式风电破“局”
风电:弃风限电明显改善 海上风电如火如荼
REALITY BITES
风口上的虚拟现实
虚拟现实技术向科幻小说借灵感
含风电场电力系统的潮流计算
重齿风电
探求风电场的远景