基于实时装配状态感知和直观性交互的虚拟现实辅助维修训练
2021-03-22姚寿文胡子然柳博文常富祥栗丽辉
姚寿文,胡子然,柳博文,丁 佳,常富祥,栗丽辉
(1.北京理工大学机械与车辆学院,北京100081;2.河北翼凌机械制造总厂,河北石家庄050305)
装备维修训练是装备全寿命管理的重要环节[1]。机械装备一般结构复杂,装配流程长,维修方式多,而实体样机通常体积和质量较大,故实装维修训练操作困难、成本高,对装备的损伤大,存在较大的安全隐患[2]。虚拟现实具有沉浸感强、直观性好、交互便利的特点[3]。利用虚拟现实技术辅助维修训练,可在虚拟环境中复现维修训练情况,具有高沉浸感,不受时间和空间的限制,可大大提高维修训练的效费比和承训量。
维修是使装备保持或恢复到规定状态的一系列活动。典型的维修活动包括7个步骤:准备、诊断(故障检测及隔离)、更换(拆卸及安装)、调整及校准、保养、检验和原件复原[4]。由于拆卸及重新安装的时间在整个维修事件所需时间中所占的比重最大,而其他维修活动难以在虚拟环境中实现,所以目前的虚拟维修主要研究零件的拆卸及安装过程[5]。现有的虚拟维修训练系统主要通过动画的形式进行拆装过程演示,未考虑到零件之间的连接和定位关系,无法确定零件装配的正确位置。如:杨俊超等[6]设计的航空装备虚拟维修训练系统虽然具备航空装备维修流程和零件拆卸与装配、故障分析与排除等功能,但零件的拆装是通过动画的自动播放来演示的;杨兆坤等[7]基于“美腾通用平台”,提出了一种沉浸式虚拟维修训练系统的开发方法,虽然在Unity3D软件中建立了基本维修科目,形成了训练流程,但零件装配过程是通过操作者点击按钮播放动画来展现的。这些系统都未建立限制零件运动的零件之间的约束关系,无法展现实际的拆装过程。
在装备维修训练中,零件数量繁多、型号规格类似、空间布局紧凑且其特征复杂[8]。在实际的维修训练中,教员会对学员的维修操作进行指导,学员也可以通过维修手册学习维修知识。所以,在虚拟维修训练中,须开发指导机制,引导操作者进行装备的维修训练[9]。目前,虚拟维修训练系统的指导方式较少,主要通过图文说明的方式对操作者进行指导性说明。张玉军等[10]在Unity3D 环境中设计开发了沉浸式虚拟维修训练系统,该系统具有基础理论、特情处理等模块,可指导操作者进行维修训练,但图文指导只能通过按钮点击获取,并不能以手势、视线等直观性的交互方式来引导操作者自主获取知识,不能使其在思考中完成任务。基于穿戴式数据服设计的虚拟维修训练系统[11],是通过有标记式的交互方式获取拆装指导信息,增加了人机交互的额外媒介,可减弱虚拟维修训练的沉浸感。
对操作逼真自然的模拟可以有效提高虚拟维修训练质量[12]。在实际的维修训练中,操作者多用手拾取零件,或用手抓握工具进行零件的拆装。故在虚拟维修训练系统中,模拟操作者使用单双手与零件或工具的自然交互操作十分重要[13]。但目前的操作仿真还不能体现人机的自然交互,如仅使用手柄的人机交互,不能通过虚拟手直接拾取零件,降低了操作真实感。孔祥杰等[14]通过试验得出,动作捕捉手套在螺钉安装等定位敏感型操作中效率较低,必须双手协同操作才能提高处理复杂任务的效率。郭庆等[15]通过动作捕捉设备采集真实人体的运动数据,将虚拟人作为操作者嵌入虚拟环境中,但是没有对虚拟手操作进行针对性的开发,故不能完成单双手拆装的复杂动作。张玉军等[10]虽然将虚拟手引入虚拟维修训练系统,但仅实现了以简单手势与机器系统交互,并未进行手势识别、虚拟手拾取功能等的研究,故系统的沉浸感和交互性不强。
2014年以来,虚拟现实(virtual reality,ⅤR)辅助技术已成为继计算机辅助技术(computer aided technology,CAD)后新一代仿真辅助技术[16]。传统的CAD[17]只是通过设置指令使零件达到最终的安装完成状态,或移除须删除约束的元件的约束,不能体现零件拆装过程;其可视化和交互方法是基于缺乏直观性的二维显示和鼠标/键盘系统,无法获得导致装配错误的装配状态,例如穿透和不合理的装配关系,这些都限制了操作者在维修训练过程中的主动思考。而虚拟现实辅助技术是使用者通过手势、语音等方式与虚拟环境进行交互[18],人机交互更加自然和谐。空间定位技术则实现了Room Scale(空间范围)级别的ⅤR 定位,具有定位精度高、反应速度快和分布式处理等优势[19]。ⅤR定位系统集成了激光传感器、光敏传感器,具有高精度系统时间分辨率[20],基于PnP解算原理进行运动物体的姿态估计,可实现运动物体位置的精确求解;具有高刷新率的虚拟显示可实现虚拟物体的立体可视化输出,且图像自然清晰、稳定性好,可表现出零件几何外形特征等关键信息。通过虚拟现实软硬件开发的交互方式可提升交互功能,帮助操作者将所学知识应用于拆装尝试中,启发其更好地完成训练任务。
为了提高虚拟维修训练中零件装配的定位精度以及训练指导、人机交互的直观性,本文以零件多数据信息的装配约束模型为基础,对零件之间常见的装配关系及其对应的装配操作进行分析,抽象出4种常见的限制零件运动的约束,并建立基于装配特征匹配和装配特征参数匹配的装配约束算法,借助虚拟现实设备的高追踪精度和高数据采集与运算速率,在虚拟环境中实时感知零件状态并建立其正确的约束。基于手势识别、视线碰撞等直观性交互方式,建立“导师&助教”的多模式指导架构。在Unity3D中进行虚拟手、虚拟工具的无标记交互操作的开发,并以某型号洗衣机为维修训练对象进行测试。
1 装配约束实时感知与建立技术
为了降低定位不精准给零件虚拟维修带来的影响,研究以装配约束关系限制零件自由度的方法。在建立零件多数据信息模型的基础上,借助虚拟现实设备及时更新零件位姿数据,建立零件状态实时感知的装配约束算法,实时感知虚拟环境中的零件状态,分析求解零件之间的位置关系,建立其正确的装配约束,以提升虚拟维修训练的效果。
在虚拟维修训练的拆装过程中,为使零件安装在正确的位置,逼真地体现出装配过程,须研究零件的整个装配过程。其中装配关系是装配过程中连接各零件之间的纽带,装配时要进行与装配关系对应的装配操作[21]。常见的装配关系及其对应的装配操作如表1所示。
表1 常见的装配关系及其对应的装配操作Table 1 Common assembly relation and corresponding assembly operation
空间中的零件不仅有坐标位置,还有朝向姿态,因此所拆装的零件不能看成一个质点[22]。在空间几何中,采用四元素法表达零件的三维旋转,用4×4齐次矩阵来描述零件的位姿,称作位姿矩阵。位姿矩阵可表示为:
式中:R 和t 分别为零件的旋转矩阵和平移矩阵,其中的元素分别为从零件坐标系o'-x'y'z'变换到全局坐标系o-xyz时零件的旋转分量和平移分量。
装配零件分为装配基体(以下简称为“基体”)和待装配零件(以下简称为“待装件”)。以基体为参照物,装配约束表征为待装件在基体坐标系中6个自由度限制的组合,6 个自由度即沿x、y、z 轴的平移和绕x、y、z轴的旋转,可表示为零件的翻滚、俯仰和偏摆,如图1所示。
图1 零件6个自由度的表示Fig.1 Representation of six degrees of freedom of a part
结合虚拟环境中零件空间位姿变换、拆卸/装配关系、拆卸/装配操作等需求,本文用零件的几何模型、装配特征、结构参数、零件和特征的碰撞包围盒建立虚拟环境中零件多数据信息模型[23]。零件多数据信息模型包含的数据信息为:
1)几何外形信息数据。如零件的材质及纹理数据、贴图数据、坐标系原点位置和朝向数据等,以便在虚拟环境中直观准确地表征零件模型。
2)物理属性数据。如零件的质量、沿各个轴的转动惯量和质心位置等,以便分析零件的平移、旋转和碰撞,表征零件模型的姿态。
3)几何装配特征数据。包含零件的几何特征类型、几何特征位置和几何特征参数,其中:零件的几何特征类型为螺纹、键、齿轮、轴和轴肩等;几何特征位置可根据零件的定位距离来确定;几何特征参数用于区分和匹配特征,如轴特征只有“直径”特征参数[24]。该特征数据为识别与匹配零件模型几何特征、建立约束、求解零件间的相对位置关系提供数据基础。
4)碰撞包围盒数据。建立基于FDH(fixed directions hulls,固定方向凸包)包围盒的零件碰撞包围盒,以区分零件与零件之间的位置关系,防止零件穿透,以及感知零件与零件之间的特征包围盒是否发生接触。
在装配过程中,零件在装配路径上存在多种约束。约束的建立会导致零件运动状态发生变化,即零件自由度发生变化。通过分析机械结构常见零件类型、装配关系及其对应的装配操作,抽象出轴和孔两种基本几何特征以及限制零件运动的4种约束:1)同轴不定向约束;2)同轴定向约束;3)同轴不定向面阻挡约束;4)同轴定向面阻挡约束。
1)同轴不定向约束。
该约束限制零件的4个自由度,此时零件仅有沿基体轴线移动和绕轴线转动两个自由度。该约束下零件的运动状态如图2所示。
图2 同轴不定向约束下零件的运动状态Fig.2 Motion state of parts under coaxial non-directional constraint
2)同轴定向约束。
该约束限制零件的5个自由度,此时零件仅有沿基体轴线移动一个自由度。该约束下零件的运动状态如图3所示。
3)同轴不定向面阻挡约束。
该约束限制零件的4个自由度,此时零件有沿基体轴线移动和绕轴线转动两个自由度,但由于受到平面阻挡,零件沿装配方向的移动被限制。该约束下零件的运动状态如图4所示。
4)同轴定向面阻挡约束。
该约束限制零件的5个自由度,此时零件仅有沿基体轴线移动一个自由度,但由于受到平面阻挡,零件沿装配方向的移动被限制。该约束下零件的运动状态如图5所示。
图3 同轴定向约束下零件的运动状态Fig.3 Motion state of parts under coaxial directional constraint
分析了在实际装配过程中常见的限制零件运动的4种约束以及在不同约束下零件相应的运动状态之后,为了在虚拟环境中展现零件装配的过程,以零件模型的几何外部特征为基础,建立基于装配约束的识别算法。该算法可以使虚拟维修训练系统根据零件之间的状态,自主感知基体和待装件不同的装配特征。当装配件到达指定装配位置时,响应机制启动,系统感知约束类型并提供正确的装配约束;在拆卸零件时,系统实现约束解除。因此,建立基于装配约束的识别算法可解决多种拆装问题,具有广阔的应用范围。为了提高该算法的实时性,保证运动零件的位姿求解速率和定位精度,借助HTC 公司(High Tech Computer Corporation,宏达国际电子股份有限公司)的Ⅴive 虚拟现实设备。该设备采用outside-in 追踪方式,Lighthouse定位系统基站的扫描频率为90 Hz,激光扫描定位精度为毫米级,其在大空间环境下具有良好的追踪精度。配套采用英特尔i7系列处理器和英伟达RTX2080 高性能显卡工作站,满足大规模渲染并行运算和物理仿真求解的计算速度要求,以满足算法计算的实时性需求。
在装配过程中,操作者用手或者工具拾取零件并控制待装件移动,即待装件的运动和操作者的动作一致,同时由于存在约束,该运动只有部分能对零件产生实际作用。为了能让零件跟随手或工具进行平移及旋转,当零件被拾取时,手或工具与零件的位姿须保持一致,以实现约束零件在拾取条件下的运动,故采用基于六自由度几何法的零件位姿修正算法[23]。根据自由度,对零件相对于基体的位姿改变矩阵进行修正。得到零件在约束条件下的改变量之后,在基体坐标系中将复合运动在各轴上的分量分离出来,再根据约束条件对被限制量进行剔除或修正,并分别计算在基体局部坐标系下待装件相对基体各轴的平移量和转角。当待装件存在多个约束时,综合考虑多个约束对零件自由度的影响,并重新对位姿改变量进行修正,如图6所示。
图4 同轴不定向面阻挡约束下零件的运动状态Fig.4 Motion state of parts under coaxial non-directional surface blocking constraint
为实时建立装配约束,笔者构建了装配约束感知与建立方法的流程,如图7所示。首先,以零件多数据信息的装配约束模型为基础,虚拟维修训练系统自主感知基体和待装件不同的装配特征;当零件与零件发生碰撞后,立即对零件特征层次包围盒进行检测,如果特征层的包围盒也发生了碰撞,则调用响应函数,提取在Unity3D 软件中编写的C#程序文件中对应的特征信息,比对特征类型和位置参数等;如果特征和参数相匹配,则在零件装配位置建立相应的装配约束,限制零件运动,如果不匹配,则该次碰撞响应不作处理。其中,特征类型的匹配是基于几何特征参数,如轴和孔的特征由其“直径”特征参数表达,在执行孔零件装配到轴零件的操作过程中,若孔径大于或等于轴径,则特征匹配成功。
图5 同轴定向面阻挡约束下零件的运动状态Fig.5 Motion state of parts under coaxial directional surface blocking constraint
2 多模式交互指导方法
操作者佩戴虚拟现实头盔显示器(head-mounted display,HMD)进行虚拟维修训练,其视觉观察范围仅为HMD所显示的三维虚拟场景,无法使用现实环境中的维修手册等进行参考,也无法观察到实际指导人员的指导动作。操作者刚进入虚拟环境时,可能因不熟悉场景中的设备、零件而出现操作失误。故须借助虚拟现实软件设计虚拟环境中的指导架构,开发基于“导师&助教”机制的多模式指导方法,使操作者在接受指导时无需借助额外的媒介,而可以通过手势、视线自主与“导师”“助教”交互。这种方式增强了虚拟环境中指导的直观性,帮助操作者在多种引导下快速熟悉虚拟维修训练场景,掌握装备维修技能。
图6 零件位姿的修正Fig.6 Part position correction
图7 装配约束感知与建立方法的流程Fig.7 Flowchart of assembly constraint perception and establishment method
2.1 基于手势识别的多模块电子手册的“导师”指导
为了使操作者在HMD 显示的三维虚拟环境中直接进行由导师指导的训练,基于层级划分与管理技术,在虚拟环境中对电子手册进行多模块开发,将其作为虚拟维修训练的指导。这种导师指导式训练,基于认知心理学,以影像资料、演示动画和图文说明等在虚拟电子屏上向使用者展示相关信息,可帮助操作者逐步掌握设备的组织结构、拆装步骤、工具仪表使用方法、日常维护保养、典型故障排除和特殊情况处置等,以提高操作者的记忆与认知能力,使操作者在虚拟环境中的维修训练更高效。
为了使操作者可以通过直观性交互控制电子手册,基于虚拟手手势识别开发了交互式操作面板。当手掌面朝向操作者时,可以在虚拟环境中调出该面板,用虚拟手对面板上的按钮进行操作来控制电子手册屏幕。当操作者需要受电子手册指导时,翻转左手至手掌面向自己,便可调出电子手册控制按钮。按钮主要分为四大部分:左右两个按钮分别为前进和后退按钮;上方按钮为场景重置按钮,当装配过程中出现问题时,可按下此按钮返回最初的装配状态;下方按钮的功能,可自行开发。基于手势识别的多模块电子手册的“导师”指导如图8所示。
图8 基于手势识别的多模块电子手册的“导师”指导Fig.8 Multi-module electronic manual "tutor" guide based on gesture recognition
2.2 基于视线碰撞信息显示的“助教”指导
在进行虚拟维修训练时,场景中存在诸多设备、零件,许多零件功能近似、尺寸接近,仅靠外形难以区分,即便在实际维修训练中也须对零件进行编号匹配,确认无误后方可进行操作。而且,操作者在虚拟维修训练初期,可能因不熟悉场景中的设备、零件等而降低训练效率。故基于视线碰撞原理[25],利用HUD(head up display,抬头显示)技术开发显示界面,该显示界面可随视角变换位置而视距固定,从而建立以视线碰撞信息显示的“助教”指导方式。当操作者不熟悉、不认识某设备或零件时,可使视线与该设备或零件碰撞,即在HUD界面上获得该设备或零件的基本信息,当视线切换至其他设备或零件时,界面信息随之改变,从而使操作者认识该设备或零件,加深记忆,提高训练效率。基于视线碰撞信息显示的“助教”指导如图9所示。
图9 基于视线碰撞信息显示的“助教”指导Fig.9 "Teaching assistant" guide based on sight collision information display
3 虚拟维修训练系统的设计与测试
3.1 虚拟维修训练的操作仿真
操作者在真实环境中进行装备维修训练,是通过单双手或使用工具操作零件。为了将真实的维修训练过程在虚拟环境中得到高沉浸感仿真,以虚拟现实多传感器采集的人手位姿数据为基础,将真实的人体运动与虚拟环境中的运动一一映射,开发虚拟手和虚拟工具,实现多种直观性、无标记的交互操作,使操作者能以与真实环境中相同的操作方式处理装备维修训练中的问题。
1)虚拟手无标记交互操作。
分析装备维修中人手拾取零件的功能需求,建立适应虚拟维修训练的手势分类,以多Leap Motion(体感控制器)采集并提取的手掌和手指数据为基础,经多Leap Motion数据融合算法处理后,建立手型模型,采用计算2 个凸体之间最短距离的相交测试方法,以及虚拟手与工具或零件的多点碰撞检测方法[26],在Unity3D环境中建立虚拟手模型。在整个装配过程中,人的手部运动可以被系统识别,使其可以逼真地拾取零件,完成复杂的拆装动作。基于接触碰撞的虚拟手交互操作原理如图10所示。
2)虚拟工具无标记交互操作。
在实际装备维修中,操作者常使用工具辅助维修,如螺栓、螺钉等的拆装须使用扳手。所以,在虚拟环境中,基于手持控制器开发了多种虚拟工具的无标记辅助维修方式。Ⅴive 操控手柄具有多种输入方式,如多功能触摸面板、抓握键、双阶段扳机、系统键和菜单键等,在Unity3D平台中对其控制按钮进行开发,基于按钮等定义的动作来完成多种手势难以完成的交互操作,如按住抓握键可以拾取虚拟手难以拾取的精细零件。在Unity3D环境中建立多种工具模型,如不同规格的扳手,将虚拟环境中的手持控制器替代成不同的工具,操作者可以根据零件的特征,选取相应的工具拾取零件。虚拟工具的交互如图11所示。
图10 基于接触碰撞的虚拟手交互操作原理示意Fig.10 Schematic of principle of virtual hand interactive operation based on contact collision
图11 虚拟工具的交互Fig.11 Ⅴirtual tool interaction
3.2 虚拟维修训练系统的设计
利用Leap Motion、手持控制器等设备,在Unity3D平台中开发虚拟手、虚拟工具等多种交互方式,以及基于手势识别、视线碰撞的“导师&助教”指导机制。通过HMD的立体可视化显示,操作者可以观察到三维立体虚拟场景。开发虚拟环境中的声音功能,让操作者佩戴耳机,通过场景反馈、操作提示声使其感知虚拟维修训练情况。通过显示屏的二维显示,教员实时观察维修者的装备维修情况或受训者的训练学习情况,并据此给他们提供指导意见。虚拟维修训练系统的设计如图12所示。
图12 虚拟维修训练系统的设计Fig.12 Design of virtual maintenance training system
3.3 虚拟维修训练系统的测试
借助HTC Ⅴive HMD、2个单手控制器、2个定位基站、Leap Motion等虚拟现实设备,并接入大屏幕和投影设备,形成虚拟维修训练的第3 视角。在Unity3D 平台中将ⅤS ⅠDE(visual studio integrated development environment ,可视化工作室集成开发环境)作为开发工具,利用C#编程语言,进行虚拟维修训练系统的设计与开发,并以某型号洗衣机模型为例进行虚拟维修训练系统的测试。虚拟维修训练系统的应用场景如图13所示。从屏幕投影可以看出,操作者在虚拟环境中可以观察到虚拟维修训练场景、待维修训练的洗衣机模型、视线前方的电子手册和HUD界面显示的零件信息等。
图13 虚拟维修训练系统的应用场景Fig.13 Application scenario of virtual maintenance training system
在装配过程中,操作者可以采取多模式交互指导方法进行装配训练。交互式操作面板如图14 所示,通过它可以远程控制多模块电子手册(如图15所示)。当手掌面朝向操作者时,可以在虚拟环境中调出一个交互式操作面板,并用虚拟手对面板上的按钮进行操作,从而控制电子手册屏幕,指导操作者进行虚拟维修训练。
图14 交互式操作面板Fig.14 Ⅰnteractive operation panel
图15 多模块电子手册Fig.15 Multi-module electronic manual
为了验证装配约束实时感知与建立技术和虚拟手、虚拟工具的无标记交互操作技术,对洗衣机顶盖安装、扳手拧紧螺栓两项装配进行操作。
当操作者的视线与洗衣机顶盖发生碰撞时,在HUD 界面上显示顶盖的相关信息,如图16 所示,帮助操作者认知零件。当操作者使用抓的手势移动顶盖至装配位置即特征碰撞位置,则触发相应的碰撞响应机制;当顶盖的孔特征与机身的轴特征匹配时,则建立同轴不定向约束;若顶盖的轴肩特征与机身的轴肩特征匹配,则建立同轴不定向面阻挡约束,顶盖被安装到正确位置,装配完成。
图16 基于视线碰撞的洗衣机顶盖信息的显示Fig.16 Display of information of the top cover of washing machine based on sight collision
图17所示为虚拟手抓握扳手,图18所示为虚拟手使用扳手拧紧螺栓。可见,虚拟手可灵活抓握虚拟工具进行相应的维修操作。
图17 虚拟手抓握扳手Fig.17 Ⅴirtual hand holding the wrench
图18 虚拟手使用扳手拧紧螺栓Fig.18 Ⅴirtual hand using a wrench to tighten the bolt
以上测试表明,在操作者安装零件的过程中实现了零件之间准确约束关系的建立以及使用虚拟手和虚拟工具进行维修训练,而多模块电子交互手册和HUD界面的信息显示可以用于指导维修训练,满足了操作者在虚拟拆装操作中对零件定位的需求,提升了虚拟维修训练的指导直观性和人机交互性能,使操作者可以更好地进行维修训练以提升操作技能。
后续将开展在虚拟环境与真实环境中认知绩效的差异研究,并进行相应实验,进一步验证该虚拟维修训练系统的训练效果,以更好地发挥产品维修训练的指导作用,锻炼维修者的维修技能。
4 结 语
虚拟维修训练系统须满足零件拆装的定位精度需求、维修训练过程中的指导功能需求以及人机交互的直观性需求,反映贴近实际的操作过程,增强虚拟维修训练的沉浸感。
本文借助虚拟现实辅助技术的自然直观人机交互、Room Scale(空间范围)级别高精度定位、高稳定性虚拟环境图像立体显示等优势,以零件多数据信息为基础,结合零件之间的装配关系及其对应的装配操作,研究了装配约束识别与建立算法。通过该算法可以使系统实时感知当前的装配状态,自动在装配位置提供正确的装配约束,提高零件的定位精度,模拟出更真实的拆装过程。建立了基于直观性交互的“导师&助教”指导架构,开发了多模块电子手册和基于视线碰撞信息显示的多模式指导方法,以Unity3D为开发平台,实现了多手势虚拟手、虚拟工具的无标记交互操作方式,并通过HMD将虚拟环境立体可视化,实现了虚拟维修训练系统的设计和实现。
以某型号洗衣机模型为对象,进行了虚拟维修训练系统的测试。测试结果表明,虚拟维修训练系统可以满足虚拟拆装中对零件安装定位精度和人机交互操作的需求,模拟出更逼真的拆装过程,更加贴近于实际维修训练。多种直观性指导方式可以指导操作者更好地完成维修训练任务,使其能在操作尝试中不断丰富维修知识,锻炼维修技能。