本发明属于解译计算机文件的领域,涉及一种机械手臂的控制方法,具体涉及一种从开料机加工文件解译机械手臂下料位置的方法。
背景技术:
木工开料机是一种专门用于切割板材的数控设备。用于制造衣柜等柜体的原料板材,经过开料机的切割形成一块块大小不一的矩形板材,再经过后续设备的加工后成为柜体的组装零部件。而加工文件nc档案,是指用于木工开料机使用的数控加工程序;由于目前市面上大部分开料机对板材的切割没有复杂的工艺,因此此类nc档案都是由g01切割等简单的g代码组成。
下料是指将开料机切割完成的一块块小板材从开料机的机台上取下放置到别处的流程。目前是以人工的形式手动搬运,耗费人力,效率低。随着机器替代人工的潮流到来,越来越多的大规模家具厂考虑使用机器手臂来替代工人进行重复枯燥的下料动作。利用机械手臂前段的吸盘抓取开料机台面上的板材移动到指定位置放置,无需人工干预。
目前,开料机使用机械手臂进行下料的方法是用一种软件另出一份坐标档案的方法,具体为:家具厂提前与设计柜体的拆单软件开发商进行沟通,让拆单软件在生成nc档案的同时计算出切割完小板材的具体位置,然后生成另一份包含小板材位置信息的档案单独提供给机械手臂用于下料。这种方法需要和软件开发商再次沟通开发,耗费财力时间,同时生成多份文件多次汇入容易造成混乱产生意外的错误;如果开料机与手臂系统载入的文档不匹配甚至会有撞机风险。
技术实现要素:
本发明目的是为了克服现有技术的不足而提供一种可以从开料机加工文件解译机械手臂下料位置的方法。
为达到上述目的,本发明采用的技术方案是:一种从开料机加工文件解译机械手臂下料位置的方法,它包括以下步骤:
(a)对nc档案进行逐行遍历,提取所有移动指令;
(b)根据所述移动指令,利用特征法确定所有切割线段的端点坐标,所述端点包括起点与终点;
(c)利用顶点法将所述端点组成互不重复的矩形;
(d)根据所述矩形的四个顶点计算各个所述矩形的中心位置,向机械手臂输出下料位置结果。
优化地,步骤(a)中,提取所有移动指令后将其按执行顺序存入集合l{l0,l1,l2,l3,l4…ln};所述移动指令为g00、g01移动单节指令。
进一步地,步骤(a)中,当所述nc档案载入所述开料机进行加工后,对nc档案进行逐行遍历。
进一步地,步骤(a)中,当任意一行没有标识g00或g01移动单节指令时,则该行继承上一行的g00或g01移动单节指令。
进一步地,步骤(b)中,从l1至ln遍历集合l中所有元素,定义当前遍历到的移动单节指令为li,
则所述起点满足以下条件:(1)li为g01带有z轴坐标变化的移动单节指令,(2)li-1为g00移动单节指令,(3)li+1为g01同时带有x轴或/和y轴坐标变化的运动单节指令;将li-1所带有的x轴、y轴坐标数值赋予点pj(x,y);
则所述终点满足以下条件:(1)li为g01带有x轴或y轴坐标变化的运动单节指令,(2)li为g01不带有z轴坐标变化的移动单节指令;将li所带有的x轴、y轴坐标数值赋予点pj+1(x,y);
得到点集合p{p1,p2,p3…pn}。
更进一步地,步骤(b)中,当所述起点中li-1不含x或y,继续查找li-2,直至找齐x、y数值;当所述终点中li不含x或y,继续查找li-1,直至找齐x、y数值。
更进一步地,步骤(c)中,对所述点集合p进行一一比对,剔除坐标相同的点,得到最终点集合pnew{p1,p2,p3…pn};依次遍历所述最终点集合pnew中的点,定义当前遍历到的点为pi(xi,yi),且其为任一矩形的任一顶点,则所述矩形的其它三个顶点满足rectangle{(xi,yi),(xi+a,yi),(xi,yi+b),(xi+a,yi+b)},a、b为所述矩形的长、宽且为任意常数;将所述矩形的四个顶点为一组存入矩形集合r{r1,r2,r3…..rn},r={pa,pb,pc,pd};剔除相同矩形ri得到最终矩形集合rnew。
具体地,步骤(c)中,计算矩形集合r中所有矩形ri的中心点po=(pa+pd)/2,依次将矩形ri中心点与矩形集合r剩余矩形中心点比较,当矩形ri中心点与矩形集合r剩余矩形的任一中心点相同时,剔除矩形集合r剩余矩形中与所述矩形ri中心点相同的矩形,得到中间矩形集合rmid;再在所述中间矩形集合rmid中选取矩形ri+1的中心点进行前述步骤,如此循环至结束得到最终矩形集合rnew。
具体地,步骤(d)中,将所述最终矩形集合rnew中所有矩形的中心点po向所述机械手臂输出即得其下料位置结果。
具体地,步骤(d)中,还根据所述最终矩形集合rnew中所有矩形的顶点描绘出所述nc档案即将切割出的小板分布图。
由于上述技术方案运用,本发明与现有技术相比具有下列优点:本发明从开料机加工文件解译机械手臂下料位置的方法,通过对nc档案进行遍历以提取移动指令,并根据移动指令最终能够确定矩形的中心位置而输出下料位置结果,这样可以内嵌在开料机的数控系统的内部,无需外部电脑软件的干预;可以直接通过目前常用的nc档案计算出加工完成小板材的具体位置,无需特别更改nc档案内容,对家具厂来说实现无缝升级;通过机台实时使用的档案计算出板材位置给机械手臂,准确率高,与软件再出一份坐标档案给手臂的方法相比,匹配度更高,更安全。
附图说明
图1为本发明从开料机加工文件解译机械手臂下料位置的方法流程示意图。
具体实施方式
下面将结合对本发明优选实施方案进行详细说明。
如图1所示的从开料机加工文件解译机械手臂下料位置的方法,它包括以下步骤:
(a)对nc档案进行逐行遍历,提取所有移动指令(所述移动指令为g00、g01移动单节指令)。当任意一行(即遍历的当前行)没有标识g00或g01移动单节指令时,则当前行继承上一行的g00或g01移动单节指令。在本实施例中,当nc档案载入开料机进行加工后,才对nc档案进行逐行遍历;并且提取所有移动指令后将其按执行顺序存入集合l{l0,l1,l2,l3,l4…ln}。
(b)根据所述移动指令,利用特征法确定所有切割线段的端点坐标,所述端点包括起点与终点。由于在板材切割的加工中,其切割起点存在固定的特征,即需要完成以下动作:(1)快速移动到指定位置(g00),(2)以指定速度下刀(g01),(3)以指定速度切割板材至该段终点(g01);并且通过步骤(a)的操作已经将nc档案中移动指令(空跑、切割)都提取到集合l中,因此接下来依据特征法提取出所有切割线段的端点即可。
在本实施例中,需要从l1至ln遍历集合l中所有元素,定义当前遍历到的移动单节指令为li,判定切割的起点和终点。
则所述起点满足以下条件:(1)li为g01带有z轴坐标变化的移动单节指令,(2)li-1为g00移动单节指令,(3)li+1为g01同时带有x轴或/和y轴坐标变化的运动单节指令;将li-1所带有的x轴、y轴坐标数值赋予点pj(x,y);当所述起点中li-1不含x或y,继续查找li-2,直至找齐x、y数值;
终点满足以下条件:(1)li为g01带有x轴或y轴坐标变化的运动单节指令,(2)li为g01不带有z轴坐标变化的移动单节指令;将li所带有的x轴、y轴坐标数值赋予点pj+1(x,y);当所述终点中li不含x或y,继续查找li-1,直至找齐x、y数值;
如此依次遍历集合l中所有元素,得到点集合p{p1,p2,p3…pn}。
(c)利用顶点法将所述端点组成互不重复的矩形。通过步骤(b)得到了所有切割线段的起点和终点,但是必然会存在重复点,所以要对点集合p进行一一比对,剔除坐标相同的点,得到最终点集合pnew{p1,p2,p3…pn};随后遍历最终点集合pnew中的点,定义当前遍历到的点为pi(xi,yi),并定义点pi(xi,yi)为任一矩形(或某一矩形)的任一顶点,则该矩形的其它三个顶点满足:rectangle{(xi,yi),(xi+a,yi),(xi,yi+b),(xi+a,yi+b)},其中a、b分别为该矩形的长、宽,且a、b为任意常数。找到满足条件的四个顶点后,将该矩形的四个顶点为一组存入矩形集合r{r1,r2,r3…..rn},r={pa,pb,pc,pd}。
由几何知识可知,一个矩形有四个顶点,一个顶点至多可以被四个矩形共用,因此矩形集合r中必定含有重复矩形;可以计算矩形集合r中所有矩形ri中心点po=(pa+pd)/2,并依次将矩形ri中心点与矩形集合r中剩余矩形的中心点比较,当矩形ri中心点与矩形集合r剩余矩形的任一中心点相同时,剔除矩形集合r剩余矩形中与矩形ri中心点相同的矩形,得到中间矩形集合rmid;再在中间矩形集合rmid中选取矩形ri+1的中心点进行前述步骤(即与中间矩形集合rmid剩余矩形的任一中心点比较;若矩形ri+1的中心点与中间矩形集合rmid剩余矩形的任一中心点相同,剔除中间矩形集合rmid剩余矩形中与矩形ri+1中心点相同的矩形得到第二中间矩形集合rmid2),如此循环至结束得到最终矩形集合rnew。
(d)根据所述矩形的四个顶点计算各个所述矩形的中心位置,向机械手臂输出下料位置结果。在本实施例中,根据矩形集合rnew中所有矩形的顶点可以描绘出该nc档案即将切割出的小板分布图(便于操作人员直观的了解切割结果),同时将其各中心点po向机械手臂输出(通过rs232/rs485/tcpip/modbus等方式将开料机与机械手臂系统通讯)即可得到所有小板矩形的中心位置,即告知机械手臂自动下料时小板的抓取点。可见,本发明的方法可内嵌在开料机的数控系统的内部,无需外部电脑软件的干预。上述得到的小板分布图还可用于在后续加工工艺中小板损坏需要补板的情景:根据小板分布图确定已损坏的小板位置,从矩形集合rnew中调出该块小板的顶点从而确定长宽尺寸,在一块新原料板材上根据前述得到的长宽尺寸进行重新切割得到新的小板而达到补板的目的。
本发明的方法通过向木工开料机正常汇入一份没有经过特别修改的nc加工档案,从中解译出切割完成后矩形小板材的位置,并告知机械手臂进行自动下料,不需要单独给机械手臂汇入软件商产出的坐标位置档案,操作更加简便。本发明的方法是从现场加工的nc档案中解译出切割完矩形小板材的位置信息,相比软件商出坐标位置档案再汇入机械手臂控制器,即时性更强,现场匹配度更高,排除了汇错档案导致取料错误撞机的风险,安全性更强。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围,凡根据依据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。