APP下载

基于手势识别的S195 型柴油机虚拟装配

2015-12-23周德荣

实验室研究与探索 2015年9期
关键词:虚拟环境手势手套

夏 龄, 周德荣, 陈 鹏

(1. 四川民族学院 网络信息中心,四川 康定626001;2. 西南交通大学 机械工程学院,四川 成都610031)

0 引 言

装配设计是现代产品设计的关键环节之一,良好的装配设计与装配工艺规划能够提高产品的生产效率、改善产品的装配质量[1]。虚拟制造在现代制造体系中,是一种全新的制造方式,是现代制造的重要标志[2]。虚拟装配(Virtual Assembly,VA)是虚拟现实技术在设计领域和制造领域的重要应用,是虚拟制造的重要组成部分[3],在构建的虚拟环境(Virtual Enviroment,VE)中,使用数据手套/位置跟踪器、鼠标/键盘、力反馈操作设备等交互设备模拟产品的实际装配过程,就象在真实环境中一样对产品的零部件进行各类装配操作,并通过可视化显示出来。利用虚拟装配,可以分析零件之间的配合好坏、产品的可装配性,规划产品装配流程与产品制造工艺,在产品设计阶段验证装配设计和装配操作的正确与否,及早发现实际装配中可能出现的问题,并对模型进行再修改,避免因装配上出现的问题而进行产品的重新设计[4],缩短开发周期,降低开发成本。

虚拟装配技术的研究重点之一是基于Web 的协同虚拟装配系统。随着制造业全球化进程的加速,并行工程、协同设计思想都被广泛引入现代制造技术,异地协同技术需要一个实时互动、安全可靠、鲁棒的网络环境[5]。实时协同设计系统受网络带宽制约,大多基于文本或二维CAD 工程图纸设计,缺少逼真性,临场感较差[6]。三维协同设计系统离不开商品化CAD 平台的有力支持,在基于Web 的应用中大受影响[7]。另外,利用虚拟现实建模语言(Virtual Reality Modeling Language,VRML)建立的基于Web 和VR 的虚拟环境虽然能满足场景渲染的实时性、仿真过程的真实感以及远程异地协同工作等方面的要求,但交互手段局限于传统的二维鼠标、键盘等,缺少与数据手套、位置跟踪器等设备的接口能力,不能实现更自然的交互操作[8]。为弥补上述不足,本文利用虚拟现实、Web 等技术,以Java3D、Pro/E 为工具,将多通道人机交互、基于Web 的虚拟现实和CAD 技术相结合,在网络环境下接入5DT Data Glove 5 型数据手套,设计了数据读取模块,采用手势识别技术,在有限的网络带宽下实现了虚拟环境中S195 型柴油机的装配仿真。

S195 型柴油机主要用于小规模排水与灌溉、农副产品加工、发电机械等场合,是一种目前广泛使用的机型。S195 型柴油机上容易装反的零件有20 种[9],如果安装不当将导致严重故障[10]。通过本系统的装配过程仿真,可以形象直观地了解关键零部件的正确安装顺序,以较低的成本避免上述错误。

1 系统总体结构

本文研究了基于B/S 模式的分布式系统,设计了基于Java/Java3D 开发环境的系统软硬件配置方案,开发了一个半沉浸式的虚拟装配系统平台,由三维零件库、装配约束库、手势定义模块、装配信息管理模块、数据手套的数据读取模块、虚拟场景管理模块等部分组成。在此平台下,用户配戴数据手套,在基于Web的虚拟交互环境下对系统中的虚拟零件进行操作,完成整个装配过程。系统采用B/S 模式的网络环境,用户通过浏览器访问系统服务器,登录系统主界面,进行基于Web 的虚拟装配。

系统硬件环境由PC 机(3.2GHz 双核CPU、1GB独立显卡、4GB 内存)、5DT Data Glove 5 型数据手套(右手,5 个自由度)组成。主界面采用HTML 网页嵌套Java Applet 和Java3D 虚拟环境。Java3D API 是在OpenGL 和VRML 基础上发展起来的一组API,隐藏了许多编程细节,提供了一套抽象、交互式的3D 对象形为和控制模型,可以方便地设计出复杂的三维虚拟场景[11]。与VRML 不同,Java3D 具有外部设备接口,使得多通道人机交互成为可能。同时,作为Java 的辅助包,Java3D 可以实现更多的网络功能。由于Java3D 传输的是生成三维图像的控制程序和数据,对网络负荷影响极小,利于三维数据在Web 环境中的实时传输和渲染[12]。

2 虚拟手建模与三维模型库

虚拟手的建模必须遵循手的解剖结构、手的运动学模型和系统使用的数据手套情况。本系统使用5DT Data Glove 5 型数据手套,配备5 个光纤传感器,分布位置如图1 如示。

图1 数据手套传感器分布位置

虚拟手需要对数据手套的数据作出实时响应,而手由手掌和多个关节组成,意味着虚拟手建模需要将手分解成许多个部分进行一一对应建模,这是十分繁杂的工作。在本系统中,虚拟手只用于手势识别而不涉及具体的虚拟操作,对虚拟手模型的精度没有特殊要求,可不进行碰撞检测。但由于手掌较复杂,手掌的建模采用CAD/CAM/CAE 一体化的三维软件Pro/E的曲面造型功能来实现,各手指指段和关节点分别用圆柱体和球体来实现[13]。关节点球体是为了避免手指弯曲时出现指段间的“裂痕”现象,以保证手操作的真实感。所用的圆柱体和球体建模直接在VRML 中完成。

经过分析,将S195 型柴油机划分成若干个零部件,如曲轴连杆活塞、齿轮传动、气门活塞等,包括飞轮、喷油泵、滚轮、滚轮销、凸轮、气门导管、推杆、柱塞套等。零部件模型可使用Java3D 本身的三维造型功能完成,也可采用CAD 一类的建模软件生成,再通过Java3D 第三方导入器导入到虚拟场景中。由于机械零部件构造的复杂性,本文中的3D 零部件模型采用后一种方法来生成。先使用Pro/E 软件对零部件进行建模,以VRML 格式保存起来,再对其进行优化处理,按规则保存到零部件库中。零部件按指定规则命名后,用户即可通过系统的Applet 控制界面,将零件导入或移出虚拟场景。为降低系统复杂度、扩大系统适用性、提高系统可扩展性,修改零部件模型采用虚拟环境之外的建模软件来完成。VRML 文件定义的不是渲染后的场景,而是客户端的渲染指令,所以其大小远小于其他三维文件格式,弥补了由于三维模型过大不利于网络传输的不足。

3 装配约束库与手势定义

虚拟约束的实现是虚拟装配过程仿真中的重要问题之一[14]。装配约束库是系统的核心模块。产品零部件之间的约束条件或装配关系是通过装配零件的位置和方向的改变来实现的。以轴孔装配为例,轴和孔的约束本质上是限制轴(称为目标零件)的运动,施加约束后,轴只能沿孔(称为基准零件)的轴线方向移动或旋转(此时,轴的自由度减少为2)。

虚拟装配具有人机交互操作、多通道融合等特点,而人机交互是虚拟装配的技术瓶颈之一。为克服传统输入输出设备的不足,本系统设计为支持多通道输入,零部件的装配过程通过键盘、鼠标控制,目标零件与基准零件之间的约束关系通过数据手套的手势确定。在分析各种常用手势基础上,本文定义了全伸展、握拳、一型、V 型、OK 型五种手势,五种手势对应的含义与映射约束关系如图2 所示。

图2 手势与映射约束

用户在装配零件时,根据零部件的装配情况,利用数据手套中定义的手势来选择所需的约束条件,使用键盘或鼠标对零部件进行旋转、平移等虚拟装配操作。

4 基于手势识别的S195 型柴油机的虚拟装配

在Web 环境下,本文实现了基于手势识别的S195型柴油机的半沉浸式虚拟装配。虚拟现实系统开发的重要环节之一是虚拟现实硬件设备的接入[15]。Java 提供了通信API(包含于javax.comm 包中),将comm.jar扩展类库加入到JDK 安装文件夹的jrelibext 目录下,通过与具体机器无关的方式,实现对数据手套的控制。本文通过RS-232 串口实时读取数据手套的数据。

图3 所示场景为系统导入活塞,虚拟手是伸展手势,此时没有施加任何约束。系统下一步导入连杆,当连杆移动到活塞附近时,进行位置检测,如果满足条件则读取数据手套的数据,并将该数据转换为相应的约束。此时虚拟手为V 型手势,系统施加的约束是基准轴线重合,使连杆和活塞的中心轴对齐,实现轴孔配合约束,如图4 所示。

图3 伸展手势,未施加任何约束

图4 V 手势,施加基准轴线重合约束

当虚拟手的手势变为OK 型手势后,映射基准轴线平行约束,系统自动遍历最后导入的两个零件的几何特征,找到定义该约束的基准轴线,施加基准轴线平行约束。图5 所示为完成了虚拟装配的场景。

图5 OK 手势,施加基准轴线平行约束

零件装配时,系统按设定的时间间隔自动对零件的装配位置信息进行取样并保存在记录文件中。当装配结束后,通过提取该零部件的位置信息,零件可以沿着记录文件中保存的位置信息运动,再现装配时的轨迹,实现零件的装配过程仿真。

5 结 语

本文利用Java3D、Pro/E、虚拟现实、Web 等技术,将多通道人机交互、基于Web 的虚拟现实和CAD 技术相结合,研究了虚拟手建模、手势定义和识别、装配仿真等问题,在网络环境下接入5DT Data Glove 5 型数据手套,设计了数据读取模块,采用手势识别技术,构建了B/S 模式的VR 系统,充分发挥Web3D 的优势,在有限的网络带宽下实现了虚拟环境中S195 型柴油机的装配仿真,以多通道的交互式平台支持产品的协同设计。通过本系统的装配过程仿真,可以形象直观地了解关键零部件的正确安装顺序,避免发生零件装反、安装不当等问题,为实际操作人员提供了一种先进高效的培训手段。

[1] Seth A,Vance J M,Oliver J H. Virtual Reality for Assembly Methods Prototyping:a Review[J]. Virtual reality,2011(15):5-20.

[2] 曹毅杰. 虚拟制造及其应用[J].制造业自动化,2012,34(12):75-77,85.

[3] 范孝良,梁宇红.基于UG 的机床夹具虚拟装配技术研究[J]. 机械设计与制造,2011(8):237-239.

[4] 唐秀桢.基于Web 的虚拟装配系统的设计及实现[D]. 成都:西南交通大学,2006.

[5] 行开新,田 凌.支持异地协同设计的异构CAD 虚拟装配系统[J].清华大学学报(自然科学版),2009(2):226-231.

[6] 唐秀桢.基于Web 的虚拟装配系统的设计及实现[D]. 成都:西南交通大学,2006.

[7] 刘川江.基于Web3D 的虚拟家具展示及交易系统的研究及实现[D].成都:电子科技大学,2009.

[8] Peijun Wang,Robert Bjarnemo,Damien Motte. A Web-based Interactive Virtual Environment for Mobile Phone Customization[J].Transactions of the ASME:Journal of Computing and Information Science in Engineering,2005,3(5):67-70.

[9] 何 北.S195 柴油机上17 个易装反零件[J]. 农机具之友,1996(1):16-17.

[10] 张广成.S195 柴油机安装不当引起的故障20 则[J]. 广西农业机械化,1994(6):27-28.

[11] 都志辉,刘 鹏,陈 渝,等.Java3D 编程实践[M].北京:清华大学出版社,2002.

[12] 陈 鹏,王培俊,唐秀桢.基于Web 的立体显示和多通道实时交互技术的研究[J]. 机械与电子,2006(9):58-60.

[13] 王文静.基于数据手套及OBB 算法的虚拟装配系统研究[D].成都:西南交通大学,2009.

[14] 张志贤,刘检华,宁汝新. 虚拟装配中的装配约束实现技术研究[J].系统仿真学报,2011,23(9):1878-1883.

[15] (美)Grigore C Burdea,(法)Philippe Coiffet.虚拟现实技术[M].北京:电子工业出版社,2005.

猜你喜欢

虚拟环境手势手套
前庭刺激对虚拟环境三维空间定向的影响及与空间能力的相关关系
棉手套
如何通过虚拟环境有效管理Python第三方库
挑战!神秘手势
做只手套好过冬
V字手势的由来
神秘的白手套
棉手套
虚拟环境下大数据智能并行聚类方法研究
胜利的手势