船舶机舱交互漫游系统设计及实现

肖剑波 胡大斌 胡锦晖



摘 要: 船舶机舱环境设备众多、场景复杂、管系纵横交错,在此根据机舱训练需求,开展了基于虚拟现实技术的船舶机舱交互漫游系统研究。分析了基于网络的分布式系统硬件结构,并采用模块化设计方式,开展了系统软件设计,对系统工作流程进行了分析,并对漫游系统中虚拟人、操作手、视点等的矩阵变换进行了研究。试验结果表明,系统具有较好的沉浸感,可以满足船员舱室漫游、设备交互操作、联网训练的要求。
关键词: 虚拟现实; 机舱; 交互漫游; 联网训练
中图分类号: TN915?34 文献标识码: A 文章编号: 1004?373X(2017)16?0126?03
Abstract: Since there are multiple equipments, complex scenes and criss?cross pipes in the marine engine room, the virtual reality technology based interactive roaming system for marine engine room is studied according to the training requirements of engine room. The hardware structure of the distributed system based on network is analyzed. The modular design mode is adopted to design the system software, and analyze the system working flow. The matrix transformation of virtual human, manipulator and viewpoint in roaming system is studied. The test results show that the system has perfect immersion, and can meet the mariners′ requirements for engine room roaming, equipment interactive handling and networking training.
Keywords: virtual reality; engine room; interactive roaming; networking training
虚拟现实(Virtual Reality,VR)通过计算机图形学、人机交互等技术手段,依托计算机及立体眼镜、数据手套等外设构建逼真的三维化的虚拟环境,给使用者带来沉浸式体验,是目前研究的热点问题之一,已经逐步成熟并应用于游戏、广告宣传、军事训练、展示设计等方面,显示出强大的魅力[1]。相比于传统的实船或半实物仿真训练而言,基于虚拟现实技术的训练方式具有费用低、时间短、灵活性强等特点。船舶机舱环境设备众多、场景复杂、管系纵横交错,利用虚拟现实技术构建机舱复杂环境[2],实现机舱的三维可视化及漫游交互系统,对提高船员培训效率具有重要的现实意义。
1 机舱交互漫游系统设计
1.1 功能设计
船舶机舱交互漫游系统是以虚拟现实技术、人机交互方式构建的漫游系统[3],主要实现如下功能:进行第一视角漫游;机舱内部及船外自然环境仿真;操作提示语言显示及语音播放;系统文件记录功能;虚拟人与操控台碰撞检测功能;虚拟人、手等的实时姿态显示;操控台的指令响应;分布式交互仿真。
系统具有离线和联网两种使用模式:离线使用时,本系统独立运行,用户可对舰船内部舱室布局、设备、舰船外部进行直观地预览、评估,并可对设备进行操作控制,开展单系统、单设备独立训练;联网使用时,本漫游交互系统以联邦成员的形式加入到分布交互式仿真系统中,为岗位人员提供逼真的虚拟工作场景(包括设备的仪表显示等),同时,将岗位人员的操作信号发送到仿真系统中。
1.2 硬件結构设计
系统基于网络的分布式硬件结构,硬件组成包括:
(1) 计算机及网络设备。其功能是连接2台计算机构成小的局域网以实现相关计算。其中一台计算机完成左右目三维图像的实时生成,生成的图像信号输出到头盔显示器;另一台计算机为系统综合计算机,主要完成数据手套、6DOF运动跟踪传感器信号的采集、滤波、延时信号补偿、计算;船舶六自由度仿真模型解算;网络数据管理、双目同步等。
(2) 头盔式显示器。其功能是显示左、右眼成像计算机生成的图像,在人脑中合成立体感知。选用Proview SR80型头盔显示器。分辨率为1 280×1 024,视场角为53°(V)×63°(H),头盔显示器顶部后端安装有接收器,用于完成对操作者头部位置和姿态的跟踪,并可以通过旋钮调整头盔显示器瞳孔间距。
(3) 6DOF运动跟踪传感器。其功能是完成人的头和手位置、姿态数据的实时采集与传输。系统选用Flock of Birds六自由度跟踪器,包含2个发射器基座和8个跟踪器接收器。
(4) 数据手套(Data Glove)。其功能是完成手掌、手指、关节等部分的跟踪。选用Immersion公司生产的带有22个光纤传感器的数据手套,并且带有触觉反馈Cyber Touch。手套腕部设置有跟踪器的接收器,用于实时跟踪手腕部的运动和姿态。手套内包含22个光纤传感器,用于跟踪整个手掌22个位置的姿态。5个手指指端为触觉反馈装置,在给定激励的条件下,内附电机能产生幅值可调的震动,以模拟触觉反馈。
(5) Wand操作杆。其功能是完成空间无线交互功能。选用Wand操作杆,可以实现三自由度地磁跟踪,六键可编程交互。
硬件结构如图1所示。
图2为双人工作模式的船舶机舱交互漫游系统结构图,即两套单人工作模式联网构成。以类似扩展方式进行扩展,同时可以与其他仿真计算机等进行联网仿真。
1.3 软件模块设计
联网训练模式采用HLA1516体系结构,选用Vega Prime,DI?Guy作为三维仿真开发软件,基于Creator构建场景机舱布局、舱室设备等三维模型,通过Vega Prime实现场景模型的驱动控制及机舱外部自然环境等的渲染,运用DI?Guy实现往场景中添加特定行为的人物,并实现便捷改变虚拟人的服饰、颜色。系统软件包括场景显示模块、硬件设备输入模块、界面操作模块、人物显示与控制模块、数据通信模块、配置文件解析模块、提示信息模块、音响效果管理模块等多个部分,系统领域类图如图3所示。
2 系统工作流程及坐标变换
船舶机舱交互漫游系统是典型的人机闭环系统,工作流程如图4所示。
首先,人头部和手部的运动信号有运动跟踪传感器和数据手套测量。这些数据经过适当的处理后,通过网络发送到图像生成节点,计算生成相应的位姿变换矩阵,生成视点变换矩阵,进而生成显示画面以及手部的图像。另外操纵杆信号(位置和姿态),通过网络发送到图像生成计算机,用以驱动漫游者的运动。
2.1 手部运动矩阵变换
通过安装在数据手套腕部的6DOF运动跟踪器及数据手套可测量出手掌及小臂的全部运动参数,通过这些参数可以解算出手掌及小臂的运动。
假设在某一时刻手腕传感器的输出为[(xw,yw,zw,ψw,θw,γw)],则传感器坐标系[OwXwYwZw]到测量坐标系[OmXmYmZm]的变换矩阵为[4?5]:
3 试验结果
本文选用普通商用计算机作为实验平台,实现了机舱交互漫游系统的开发,结果表明:系统具有较好的沉浸感,可以满足船员舱室漫游、设备交互操作、联网训练的要求,仿真过程平均运行速率为30 f/s。图5为本系统试验虚拟手与操控台按钮碰撞检测响应结果图。
4 结 语
本文所研究的系统对数字化城市、数字化博物馆等研究具有一定的借鉴意义。系统存在如下不足:部分操控台及机舱设备的纹理真实度不高,有待进一步改进;在对舱室设备建模时,采用独立建模再综合集成方式实现,未消除部分遮挡面片,后续可以进一步改进以提高渲染速率。
参考文献
[1] 石教英.虚拟现实基础及实用算法[M].北京:科学出版社,2002.
[2] 逄守文,陈辉,陆畅.大型船舶虚拟机舱视景仿真系统的开发[J].船海工程,2005(5):5?7.
[3] 许轶超,陈辉,陈伟.基于虚拟现实技术的机舱漫游系统[J].交通与计算机,2003(1):9?12.
[4] 孙俊,商蕾.实时视景仿真技术在疏浚仿真训练器中的应用[J].计算机仿真,2004,21(7):136?138.
[5] 杨清文,郑义,王晓敏,等.火箭炮虚拟漫游系统的设计与实现[J].计算机工程,2010,36(2):262?265.
[6] 温转萍,申闫春.基于OSG的虚拟校园漫游系统的设计与实现[J].計算机技术与发展,2009,19(1):217?220.