基于Unity虚拟仿真实现机器人三轴孔明锁的装配*

2021-04-15 05:52刘魏晋陈俊杰李树杰
南方农机 2021年7期
关键词:蓝图成品原材料

刘魏晋 , 胡 琛 , 陈俊杰 , 唐 洋 , 李树杰

(1.武汉交通职业学院,湖北 武汉 430000;2.湖北交投科技发展有限公司,湖北 武汉 430000)

自动化生产线从20世纪初开始问世,机械制造也开始向机械自动化技术方向发展。20世纪中期自动化生产线开始蓬勃发展。自动化生产与原有的生产线相比,降低了生产成本,减少了生产时间,省去了一些人为操作过程,节省了场地空间,在制作工艺上可以极大地提升产品的质量、精确性、稳定性以及效率,达到了事半功倍的效果。自动化生产线主要包括机械部分、控制部分、传感器部分、检测部分、执行部分和电源部分,而机器人就属于其中的执行部分,工业机器人的引入,可以大幅提升制造业自动化生产水平[1]。它是自动化生产线中不可或缺的一部分,它的种类繁多,功能齐全。例如,对机械零件的加工与装配,生产线中的喷漆、焊接、电镀,产品的分拣,货物的搬运等,这些功能都充分证明了它的重要性。

1 软件与硬件

Unity3D是Unity Technologies公司于2005年发布的一款创作引擎,可实现各种3D内容形式的交互,大多数人使用他的目的和使用Unreal引擎一样都是以开发游戏为主。Unity引擎发展了10多年,现已成为一个非常强大的开发引擎。Unity提供了一个功能齐备、容易操作的开发环境[2]。Unity应用十分广泛,不仅仅是游戏开发,一些模型设计、策划行业、教育行业、电影行业、工业等都可以用到Unity。基于此,本文以Unity3D场景集成的方式对智能化机器人和设备进行数字化三维建模,并完成虚拟现实的人机交互[3]。

SIMATIC S7-1500PLC是目前西门子公司对中国发布的最新一款PLC,它为使用者提供了最强的性能、内置以及强大的电源、更多的通信方式等。由于S7-1500系列PLC自带模块化结构,使用者可以将一些非常复杂的机械设计变为现实,而且可以为使用者在数字化转换的过程中提供一些可靠的帮助。相比于西门子S7-1200系列PLC,则显得更加灵活,其中,位、字、实数指令的运算都要比S7-1200系列的指令运算快。网口数也比S7-1200系列多,S7-1500最多可以拓展31个模块,这是S7-1200系列无法比拟的。所以,大多数情况都选取S7-1500作为控制系统的主站。

2 系统搭建

随着虚拟现实技术迅速发展,虚拟装配在产品开发、实训教学中得到了广泛应用[4]。Unity3D的虚拟现实技术可以不受场地和空间限制,在虚拟场景中实现和现实自动化生产线一样的流程工艺控制,Unity3D与虚拟仿真PLC相结合完成虚拟仿真机器人控制,一共装配3把三轴孔明锁,1个孔明锁需要3个物料组成。3个物料按原材料库——暂存库——伺服托盘放料位——伺服托盘检测位——伺服托盘取料位——成品库的流程来完成装配。原材料库、暂存库、成品库中共有15个传感器,检测物料是否到该位置,以便执行下一步动作。

将虚拟机器人包导入Unity项目中,在进行产线搭建前需得到官方授权,在验证窗口里将机器码复制给官方人员进行授权,方可对导入包进行操作。授权后在场景选项中进入产线搭建,将场景布局变更为官方的布局,在本地模型中对模型进行位置搭建。虚拟场景运行模式下可以在设备选项选中仿真机器人,对机器手臂进行自由拖动结合,项目界面可以设置机器人每一步的动作点位。图1为Unity3D虚拟仿真机器人。

图1 Unity3D虚拟仿真机器人

在蓝图的逻辑关系中,蓝图起到操作虚拟仿真机器人的作用,蓝图是脚本编写而成的,将仿真机器人的每一步信号在蓝图上编辑出来,图2为仿真机器人操作面板蓝图。蓝图一共分为四个部分,原料位到缓存位部分、原料传感器部分、缓存位传感器部分和加工位部分。原料位到缓存位部分主要是指机器人移动原材料至暂存库的控制流程。加工位部分由伺服模组、机器人和成品库的传感器组成。蓝图编辑过程中要将蓝图对应装配流程顺序依次连接。蓝图中的控制面板可以直接控制仿真机器人的动作。按下启动,系统开始按照流程运行。运行时对应指示灯亮起。

图2 仿真机器人操作面板蓝图

3 程序设计

虚拟仿真机器人是连接西门子S7-1500PLC进行控制的,需要用到TIA portal 软件,控制本次装配流程的程序指令都是需要从DB块里面调用的。

创建好与Unity蓝图对应的DB块,根据蓝图上的信号在DB块中添加相应的变量。虚拟仿真场景中的伺服托盘需要给他标定位置,用ADD和IN_RANGE指令对伺服托盘模组进行原点位、装配位以及检测位的定位。确保机器人能够正确将物料放到伺服托盘对应位置。图3为伺服托盘程序段。

图3 伺服托盘程序段

当原料传感器检测到原料库有物料时,传感器将电信号传给机器人,机器人接收到信号开始动作,将原材料抓取至暂存库,暂存库内也装有传感器,当内部的传感器检测到原材料就会将信号传给机器人,这时机器人就会按照流程继续去抓取原材料按部就班地放到暂存库,机器人会按照程序编号的顺序去抓取原材料。当暂存库的3个位都满时,机器人会再次接收到传感器的信号,就会把原材料转移到伺服托盘上,伺服托盘也有3个位置,并且每个位置上都有传感器,一旦检测到物料,伺服托盘就会移动到检测位,检测相机检测完成后,伺服托盘会再回到放料位等待下个物料,依此步骤执行3次后伺服托盘就会移动到装配位开始进行三轴孔明锁的组装。机器人会根据程序去到相应的点位来完成孔明锁的组装,组装完成后机器人会将孔明锁放到成品库,3个成品库也设有传感器,成品被移动到成品库时机器人就会放置下个成品,直至3个成品全部放置完毕,最后机器人再回至原点,整个工艺流程才全部结束。

机器人开始取料需要几个条件,机器人要处于空闲状态,库存位里面的传感器要检测到物料,即物料要放在库存位。这样程序中相应的常开指令就会置1,常闭指令保持置0,使得“机器人取第一根料至暂存库启动”的指令被置位。程序段中的物料检测开关对应的就是原材料库中所安装的接近开关传感器。在机器人抓取第一根料的程序中,为了保证机器人正常运行,将程序第三条“物料检测开关2”的常开指令前面放1个“物料检测开关1”的常闭指令,这样原材料库的1号接近开关传感器检测到原料时“物料检测开关1”的常闭指令就会置1而断开,机器人就会专一的取抓取第一个原料。

同样的道理,将第四条程序中的“物料检测开关3”前面也分别加上“物料检测开关1、2”的常闭指令。可避免出现3条抓取不同物料的指令在执行程序的过程中发生冲突。值得一提的是,当机器人接收到信号时,控制虚拟机器人执行动作的程序需要与Unity中所设置的机器人动作点位一一对应。图4为机器人取料程序段。

图4 机器人取料程序段

4 通讯及仿真

S7-PLCSIM Advanced是西门子针对S7-1500PLC所打造的虚拟仿真软件,相当于S7-1500PLC的数字双胞胎。软件操作也是十分容易上手,勾选上PLCSIM,就可以给虚拟仿真的PLC设置通信IP地址,虚拟仿真PLC的IP地址尽量和Portal软件中的PLC地址相同。否则会导致连接不上。当Advanced软件的虚拟PLC亮绿灯,表明连接成功。

关于Opc通信,Opc ua起到了虚拟仿真机器人和PLC之间的通信作用,相当于机器人间的交流。在Unity中的窗口中找到Opc ua连接,勾选Portal软件中的S7-1500设备中的激活Opc ua服务器,将服务器地址输入到Unity的Opc ua界面中。连接成功后进行蓝图信号与PLC程序中变量的绑定,完成Opc ua的连接。图5为Opc ua通信。

图5 Opc ua通信

5 结论

虚拟仿真技术将物理世界与数字世界虚实相映,可以突破硬件设备的限制,基于Unity虚拟仿真让虚拟机器人和PLC相结合,在虚拟世界中进行工艺路径规划、物流设计,实现在虚拟环境中生产工艺。

猜你喜欢
蓝图成品原材料
蓝图
水利工程原材料质量检测控制探讨
五年蓝图
观点
知识无穷尽
大宗商品:从商业到货币,全球的不安殃及原材料
2017年1—4月热带作物及其成品进出口情况
2017年1—3月热带作物及其成品进出口情况
2017年2月热带作物及其成品进出口情况(续)
2017年1—2月热带作物及其成品进出口情况(续)