潘旭东 关靖添 霍 红 闫纪红 高胜东 荣伟彬
哈尔滨工业大学机电工程学院 黑龙江哈尔滨 150001
随着第四次科技革命的到来,涌现出很多新技术。具备自动化、智能化,提高存储效率及存储空间利用率的云存储技术和具有虚实结合、实时交互的AR技术受到了研究者的重视。
云存储是分布式存储技术与虚拟化技术结合在一起的高科技产物。它的工作原理和工作内容同云计算十分相似。在1990年波音公司的Tom Caudell首次提出了“Augmented Reality”这一词汇。1997年Azuma等研究人员认为AR应该包含3个准则:虚实结合、实时交互和三维注册[1]。AR技术在实际物理环境视图中包含虚拟元素,以便实时创建混合现实[2]。一个完整的AR系统通常由4部分组成:摄像机跟踪定位、虚拟模型渲染、三维注册和系统显示[3]。
机械制造工艺课程设计是机械设计制造及其自动化等相关机械类专业本科学生必修的实践性课程,是安排在修完相关专业课程(尤其是机械制造技术基础课程)之后的一次综合性实际演练。对培养学生的专业能力、加深对专业知识的理解起到了重要作用[4]。对于工科院校机械类专业的本科生,顺利完成机械制造技术的课程设计对学生深入理解和运用前序课堂教学内容有着重要意义。
传统的机械制造工艺课程设计教育存在着一些不足,主要体现在以下3个方面:(1)教学质量不稳定,指导教师的工艺知识及经验直接影响学生课程设计的质量;(2)教师的重复性工作量大;(3)学生的重复性工作量也大,工艺设计过程中,学生需反复查阅大量相关的表格[5]。
目前,国外学者Martin-Gutierrez等人利用增强现实技术教学内容三维展示的特点为工科学生实践培训开发了一款AR应用程序[6]。国内在机械工程相关课程的实践教学中,大连理工大学进行的AR技术辅助工程训练教学研究较为有代表性[7]。以上研究探索了AR技术在实践教学中应用的可行性,证明了采用基于AR虚实结合的手段可以辅助实践教学,在此基础上进一步探讨和深入。
2017年笔者曾研究并开发了一套基于AR技术的机械制造工艺课程设计教学辅助系统开发[8]。考虑到移动终端的数据存储容量和系统调用的问题,其未实现多套零件和夹具的展示,同时对模型的文字信息描述不足。因此,在此基础上引入AR云存储技术,开发出一款基于云存储技术的机械制造工艺课程设计移动AR教学软件,实现了模型的云端存储,因此可提供多套零件和夹具的展示,提高了软件响应速度,减少内存占用。同时采用Easy Touch 插件,对模型的行为控制更加准确。增加课程准备新模块,进一步丰富软件文字内容,提高软件在教学中的实用性。经过测试和实践教学应用,证明该系统使用方便,减少了学生的负担,提高了学生对知识的理解程度,达到了辅助教学的目的,深受学生好评。
软件设计主要考虑以下几点:第一,软件必须完成现实环境和虚拟三维造型的叠加融合,达到功能完整性;第二,摄像头对目标图像的捕捉定位必须准确,避免出现叠加偏移的情况;第三,要使摄像头快速捕捉到目标图像并通过计算机匹配识别,渲染出虚拟三维造型,必须保证虚拟物体叠加到真实环境后运动的流畅性,做到不卡顿,动作自然连贯;第四,由于程序要广泛应用于Android平台,要保证程序可以在Android4.0及以上版本稳定运行,同时要避免程序崩溃、程序闪退、文件缺失和损坏等情况。
软件系统采用图形化的人机交互界面(如图1所示),从软件功能上分为课程准备平台和AR展示平台。其中,课程准备平台又包含3个模块,分别为分配题目、课设信息和零件分析。AR展示平台包含2个模块,分别为零件模型和夹具体装配模型。
从软件运行流程上分为信息输入、融合显示和人机交互3层。信息输入模块主要包括用户进入主菜单后对功能平台的选择和在AR展示平台中对目标图的识别和模型预处理;融合显示模块为软件进行跟踪注册摄像头位置并完成叠加显示的功能;人机交互模块为学生根据需求对软件进行操作。
图1 软件总体框架演示图
如表1所示,本软件集成开发环境为Unity3D,利用C#脚本完成图形用户界面和数据文件的编写。采用HiAR SDK作为软件开发包,运行系统选择适应性好的Android平台。在建模方面,选择三维造型软件Solidworks,并通过3ds max将模型转化为.fbx格式后再导入Unity3D中进行AR开发。
表1 开发平台与工具
软件开发主要应满足课程的教学需求,同时兼顾学生的使用习惯和要求,学生可以根据课程进度和个人需求自行进行选择。根据课程进度,软件的课程准备平台和AR展示平台的开发流程和功能将在下文中说明。
平台主要完成文字信息的展示,帮助学生完成课程设计的预处理。如图2所示,平台包含分配题目、课设信息和零件分析3个模块。其中,课程设计信息分为综合课程设计介绍、设计及绘图注意事项2个子模块;零件分析包含零件功能和工艺分析2个子模块。
图2 课程准备平台流程演示图
分配题目模块由一个Button控件和一个Text控件组成,实现题目的随机分配;课程设计信息模块和零件分析模块均用Canvas控件作为底板,选用Image控件作为文字内容的容器,并将文本信息编辑好后植入容器中;课程设计信息模块通过Toggle Group控件实现Text控件中信息的显示与隐藏;零件分析模块由Input Field控件实现在Text控件中搜索并显示的功能。课程准备平台的实现如图3所示。
图3 课程准备平台演示图
基于云存储的AR展示平台主要完成零件及其夹具的AR模型展示,其流程如图4所示。
图4 AR展示平台流程演示图
该平台需要对图纸的信息、真实环境中的信息进行三维注册,将计算机生成的虚拟信息叠加应用到真实环境,利用传感技术和显示设备将虚拟信息和真实环境统一在一个画面或空间内,从而实现对现实环境的增强,达到超越现实的感官体验,加深学生课程设计中对复杂零件的认知,达到自主学习的目的。
2.2.1 云识别服务的构建
云识别服务采用了HiAR SDK及其云存储模块。其主要构建步骤为,登录HiAR管理后台创建图集及应用(如图5所示),将得到AppKey/Secret输入至HiARCamera的脚本文件中完成应用与软件的关联。在HiAR官方网站管理后台中选择图集,关联应用,将图集中的图片作为软件的识别图进行应用。
图5 Camera与应用关联示意图
2.2.2 识别图与模型的上传
图6所示为识别图上传界面。每个识别图都有自己的TargetID用以区分,图片上传后可以看到图片的可识别度星级,该星级越高说明图片可识别性越高。
图6 识别图上传界面
完成零件脚本编辑并打包为Android平台的数据包。在项目目录中找到压缩包,在管理后台选择零件对应的识别图。如图7所示,在设置AR内容包下点击设置,在目录中找到数据包,点击上传即可完成数据包的上传。
图7 云平台上传的数据包示意图
2.2.3 旋转 缩放 剖视等功能的实现
零件旋转和剖视分别借助Quick Swipe和Quick Tap组件实现。通过手势操作实现零件的旋转、缩放和剖视功能并可展示零件参考信息。运用Easytouch插件识别单击、双击、滑动等手势(如图8所示)。
图8 零件模型及旋转、剖视图展示
2.2.4 多图识别功能的实现
开启多图识别后,软件通过调用摄像头可同时识别多个图,即可完成多个虚拟模型的叠加,扩展程序的功能。同时显示2个零件,比较其作用、工艺的差异;同时识别零件和其对应工序的夹具,提高对零件和夹具的理解;同时识别夹具和夹具的工作动画,对夹具的工作原理有更深刻的理解。如图9所示,为开启多图识别功能后,可同时识别2个零件、展示2个零件,还可同时操作2个零件。
图9 多图识别展示图
软件开发后运用到了教学中,经过教学实践证明,该软件对于机械制造工艺课程设计的教学具有良好的辅助效果。学生普遍反映,通过该软件能够提高对于零件和夹具的认知程度,提高夹具设计的效率(如图10所示)。
图10 教学实践应用
为了帮助解决机械制造工艺课程设计教学过程所面临的学生理解困难、效率低等问题,提高教学质量及学生学习兴趣。研究并开发了一套利用智能手机终端的基于AR云存储技术的机械制造教学软件。该软件利用云存储技术,解决了移动终端数据存储问题,减小了软件容积,增强了软件的功能,实现了易于更新的特性。软件可实际应用于机械制造工艺课程设计的教学中,辅助学生完成课程设计准备工作和实现零件的AR展示。学生通过对零件的直观了解做出工艺流程的安排和后续特定工序夹具的设计。软件的使用可以有效地辅助机械制造工艺课程设计教学的进行。