基于Unity3D的数控车床虚拟训练系统毕业论文
2020-04-09 12:04:22
摘 要
本文对数控加工技术中的数控车床操作和切削过程仿真进行了深入的研究,设计了一个针对数控车床的虚拟训练系统,学员能够在虚拟系统中实现数控车床的主轴正反转和刀架的移动等基本操作,其中切削过程中工件零件从原始毛坯到最终零件的变化是仿真技术中的重点核心。
在传统的车床操作培训过程中,机床的数量有限,加上长期反复拆装带来的损耗,因此数控机床培训成本高昂。针对成本过高的问题并综合考虑经济效益,本文提出了一个基于Unity3D引擎的数控车床虚拟训练系统。通过模拟仿真车床加工过程,在虚拟训练系统中向学员呈现真实的车床其各部件的组成和运动,从而快捷地完成机床操作的培训。主要完成的工作包括:使用Solidworks分部件建立机床模型,在Unity3d中编写脚本实现机床各部件在各类操作指令中不同的运动,并将车刀位置、转速等数据输出呈现,并在UI界面中实现人机交互。
关键词:数控车床,Solidworks,Unity3d引擎,切削仿真
Abstract
In this paper, the numerical control lathe modeling and cutting process simulation technology are studied in depth and a virtual lathe training system is designed. Students can realize the basic operations such as spindle rotation and tool shift in the virtual system. Among them, the change of the workpiece from raw blanks to final parts is the key point in the simulation technology.
In the traditional lathe operation training process, the number of machine tools is limited and the loss caused by long-term repeated assembly and disassembly is large, so the cost of CNC machine training is high. To solve these problems and consider economic benefits, this paper presents a virtual lathe virtual training system based on Unity3D engine. By simulating the progress of the lathe machining, the trainees are presented with the real components and movements of the various parts of the lathe in the virtual training system, thereby completing the training of the machine operation conveniently. The main tasks completed include: using Solidworks to build the machine model by component, writing scripts in Unity3d to achieve different movements of the various parts of the machine tool under various operating instructions, output of the lathe position and the spindle speed and other data, and realizing Human-computer interaction in the UI interface.
Keywords: CNC Lathe, Solidworks, Unity3d Engine, Cutting Simulation
目录
摘要 i
Abstract ii
第一章 绪论 1
1.1 数控机床培训的背景 1
1.1.1 数控技术概述 1
1.1.2 存在的问题 1
1.2 仿真系统概述 1
1.2.1 仿真技术 1
1.2.2 国内外现状 1
1.2.3 使用仿真系统实现训练的意义 2
1.3 主要内容与关键技术 2
1.3.1 三维建模 2
1.3.2 系统仿真原理 3
1.3.3模型与网页交互 3
第二章 数控车床虚拟训练系统仿真技术 4
2.1 数控车床工作原理 4
2.2数控车床训练系统需求分析 5
2.3 仿真流程设计 7
2.3.1 三维模型 8
2.3.2 系统设计与开发 9
第三章 系统设计及实现 10
3.1 三维建模 10
3.1.1 床身部件建模 11
3.1.2 主轴箱部件建模 12
3.1.3 尾座部件建模 13
3.1.4 X向驱动部件建模 14
3.1.5 Z向驱动部件建模 14
3.1.6 刀架部件建模 15
3.1.7 完整机床装配 15
3.2模型渲染与导出 17
3.2.1 3Ds Max模型渲染 17
3.2.2 格式转化 17
3.3系统设计与开发 18
3.3.1 场景、视角设置 19
3.3.2 工作台移动控制 21
3.3.3 主轴转动控制 22
3.3.4 输出显示控制 23
3.3.5 工件切削控制 23
3.3.6 辅助功能控制 25
3.3.7 UI设计 25
3.4 系统发布 26
3.4.1 界面美化 26
3.4.2 图表展示 27
第四章 总结与展望 28
4.1 论文总结 28
4.2 前景展望 28
参考文献 30
附录 部分代码 32
附A主摄像机控制脚本 32
附B刀架 X位移控制脚本 33
附C Z向位移显示脚本 33
附D工件添加和切削控制脚本 34
致谢 37
第一章 绪论
1.1 数控机床培训的背景
1.1.1 数控技术概述
数控加工技术是现代工业自动化制造的重要基础之一。随着测控技术和自动化技术的蓬勃发展,数控技术已经渗透到现代工业的各个领域,成为现代制造业的基石。产品的层次、性能和产能要求的日益提高,对生产装备的各项加工性能也提出很高要求。目前高精度高效率的数控设备已经逐渐取代传统机床,以适应现代制造业批量化、自动化及智能化的特点。各大高校和专业技术学校也开设了机械等机电类专业培养专业技术人才。
1.1.2 存在的问题
在传统的车床操作培训过程中,高效的学习必须要求在真实机床上的实践操作,仅仅书本上的理论教学是不够的。但是培训用机床相对学生来说数量极其有限,长期反复拆装也会带来设备的大量损耗,因此培训成本高昂,难以保证每一个学生都有足够的实际训练,这也反过来导致了培训效果不高。场地和设备天然地给培训带来一定限制。同时随着技术更新和产品换代,旧的培训教材和设备都会被淘汰,也是一笔不小的成本。
1.2 仿真系统概述
1.2.1 仿真技术
仿真是利用模型重现实际系统中发生的过程,并通过测试系统模型来研究现有系统,包括电气、机械、化工、社会、经济、生态等广泛领域。具体到机械领域,仿真加工技术就是通过机床和工件模型复现机床加工的过程,通过测量结果研究随着机床运动工件的形状和精度的改变。数控加工仿真为数控制造的可行性和准确性的实现,数控技术的广度和深度上的发展,以及专业技术人员的培训提供了强大的推力。
1.2.2 国内外现状
目前国内的虚拟仿真系统涉及到农业、机械、建筑、矿业等领域,有很多是基于OpenGL的仿真系统。河北工业大学的毕海霞应用面向对象的程序设计方法,开发了一套仿真加工系统,使用3DS Max建模,以OpenGL为图形接口,基于Z-MAP的三角网格离散方法实现切削[2]。这类仿真系统具有封装、继承、多态等优点,但是编程过程还较为复杂,开发难度大,缺少用户交互体验。长安大学的曾勇开发的挖掘机模拟训练系统通过3ds Max实现挖掘机的基本运动,使用Unity3D编写脚本控制挖掘机在虚拟场景中的运动,设计算法实现碰撞检测[3]。湖北工业大学孙本固在Unity3D引擎中,使用圆台离散法设计待加工零件模型,以实现虚拟车削仿真,此外还设计了相应的算法和UI,实现虚拟车削仿真系统的登录、操作、教学演示等丰富功能[4]。Unity3D具有强大的图形引擎和物理引擎,支持多平台和多种语言开发,能够逼真地呈现机床的基本运动。
国外的数字化制造起步比国内要早很多,虚拟现实技术的发展也更为先进,因此国外针对虚拟加工技术有较为深入的研究和更为广泛的应用。South Ural State University的L.V. Radionova团队采用Unity3D、Solidworks和3ds Max软件开发了一套交互式虚拟模拟器“板材轧制”,用于冶金机械行业专家人才培养[18]。Hirohisa NARITA团队开发了平头铣刀的虚拟加工模拟器,用于评估加工过程。分析铣刀加工路径和加工误差,实现刀具路径的优化[22]。在机器人装配训练系统[16] 、虚拟大学医院[17]等其他领域方面,虚拟现实技术还有更具体和广泛的应用。
1.2.3 使用仿真系统实现训练的意义
虚拟训练系统不需要购置实际设备,一套系统可以满足大量学员学习和训练的需求,且具有重复易用性,避免了实际设备的损耗和维护,有效降低了培训成本。摆脱设备的限制后,学员可以在空间和时间上更灵活地参与培训。面对相同功能型号参数不同的设备,适当修改参数即可,当设备更新换代时,虚拟训练系统也可以配套升级,在更新修改培训内容方面具有很强的适应性,相对传统训练模式有着不可言喻的优势。
1.3 主要内容与关键技术
1.3.1 三维建模
三维建模使用建模方便精确、零件配合关系明确的Solidworks软件,完成建模后使用3Ds Max软件对模型进行材质贴图和渲染。
首先建模之前根据机床的基本结构和工作原理,将整体机床分解为多个部件。通过对实际数控车床的观察测量,对机床的各个零件尤其是参与到主要运动中的部件进行三维建模,在不影响机床功能实现和仿真效果的基础上对机床模型适当简化。然后将建成的零件组合成各部件,再由基础部件组合成为整个机床。部分功能在Solidworks实现较为困难,比如操作面板上的按钮,为了模拟实际操作又是不可或缺的,故使用3Ds Max软件对这些细部进行材质贴图,更符合真实机床。
1.3.2 系统仿真原理
在建立的数控机床三维模型的基础上实现系统仿真,主要功能依靠Unity3d引擎实现。
首先在实际操作数控车床的经验基础上,确定数控车床虚拟训练系统的主要功能需求。分模块设计仿真系统,各个模块控制对应的部件或实现相应的组合运动。 在Unity3d中编写脚本应用到各自对象,使其做出目标运动,分离部件的不同运动可以互相组合;制作UI界面方便人机交互,学员能适应不同层次的操作机床,对数控机床的各项功能有更明确清晰的认识。本系统还通过加工一个数控程序展示数控机床自动加工的完整过程,学员可以完整地了解数控机床的运行流程。
1.3.3模型与网页交互
虚拟训练系统发布在Web端,通过Unity3d发布到网页端,使用html和JavaScript语言实现网页交互。
除了操作机床的界面,一些必要的信息无法展示出来,需要通过网页交互展示。对一些重要的参数,比如转速位移等,分别输出到显示端或网页端,使学员明确不同操作指令转化为何种机床运动。Web端可以通过JS脚本把一些经过测量才能得到的数值以图表的形式直观地显示出来,如主轴振动、工件形状。学员通过训练系统可以清楚地掌握机床的工作状态和工件形状的改变。
第二章 数控车床虚拟训练系统仿真技术
数控车床虚拟训练系统的设计是本文的论述重点,在已经习得的理论知识如机床原理结构的基础上,利用新的技术和能力,实现机床的交互仿真,达到更方便的训练操作数控车床的目标,同时也要考虑训练系统的人机交互的便利性,把操作对应的结果直观明确的展示出来。
2.1 数控车床工作原理
本系统基于CK6132数控车床的三维模型。CK6132是卧式数控车床,最大工件回转直径320mm。主要由主轴箱、刀架、尾座、床身、床脚、光杠、丝杠等部件构成,
经过切削加工的任何机械部件的形状都由许多易于切割的表面组成的。从几何角度来看,这些表面的形成都看作称为一条母线沿另一条导线的移动。为了使机床加工零件能够获得期望的表面,需要工具和工件之间的相对运动来形成母线和导线。形成两条发生线所需的运动总和就是形成表面所需的运动,也称为表面形成运动。金属切削的基本功能是为切削提供必要的运动和动力。机床的基本工作原理是通过刀具和工件之间的相对运动,从工件上去除多余的金属材料,从而使工件具有所需的几何形状和尺寸。
机床的成形运动可以分为主运动和形状创造运动(见图2.1)。主运动是最重要的运动,使工件和刀具产生相对运动以进行切割。其功能是去除加工表面上的多余金属材料。 因此,主运动的速度很高,占据机床的大部分功耗,也称为切削运动。形状创成运动如果不包含主运动,就等于进给运动,是连续切削以得到工件的最终成形表面的过程,其功能是形成工件的发生线。形状创成运动速度低,功耗小。数控车床的主运动是主轴的旋转运动,形状创成运动是刀架的进给运动,包括 X、-X、 Z、-Z四个方向的进给。
图 2.1工件成形运动示意图
主轴箱内有一个齿轮传动链,将电动机的旋转运动传至主轴,并在滑移齿轮的作用下,实现不同的传动比,使主轴获得数十级的转速,也可以实现不同转速的反向旋转。通过三爪卡盘固定在主轴上的工件也能随主轴一起转动。这就是数控车床切削过程中的主运动。
车床总共有X、Z向两个互相垂直的水平导轨。两个伺服电机驱动下,通过联轴器带动两根丝杠转动,丝杠螺母将丝杠的旋转运动转化为固定其上的拖板的水平位移运动。刀架固定在最上方的纵溜板上,从而由电机转动实现刀架的X、Z向水平进给。这就是数控车床切削过程中的形状创成运动。
上述的两种运动组合起来,就完成了回转工件在数控车床上的切削。
2.2数控车床训练系统需求分析
在设计数控车床虚拟训练系统之前,必须对仿真对象的特点充分了解。本系统开发主要是针对我国目前对数控车床学员训练中缺少设备、培训时间空间不灵活、培训成本过高的问题。虚拟车床训练系统的主要目的是仿真实际的数控车床,用户能够在虚拟车床上模拟实际操作和对零件的真实加工过程。数控车床虚拟仿真在Unity3d中实现,下文提出数控车床虚拟训练系统需要实现的功能,以及实现这些功能所需要的一些API脚本或算法思路。具体需要实现的功能见图2.2。
图 2.2虚拟车床训练系统需求图
(1)刀架X轴、Z轴移动与快移功能
根据机床工作原理,刀架固定在水平拖板上,水平拖板由丝杠驱动,丝杠通过联轴器与伺服电机相连,伺服电机是刀架移动的动力来源。在仿真系统中,需要实现刀架的 X-X 方向和 Z-Z方向水平位移。
横溜板上有一条水平导轨,纵溜板及与其相连的丝杠螺母底座、刀架等都会沿着它X向移动。仿真只要求结果,此处将丝杠转动带动拖板位移省去,可以不用设置丝杠螺母和丝杠互相作用中涉及到的物理特性,避免了摩擦力等物理性能的影响,同时也无需对工作台的位移和转动约束进行更复杂的设置,只需要控制工作台部件就能实现精确的控制。故以小工作台部件为对象,通过Transform类中translate功能,使得小工作台 X或-X位移。
除了要实现刀架的 X-X方向水平位移,还需要实现 Z-Z方向位移。刀架Z轴移动的工作原理与2.2.1中X轴移动相同,但实现对象实际上并不一样,因此Z轴移动必须单独实现。小工作台固定在Z向移动的横溜板上,要实现刀架Z向移动,小工作台应当随横溜板一起Z向移动。故以整个工作台为对象,通过Transform类中translate功能,使得工作台 X或-X向移动。
工作台的快移功能也可以实现,把translate功能中的参数放大,就能够加快工作台位移的速度。
(2)主轴正反转、停止与转速控制功能
根据机床工作原理,电动机带动输入轴转动,转速通过与输入轴相连的齿轮系输出,并且在滑移齿轮作用下获得不同方向不同级别的转速。在仿真系统中,将传递转速的过程简化,省去复杂齿轮互相的作用,避免对这些齿轮和传动轴的物理性质和约束的设置,直接对主轴进行控制,就能够实现精确的转动。
还要实现主轴旋转的转速控制功能。只需要对Rotate功能的参数进行修改。增大参数,则主轴转动加快;减小参数反之。
(3)输出功能
实际数控机床在运行时,右侧显示屏会实时显示主轴转速S、刀架的X和Z位移。在仿真系统中,也要实现输出这些参数的功能。
在显示屏出建立Text Mesh作为输出显示的位置,要显示的文本就是Text Mesh的text属性的值,可以将字符串赋值给它,就能修改显示。添加3个Text Mesh显示三个参数。
(4)切削仿真功能
切削过程的仿真是仿真系统的难点和重点,缺少这一步数控车床仿真系统就失去意义,无法观测工件经过切削后的具体变化。要求在工件旋转的时候,刀具与工件发生碰撞即产生切削,工件被切削层掉落,自身形状发生改变。若刀具-X向移动到工件中心,则工件被切断。
(5)数控程序加工仿真功能
数控车床使用NC代码程序进行加工。实质上就是把NC代码经过译码、寄存和运算转化为不同坐标的伺服系统的控制指令信号,在接受电路放大处理过的信号后,驱动伺服电动机输出相应的角位移和角速度,并通过执行部件的传动转化为工作台的位移,从而实现进给运动。
本系统集成一个功能按键,一键自动完成一个NC程序的加工过程,要求依序执行代码完成整个加工过程。这是整个系统各项功能的综合运用。一段完整的数控加工过程,有助于帮助学员更好的学习数控车床的操作方法和运行原理。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。