APP下载

基于Unity3D的数控机床数字孪生系统设计与实现

2023-12-24王进峰问丛川花广如丁海民

中国工程机械学报 2023年5期
关键词:数控机床刀具机床

王进峰,问丛川,花广如,丁海民

(1.华北电力大学 能源动力与机械工程学院,河北 保定 071003; 2.保定市先进设计与智能制造重点实验室,河北 保定 071003)

数字孪生(digital twin,DT),也称为数字映射、数字镜像,是虚拟空间中对物理对象的高保真镜像与实时映射,反映了相应物理实体产品的全生命周期的过程[1]。数控加工作为机械制造中的先进加工技术,为机械制造行业的发展带来了巨大的影响。随着信息技术和制造业的发展,人们开始意识到数字孪生技术在生产制造领域有着广泛的应用前景,如今国内外学者都加紧了对数控机床数字孪生系统的研究。数控机床相比普通机加工机床操作更为复杂,对使用者专业水平要求更高,由于数控机床造价昂贵,很难满足对操作者的培训需求,数字孪生技术的发展有效解决了这一难题[2]。

北京航空航天大学陶飞等[3]提出了数字孪生五维模型,对国内数字孪生技术的研究起到重要指导作用。孙惠斌等[4]在数字孪生理念的基础上,提出面向切削过程的刀具数字孪生模型。张南等[5]提出基于数字孪生的车间作业监控及可视化方法,实现了车间生产作业过程的三维虚拟可视化及实时动态交互功能。骆伟超[6]研究了基于数字孪生的数控机床预测性维护的体系结构,并进行了数控机床预测性维护应用与验证,解决了系统级体系结构的制定、高保真模型构建、机床智能场景感知、融合型预测性维护算法等关键问题。李聪波等[7]提出一种数字孪生驱动的刀具磨损在线监测方法,开发了面向刀具磨损的数控铣削数字孪生系统,实现了刀具磨损的精确预测。

本文选择LG Mazak 数控机床作为研究对象,利用SolidWorks 软件完成模型构建,并以Uniyt3D环境来搭建数控机床数字孪生系统,通过完成数据存储及调用,建立可视化服务系统,实现了车间漫游、数据可视化、切削过程仿真、刀具碰撞预警、数据查询等功能。

1 数控机床数字孪生系统架构

数控机床数字孪生系统是对实体机床的实时映射,在多维度建模技术、数据库、通信技术、传感技术的支持下完成搭建。通过建立物理机床与虚拟机床之间网络通信协议,来实现数字孪生系统的双向数据传输与融合;通过采集到的孪生数据,驱动机床运动仿真、数据可视化、加工状态监测、刀具碰撞检测及预警、历史加工数据查询等功能的实现。本文数控机床数字孪生系统架构如图1所示,系统主要由物理实体、虚拟实体、服务层、数据层和连接层5 个层级构成。其中,物理实体指现实中真实存在的数控机床,通过传感技术将物理机床的运行状态及行为映射到虚拟空间;虚拟实体是通过三维建模技术对物理实体多维特性的数字化呈现,包括几何形状、行为方式等在内的高保真模型,并能对物理机床的运行进行指导;数据层是孪生系统的核心,负责虚拟实体与物理实体之间数据的采集、处理及数据可视化;服务层指系统的操作与展示单元,包括车间漫游、数据可视化、切削过程仿真、刀具碰撞预警和数据查询系统在内的服务平台;链接层是实现系统互联互通和实时交互的桥梁,各层级间通过建立链接可实现数据双向传递。

2 关键技术

2.1 模型构建

根据上述对系统整体设计规划,本节将介绍虚拟模型构建方法。目前机械行业主流建模软件有SolidWorks、UG、ProE 等,其中SolidWorks 用户界面清晰直观,有强大的零件建模及装配功能,本系统将使用SolidWorks 进行白模构建,由于Unity3D 软件模型导入格式有限,需将建立的数控机床三维模型以IGS 格式输出,通过3DMax 转化为FPX 格式并导入Unity3D 软件中。3DMax 有强大的渲染及优化功能,格式转化过程中可通过3DMax 对模型进行材质和贴图处理,可增加模型真实性,随后进行优化处理,会有效地降低模型多边形数量,模型得以精简化[8]。模型构建流程如图2所示。

图2 模型构建流程Fig.2 Model construction process schematic

2.2 UI交互

用户界面(user interface,UI)是服务层建立的基础,Unity3D 提供了多样化UI 组件,随着版本的不断更新,UI 系统也存在着不同版本,其中UGUI 系统是公认的性能最好的UI 系统。本文数控机床数字孪生系统重点使用的UGUI 组件见表1。

表1 系统构建重点UGUI组件Tab.1 System construction key UGUI components

表1 中,RawImage 组件在本系统搭建中起到重要作用,用于多相机视角展示,在使用过程中需要建立第二相机,调整相机视角为理想视角,在project 里创建Renderer Texture 并将其绑定在摄像机Target Texture 中获取视角画面,随后以Canvas 组件为父级建立子组件RawImage 并将创建好的Renderer Texture 拖入RawImage 中,操作完成后可同时显示第二相机视角。

2.3 数据处理及可视化

数控机床数字孪生系统存在多源异构数据,主要分为静态数据和动态数据两种。静态数据主要包括机床参数数据、刀具参数数据、工件材料数据等,静态数据是固定不变的,需要在未加工前的准备阶段完成输入。动态数据主要是由传感器采集到的时变数据,此外还包括机床自身运行状态数据。由于时变数据会受到空间及传输环境影响,采集到的动态数据需要进行数据清洗后才可以使用,保证数据的可靠性。各类数据完成采集后存入MySQL 数据库,下载好相关配置文件,打开Visual Studio在视图下找到服务器资源管理器。右键“数据连接”选择“添加连接”,选择MySQL Database点击“确定”,在Unity3D 中利用C#语言编写的脚本调用相关SQL语句与MySQL数据库进行交互连接。由于Unity3D 中数据表格制作过程繁琐,为方便系统搭建,本系统使用XCharts 插件绘制可视化图表[9]。XCharts 是一款基于UGUI 的功能强大、易用、参数可配置的数据可视化图表插件,支持的图表类型有折线图、柱状图、饼图、散点图、热力图等。对数据进行可视化处理可方便使用者查看数据并做出精准决策。

3 功能模块

3.1 车间漫游

车间漫游功能基于脚本实现,通过C#语言编写脚本,然后将脚本挂在场景主摄像机,使用者即可通过键盘与鼠标控制摄像机在场景中移动。该功能模块主要包含方向移动、旋转视角和相机移动速度的控制。脚本主要改变Transform 类,Transform 是对象的位置、旋转和缩放,旋转采用四元数计算,由于欧拉角十分直观,只需要3 个float 型变量(pitch、yaw 和roll),所需参数少,脚本中需要将四元数显示为三维向量-欧拉角,使用Rotate 方法以欧拉角作为输入,欧拉角参数如图3所示。方向移动采用向量计算方法,使用Vector类成员变量进行计算,例如按下键盘W键控制相机向前移动,则需要使用Vector3.forward 成员变量,本质是Vector3(0,0,1)的简码。此外脚本中还需要对运动速度进行设定。实现效果如图4所示。

图3 欧拉角参数Fig.3 Euler angle parameter indication

图4 车间漫游效果Fig.4 Workshop roaming effect

3.2 切削过程仿真

系统的切削过程仿真模块主要是对切削加工时机床运动组件的运动仿真,包括主轴、卡盘、刀具、刀塔、进给箱等,这些运动主要涉及移动与旋转,需对各运动零部件的Transform 组件进行处理。本系统模块使用Unity3D 插件Prespective 进行仿真设计,Prespective 是应用于Unity3D 的工业数字孪生插件,插件提供了丰富的运动处理器、力学模拟器、逻辑编辑器等功能并以组件的形式封装。移动的组件例如刀具、卡爪等,首先需要新建父级空对象并添加插件提供的运动控制器组件,只有运动控制器下的子集才能完成响应运动;随后创建Spline(样条)组件建立运动路径,在零部件中添加Prismatic Joint 组件并将样条线分配给Prismatic Joint;对于主轴、三爪卡盘以及零件等需要旋转的零部件运动仿真,需要通过插件建立模拟电机类型包括:直流电机、连续伺服电机、驱动步进电机,将Motors 组件分配给正方体,并与主轴建立连接,设置相关参数;通过设置Button组件中Onclick 可实现对运动的交互控制,以主轴及卡爪加紧运动为例,实现原理示意图如图5 所示。切削运动仿真效果如图6 所示。

图5 运动仿真原理Fig.5 Motion simulation principle schematic

图6 切削运动仿真效果Fig.6 Simulation effect of cutting motion

3.3 碰撞检测

在加工过程中,由于机床的不断运动,在实际加工过程中可能引起机床刀具与工作台、夹具之间发生碰撞,从而导致加工过程不能正常实现[10]。数控机床数字孪生系统碰撞检测模块可以在加工准备阶段对机床零部件运动路径进行运动仿真,对发生碰撞情况发出警报,可有效降低机床加工过程中危险情况发生。

Unity 中的两物体要想发生碰撞,必须依赖于自身的碰撞器组件(Collider),并且至少其中一个物体必须附有刚体组件(Rigidbody),其中附带碰撞检测脚本的物体必须有刚体组件。Unity中的碰撞检测主要有2 种:碰撞信息检测,在使用碰撞器类型检测时,两个物体是不能进入相互内部的,并且两个物体的碰撞器接触时,在附有刚体组件的物体是会受到力的反馈作用的;触发信息检测,两个物体是可以进入内部的,附有刚体组件的物体并不会受到力的反馈作用。本系统功能模块主要用于检测加工过程中是否发生撞刀情况,将采用碰撞信息检测方式实现。首先需要对所有碰撞情况涉及的零部件添加碰撞器,考虑到精准性问题,选择网格碰撞器(Mesh Collider),检测类型包括刀具与三爪卡盘碰撞、刀塔与三爪卡盘碰撞、刀塔与零件碰撞3 类,检测分为3 种情况:发生碰撞、碰撞持续进行、碰撞消失。例如当刀具碰撞器与三抓卡盘发生碰撞,则调用MonoBehaviour.OnCollisionEnter 方法,通过编写脚本对碰撞事件做出响应并弹出警报窗口,如图7所示。

图7 刀具与卡盘碰撞检测Fig.7 Tool and chuck collision detection

3.4 数据查询系统

数据查询系统主要通过机床工作时刀尖圆弧半径r、切削深度ap、进给量f、切削速度v、主偏角Kr5 组参数数据的整理与输入,实现表面粗糙度Ra(平均值)、切削温度T(最大值)、切削功率P(平均值)、切削力F(平均值)数据的查询与输出。查询系统与MySQL 数据库建立连接,并设置刷新频率。

用户界面设计时遵循简洁、实用的原则,界面设计分为2 个部分。界面上半部分为数据输入,点击箭头出现机床刀具工作数据,可以进行数据的选择。同时,下半部分为上方选定数据组下的机床运行数据,并且以表格的形式出现。此系统的特点是用表格的形式非常直观地表现了机床运行的所有数据,便于查看,同时在查询过程中,并不需要5 组刀具数据全部输入,输入多少组,便会直接展现符合输入条件的所有数据,此时称作输入数据不完全状态。如果出现多组输入数据并没有符合条件的情况,则不会显示任何数据。系统主界面如图8所示。

图8 数据查询系统Fig.8 Data query system

4 最终效果

在完成系统各功能模块的搭建后,遵循简洁、人性化的原则对系统主界面进行了优化设计,系统主界面效果如图9 所示。界面设置账号访问功能,方便内部管理;主界面另外设置系统功能介绍,以离线文本和操作视频相结合的形式呈现,用户可在登录系统前对各功能模块进行初步了解,例如点击安全教育按钮,即可以弹窗形式展示数控机床操作过程中的注意事项及操作准则,起到警示教育的作用;在用户完成登录后,系统自动跳转内部功能界面,并设有UI按钮实现各功能场景间的切换。

图9 系统主界面效果Fig.9 System main interface effect

5 结语

为满足机械加工数字化智能化的发展趋势,通过对数控机床数字孪生系统整体架构的研究,开发了基于Unity3D 的数控机床数字孪生系统,以通过使用SolidWorks 软件对LG Mazak 数控机床进行三维模型构建,使用3DMax 软件对模型进行处理及格式转化并导入到Unity3D 场景中;通过数据的存储及调用,实现了数据可视化、数据查询等功能;通过相关脚本和GUI控件相结合,实现了加工过程仿真交互、碰撞检测预警等功能;最后建立了系统主界面及登录系统并对系统各功能模块进行集成。系统各功能运行流畅,可为数控机床数字孪生相关系统的开发提供一定借鉴。

猜你喜欢

数控机床刀具机床
机床展会
数控机床的节能应用
无织构刀具与织构刀具铣削性能对比研究
2019,中国机床变中求进
高档数控机床数据采集应用
数控机床电气系统的故障诊断与维修
切削刀具刃口形貌对刀具使用寿命的影响
基于通用机床的100%低地板有轨电车轮对旋修
机床挤刀装置的控制及应用
PLC在数控机床中应用