主被动立体混合式虚拟现实实验教学系统的设计与实现
2015-07-25张春明杨天鸿王青顾晓薇贾蓬
张春明,杨天鸿,王青,顾晓薇,贾蓬
0 引言
矿业是传统产业,是国民经济的基础产业[1]。随着地球上矿物资源的不断开采和利用,开采深度和难度也在不断增加,迫切需要用新理论和新技术改造该行业,使矿产资源开发实现信息化、自动化、智能化,使矿山设计和决策科学化、现代化[2-3]。虚拟现实(Virtual Reality,VR)技术正是可资利用的一种技术。围绕矿山设计到矿山生产的整个周期,它可以为优化设计、技术决策、生产管理、危险性评价及人员培训等提供了一种重要手段。利用虚拟现实技术创建的矿山环境形象逼真,甚至可以达到以假乱真的程度,而且可以与人进行动态交互,因此,展现出巨大的优势和发展潜力。同样,在采矿实验教学当中采用虚拟现实技术,有助于我们构建“教与学互动、理论与实践结合、能力与兴趣共增”的创新型实验教学模式,推动教学实践,促进教学改革,丰富教学内容,激发学生创新兴趣、求知欲和学习热情,提高实验教学质量[4-10]。
东北大学采矿学科作为国家级重点学科,已逐渐形成了与现代信息技术紧密结合的新型学科发展方向。我们在采矿实验教学当中率先采用虚拟现实与数值仿真技术,开国内之先河,不但丰富了实验教学的内涵和手段,改善了实验教学效果,提高了实验教学质量,而且有利于激发学生的创新思维,提高学生的创新能力,为培养复合型人才服务[11-14]。到目前为止,已有一门课程被评为国家级精品课,3门课程被评为辽宁省精品课,30余项教学成果获奖,并且多次在全国多媒体课件大赛和辽宁省教育软件大赛上获奖。“采矿学教材建设”荣获2014年国家教学成果二等奖,其中由矿山虚拟现实与数值仿真中心负责的采矿数字模型和虚拟现实系统是采矿学教材建设的重要组成部分。中心研制的两套虚拟现实系统应用软件已正式进行国家软件著作权版权登记,并获得批准,另外两套软件也已提交申请。值得一提的是,我们培养的学生在各种大赛上屡有斩获,特别是采矿专业学生在2014年第四届全国高等学校采矿工程专业学生实践作品大赛当中一举囊括了全部一、二、三等奖。此外,1篇博士学位论文获全国优秀博士学位论文及国际罗哈奖(Rocha Medel)。
1 主被动立体混合式虚拟现实实验教学系统的设计
1.1 问题的提出
东北大学矿山虚拟现实与数值仿真中心早在2005年就从加拿大 MIRARCO矿业中心引进第一套协作式沉浸虚拟现实系统(CIVR)。作为本中心最早的虚拟现实实验教学平台,该系统曾在实验教学工作中发挥过重要作用。该系统属背投式双通道大屏幕立体显示系统,硬件包括配备NVIDIA FX 4500高性能显卡的 Dell图形工作站一台、4台ProjectionDesign F1+被动立体投影机、两台 Cyviz XPO2 Stereo 3D Converte立体信号转换器、一台帧同步器,一块荧光纤维幕布以及偏振滤光器和偏振光眼镜等。软件采用的是法国Nancy大学开发的三维可视化建模软件GOCAD。需要说明一点,尽管该系统采用基于OpenGL的主动立体技术,但受当时技术和成本等因素限制,没有配备主动立体投影机,而是通过立体信号转换器和帧同步器接驳了 4台成本相对较低的被动立体投影机。其立体显示原理如下:为了使用户真正沉浸于计算机生成的虚拟环境中,必须为同一帧画面分别生成供左、右眼观看的图像,并且利用帧同步器确保同一时刻左、右眼分别只能观看到同一帧画面对应的左、右眼图像。由于是双通道大屏幕立体显示系统,因此,还必须将画面切分为左右两个部分。这样一来,上下位置摆放的投影机分别用于投射左、右眼图像,左右位置摆放的投影机分别用于投射切割后的左、右两部分画面,也即是说,左上方投影机用于投射左通道左眼画面,右上方投影机用于投射右通道左眼画面,左下方投影机用于投射左通道右眼画面,右下方投影机用于投射右通道右眼画面。上述硬件设备加上配套的软件和人机交互功能,便构成一套完整的虚拟现实系统。尽管该系统采用被动立体投影设备,但由于该系统采用主动立体技术产生立体图像,故以下简称主动立体 VR(Virtual Reality)系统。
随着技术的不断进步,虚拟现实技术得到了飞速发展,功能也在不断增强。因实验教学和科研需要,中心后来又引进一套基于DirectX技术的虚拟现实系统软件平台作为过渡。该软件平台可以支持主动和被动两种立体显示模式。这样一来,围绕对原有系统的改造,就有了两种不同的方案。
第一种方案是将原有系统改造成双通道大屏幕主动立体虚拟现实系统,这需要将4台被动立体投影机更换为2台主动立体投影机,而这在当时也需要一大笔费用,况且原有的被动立体投影机的效果还不错,没有必须更换。此外,淘汰原有系统还会造成软件资源的浪费,比如原系统带的GOCAD软件因加密方式问题而无法在别的系统上使用。于是,我们最终放弃了这个方案。
第二种方案是利用新虚拟现实系统软件平台支持被动立体显示模式的特性,保留原有的全部投影设备,这样可以最大程度地发挥现在软硬件资源的作用。但一些新的问题也随之而来。比如原有系统不支持基于DirectX技术的立体显式技术,而且原有图形服务器已经有些落伍,因此,有必要新增两台图形服务器分别用于生成左、右眼图像。由于是双通道立体输出,因此,每台服务器配备了一块带双链路DVI和DisplayPort 端口的NVIDIA QUADRO 600图形显示卡。另外,还需要配两台融合机用于双通道融合。经过权衡,我们最终采用了该方案。采用新方案构建的虚拟现实系统以下简称被动立体VR系统。
剩下的问题就是如何将新系统和原有系统有机地整合到一起为实验教学服务。
1.2 主被动立体混合式虚拟现实实验教学系统的设计思路
首先,新旧两套虚拟现实系统各有4路信号分别输出至4台投影机,再加上用于监控的显示器,为此需要增加一台8×8视频矩阵切换器用于信号平稳切换。其次,被动立体VR系统的输出需经融合机融合后再输出到投影机,而主动立体VR系统的输出原本是直接连接到投影机上,故需修改主动立体VR系统的设置,将主动立体VR系统输出也经融合机融合后再输出到投影机。完整的主被动立体混合式虚拟现实实验教学系统组成原理图,如图1所示:
图1 主被动立体混合式虚拟现实实验教学系统组成原理图
2 主被动立体混合式虚拟现实实验教学系统的实现
与其他虚拟现实系统一样,主被动立体混合式虚拟现实实验教学系统也是由设备硬件和控制软件两部分构成。
2.1 硬件系统实现综述
硬件系统实现起来比较简单,只需依照图1所示的系统组成原理图将相关硬件连接起来就可以了,而3台服务器的鼠标和键盘控制可以通过KVM实现切换,实现也较为简单,不再赘述。此外,原主动立体VR系统的控制是通过一块类似 iPad的平板电脑实现的,但它不适用于整合后的主被动立体混合式虚拟现实实验教学系统,只能忍痛割爱。然而,因系统涉及硬件较多,若不借助于任何控制硬件或控制软件,就只能通过手动按视频矩阵的按钮或按钮组合来实现主动立体和被动立体两套虚拟现实系统之间的切换,同时需要用投影机遥控器人工开启或关闭投影机,如此等等,操作起来非常繁琐,影响系统演示效果。针对设备的统一操控问题,最简单的解决方案就是采购专业级中控硬件或软件,如Creston等。不过因其对硬件的兼容性要求较高,且无法与现有硬件设备兼容,加之成本高昂等关系,我们最终放弃硬件控制方式,转向寻求软件控制方式,具体实现方法参见后面说明。
2.2 软件系统实现综述
软件系统主要包括虚拟现实系统平台软件、应用软件和控制软件。由于这些平台软件和应用软件安装在各自的图形服务器上,互不干扰,因此,不做过多说明。这里的控制软件相当于整个主被动立体混合式虚拟现实实验教学系统的控制中心,可以用来控制相关的硬件设备,包括图形服务器、投影机、融合机和视频矩阵等。而我们面临的问题就是没有现成的控制软件可用,必须依靠自身力量从头开发一套集成控制软件,即多通道大屏幕主动被动立体混合式VR中控系统。
2.3 多通道大屏幕主动被动立体混合式VR中控系统软件的设计
2.3.1 为了实现设备的集中控制,必须建立统一的通讯标准,实现设备间通讯的标准化。
(1)视频矩阵支持RS232协议控制方式,可以直接使用。
(2)投影机同时支持TCP/IP和RS232两种协议控制方式,但厂家没有提供相应的技术资料,只有设备自带的ProjectionDesign ProNet.Site软件可用。投影机采用TCP/IP协议进行控制的好处是不需要重新铺设RS232通讯电缆线,而困难之处在于缺少相关控制码资料。不过,我们采用逆向工程成功解决了这个难题。
(3)对于其他自带操作系统,但没有相关控制协议可用的设备,如图形工作站和融合机,我们设计了一套完备的基于TCP/IP协议的自定义通讯协议,其中最常用到的指令包括主动立体VR系统和被动立体VR系统一键切换指令、系统一键关机指令、图形工作站关机指令和融合机关机指令等。
简言之,我们根据手头掌握的资料及实现难易程度,最终决定除了视频矩阵采用 RS232协议控制以外,其他设备全部采用TCP/IP协议进行控制。
2.3.2 采用TCP/IP作为主要的控制协议,涉及到为各种设备分配IP地址的问题。
由于各种原因,系统中不同设备虽然位于同一机柜中,但采用的IP地址并不处在同一网段,无法直接进行相互通讯和集中控制。例如图形工作站和投影机位于192.168.20..xxx网段,而融合机位于192.168.0.xxx网段等。增加硬件路由器固然可以解决这个问题,但我们采用的是独特的软件解决方案,无需专用路由设备即可实现通讯,具有很高的性价比。
2.3.3 为便于管理,统一对图形工作站进行编号。
本文假设被动立体VR系统使用的两台图形工作站分别为1号和2号工作站,主动立体VR系统使用的图形工作站为3号工作站,以下简称1、2或3号机。
2.3.4 中控系统软件的工作原理
首先将 3台图形工作站中的任何一台设置为服务端图形工作站,其余的均设置为客户端图形工作站。两者的区别仅在于服务端图形工作站通过一根 RS232电缆与视频矩阵的 RS232控制端口直接相连,而客户端图形工作站则必须利用基于TCP/IP协议的自定义协议,间接地通过服务端图形工作站来对大屏幕(投影机)进行控制。以下假设1号机对应被动立体客户端图形工作站,2号机对应被动立体服务端图形工作站,3号机对应主动立体图形工作站。
打开服务端图形工作站,服务端软件会自动开启全部的投影机,而点击服务端软件上的关闭系统按钮时会自动关闭所有的图形工作站、投影机和融合机,即所谓的一键关机。
当使用主动立体VR系统时,只需切换到3号机,然后启动虚拟现实应用软件即可。当使用被动立体VR系统时,只需切换到被动立体VR系统的虚拟现实平台服务端(可以安装到1号机或2号机上,此处为1号机),然后启动相应的虚拟现实应用软件。
2.4 多通道大屏幕主动被动立体混合式VR中控系统软件的实现
我们依照上述设计开发了多通道大屏幕主动被动立体混合式VR中控系统软件,包括“VR服务端中控程序”、“VR客户端中控程序”和“融合机服务端程序”。其中“VR服务端中控程序”必须安装到有 RS232电缆与视频矩阵相连的图形工作站上,“VR客户端中控程序”安装到其他图形工作站上,“融合机服务端程序”安装到融合机上。切记将这些程序加入到 Windows系统启动项中,以便开机时自动启动相应的程序。
2.4.1 VR服务端中控程序
程序启动成功后会自动收缩成一条线并默认停靠到屏幕左侧,将鼠标移至屏幕左侧边缘那条线附近,会自动弹出程序主界面,如图2所示:
图2 多通道大屏幕主动被动立体混合式VR中控系统之VR服务端中控程序
可以根据自己的偏好和需要,通过点击相应的停靠按钮“左”、“上”或“右”,将中控程序停靠在屏幕左侧、上方或右侧。
单击大号花体数字1、2或3,将分别切换到1、2或3号图形工作站,同时,显示器、大屏幕、投影机和视频矩阵将自动做相应的调整,使各种设备能够协调一致地工作,即分别将显示相应的图形工作站上的内容。
“投影机控制”功能组中4个LED灯分别对应4台投影机的状态,绿色表示已开启,红色表示已关闭,黄色表示状态未知。上方一排对应立体视图的左眼视图投影,下方一排对应立体视图的右眼视图投影。不过,服务端程序在启动的过程中会自动检测各投影机状态,并自动开启所有四台投影机,而不必逐一手动开启。本程序会自动根据网络状态延时开机,如遇局域网不通,则会提示无法获取投影机状态,同时自动延时开启投影机。为方便用户进行系统调试或手动控制每台投影机,“投影机控制”功能组中还设有一键开启所有投影机的按钮(位于该功能组右上方),以及分别开启左眼视图的按钮(位于该功能组上方一排LED灯中央的按钮)和右眼视图的按钮(位于该功能组下方一排LED灯中央的按钮)。“刷新投影机状态”按钮用于显示当前各投影机的开关状态。
“端口”组合框用于设置与视频切换矩阵控制端口相连的RS232串行端口,如COM1等。
“关闭本系统”按钮对应本系统的一键关闭系统功能。单击该按钮,屏幕提示是否真的要关闭虚拟现实系统。如果选择是,则系统将关闭,所有主要设备将自动关机。
位于服务端中控程序所在文件夹下的名为neuserver.zcm的文件为服务端中控程序的配置文件,其内容仅为一行,即指定几号机为服务端图形工作站。例如,2号机为服务端工作站,则该文件的第一行为2。
2.4.2 VR客户端中控程序
程序启动成功后会自动收缩成一条线并默认停靠到屏幕上方。将鼠标移至该线附近,会自动弹出程序主界面,如图3所示:
图3 多通道大屏幕主动被动立体混合式VR中控系统之VR客户端中控程序
其功能较VR服务端中控程序为少,但用法基本相同。
若要关闭系统,则必须首先切换到服务端中控程序所在图形工作站(如单击花体数字2切换到2号机),然后单击服务端中控程序的“关闭本系统”按钮,参见前面说明。
位于客户端中控程序所在文件夹下的名为 neuclie-nt.zcm的文件为客户端中控程序的配置文件,其内容仅为一行,即指定服务端图形工作站的IP地址,例如,服务端图形工作站(2号机)的IP地址为192.168.20.2,则该文件的第一行为192.168.20.2。注意:此处不是客户端本机的IP地址。
2.4.3 融合机服务端程序
我们针对硬件融合机开发了关机守护程序,实现了融合机的远程控制。因融合机未配备显示屏,因此需要通过远程控制将该程序上传至融合机,并将桌面上的“融合机服务端程序”加入到 Windows系统启动项中,下次开机时将自动启动融合机关机守护程序。
3 总结
在东北大学矿山虚拟现实和数值仿真中心原有双通道大屏幕主动立体虚拟现实实验教学系统(属于被动立体输出)的基础上,通过新增一套被动立体虚拟现实实验教学系统,并对原有硬件设施和软件系统进行系统升级改造,我们建成了全新的主被动立体混合式虚拟现实实验教学系统,实现了主被动立体两套系统的无缝整合。我们之所以在此保留被动立体投影功能,除了成本等因素外,还有一个原因就是主动立体虚拟现实系统刷新时会覆盖住某些类型的对话框和数据库窗口,造成操作困难,另一个原因则是新购进的虚拟现实平台部分SDK功能只有在被动式立体虚拟现实系统上才能正常使用立体功能。由此可见,保留被动立体功能非常必要。
主被动立体混合式虚拟现实实验教学系统涉及硬件设备数量较多,如果完全依靠人工进行切换,不仅费时费力,操作不便,而且影响展示效果,而利用我们研制的中控系统软件提供的一键切换功能,只需用鼠标点击即可轻松实现各系统之间的切换,并且可以实现电脑显示器、投影机(对应大屏幕)和视频矩阵设备之间的实时同步精确联动控制。目前系统已实现了设备的全网络化控制。
经过多年的实践检验,主被动立体混合式虚拟现实实验教学系统已在实验教学中发挥了十分重要的作用,在提高学生的工程实践能力和创新意识方面也取得了骄人的成绩。
[1] 王家枢.矿产勘查工作规律性初探(之二)[J].国土资源情报,2008,07:2-5.
[2] 古德生,周科平.现代金属矿业的发展主题[J].金属矿山,2012,07:1-8.
[3] 梁宵,袁艳斌,张帆,等.数字矿山应用及其现状研究[J].中国矿业,2010,09:94-97.
[4] 张鹏海,杨天鸿,刘洪磊,等.张马屯铁矿开采虚拟现实系统的建立及应用[J].金属矿山,2011,03:117-121.
[5] 陈磊.分析虚拟现实技术及其在采矿工程中的应用[J].内蒙古煤炭经济,2014,02:40-41.
[6] 伊志宣.数字化矿山技术发展及展望[J].矿业工程,2014,02:59-61.
[7] 冒立朝,高进远,彭伦等.数字化矿山建设及软件二次开发探索[J].铜业工程,2014,02:53-56,71.
[8] 栾忠志,黄晨,侯星野.露天煤矿数字矿山建设研究[J].科技资讯,2014,04:51.
[9] 刘同文,姚明朝,潘宝玉,等. 数字矿山建设的研究及实现[J].地矿测绘,2014,02:15-18.
[10] 钟宏,韩响玲,刘有才,陈国辉,张居华,尹翔.矿冶工程化学虚拟仿真实验教学中心“四位一体”建设模式的探索与实践[J].实验技术与管理,2014,09:10-13.
[11] T.H. Yang, P. Jia, W.H. Shi, P.T. Wang, H.L. Liu, Q.L.Yu.Seepage-stress coupled analysis on anisotropic characteristics of the fractured rock mass around roadway[J]. Tunneling and Underground Space Technology. 2014,7(43):11-19.
[12] 杨天鸿,黄龙现,王培涛,李永日.三维各向异性材料数值模型的计算方法[J].东北大学学报(自然科学版),2012,10:1479-1482.
[13] 杨天鸿,师文豪,于庆磊,等.巷道围岩渗流场和应力场各向异性特征分析及应用[J].煤炭学报,2012,11:1815-1822.
[14] 李杨,杨天鸿,刘洪磊,等.大安山煤矿三维可视化系统的建立及安全监测分析[J].采矿与安全工程学报,2014,02:277-283.