Computer Science and Application
Vol. 12  No. 04 ( 2022 ), Article ID: 50434 , 8 pages
10.12677/CSA.2022.124099

虚拟现实环境下虚拟手交互方法研究

钟贵强,战荫伟,杨 卓,廖声亮

广东工业大学,计算机学院,广东 广州

收稿日期:2022年3月12日;录用日期:2022年4月13日;发布日期:2022年4月20日

摘要

为了模拟汽车虚拟装配培训环境下的虚拟手交互,设计了一种基于物理粒子和刚性骨架的虚拟手模型:使用刚体模拟虚拟手的骨骼,将具有物理特性的粒子耦合到蒙皮网格上相应的位置,动态地调整刚度值。提出了一种算法复杂度低的辅助抓取方法,将虚拟手抓取物体的情况分为被抓取和未被抓取两个状态,有效地减少了物体意外掉落的情况,提高了抓取的稳定性。最后将虚拟手模型集成到车辆装配培训系统,通过对照实验验证本方法可以有效地提高交互真实感,在所有任务场景中都得到了满意的效果。

关键词

虚拟装配,虚拟手,虚拟现实,自然抓取,抓取规则,物理粒子

Research on Virtual Hand Interaction for Vehicle Assembly Training in Virtual Reality

Guiqiang Zhong, Yinwei Zhan, Zhuo Yang, Shengliang Liao

School of Computer Sciences, Guangdong University of Technology, Guangzhou Guangdong

Received: Mar. 12th, 2022; accepted: Apr. 13th, 2022; published: Apr. 20th, 2022

ABSTRACT

In order to simulate the virtual hand interaction in the automobile assembly training environment, a virtual hand model based on physical particles and rigid skeleton was designed. Rigid bodies are used to simulate the skeletons of virtual hands, physical particles are coupled to the corresponding positions on the skin grids, and the stiffness values are dynamically adjusted. An auxiliary grasping method is proposed of low complexity and better grasping stability, which divides the manipulation into two states: caught or not get caught, and prevents the object from falling off unexpectedly. Finally, the virtual hand model is integrated into the vehicle assembly training system. Comparative experiments demonstrate that this method can effectively improve the interactive realism and achieve excellent results in all the assigned task scenarios.

Keywords:Virtual Assembly, Virtual Hands, Virtual Reality, Natural Grasps, Grasping Rule, Physical Particles

Copyright © 2022 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

在日常工作和学习中,手是我们与外界交互的最重要的媒介之一。同样,在虚拟现实环境下,虚拟手抓取的真实感也是影响用户体验的关键因素。然而,使用虚拟手在虚拟环境中精确地操作对象是一项复杂的任务,为达到良好的真实感和稳定性,需要发展合理的虚拟手模型和交互方式。

虚拟手与虚拟物体的交互方式大致可以分为三类。第一类是识别用户的有效抓取手势,随后从预定义的手势库中选择适合当前抓取行为的手势,最后将虚拟物体与虚拟手绑定,完成抓取动作。Oprea等人 [1] 分析了33种不同的抓握类型,在操纵不同几何形状和不同大小的对象时,选择最适应对象形状的类型,取得了灵活高效的交互效果。这类方法的优点是交互比较稳定,不易发生物体意外掉落或者物体剧烈抖动的情况,但是这类方法的缺点是不够真实,比如在抓住物体时,虚拟手无法对物体做更多细致的动作,手指可能会穿透物体,等等。第二类是从力学角度分析虚拟手与虚拟物体之间的摩擦和碰撞情况。Holl等人 [2] 提出了一种基于库仑摩擦模型的仿真方法,并在Unity引擎中实现,使得虚拟手可以与任意形状的物体进行交互。与第一类方式相比,这类方式可以模拟更加真实的交互动作,显著增强用户的沉浸感,但计算非常复杂,运算效率低。第三类方式则是通过制定符合抓取行为特点的约束规则,来替代复杂的受力分析,如基于有效阈值角度 [3]、摩擦锥 [4] [5] 的抓取规则。胡晨等人 [6] 利用基本几何体分解复杂物体,根据形状特征和手指抓握的接触关系制定抓取规则,实现了对复杂物体的稳定抓取。

虚拟手的建模方法有两种。一种方法是,将手建模为由刚体组成的铰接体,计算效率比较高,但这种模型在与虚拟物体接触时,能得到的碰撞和接触点信息有限,导致抓取动作非常僵硬 [7] [8]。另一种是将手建模为可变形的软体,当柔软的手指和物体接触时,接触面会发生膨胀,使得抓握更加精确和稳定 [9] [10]。

手是人体中非常复杂的器官,由骨骼、皮肤、肌肉等组成,每次交互动作都需要各个部分互相配合才能完成。因此,准确地模拟手的变形以及在抓取过程中手对物体的影响,是发展虚拟手交互方法的关键。Delrieu等人 [11] 使用刚体模拟虚拟手,提出了基于虚拟弹簧的抓握方法。该方法分为接触阶段、抓握阶段、操纵阶段和释放阶段,可以实现精确、稳定的抓握而不会意外掉落;但是该方法不够真实,无法模拟虚拟的装配培训操作。Verschoor等人 [12] 使用有限元法模拟虚拟手的非线性皮肤,使用能量最小化框架模拟元素之间的机械能交换,然而基于有限元法的可变形软体模拟需要大量的计算成本。Kim等人 [13] 则将虚拟手描述为大量粒子的集合,通过粒子和虚拟物体的碰撞和摩擦,产生包括抓握、抬起和捏等交互,然而该方法抓取较为困难,抓取时会发生抖动,且容易意外释放要抓取的物体。而其他方法如Jacobs [14]、Chessa [15] 和Quan [16] 等同样存在穿模、物体被弹飞等问题。

为保证交互稳定性和鲁棒性,提高交互的真实感,克服物体被意外释放和被弹飞等现象,本文提出一种基于物理粒子和刚性骨架的虚拟手模型,既能有效降低计算量,提高操作的稳定性,也能使虚拟手与虚拟对象的交互更加真实。基本想法是:1) 用刚体模拟手的骨骼,并制定一定的约束规则用于虚拟手与物体的交互,2) 使用具有物理特性的粒子模拟手的皮肤,将物理粒子耦合到蒙皮网格上相应的位置,并根据骨架姿态的变化进行变换。这些粒子在与虚拟物体接触时会产生相应的碰撞力和摩擦力,从而使虚拟手与虚拟物体之间的交互更加真实。这项工作主要是为了实现虚拟环境下的汽车装配培训,但目前主流的VR设备所提供的交互引擎,还无法模拟足够真实的装配操作。因此,本文在虚拟手模型的基础上,还使用了一种辅助抓取方法,将虚拟手抓取物体的情况分为被抓取和未被抓取两个状态,可以有效地减少在虚拟手抓住物体移动时,物体意外掉落的情况,提高了抓取螺丝等小物体的稳定性。

2. 虚拟手建模

根据手的生理结构,我们将整个虚拟手模型分为皮肤模型和骨骼模型(见图1),使用刚体模拟虚拟手的骨骼,使用物理粒子模拟虚拟手的皮肤。

Figure 1. Skin and bones of the virtual hand

图1. 虚拟手皮肤模型和虚拟手骨骼模型

2.1. 骨骼模型

虚拟手的骨骼模型由手掌和5个手指组成,其中拇指由两个胶囊状刚体构成,其他手指各由三个胶囊状刚体构成。从手部跟踪设备获得的数据将直接应用于虚拟手骨骼模型,使用户可以通过手部跟踪控制虚拟手的位置和姿态。

2.2. 皮肤模型

我们使用开源3D建模软件建立了一个虚拟手的皮肤模型A,并根据骨骼的位置计算出该模型网格顶点的位置,从而使皮肤网格随着骨架的姿态变化而变形。记n为模型A的网格顶点个数,pi(t)为第i个顶点位置, i = 1, , n 。相应地,骨骼模型B由骨骼Bj组成, j = 1, , b 。记Δt为两帧之间的时间间隔,为表达从时刻t − Δt到时刻t的变形,设Tj(t)是作用在模型B中骨骼Bj的仿射变换,ωij是由顶点pi的初始位置到骨骼Bj的初始位置决定的权重。则变形后的顶点位置为

p i ( t ) = j = 1 b ω i j T j ( t ) p i ( t Δ t ) (1)

在真实世界中,当皮肤接触到物体的表面时,皮肤会轻微变形。为此,本文使用具有物理性质的粒子来模拟这种现象,粒子之间没有相互作用,但会与环境中的物体发生摩擦和碰撞,如图2所示。在粒子发生位移之后,粒子都会被拉向指定位置,就像在物理粒子和它对应的顶点之间存在一个虚拟的弹簧。我们在皮肤模型A的每个网格顶点位置pi处生成一个粒子Xi,其位置和速度分别表示为xi(t)和vi(t),则可对粒子建立运动模型

{ v i ( t ) = v i ( t Δ t ) + β p i ( t ) x i ( t Δ t ) Δ t x i ( t ) = x i ( t Δ t ) + Δ t v i ( t ) (2)

其中β决定了粒子被拉向目标位置pi(t)的速度。

Figure 2. The particle at the vertex position of the mesh model

图2. 网格顶点上的物理粒子

3. 交互规则

虚拟手模型中的每个物理粒子和胶囊状的骨骼都有一个碰撞体,当用户使用虚拟手触摸虚拟物体时,物理引擎会精确计算虚拟手与物体的碰撞力和摩擦力,借此可以实现部分物理交互,如推动和抬起物体,但是在用户抓握虚拟物体时不够稳定。因此本文使用一种辅助抓取方法来确定物体的抓取/释放状态,并对物体进行不同的处理。

3.1. 辅助抓取

当用户与一个虚拟物体O接触时,我们实时记录虚拟手与该物体的接触点qk以及接触点表面法线nk k = 1, , m ,通过接触点和表面法线判断虚拟物体O的是否被抓住。设定阈值θ,如果

n k ( p l p k ) < θ and n l ( p k p l ) < θ k , l = 1, , m k l (3)

成立,则该认为虚拟物体O被抓住,否则为未被抓取状态。设xoxh分别为物体O的位置和虚拟手模型H的位置,则物体O的速度

v o ( t + Δ t ) = v o ( t ) + α x h ( t ) x o ( t ) Δ t (4)

其中α决定了物体跟随虚拟手的速度。使用上述方法将虚拟手抓取物体的情况分为被抓取和未被抓取两个状态,可以有效地减少在虚拟手抓住物体移动时,物体意外掉落的情况,提高抓取的稳定性,如图3,即使用户在抓取较大的工件或较小的螺丝时,也能够获得非常真实的交互体验。

3.2. 动态调整皮肤的刚度

为了更加真实地模拟轻推和重推物体时的情形,记虚拟手的移动速度为vh,则在皮肤模型中决定皮肤刚度的参数

β = 1 1 + e 10 v h 2 (5)

β值越小,皮肤就越柔软;如果β = 1,则虚拟手的皮肤接近刚体,由物理粒子组成的皮肤就不会有缓冲作用。

4. 实验与评估

4.1. 实现细节

我们把上述方法用于汽车装配培训的交互系统,在Unity 2019.3.14f1中实现,并使用HTC Vive和Leap Motion进行测试,如图4所示。两个设备都直接连接到电脑上。HTC Vive是一款虚拟现实设备,用户可以在真实3D空间中移动,并使用手持控制器与虚拟环境进行交互,Leap Motion是一款能够准确捕捉手的动作的跟踪装置。

Figure 3. Object grabbing in virtual assembly

图3. 虚拟工件的抓取

Figure 4. Object grabbing in virtual assembly using HTC Vive and Leap Motion

图4. 使用HTC Vive手柄和Leap Motion进行抓取

在我们的虚拟场景中,所有的刚性物体重量都大于0.1 kg。虽然虚拟手模型的蒙皮网格共有2161个顶点,但考虑到只有部分物理粒子在抓取过程中相互作用,我们只使用1088个物理粒子用于物理模拟。另外,当用户抓取一个物体并快速移动时,物体更需要紧紧跟随着手移动,而不需要更多交互的细节,因此我们预先设定一个阈值γ = 1 m/s。如果虚拟手的速度超过这个阈值,被抓取的对象将直接绑定到虚拟手上。

4.2. 实验设计

为了评估模型的可行性,我们将其集成到汽车装配培训的交互系统中,该装配系统包含两个场景。在第一个场景中,以球体、立方体、圆柱体和复杂的汽车零部件为测试物体。在用户的前面是一个水平工作台,任务定义为用户需要在一定的时间内将这些物体移动到指定的位置,同时保持自然稳定的交互动作。第二个场景以空客A320和赛车的发动机为例,用户需要在规定时间内完成飞机发动机的维护和赛车的装配。此外,我们还添加了对照实验,将我们的虚拟手交互系统与HTC Vive和Leap Motion的交互引擎进行对比,分析我们的方法的优缺点。

实验一共邀请了32名被试者,其中有22名学生和10名来自一家自动化汽车装配公司的技术人员。所有受试者色觉、视力正常,其中28人有过虚拟现实互动体验。实验中每个被试者需要完成三次所有任务,系统会记录每一次的平均完成时间、实时帧数和最终的成功率。实验中所涉及的操作都没有很高的技术门槛,所以被试者的专业技术能力不作为实验的自变量。另外,在对比实验进行之前,除了对受试者进行系统操作培训外,我们不说明实验目的。在实验结束后,我们邀请每个被试者填写调查问卷,主观的评价指标有:操作的可理解性、复杂性、稳定性和与实操相似性,每个指标满分为10分。

4.3. 结果分析

HTC Vive交互引擎中的交互方式是通过按下手柄上的按钮来抓取物体,可由于手柄上的按键数量有限,HTC Vive只能模拟少量的抓取姿势,因此使用这种方法,操作的可理解性和与实操的相似性较差,用户体验不足。HTC Vive的优势在于定位精度高,所以完成任务的平均耗时较低,且成功率很高。另外,使用HTC Vive手柄,我们能借助光线在远处抓取一个物体,所以这种交互方式在我们的装配场景中可以作为附加功能使用。

Leap Motion作为一款功能强大的手部追踪器,可以捕捉手部动作,使操作更加真实。从表中可以看出,使用这种方法,操作的可理解性和与实操相似性的指标表现很好。Leap Motion交互引擎的工作方式是,如果用户在虚拟物体的一定范围内做出抓取动作,这个物体就会与虚拟手绑定,直到做出松开动作。但这种方式的问题是失去了手的灵活性,例如,用户不能拿起虚拟物体并在手指间转动它,本文提出的方法解决了这些问题,从图5的客观指标结果和表1的主观评价结果可以看出,我们构建的虚拟手与Leap Motion交互引擎相比,完成任务的平均耗时没有增加,同时交互也非常稳定。与HTC Vive的交互引擎相比,更易于理解和使用。同时在与实操相似性的指标上的得分远超另外两种,这意味着我们构建的虚拟手交互更加地真实。

Table 1. The result of subjective evaluation

表1. 主观评价结果

Figure 5. Comparison of the three methods. The first scene (top) for basic test, and second scene (bottom) takes the engine of the Airbus 320 and racing car as examples. Our interaction system is represented in blue, the interaction engines of HTC Vive is represented in orange, and the interaction engines of Leap Motion is represented in gray

图5. 三种方法的测试对比。第一个场景(上)进行基础物体的移动测试,第二个场景(下)为虚拟装配测试。我们的方法用蓝色表示,HTC Vive的交互引擎用橙色表示,Leap Motion的交互引擎用灰色表示

总结有以下几个原因:首先,我们使用物理粒子来提供碰撞和摩擦力,使得抓取操作更加符合实际动作。其次,所有的物理粒子都是在预先创建的,并且更新粒子位置的方法非常简单,所以我们得到了一个稳定的结果。最后,我们建立了一种辅助抓取方法,这使我们能够精确地操纵小物体,即使手的速度非常快,也能防止意外释放和滑动的情况。

5. 结语

本文提出了一种基于物理粒子和刚性骨骼的虚拟手模型,并提出了一种辅助抓取的方法。实验表明,我们的方法既能有效降低计算量,也能使交互更加真实。在虚拟物体被抓住时,我们不是简单地将物体完全绑定在虚拟手中,所以用户仍然可以在指尖调整物体的姿态,同时交互非常稳定,不会出现物体意外被释放或被弹飞的情况。为进一步提高交互的真实感,可以在未来的工作中使用力反馈手套,使用户能够以更直观、更直接的方式触摸和操纵虚拟物体。

基金项目

广东省重点领域研发计划项目(编号2020B0101130019,2019B010150002),国家自然科学基金(批准号61907009)。

文章引用

钟贵强,战荫伟,杨 卓,廖声亮. 虚拟现实环境下虚拟手交互方法研究
Research on Virtual Hand Interaction for Vehicle Assembly Training in Virtual Reality[J]. 计算机科学与应用, 2022, 12(04): 965-972. https://doi.org/10.12677/CSA.2022.124099

参考文献

  1. 1. Oprea, S., Martinez-Gonzalez, P. and Garcia-Garcia, A. (2019) A Visually Realistic Grasping System for Object Manip-ulation and Interaction in Virtual Reality Environments. Computers & Graphics, 83, 77-86. https://doi.org/10.1016/j.cag.2019.07.003

  2. 2. Höll, M., Oberweger, M., Arth, C. and Lepetit, V. (2018) Efficient Physics-Based Implementation for Realistic Hand-Object Interaction in Virtual Reality. IEEE Conference on Virtual Real-ity and 3D User Interfaces, Tuebingen/Reutlingen, 18-22 March 2018, 175-182. https://doi.org/10.1109/VR.2018.8448284

  3. 3. 杨晓文, 张志纯, 况立群, 韩燮. 基于虚拟手的人机交互关键技术[J]. 计算机应用, 2015, 35(10): 2945-2949.

  4. 4. Erleben, K., Macklin, M. and Andrews, S. (2020) The Match-stick Model for Anisotropic Friction Cones. Computer Graphics Forum, 39, 450-461. https://doi.org/10.1111/cgf.13885

  5. 5. Xu, J., Danielczuk, M., Steinbach, E. and Goldberg, K. (2020) 6DFC: Effi-ciently Planning Soft Non-Planar Area Contact Grasps Using 6D Friction Cones. 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, 31 May-31 August 2020, 7891-7897. https://doi.org/10.1109/ICRA40945.2020.9197293

  6. 6. 胡晨, 张学聃, 马惠敏. 适应物体形状的虚拟手抓取[J]. 中国图象图形学报, 2017, 22(5): 663-670.

  7. 7. 邹俞, 晁建刚, 林万洪. 虚拟手抓持规则融合策略研究[J]. 计算机工程与科学, 2019, 41(7): 1203-1211.

  8. 8. 邹俞, 晁建刚, 林万洪. 基于局部坐标系构建的抓持物体固连方法[J]. 计算机仿真, 2019, 36(4): 334-339+344.

  9. 9. Talvas, A., Marchal, M., Duriez, C. and Otaduy, M.A. (2015) Aggregate Constraints for Virtual Manipulation with Soft Fingers. IEEE Transactions on Visualization and Computer Graphics, 21, 452-461. https://doi.org/10.1109/TVCG.2015.2391863

  10. 10. Talvas, A., Marchal, M. and Lécuyer, A. (2013) The God-Finger Method for Improving 3D Interaction with Virtual Objects through Simulation of Contact Area. 2013 IEEE Symposium on 3D User Interfaces, Orlando, 16-17 March 2013, 111-114. https://doi.org/10.1109/3DUI.2013.6550206

  11. 11. Delrieu, T., Weistroffer, V. and Gazeau, J.P. (2020) Precise and Realistic Grasping and Manipulation in Virtual Reality without Force Feedback. IEEE Conference on Virtual Reality and 3D User Interfaces, Georgia, 22-26 March 2020, 266-274. https://doi.org/10.1109/VR46266.2020.00046

  12. 12. Verschoor, M., Lobo, D. and Otaduy, M.A. (2018) Soft Hand Simulation for Smooth and Robust Natural Interaction. IEEE Conference on Virtual Reality and 3D User Interfaces, Tuebingen/Reutlingen, 18-22 March 2018, 183-190. https://doi.org/10.1109/VR.2018.8447555

  13. 13. Kim, J. and Park, J. (2015) Physics-Based Hand Interaction with Virtual Objects. IEEE International Conference on Robotics and Automation, Seattle, 26-30 May 2015, 3814-3819. https://doi.org/10.1109/ICRA.2015.7139730

  14. 14. Jacobs, J. and Froehlich, B. (2011) A Soft Hand Model for Physically-Based Manipulation of Virtual Objects. IEEE Virtual Reality Conference, Singapore, 19-23 March 2011, 11-18. https://doi.org/10.1109/VR.2011.5759430

  15. 15. Chessa, M., Maiello, G., Klein, L.K., Paulun, V.C. and So-lari, F. (2019) Grasping Objects in Immersive Virtual Reality. 2019 IEEE Conference on Virtual Reality and 3D User Interfaces (VR), Osaka, 23-27 March 2019, 1749-1754. https://doi.org/10.1109/VR.2019.8798155

  16. 16. Quan, W., Yang, H., Han, C. and Li, Y. (2020) Realistic Interaction System for Human Hand in Virtual Environments. 2020 International Conference on Intelligent Transportation, Big Data & Smart City (ICITBS), Vientiane, 11-12 January 2020, 772-778. https://doi.org/10.1109/ICITBS49701.2020.00169

期刊菜单