基于Unity3D的虚拟船舶电站模拟器研究

2014-06-27 05:45:37洪茜
船电技术 2014年3期
关键词:模拟器数学模型电站

洪茜

(渤海船舶职业学院,辽宁葫芦岛 125005)

基于Unity3D的虚拟船舶电站模拟器研究

洪茜

(渤海船舶职业学院,辽宁葫芦岛 125005)

本文在介绍虚拟现实技术的基础上,阐述了应用最新专业引擎Unity3D软件为开发工具,实现虚拟船舶电站模拟器的关键技术、系统结构、技术路线和实施方案。该模拟器具有数据精准、表现力强、基于网络、交互性好的特点。该软件的开发不仅可为教学提供实验平台,而且能够方便的移植到其它实际应用系统中,具有良好的实用价值。

船舶电站 Unity3D 模拟器 虚拟现实

0 引言

依据我国海事主管部门及世界海事组织的相关要求,轮机等部门人员要获得相应等级的适任证书必须要参加船舶轮机模拟器的操作训练与考核评估[1],作为船舶轮机模拟器的重要组成部分——船舶电站模拟器的训练与评估是轮机等部门人员提高个人综合素质的需要,也是适应现代化船舶日益自动化、信息化、智能化发展的需求。目前船舶电站模拟器主要有两种类型:一类是软硬件结合的半实物船舶电站模拟器,它用硬件全部或部分模拟实船上的电站设备及其操作与显示功能,操作真实性强,但价格昂贵,不便于携带。另一类是纯软件的船舶电站模拟器即虚拟船舶电站模拟器,它是通过数学建模、软件开发等计算机技术,在计算机上实现的可视化模拟训练平台。它可以将船舶电站设备全部虚拟到独立的PC机上运行,训练时只需用键盘和鼠标在控制屏上实施操作,其价格便宜,无需维护。近年来随着计算机虚拟现实技术的飞速发展,虚拟船舶电站模拟器越来越真实,且升级方便,逐渐受到用户的青睐,具有极大的发展前景。

1 相关技术概述

1.1 Unity3D简介

Unity3D是一款专业游戏开发引擎,能够提供方便、简洁的跨平台游戏开发,拥有高度优化的DirectX和OpenGL图形渲染管道。Unity3D采用层级式的可视化开发环境,一个完整的Unity3D程式由若干场景(Scene)组合而成,每个场景中又包含许多模型(GameObject),这些模型可以在Unity3D中创建、编辑或由其它软件创建后导入。所有的模型都可以通过脚本控制它们的行为。最终在场景中所看到的内容是由摄像机(Camera)来展示并控制的。Unity3D具有非常强大的物理引擎,能模拟现实世界中的物理现象。因此,Unity3D功能强大、易于使用、跨平台,非常适合于创建虚拟现实环境。

1.2 基于Unity3D的虚拟现实系统结构

基于Unity3D的虚拟现实系统分为模型开发环境、虚拟现实环境和用户系统环境三个部分,其中模型开发环境通过诸如3DSMAX 等三维软件来进行建模和材质贴图,开发完成后发布为.FBX格式文件。然后将.FBX文件导入Unity3D软件进行系统合成和交互开发,最终形成基于Unity3D引擎的虚拟现实环境,其中包括场景数据库、Unity3D渲染引擎和碰撞检测等交互处理程序,然后发布到服务器。当收到基于用户系统环境的请求后,将需要的文件发送至用户计算机实现场景的渲染输出、相机的跟踪以及碰撞检测等交互操作。整个系统结构如图1所示。

1.3 基于Unity3D的虚拟现实系统的关键技术

1) 实时显示,在Unity3D引擎中,不需要像3DSMAX等软件必须渲染才能产生画面,因为其内置了渲染引擎,可以生成具有LOD层次细节的画面,并进行显示效果优化,即Unity3D是一个所见即所得的开发环境。

2) 场景漫游,Unity3D中内置了第一人称角色控制器,只要将控制器预置体拖放至场景中就可以模拟第一人称在场景中进行漫游;还可以通过检测输入控制摄像机的方式驱动场景,从而实现任意视角的场景漫游。

3) 碰撞检测,在场景驱动中必须设置物体物理属性来避免“穿墙而过”,因此,每个物体都必须添加能够执行碰撞检测的组件Component-Physics-Mesh Collider,从而使所有物体在不影响性能的前提下都具有碰撞检测功能。

2 虚拟船舶电站模拟器系统设计

2.1 虚拟船舶电站模拟器系统结构

虚拟船舶电站模拟器系统主要包括3D模型模块、数学模型模块以及教学功能模块三部分[2]。其中3D模型用来构建虚拟环境;数学模型用来实现系统与用户的交互以及模型间的交互;教学功能模块用来实现人机交互界面,船舶电站模拟器系统结构如图2所示。

2.2 3D模型模块

该模块以某集装箱船的船舶电站为原型构建了柴油发电机组、电站控制管理室、船舶电站配电屏以及相关负载的三维可视化虚拟场景,即将船舶电站设备场景都虚拟到服务器上[3]。

当训练时,训练人员的PC机将虚拟设备场景下载到本地机上,经过浏览器插件实时渲染就可以得到船舶电站设备的虚拟场景,然后通过键盘和鼠标进行操作。利用这些虚拟设备场景可以实现的仿真训练主要有:

1)发电机组的起动、手动合闸供电与供电方式的转换;

2)发电机的手动并车与解列操作;

3)发电机突加、突卸负载的测试;

4)发电机的调压、调频特性与负荷分配特性测试;

5)发电机的保护功能;

6)应急发电机手动和自动控制功能;

7)逼真地模拟各种电气故障工况等。

2.3 数学模型模块

船舶电站模拟器必须按照发电装置和配电装置的工作过程建立数学模型,用数学形式来表示其设备的控制、特性和状态参数之间的关系,经过适当简化和假设后,通过计算机的运算实现三维场景控制。因而,数学模型模块主要包括两类模型:一类是动态数学模型,用来模拟发电机以及附属设备和系统的动态特性;另一类是逻辑和控制的数学模型,用来模拟船舶电站的控制操作、报警和保护等。其中发电机动态数学模型比较复杂,由两部分组成:一是转子运动方程,主要反映发电机输入机械功率和输出电功率不平衡时引起的发电机转速与转子角度的变化。一是电磁回路方程,主要描述发电机定子、转子绕组的电压方程。

2.4 教学功能模块

教学功能模块针对仿真训练和教学的需要对界面进行简化设计。整个界面包括机舱漫游、操作训练、参数设置,考核评分、系统监控和故障设置等功能。通过这些功能可以真实地模拟船舶电站正常和非正常运行工况以及常见故障,能够进行相关内容的仿真训练。其中,操作训练仿真界面由计算机仿真场景来模拟四台发电机的运行和负载操作,主要包括:发电机机旁控制箱四个、主配电板一块、应急配电板一块。主配电板包括四个发电机控制屏、一个并车屏、两个380V负载屏和两个220V负载屏。应急配电板包括一个应急发电机控制屏和一个应急负载屏。

用户可以随时登录服务器,以个人计算机浏览器为观察窗口,通过鼠标和键盘控制自己的视角和视点,对虚拟场景进行动态漫游和实时仿真训练。另外,通过声音、视频、文字等辅助性的手段,可以形象地讲授船舶电站系统的各个部件、功能及各评估项目的操作过程等。而且虚拟场景与数据库相连,可以保存训练人员的所有操作记录,可供教师对操作情况进行检查及评判

3 虚拟船舶电站模拟器平台的实现

虚拟船舶电站模拟器平台实现的主要步骤为:

1)使用3DSMAX创建船舶电站相关设备场景的三维数字化模型,并导入至Unity3D内进行编辑;

2)通过Unity3D的JavaScript脚本程序接口实现数学模型对虚拟场景的控制,从而驱动三维虚拟设备动作;

3)设计构建人机交互界面;

4)将整个虚拟场景上传至服务器。当用户使用时,整个模拟器的虚拟场景就通过网络下载到用户计算机,经过浏览器的实时渲染,将具有交互性的三维虚拟设备和场景展示给用户。

3.1 设备场景模型的创建

Unity3D对目前主流的三维模型文件格式都具有良好的支持,本系统使用3DSMAX软件进行设备和场景的建模,并用PhotoShop进行材质纹理的处理[4]。当模型创建后,利用3DSMAX的导出功能将所有模型导出为.FBX格式,在导出时勾选嵌入的媒体项,这样所有的贴图就会一起导出。然后,将.FBX文件放置在Unity3D工程文件的Assets目录中,这样在Unity3D的Project视图中就能够找到包括模型与材质在内的所有的资源文件。

在布置所有的设备和场景之前,需要为模型创建Prefabs(预置体),它是一个对象及其组件的集合,可以在场景中被多次重复使用,即多个相同的对象可以使用一个预置实例化。例如创建一个发电机控制屏的预置就可以实例化多个发电机控制屏,这样可以减小虚拟场景的文件大小,从而提高虚拟场景下载到用户计算机的速度,提高整个模拟器的性能。集控室主配电板虚拟场景效果如图3所示。

3.2 实现对虚拟场景的控制

系统使用JavaScript语言编写脚本,当所有设备的数学模型分别用JavaScript语言实现后,保存为单独的.JS文件,然后将这些脚本文件附加到相应的模拟设备对象上,就可以实现对虚拟设备与场景的控制[5]。此外,系统提供了可以自由切换的自由行走和飞行两种漫游方式实现机舱漫游控制,让训练人员能够对整个机舱有更好的观察和了解,其中飞行模式的部分JS代码如下所示:

3.3 人机交互界面的实现

系统的图形用户操作界面由一个主界面和多个子界面组成,主界面中设置多个按钮引导用户进入机舱漫游、操作训练、参数设置等相关内容,除了机舱漫游需要由键盘和鼠标共同实现操作外,其它的图形用户界面均通过鼠标进行操作。Unity3D的图形用户界面由脚本实现,这些脚本必须写在OnGUI方法里,本系统OnGUI方法部分代码如下所示:

4 结束语

本文将Unity3D的虚拟现实技术引入到虚拟船舶电站模拟器的研究与开发中,进一步提高了船舶电站模拟器虚拟环境仿真效果的真实性,使得训练人员能够在单独的PC机上通过Internet进行更加真实的船舶电站模拟训练和学习,具有非常高的性价比。此外,本文研究讨论的关键技术可以应用于其它包括安全、医学、电子、科技等相关的虚拟现实与仿真等领域。

[1] 中华人民共和国海事局. 中华人民共和国海船船员适任考试人纲[M]. 大连海事人学出版社, 2006.

[2] 施伟锋. 船舶电站仿真系统软件人机界面的开发[J].机电设备, 2001, (1) :21-28.

[3] 周立民. 船舶电站模拟器系统的研究和实现[D]. 大连海事大学硕士学位论文, 2005.

[4] 阳化冰,刘忠丽,刘忠轩等. 虚拟现实构造语言[M].天津航空航天大学出版社.

[5] 王益斌. 基于Web3D虚拟船舶轮机模拟器实现方式的思考[J]. 中国水运, 2008, (7) :126-128.

Research on Virtual Simulator of Marine Power Station Based on Unity3D

Hong Qian
(Bohai Shipbuilding Vocational College, Huludao 125005, Liaoning,China )

By introducing virtual reality technology, this paper shows key technology, systematic structure,technical line and implementation scheme of virtual marine power station simulator using the latest professional engine Unity3D software .The simulator has many advantages, such as data precision, deeply impressive, web based and highly interactive. This software design can not only provide experiment platform for teaching, but also conveniently move to other kinds of practical application systems. It has a high application value.

marine power station; unity3D; simulator; virtual reality

TM621

A

1003-4862(2014)03-0053-04

2013-08-13

洪茜(1981- ), 女, 讲师。研究方向:船舶电气自动化。

猜你喜欢
模拟器数学模型电站
AHP法短跑数学模型分析
活用数学模型,理解排列组合
三峡电站再创新高
了不起的安检模拟器
盲盒模拟器
划船模拟器
低影响开发(LID)在光伏电站中的应用
对一个数学模型的思考
动态飞行模拟器及其发展概述
古塔形变的数学模型
河南科技(2014年5期)2014-02-27 14:08:47