虚拟装配中的虚拟手交互技术
来源:第三维度
作者:邓华林,马登哲,范秀敏
单位:上海交通大学机械与动力工程学院C1MS研究所
摘要:针对目前虚拟装配系统中操作者与虚拟对象交互的问题,本文的研究以数据手套作为虚拟装配操作的交互工具定义装配过程中虚拟手与零/部件的作用规则,建立虚拟手对零/部件的抓取,移动和释放的装配操作逻辑,成功地实现了虚拟装配环境中对零/部件合理而自然的装配操作。该操作方法已应用于集成虚拟装配系统(IVAE)。
虚拟装配(Virtual Assembly,VA)是虚拟现实技术的典型应用之一,它通过虚拟装配来检查零/部件之间的装配关系,如可达性、顺序性、方向性、干涉隋况等等,以评价产品装配性能虚拟装配系统中,操作者可以借助数据手套、力反馈装置等VR外设,以虚拟手(有时利用虚拟工具)操纵零/部件进行产品的虚拟装配,分析评价产品的装配性能或进行装配工艺规划l】1。这需要对虚拟环境中的零/部件运动进行引导,通常的做法是通过自动约束 别与用户交互意图的捕捉 】。Kitamura等 】研究了导航触发器和运动修正,动态识别约束条件.基于实体的约束进行定位求解。
集成虚拟装配系统(Integrated Virtual AssemblyEnvironment,IVAE)是上海交通大学承担的“UNIX环境下VR系统关键技术研究及应用系统开发”课题的子项目之一。目标是建立一个集成化的虚拟装配环境。
1 虚拟装配基本操作流程
1.1 虚拟装配基本操作流程简述借助外设PinchGlove与FOB,虚拟手在VE中即可对虚拟零/部件进行操作。装配操作宏观的基本流程如图1,该过程中:
(1)用户可切换控制读取FOB信号数据驱动虚拟手;
(2)系统检测用户的抓取信号,分析虚拟手接触到的零件的装配状况,若属于同一个已装配好的子装配(或为单个零件).则抓取成功,否则抓取失败:
(3)FOB信号驱动虚拟手,虚拟手{『!Ij按照运动传递规则带动所抓取的整个零/部件移动;
(4)系统动态检测所抓零/部件(主动体)与目标装配体之问的相关装配约束,并显示捕捉到的约束;
(5)用户确认该约束,系统调整整个主动体位姿以满足约束要求;
(6)约束作用下,主动体的运动不再完全由虚拟手驱动,而是在约束作用下进行导航运动;
(7)零/部件的运动过程中为避免干涉穿透现象出现,须进行碰撞检测与响应;
(8)随着约束依次地被确认.零/部件自由度逐渐减少,最后被定位,一次装配过程完毕。
图1虚拟装配基本操作流程
1.2 相关数据结构简述
本文所用装配模型:零件模型采用精确模型(保存零件精确的儿何、拓扑信息)、面片模型(含有面片信息、局部坐标信息等)和凸包模型(含有凸包信息等,用于碰撞检测计算)描述。采用装配树表达装配成员间关系。IVAE中c++语言描述的装配体类中:AsmtName,装配体名;ASMID,装配体ID;FartherASMID.所属父装配ID;IsAsmFinish,装配完成标志;AssSphere,子装配体的包围球。儿何约束主要记录约束类型和参数、约束完成状态、约束所属层次等信息。在c++描述的约束类中:
ConstraintlD,约束ID;ConstraintType,具体的几何约束类型;ConstraintPara,约束的儿何参数;
IsConfirm,约束确认标志;ConstraintLevel,约束层次,为装配树上某子装配ID。
2 基于虚拟手的装配逻辑
2.1虚拟手抓取零/-~rl件过程
IVAE的交互操作支持对零件和子装配体的装配操作。虚拟手抓取零/部件过程中,系统处理过程如下。
图2虚拟手抓取零部件过程
(1)首先检测虚拟手碰撞模型与VE中零件碰撞模型的接触,若未检测到有接触,则抓取失败;否则获得一组零件碰撞模型lD.
(2)结合零件模型库,获得该组碰撞模型对应的精确模型ID。对于其中每一精确零件模型.根据装配体对象的IsAsmFinish标志.逐层向上层查找.直至找到已装配好的一个最高层子装配。比较这些最高层子装配,若为同一子装配,则它即为拾取到的对象(记为picked—Ass),否则抓取失败。
(3)生成主动体链表、待捕捉约束链表和目标零件链表等。1VAE L}|,picked—Ass的直接父节点(记为op—Ass)称为操作层子装配 op— Ass的其它直接装配成员称为picked—Ass的同层装配体。遍历picked_ Ass可得其所有叶子节点(零件),分析这些零件上约束的约束层次标志(ConstraintLeve1),可找出本次操作相关的约束,存入待捕捉约束链表。
还须求解计算此时各零件相对于子装配基准坐标系的相对位姿矩阵。比如,对于零件A,可获取其在VE中位姿矩阵 ,设子装配的基准坐标系的位姿矩阵为 ,则可知零件A在子装配基准坐标系下的位姿矩阵M :M . 。
(4)记录虚拟手与子装配体的相对位姿矩阵。设虚拟手全局位姿矩阵为M ,由于子装配的基准坐标系位姿矩阵为M ,得:子装配在虚拟手坐标系下的相对位姿阵为:MH B=M ·MH。
(5)根据主动体链表中各零件ID,查找它们对应的显示模型和碰撞模型,激活必要的碰撞检测对。
2.2 虚拟手移动与装配零店I5件过程
在虚拟手驱动零/部件移动后,系统响应涉及以下几个主要问题。
(1)虚拟手抓住零/部件后,虚拟手驱动零/部件的方式。虚拟手在飞行状态下以及抓取零/部件自由移动时,数据手套FOB信号对虚拟手的驱动采用增量驱动方式:设M 为FOB上一帧结束时的全局位姿矩阵,M 为其本帧的全局位姿矩阵,M 。为虚拟手上一帧结束时的全局位姿,则FOB的增量矩阵为M,=M MP~;IVAE假定一帧中虚拟手的位姿增量与数据手套上FOB的位姿增量相同,由此,虚拟手在这一增量驱动下的新位姿为M =M,.M 。。当某零件(或子装配体)被虚拟手抓取以后,IVAE的处理方式是:将他们(虚拟手和子装配)的相对位姿固结。首先,求解子装配的基准坐标系的新位姿矩阵,M =M 一 ·M ;然后,求得子装配运动到新位姿后,其上各个零件的位姿矩阵。仍以零件A为例,M =MR·M 。这样,整个子装配就在虚拟手的驱动下自由运动。
(2)装配约束的动态检测与捕捉确认。IVAE在初始化时,根据零件上的几何约束元素,构造了半透明的约束元素(点、线、面)显示模型。零/部件运动时,精确分析约束元素之间的空间位姿关系,将在约束捕捉误差范围内的约束显示模型予以显示;用户确认约束后,系统移动被抓取的零/部件使约束满足。
(3)约束作用后的零/部件的约束导航状态。在主动体受约束作用时,系统解算零/部件非约束作用下的理论位姿以及约束作用后的实际位姿。该过程的详细求解步骤可参见文献l4]。
(4)虚拟手位姿与FOB位姿的非直接对应问题。在约束确认后零/部件须按约束的要求运动。同时,为保持虚拟手与它的位姿关系,在求得零/部件的实际位姿(设其基准坐标系位姿矩阵为M )后.需要反解出虚拟手的实际位姿矩阵(设为M H ): M H—=M HI_ 口·M口 , MH 为下一帧仿真计算时虚拟手的初始位姿矩阵。由此,虚拟手位姿与数据手套FOB位姿必然会不完全对应,即出现信号分离的问题。随着该误差的不断积累,约束导航时可能出现数据手套姿态与虚拟手姿态差异较大的情况 IVAE的解决方法是:当用户感觉不自然时,可断开对FOB信号对虚拟手的驱动,调整好状态后再接入FOB信号。
(5)碰撞检测与碰撞响应。每帧中,在碰撞场景中计算并检测查询主动体上所有零件的碰撞模型与周围其它模型之间是否有接触,若有碰撞发生,系统将调整主动体位姿,让其回到非碰撞时的状态。
2.3 虚拟手释放零/部件过程
虚拟手释放零/部件过程中系统响应为:
(1)解除虚拟手与主动体的固结关系,主动体不再在虚拟手的驱动下运动;
(2)根据约束捕捉和确认的情况修改约束的捕捉标志和确认标志(IsConfirm);
(3)检查操作层子装配(op—Ass)内部各约束的满足情况,若各个约束均已满足,则该子装配已装配完成,修改其完成标志(IsAsmFinish),并计算该子装配体的包围球;
(4)查找并解除与主动体相关的碰撞检测对,停止碰撞检测,销毁与本次操作相关的各动态链表。
3 应用举例
上述基于虚拟手的装配操作技术已在IVAE中得到应用,下面是一个破碎机部件装配过程的实例。
图3(a)中有该破碎机部件的几个零件及对应编号。虚拟手接触到零件1,零件1颜色改变为黄色。用户做拾取手势,抓取成功后,虚拟手将与零部件1固结,带着零件1运动。图3(b)所示为零件1靠近零件2,系统捕捉到两零件的轴线对齐约束,并显示两轴线标记。在零件1与零件2装配好以后,虚拟手再次抓取零件1,子装配1就作为整体随虚拟手移动。系统确认定义在零件1与零件3之间的轴线对齐约束和面面对齐约束(相应的约束(滑块)、cylinder(圆柱)、planar(平面)、(球)、beating(轴承)。总装配图如图I所示。
2 运动仿真及结果分析
机构运动(mechanism),可以把静态设计转换为活动的虚拟原型,并借助运动仿真,观察它们如何动作。工程师可以对他们的数字化原型进行更高级的交互式处理即实时地评估设计,缩短产品的开发周期,从而实现真正的产品创新。选择功能菜单下mechanism:
(1)点选质量属性,选取整个装配图,设置密度,然后设置铲斗的质量;
(2)由于该机构自由度为3,所以需要设置3个原动件,使铲斗具有确定的运动,点选伺服电机,分别在3个液压缸处建立3个伺服电机;
(3)进行运动仿真,点选运动分析图标,观看运动效果,查看测量结果,点选测量结果分析图标,分别测量3个液压缸在摇臂运动过程中的受力状况,曲线图如图2所示。
3 结论
本文介绍了利用PRO/E建立了挖掘机铲土装置的实体模型,并在电脑屏幕上进行模拟液压系统运动仿真,以便能及早发现机构参数设计上的错误,从而减少了物理样品试制过程中出现的各种问题,缩短了新产品的开发周期。其结果形象直观,仿真效果良好,为液压机构的设计提供了一种方便、实用的分析方法。
通过对本实例的设计,笔者发现PR0E软件具有以下优点:(1)比较直观地再现了机器的工作原理;(2)增加模型的仿真精度;(3)提高工作效率;(4)准确体会设计意图;(5)能削减设计费用。