熊 巍,王清辉,黄仲东,许晨旸
(华南理工大学设计学院,广东 广州 510641)
大型产品虚拟装配环境的视点漫游技术
熊巍,王清辉,黄仲东,许晨旸
(华南理工大学设计学院,广东 广州 510641)
针对大型产品虚拟装配环境中的场景漫游问题,提出一种简单且高效的视点运动控制策略。以认知心理学和人机工程学理论为指导,首先建立人手作业空间,然后对作业空间进行功能划分,分为对象操作区和视点漫游区,最后在功能分区的基础上建立人手运动感知与视点运动控制的映射模型。通过实验证明,操作者对大型产品进行虚拟装配的过程中,可以轻松地利用该方法实现场景漫游,进而实现虚拟环境中对象操作和场景漫游的无缝集成。
虚拟装配;人机工程;运动感知;视点漫游
虚拟装配(virtual assembly,VA)是虚拟现实技术(virtual reality,VR)在装配领域的一项重要应用[1]。设计人员在计算机生成的虚拟环境中,通过三维直接操作交互手段,对产品的数字化样机进行装配,从而对产品的可装配性作出直接评价。人机交互是虚拟装配系统设计需要考虑的重要因素,直接关系到产品装配仿真过程中的交互效率和用户体验。一般来说,虚拟环境中的人机交互包括场景漫游(scene navigation)、对象操作(object manipulation)和系统控制(system control)三个方面[2],其中前两项直接用于实现用户的交互任务。针对虚拟装配中的交互式对象操作技术,国内外学者进行了深入的研究。如Gomes和Zachmann[3]
提出了基于“碰撞检测”和“位姿近似捕捉”的虚拟装配定位算法,杨润党等[4]提出基于约束的交互式装配操作,刘振宇等[5]研究了基于语义的交互操作。这些研究主要是集中于对桌面式的虚拟装配系统的开发,用户在小范围的工作空间即可完成产品的装配建模。然而在大型产品的装配环境中,用户需要在不同的工位和设备之间往返或进入产品内部以完成相应零部件的装配工作,如对于飞机或汽车的总装配。因此,对于大型产品的虚拟装配,还需要通过场景漫游来衔接各道装配工序。
场景漫游,也称为视点漫游,是指计算机通过变换相机在虚拟环境中的位置和方向,将实时渲染的画面由显示设备反馈给用户,模拟用户在虚拟环境中行走的效果。目前VR中的交互式漫游主要通过三维鼠标或游戏外设来实现,例如将三维鼠标在三个轴向的推拉和旋转操作映射到视点的空间运动,实现用户在三维场景中的漫游。詹荣开等[6]运用 Logitech三维鼠标作为控制传感器实现了一个视点跟踪输入的漫游演示程序,郝爱民等[7]利用操纵杆实现了人在回路的虚拟直升机漫游。但是基于虚拟外设的漫游方法并不能很好地适用于虚拟装配任务,其存在如下3个方面的问题:
(1) 用户通过手直接操作虚拟零部件,需要佩戴数据手套及其他位置跟踪设备,不方便操作三维鼠标或操纵杆;
(2) 在沉浸式虚拟装配环境中,用户不会始终处于单一的作业姿势,难以使用固定放置在桌面上的控制设备;
(3) 对象操作和场景漫游作为两种相对独立的操作模式,用户需要在这两种模式之间切换,才能满足交互任务的要求。
总而言之,目前虚拟装配环境下的交互式漫游主要存在用户操作不便、交互模式不符合人的认知方式、用户体验不佳的问题。刘国华[8]设计的一种行走运动感知装置,用户可以在该装置上完成直线行走及左右转向,从而实现虚拟环境中的漫游功能。但该装置体积庞大,构造复杂,而且现有的研究中并未针对用户体验做出有效评价。
本文提出一种简单而有效的虚拟装配环境交互漫游方法,其理论背景包括了认知心理学和人机工程学。认知心理学认为知识不仅存在于人脑中,而且也存在于外部世界的对象中,人类对世界进行感知和认知以及决策是通过这两种知识的结合进行的[9]。人机工程学认为在设计和制造中,应将“人的因素”作为一个重要条件来考虑,人体尺度参数是指导设计的重要依据[10]。综合考虑,该方法首先对人手作业空间进行功能划分,设计人手运动与视点运动的映射关系,然后通过感知人手的空间运动,捕捉用户的交互意图,最终实现虚拟零件操作和场景漫游的无缝集成。
1.1用户坐标系
对于需要捕捉用户身体动作的虚拟仿真系统,一般需要建立世界坐标系和设备坐标系。世界坐标系(world coordinate system,WCS)用来对场景中所有几何对象的空间位置和姿态进行描述,是物体碰撞检测和装配运动仿真的基础。设备坐标系(device coordinate system,DCS)可用来保存和表示由传感器捕捉的用户身体运动数据,如位置跟踪设备捕捉手的空间位姿。
另外,为了对用户的作业范围以及手在作业范围中的空间位置和姿态进行简洁且高效地描述,本文还建立以用户为中心的坐标系——用户坐标系(user coordinate system,UCS)。UCS的建立需要满足 2个原则:①能够表示用户身体的空间位置和姿势;②从用户为中心的角度,能够对用户的作业范围以及手在作业范围中的空间位置和姿态进行简洁的描述。
如图1所示,UCS的坐标原点OU位于人体右肩关节处,XU轴垂直人体矢状面并指向右方,YU轴垂直人体冠状面并指向正前方,根据右手法则可确定ZU轴,ZU轴沿铅垂方向指向正上方。图1中的XWYWZWOW表示WCS,XDYDZDOD表示DCS。
图1 用户坐标系
UCS可以用于对作业空间及作业空间中手的当前位姿进行描述,但是虚拟手与场景中的虚拟零件发生交互关系时,如碰撞检测,还需要将手的位置转换到世界坐标系下进行统一计算。通过矩阵运算可以实现虚拟对象的坐标在不同坐标系下的转换。
1.2作业空间
人手的作业空间是人在自身物理限制范围内可执行操作任务的有效空间,其范围是由人手的功能尺寸和关节可活动区间决定。人体各关节的活动有一定的限度,超过限度将会造成损伤。当人处于站立姿态,肩关节的最大活动范围如表 1所示。
表1 肩关节活动范围
由于后摆的姿势对于装配操作没有实际意义,因此可将人手作业范围简化成位于人体前方的半球空间,即以UCS的坐标原点为球心,以Yu轴正向为半径方向的半球区域,如图 1所示。另外,根据 GB/T 13547-92标准提供的中国成年人常取姿势功能尺寸数据,为保证人手作业范围具有一定普遍性,取男性第95百分位数的上肢功能前伸长尺寸为作业半球的默认半径大小,如表2所示。因此,人手作业空间可看成位于身体前方半径 r为789 mm的半球区域。
表2 人手功能尺寸(mm)
通过对虚拟装配过程分析,发现装配任务执行过程中有如下特点:
(1) 虽然零件操作是虚拟装配的主要活动,但对于复杂操作环境下的装配任务,需要变换操作者的空间位置才能完成;
(2) 操作者会自觉地调整身体的位置和姿态,以满足最佳的操作姿势,让操作行为能够在舒适操作状态下得以完成;
(3) 人在准备抓取或操作远处的零件时,会下意识地更大幅度地伸展肢体。
根据以上结论,将用户作业空间划分为两个功能区,即对象操作区和视点漫游区。对象操作区和视点漫游区都是用户作业空间的子空间,当手在UCS中的当前位置处于对象操作区,则可以执行虚拟零件的装配操作;当手位于视点漫游区,则虚拟手可控制视点运动,实现场景漫游。
图2表示各功能区在UCS的XuYu平面上的水平投影,人手的作业范围被以r1和r2为半径的两个半圆分割为 3个区域,其中中间的环形区域(B区)为对象操作区,而外环(A区)和内部小半圆(C区)都是视点漫游区。
图2 用户作业空间的功能划分
由于人手的大部分操作活动是在对象操作区中进行,为了提高工作效率,减轻长期工作负荷产生的疲劳感,可根据人机工程学原理,从人手舒适程度和视觉因素两个方面来确定对象操作区的边界,以保证在零件操作时人手始终处于手眼协调区。图3表示立姿单臂作业的近身作业空间,以第5百分位数的男性为基准,当物体处于地面以上110~165 cm高度,并且在身体中心线左右46 cm范围内时,大部分人可以在直立状态下在身体前侧46 cm的范围手臂处于身体中心线处操作,其舒适作业空间最大可及弧半径为54 cm。
图3 立姿单臂舒适作业范围(cm)
对象操作区的边界还要考虑人的视觉因素,即视距。视距是指人在操作系统中正常的观察距离。视距过远或过近都会影响观察的速度和操作的精确性,一般装配任务的操作视距范围在38~76 cm之间。综合考虑人手舒适度和视觉舒适度,设置对象操作区的边界:r1=50 cm,r2=20 cm。
3.1视点运动
关于计算机图形学中的视点漫游,其本质是通过控制相机的运动来模拟视点的运动。相机运动的主要参数包括相机的位置eye,相机镜头对准的目标点位置target和相机向上的方向up。其中eye确定视点的位置,由eye指向target的连线确定了视线方向。本文模拟的漫游方式是人的行走,因此对相机模型进行简化,包括:①将eye和target约束在视平面上,即视线始终保持在过视点的水平面上;②不考虑相机绕着视线的旋转,即忽略相机向两侧的翻滚。因此,相机模型可简化为视平面上一条由eye(xe, ye, h)指向target(xt, yt, h)的有向线段P,线段的方向表示视线的方向,其中h为视点高度,如图4(a)所示。设则虚拟环境中的视点漫游可表示成P在WCS中的旋转变换和平移变换。
图4 视点运动模型
设ti到ti+1时间间隔△t内,△t=ti+1–ti。
(1) P绕eye旋转△θ角度(图4(b)),则:
其中,R=R(△θ)为绕eye逆时针转△θ的旋转变换矩阵,R=TRzT–1
(2) P沿旋转后的视线方向平移△s距离(图4(c)),则:
其中,Ts=T(△x, △y)为平移变换矩阵,即:
△x和△y分别表示沿WCS的X轴和Y轴的平移分量,△x=△s×sinθ,△y=△s×cosθ,θ为当前视线的方向角,视点的位移方向应与视线的方向角一致。当虚拟场景初始化时,设相机的初始方向为标准方向,标准方向与南北方向线平行,如图5(a)所示。在相机运动过程中,当前时刻视线方向角 θ为视线方向与标准方向所夹的锐角(θ<π/2),图5(b)~(e)表示不同方向角的情况。
图5 视线的方向角
3.2基于人手运动感知的视点运动控制
接下来讨论用户手对视点运动的位移距离△s和旋转角度△θ的控制,即建立UCS中手的位置与视点运动之间的映射关系。
若手在UCS中的位置hand(xh, yh, zh),这里仅考虑手的x, y坐标,那么人手在XUYU平面上正投影的位置矢量为H(xh, yh),rh表示hand到坐标原点的距离,设在△t时间间隔内,视线的初始方向角为θi,视线的终止方向角为θi+1,视点的运动线速度大小为v,角速度大小为ω,可计算视点的位移△s和转角△θ。其中,k1和 k2分别是线速度和角速度大小的比例系数,d为hand沿H方向上到对象操作区边界的距离。φ称为控制角,用来映射相机偏离标准方向的角速度,是位置矢量H与YU轴正向的夹角。当hand处于XUYU平面的第一象限,φ取负值,此时可控制相机向右方偏航(顺时针旋转),如图6(c)、(e)所示;当hand处于XUYU平面的第二象限,φ取正值,此时可控制相机向左方偏航(逆时针旋转),如图6(b)、(d)所示。
图6 人手处于用户作业空间的区域分析
下面根据人手在不同功能区域的 3种位置情况,讨论如何得到视点的旋转变换矩阵 R(△θ)和平移变换矩阵T(△x, △y)。
(1) 用户手位于B区(r2<rh<r1):此时v=0,ω=0,用户只能操作虚拟零件,而不能对视点运动进行控制,如图6(a)所示。
(2) 用户手位于A区(r1≤rh≤r):可控制视点朝前进方向运动,如图6(b)、(c)所示。此时d=rh–r1,θi+1的大小与θi的方向有关。
当θi为北偏东向或南偏西向时,
当θi为北偏西向或南偏东向时
为了保证视点的位移方向与视线当前方向一致,△x、△y的正负号与θi+1的方向有关,如表3所示。
表3 视点位移方向
(3) 用户手位于C区(0<rh<r2):可控制视点朝后退方向运动,此时d=r2–rh,如图6(d)、(e)所示,视线方向角θi+1的计算与上述方法相同。△x、△y的正负取值与方向角θi+1的关系如表4所示。
表4 视点位移方向
由△x、△y和△θ,则可得到视线旋转变换矩阵 R(△θ)和平移变换矩阵T(△x, △y)。在虚拟装配交互过程中,将虚拟手的位姿矩阵也乘以R(△θ)和T(△x, △y),则可实现以用户为中心的第一视角漫游。
为了验证本文提出的视点漫游方法,其分别以多通道立体投影和头盔显示器作为视觉输出设备,搭建两套虚拟装配实验平台,如图 7和图 8所示。两套系统的输入设备都是数据手(CyberGlove,Immersion)和电磁位置跟踪器(Fastrak,Polhemus)。系统的硬件平台为BOXX(3DBOXX W3960)图形工作站,软件开发平台为 OpenGL图形库和 MFC应用程序框架。Fastrak(图9)的两个接收器分别固定于用户的肩关节(UCS的坐标原点)和手腕处,用于采集身体和手的空间位姿。
图7 采用多通道立体投影的虚拟现实系统
另外,通过开发一个航空活塞发动机虚拟装配程序,以测试视点漫游方法的交互性能。实验选择10名学生用户,在熟悉实验系统后,进行虚拟装配实验。实验流程如下:用户进入虚拟场景(图10(a));在场景漫游模式下,通过手部运动来控制视点漫游,实现从不同视角对装配部件进行观察(图10(b));在对象操作模式下,拾取待装配零件,并再通过视点漫游功能移动到合适的装配位置(图10(c));完成零件装配(图10(d))。
图8 采用头盔显示器的虚拟现实系统
图9 电磁位置跟踪器
图10 虚拟装配仿真
实验完成后,用户对虚拟装配系统做出可用性评价(见表5)。
表5 用户体验评价
根据实验结果,各项评价指标的平均分都高于8分。因此,用户采用本文提出的方法,可以轻松地在虚拟装配环境中漫游,而不需要其他虚拟外设辅助,同时能实现对象操作和场景漫游这两种交互模式无缝集成。
大型产品的虚拟装配往往需要通过漫游来衔接各道工序,本文提出一种简单且高效的视点运动控制策略来实现场景漫游功能。以人机工程学的数据为基础,首先建立人手作业空间,然后对作业空间进行功能划分,分为对象操作区和视点漫游区,最后在功能分区的基础上建立人手运动感知与视点运动控制的映射模型。通过实验证明,操作者对大型产品进行虚拟装配的过程中,可以轻松地利用该方法实现场景漫游,并且能够比较自然地在对象操作和场景漫游这两种交互模式之间过渡。
[1] 许晨旸, 张瑞秋, 刘林, 等. 集成几何约束与物性仿真技术的虚拟装配[J]. 图学学报, 2015, 36(3): 392-395.
[2] Hand C. Survey of 3D interaction techniques [J]. Computer Graphics Forum, 1997, 16(5): 269-281.
[3] Gomes de Sa, Zachmann G. Virtual reality as a tool for verification of assembly and maintenance processes [J]. Computer and Graphics, 1999, 23(3): 389-403.
[4] 杨润党, 武殿梁, 范秀敏, 等. 基于约束的虚拟装配运动导航技术[J]. 农业机械学报, 2006, 37(3): 113-118.
[5] 刘振宇, 谭建荣, 张树有. 基于语义识别的虚拟装配运动引导研究[J]. 软件学报, 2002, 13(3): 382-389.
[6] 詹荣开, 王宏伟, 任敏, 等. Logitech三维鼠标及其在三维场景漫游中的应用[J]. 计算机工程, 2001, 27(1): 187-188.
[7] 郝爱民, 庞国峰, 纪玉春. 虚拟珠峰飞行漫游系统逼真性的研究与实现[J]. 系统仿真学报, 2000, 12(7): 356-359.
[8] 刘国华. 大型产品虚拟装配系统中人机交互关键技术的研究[D]. 哈尔滨: 哈尔滨工业大学, 2006.
[9] Norman D A. The design of everyday things [M]. New York: Basic Books, 2002: 54-58.
[10] 程能林. 工业设计手册[M]. 北京: 化学工业出版社, 2007: 465-469.
Viewpoint Navigation Techniques for Virtual Assembly Environment of Large-Scale Products
Xiong Wei,Wang Qinghui,Huang Zhongdong,Xu Chenyang
(School of Design, South China University of Technology, Guangzhou Guangdong 510641, China)
A high-efficiency navigation strategy is proposed for virtual assembly environment of large-scale products. Based on the theory of cognitive psychology and ergonomics, a workspace of human hand is constructed. Then the workspace is divided into object operation space and viewpoint navigation space. Finally a motion mapping relationship between human hand and viewpoint is developed. It has been proven by experiments that the users can easily navigate the virtual environment in the virtual assembly process. So the two interactive modes, object operation and scene navigation, can be integrated seamlessly.
virtual assembly; ergonomics; motion perception; viewpoint navigation
TP 391
A
2095-302X(2015)06-0937-07
2015-04-10;定稿日期:2015-07-16
国家自然基金资助项目(51105144);华南理工大学中央高校基本科研业务费(2014ZM0026)
熊巍(1979–),男,江西南昌人,讲师,博士研究生。主要研究方向为虚拟现实技术。E-mail:weixiong@scut.edu.cn