时间:2024-07-28
乔 虎,安嘉祥,白 瑀,何 江
(西安工业大学机电工程学院,陕西 西安 710021)
增强现实(Augmented Reality,简称AR),是一种可实时计算相机的位置和角度并添加与之匹配图像、视频、三维模型的技术,这项技术的目的是将虚拟物体放到屏幕上并与真实环境进行互动,当虚拟与现实相结合,用户在真实的环境中,与虚拟物体进行良好的互动时,会加强用户对现实世界的感知与理解,是一种先进的虚拟现实技术[1-2]。
在传统工程实践中,初学者往往会在工程图纸识别上出现认识偏差和理解错误,如果将AR结合加工工艺数据库展现加工信息,将会是指导零件加工的有效途径。基于增强现实所独特的技术特点,将其与机械加工相结合,打造“智能工艺卡片”,以增强现实的方式呈现工艺信息以指导加工必将给加工人员带来极大的便利。不同于传统的工艺知识服务形式,AR技术的平台和模式对于基础的工艺知识资源提出了新的要求,包括适用于移动平台、知识展示方式AR化、交互方式简洁多样化等。因此,为了实现面向AR的机加工艺服务,建立符合AR技术的资源库是基础。
首先,对已确定工艺规程的待加工零件加工工艺信息进行数据处理,包括加工材料、夹具、机床和刀具的信息等。其次,考虑到市场上手机的一般性能,为减少手机运行负担,采用Mysql数据库管理系统。最后,实现AR平台与MySQL之间的连接通信,并且打包发布在移动端。其系统结构,如图1所示。
图1 系统组织结构Fig.1 System Organization Structure
(1)数据库模块。数据库中主要储存用户信息、各种机械加工的工艺信息、引入AR的扫描识别图片和待加工零件的三维模型。
(2)连接通信模块。在基于Unity3D搭建的AR交互平台下,实现与数据库的连接通信。
(3)功能模块。实现一种移动端的信息实时交互方式,在加工零件的过程中,可以在移动端调用数据库内容以AR的方式查看加工过程中零件三维模型,同时可以参考加工动画,指导加工流程。
在资源库开发方面,为了实现工艺信息的统一管理,同时为了保证相关信息的安全性,本系统底层数据的管理系统选择采用甲骨文公司旗下的Mysql数据库管理系统。Mysql体积小巧但性能不俗,其复杂度也较低,并且完全网络化的,在具有网络的任何地方都可以访问它的数据库,它对客户机的数量也没有限制,因此数据的共享十分便捷快速。
在软件开发方面,由于本系统涉及的主要是移动电子设备应用软件,所以在决定开发方案的时候,选择在移动端表现更好的Unity3D软件开发平台,同时搭档目前世界上主流的AR SDK 提供平台Vuforia,基本满足了本系统所实现的功能。
在建立机械加工工艺信息数据库时,严格遵守“自顶而下,逐步求精”的设计理念,根据信息需求和功能需求的分析,完成整个资源库的概念结构和逻辑结构,从而确定系统需要实现的性能目标。为了清楚地表达数据库的概念与逻辑结构,工艺数据表之间的关系将采用实体-联系方法(Entity-Relationship Approach),也就是通常所称的E-R方法[3]。E-R方法是用E-R 图描述现实世界中数据之间关系的有效方法,现已成为描述数据库概念模型的重要工具[4]。为此,将其应用到本系统方法中,数据表之间的ER模型图,如图2所示。
图2 E-R图Fig.2 E-R Diagram
整个基于AR 的机加工信息资源库的数据主要由待加工零件三维模型、引入AR识别图、刀具信息、材料信息和加工设备等实体组成。二维表格中的主键即参照字段,为确定管理对象的唯一识别码,外键则用来表达数据表间的关系。外键连接的是相关实体信息的具体参照表。在这一系列工艺系统数据表中,可以对每个实体执行添加、删除等操作,也可以对每个数据进行浏览和编辑[5-6]。以某待加工零件为例,工艺信息类型表,如表1所示。其中工艺信息类型表中的刀具与T_TOOL中的ID建立外键关系,材料、机床、夹具、工步内容与之类似。
根据资源库的实际使用需求,对工艺信息的存储结构进行了分析,并设计了如上的表结构,通过键的组合结构将工艺实体联系起来,可以成功实现数据库中数据全局的一致性,数据库关系图,如图3所示。
图3 数据库关系图Fig.3 Database Diagram
本系统最终要实现基于AR且面向移动端的机械加工展示,所以对于传统机加工数据要进行一些处理再按要求存储,以减小手机运行载荷和加快数据传输速率。
首先是面对三维模型的简化。在专业的绘图软件完成三维模型的绘制后,会在零件生成过程中生成大量几何顶点,而这些特征在导入3DMAX转化成FBX格式的过程中,会使得模型的面数大大增加,在Unity3D中大量面数的模型展示时候会严重消耗电脑内存,导致场景加载速度缓慢甚至卡死,所以模型的简化是必需的。若是采用Pro/E进行建模,由于其本身就是需要转换成多边形,所以可以手动调节转换精度。或者是导入3d Max以后,可以使用ProOptimizer编辑器进行降面,虽然面的拓扑结构会受到影响,但如果只是用于一般的渲染,效果还是比较显著。例如,对夹具台虎钳模型的降面工作,如图4所示。成功将模型优化,面数减少。
图4 模型降面Fig.4 Model Drop Surface
其次是利用Vuforia增强现实开发引擎,将图片、零件模型、工艺信息和虚拟场景添加到真实环境中。Vuforia识别的原理是将Target Manager 中的image 识别出的大量特征点存储起来,然后在真实图像中实时识别特征点,与存储模板图片的特征点进行数据匹配对比,识别完成后在对应的现实场景中增加虚拟现实的内容[7-8]。由于在最终使用所需要达到的效果是,从待加工零件的任一面都能引入AR,所以一个三维模型需要配合多个识别图。这些识别图放入数据库中有以下两种方法:其中一种方法是保存图像存储在数据库中的路径,第二种方法是将图像以二进制数据流的形式直接记录在数据库的字段中[9]。由于一个三维模型将会对应多个AR识别图,若是采用第二种方法,系统运行载荷负担重而且浪费数据库资源,为减少数据访问上的压力,本系统采取保存图片的上传路径到数据库作为存储图片的方式,同时获取图片上传的时间,以时间作为图片的名字可以防止图片重名,再将路径保存到变量,然后把变量值存储于数据库的相应字段中。
最后是为了实现用户的信息管理功能,将用户信息进行系统的分类归纳,普通用户和管理员可访问的界面都是相同的(即访问权限相同),但在每个界面上可进行的操作不同(即操作权限不同),这里称这种不同为:权限等级不同。
综上所述,需要区别以下几个重要概念:
(1)角色:如数据库管理员,系统操作员,普通用户等,不一样的角色权限等级也不同,具有不同的访问权限,以及不同的访问模块(界面)集。权限等级,例如:管理员、设计人员、普通用户;
(2)模块:(界面)
模块指的是特定的界面,每个模块都有不同的操作,例如添加、删除、修改和检查等;
(3)访问权限:确定角色可以访问的模块(界面)集合;
(4)操作权限:确定可以在不同模块(界面)上实现的具体功能集合,例如添加、删除、修改和检查等;
(5)权限等级:即确定角色可以访问的范围,如:
角色1:权限等级为管理员,则可以查看其中所有的信息;
角色2:权限等级为设计人员,则只可以查看数据库所有工艺信息。
对于用户的权限管理可以参照与之外键关联的表T_COMPETENCE和表T_ROOL,表里记录不同角色和角色权限等级的详细信息,只有符合其用户名、密码才能实行该角色权限下的操作。
选用基于标志物的三维跟踪注册方法,利用移动设备摄像头对预定的待识别物进行识别并获取相关顶点信息,根据仿射不变性的原理,可以将坐标传递矩阵从预定义的标记重建到当前场景中的标记[10],来完成虚拟信息的跟踪注册,最后成功将虚拟场景渲染到真实的环境当中。
其中当移动设备摄像头捕捉到确定的对象时,需要运用到视频图像的二值化对其进行预处理,这样就完成了从彩色的视频图像到黑白两色二值图像的转换;对于图像中任意像素块(x,y),如果其灰度值S(x,y)≥t则可以认为该像素块为背景点,否则认为该点为兴趣点,经过选取特定阈值,然后进行像素点分割处理后的图像可定义为:
通常设置a0=0,a1=1,得到的即为二值化的图像。然后,利用图像分割及边缘检测技术找出该二值图像中所有的兴趣点。当模板搜索匹配成功以后,就可以确定当前标志物的特定ID,进而完成识别过程,如图5所示。
图5 标志识别过程Fig.5 Logo Recognition Process
为了实现移动客户端软件能访问显示数据库中的内容,需要AR平台与数据库之间实现连接通信。
Unity3D与Mysql数据库相连接首先要准备一些必需的动态链接库。从D:UnityEditorDataMonolibmono2.0(Unity3D安装目录)中找到以下5个dll文件:I18N.CJK.dll、I18N.dll、I18N.West.dll、Mysql.Data.dll、System.Data.dll,将这些dll 文件放入Unity3D工程目录下的Assets/Plugins文件夹中,如图6所示。
图6 所需dll文件Fig.6 Required dll Files
然后创建C#类,引用上文导入的dll文件(using Mysql.Data.MysqlClient),以下关键代码实现Mysql数据库与Unity3D的连接通信。
string connStr= "Database=databaseName;datasource=localhost;port=3306;user=root;pwd=root;charset=utf8";
MysqlConnection conn=new MysqlConnection(connStr);
如果数据库在本机,IP 地址选项可以填写localhost 或者127.0.0.1或者本机的私有IP地址,但最终本系统是要打包发布至安卓或IOS平台,所以IP地址填写规则需要分为两种情况进行讨论:(1)如果服务器端与客户端连接的是同一个局域网的话,则使用的是内网IP地址。(2)如果是将电脑作为服务器端联网并且使用公网IP的情况下,则需要进行映射,简单来说就是将公网IP与电脑内网IP绑定,实现远程连接数据库。
port指端口号,若是在安装时没有刻意更改,则Mysql默认的连接端口号为3306。需要注意的是,由于Mysql8.0 之后版本加密规则的规定,必须在最后加上编码格式,也就是上述代码中的charset=utf8,并且数据库以及表、表中的键所有的编码格式必须统一为utf8。
使用该软件的用户,可以通过登录界面,输入用户名和密码进入系统,若是首次使用,则可以选择注册新用户来完成登录。本系统的登录界面,如图7所示。
图7 系统登录界面Fig.7 System Login Interface
在功能模块选择界面主要包括了加工工艺信息库、典型工件加工和用户管理三大模块,除了第三个模块需要管理员权限外,其他两个模块普通用户均可访问,如图8所示。
图8 功能选择模块Fig.8 Function Selection Module
在加工工艺信息库中主要存有各类机械加工设备和工件材料信息的相关数据,如图9所示。下图中以螺纹铣磨刀和硬质合金铣刀为实例,展示包括刀具牌号、名称、尺寸等信息,在手机端可以实现右划界面展示全部信息,点击返回可返回功能选择界面。
图9 加工工艺信息库Fig.9 Processing Technology Information Database
当识别到待加工零件后,工艺信息和三维零件模型便叠加真实场景展示出来,并且可以播放加工仿真动画,来完成加工指导任务,如图10所示。
图10 典型工件加工Fig.10 Typical Workpiece Processing
随着“中国制造2025”和工业4.0概念的提出,制造业对自动化、智能化生产模式的需求日益增长,为了实现加工高效、产品高质量的生产目标,同时为了减少工艺人员在识别二维纸质图纸的失误,将AR技术与加工工艺数据库相结合,应用Unity3D开发引擎和MySQL数据库管理系统,设计一种满足AR技术的机加工艺信息资源库模板,打包发布至手机或平板中以便使用者随时随地查阅加工信息,并能通过AR技术直观的了解到零件的加工过程。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!