力触觉增强的虚拟现实工厂系统

2023-03-29 12:31徐文彪史洪岩
应用科学学报 2023年1期
关键词:力反馈触觉虚拟现实

徐文彪,许 驰,史洪岩,李 琳

1.沈阳化工大学信息工程学院,辽宁 沈阳 110142

2.中国科学院网络化控制系统重点实验室,辽宁 沈阳 110016

3.中国科学院沈阳自动化研究所,辽宁 沈阳 110016

4.中国科学院机器人与智能制造创新研究院,辽宁 沈阳 110169

虚拟现实技术的飞速发展推动工业的智能化快速升级。将虚拟现实应用在工业生产的关键环节,可以让操作者在虚拟工厂完成故障诊断和预测性维护等工作,直观体验错误操作可能造成的一系列重大安全事故,大幅降低错误诊断与维护造成的损失。目前,基于虚拟现实的智能工厂已成为信息通信技术与先进制造技术深度融合的典型代表。特别是边缘计算、5G 等技术的快速发展[1],支持虚拟现实的实时渲染和高速无线传输,加速了虚拟现实的应用部署。美国、德国、日本等工业发达国家都将虚拟现实作为未来竞争的关键技术手段,中国也在积极推动工业级虚拟现实技术的发展,越来越多的虚拟现实工厂走进了真实的工业场景。

学术界和工业界围绕工业虚拟现实的研究和应用开展了一系列工作。文献[2]介绍了基于数字双元虚拟工厂的概念及其体系结构,支持制造系统的建模、仿真和评估等场景。文献[3]介绍了一个开放架构的工厂建设工具,可以使用各种模块来快速实现从工厂布局到工厂流程分析的设计算法。文献[4]强调了虚拟现实在模拟数字工厂中的应用,介绍了基于虚拟现实的数字工厂工具开发。文献[5]面向汽车制造设计了多用户虚拟现实系统。文献[6]构建了虚拟维修操作交互场景,实现了桌面式的虚拟维修系统,能够满足日常装备维修训练的需求。文献[7]用Unity3D 技术构建了一个核事故实训演练系统,为机器人核探测工程作业的安全性和高效性提供了保证。文献[8]设计了一个虚拟现实工业产品设计展示系统,能够更全面直观地展示相关的产品和作品。文献[9]采用遗传算法实现车间布局优化,构造了基于3D 虚拟环境下的原型系统,有效提升了工厂规划布局的合理性。

然而,现有虚实空间交互的研究仍停留在多个虚拟模型之间,使操作者无法感受到虚拟模型的物理属性,难以获得沉浸感。触觉作为人类感知通道之首,能够反馈给人独一无二的材质属性信息。在日常生活中,可以通过触摸来准确获取物体的材质属性、轮廓、大小等物理信息。如果能够像真实世界那样触摸虚拟世界的物体,感受虚拟模型的材质属性、轮廓和大小等物理信息,将大大拉近虚拟与现实的距离[10]。

为此,本文设计了一个力触觉增强的虚拟现实工厂系统。该系统集成力反馈控制器、头戴式显示器和边缘计算服务器等硬件设备,并以Unity3D 为基础构建虚拟工厂空间模型,支持虚、实空间的“视触听”多维感知互动。为建立虚拟工厂的三维视觉模型,采用3DMax 模拟工厂内多种类型的工具和零部件;为增强立体化视觉效果,应用反射探针、光照探针等组件设计虚拟工厂的光照系统。进一步为虚拟工厂物体增加刚体、碰撞体、关节等组件,建立力反馈控制器与虚拟工厂物体的动态链接库,确立力触觉反馈模型,支持实时的触觉交互。最后,通过系统实验验证了虚拟工厂系统的有效性。结果表明:该系统可提供重力、摩擦力、恒力等多种力触觉反馈,支持对虚拟工厂中20 余种工具、零部件的触摸、抓取等触感操作。因此,该系统有望在未来支持工程师故障诊断和预测性维护、远程遥操作、数字孪生等创新应用。

本文的主要贡献如下:1)打破现有虚拟现实工厂系统仅支持单向操作的模式,并通过力反馈控制实现了对虚拟现实工厂物体的双向触觉交互。2)构建三维空间虚拟工厂模型,设计了具备模型自适应调节能力的光照系统,支持自由空间的360◦立体视觉感知。3)建立20 余种工具、零部件的模型,并赋予各种虚拟物体的物理轮廓、质感、质量等多维物理属性;设计了重力、摩擦力、恒力等多种力触觉感知的测试试验,实现了虚拟工厂内6 自由度的触碰、抓取等力触觉感知,支持人机实时动态交互。

1 系统设计

1.1 硬件设计

系统的硬件架构如图1所示,包括视听觉感知终端、触觉感知终端和边缘计算服务器。视听觉感知终端采用头戴式显示器,使用Unity3D 中的SteamVR 插件与头戴式显示器集成,为操作者提供三维视觉感知。触觉感知终端采用力反馈控制器,通过动态链接库与系统集成,为操作者提供多自由度的力触觉感知。边缘计算服务器为整个系统提供超强算力支持,运行系统软件,并完成三维视觉建模、渲染、实时计算等功能;头戴式显示器配备了高速无线网卡,支持与头戴式显示的无线通信。这样操作者通过穿戴头戴式显示器,可以在物理空间进行360◦自由转动,获得视听觉体验;通过操作力反馈控制器,可以与虚拟工厂空间进行实时互动,获得触觉体验。

图1 系统硬件架构Figure 1 System hardware architecture

1.2 软件设计

系统软件主要基于Unity3D 平台,并应用Photoshop、3DMax、Visual Studio 等图形图像处理软件综合完成。其中,Unity3D 为系统软件设计提供基础编程环境,支持多种格式的3D 模型导入,具备多种物理引擎和完备的函数库,能通过动态链接库将本系统硬件快速集成;Photoshop 用于虚拟工厂内物体模型的二维贴图制作;3DMax 是一款三维模型制作引擎,支持模型贴图和多种三维模型格式导出;本系统用3DMax 建立的三维模型导入Unity3D,并通过调整模型参数完成简单场景搭建;Visual Studio 是一个软件开发工具集,支持Unity3D的编程环境,可以直接调用Unity3D 函数库对Unity3D 场景中的环境和物体进行编程。

系统的软件架构如图2所示。在Photoshop 中制作虚拟工厂物体模型的二维表面贴图导入3Dmax,按照1∶1 比例建立模型后将二维贴图赋予三维模型的表面,根据虚拟工厂空间调整贴图位置和大小,确保外观更接近于真实的外观。将设计的三维模型导入Unity3D,以Visual Studio 编程软件编写C# 代码脚本,调用动态链接库来连接力反馈控制器函数库。在此基础上,编写虚拟环境中各种力反馈的效果以及与虚拟物体交互实现的代码,导入Unity3D场景中的对应物体,实现系统中力反馈控制器模型的控制、触觉反馈和交互等各种功能。

图2 系统软件架构Figure 2 System software architecture

2 基于Unity3D 的视触觉建模

2.1 视觉建模

系统的视觉建模以未来智能制造工厂为背景,包括一个加工维修车间和力触觉体验测试区。考虑车间内故障诊断与维护等任务,选取20 余种典型的工业设备、工具、零部件进行建模,构建了虚拟工厂原型。在车间外部搭建了力触觉体验测试区,用于测试不同的力反馈效果。该体验测试区包含如下虚拟物体:1)3 个相同材质、不同大小的金属球,用于测试不同的重力效果;2)3 个不同表面的板材,包括光滑金属板、木制板和水泥板,用于测试不同的摩擦力效果;3)4 个不同方向的立方体,用于测试不同方向的持续作用力。在此基础上,为建模的虚拟物体增加物理属性,支持对摩擦力、重力、恒力等不同的力反馈效果的测试和体验。

为增强视觉体验,设计并布置了一套光照系统,使虚拟工厂场景更加真实。具体来说,将3DMax 软件中建立的模型导入Unity3D,在场景中布置一束直射光作为整个场景的主要光源,将两个点光源作为辅助光源,并在室内环境布置反射探针与光照探针。反射探针采集周边物体的光照信息并反射到空间中,实现逼真的反射效果。光照探针将穿过场景空白空间的光线相关信息赋予所在空间,提高动态物体的光照质量。两种探针搭配使用,确保虚拟模型更加真实。考虑到视触觉实时渲染与碰撞监测需要消耗大量的计算资源,本系统采用Unity3D 的LOD Group 多细节层级显示技术,确保系统能够充分进行模型渲染与优化。具体来说,LOD Group 根据模型和视点的距离,可以自动调整模型渲染的精细度,即远距离渲染低精细度模型,近距离则渲染高精细度模型,从而减少模型渲染性能消耗,实现整体系统的性能优化[11]。系统的视觉建模如图3所示。

图3 视觉建模Figure 3 Visual modeling

2.2 力触觉建模

在虚拟工厂空间建立了多类型物体模型后,为了向物理空间的操作者提供力触觉反馈,需要赋予虚拟物体物理属性,使虚拟物体犹如在真实世界里一样受到万有引力的影响,能够发生碰撞、交互,为操作者提供力触觉反馈,获得真实的物理交互效果。为此,采用刚体、碰撞体等组件对虚拟工厂中的物体进行力触觉建模[12]。

2.2.1 刚体组件

刚体组件主要为虚拟空间物体赋予物理属性,使物体能够接受各种力的作用,控制物体的移动及速度,为操作者提供更真实的虚拟现实交互体验。为此,本系统采用刚体组件为虚拟物体模型赋予物理属性,使虚拟对象的行为方式能够受到力的影响。在移动时,模拟真实世界受到物理效果的影响,可以通过调整组件对应参数信息来改变物体的质量、阻力等物理属性。

2.2.2 碰撞体组件

碰撞体组件主要为虚拟空间物体提供用于发生物理碰撞的几何模型。虚拟模型需要根据不同的几何形态进行实时碰撞检测和物理属性的交互,于是采用碰撞体组件为虚拟物体添加碰撞几何模型,并根据几何模型的形态进行碰撞检测和计算。碰撞体与刚体组件配合使用,可以模拟真实的碰撞效果。碰撞体组件包括立方体碰撞体、球碰撞体、胶囊碰撞体、网格碰撞体等多种碰撞体。模型可以根据不同的需要挑选或搭配使用对应的碰撞体。精细化模型需要使用网格模型构建碰撞体模型,使碰撞体与虚拟模型对象的形状完全相同,碰撞计算更加准确。

2.2.3 关节组件

关节组件可以在虚拟空间将两个物体束缚在一起,形成特定的连接关系。为了使力反馈控制器与虚拟工厂空间中的任一物体连接起来并实现对虚拟空间的抓取等效果,本系统以关节组件建立物体的抓取和连接关系,主要是因为关节组件能够将一个对象的移动限制为依赖另一个对象,也就是将一个对象依附在另一个对象上。系统的力触觉建模如图4所示。

图4 力触觉建模Figure 4 Force haptic modeling

3 动态交互

设计虚拟空间的力反馈控制器和虚拟物体的交互机制,支持虚实空间的力触觉交互。力反馈控制器与虚拟模型的交互功能基于碰撞体组件和刚体组件实现,为虚拟力反馈控制器和其他可触摸的物体添加对应的碰撞体组件。为场景中所有可以提起的物体添加刚体组件,使其具有物理属性;相反,所有未添加刚体组件的物体只可触摸交互,不可进行抓取交互。在每帧的函数执行过程中,根据碰撞体与虚拟空间中接触物体的状态获取并存储详细数据,进而调用相应函数,实现实时碰撞检测和抓取等功能[13]。交互流程为图5所示。

图5 交互流程Figure 5 Interactive process

3.1 触摸交互

碰撞体组件实时获取力反馈控制器尖端(触控笔尖)的当前位置和所接触对象等信息。当检测到可触摸的物体时,触控笔尖的碰撞体组件读取并存储接触到的虚拟物体信息;然后调用力反馈控制器的弹簧力锚点设置函数,为当前笔尖位置设置一个弹簧力锚点。其中的弹簧力是指将触控笔尖固定在锚点位置后、触控笔尖离开锚点时所需要的反向作用力。在此基础上,调用力反馈控制器的弹簧力配置函数来设置相应的弹簧力;再为物体添加表面材质信息,可以设置弹簧力的大小,支持模拟表面由柔软到坚硬的不同材质效果[14]。

3.2 抓取交互

在触摸交互的基础上,通过实时监听力反馈控制器的状态函数获取力反馈控制器按钮的状态信息,以便进行抓取交互。当按下按钮时,调用抓取函数。在设置弹簧力锚点的位置添加一个固定关节组件,并将组件中关节连接对象参数自动设置为与触控笔尖接触的虚拟物体。此时,将所接触到虚拟物体的刚体组件赋予触控笔尖,使触控笔尖获得接触对象的物理属性,并将该属性受到的物理影响实时反馈给力反馈控制器。同时,力反馈控制器根据其物理属性参数将受力情况反馈给操作者。操作者按住按钮时,可以抓取虚拟物体进行旋转和移动;松开按钮时,停止调用抓取函数,移除触控笔的刚体组件,使触控笔尖与触摸的虚拟物体中间的固定关节组件断开。

4 系统实验

4.1 系统设置

系统采用HTC VIVE pro 头显、3D System Touch 触摸式力反馈控制器以及边缘计算服务器搭建,并配置PCIeWiGig 无线网卡,实现与头戴式显示器的无线串流,支持视觉建模、渲染等高性能计算。服务器配置如下:处理器为Intel®CoreTMi7-10700@2.90 GHz,显卡为NVIDIA Geforce RTX3070,内存为32.0 GB,操作系统为64 位Windows10。开发环境为Unity3D 2019.3.2f1。经过模型建立、硬件设备集成、代码植入以及系统界面设计,力触觉增强的虚拟现实工厂系统效果如图6所示。

图6 力触觉增强的虚拟现实工厂系统Figure 6 Virtual reality-based factory system with enhanced haptics

4.2 系统界面

力触觉增强的虚拟现实工厂系统的主界面如图7所示,主要包括设备检测和进入虚拟触觉工厂场景功能。通过编写C# 脚本,为检测力反馈控制器按钮和检测头戴式显示器按钮添加单机事件,分别在单机时初始化力反馈控制器设备与头戴式显示器。若初始化成功,则显示就绪状态。若两个检测按钮皆为就绪状态,则“进入触觉工厂”按钮变为可点击状态,否则该按钮不可点击,此时点击“进入触觉工厂”按钮,系统将自动加载至虚拟工厂场景,加载场景功能使用Unity3D 场景切换函数来实现。

图7 系统主界面Figure 7 System main interface

4.3 系统测试

系统搭建完成后,对双向虚拟现实触觉交互效果进行测试。

1)在力反馈测试区测试不同材质物体的力反馈效果。在虚拟工厂外设置3 个力反馈测试点如图8所示,可以直观体验到重力、摩擦力和恒力,其中最大力反馈效果作用力达到3.3 N。图(a) 模拟重力测试,在提起图中3 个不同大小的金属球时能感受到这3 个球具有不同的质量;图(b) 模拟摩擦力测试,在3 个平板滑动时能够感受到由光滑至粗糙的表面带来的不同大小的摩擦力;图(c) 模拟恒力测试,当处于不同方向的立方体中时,会感受到上下左右4 个不同方向的持续作用的力。

图8 不同力测试Figure 8 Different force test

2)测试力反馈控制器对虚拟工厂车间内工具和零部件的触摸和抓取能力。操控力反馈控制器,触摸虚拟工厂中的工具和零部件,可以感受到不同工具零部件的不同材质属性和模型轮廓。在抓起工具和零部件时能够像抓取真实物体一样感受到物体的质量,并且能够与虚拟物体进行空间内任意方向平移和旋转的6 自由度交互操作,完成将虚拟工具嵌入工具槽、虚拟零件圆孔插入等一系列精细化操作,如图9所示。

图9 精细化触摸和抓取操作Figure 9 Refine touch and grab operations

3)测试力反馈控制器与虚拟物体交互的稳定性和准确性。操控力反馈控制器抓取虚拟工厂中的某一工具并持续一段时间,在持续抓取过程中,力反馈控制器始终能够稳定反馈力触觉效果,并且依然能够在持续抓取一段时间后将虚拟零件准确地嵌入工具槽以及插入圆孔。

5 结 语

本文设计了虚拟现实工厂系统的软硬件,实现了力触觉增强的虚实同步操作,使得操作者可以沉浸式地在虚拟工厂进行准确、稳定的双向触觉交互,解决了现有虚拟现实工厂只能依靠头戴式显示器和手柄进行单向的视、听觉虚拟操作问题。该系统将在工程师培训、设备故障诊断与维护、危险环境的模拟操作等发挥重要作用。

猜你喜欢
力反馈触觉虚拟现实
唤起人工触觉 实现“意念控制”的假肢
基于模糊神经网络的电液力反馈伺服控制技术的研究
一种三维力反馈训练仿真控制系统设计
基于磁流变液的线控转向力反馈装置探究
食的触觉
REALITY BITES
风口上的虚拟现实
虚拟现实技术向科幻小说借灵感
力反馈技术水墨扩散仿真
触觉设计在产品设计中应用研究