admin 管理员组文章数量: 1086019
2023年12月23日发(作者:个人博客网站怎么创建)
总第16卷173期 大众科技 VOI.16 NO.1 2014年1月 Popular Science&Technology Janua ̄2014 基于Un i ty3D的搬运机械手仿真 罗捷 (广西机电工业学校,广西南宁530023) 【摘要】以某型搬运机械手为仿真原型。对其机械结构、运动模型进行了分析,创建其三维零件模型,在Unity3D中完 成零件模型的组装,利用物理引擎实现碰撞与摩擦的仿真,使用脚本仿真电机与气动的驱动方式。在Unity3D引擎中实现了对 搬运机械手这一较复杂机械的仿真。其仿真效果与实际设备有着较高的一致性。相比于传统解决方案,本搬运机械手的仿真方 法在实现的方便性,仿真的交互性方面有了不同程度的改进与提高。 【关键词】机械仿真;虚拟现实;Unity3D 【中图分类号】TP15 【文献标识码】A 【文章编号】1008.1151(2014)01.0062.03 A transfer mechanical arm simulation based Uni ̄3d Abstract:Taked a transfer mechanical ann for the simulation prototype.analyzed its mechanical structure and motion mode1.Created a 3D part modek,and the part models were assembled in Unity3D.Used physics en ̄ne to achieve the simulaiton ofthe collision and friciton, used script to simulate electromotor and pneumatic’S drive effect.Achieved a simulation ofthe tmnsfer mechanical aNT1 which is a complex mechanical in Unity3D enDne.Its simulation results with the actual device has a ihgher consistency.compare iwth the tradiitonal solutions, the simulation method ofthe mechanical alTn had improved on the convenience and interactivity. Key words:Mechanical simulation;vitrual reality(、,R);unity3D 1概述 机械手是可以在自动生产线上搬运物料的一种典型自动 化设备。研究使用Unity3D仿真机械手这一新的机器人仿真 机械手在工业生产中的应用日益广泛,在机械手的研发、 应用和相关课程教学中往往希望能够通过机械仿真技术帮助 实现手段,对机械人的开发、应用以及相关课程的教学有十 分重要的现实意义。 验证、调试和展示机械手。进行机械仿真,通常有三种方法: 第一:使用机械仿真软件,如:ADAMS、Solidworks、Pro/E 2搬运机械手仿真原型 等。这些软件的的优点是精度高,能真实的反映机械的受力、 运动情况,缺点是开发难度较大,交互性有限,难以通过网 本平台仿真的搬运机械手结构如图1所示。其主要部件 络、跨平台应用,不利于教学应用[1]。 包括:机架、底座、物料槽、机械手臂、气缸、电机、接线 第二:使用虚拟现实建模语言VRML。文献[2][3]提供了 端口盒等组成。此机械手为气压式三自由度机械手。 使用VRML仿真机械手的方法。使用此方法虽然可以在网络上 该搬运机械手臂可由电机驱动进行水平移动,机械手臂 发布,且交互性较强,但VRML本身不具备机械动力的分析能 和手爪可由气缸驱动完成手臂上升、下降,手爪张、合的运 力,也无物理引擎,要进行机械仿真需要编写大量代码。 动,从而对物料槽中的物料(小球)实施搬运。机械手臂水 第三:使用虚拟现实引擎或游戏引擎,如:Virtools、 平运动范围受左右两个限位开关限制,依靠三个行程开关进 Unity3D等。使用虚拟现实引擎进行机械仿真,可以方便的发 行定位,自右向左分别对应工位1、2、3三个位置。机械手 布在网络上,有很强的交互性,且虚拟现实引擎白带物理引 到达对应工位时,对应行程开关的接线端输出低电平。手臂 擎,可以很好的仿真各种机械、物理现象,其精度可以满足 上升、下降到位和手爪夹紧都会触发对应的光电传感器,使 大多数情况的要求。Unity3D是一个可以让开发者轻松创建诸 得对应接线端输出低电平。工位1、2底部的灵敏度可调红外 如三维游戏、建筑可视化、实时三维动画等类型互动内容的 光电传感器,用检测物料的反射光强。当反射光超过阀值时, 跨平台的专业虚拟现实引擎。文献[1]使用Unity3D对齿轮等 输出低电平。手爪处的光纤传感器用于检测手爪处物料的反 简单机械进行了仿真尝试。 射光强,光强超过阀值时同样输出电平。 【收稿日期】2013—12—10 【基金项目】广西中等职业教育教学改革一级立项项目“基于三维虚拟技术中职电子专业实验实训项目软件的开发与实践”。 【作者简介】罗捷(1984一),男,广西人,广西机电工业学校助理讲师,硕士,研究方向为虚拟现实仿真技术。 .62.
图1搬运机械手结构 3搬运机械手仿真的实现 要呈现真实的搬运机械手,几何和物理模型都要尽可能 贴近实物,并辅以模型材质、场景光照、声音效果以及场景 的配合,才能让使用者能够产生更强临场感。然而,由于现 有设备的运算、显示能力的限制,这种想法不可能完全实现, 必须在质量和效率之间进行权衡。 3.1三维模型的建立 创建可由Unity3D使用的搬运机械手的三维模型, 需要 经过以下三个步骤: 步骤一:零件模型的创建和装配。 由于Unity3D本身建模功能较弱,使用其他工具创建三 维模型会更为方便。本例中选用了Solidworks作为建模工具。 根据搬运机械手的结构,将搬运机械手划分为底座(包括斜 槽)、支架、电机架、机械臂支架、机械臂和手爪6个零件。 通过对实物的外形尺寸测量,按照实物尺寸对各个部件分别 建模,最终在Solidworks中将各个零件装配为完整的搬运机 械手模型。 步骤二:模型调整和美化。 三维机械手模型在创建时产生了许多不必要的面,需将 装配好的机械手模型导入3ds Max中,对模型各部分进行塌 陷处理,以减少不必要的面,提高显示效率。为模型添加材 质、贴图增加显示的真实感。同时对各个部件的原点、坐标 轴进行调整,以方便在Unity3D中对部件运动的控制。 步骤三:导入。 在3Ds MAX中将模型导出为Unity3D官方推荐的FBX格 式,导入到Unity3D场景中。为了在保持模型的尺寸,在导 入后应将模型尺寸按比例放大i00倍。 3.2机械动力仿真的实现 Unity3D内置NVIDIA PhysX物理引擎,不同于在VRML环 境中依靠纯代码实现虚拟机械动力效果的方法,在Unity中 可以不用或只需少量代码即可实现机械动力仿真效果。 .63. 3.2.1零件连接方式的配置 在Unity3D中提供了“关节”用于仿真零件间的连接方 式。Unity3D中的关节分固定关节(FixedJoint)、铰链(Hinge Joint)、角色关节(Character Joint)和可配置关节 (Configurable Joint)三种。由于以可配置关节的各项参 数可以由开发者自行配置,因此用途最为广泛。 由前文可知,该机械手可以完成手臂平移、手臂升降、 手爪张合三个动作。这三个动作分别涉及到手臂支架和电机 架的连接、手臂支架和手臂的连接、手臂和手爪的连接。在 本例中这三个连接均使用可配置关节实现。现以搬运机械手 的手爪为例,说明Unity中活动关节的配置方法。 手爪与机械手臂连接处为铰链结构,在气缸驱动下,围 绕转轴旋转,最大张开角度为3O。。手爪可以将物料槽中的 小球夹起、搬运。为了让手爪与机械臂连接,需将手爪和机 械手臂设为刚体(Rigidbody),使用可配置关节连接。因为 手爪相对手臂不需要进行平移,而只需要绕铰链轴旋转,所 以需锁定三轴平移,锁定y轴和Z轴旋转。同时,两爪分别 限制绕X轴旋转角度为0。~3O。和一30。~0。。由于此铰链 结构弹性极小,因此将Projection Mode设为Position and Rotation,且弹性距离和角度均为0。配置完成后手爪则会受 到关节的限制,与手臂连接,只能在限制的范围内运动。 对于固定于底座上的零件:底座、支架、电机架都以固 定关节连接。 3.2.2碰撞和摩擦的实现 为了能够实现碰撞和摩擦带来的物理效果,Unity3D在其 物理组建中提供了多种碰撞器组件:盒碰撞器、胶囊碰撞器、 球碰撞器、车轮碰撞器、网格碰撞器。前三种碰撞器分别可 模拟立方体、胶囊体、球体形状物体的碰撞与摩擦作用。车 轮碰撞器则用于模拟车轮的碰撞与摩擦。网格碰撞器则根据 三维模型的网格外形模拟碰撞与摩擦效果。网格碰撞器是最 为复杂的碰撞器,其碰撞运算复杂,因此Unity3D中不检测 两个网格碰撞器之间的碰撞。 在该搬运机械手运行中存在多个刚体间的碰撞与摩擦, 现以小球与手爪间、小球与轨道间和手爪与轨道问的碰撞与 摩擦为例,说明其配置方法。 小球外形是标准的球体,应添加与其几何外形相同的球 碰撞器组件。由于小球是塑料球,因此设置其物质材质为塑 料,质量为实测的0.46kg。轨道外形复杂,应选用网格碰撞 器,其物质材质为金属。手爪外形也较为复杂,本应选择网 格碰撞器,但由于网格碰撞器间无法实现碰撞,且本例中需 要模拟机械手臂在误操作时与导轨的碰撞,因而手爪不可选 用网格碰撞器,而是使用了盒碰撞器进行近似模拟。手爪物 质材质设置为金属。 3.2I3驱动的实现 经过关节和碰撞器的设置,三维搬运机械手模型已经具 备了仿真所需的物理参数,但没有电机和气泵的驱动力,还 不能完整的仿真机械手。 在机械手实物上,机械手臂的平移是由电动机通过蜗杆
驱动的,可近似看做匀速运动。因此,手臂的平移运动可由 添加到手臂支架的脚本中的移位方法GameObject.transform. Translate 0实现。 在机械手实物上,机械手臂的升降以及手爪的张合则是 气动,可近似看做恒力驱动和恒力矩驱动。因此,机械手臂 的升降由添加到手臂脚本中的施加恒力方法GameObject. rigidbody.AddForce()实现,手爪的张合运动由添加到手 臂中脚本中的施加恒力矩方法GameObJect.rigidbody. AddRelativeTorque 0实现。 4 GUI界面 为了在仿真时与使用者交互,让使用者操作三维仿真机 械手完成各项功能,GUI界面上设置了可操作机械手臂左右平 移、升降和手爪张合的按钮。使用者可以通过这些按钮操作 机械手臂完成各种动作,如搬运小球。同时,为了让使用者 能够了解机械手上各种传感器的输出,GUI界面上以颜色和文 字标注了各个端口输出的电平。创建好的虚拟机械手模型场 景及GUI界面如图2所示。 图2虚拟机械手模型场景及GUI界面 5小结 本文则以某型搬运机械手为仿真原型,通过分析其机械 结构,创建其三维零件模型,解决Unity3D组装零件模型为 完整机械的连接问题,利用物理引擎实现碰撞与摩擦的仿真, 通过编写脚本仿真了电动机驱动和气动的驱动方式,最终使 用Uni ty3D仿真了搬运机械手这一较复杂机械。其仿真效果 与实际设备有着较高的一致性,且使用者可在仿真时操作三 维模型,有着良好的交互性。本搬运机械手的仿真方法在已 有解决方案的基础上在实现的方便性,仿真的交互性方面有 了不同程度的改进与提高。 【参考文献】 【1】 张帆.基于游戏引擎的机械动力仿真技术的研究与实现们 软件导刊,2011(2):83—86. 【2】王余还.基于Java3D和VRML的空间机械手运动仿真Ⅱ】. 科技信息,2008(12):355—358. [3】邱瑛,李为民.基于VRML的机械手仿真及其技术卟机械 设计,26(3):37—39. 【4】倪乐波,威鹏.Unity3d产品虚拟展示技术的研究与应用Ⅱ】. 数字技术与应用,2010(9):54—55. [5】 朱柱.基于Unity3D的虚拟实验系统设计与应用研究【D】. 武汉:华中师范大学,2012. ..64-
版权声明:本文标题:基于Unity3D的搬运机械手仿真 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1703339626a447553.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论