徐弘基,孙 俊,商 蕾
(武汉理工大学 能源与动力工程学院,湖北 武汉 430063)
增强现实(Augmented Reality,简称AR)是一种结合虚拟化技术再来观察世界的方式,通过计算机系统提供的电子化信息增加用户对现实世界的感知,将虚拟的信息应用到真实世界,并将计算机生成的虚拟物体、场景或系统提示信息叠加到真实场景中,从而实现对现实的增强[1]。如果用一个轴的两端来表示虚拟和现实的关系,那么增强现实则是更靠近现实一端的混合现实技术[2]。
增强现实技术作为近年来快速发展的一项新技术,在教育、医疗、制造、娱乐和航天等领域广泛应用,其可以帮助观察者更全面地了解背景,获取信息,扩充知识的独特优势也越来越受到教育工作者的青睐,特别是在实验教学和职业培训上有着巨大的应用潜力[3]。
本文探讨的“基于增强现实技术的船舶实验系统”属于新的尝试,通过运用增强现实技术达到帮助轮机员和学生更加广泛深入理解船用设备的工作原理和结构特征。
增强现实船舶实验系统的架构图见图1,该系统是基于智能手机的增强现实应用软件,具有AR模式和深度学习两个功能模块。AR模式是通过可交互的三维模型和文字、视频、动画等虚拟内容扩增实验教学提高教学的质量。深度学习即是本地学习,充分利用手机的便携性,使用者可以随时随地通过手机调用系统库里的模型进行设备操作训练,深化学习效果。同时对于使用者每一次操作都会被后台监测记录,评估系统将得出操作评分和生成评估报告。
图1 系统框架
增强现实应用的开发工具主要是3D开发引擎和AR软件开发工具包(SDK)。目前,市面上流行的3D引擎有:Unity3D,Unreal4,Cryengine等,不同的引擎有各自的优缺点。基于Unity3D强大的跨平台能力,便捷的开发方式和优秀的性能,选择Unity3D作为本次开发的开发平台,对于简单轻量的功能要求,Unity3D内置的大量组件能够满足需求,而对于复杂的功能需求,通过编写C#脚本实现。要实现增强现实功能需要借助AR SDK(Augmented Reality Software Development Kit),相关的SDK有:EasyAR、太虚AR、HiAR和VuforiaSDK,这些AR SDK工具包均能实现基本的增强现实功能开发,其中功能最完善最稳定的是Vuforia SDK,将其作为Unity3D的扩展包,能在Unity3D中的进行功能开发。以Unity3D加Vuforia SDK的组合能够快速开发具有增强现实功能的应用软件。
标识图是AR系统最基本的道具,AR设备通过标识图特征点的识别来锚定虚拟元素和标识图的空间关系。系统所使用Vuforia SDK提供的Target Manager在线工具快速制作标识图,用户可以根据自己的需求选择本地数据库还是在线云数据库。考虑系统识别图量级和船舶工作环境,故决定采用本地数据库[4]。
在Target Manager中制作标识图,Target Manager会将图像的线条特征转化成能够被识别的自然特征点。将制作好的标识图数据包下载为Unity Editor格式导入Unity3D中。
将船用设备的三维模型放置于Image Target目录下,成为其子物体,这样三维模型和标识图形成强匹配的位置关系。
1)操作设置。该系统是基于智能手机的增强现实应用,主要的交互手段是触屏和虚拟按键。触屏操作通过Input.touchCount获取操作时的触摸点,系统根据触摸点设置了一套操作方式。虚拟按键是增强现实特有的交互方式,用户通过对现实世界的一些手势操作影响应用程序,达到增强现实的交互体验。其原理是在摄像头拍摄的画面中,当虚拟按键下的图像信息被人为遮挡从而触发按钮事件[5]。
2)拆装逻辑。船用设备的拆装维修是轮机员必须要掌握的技术,错误的拆装顺序不仅无法完成拆装往往还要对设备造成损坏,因而严密的拆装逻辑是系统的关键一环[6]。在Unity3D中编写C#脚本实现拆装逻辑顺序,只有正确的拆装顺序和在规定的时间内完成操作才能获得较高的评价。
该系统与半实物的轮机模拟器和桌面式PC端的操作评估都有所不同,在增强现实环境下考虑到手机的计算能力和交互方式必须对评估过程进行相应的优化。对于设备的每一项拆装要求,都分解成若干个“操作”和“性能参数”,所谓“操作”即是完成要求所需要的步骤,“性能参数”用来反应操作过程中相关状态的变化。无论是“操作”还是“性能参数”均以变量的方式描述,每一个“操作”或者“性能参数”对应一个变量[7]。项目开始前,输入难度要求和时间限制,操作时,记录变量值并用于评估计算。设置以下4个变量记录用户的操作。
变量设置:
1)部件描述VA:描述操作涉及的部件。
2)变量类型VB:布尔型,整型或者浮点型。
3)变量值VD:布尔时true/false,整型和浮点型时具体的数值。
4)操作时间VT:该项操作所用时间。
某个船用设备的拆装过程,评估其规定时间内拆装时间分(对应操作熟练程度)和拆装操作分(对应操作正确程度)来确定总成绩。
1)计算总分S。对于某个船用设备,一共有m项操作项目,各个项目在整个操作过程中的重要性不同,总成绩由各项目加权得到,而每一个拆装项目中操作时间和操作步骤在该项目中的重要性不同,该项目的成绩由时间分和步骤分加权得到。总成绩的计算公式如下:
(1)
Wpi+Wti=1,i=1,2,3,…,n,
(2)
(3)
式中:SPi是第i项拆装项目的操作分;Wpi是其操作步骤对比操作时间的权重系数;STi是第i项拆装项目的时间分;Wti是其操作时间对比操作步骤的权重;fi(Ti)是第i项拆装项目完成评估函数;Ti是第i拆装项目的实际操作时间;Wi是第i项拆装项目与其他项目相比的权重系数。
所涉及到权重系数采取经验拟定的方法,选取具有代表性的好、中、差三组人员进行拆装操作,结合现场专家打分反复修正各个权重系数,直到能适应不同水平的人员使用,并且评估成绩与专家评分基本一致。
2)完成评估函数。对于第i项拆装项目是否完成,由单点隶属函数fi(Ti)判定。
(4)
(5)
式中:Tik是第i项拆装项目第k个操作的时间;Tm是完成第i项拆装项目的最大时限;Ti是在第i项拆装项目中实际的操作时间。当Ti≥Tm时,操作超时,该项成绩为0;当0 3)操作时间分。对于第i项拆装项目的操作时间分具体计算如下: (6) (7) 式中:Yik是第i项拆装项目第k个操作的操作时间分;Yiks是第i项操作项目中第k个操作的时间基础分;Yikv是第i项拆装项目的标准操作时间;VTik是第i项拆装项目第k个操作的实际操作时间,Tsi和SPi包括式(6)中Xiks和Xikv均是全局变量,根据评估要求在评估开始前设置。评分规则是在标准时间之前完成,则取得最好成绩,在标准时间之后完成,时间偏差越大,则分数越低。 4)操作步骤分。对于第i项拆装项目的操作步骤分具体计算如下: (8) (9) (10) 式中:Xik是第i项拆装项目中第k个步骤的操作得分;Xiks是第i项拆装项目中第k个步骤的操作基础分;Xikv是第i项拆装项目中第k个步骤的标准“性能参数”;当第k个步骤的类型是“操作”,变量类型是bool,完成第k个操作后,VDik=true,Xik=1取得最好成绩Xiks,未完成相关操作,VDik=false,第k个操作不得分。当第k个步骤的类型是“性能参数”,变量类型是int或float,评分规则是实际操作过程中的“性能参数”偏差标准“性能参数”越大,即是VDik-Xikv越大,得分越低。 以系统中“船用往复泵的拆卸”为例,展示AR模式下设备拆装,验证评估系统的准确性。拆装要求“按照正确的拆装顺序将往复泵拆卸至螺丝级”,拆卸时间5 min。点击“开始”按键开始计时,点击“完成”,拆卸结束。 对于“船用往复泵的拆装”项目,按照要求完成操作,系统内全局变量Yikv、Xikv、Wti、Wpi等均已设置,但可以根据实际需求在数据设置中下拉选出对应的全局变量做出修改。当难度设置为70时,评估得分要达到70以上完成项目要求。时间限制300 s内,超出该时限,该拆装项目自动结束。初始化界面见图2。 图2 初始化界面 该系统已经成功识别往复泵的剖面图,并在上面叠加三维模型,见图3。 图3 使用效果图 在规定时间内,学生完成了拆卸操作,系统根据记录的变量值进行计算,得出最终评分,生成详细的评估报告,如图4。学生可以浏览评估报告改进在操作中的失误。从评估报告中获知最终得分86,难度设置70,故通过该拆装项目的评估。从明细中可以了解每一个步骤的得分,操作量和标准量差值。 图4 评估报告 本文将增强现实技术与船舶实验教学相结合,开发了一款基于移动智能设备增强现实教学应用,使得学员和轮机员只要拿出手机用摄像头对准船用设备的剖面图,与之相关的可交互模型,视频解说等扩增内容就会叠加在镜头中。这种新颖的方式极大的提升了学员和轮机员的学习兴趣,有助于掌握专业知识,提高业务能力和设备管理水平。 当然,该系统还有局限性。以智能手机为平台,计算能力受到限制,对于大型船用设备无法处理,只能将其分解成数个小系统;交互依靠手机触屏完成,受制于屏幕大小和容易出现触点误差,无法进行精细化操作。但随着科学技术的不断发展,AR设备不断革新,未来在船舶领域将有更广阔的开发应用空间。 [1]王巍,王志强,赵继军,等.基于移动平台的增强现实研究[J]. 计算机科学,2015,42(S2):510-519,549. [2]李苗.AR:场景互动神器[M].北京:中国社会科学出版社,2016. [3]徐剑坤,杨乾龙,杨乾霞,等.增强现实技术在采矿工程实验教学中的应用[J]. 实验室研究与探索,2013,32(2):136-139. [4]王志强. 基于移动增强现实的虚拟机械臂系统研究与实现[D].邯郸:河北工程大学,2015. [5]吴亚峰.VR与AR开发高级教程:基于Unity[M].北京:人民邮电出版社,2016. [6]吴先哲. 虚拟现实技术在船舶动力舱设备装配过程中的应用研究和实现[D].厦门:集美大学,2016. [7]张巧芬,孙建波,史成军,等.新型轮机仿真平台实操考试自动评估算法[J]. 哈尔滨工程大学学报,2014,35(6):725-730.3 实例分析
3.1 初始化设置
3.2 使用效果
4 结束语