基于Unity3D的智能装配生产线虚拟装配仿真毕业论文
2020-04-09 15:38:35
摘 要
如今虚拟仿真技术已经成为分析、研究各种虚拟系统的重要工具,它被广泛应用于工程领域和非工程领域。本文阐述虚拟仿真可视化的意义和关键技术,寻找了一条最为容易的快速搭建虚拟仿真平台的途径,即在Solidworks中建立几何模型-在3D Studio Max中设计动画,完成最终渲染效果-在Unity 3D中优化动画播放,添加界面和交互功能。然后按照上述途径对一个漏电断路器开关在智能装配生产线的一个装配单元的装配过程进行仿真,并对用到的软件操作进行了说明。最后对虚拟装配仿真的应用前景作了总结和展望。
关键词:虚拟装配;装配序列;动画制作;Unity 3D游戏引擎
Abstract
Nowadays, simulation technology has become an important tool to analyze and study various responsible systems, and it is widely used in engineering and non-engineering fields. This paper expounds the significance and key technologies of virtual simulation visualization, and finds the easiest way to quickly build a virtual simulation platform, that is, building geometric models in SolidWorks - designing animations in 3D Studio Max, completing the final rendering effect - optimizing animation playback in Unity 3D, adding interfaces and interactive functions. Then according to the above ways, this paper has simulated the assembly process of a leakage breaker switch in an assembly unit of the intelligent assembly line, and explaines the software operation used . Finally, the application prospect of virtual assembly simulation is summarized and prospected.
Key words:Simulation visualization;Assembly sequence;Animation;Unity 3D game engin
目录
摘要 I
Abstract II
第一章 绪论 1
1.1虚拟装配简介 1
1.2国内外虚拟装配的研究进展 1
1.3研究目的与意义 2
1.4漏电断路器智能装配线简介 2
第二章 仿真可视化关键技术 4
2.1可视化过程模型 4
2.2渲染原理 5
2.2动画仿真以及3D Studio Max的动画 6
2.3碰撞检测 7
2.3.1碰撞检测的模型表达 7
2.3.2碰撞检测的查询类型和Unity 3D中的碰撞机制 7
2.4 漏电断路器装配序列 8
2.5本课题仿真系统的制作流程 9
第三章 自动装配线模型搭建 10
3.1Solidworks软件简介 10
3.2零部件建模 10
3.3零部件装配约束和模型文件导出 10
第四章 装配线动画制作 12
4.1 3D Studio Max软件简介 12
4.2动画制作准备 12
4.3动画设计 16
第五章 流水线动画代码化 19
5.1Unity 3d软件简介 19
5.1.1纹理 19
5.1.2材质 19
5.1.3光照 20
5.1.4天空 20
5.1.5声音系统 21
5.1.6 Unity 3D的UI 21
5.2Unity 3D动画系统 21
5.3动画代码化准备 22
5.3.1Unity 3D脚本语言简介 22
5.3.2 Unity 3D移动游戏物体的两种方式 23
5.4动画代码化的原理 23
5.5第一人称镜头控制 24
5.6程序进程控制 24
5.7 CCD检测特效制作 24
5.8小结 25
第六章 总结 27
6.1经济性分析 27
6.2展望 27
参考文献 29
附录 30
致谢 34
第一章 绪论
1.1虚拟装配简介
虚拟装配是虚拟仿真技术的重要应用之一,用户使用各类交互设备(数据手套/位置跟踪器、鼠标/键盘、力反馈操作设备等)可以像在真实环境中一样对产品的零部件进行各类装配操作,在操作过程中系统提供实时的碰撞检测、装配约束处理、装配路径与序列处理等功能,从而使得用户能够对产品的可装配性进行分析、对产品零部件装配序列进行验证和规划、对装配操作人员进行培训等[1]。在装配(或拆卸)结束以后,系统能够记录装配过程的所有信息,并生成评审报告、视频录像等供随后的分析使用。国外的某些虚拟装配技术已经十分成熟,国内这方面的研究这几年也发展比较迅速。
利用虚拟装配,可以验证装配设计和操作的正确与否,以便及早的发现装配中的问题,对模型进行修改,并通过可视化显示装配过程。虚拟装配系统允许设计人员考虑可行的装配序列,自动生成装配规划,它包括数值计算、装配工艺规划、工作面布局、装配操作所模拟等。
作为虚拟制造的关键技术之一,虚拟装配技术近年来受到了学术界和工业界的广泛关注,并对敏捷制造、虚拟制造等先进制造模式的实施具有深远影响。通过建立产品数字化装配模型,虚拟装配技术在计算机上创建近乎实际的虚拟环境,可以用虚拟产品代替传统设计中的物理样机,能够方便的对产品的装配过程进行模拟与分析,预估产品的装配性能。运用该技术不但有利于并行工程的开展,而且还可以大大缩短产品开发周期,降低生产成本,提高产品在市场中的竞争力。
1.2国内外虚拟装配的研究进展
国外对虚拟装配技术的研究起步于20世纪90年代中期,由于政府及工业界对其支持力度比较大,加之研究的基础条件比较好,因此发展势头相对迅猛。
华盛顿州立大学开发研制了一个名为“虚拟装配设计环境”(VADE)的虚拟装配设计系统[2],用户可以先把在CAD系统中建立的几何模型导入到此系统,然后可以利用专用交互设备虚拟装配零件,可以直观的验证零件的可装配性,此系统还会为用户提供详细的关于零件设计和制造工艺信息。
Hari Srinivasan等提出了由个设计模块构成的拆卸框架[3],此系统利用比较容易得到的拆卸序列来寻求零件的装配序列。
Dewar,R.G等提出了在虚拟环境中辅助进行手工装配的方法[4],在此系统中用户在手工进行虚拟装配的同时,系统会自动记录用户的操作步骤,帮助用户记忆部分既定的序列,用户需要对自己装配时依据的装配方法进行说明。
Drews.P研究了“虚拟工作台”[5],此平台允许用户穿戴上专用交互设备,进行力学仿真,更加提高了虚拟装配的真实感。
国内对虚拟装配研究的起步较晚,但是发展速度较快,取得了不少的研究成果。
华中科技大学的管强等提出虚拟环境下面向装配的设计系统[6]。较早的提出在模拟环境下进行人工拆卸,来构建可装配性评价体系,并从装配成本的角度评价产品的装配性优劣。
中国科学院的田丰等提出了一个面向虚拟的三维交互平台[7]。该平台采用了虚拟现实技术中常用的“工具隐喻”,用户可以在虚拟装配环境中漫游,并且与虚拟对象进行交互,同时封装了三维图形构造、零件间的约束和碰撞检测功能。
李永立等提出了基于语义产品装配设计系统的总体框架结构[8],将装配语义分为常用语义与特殊语义,并建立了装配语义的层次表达;通过装配语义与几何约束的映射,形成几何约束的代数表达,借助零部件间的运动自由度的求解,实现了装配语义的驱动。
浙江大学的高瞻提出自由度规约方法进行约束分析[9],在理解与识别设计者的装配操作和意图基础上,通过空间几何角度分析,根据装配关系建立装配约束关系树,实现了虚拟装配现实环境下的产品装配的定位导航。
1.3研究目的与意义
由于应用于工程领域的仿真系统建立过程需要非常专业系统的知识和大量资金支持,而对于教学演示的虚拟仿真系统对于作者倒可以一试。本课题的的研究目标就是尝试通过一条简单的搭建仿真系统的途径,建立一个自动装配线的虚拟仿真环境,来代替传统的学生到装配车间实地参观的学习方法。这样做的目的是,教育者可以节省组织学生实地参观的经费,避免参观活动的安全管理工作,把自动装配线的转移到电脑等虚拟设备。学生可以随时随地进行装配知识的学习,而且会获得比实地参观更加灵活方便的角度来细致的了解装配过程的每一个细节。不同的虚拟学习环境,也会很大程度上激发学生的学习兴趣。
1.4漏电断路器智能装配线简介
在大部分流水线设备的制造过程中,通常首先进行的是各种零件的加工制造,接下来再进行产品的装配。这种生产形式不仅仅是在流水线加工行业如此,在其他产品的制造过程中同样适用。自动化装配线就是专业从事产品制造后期的各种装配、检测、标示、包装等工序的生产设备,是集机电、信息、影像、网络于一体的高度自动化装配生产线。具有性能稳定、所需人工少、生产效率高、单件产品的制造成本大幅降低、占用场地最少等优越性。自动化装配生产线在结构原理上与手动装配流水线是非常相似的,在手工装配流水线上操作者是工人,而自动化装配生产线则由一系列自动化装配专机来完成各种装配工序。除典型的直线布置形式外,为了最大限度地节省使用场地,还可以采用环形形式。
本文所要模拟的漏电断路器装配线主要包括总装线、分装线、工位器具及线上工具,具体包括固定工作台、电机、履带轨道、直振上料器、CCD(Charge-Coupled Device)检测设备、各个装配阶段的漏电断路器和各种自动装配专机。此单元进行了跳扣、灭弧室、大u、小u等零件的装配和检验,以及成品和次品的分离。在总装线和分装线上,采用柔性输送线输送零件。柔性输送线采用链板轨道,装配主体放置在产品载具上通过传送带运转完成装配动作,产品载具通过回流输送模块实现在传送带中的循环使用。要保证多机型同时精确工作,就要规划好整个装配线的装配节拍[10]。
在PLC控制方面,装配线采用现场总线控制方式,通过现场分布I/O统一控制装配线的运行及完成各工位间的通讯。组建现场信息监控系统采用以太网等方式,完成装配线上的信息采集、排产下达、工位监控及装配提示等功能。比如在下料口设置的放大型光电传感器用来检测物料是否按时送出。
第二章 仿真可视化关键技术
20实际90年代以来,随着复杂系统仿真应用需求的不断提高和应用领域的不断扩展,计算机仿真技术已从纯数字仿真、实物在回路中的半实物仿真,发展到人在回路中的虚拟环境仿真技术的新阶段。对真实系统的仿真,不再是只采用一种仿真技术,而是构造集纯数字仿真、实物在回路中的半实物仿真和人在回路中的虚拟环境仿真技术于一体的综合仿真系统。与此同时,高性能仿真计算平台也从单机平台转向基于计算机互联网的机群系统。它综合应用了分布处理,网络通信,client/server、面向对象、并行数据库、可视化等先进技术,从而构成具有强实时性和交互性的分布协同的仿真计算体系结构,充分满足分布式交互仿真所需要的很好的互操作性、可移植性、可伸缩性和高可靠性等要求。
传统的数字仿真技术主要应用于科学计算。因为复杂系统仿真应用需求的不断增加,使这种以数学模型为中心的仿真系统,无论是对建模过程的描述,还是对仿真结果的分析,都十分复杂,而且很难得到整体、形象、直观的仿真结果,无法及时判断与决策,甚至可能会丢失大量有用的信息。
可视化技术的引用,将仿真技术中从计算模型到计算结果全部转换为图形的输入与输出,将复杂的数据计算和数据处理推到后台,实现了把计算机产生的数字信息转变为直观的、以图像或图形信息表示的、随时间和空间变化的物理现象和物理量。用户只要通过使用可视化软件平台或多媒体技术,以人机交互的方式建立和控制计算模型,就可以获取计算过程的仿真结果,从而干预和引导计算,并最终获得计算结果的图形、颜色、静态或动态画面仿真结果的最终见解,使研究者了解研究的全部过程与发展趋势。
2.1可视化过程模型
第一步数据预处理,其功能是将模拟(计算或实验)所产生的原始数据作规范化处理,包括数据产生和数据的精练与处理以便形成可用的应用数据。由于计算机模拟或科学实验获得的原始数据,一般不能直接输入到可视化处理模块,通常需要对其进行必要的变换处理。对原始数据进行变换处理的功能包括:数据规范化处理;滤波处理;平滑处理;网格重新划分;坐标变换;几何变换;线性变换;分割与边缘检测;特征检测、增强和提取;查色表操纵和特征映射等等
第二步是可视化映射。它是整个流程的核心。将经过处理的原始数据转换为可供绘制的几何因素和属性。映射的含义包括可视化方案的设计,即需要决定在最后的图像中应该看到什么,又如何将其表现出来,也就是说,如何用形状、光亮度、颜色以及其他属性表示出原始数据中人们感兴趣的性质和特点。
第三步绘制功能是将几何数据变换成图像数据,将第二步产生的几何因素和属性转换为可供显示的图像,所用的方法是计算机图形学中的基本技术。成熟的计算机图形学理论和方法提供了丰富的绘制算法可供可视化技术利用,包括扫描旋转、隐藏面的消除、光照模型、明暗处理、透明和阴影、纹理映射和反走样技术等等。在图形工作站上,可以借助已有的图形软件包及图形硬件完成以上功能。
第四步是显示图像,包括图像的几何变换、图像压缩、颜色量化、图像格式转化以及图像的动态输出。
2.2渲染原理
图象的渲染过程实现的就是可视化过程的的第三步。渲染流水线指的是计算机需要从一些列的顶点数据、纹理等信息出发,把这些信息最终转换成一张人眼可以看见的图像。而这个工作通常是由CPU和GPU共同完成的。具体的渲染流水线如图2.1。
图2.1 渲染管线流程图
在应用阶段通常由CPU负责实现,开发者具有这个阶段的绝对控制权。有三个任务,首先要准备好场景数据,如摄像机位置、视锥体、使用的光源;提高渲染性能,往往需要一个粗粒度剔除工作,以把那些不可见的物体剔除出去,这样就不需要再移交给几何阶段进行处理;最后要设置好每个模型的渲染状态。这些渲染状态包括但不限与它使用的材质、使用的纹理、使用的shader等。这一阶段最重要的输出是渲染所需的几何信息,即渲染图元[11]。
几何阶段在GPU上进行,负责和每个渲染图元打交道,进行逐顶点、逐多边形的操作。这个阶段可以分成更小的流水线阶段。一个重要任务是把顶点坐标变换到屏幕空间中,在交给光栅器进行处理。通过对输入的渲染图元进行多步处理后,这一阶段会输出屏幕空间的二维顶点坐标、每个顶点对应的深度值、着色等相关信息,并传递给下一阶段。
光栅化阶段会使用上个阶段传递的数据来产生屏幕上的像素,并渲染出最终的图像,也是在GPU上进行。这个阶段的主要任务是决定每个渲染图元中哪些像素应该被绘制在屏幕上。它需要对上一阶段得到的顶点数据进行插值,然后再逐行逐像素处理。
GPU的渲染流水线接收顶点数据作为输出。这些顶点数据是由应用阶段加载到显存中,再由draw call指定(Draw call是CPU调用图像编程接口,以命令GPU进行渲染的操作)。这些数据随后被传递给顶点着色器。
顶点着色器是完全可编程的,它通常用于实现顶点的空间变换、顶点着色等功能。曲面细分着色器是一个可选的着色器,它用于细分图元。几何着色器同样是一个可选的着色器,它用于逐行逐图元的着色操作,或者被用于产生更多的图元。下一阶段是裁剪,这一阶段目的是将那些不在摄像机视野内的顶点裁剪掉,并提出某些三角图元的面片。这个阶段是可配置的。屏幕映射负责把每个图元的坐标转换到屏幕坐标系中。
光栅化阶段中的三角形设置和三角形遍历阶段也都是固定函数的阶段。接下来的片元着色器,则是完全可编程的,它用于实现逐片元的着色操作。最后,逐片元操作阶段执行很多重要的操作,如修改颜色、深度缓冲、进行混合等,它不是可编程的,但具有很高的可配置性。
OpenGL[12]和Directx是当今的两大图像应用编程接口,这些接口用于渲染二维或三维图形,一个应用程序向这些接口发送渲染命令,而这些接口会依此向显卡驱动发送渲染命令,OpenGL和DirectX的函数调用翻译成了GPU能够听懂的语言,同时它们也负责把纹理等数据转换成GPU所支持的格式。而Unity 3D支持这两种图象接口也是其跨平台的原因之一。
2.2动画仿真以及3D Studio Max的动画
3D动画常用关键帧技术制作动画,关键帧的概念来自于传统的卡通动画。在早期的卡通动画的制作步骤中,熟练的动画设计师设计动画的关键画面,即关键帧。然后由一般的动画设计师设计中间帧。对于计算机动画,其中间帧是由计算机通过插值计算的方法来生成的。一个程序中独立的例程按合适的频率播放每一帧画面。所有影响画面图像的参数都是关键帧的控制参数,如位置、形状、纹理、光照等参数,在3D Studio Max中也就产生了材质动画,修改器动画。基于物理的动画又是也被称为运动动画,其运动对象的运动要符合物理规律。运动动画的一个重要部分就是所谓的碰撞检测,即检查物体是否发生碰撞。相应的在3D Studio Max中的MassFx[13]运动学系统可以很简便的模拟物体真实的物理运动。关节动画按不同的实现途径可以分为正向关节动画和反向关节动画,最多的是应用于生物动画。
人物动画的制作主要利用了3D Studio Max的蒙皮功能,先建立好人物模型,再建立一套匹配人物大小的骨骼系统,然后利用“蒙皮”绑定骨骼和模型,使骨骼的运动,带动人物模型的运动。由于本课题的仿真装配线上,有一个不便机械装配的单个零件,实际由一个工人装配,所以也需要制作人物动画。
2.3碰撞检测
2.3.1碰撞检测的模型表达
多边形模型是计算机图形和建模中最常使用的模型表达方式,具有表达简单、通用性好、有多种硬件加速渲染支持的优点。最常用的多边形模型是一种没有几何联系,且不含拓扑信息的多边形集合。如果这些多边形构成了一个闭流形,那么模型将又有定义明确的内侧和外侧。许多集合算法都适用于这种结构,如果这种闭流形是凸面体,就非常适用于碰撞检测算法的实现。但是,这种检测的运算开销是相当大的,因此必须进行优化。
通常的优化方法是建立模型的包围盒树,先检测模型的包围盒是否相交,相交的话再检测下一层的包围盒。最典型的包围盒有轴向包围盒和球形包围盒,这两种包围盒的优点是包围盒重叠检测方法比较简单。
2.3.2碰撞检测的查询类型和Unity 3D中的碰撞机制
在最简单的碰撞检测中,所要求的就是查询两个模型是否发生了碰撞。其可能的查询包括:1查询哪一对模型发生了碰撞2查询发生或即将发生碰撞的图元;3查询模型之间的间距;4在知道模型的位置和运动状况下,估计它们何时会发生碰撞。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。