您好, 访客   登录/注册

基于Unity3D的某型叉车数值模拟

来源:用户上传      作者:

  摘 要
  根据某型叉车的机械结构组成和运动规律特点,利用Pro/E软件创建其三维零件模型,并组装成实体模型。运用Unity3D对某型叉车进行3D建模并仿真,利用软件中物理引擎,脚本模拟变速器和液压系统等技术,分别实现某型叉车碰撞和摩擦数值模拟,同时也实现了驾驶运动和作业运动的仿真,通过对比发现其仿真效果与实际运动相一致。
  关键词
  虚拟现实;叉车;Unity3D;运动仿真
  中图分类号: TP15                        文献标识码: A
  DOI:10.19694/j.cnki.issn2095-2457.2020.05.033
  0 概述
  叉车是主要运用在制造、港口、冶金、水电、仓储中心、铁路货场等装卸货物的场合,作为特种工业车辆设备,在驾驶作业过程中容易出安全事故。叉车的规范驾驶操作关系到财产与生命安全,要求操作人员的愈来愈高操作素质。因此,叉车的正确操作需要经过专门职业技能部门组织训练。之前的职业技能训大多数都是在实际车辆上进行,随着近些年来计算机技术、虚拟现实技术、自动控制技术的快速发展和广泛应用,运用计算机系统为核心和操纵控制台为基础组成各种模拟仿真训练器,控制设备操作人员通过仿真训练器进行培训训练,最后上岗工作。叉车模拟仿真训练器的研制和开发也是必不可少的。叉车的种类多种多样,其操作驾驶的技能要求也各不相同,本文主要是研究应用Pro/E、3DMax、Unity3d等多媒体设计软件对某型高速内燃叉车进行3D建模并仿真。
  1 模型的建立与渲染导出
  3DS Max、Solidworks、Pro/E等三维建模软件经被工程设计者运用。其中3DS Max虽然在造型、渲染、父子关系等方面功能强大,但在完成外形复杂的零件建模和装配方面,其工作速与 Pro/E相比相差甚远[1-2]。而Pro/E软件的几何造型功能强大,能建立各种复杂特征的零件模型,而且建模的工作效率是其他建模软件没法比的。所以我们先是运用Pro/E软件进行三维实体建模,然后应用3DS Max软件进行纹理贴图和材质渲染[3-5]。
  1988年美国参数技术公司推出(PTC)Pro/E系统,其中包括参数化设计三维CAD/CAM软件包,广泛应用于工业设计、电子、机械、航天、模具、汽车、家电等各行业。某型叉车模型的设计主要是应用Pro/E软件,采用部件的Top-down设计过程,首先建立某型叉车的组件,设定叉车中发动机、工作装置、车架、驾驶室、操纵装置等主要零件之间的装配尺寸参数,然后根据各零件的外形尺寸进行发动机、工作装置、车架、驾驶室、操纵装置等单个零件的设计。再将Pro/E设计的叉车组件模型转换成STL文件输出。
  2 某型叉车仿真模型的实现
  2.1 叉车模型的导入
  把装配好的叉车模型先导入3ds Max中.在其中对叉车模型进行材质的渲染和颜色配置。然后从接口导出为Unity 3D软件可以识别的.fbx格式,然后导入到Unity 3D,导入后,在Unity 3D中添加必要的灯光和摄像机。由于3ds Max中的坐标系和单位与Unity 3D有所区别,所以在导入前必须调整好单位的转换比例和各活动部件的坐标位置关系。
  2.2 叉车物理仿真实现
  Unity3D通过设置内置来支持Nvidia PhysX,其实际工作就是封装了一些游戏中常用的组件以及脚本中调用的类,只要将这些碰撞体组件赋予游戏对象,就被加入PhysX虚拟世界进行运算。Unity3D的常用组件:
  刚体(Rigid)、网格碰撞体(Mesh Collider)、地形碰撞体(Terrain Collider)、轮胎碰撞体(Wheel Collider)、弹簧连接体(Spring Joint)。
  如图1所示,场景中需要进行物理计算的主要有三种:地形、一些3D模型(如栅栏)和czs2.5叉车,其中地形和3D模型为静态物体,只要为其增加静态碰撞体组件即可。而叉车的构造较为复杂,首先在模型中前车身和后车身为不同的部位,因此要定义为两个网格碰撞体,并且为了得到真实的物理效果,需要将轮胎定义为车轮碰撞体并通过弹簧连接体与车身相连,叉车物理仿真的构造如图2所示。
  2.3 叉车驾驶仿真实现
  进行了叉车的物理组件装配之后,还要建立实现叉车行驶状态的动力学模型。由于叉车在驾驶过程中影响其运动情况的因素错综复杂,操纵机构对叉车的行驶存在着多输入、多耦合、非线性的控制作用,而实时渲染要求动力学仿真计算快速,要在精确度与计算速度之间折中,需要简化动力学模型。
  为了简化模型,做如下假设:所有车辆都是刚体,不考虑多节车厢的情况。叉车在行駛过程中,因速度的变化受到引擎的驱动力和阻力(动摩擦力、空气阻力),如果叉车在转弯还会收到轮胎的侧摩擦力。
  根据以上得出的叉车动力学模型,需要在Unity3D中通过脚本组件实现,首先为叉车对象增加一个继承自MonoBehavior的CZSControl.cs脚本,在其中重写更新函数Update()和两个Private函数shiftGears()、ChangeGears(),Update()函数在每帧绘制之前调用一次,shiftGears()和ChangeGears()函数在更新函数Update()中调用并进行动力学计算。图3为更新函数的部分代码,其中的计算公式中使用了大量的常量因子,不同的叉车可配置不同的参数以产生逼真的效果。
  2.4 叉车作业仿真实现
  叉车仿真模拟器通过驾驶仿真,实现了叉车的前进、后退、转向、变速等行驶状态仿真,但叉车不仅要实现驾驶仿真,还要对其工作装置进行作业状态仿真,让叉车能实现取卸作业动作。要实现取卸作业的动作,首先要为叉车工作装置对象增加三个继承自MonoBehavior的脚本HCJControl.cs、FrontGanHYControl.cs、FrontGanFYControl.cs,通过这三个脚本,实现了叉车叉臂的伸缩、俯仰,货叉架的横移、起升下降等动作。脚本的部分代码如图4、图5所示。
  3 小结
  本文基于某型叉车为主要研究对象,根据其机械结构组成和运动规律特点,利用Pro/E软件创建其三维零件模型,并组装成实体模型。运用Unity3D对某型叉车进行3D建模并仿真,利用软件中物理引擎,脚本模拟变速器和液压系统等技术,分别实现某型叉车碰撞和摩擦数值模拟,同时也实现了驾驶运动和作业运动的仿真,最终使用Unity3D仿真了叉车工作装置取卸货这一较复杂机械动作。通过对比发现其仿真效果与实际运动相一致,且使用者可在仿真时操作三维模型,有着良好的交互性。
  参考文献
  [1]施志辉,宋淑娥.渐开线齿轮Pro/E造型方法研究[J].组合机床与自动化加工技术,2004(11):45~46.
  [2]李玉红.基于Pro/Engineer野火版渐开线齿轮的参数化设计[J]. 机电设备,2008(2):45~47.
  [3]宣雨松.Unity 3D游戏开发[M].北京:人民邮电出版社,2012.
  [4]赵佳宝,冯欣欣,葛琳.基于Unity 3D日塔吊建模仿真[J].北京建筑大学学报,2014(4):66-69.
  [5]张文磊,郑晓雯,陈宝峰,等.基于虚拟现实的液压支架工作状态研究[J].煤矿机械,2012.10.
转载注明来源:https://www.xzbu.com/8/view-15182122.htm