一种机械手的自动码垛方法及系统与流程

文档序号:20609003发布日期:2020-05-01 22:22阅读:849来源:国知局
一种机械手的自动码垛方法及系统与流程

本申请属于机械手码垛技术领域,具体涉及一种机械手的自动码垛方法及系统。



背景技术:

随着经济的快速发展,机器人在码垛方面的应用越来越广泛。码垛是将物品整齐的按照一定的规律摆放在垛盘上,或者从垛盘上取下物品放置到传送带或者其他设备上。码垛过程取决于垛盘的码放形式,以及机器人沿着怎么样的轨迹往垛盘放置物品或者取下物品。

履带板的加工过程中,加热炉通过6个通道随机出炉4种不同规格的履带板,履带板的自动码垛是将4种有毫米级细微区别的履带板分类并且按照一定顺序码垛,履带板根据弯曲程度不同分为上弯、下弯、正常、不合格四种类型,平整度检测装置搭载在吸盘上,在吸盘将履带板吸起来的时候由平整度检测装置进行计算,根据履带板平整度的不同得出四种信号,由机械手分别进行码垛。近年来在履带板生产过程中还没有适合的码垛设备能按照上述逻辑进行履带板的自动码垛工作,工厂普遍采用人工码垛方式,存在效率低、分类不精确、人工成本高、工作环境恶劣以及安全隐患多等突出问题。

现有技术中的码垛方法是以层为单位进行堆叠,即在货物承载装置上首先堆叠第一层货物,之后进行第二层货物的堆叠直至达到货物承载装置的装载容限,通常只取第一层货物的所有点的三维矩阵,码放形式单一、适用于给同一种货物进行码垛,若货物是随机的不同类型的货物则不能进行分类码垛,并且人工进行履带板码垛时,不能够对履带板的弯曲程度进行精确测量,且码放不稳定,导致堆垛容易出现散垛的现象,在面对不同类型的货物进行码垛时,现有方法只能针对每个垛的托盘都是一样的,并且托盘的摆放要有一定的规律,同横向或者同纵向,从而时码垛效率低,受限条件多。



技术实现要素:

本申请的目的在于提供一种机械手的自动码垛方法及系统,对履带板的分类准确,且码垛效率高,码垛稳固性好。

为实现上述目的,本申请所采取的技术方案为:

一种机械手的自动码垛方法,用于履带板的自动码垛,所述机械手的自动码垛方法,包括:

步骤1、计算履带板的平整度,得到该履带板对应的类型,所述履带板的类型包括上弯、下弯、正常、不合格;

步骤2、对履带板进行码垛:

步骤2.1、根据履带板的类型,确定履带板对应的垛仓;

步骤2.2、采用奇数层堆垛和偶数层堆垛交替的码垛方式进行码垛,所述奇数层堆垛和偶数层堆垛两者均为1块纵向放置、n-1块横向放置的方式,且奇数层堆垛中纵向放置的履带板和横向放置的履带板的相对位置,与偶数层堆垛中纵向放置的履带板和横向放置的履带板的相对位置相反,n为一层堆垛履带板的数量;

步骤2.3、判断该垛仓中当前堆垛的层数,若为奇数层则按照奇数层堆垛的方式进行码垛,即获取当前层中堆垛的履带板的数量,将奇数层中预设的下一履带板的坐标作为当前待堆垛的履带板的坐标,并执行步骤2.5;否则执行步骤2.4;

步骤2.4、按照偶数层堆垛的方式进行码垛,获取当前层中堆垛的履带板的数量i,令当前待堆垛的履带板对应码垛的垛仓为垛仓a,则按照以下公式计算当前待堆垛的履带板的坐标:

已知奇数层堆垛中预设的第i+1块履带板的坐标如下:

a[1][i+1].xpoint=a.position(i+1).xpoint;

a[1][i+1].ypoint=a.position(i+1).ypoint;

其中,a[1][i+1].xpoint表示垛仓a中奇数层的第i+1块履带板的x轴坐标,a[1][i+1].ypoint表示垛仓a中奇数层的第i+1块履带板的y轴坐标;

则计算偶数层堆垛中第i+1块履带板的坐标如下:

a[2][i+1].xpoint=a.positionx1+a.positionx2-a[1][i+1].xpoint;

a[2][i+1].ypoint=a.positiony1+a.positiony2-a[1][i+1].ypoint;

其中,a[2][i+1].xpoint表示垛仓a中偶数层的第i+1块履带板堆垛的x轴坐标,a[2][i+1].ypoint表示垛仓a中偶数层的第i+1块履带板堆垛的y轴坐标,a.positionx1表示垛仓a中参考位置1的x轴坐标,a.positiony1表示垛仓a中参考位置1的y轴坐标,a.positionx2表示垛仓a中参考位置2的x轴坐标,a.positiony2表示垛仓a中参考位置2的y轴坐标;

将偶数层堆垛中第i+1块履带板的坐标作为当前待堆垛的履带板的坐标;

步骤2.5、按照得到的当前待堆垛的履带板的坐标,通过机械手将履带板移动至对应位置进行堆垛。

作为优选,所述机械手的自动码垛方法还包括,在垛仓码垛完第二层后计算该垛仓的码垛高度,计算步骤如下:

取第一层履带板的高度o_positions,取第二层履带板的高度o_positione;

计算堆垛状态下一层履带板的高度od=o_positions-o_positione;

计算垛仓码垛生产完成需要堆垛的层数odl=(pile_sc_num/n),其中pile_sc_num为垛仓码垛生产完成需要堆垛的履带板总数;

获得该垛仓的码垛高度h=o_positions-odl*od。

作为优选,履带板加工完成后,用于运输履带板至码垛的通道共有多个,各通道口设有接近开关,机械手通过接收接近开关的信号移动至对应通道抓取履带板;

并且各通道设有编号,并根据编号设置对应的优先级,当机械手同时接收到多个接近开关的信号时,根据优先级依次处理履带板。

本申请还提供一种机械手的自动码垛系统,用于履带板的自动码垛,所述机械手的自动码垛系统包括机械手、垛仓和接近开关,所述机械手上安装有平整度检测单元,其中:

所述平整度检测单元,用于计算履带板的平整度,得到该履带板对应的类型,并将类型发送至所述机械手,所述履带板的类型包括上弯、下弯、正常、不合格;

所述机械手,用于接收平整度检测单元发送的履带板类型,并根据履带板的类型对履带板进行码垛,具体执行如下操作:

根据履带板的类型,确定履带板对应的垛仓;

采用奇数层堆垛和偶数层堆垛交替的码垛方式进行码垛,所述奇数层堆垛和偶数层堆垛两者均为1块纵向放置、n-1块横向放置的方式,且奇数层堆垛中纵向放置的履带板和横向放置的履带板的相对位置,与偶数层堆垛中纵向放置的履带板和横向放置的履带板的相对位置相反,n为一层堆垛履带板的数量;

判断该垛仓中当前堆垛的层数,若为奇数层则按照奇数层堆垛的方式进行码垛,即获取当前层中堆垛的履带板的数量,将奇数层中预设的下一履带板的坐标作为当前待堆垛的履带板的坐标,并按照得到的当前待堆垛的履带板的坐标,将履带板移动至对应垛仓的对应位置进行堆垛;否则按照偶数层堆垛的方式进行码垛,获取当前层中堆垛的履带板的数量i,令当前履带板对应码垛的垛仓为垛仓a,则按照以下公式计算当前待堆垛的履带板的坐标:

已知奇数层堆垛中预设的第i+1块履带板的坐标如下:

a[1][i+1].xpoint=a.position(i+1).xpoint;

a[1][i+1].ypoint=a.position(i+1).ypoint;

其中,a[1][i+1].xpoint表示垛仓a中奇数层的第i+1块履带板的x轴坐标,a[1][i+1].ypoint表示垛仓a中奇数层的第i+1块履带板的y轴坐标;

则计算偶数层堆垛中第i+1块履带板的坐标如下:

a[2][i+1].xpoint=a.positionx1+a.positionx2-a[1][i+1].xpoint;

a[2][i+1].ypoint=a.positiony1+a.positiony2-a[1][i+1].ypoint;

其中,a[2][i+1].xpoint表示垛仓a中偶数层的第i+1块履带板堆垛的x轴坐标,a[2][i+1].ypoint表示垛仓a中偶数层的第i+1块履带板堆垛的y轴坐标,a.positionx1表示垛仓a中参考位置1的x轴坐标,a.positiony1表示垛仓a中参考位置1的y轴坐标,a.positionx2表示垛仓a中参考位置2的x轴坐标,a.positiony2表示垛仓a中参考位置2的y轴坐标;

将偶数层堆垛中第i+1块履带板的坐标作为当前待堆垛的履带板的坐标,按照得到的当前待堆垛的履带板的坐标,将履带板移动至对应垛仓的对应位置进行堆垛。

作为优选,所述机械手还用于在垛仓码垛完第二层后计算该垛仓的码垛高度,执行如下步骤:

取第一层履带板的高度o_positions,取第二层履带板的高度o_positione;

计算堆垛状态下一层履带板的高度od=o_positions-o_positione;

计算垛仓码垛生产完成需要堆垛的层数odl=(pile_sc_num/n),其中pile_sc_num为垛仓码垛生产完成需要堆垛的履带板总数;

获得该垛仓的码垛高度h=o_positions-odl*od。

作为优选,所述接近开关设置在用于运输履带板的各通道的通道口;

所述接近开关,用于检测对应的通道是否有输送出履带板,并在检测到履带板时向机械手发送信号;

所述机械手还用于在接收接近开关发送的信号后,移动至对应通道抓取履带板;并且各通道设有编号,并根据编号设置对应的优先级,当机械手同时接收到多个接近开关的信号时,根据优先级依次处理履带板。

本申请提供的机械手的自动码垛方法及系统,可以对多种不同的货物进行码垛,并且垛仓的位置任意摆放,针对码垛坐标计算只需要取第一层所有点位置的二维矩阵即可,自动计算出后面码垛点的位置信息,码垛效率高,采用奇数层偶数层对称的码垛方式,使码垛更加稳固。

附图说明

图1为本申请的机械手的自动码垛方法的流程图;

图2为本申请奇数层堆垛和偶数层堆垛的一种实施例示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。

其中一个实施例中,提供一种机械手的自动码垛方法,用于履带板的自动码垛,能够按照履带板不同的类别和一定的顺序分别进行堆叠。

如图1所示,本实施例机械手的自动码垛方法,包括以下步骤:

步骤1、计算履带板的平整度,得到该履带板对应的类型,所述履带板的类型包括上弯、下弯、正常、不合格。

由于不同类型的履带板仅存在毫米级的细微区别,而该细微区别通过人工测量会产生较大误差,故本实施例采用平整度检测单元进行检测。同时为了提高码垛效率,使用的平整度检测单元为机械手上的吸盘上附带的。

当使用机械手抓取履带板时,机械手的吸盘同时会将履带板吸起,以提高抓取的稳定性,在吸盘吸起履带板后,附带在吸盘上的平整度检测单元将计算该履带板的平整度。

本实施例以挖掘机履上使用的履带板为例进行说明,履带板在加热炉中加工好后,由多个通过随机传送不同类型的履带板至码垛区域。本实施例中假设共有6个通道,且各通道口设有接近开关,机械手通过接收接近开关的信号移动至对应通道抓取履带板。

并且各通道设有编号,并根据编号设置对应的优先级,例如设置编号为1的优先级最高,编号为6的优先级最低,当机械手同时接收到多个接近开关的信号时,根据优先级依次处理履带板。

步骤2、对履带板进行码垛。

步骤2.1、根据履带板的类型,确定履带板对应的垛仓。

本实施例履带板的类型有四类,则垛仓同样设有四种,称为:垛仓1、垛仓2、垛仓3和垛仓4。

步骤2.2、采用奇数层堆垛和偶数层堆垛交替的码垛方式进行码垛,所述奇数层堆垛和偶数层堆垛两者均为1块纵向放置、n-1块横向放置的方式,且奇数层堆垛中纵向放置的履带板和横向放置的履带板的相对位置,与偶数层堆垛中纵向放置的履带板和横向放置的履带板的相对位置相反,n为一层堆垛履带板的数量。

需要说明的是,纵向放置的履带板和横向放置的履带板的相对位置应理解为将纵向放置的履带板看作一个整体,将横向放置的履带板看作一个整体,两个整体之间的相对位置。

在一实施例中,以一层放置5块履带板为例,图2(左)所示为奇数层堆垛的方式,图2(右)所示为偶数层堆垛的方式,由图示可以看出,本实施例中以4块横向放置的履带板为参考位置,奇数层堆垛中纵向放置的履带板位于左侧,而偶数层堆垛中纵向放置的履带板位于右侧,即纵横整体履带板的相对位置正好相反。

通过奇数层堆垛和偶数层堆垛的码垛方式,交替改变堆叠方向,避免出现朝一侧倾斜的可能性,提高了码垛的稳固性。

步骤2.3、判断该垛仓中当前堆垛的层数,若为奇数层则按照奇数层堆垛的方式进行码垛,即获取当前层中堆垛的履带板的数量,将奇数层中预设的下一履带板的坐标作为当前待堆垛的履带板的坐标,并执行步骤2.5;否则执行步骤2.4。

步骤2.4、按照偶数层堆垛的方式进行码垛,获取当前层中堆垛的履带板的数量i,令当前待堆垛的履带板对应码垛的垛仓为垛仓a,a为1~4中的一种,则按照以下公式计算当前待堆垛的履带板的坐标:

已知奇数层堆垛中预设的第i+1块履带板的坐标如下:

a[1][i+1].xpoint=a.position(i+1).xpoint;

a[1][i+1].ypoint=a.position(i+1).ypoint;

其中,a[1][i+1].xpoint表示垛仓a中奇数层的第i+1块履带板的x轴坐标,a[1][i+1].ypoint表示垛仓a中奇数层的第i+1块履带板的y轴坐标。

则计算偶数层堆垛中第i+1块履带板的坐标如下:

a[2][i+1].xpoint=a.positionx1+a.positionx2-a[1][i+1].xpoint;

a[2][i+1].ypoint=a.positiony1+a.positiony2-a[1][i+1].ypoint;

其中,a[2][i+1].xpoint表示垛仓a中偶数层的第i+1块履带板堆垛的x轴坐标,a[2][i+1].ypoint表示垛仓a中偶数层的第i+1块履带板堆垛的y轴坐标,a.positionx1表示垛仓a中参考位置1的x轴坐标,a.positiony1表示垛仓a中参考位置1的y轴坐标,a.positionx2表示垛仓a中参考位置2的x轴坐标,a.positiony2表示垛仓a中参考位置2的y轴坐标。

为了便于准确计算出履带板堆垛时的坐标,首先取每个垛仓任意斜对角的两个点的位置作为参考位置,即上述的参考位置1和参考位置2。并且采用二维数组a[a][b]来表示垛仓的信息,其中a表示垛仓a,垛仓a对应于四种垛仓中的一个,不同的垛仓可用不同的字母表示,且表示的字母仅为区别不同的垛仓,并不是对垛仓本身的限制,a=1表示奇数层,a=1表示偶数层,b=1,2,3,…,n,表示该层的第1,2,3,…,n个履带板,并且奇数层中各履带板的坐标为预先设定。

下面以n=5为例,进一步说明根据第一层的坐标计算出后面坐标的过程:

a[1][1].xpoint=a.position1.xpoint;//奇数层

a[1][1].ypoint=a.position1.ypoint;

a[1][2].xpoint=a.position2.xpoint;

a[1][2].ypoint=a.position2.ypoint;

a[1][3].xpoint=a.position3.xpoint;

a[1][3].ypoint=a.position3.ypoint;

a[1][4].xpoint=a.position4.xpoint;

a[1][4].ypoint=a.position4.ypoint;

a[1][5].xpoint=a.position5.xpoint;

a[1][5].ypoint=a.position5.ypoint;

a[2][1].xpoint=a.positionx1+a.positionx2-a.position1.xpoint;//偶数层

a[2][1].ypoint=a.positiony1+a.positiony2-a.position1.ypoint;

a[2][2].xpoint=a.positionx1+a.positionx2-a.position2.xpoint;

a[2][2].ypoint=a.positiony1+a.positiony2-a.position2.ypoint;

a[2][3].xpoint=a.positionx1+a.positionx2-a.position3.xpoint;

a[2][3].ypoint=a.positiony1+a.positiony2-a.position3.ypoint;

a[2][4].xpoint=a.positionx1+a.positionx2-a.position4.xpoint;

a[2][4].ypoint=a.positiony1+a.positiony2-a.position4.ypoint;

a[2][5].xpoint=a.positionx1+a.positionx2-a.position5.xpoint;

a[2][5].ypoint=a.positiony1+a.positiony2-a.position5.ypoint。

其中,a[1][b]为已知的奇数层的履带板坐标,a[2][b]为计算出的偶数层的履带板的坐标。

步骤2.5、按照得到的当前待堆垛的履带板的坐标,通过机械手将履带板移动至对应位置进行堆垛。

在实际码垛过程中,由于加热炉加工出来的履带板类型具有随机性,故每个垛仓的码垛高度情况不同,则需要根据每个垛仓的实际码垛数量单独计算码垛高度,以保证码垛的正常进行。在一实施例中,在垛仓码垛完第二层后计算该垛仓的码垛高度,计算步骤如下:

取第一层履带板的高度o_positions,取第二层履带板的高度o_positione。

计算堆垛状态下一层履带板的高度od=o_positions-o_positione。

计算垛仓码垛生产完成需要堆垛的层数odl=(pile_sc_num/n),其中pile_sc_num为垛仓码垛生产完成需要堆垛的履带板总数。

获得该垛仓的码垛高度h=o_positions-odl*od。

需要说明的是,本实施例中的高度相对于垛仓码垛而言应理解为深度,第一层的深度最大,层数越高深度越小,即第一层履带板的高度最大,层数越高高度越小。

通过以上步骤,本实施例实现了给每个垛仓单独码垛,利用一个机械手给不同的货物码垛,并且能够实现奇数层偶数层对称码垛,增加稳定性,同时本实施例的码垛方法也适用与垛仓托盘位置自由的码垛,受限条件小,普适性高。

在另一实施例中,还提供一种机械手的自动码垛系统,本实施例的机械手的自动码垛系统用于履带板的自动码垛,包括机械手、垛仓和接近开关,所述机械手上安装有平整度检测单元,其中:

所述平整度检测单元,用于计算履带板的平整度,得到该履带板对应的类型,并将类型发送至所述机械手,所述履带板的类型包括上弯、下弯、正常、不合格。

所述机械手,用于接收平整度检测单元发送的履带板类型,并根据履带板的类型对履带板进行码垛,具体执行如下操作:

根据履带板的类型,确定履带板对应的垛仓。

采用奇数层堆垛和偶数层堆垛交替的码垛方式进行码垛,所述奇数层堆垛和偶数层堆垛两者均为1块纵向放置、n-1块横向放置的方式,且奇数层堆垛中纵向放置的履带板和横向放置的履带板的相对位置,与偶数层堆垛中纵向放置的履带板和横向放置的履带板的相对位置相反,n为一层堆垛履带板的数量。

判断该垛仓中当前堆垛的层数,若为奇数层则按照奇数层堆垛的方式进行码垛,即获取当前层中堆垛的履带板的数量,将奇数层中预设的下一履带板的坐标作为当前待堆垛的履带板的坐标,并按照得到的当前待堆垛的履带板的坐标,将履带板移动至对应垛仓的对应位置进行堆垛;否则按照偶数层堆垛的方式进行码垛,获取当前层中堆垛的履带板的数量i,令当前履带板对应码垛的垛仓为垛仓a,则按照以下公式计算当前待堆垛的履带板的坐标:

已知奇数层堆垛中预设的第i+1块履带板的坐标如下:

a[1][i+1].xpoint=a.positioni+1.xpoint;

a[1][i+1].ypoint=a.positioni+1.ypoint;

其中,a[1][i+1].xpoint表示垛仓a中奇数层的第i+1块履带板的x轴坐标,a[1][i+1].ypoint表示垛仓a中奇数层的第i+1块履带板的y轴坐标。

则计算偶数层堆垛中第i+1块履带板的坐标如下:

a[2][i+1].xpoint=a.positionx1+a.positionx2-a[1][i+1].xpoint;

a[2][i+1].ypoint=a.positiony1+a.positiony2-a[1][i+1].ypoint;

其中,a[2][i+1].xpoint表示垛仓a中偶数层的第i+1块履带板堆垛的x轴坐标,a[2][i+1].ypoint表示垛仓a中偶数层的第i+1块履带板堆垛的y轴坐标,a.positionx1表示垛仓a中参考位置1的x轴坐标,a.positiony1表示垛仓a中参考位置1的y轴坐标,a.positionx2表示垛仓a中参考位置2的x轴坐标,a.positiony2表示垛仓a中参考位置2的y轴坐标。

将偶数层堆垛中第i+1块履带板的坐标作为当前待堆垛的履带板的坐标,按照得到的当前待堆垛的履带板的坐标,将履带板移动至对应垛仓的对应位置进行堆垛。

具体的,机械手还用于在垛仓码垛完第二层后计算该垛仓的码垛高度,执行如下步骤:

取第一层履带板的高度o_positions,取第二层履带板的高度o_positione。

计算堆垛状态下一层履带板的高度od=o_positions-o_positione。

计算垛仓码垛生产完成需要堆垛的层数odl=(pile_sc_num/n),其中pile_sc_num为垛仓码垛生产完成需要堆垛的履带板总数。

获得该垛仓的码垛高度h=o_positions-odl*od。

其中,接近开关设置在用于运输履带板的各通道的通道口。

所述接近开关,用于检测对应的通道是否有输送出履带板,并在检测到履带板时向机械手发送信号。

所述机械手还用于在接收接近开关发送的信号后,移动至对应通道抓取履带板;并且各通道设有编号,并根据编号设置对应的优先级,当机械手同时接收到多个接近开关的信号时,根据优先级依次处理履带板。

关于机械手的自动码垛系统进一步限定参见上述对于机械手的自动码垛方法的限定,不再进行赘述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1