集成几何约束与物性仿真技术的虚拟装配

2015-12-19 06:14许晨旸张瑞秋
图学学报 2015年3期
关键词:物性位姿引擎

许晨旸, 张瑞秋, 刘 林, 熊 巍

(华南理工大学机械与汽车工程学院,广东 广州 510641)

集成几何约束与物性仿真技术的虚拟装配

许晨旸, 张瑞秋, 刘 林, 熊 巍

(华南理工大学机械与汽车工程学院,广东 广州 510641)

针对传统装配定位导航中零部件位姿的突变问题,利用线性插值与四元数球形插值的方法,求解零部件约束定位变换过程的渐变运动;同时利用导纳式力觉交互控制模式,解决了约束定位变换后的控制信号分离问题;在装配运动导航阶段,将约束几何元素具象化为力觉约束模型,以满足虚拟装配对力觉反馈的需求。针对虚拟装配对物性仿真的需求,将开源物理引擎Bullet集成到仿真系统中,提出几何约束与物性仿真技术相结合的装配流程,最后在自主研发的虚拟装配原型系统中进行了应用实例验证。

插值方法;导纳控制;力觉约束模型;虚拟装配;物理引擎

近年来,虚拟现实技术的发展取得了长足的进步,已广泛应用于医学、制造、教育等领域。虚拟装配是虚拟现实技术在产品设计制造领域的一个重要应用[1-2]。对于虚拟装配过程仿真技术的研究,主要趋于两个方向:基于几何约束的与基于物理属性的仿真方法。国外的Rajan和Kevin[3]、Ram等[4]在约束归约算法、装配运动导航方面进行了一定的研究;国内的高瞻等[5]、张丹等[6]在装配定位导航与装配意图识别方面取得了相应成果;清华大学的张林鍹和童秉枢[7]提出了一种11元组表示法,有效地表示了零部件的装/拆运动与变换;华南理工大学的卢丽婷等[8]结合单点式力反馈器,研究了基于轴线约束的装配引导力。但在以往的研究中,装配定位导航过程基本都存在零件位姿突变的情形,且添加完成装配约束后,存在控制信号分离问题。另外,在几何约束结合力反馈设备方面的研究也略显不足。

在基于物性的装配仿真方法方面,华盛顿州立大学Wang等[9]通过综合应用基于物理属性的建模方法以及约束运动仿真,研究了与装配模型相关的三种运动过程。北京理工大学的张志贤等[10]提出虚拟装配中基于多刚体动力学的物性装配仿真方法,实现了以力为输入参数的零部件装配过程仿真。但是大部分研究在仿真系统的实时性、效率方面存在不足,且缺乏装配交互力的输出。另外,由于计算机软硬件技术及交互设备精度的限制,单纯基于物性的装配仿真难以实现小间隙与高精度装配。

针对上述问题,在借鉴前人研究成果并分析当前技术能力后,本文给出了对于零部件添加装配约束过程的渐变处理方法,并在此基础上结合导纳式力觉交互控制模式,解决了控制信号分离问题;在装配运动导航阶段将几何约束具象化为力觉约束模型,提供了力觉导航指导;然后将Bullet物理引擎集成到虚拟装配系统中,结合虚拟匹配的方法来实现实时性较好的物性装配仿真;最后将上述技术应用到一个完整的装配流程中,并通过实例对所述理论进行了验证与应用。

1 基于几何约束的装配技术

虚拟装配中的导航分为装配定位导航与装配运动导航,基于几何约束的装配技术需要根据零部件间的约束几何元素进行装配导航。

1.1 装配定位导航

针对传统装配定位导航中的零部件位姿突变现象,本文利用插值的方法,对零部件的约束定位变换过程进行渐变处理。

当主动体(待装零部件)和基体之间满足约束添加条件时,开始约束定位变换,主动体此时的位姿用4×4的矩阵M0表示,用主动体局部坐标系原点的初始位置向量右乘矩阵M,

0可得主动体变换的位置初始值 V0=M0Vori;利用矩阵分解理论,可得对应矩阵M0的姿态四元数Q0=[η,(x,y,z )],其中(x,y,z)表示一空间向量,η表示绕向量(x,y,z)的转角。另外,根据预定义的基体上的约束定位信息,可得约束定位变换的目标位置向量 VT和目标姿态四元数QT。

根据仿真程序运行的帧率为50 fps左右,拟定约束定位变换过程需要 60帧。设定一个计步器gTick,从变换开始,仿真程序每运行一帧gTick+1,直到gTick累加到60变换结束。取gTick与60的比值作为对主动体的位置向量和姿态四元数进行插值运算的插值参数。对于位置向量,根据求得的变换初始值 V0和变换目标值VT,利用向量的线性插值法计算每帧对应的主动体位置向量:

对于姿态四元数,同理利用四元数的球形插值法计算每帧对应的主动体姿态四元数:

主动体经过约束定位变换,产生了一个位姿差ΔM,而此时力觉交互接口还处于变换前的位姿,从而产生了控制信号分离问题。对此,本文将操作者主动控制的模式改变为程序主动控制的模式,模拟导纳式力觉交互控制模式(主动输出交互接口的位置)。以力反馈器PhantomDesktop为例,约束定位变换开始时,停止设备对代理点(力觉交互接口)位姿的更新维护方案;利用设备对代理点位置的主动控制解决方案PROXY ROUTINE,并以上文求得的 Vi作为代理点位置输出的控制指令序列,可以使设备随着主动体约束定位变换的渐变运动,同步的每帧变换对应的代理点位置。这样,约束定位变换结束时,代理点即位于主动体的变换目标位置,不存在空间位姿差,交互接口和主动体的运动空间位置始终具有一致性,并且可在真实环境中产生沿着操作端变换轨迹的引导力,给予操作者在视觉和触觉上的双通道协同指导作用。

1.2 装配运动导航

零部件添加完成装配约束后,进入装配运动导航阶段,此时将设备代理点与被操纵零部件的运动空间位姿绑定,即代理点的位姿增量矩阵ΔMp映射为零部件的位姿增量矩阵ΔMA=ΔMp。根据零部件添加的几何约束条件,将约束几何元素具象化为力觉约束模型,用以限制代理点的空间运动,从而限制了零部件在约束空间下的运动,且能够给予操作者在力觉感知上的导航指导。

将约束几何元素中的点、线、面分别具象化为以约束点为中心的重力井模型、以约束线为轴线的圆柱约束模型和以约束面为基准的虚拟墙模型。如图1(a)所示,在以约束点为球心的球体内,代理点都将受到指向球心的吸引力FPt=kPtxPt,其中,xPt为代理点与约束点的空间距离;如图1(b)所示,在以约束线为轴线的圆柱体内,代理点都将被约束在轴线上运动,一旦偏离,将受到径向的约束力FL=kLxL,其中,xL为代理点偏离约束线的径向距离;如图1(c)所示,以约束面为基准构造虚拟墙,代理点无法沿着约束面内法线方向平移,否则将受到阻挡力FPl=kPlxPl,其中,xPl为代理点穿透虚拟墙的深度。

图1 力觉约束模型

2 基于物性的装配技术

开源物理引擎Bullet具有碰撞检测、碰撞响应仿真及刚体运动仿真等功能,本文将其集成到装配系统中以实现所需的物理仿真。在零部件几何信息的基础上,添加基本的物理属性信息如质量、转动惯量、弹性恢复系数等以及运动状态量如线速度、角速度、线动量、角动量等。根据这些信息,在Bullet物理引擎构造出的虚拟物理世界中添加对应每个零部件的虚拟刚体。之后将力觉交互设备的操作信息输入物理引擎模块,仿真运算出各零部件刚体在操作者作用下的运动状态变化。其中的零部件位姿信息通过图形引擎显示输出,而零部件间的交互作用力通过力反馈设备输出。

集成Bullet物理引擎,需要设计一个Bullet物理引擎类BulletWrapper,且考虑到物理仿真的效率问题,在BulletWrapper类中集成OpenGL的开源图形工具库广义线性模型(general liner model, GLM)用以作为通用且高效的图形读取接口。将最精细的三维模型用于图形显示;而用于构造刚体碰撞形体的模型,需要对精细模型进行减面处理并去除含有过多顶点、面片数的特征如螺纹等,最后通过GLM读取接口读入模型信息。精细的三维模型和处理后的三维模型如图2所示。

图2 轴零件两种模型对比

仿真程序要不断调用 BulletWrapper类中的stepPhysics成员函数以迭代更新各零部件的运动状态。物理引擎需要读取力反馈设备的操作信息,还要将交互作用力通过力反馈设备输出;而力反馈设备以至少1 000 Hz的帧率更新交互信息,故物理引擎也必须以尽可能高的帧率进行仿真运算,否则可能由于对操作信息的处理不够及时,而引起被操纵零部件运动状态的阶跃变化或反馈力的振荡问题。因此,选择在设备的 ServoLoop线程中调用stepPhysics函数,虽然Bullet物理引擎默认的仿真帧率为60 Hz,但其内在的自动仿真插值机制弥补了与ServoLoop 1 000 Hz帧率的差异,能达到良好平滑的仿真效果。

对于零部件的操控问题,基于物性的仿真方法必须获得装配操作力/力矩信息,而所用力反馈设备只能输入位姿信息,故利用虚拟匹配的方法在设备代理点和被操纵零部件质心之间建立弹簧阻尼连结系统如图3所示(其中K表示连结系统刚度系数,B表示连结系统阻尼系数),将输入的位姿信息映射为对零部件施加的装配操作力/力矩信息。

每次仿真首先通过物理引擎获取被操纵零部件最新更新的位置向量VR、姿态四元数QR以及运动线速度VR、运动角速度ωR,并通过力反馈设备获取代理点实时的位置向量Vp和姿态四元数Qp。在ServoLoop线程中获得代理点空间位置信息是基于设备坐标的,必须经过坐标变换转换成虚拟场景中对应的空间位置:

图3 利用虚拟匹配施加装配操作力

其中,MD-W为设备坐标到世界坐标的变换矩阵。之后根据代理点与刚体质心之间连结的弹簧阻尼系统计算施加给刚体的装配操作力:

通过BulletWrapper类的applyCentralForce函数将求得的力F作用于刚体,使零部件跟随代理点移动;同理计算施加给刚体的装配操作力矩:

通过BulletWrapper类的applyTorque函数将求得的力矩T作用于刚体,使零部件跟随代理点转动。在仿真过程中,被操纵零部件发生碰撞后,其质心位置不再和代理点的空间位置保持一致,由连结的弹簧阻尼系统将产生碰撞后的装配操作力:

其中,Xc、 vc分别为碰撞后零部件质心与代理点间的位置差以及零部件的速度。利用作用力与反作用力原理,取Fo=-Fc(需要限制 Fo的值不超过力反馈设备的名义最大连续输出力值)作为交互碰撞力,可以直接在ServoLoop线程中通过设备反馈输出,给予操作者在力觉感知上的零部件碰撞提示,增强虚拟装配的沉浸感。

3 集成几何约束与物性仿真技术及实例

将上述的基于几何约束的装配技术和基于物理属性的仿真技术集成到虚拟装配系统中:一方面,基于几何约束的装配技术利用几何元素的匹配与力觉约束模型实现了精确的装配定位与导航,能解决单纯物理仿真中由零件结构的复杂性、数值计算的误差性等引起的装配效率低的问题;另一方面,基于物性的仿真技术能避免穿透等的不真实现象发生,且能通过力反馈设备输出装配交互力,弥补了基于几何约束技术的缺陷。

结合两种技术到装配仿真中,将整个装配操作过程分为3个阶段:①自由操控阶段;②智能约束添加阶段;③力觉约束导航阶段。自由操控阶段以Bullet物理引擎仿真为核心,操作者可自由操纵零部件进行装配运动;力觉约束导航阶段在装配定位导航结束后,通过绑定力觉交互接口与零部件的位姿并结合力觉约束模型来进行装配运动导航。自由操控阶段和力觉约束导航阶段是相对独立的两个阶段,分别在两个线程(物理线程与图形线程)中实现,它们通过智能约束添加阶段过渡,即智能约束添加阶段实现了装配定位导航的功能。在自主研发的虚拟装配原型系统中,将上述集成过程进行了实现,整个虚拟装配实现流程如图4所示。

图4 装配实现流程

按上述装配流程,以力反馈器PhantomDesktop作为力觉交互设备,进行典型的轴孔装配仿真。虚拟装配场景如图5所示,欲将轴装入轴承座中。首先操作者通过设备代理点拾取待装配轴,仿真程序进入自由操控阶段,操作者自由操纵轴运动,过程期间轴与轴承座发生两次碰撞,Bullet物理引擎进行碰撞响应仿真,操作者感受到相应的碰撞反馈力。该阶段中的交互作用力如图6所示。

按照装配意图,操作者操纵轴的一端靠近轴承座孔中心,当满足约束添加条件时,进入智能约束添加阶段,停止物理引擎的仿真,零部件位姿信息不再由物理引擎提供,轴开始智能地约束定位变换渐变运动,其过程如图7所示。

约束定位变换到位后,轴与轴承座孔间的轴线对齐约束添加完成,进入最终的力觉约束导航阶段。首先操作者感受到线约束力觉模型产生的约束力将轴约束在轴线上运动,相应的反馈力如图8“线约束效果”段所示;操作者操纵轴沿着轴线推进,当运动到最终的面贴合约束位置,面约束力觉模型将产生阻挡力提示操作者装配到位,相应的反馈力如图8“面约束效果”段所示。

图5 轴孔装配场景

图6 交互作用力输出

图7 约束定位变换渐变过程

图8 力觉约束模型产生的反馈力

4 结 束 语

虚拟装配技术既要求仿真真实感强,又要求装配的高精度与高效率。本文首先在装配定位导航阶段,对零部件添加装配约束的过程进行插值渐变处理,同时使力觉交互接口按照零部件渐变轨迹进行同步的位置变换,增强了仿真系统的真实感与沉浸感;在装配运动导航阶段,将几何约束具象化为力觉约束模型,增加了在力觉感知上的反馈信息;然后将Bullet物理引擎集成到虚拟装配系统中,通过力反馈设备输出零部件间的交互作用力;最后将几何约束与物性装配技术结合到一个完整的装配流程中,既增强了虚拟装配的拟实性,又保证了装配交互的高效率与高精度。在自主研发的虚拟装配原型系统中,应用了所提出的理论并验证了其正确性。

[1] Jayaram S, Jayaram U, Wang Y, et al. VADE: a virtual assembly design environment [J]. IEEE Computer Graphics and Applications, 1999, 19(6): 44-50.

[2] Gomes de Sá A, Zachmann G. Virtual reality as a tool for verification of assembly and maintenance processes [J]. Computers and Graphics, 1999, 23(3): 389-403.

[3] Rajan V N, Kevin W L. Assembly representations for capturing mating constraints and component kinematics [C]// Proceedings of the 1997 IEEE International Symposium on Assembly and Task Planning, California, 1997: 206-211.

[4] Ram A, Glenn A K, Richard H C. Assembly modeling by geometric constraint satisfaction [J]. Computer-Aided Design, 1996, 28(9): 707-722.

[5] 高 瞻, 张树有, 顾嘉溉, 等. 虚拟现实环境下产品装配定位导航技术研究[J]. 中国机械工程, 2002, 13(11): 901-904.

[6] 张 丹, 左敦稳, 焦光明, 等. 面向虚拟装配的约束建模与装配意图捕捉技术[J]. 计算机集成制造系统, 2010, 18(6): 1208-1214.

[7] 张林鍹, 童秉枢. 并行工程中的装配仿真系统及其关键技术研究[J]. 计算机辅助设计与图形学学报, 1999, 11(2): 163-167.

[8] 卢丽婷, 刘 林, 熊 巍. 基于单点式力反馈器的虚拟装配研究[J]. 图学学报, 2014, 35(2): 280-284.

[9] Wang Yong, Jayaram S, Jayaram U, et al. Physically based modeling in virtual assembly [J]. The International Journal of Virtual Reality, 2001, 5(1): 1-14.

[10] 张志贤, 刘检华, 宁汝新. 虚拟装配中基于多刚体动力学的物性装配过程仿真[J]. 机械工程学报, 2013, 49(5): 90-99.

Virtual Assembly Combining Geometric Constraint with Physical Simulation Techniques

Xu Chenyang, Zhang Ruiqiu, Liu Lin, Xiong Wei

(School of Mechanical and Automotive Engineering, South China University of Technology, Guangzhou Guangdong 510641, China)

In order to solve the problem of sudden change of components′ position and orientation during conventional assembly allocation navigation, an algorithm based on linear interpolation and spherical linear interpolation is proposed. A method of admittance control mode is presented to solve the problem of control signal separation after assembly allocation navigation. During assembly motion navigation, force sensing constraint models are created to meet the requirement of feedback force in virtual assembly. The Bullet physics engine is integrated into virtual assembly system for physical simulation. A virtual assembly process combining geometric constraint with physically-based techniques is given and implemented in the virtual assembly prototype system.

interpolation method; admittance control; force sensing constraint model; virtual assembly; physics engine

TP 391

A

2095-302X(2015)03-0392-05

2014-09-14;定稿日期:2014-12-13

许晨旸(1990-),男,广西桂林人,硕士研究生。主要研究方向为虚拟现实技术。E-mail:124725783@qq.com

刘 林(1960-),男,湖南株洲人,教授,硕士,研究生导师。主要研究方向为计算机图形学、虚拟现实技术。E-mail:liuling@scut.edu.cn

猜你喜欢
物性位姿引擎
物性参数对氢冶金流程能耗及碳排放的影响
R1234ze PVTx热物性模拟计算
中韩天气预报语篇的及物性分析
LKP状态方程在天然气热物性参数计算的应用
新海珠,新引擎,新活力!
无人机动平台着陆惯性/视觉位姿歧义校正算法
船舶清理机器人定位基准位姿测量技术研究
车坛往事4:引擎进化之屡次失败的蒸汽机车
优化ORB 特征的视觉SLAM
蓝谷: “涉蓝”新引擎