焦 鹏,倪受东
(南京工业大学 机械与动力工程学院,江苏 南京 210009)
近年来,在各个领域工业机器人开始逐渐取代人力[1]。在码垛方面,机器人码垛能大幅提高工作效率,降低作业过程中的产品损坏率[2-3]。王波等[4]基于PLC技术,创建了码垛机器人智能工作站系统,满足了工作多样性需求,提高了工作性价比及可靠性;高颖超[5]针对超大瓷砖的生产需求,基于KR100-2PA码垛机器人,设计了适用于超大瓷砖的码垛机器人工作站系统;刘玉梅[6]设计了一条视觉跟踪抓取的码垛机器人工作站;徐敏珍等[7]对机器人码垛工作站的整列输送装置进行了设计;王功亮等[8]针对码垛机器人生产线仿真存在的问题,利用Robotstudio搭建了码垛机器人的虚拟工作站,完成了工业机器人运行程序离线编程,并同步到了实际的生产中。
在实际生产作业中,码垛生产线多为单一的产品输送线,机器人的目标作业对象较少,导致生产设备利用率低、工厂成本回收周期长。随着用工成本的提高,生产设备的利用率和自动化程度成为企业提升竞争力的关键。
本文基于欧姆龙NJ系列控制器设计一套多规格箱体码垛工作站。
根据生产要求,码垛工作站主要包括5个工序:进料辊道线、生产信息采集、分拣入库、工业机器人码垛和自动排放栈板。
本文通过扫码枪和控制器的配合使用,实现对箱体条形码内生产信息的采集。当扫码信息不符合要求,箱体自动进入人工复检工位进行人工复检,复检后进行再次信息采集,直至满足生产要求。考虑到箱体在进行分拣时需要精准定位,采用一台进库小车、一台出库小车和6条暂存辊道线进行配合使用。由于箱体的规格不同,在工业机器人码垛前采用定位装置,对箱体位置进行调整。为了实现栈板的自动摆放、定位和输送,本研究采用栈板机和栈板输送线配合使用。
码垛工作站的整体布局如图1所示。
图1 码垛工作站的整体布局
根据生产要求和工艺特点,结合工作站生产设备的布局,本文对工作站工作过程进行规划,其流程图如图2所示。
图2 工作站工作流程图
图2中,入口处的进料均为包装完全的箱体,根据要求对每个箱体上的条形码进行生产信息采集,符合要求的进行码垛存储;满足生产要求的箱体经过信息采集存储,后经由进库小车根据生产信息,输送至对应的暂存辊道线进行暂存;当单条暂存辊道线的箱体储存数量达到8个,出库小车开始将该条暂存辊道线内的箱体输送到排料辊道线,同时机器人根据箱体的生产信息进行对应码垛程序的调用;当定位装置对箱体完成定位,机器人开始码垛;码垛完成时,栈板辊道线启动,同时栈板机在码垛工位自动排放新的栈板。
码垛工作站主要是完成不同规格箱体的自动分类,使箱体传送过程流畅运行。因此,控制系统包括进料辊道线、生产信息采集、进库移动小车、暂存辊道线、出库移动小车等9个控制单元。各个控制单元完成相应的工序后,向控制器发出完成信号,控制器向下一个工序发出启动信号。本研究采用欧姆龙NJ101-9020型号控制器[9]。HMI采用欧姆龙NS10-TV01B触摸屏。
欧姆龙NJ系列控制器内置了两种统一开放的工业以太网通讯协议,可以建立机械设备与控制网络和工厂网络之间的无缝连接[10]。
控制系统采用工业以太网的通讯方式。欧姆龙NJ系列控制器使用Sysmac studio自动化软件进行编程和配置,Sysmac studio支持周边设备、控制器和EtherCAT设备的整合开发环境[11]。
通信系统结构图如图3所示。
图3 通信系统结构图
2.2.1 生产信息采集
在进行数据传输时,网络层将数据报由一台主机传送到另一台主机的过程中,经常会发生数据的丢失、失序及重复。因此,控制器通过Socket TCP与扫码枪进行通讯,运输层TCP协议使用错误重传机制,实现两台主机应用进程间的可靠通信[12]。创建连接时,服务端应用程序监听Socket,之后客户端应用程序创建连接Socket,向服务端发送请求,服务端等待并接收连接请求,当服务端接收请求后创建连接Socket[13]。
控制器与上位SQLserver数据库通过EtherNet/IP进行通讯连接后,控制器对扫码得到的包装条码进行解析,通过搜索数据库中的信息,获取目的地、生产周、机种、批号等生产信息;箱体根据生产信息的具体类别进行分拣入库。
2.2.2 暂存辊道线
产品在进行生产过程中,产品生产信息连续相同的箱体会出现栈板码垛不完全(数量少于8个)的情况。根据规定的生产要求,栈板码垛不完全的产品不能进行仓库存储。针对这一问题,本研究采用6条暂存辊道线,每条暂存辊道线上能完成8台产品的存储,当该条暂存辊道线上箱体的数量达到8台,控制器控制出库小车,将暂存辊道线上的箱体运输至排料辊道线,经定位后进行机器人码垛。
码垛产品的外壳材质均为铸铁,在进行包装的时候会附带许多的零配件,每个箱体的质量从几十斤到上百斤不等。结合生产要求,在码垛作业过程中,机器人的运行路径要求为:(1)箱体码垛过程中不能发生碰撞;(2)箱体需进行位姿调整,满足入库存储要求;(3)最大限度地保证箱体运行安全。
3.1.1 垛型分析
本研究以托盘的中心为原点建立用户坐标系,对码垛垛型进行设计,如图4所示。
图4 码垛垛型
在三维空间中,以位姿的形式表示每个箱体的空间位置和姿态[14-15]。定义箱体的长为l,宽为w,高为h,箱体之间的间隙为d,栈板长度L,栈板宽度W,箱体的方位角度为A。
箱体1顶部的中心坐标x1为:
(1)
箱体1顶部的中心坐标y1为:
(2)
箱体1顶部的中心坐标z1为:
z1=h
(3)
在进行箱体码垛过程中,建立以机器人TCP为原点的工具坐标系。进行栈板第一层箱体码放时,机器人TCP在用户坐标系中的位置矢量为:
P1=pxi+pyj+pzk=x1i+y1j+z1k
(4)
将位置矢量利用齐次坐标表示如下:
(5)
在用户坐标系中,以箱体1为基准,定义箱体2的变换位姿为T2,箱体3的变换位姿T3,箱体4的变换位姿T4,即:
(6)
(7)
(8)
在用户坐标系中,对箱体1进行相应的位姿变换,可得剩余箱体的位置矢量,即:
箱体2的位置矢量P2′为:
(9)
箱体3的位置矢量P3′为:
(10)
箱体4的位置矢量P4′为:
(11)
在进行栈板第二层箱体码垛中:
箱体5顶部的中心坐标x5为:
(12)
箱体5顶部的中心坐标y5为:
(13)
箱体5顶部的中心坐标z5为:
z5=2h
(14)
箱体5的位置矢量用齐次坐标表示如下:
(15)
在用户坐标系中,以箱体5为基准,定义箱体6的变换位姿为T6,箱体7的变换位姿T7,箱体8的变换位姿T8。箱体5进行相应的位姿变换,可得剩余箱体的位置矢量。
只要提供箱体的规格参数,即可确定箱体在用户坐标系中的箱体位姿。以9000C型号箱体为例:l=710 mm,w=300 m,h=770 mm,d=30 mm;栈板的长度L=1 100 mm,W=1 100 mm。
箱体空间位姿如表1所示。
表1 箱体空间位姿
3.1.2 仿真模型搭建
RoboGuide是针对于FANUC工业机器人开发的一款离线编程软件[16]。该码垛工作站使用FANUC公司M-410ic/185码垛机器人,末端最大负载185 kg。首先在RoboGuide中创建一个Workcell,然后顺序导入在Solidwork中3D模型;根据表1中的箱体空间位姿,对箱体进行仿真分析。
码垛工作站仿真模型如图5所示。
图5 码垛工作站仿真模型
RoboGuide使用软件中的虚拟TP可对机器人进行示教编程,实现机器人单元运动的仿真[17]。在进行码垛的过程中,为保证箱体之间不发生碰撞,笔者使用RoboGuide软件自带的碰撞检测功能,对码垛程序进行验证。碰撞检测结果验证了所设计的机器人运动路径可以使用于工业生产。
本研究将RoboGuide中设计的程序拷贝到机器人的示教器中进行生产运行测试。
码垛工作站实物图如图6所示。
图6 码垛工作站实物图
码垛测试结果表明:与人工码垛相比,码垛工作站生产效率、稳定性明显提高。
实验及结果分析如表2所示。
表2 实验及结果分析
本文根据工艺流程和生产需求,完成了码垛工作站的整体设计,建立了以欧姆龙NJ101-9020控制器为核心的控制系统;在RoboGuide中建立了码垛工作站的仿真模型,进行了仿真分析。现场实验结果表明:
(1)降低了设备成本,节省了作业空间,提高了生产效率;
(2)通过建立信息流,实现了工序间的自动化转换,提高了自动化水平;
(3)提高了码垛程序编写的效率,使用RoboGuide中的碰撞检测功能,验证了码垛程序的正确性,提高了码垛安全性,降低了产品的损坏率。