赵崇博 邢世林 冯奕铭 甄润佳 郭庆
摘 要:虚拟维修在航空培训领域被广泛应用,随之出现了某单一设备弊端突出等问题。虚拟维修重定位技术的研究是为了解决虚拟维修系统在实际应用中存在的人体模型飘移,灵敏度低,人体动作存在时延等问题所导致的低浸入感的弊端。本次研究将通过结合光学动作捕捉系统和惯性动作捕捉系统两种不同的动作捕捉技术,同时利用光学高位置定位精度及惯性高转角测量精度的特點,生成系统而全面可行的低成本、高可靠性多系统融合的混合式解决方案。最终,建立一个虚拟维修场景加以验证。
关键词:虚拟现实 惯性传感器 运动重定向 动作捕捉
中图分类号:TP317 文献标识码:A 文章编号:1674-098X(2020)07(c)-0004-03
Abstract: Virtual maintenance is widely used in the field of aviation training. The research of virtual maintenance repositioning technology is to solve the disadvantages of low immersion caused by drifting, low sensitivity and delay of human body movement in the practical application of virtual maintenance system. This research will combine the two different motion capture technologies of optical motion capture system and inertial motion capture system, and at the same time make use of the characteristics of optical high position positioning accuracy and inertial high angle measurement accuracy to generate a comprehensive and feasible hybrid solution with low cost and high reliability of multi-system fusion. Finally, a virtual maintenance scenario is established for verification.
Key Words: Virtual reality;Inertial sensor;Motion redirection;Motion capture
虚拟现实技术 (VR技术) 是模拟人在自然环境中的视、听、触等人类感官,将现实中的各类感觉高度还原。目前,作为体感交互主流的惯捕系统(下文简称“惯捕”),基于人体工程学各部位的六自由度信息捕获,实时展现人体运动姿态。此系统不易受外部环境影响,性价比高,但飘移误差较大,灵敏度低。而VR技术主要应用的光捕系统(下文简称“光捕”)在灵敏度,漂移误差,动作时延等方面都要优于惯捕系统,但也存在易受场地环境影响的问题。此次研究将两项技术结合使用,实现更好的VR浸入式体验。
1 实验系统总体框架
VR技术综合了多种先进的技术,能够为人们创造一个仿真的虚拟环境, 带给使用者高度的真实感和沉浸感[1-2]。本系统采用3dsMAX为虚拟场景和三维模型的建模工具,以Unity3D虚拟仿真软件作为虚拟现实开发引擎,Perception Neuron体感设备作为捕捉用户动作信息的采集器,Microsoft Visual Studio2018为程序开发整合平台,HTC vive作为用户浸入体验窗口和用户头部转角信息采集器,开发了基于U3D的人物重定位虚拟仿真系统。通过建模、虚拟环境建模、动捕数据与虚拟人物骨骼的绑定、光捕对惯捕的绑定和算法优化4个阶段完成[3]。有效避免光捕受信号遮挡造成数据间断以及运动捕捉系统在实时驱动过程中受到外界干扰会产生噪声数据所带来的影响[4]。
2 虚拟现实中人物重定位的三维建模
2.1 人物建模
在3dsMAX三维建模软件中进行对人物模型的构建,为虚拟维修场景提供代替操作者的角色。相比于Perception Neuron工程包本身自带的机器人,更具有真实性。构建多边形立体或多边形平面,通过指令调节物体形状以及比例关系。在接近人体形状的条件下,尽量做到模型线条的均匀,减少分叉。为后期骨骼的绑定以及模型的渲染做准备。
2.2 虚拟人物模型的骨骼建模及绑定
在3dsMAX软件的控制面板中创建基本人物骨架,然后调整骨架的比例关系使其更加接近人体骨架。比较Neuron的骨骼结构,在控制面板中对身体各个结构的关节数进行增删,使其与Neuron动捕数据相匹配。然后进行蒙皮操作,通过调整骨架的大小,反复操作确保其各个关节完全匹配。
2.3 维修厂虚拟场景的三维建模
基于Unity3D的游戏开发平台,并以自身对于民用航空发动机工程的认识为基础,仿造cfm56-7发动机,利用CATIA三维建模软件构建航空发动机模型。并给予其合适的贴图、渲染以及比例关系,从而提高发动机模型整体的逼真度。利用3dsMAX三维建模软件对厂房以及飞机驾驶舱进行构建。注意模型的类型应与Unity3D兼容。按照实际大修厂房内部的布局,将模型(如大修厂房、飞机、维修工具箱、梯子、货架等)导入Unity3D工程的场景中进行摆放。
3 光捕校准惯捕的具体实施方案
3.1 原理及优缺点
HTC光捕定位原理:
由两个形成对角的定位基站,其中每个基站中都有可以绕两个轴旋转的红外发射器阵列,两个转轴以10ms的相位差交替工作,发射红外线扫描空间。HTC光捕头盔和定位器中有大量的红外线接收器。基站闪光后重置所有设备的时间,通过设备中各个红外线接收器接受信号的时间来解算位置信息。
光捕定位的优点是解算效率高,由于红外发射器激光扫描空间周期很短,所以误差很小。缺点是需要使用空间比较空旷,如果障碍物多,会影响光信号传播,则需加装多个基站。
惯捕定位原理:
惯捕设备利用的是惯性陀螺仪的原理,各根节点分别直接测取转角(rotation)信息,根据转角变化率 得到加速度,进而积分得到速度和位置(position)信息。因为位置信息是通过积分得出的,所以存在系统积累的误差,这个误差会随使用时间的增长而增加。但由于惯性定位使用陀螺仪工作,所以对工作环境的要求不如光学定位苛刻。
在惯捕的全身定位中,依据根节点的位置,建立相对极坐标系,根据末端节点的陀螺仪,计算末端节点相对于根节点的相对角度。将肢体每段的长度给予固定值,即末端节点相对于根节点(hip)的相对距离;进而推算出根节点的空间位置坐标。总之,整个人体骨架是一个以ROOT(hip)为根的树,每个骨架节点都有一个以自己为坐标原点的局部坐标系[5]。
运动捕捉利用传感器采集到的真人运动数据驱动和控制虚拟人,效果逼真, 能生成许多复杂运动。但其不足之处是:虚拟人与真人外形和身高不匹配;真人运动受传感器和电缆限制;放置在皮肤和衣服上的标志及传感器的移动会影响数据的准确性等,这些都会导致虚拟人产生不自然的动作[6]。
3.2 虚拟与现实间对象映射
在实现光捕校准惯捕之前,需要具体了解现实中HTC光捕头盔、HTC光捕定位器、光捕定位基站、诺亦腾惯捕穿戴设备在unity工程中对应的虚拟对象。诺亦腾动捕设备的每个惯性传感器都叫做“Neuron(神经元)”,负责测量位置数据、旋转方向和加速度数据,测量到的数据流会被传输到Hub主节点中进行处理,然后连接到电脑端Axis Neuron动作捕捉软件中。经处理的浮点型二进制数的骨骼节点数据将会以BVH数据帧的方式在当地网络上进行广播。
unity工程中用steamVR资源包提供的camera对象读取HTC光捕头盔返回的位置坐标和相对转角。诺亦腾资源包中的robot对象的根节点反映了其他各個节点相对根节点的转角和根节点本身的相对位置坐标。由于惯捕的位置坐标会随时间“漂移”(位置的积累误差),但各个子节点相对根节点的相对转角随时间不会有“漂移”。所以整体构思是,把光学捕捉的位置坐标返回值赋给工程中诺亦腾惯捕robot的根节点而保留诺亦腾robot各个子节点和根节点的相对转角。
3.3 实施方案
首先,根据惯捕“定位精度差,转角精度高”的特点,保留全部节点的转角信息,去掉根节点的位置信息。我们编写follow脚本,将操作人腰间佩戴的光捕定位器的位置坐标赋值给诺亦腾robot的根节点。这样就消除了惯捕带来的漂移误差。
其次,由于需要HTC的光捕头盔和诺亦腾惯捕穿戴设备结合,如果将诺亦腾robot头部和光捕camera直接绑定,同时读取光捕头盔的位置坐标和诺亦腾robot的根节点位置坐标(由光捕定位器提供),会造成“身首异处”的现象,这是由于头和身体同时定位会打破robot整体的相对位置关系。所以我们提出一个解决方案:通过屏蔽HTC的位置移动脚本midden脚本使其跟随robot头部移动。再屏蔽诺亦腾头部模型的转角脚本,改用follow脚本使其转角跟随HTC头盔。这样不但使HTC光捕头盔能正常使用,而且还保证了工程中人物模型的完整性。最终达到整体上光捕校准惯捕的目的。
3.4 项目成果和具体效果
在完成基础步骤和优化方案后,操作人可以在头戴设备中,看到自己的全身模型,并且长时间使用设备也不会使人物模型的位置发生漂移。在此基础上,可以有效地完成虚拟维修教学的任务。
4 结语
基于虚拟维修中人物重定位技术,针对工业领域虚拟仿真实验室中人物的视觉与现实的偏差进行研究,使得光学动作捕捉系统和惯性动作捕捉系统在U3D这个强大开源兼容的底层系统中得到融合,将多组设备二次开发,突出各自优势。解决了在单一技术中出现的漂移误差较大,灵敏度低等问题,同时又能解决用户体验感差,眩晕感强烈的问题。从而在使用过程中能够达到更好的沉浸效果。该技术的突破了原有的单一设备的局限性,使得虚拟仿真技术更加成熟,仿真效果得到提升。
参考文献
[1] 刘敏.涡扇发动机控制系统故障诊断与容错控制研究[D].大连:大连理工大学,2019.
[2] 杨姣.基于Unity3D的航空发动机虚拟现实设计与研究[D].成都:西华大学,2018.
[3] 吴予忠,张渝舜,赵新宇,等.基于Unity3D的航空发动机虚拟维修仿真系统的开发[J].科技创新导报,2018,15(10):15-16.
[4] 刘闯.七自由度上肢外骨骼机械臂的控制策略研究[D].北京:北京邮电大学,2019.
[5] 王玉琦.空间双臂机器人捕获自旋目标的协调操作柔顺控制研究[D].北京:北京邮电大学,2019.
[6] 于富洋.装备虚拟维修过程建模和仿真研究及应用[D].北京:北京理工大学,2016.