面向工程训练的混合现实技术开发与应用

2020-07-08 03:06顾鸿良朱文华孙张驰
上海第二工业大学学报 2020年2期
关键词:减速机实物眼镜

顾鸿良,朱文华,蔡 宝,孙张驰

(上海第二工业大学 工程训练中心,201209上海)

0 引言

混合现实技术(Mixed reality)是虚拟现实技术(Virtual reality)[1]的进一步发展。它是技术组合,不仅提供了新的输入方法,还提供了新的虚拟影像的呈现方式。该技术通过混合现实眼镜等硬件设备,在用户看到的现实场景中叠加虚拟场景的信息,在现实世界、虚拟世界和用户三者之间,搭起互动和反馈的信息回路,实现虚拟场景和现实环境相结合的使用体验。

对于虚拟现实技术在工程训练中的应用,国内外已多有探索和研究[2]。本文借鉴前人在虚拟现实方面的研究成果[3],在减速机拆装教学课程中,结合增强现实技术,利用混合现实眼镜实现虚拟信息和实物拆装操作相融合的训练过程。通过构建丰富的交互方式和交互反馈,达成多感官沉浸的学习体验,提高学生的思考能力和实践能力,同时也为学生提供主动探索和互动交流的机会。

1 技术路线介绍

将混合现实技术应用于虚实结合的工程训练中的技术实现路线如图1所示。

图1课题研究的技术路线Fig.1 Technical roadmap of the research

实现步骤如下:

(1)画面采集。通过混合现实眼镜上的摄像机采集用户对现实世界的视觉画面,将画面数据传递给眼镜中的增强现实引擎进行处理。

(2)标识定位。通过增强现实引擎对采集画面中的“标识图”(本案例为贴在减速机轴承端盖上的校徽图标)进行特征识别。根据标识图的大小和变形等特征,推算出现实中标识图相对于摄像机的位置和角度,从而定位设备整体的位置和角度,并计算出设备每个零件的位置。

(3)叠加虚拟信息。制作虚拟设备的零件模型、标牌、参数等指导信息。根据上一步骤中得到的实物设备零件的位置,将这些信息摆放至虚拟空间中和实物一致的位置。

(4)投影虚拟画面。通过眼镜上的微型投影仪,将虚拟信息投影到用户眼前以45°安装的折射镜片上,使得用户产生虚拟信息叠加在现实中的场景和设备上的错觉。

2 开发环境和开发工具

2.1 硬件载体:混合现实眼镜ActionOne

采用影创科技有限公司的ActionOne混合现实眼镜作为硬件载体。该眼镜视场角(可在镜片上投影虚拟影像的范围)为45°,单眼分辨率720p,摄像头为1 300万像素,操作系统为Android。这款国产眼镜在市场中属于中端产品,可以满足虚实结合的工程训练的教学需求。同时其相较于进口产品(如Hololens)售价较低,也使得面向工程训练的混合现实教学方案有了较高的费效比和经济上的可行性。

2.2 三维建模工具:SketchUp

制作虚拟设备的首步是通过三维建模软件对设备进行建模。三维建模软件的种类很多,本文使用SketchUp作为三维建模软件。SketchUp又称为草图大师,是由Google公司开发的一款三维辅助设计软件。其主要优点是简单易用,建模快速,即见即得。即使缺乏建模经验的学生,也能通过短时间的培训快速上手。

需要注意的是建模过程中的尺寸控制。为了后期将虚拟模型和实物模型进行拟合时虚拟模型能够正确地“套”到实物模型上,建模时必须严格以“1单位=1米”的比例,按照实物模型的尺寸和结构来进行建模。SketchUp中建立的减速机模型如图2所示。

图2建模软件中的减速机模型Fig.2 The reducer in modeling software

在用于机械和工程制图方面的建模软件中,虽然UG和AutoCAD专业性更强,但是SketchUp使用门槛低,泛用性好,可以说是“性价比”最高的三维建模软件。

2.3 虚拟仿真互动:Unity3D虚拟现实引擎

Unity3D是由Unity Technologies公司开发的跨平台专业虚拟现实引擎。利用Unity3D,用户可以快速实现自己的游戏设计或虚拟互动应用,创作出精彩的2D或3D仿真交互内容。在虚拟现实和游戏行业,尤其是手机游戏行业,Unity开发的应用占据着相当大的市场份额。

2.4 特征图像识别:Vuforia增强现实引擎

Vuforia增强现实引擎是一系列的静态链接库。以扩展包的形式作为SDK导入到Unity中,实现基于Unity平台的特征图像和特征物体的识别、定位等功能。这些功能可以根据需要随Unity打包发布到iOS、Android和UWP等平台。因此,“Unity+Vuforia”搭配方案非常适合使用Android系统的ActionOne混合现实眼镜。

3 教案设计与虚实结合课件开发

3.1 教案设计步骤

(1)确定本教案中所使用的教学设备(工业减速机),以及设备的拆装步骤和需要学生掌握的知识点。

(2)在详细设计阶段,参考文献[3]的设计思路,将整个设备的拆装教学,从逻辑上分为拆卸上箱体、低速轴、高速轴和下箱体等4大步骤,每个步骤中包含若干子步骤。

(3)设计每个步骤中需要显示的虚拟模型和动画,以及向用户提供的虚拟指导信息,形成“教案”。

(4)设计单个步骤表现方式和的互动方式。当用户进入某个教学步骤,则根据“教案”,在实物设备上投影虚拟模型和动画,以及拆装操作的指导信息。完成该步骤的操作后,用户可以凝视虚拟空间中浮动的“下一步”或“上一步”按钮,跳转到下一个教学步骤继续学习,或返回上一步骤进行温习。

3.2 三维建模软件进行建模

通过测量实物工业减速机及减速机的二维图纸,可以得到每个设备零件的具体尺寸参数。根据这些参数可以在SketchUp软件中简单快速地建立减速机的虚拟三维模型。

SketchUp在建模工作中生成的.skp模型文件,可以直接被Unity识别并导入虚拟场景中,无需其他软件进行转换。

3.3 Vuforia增强现实引擎进行识别图定位

本文所列举的混合现实技术开发应用案例是通过硬件设备投影虚拟的三维模型,使得用户在视觉上产生虚拟模型和现实中的实物模型叠加在一起的错觉,借此实现虚实结合的工程训练的教学目标。这个过程中最大的难点是硬件设备中的程序需要知道实物模型在“虚拟空间”中的位置。此“虚拟空间”以混合现实眼镜的中心点为笛卡尔坐标系的原点,用户鼻尖方向为坐标系正Z轴方向,头顶方向为正Y轴方向。由于在教学过程中用户会作出移动、观察、摆放等操作,“虚拟空间”本身,会随着用户头部的运动而移动、旋转。因此,程序不仅需要识别实物模型在“虚拟空间”中的位置和角度,还必须随着用户头部的运动随时更新。

本文的技术实现方式是在实物模型上粘贴标识图片,使用Vuforia增强现实引擎识别前置摄像头捕捉到的画面,计算画面中标识图片相对于摄像机的位置和角度,即可得到实物模型的位置和角度。如图3所示,实物模型上粘贴的圆形标记即为用来识别的标识图片。

图3叠加在实物减速机上的虚拟减速机Fig.3 The virtual reducer superimposed on the real reducer

识别函数定义如下:

public void OnTrackableStateChanged(

//当跟踪状态发生变化时触发事件

TrackableBehaviour.Status previousStatus,

//事件发生前的跟踪状态

TrackableBehaviour.Status newStatus

//事件发生后的新跟踪状态

){···};

其中,TrackableBehaviour.Status类型,包含 3种枚举值,分别是:DETECTED-表示跟踪对象丢失;TRACKED-表示识别到跟踪对象;EX-表示识别到多个跟踪对象般来说这也是种异常状态)。

得到实物模型的位置和角度信息后,执行程序即可通过混合现实眼镜,将虚拟空间中的虚拟模型通过投影叠加到用户现实视觉中实物模型所对处的位置。图3的上方为用户佩戴混合现实眼镜观察实物模型,左侧为眼镜前置摄像头拍摄到的实物模型画面,右侧为用户透过混合现实眼镜镜片所看到的实际画面,白色的虚拟模型叠加到了用户视觉中实物模型的位置。

3.4 标识图定位的技术难点

在使用Vuforia增强现实引擎对标识图进行定位并将定位信息应用到混合现实程序的实际操作过程中,会遇到两个技术上的难点。

难点1:Vuforia增强现实引擎对标识图进行识别时,对标识图在前置摄像机画面中的大小有一定的要求。标识图太小或离得太远,很容易造成标识图的“丢失”。

为了应对这个问题,程序会自动记录标识图“丢失”前最后一次有效识别的位置和角度信息。并且让虚拟模型保留在这个位置,“假装”识别图还在那里。由于“虚拟空间”会随着用户的头部运动而移动和旋转,程序还需要通过混合现实眼镜的位移传感器捕获用户头部的运动信息,将位移和角度变化通过相应的计算,叠加到标识图留下的位置角度信息上。

难点2:在标识图逐渐远离至“丢失”前的几帧,由于其在画面中越来越小,特征越来越模糊,往往导致Vuforia引擎识别出错误的角度信息,使得模型扭向一些不正常的角度。而为了应对难点1,这些不正常的角度将在标识图“丢失”后被记录下来,导致叠加在实物模型上的虚拟模型角度不正确。

为了应对这个问题,程序在运行中会记录当前时间到1 s之前(30帧)的所有角度信息,并对这30帧数据进行实时分析。根据不同帧之间角度变化的速度、方向等,自动判断那些出现角度“跳变”的数据。若这些数据出现在标识图的“丢失”点附近,则舍弃这些错误数据,选择“跳变”出现前的最后数据为标识图的角度信息。

3.5 使用Unity编写立体视觉和交互流程

混合现实眼镜的成像原理是通过在用户左右眼中投影同一个虚拟物体不同角度的画面,从而产生立体视觉。因此,在虚拟空间坐标原点的两侧分别部署两台摄像机,以模拟用户的左右眼。两台摄像机间隔68 mm(人眼的平均瞳距),每台摄像机采集到的画面通过一个单独的渲染通道渲染至1张720p的贴图中。然后将这两张贴图分别显示到混合现实眼镜的左右眼投影中。

混合现实眼镜在使用过程中的操作方式和传统的三维游戏有很大区别。最显著的区别是用户无法使用键盘鼠标在三维虚拟空间中进行选择、点击、拖动等操作。为此我们开发了适用于混合现实眼镜的“凝视”操作方式,其实现方式如下:

(1)在坐标原点正Z轴方向(用户头部鼻尖方向)延伸出一根不可见的射线。通过这根射线和其他虚拟物体进行碰撞检测,一旦有物体被射线“拾取”,程序就认为用户正在“凝视”此物体。

(2)当用户“凝视”的时间足够长(超过1.5 s),程序即自动触发此物体的“点击”事件。至于物体被“点击”后执行哪些操作(显示信息、被拖动、进入到下一个教学步骤等),则写在这些物体各自的OnClick事件脚本中。

通过这种“凝视”机制,在负责事件触发的EventTrigger类中添加了两个自定义句柄IPointer-EnterHandler和IPointerExitHandler,借此三维场景中的每个可触发物件都获得了两个相关的自定义事件,其定义如下:

void OnPointerEnter(PointerEventData eventData)

//当用户的“凝视”触碰到此物体时,触发事件

void OnPointerExit(PointerEventData eventData)

//当用户的“凝视”离开到此物体时,触发事件

通过这两个事件,程序可以明确用户当前有没有“凝视”对象以及对象是谁。实现了用户在虚拟三维空间中操作物体和进行交互的功能之后,可以根据之前设计的教案,编排用户的整个互动教学流程。

在本案例中,通过在虚拟空间中设置“上一步”和“下一步”的按钮,用户使用“凝视”对相应的按钮进行触发,发送“点击”事件给按钮。按钮在各自的事件处理脚本中根据收到的OnClick事件,判断当前所在的教学步骤处于教案的哪个环节,并跳转到下一教学步骤或返回上一个步骤的操作。

3.6 混合现实项目制作中的注意事项

混合现实眼镜的成像原理是在用户的目镜前设置一块半透明的折射透镜,微型投影仪投射的光线通过透镜折射到用户眼中。由于其成像原理的制约,混合现实眼镜无法投影“黑色”到用户眼中。即虚拟物体和信息的不透明度受其使用的颜色亮度的制约。亮度越高(越接近白色)的颜色,其不透明度越高;亮度越低(接近黑色)的颜色,不透明度也越低,纯黑的物体无法被显示。受这一特点的制约,在教案设计和建模过程中,在各种虚拟物体和信息的配色方面,需要多加考虑。越是重要的物体和信息,在设计时赋予其越明亮的颜色,不太重要的信息则可以使用较深较暗的颜色。

3.7 打包并部署到混合现实眼镜

本案例制作过程的最后一步是将制作好的项目工程文件编译为可执行文件,并复制到相应的硬件平台上运行。所使用的混合现实眼镜ActionOne所搭载的操作系统是Android,因此需要在Unity中将制作好的工程打包为apk文件,并复制到混合现实眼镜中进行安装。

3.8 教学应用测试

图4学生进行教学测试Fig.4 Teaching test with students

虚实结合的减速机课件开发完成后,招募8名学生进行了小范围的测试,如图4所示。测试显示,所有学生都可以在无人指导的情况下,根据程序的教学和提示完成减速机的拆装操作。其中最快的学生用时5 min 30 s,最慢的学生用时12 min 55 s,平均完成时间为9 min 45 s。

由于受设备数量和疫情的限制,未能实现更大规模的测试。现有的小范围测试结果显示,这种教学方式可以适应无辅导、离散式的自主教学需求,可以为后疫情时期的实践类课程授课提供探索和借鉴。

4 优势和不足

本文研究的基于混合现实的虚实结合的工程训练教学,不同于常规的虚拟现实应用实践,并不着眼于用虚拟设备弥补硬件设施不足,或避免实践操作的危险。这种虚实结合的教学方式的意义,对学生来说在于实现实践类课程的自主学习、远程学习;对学校来说则在于实现无辅导教学、无需集中示范教学。经过实践和测试,证明这种虚实结合的教学方式,可以实现学生自主学习,满足无辅导、无示范、不集中的教学要求。

当然这种教学方式也存在不足之处。首先混合现实眼镜,即使是国产品牌也属于价值较高的设备。在使用、保管、责任人认定,以及批量配置所需的成本等方面,都会对这种教学方式的推广和部署造成很大的限制。其次,机械装置在装配过程中,往往会存在一定的装配误差。如何发现并消除这些误差是实践训练过程的重要考核指标。但就目前的混合现实眼镜的测量精度来说无法观测出实际装配中存在的误差,这只能在教案设计和文字说明中尽量弥补。

5 展望和愿景

近几年来,虚拟现实技术在教育领域的应用越来越广泛。2013年,教育部开始认定国家级虚拟仿真实验室建设成果[4-5],大批高校开始建设虚拟仿真实验室。混合现实技术作为虚拟现实技术的延伸方向之一,在工程训练中有相当大的应用价值。其虚实结合的特点相比传统的教学方式,在可视化、交互性方面有巨大提高[6]。

2020年,全球多国爆发了新冠疫情,对正常的教育计划和教学秩序产生了严重冲击。为了控制疫情,多地停工停课,教育方式多转向网络授课。由于工程训练等实践类课程具有极强的操作性和实践性,教师教学过程中需要集中示范和手把手地操作指导,这使得实践类课程的教学目标与为了抗击疫情而实行的在线授课等教学方式之间,产生了难以调和的矛盾。而本文所研究的基于混合现实的虚实结合的教学方式,为新冠疫情下如何更有效地完成实践类课程的教学目标,提供了探索和研究的思路,有望在不远的将来,成为多媒体现代化教学的有力补充。

猜你喜欢
减速机实物眼镜
氢气压缩机振动原因及解决措施
沙坪洗煤厂减速机的可靠性分析
眼镜布不是用来擦眼镜的
浅论加强实物档案管理工作的策略
从天而降的眼镜
班主任进行实物分析的实践路径
神奇的眼镜