APP下载

虚拟环境下面向装配培训的人机交互技术

2018-08-31张孙嘉姚寿文

兵器装备工程学报 2018年12期
关键词:操作者虚拟环境手册

袁 伟,郎 璞,张孙嘉,赵 洁,姚寿文

(1.中国人民解放军驻318厂军事代表室, 北京 100053;2.内蒙古第一机械集团有限公司,内蒙古 包头 014032;3.浙江工业大学 计算机科学与技术学院(软件学院), 杭州 310014; 4.北京理工大学, 北京 100081)

沉浸(Immersion)、交互(Interaction)和想象(Imagination)是虚拟环境的三大特点,即所谓的3I。沉浸性是指虚拟环境给人提供声临其境的感觉。交互性是指参与者与虚拟环境的沟通。想象性是指虚拟环境应能用于解决工程实际问题,即开发的虚拟环境可满足于某种应用需求[1]。其中,交互是实现人在虚拟环境的沉浸感以及知识探索的重要条件,是虚拟现实为用户提供体验、走向应用的核心环节[2]。交互一般指通过手、身体、声音、触觉、味觉等和虚拟环境的交互,以及虚拟环境也提供给人声音、视觉、触觉等反馈。人与虚拟环境的交互是通过特定的输入设备,如Data Glove数据手套、LeapMotion手势捕捉装置、Kinect动作捕捉、眼球追踪装置等作为输入,计算机将计算处理过后的数据信息以图片、视频、声音等多种渠道反馈给使用者。

Valve公司、Facebook公司和微软公司分别开发的HTC Vive系列头盔显示器、Oculus rift系列头盔显示器和微软公司的HoloLens集成全息头环,是目前主流的虚拟现实输出设备。HTC Vive和Oculus rift利用双目立体视觉原理,左右两个透镜分别渲染图片,并通过高精度陀螺仪定位头部位姿,能够给佩戴者提供高沉浸感的体验,而这些输出设备的驱动程序需要使用渲染引擎进行程序开发及调试,目前常用的渲染引擎有Unity3D、UnReal4和OSG等。

面向装配培训与传统CAD的装配相比,人性化的人机交互是重点,即在虚拟环境中,应当通过直接操作零件和自然语言命令完成装配操作[3],且应包含培训人员与待装配对象(包括零件拾取、零件信息显示)的交互以及与装配培训过程中对应的信息输出两个方面。人机交互中不仅需要输入设备及算法,电脑及虚拟环境的反馈和信息显示也是至关重要的部分,可以基于文字和特征表示的增强信息为用户提供装配知识来引导装配操作[4]。目前,应用虚拟装配技术进行一些培训方面的研究[5],但缺乏良好的交互性。此外,目前的虚拟培训重点关注的是培训人员与待装配对象的交互,即培训人员用手或工具拾取零件进行装配这种交互,而装配对象通过碰撞检测、参数匹配等手段对能否装配以及装配难易对培训者的反馈则相对缺乏,更不用说,电子培训手册与培训者的交互了。

1 面向装配培训交互平台框架

装配培训人机交互中除了人与装配对象交互外,还需要人与电子手册的交互,即提供基于文字和特征表示的增强信息为用户提供装配知识来指导操作者进行装配操作。在虚拟装配中,之所以应用虚拟环境是为了追求极高的沉浸感,良好的沉浸感包括人的感官体验和认知。从认知角度出发,人与环境若有足够的交互手段将场景中的信息直观显示给用户,除了提升用户体验,还可以增强用户的培训效果,达到事半功倍的效果。

采用硬件进行数据输入,硬件本身的性能指标基本决定了最终所能实现的功能。考虑到实际装配过程中是通过手和工装装配零件,因此应该选择具手势识别功能的设备作为硬件输入,并配合工装工具的模拟以提高装配的真实性和增强交互性。目前,应用的手势捕捉装置有三维数据手套[6]和LeapMotion手势捕捉装置[7-8]。其中,三维数据手套配套设备复杂、成本高并且没有较好的二次开发接口,LeapMotion手势捕捉装置价格便宜,且可与HTC Vive头显设备装配为一体,并且有支持各类开发平台的工具包,也是今年来人机交互的研究重点。本文的交互设备包含HTC手柄、LeapMotion及定位装置,输出设备为HTC Vive头显及配套设施。由于HTC Vive提供了大量支持Untiy3D的源码和资源。因此,本文采用了Unity3D作为程序开发和渲染引擎。图1为虚拟装配培训交互平台数据的流向图,包括人机交互硬件及软件及各组成的功能。

2 虚拟手与零件交互技术

2.1 基于LeapMotion的手势数据采集

人手是装配操作者最重要的交互装配手段。人手是一个灵活而复杂的多肢节系统,由手掌、手腕和手指组成。手上的骨头共有27块,为8块腕骨、5块掌骨和14块指骨,骨之间由不同的关节连接,关节具有移动自由度或转动自由度,使之可以做屈伸、收展或旋转运动,如图2所示。

本文选取LeapMotion作为装配操作时人手捕捉输入工具,主要原因是:首先,LeapMotion配备了双摄像头,采用立体视觉原理,除了捕捉目标外,还可通过实时计算目标的视差,实现空间物体的坐标定位。其次,在捕捉手的空间图像数据后,LeapMotion对目标进行过滤,实时返回操作者双手各29个关节点的空间位置坐标(如图2圆点的位置数据),并以齐次四阶行列式的位姿矩阵保存,可供使用者的后续程序开发。同时在检测算法上,LeapMotion采用了跟踪前检测(Track-Before-Detect:TBD)技术,实现了捕捉到手的图像后,在手消失在摄像头之前,LeapMotion都可以准确跟踪并捕捉手的数据。因此,LeapMotion可以满足真正意义上人手拾取零件,模拟产品的实际装配过程。

2.2 培训者手势判断方法

工人在实际装配中,利用不同的手势拾取工具或零件,通过人手拾取工具辅助或利用人手完成相应的装配操作。因此,虚拟手抓取虚拟物体是关键,如文献[9-13]对虚拟手手型及抓取等相关问题进行了研究。一般而言,操作者在装配过程中手的变化主要是各个手指的弯曲角度以及骨骼关节点的相对位置关系。例如,操作者做出一个抓取的手势时,图3中所有的5个指节都会发生弯曲,每一节指骨的指向都呈现一个特定的角度。手捏取时,除了指骨关节有角度弯曲之外,食指和拇指的第一节之间的空间位置也会近似重合。其他的各类手势也类似,骨节的角度和骨节的位置都会发生改变。手掌翻转时,手掌平面的法向量也会发生改变,方向与指节位置相关。手势判断是装配培训工人与虚拟环境交互的关键,但仅凭LeapMotion提供的接口函数实时返回操作者手部各个关节点的空间位置坐标,计算机是无法判断当前操作者采用的是何种手势以及手势是否合理,因此需要研究手势的判定方法。

根据以上分析,本文对LeapMotion采集的骨节数据进行处理,获得手势的基本判断数据:

2) 手指特定骨节之间的空间距离,

为提高LeapMotion采集数据处理的鲁棒性以及消除计算误差,为了保证虚拟环境中手势抓取物体的稳定性,本文研究了常用的几类抓握零件手势,并进行分类,通过虚拟环境中虚拟手抓握物体的实验,设计了相应的阈值,建立了判定条件,实现满足装配需求的手势基本功能。

如图4所示,操作者在进行操作时,LeapMotion实时捕捉到了手的位置数据,计算三类数据,根据实验设定好的角度和位置阈值判断抓握是否合理,且当手满足抓取姿势且手指(哪个关节)关节点位置与零件位置接近时,零件抓取要求满足,零件被拾取,此时零件将伴随手的移动而移动,若手势不能满足阈值条件,则零件被释放,手与零件分离。

同理,对手势、点选、托举等进行分类,定义各类手势所对应的手指骨节的相应弯曲角度以及阈值,并与对应的响应函数进行匹配,可以实现多种手势识别及功能。

2.3 手型建模

在虚拟场景中,虚拟手的形态和实际手的形态越一致,操作者的沉浸感越好,越能让操作者置身于装配操作培训中,越能提升虚拟培训的价值。为了逼真的复现人手,本文使用骨骼蒙皮模型建立虚拟手手型,并采用骨骼动画的方式实现手指、手掌和关节等手部动作的模拟。

骨骼蒙皮(Skinned Mesh)是一种应用于3D模型动画的技术。3D模型动画的基本原理是让模型中各顶点的位置随时间变化,主要有Morph动画,关节动画和骨骼蒙皮动画。从动画数据的角度来说,三者都采用关键帧技术,即只给出关键帧的数据,其他帧的数据使用插值得到。

骨骼蒙皮动画可以解决关节动画的裂缝问题,且具有非常好的网格随动效果。骨骼动画的基本原理可概括为:在骨骼控制下,通过顶点混合动态计算蒙皮网格的顶点,而骨骼的运动相对于其父骨骼,并由动画关键帧数据驱动。骨骼是模型运动时的主要运动变换节点,骨骼决定了模型整体在世界坐标系中的位置和朝向。蒙皮则是一个网格化绘制的物体整体模型。骨骼蒙皮设计的关键是网格模型中各个关键节点和各个骨骼绑定的权重。如图5所示,红色曲线表示骨骼以不同的权重影响着周围网格模型节点的位置。当骨骼的位置发生变换时,整个网格模型也会随之改变外形。

在程序运行时,根据LeapMotion捕捉到的关键骨骼节点位置坐标,以设计好的权值对骨骼位置进行实时更新,虚拟环境中虚拟手外形效果如图6所示。通过上述方法最终实现在虚拟环境中虚拟手对操作者手势的模拟复现功能。

3 虚拟环境下电子手册交互设计方法

交互式电子手册(Interactive Electronic Technical Manual,IETM)综合应用了计算机技术、专家系统、数据库管理和多媒体信息表示等先进技术,将内容丰富的技术资料有机地组织管理起来,充分利用计算机与人的交互能力,以声音、图像、影像、文字等方式生动准确地展现产品的各种技术信息,为训练、使用和保障活动提供有效的技术支持。然而,目前人与电子手册的交互还是以键盘为主或触屏技术实现交互,培训者缺乏直观的感受,对结构和原理的理解主要以文字为主,造成学习效率不高,操作繁琐。

许多传统的虚拟环境人机交互方式过于单一,信息传递方式有限,触发条件的激活仅仅依靠硬件按钮或鼠标点击,场景、物体都只能提供一个画面展示的效果,因此达不到良好的沉浸感,使得装配过程体验不佳。本文从信息显示和操作输入两个角度出发,利用计算机图形学相关知识,进行虚拟环境内界面设计和操作平台开发。

3.1 基于HUD技术的实时信息显示

在虚拟环境中进行装配时,场景中存在许多零件,许多零件功能近似、尺寸接近,仅靠外形难以进行区分,即便在实际装配中也需要对零件进行匹配确认后再进行装配,因而在虚拟环境中需要有一个在装配过程中能够显示被拾取零件信息的机制。此外,限于目前碰撞检测技术和触觉反馈技术的制约,虚拟环境中装配时的零件及装配特征不匹配无法直观通过感觉体现,且对装配错误和参数不匹配等装配错误也无法通过直观的感觉体现,因此需要提供一个能够对操作者进行信息提示的交互界面。

HUD(Head Up Display)技术是一个从军事领域起源的技术,最初运用在航空器上的飞行辅助仪器中,能将影像直接投射在飞行员的头盔前方,飞行员可以不需要低头就能够看到所有重要资讯,并且无论头部如何移动,图像一直投射在视角正前方。在虚拟环境中,操作者也是佩戴着头盔进行操作,操作过程中头盔所处的位置和视角也会不断发生变化,将HUD技术原理应用到虚拟环境当中,将装配相关信息投射在眼前,可以实现装配过程中信息资讯实时显示。

HUD技术提供随视角而变换位置且视距固定的显示界面,关键在于求取显示界面的空间位姿矩阵和确定信息显示内容。头盔作为虚拟场景中相机节点的定位基础,可以通过其内部的高精度陀螺仪获得头盔视点的空间位置和方向。当视距确定以后,可以通过数学推算获得信息面板的位姿矩阵,具体参考文献[8]。

3.2 虚拟环境中操作者与电子手册交互设计

在虚拟环境中进行虚拟装配,操作者的目的不同,使用意义也不同。对于研发人员来说,对虚拟样机进行装配可以检验设计上的一些缺陷,以及分析装配可达性。而对于维修人员,则是起到训练的功能,如大型机械和重型装备的维修训练,使用实物进行训练,实际条件难以满足,成本高,因此虚拟环境的使用是很好的选择。在虚拟环境中为装配培训和教学提供电子指导手册,以图文说明、影像资料及演示动画等信息在虚拟电子屏上向使用者展示,可以充分满足相关人员的自学要求。

交互电子手册主要由以下组成部分构成:交互式虚拟按钮,在虚拟环境中模拟实际操作按钮用作输入操作。虚拟显示屏幕窗口,模拟大屏幕进行零件图片和装配教学视频的显示。资源和响应管理器,存储视频图片资源并接受按钮响应控制资源的显示输出。交互按钮的开发主要考虑到与虚拟手之间的触碰响应和功能函数映射,因此每一个按钮都有自身的碰撞包围盒用于和虚拟手进行碰撞检测,根据包围盒的穿透深度来确定按压程度,当按钮完全按下之后,该按钮绑定的功能函数被调用。

本文中的交互式电子手册实现了装配培训教学功能,可以在虚拟环境中展示实际装配过程图及播放教学视频。操作者可以根据教学图片和视频进行虚拟环境中零件装配操作。图7是使用电子手册进行装配培训的示例,可知在虚拟环境下操作与实际操作保持了一致,教学直观,训练效果显著。

图8是电子手册交互操作的截图,可以看到当手掌面朝操作者时,在虚拟环境中会调出一个交互式操作面板,可以用虚拟手对面板上的按钮操作,从而控制电子手册屏幕内容的显示。

4 结论

本文建立了面向交互装配培训的技术流程,为更好满足装配培训人机交互需求,针对手势捕捉装置LeapMotion所提取的数据,研究了手势识别判断和响应功能,采用了HUD技术实现了装配过程中装配信息实时显示,并研究了电子手册的交互方法。

构建了包含手势捕捉装置LeapMotion、HTC Vive头显和虚拟场景的渲染引擎Unity3D的人机交互平台系统;采用了LeapMotion作为虚拟环境输入的硬件设备,根据特定节点之间的距离和节点连线所在向量,研究了手势划分;使用骨骼动画技术重构手模型,根据捕捉到的人手关键节点的位置驱动虚拟手模型,实现了虚拟手的空间运动,满足了虚拟环境装配培训人手的交互需求。为了更好地满足装配培训人机交互性需求,应用HUD技术实现了虚拟培训环境下培训信息的输出显示,开发了基于虚拟面板交互操作的电子手册,更好地提升了装配培训效果。

猜你喜欢

操作者虚拟环境手册
前庭刺激对虚拟环境三维空间定向的影响及与空间能力的相关关系
超声检测颈总动脉内中膜厚度的操作者内及操作者间可重复性研究
如何通过虚拟环境有效管理Python第三方库
浅析汽车制造业人机工程标准
动画广告设计中虚拟环境的构建方法与运用
论高校思想政治教育网络虚拟环境的特征
理论联系实际的政策机理分析
School Admission择校
兔兔自杀手册
School Admission择校