基于数据手套的发动机虚拟装配系统
2015-09-13任天猛晁艳艳
李 静,任天猛,晁艳艳,韩 慜
(长春工业大学 机电工程学院,长春 130012)
0 引言
直列四缸发动机的四个气缸按照直线排列,是小排量汽车内燃机的常见形式。发动机是整个机械系统的动力装置,而气缸是整个发动机动力的源头。在设计和开发直列四缸发动机过程中需要对其进行装配,但是传统的装配过程存在一些影响装配效率的因素。运用虚拟现实技术不但可以提供新的途径,还可以提高装配效率,减少不利因素的影响,
虚拟现实技术[1~4]的核心是计算机技术,具有视觉、听觉、触觉的一体化虚拟环境并且用户可以通过多种虚拟设备与虚拟环境中的物体进行交互。目前,虚拟现实技术已经被应用于军事、娱乐、医学、建筑等领域。EON Studio是一种三维交互式虚拟现实软件,具有良好的兼容性、智能的操作界面和丰富的功能节点等优点。同时EON Studio程序还可以与ActiveX控件相结合建立虚拟现实装配系统。
运用虚拟现实软件EON Studio从模型建立、模型导入、运动控制、碰撞检测等多个方面对直列四缸发动机的虚拟装配过程进行了研究,并以Visual Basic为集成工具开发了系统界面,实现了直列四缸发动机的虚拟装配。
1 直列四缸发动机虚拟装配环境的建立
在进行直列四缸发动机装配时,为了更好的规划装配路径,先在EON Studio中对直列四缸发动机模型的结构进行分析,进而更好的对直列四缸发动机的装配系统进行研究。直列四缸发动机的结构,如图1所示。
图1 直列四缸发动机结构图
EON Studio是虚拟现实软件,不具有三维建模的能力。根据直列四缸发动机的结构及尺寸在CATIA中绘制直列四缸发动机的三维模型。图2为CATIA中的发动机装配体模型。
图2 CATIA中的装配体模型
将三维实体模型导入3ds Max中。由于在导入的过程中难以避免的出现丢面或者零件失真的现象,这时需要用3ds Max软件对丢掉的面及其他元素进行修补,再进行渲染、着色和调整灯光等措施使模型在虚拟环境中具有真实感。在3ds Max中利用EON Raptor输出插件将模型保存为*.eoz格式的文件。用EON打开生成的文件,模拟树视窗中将自动生成一个默认的模型层次数据结构。为了便于对直列四缸发动机模型进行装配,重新构建一个清晰合理的直列四缸发动机模型树的层次结构,对结构中的每个零件重新命名并对模拟树中零件的父子关系进行调整。模型树结构如图3所示。
图3 模型树结构
2 发动机模型的装配规划
2.1 装配规划原理
装配的过程中通过设定初次装配和二次装配使装配更加简捷。零件与零件之间的装配被称为初次装配,这时一些零件组合在一起形成装配体的一个部分,这个部分我们称为子装配体。初次装配完成后生成一些子装配体和零件。将这些零件和子装配体装配在一起形成完整的装配体的过程就是二次装配。二次装配后零件之间都形成了应有的配合,从而完成了装配体的装配过程。二次装配的过程如图4所示。
图4 二次装配的流程图
2.2 发动机的装配序列规划
按照上面的原理可以得到发动机的简单装配序列。对发动机的装配序列规划如下:先将连杆体,连杆衬套,连杆轴瓦,活塞,活塞销组成一个连杆子装配体。然后再将这些子装配体与曲轴、缸体、连杆盖等零件组成一个完整的装配体。图5为发动机的装配序列规划流程图。
图5 发动机的装配序列规划流程图
3 直列四缸发动机虚拟装配系统
利用EON软件连接方位跟踪器及数据手套等虚拟外设装备对直列四缸发动机进行虚拟装配。其主要原理是利用数据手套感应操作的数据,将数据传给EON的5DT Date Glove节点,再将数据传到方位跟踪器节点,方位跟踪器节点记录虚拟手模型当前的坐标数据并传递给虚拟手模型,使虚拟手模型的动作和坐标数据发生变化。让虚拟手带动零件模型一起运动,从而实现零件的抓取装配过程。抓取过程的流程图如图6所示。
图6 抓取过程流程图
3.1 虚拟手创建
数据手套及方位跟踪器是实现抓取功能的基本虚拟外设。数据手套的背部为每根手指都配备有一根柔性传感器,用于测试力反馈的弯曲度变化,通过数据手套的USB接口将力反馈的数据传送给工作站。工作站将数据映射到虚拟场景中,最后通过程序驱动虚拟手的运动,实现虚拟手与人手动作的同步,并对物体进行简单的抓取。图7为5DT数据手套左手的基本结构。
图7 5DT数据手套的基本结构
实现虚拟抓取等功能之前,必须先在EON中建立虚拟手模型。虚拟手是进行虚拟装配的执行机构,可实现精细的抓取操作。模仿人手建立虚拟手模型,必须使其具有与人手相同的结构,这有利于实现抓取、移动、释放物体等操作。虚拟手模型的动作将由数据手套的驱动程序驱动,虚拟手模型的关节数应该与所使用的数据手套的传感器数对应。本文中使用的是5DT数据手套的左手,将虚拟手模型的关节数设定为14个。在EON软件中对虚拟手的模型进行设置使得虚拟手模型与数据手套同步。导入到EON中的虚拟手模型如图8所示。
图8 Eon中的虚拟手模型
通过EON中的Script节点对方位跟踪器节点进行控制。同时添加5DT数据手套节点及其接收器,对其路由图进行连接,使虚拟手模型在数据手套和方位跟踪器的作用下实现动作。图9为数据手套和方位跟踪器的路由图。
图9 数据手套和方位跟踪器的路由图
3.2 碰撞检测
在直列四缸发动机的装配过程中不可避免的发生碰撞。利用碰撞检测技术[5,6]可以反馈虚拟手模型与待装配零件、已拆装零件之间的距离信息。这样就可以实现零件随虚拟手模型进行同步运动。包围盒式碰撞检测是目前比较流行的碰撞检测算法,EON中的碰撞检测算法为零件外部添加包围盒进行碰撞检测,其主要功能是通过Collision节点来实现的。虚拟环境中的碰撞检测是指两个零件的包围盒进行碰撞检测,互相之间反馈力学信息。包围盒主要有以下几种方式:方形包围盒(Box)、球形包围盒(Sphere)、三角网格(Triangle mesh)、凸面体网格(Convex mesh)等。越是复杂的包围盒移动后更新需要的时间越长,通过对比选择普通的方形包围盒。对零件之间添加碰撞检测节点,同时为各零件建立相应的方形包围盒。图10为曲轴添加了长方体形包围盒。
图10 长方体形包围盒
数据手套不具备力反馈功能,所以在发生碰撞后输出视觉反馈来通知操作者已经发生碰撞,可以进行下一步操作。视觉反馈可以通过改变待装配零件的颜色的方式实现。当虚拟手模型运动到待装零件的一定范围内时,待拆装零件的颜色发生改变,这时利用数据手套控制的虚拟手模型可以实现零件的抓取。将待拆装零件的坐标与虚拟手的坐标同步,随着虚拟手一起运动,把待拆装零件移动到目标位置后,松开手指释放零件,零件变回本来颜色,完成零件的虚拟装配过程。图11为碰撞检测节点的路由图。
图11 碰撞检测节点路由图
3.3 虚拟装配的实现
数据手套[7,8]通过USB接口与计算机相连,每个手指上都有一个条状传感器,主要用于测量手指的弯曲度数据。数据手套与虚拟手的同步是通过EON中的5DT Date Glove节点实现的。这样可以实现人手在虚拟环境中的抓取及释放等动作。方位跟踪器固定在数据手套的腕部,用来获取人手的空间位置的坐标数据和方位数据,并将其转换为虚拟手在虚拟空间中的坐标值和方位值,通过坐标值的不断改变使虚拟手带动零件在虚拟环境中实现各种空间的位姿变换。利用数据手套及方位跟踪器将发动机零件按照规划完成装配。利用数据手套装配发动机的过程如图12所示。
图12 基于数据手套的虚拟装配
4 虚拟装配人机交互系统的建立
为了便于在机器上演示,利用键盘与路由机制之间的关系,将装配的路径和序列提前写入到EON程序中。把Visual Basic作为二次开发工具,建立虚拟装配人机交互系统。在Visual Basic程序中引入微软的ActiveX控件,为装配系统开发用户界面,使其与EON内部的路由图之间进行消息的相互传递。利用VB程序和EON模拟程序之间的信息传递控制虚拟场景内虚拟对象的行为,以此来实现人机交互[9]的目的。图13为Visual Basic系统人机交互界面。
图13 发动机人机交互系统
[1] 夏平均,陈朋,郎跃东,姚英学,唐文彦.虚拟装配技术的研究综述[J].系统仿真学报,2009,08:2267-2272.
[2] 刘诚,付宜利.基于EON的交互式虚拟装配仿真系统的设计与实现[J].东北林业大学学报,2009,08:109-111.
[3].VirtualSimulationSystemwithPath-followingControlforLu narRoversMovingonRoughTerrain[J].ChineseJournalofMech anicalEngineering,2012,01:38-46.
[4]李山山,宋正河,陈越洋,毛恩荣,朱忠祥,陈莉.农业机械底盘机械式变速箱虚拟装配[J].农业机械学报,2012,S1:318-322.
[5] 刘检华,姚珺,宁汝新.基于虚拟装配的碰撞检测算法研究与实现[J].系统仿真学报,2004,08:1775-1778.
[6] 周云波,闫清东,李宏才.虚拟环境中碰撞检测算法分析[J].系统仿真学报,2006,S1:103-107.
[7] 杨曦.基于EON的数据手套交互仿真系统的研究[J].电脑知识与技术,2012,01:84-87.
[8] 安明,陈善广,刘玉庆.基于数据手套的虚拟手精确建模的研究与实现[J].计算机仿真,2010,01:241-244.
[9] 周晓晶,赵正旭,楼江.基于数据手套的虚拟手势交互系统[J].仪表技术与传感器,2007,10:65-66,70.