一种复杂堆叠下的机械手快速卸料控制方法
1.本发明属于机械手技术领域,具体涉及一种复杂堆叠下的机械手快速卸料控制方法,尤其应用于奇偶层堆叠个数不同的卸料场景中。
背景技术:
2.卸料机械手是一种可用于卸料,拆垛,取配件的常用自动化装备。近年来,由于加工生产机械化装备需求的不断增加,对于奇偶堆叠个数不同的物料的拆卸,存取过程的效率与安全性要求越来越高。以往依靠人工来拆卸过重过多物料几乎不现实,搬取精密设备需要承担更大不可控的风险。取而代之的是机器设备武装起来的灵活手臂。
3.在现有技术中,很少有针对奇偶层堆叠个数不同的卸料位置计算方式,大部分获取卸料目标点位置的方式都是通过逐点示教的方式,这样不仅仅使得操作上更加复杂,而且通过人工点的方式在精度上远远不如通过严谨计算更加准确。
4.因此利用一种便捷的在线示教计算方法来控制机械手去拆卸物料就显得尤为重要,它不仅无需逐个目标点去示教位置,而且根据示教方式所计算出的目标位置更加准确,能够使机械手在保证快速拆卸的同时更精准的抓取物料,保证效率的同时安全性也大大提升。
技术实现要素:
5.本发明的目的在于提供一种复杂堆叠下的机械手快速卸料控制方法,可应用在奇偶层堆叠个数不同的卸料场景,不仅能够提高使用便利性,还能够保证卸料位置的准确性。
6.为实现上述目的,本发明所采取的技术方案为:
7.一种复杂堆叠下的机械手快速卸料控制方法,所述复杂堆叠为奇偶层堆叠个数不同的堆叠方式,所述复杂堆叠下的机械手快速卸料控制方法,包括:
8.步骤1、建立坐标系,设置坐标原点;
9.步骤2、料仓示教:将机械手移动至第一层的第一个物料的几何中心得到示教点p1(x1,y1),在机械手z轴不动的情况下,由示教点p1起将机械手x轴移至第一层的最后一个物料的几何中心得到示教点p2(x2,y2),将机械手移动至第二层的第一个物料的几何中心得到示教点p3(x3,y3),在机械手z轴不动的情况下,由示教点p1起将机械手x轴移至第二层的最后一个物料的几何中心得到示教点p4(x4,y4),完成料仓示教,并初始化已完成卸料的物料数量s2=0;
10.步骤3、以示教点p1作为第一次卸料的目标位置,计算机械手卸料下一次卸料的目标位置,包括:
11.步骤3.1、计算目标位置所在层相对于最后一层所需的偏移层数n;
12.步骤3.2、根据偏移层数n对变量value4进行判断:
13.其中:
14.value4=(v-1-n)%2
15.若value4=0,则求得目标位置p点的x轴坐标为:
[0016][0017]
若value4=1,则求得目标位置p点的x轴坐标为:
[0018][0019]
式中,v为物料堆叠的总层数,为奇数层中相邻物料的几何中心之间的间距,为偶数层中相邻物料的几何中心之间的间距;
[0020]
步骤3.3、根据已完成卸料的物料数量s2对变量value5进行判断:
[0021]
其中:
[0022]
value5=s2%(h1+h2)
[0023]
若value5=0,则求得目标位置p点的x轴坐标为:
[0024]
x=x1[0025]
若value5=h1,则求得目标位置p点的x轴坐标为:
[0026]
x=x3[0027]
若value5!=0且value5!=h1,则目标位置p点的x轴坐标保持步骤3.2中计算所得值;
[0028]
式中,h1为奇数层中物料个数,h2为偶数层中物料个数;
[0029]
步骤3.4、根据偏移层数n求得目标位置p点的y轴坐标为:
[0030][0031]
式中,为上下层相邻物料的几何中心之间的垂直间距;
[0032]
步骤4、根据计算所得的目标位置p(x,y)控制卸料机械手进行卸料,本次卸料完成后更新s2=s2+1,当s2=s1时,则完成卸料;否则更新当前位置为p(x,y)并返回步骤3继续计算下一次卸料的目标位置,s1为料仓中物料总个数。
[0033]
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
[0034]
作为优选,所述建立坐标系,设置坐标原点,包括:
[0035]
以机械手x轴方向为坐标系x轴的正方向,以机械手z轴方向为坐标系y轴的正方向;
[0036]
以第一个物料的几何中心为起始点,沿x轴和y轴反方向延伸预设距离后设置坐标系的坐标原点。
[0037]
作为优选,所述计算目标位置所在层相对于最后一层所需的偏移层数n,包括:
[0038]
步骤3.1.1、初始化判断次数t=1,value2=h1,value1=s
1-s2%s1;
[0039]
步骤3.1.2、对变量value1与变量value2进行判断:
[0040]
若value1<=value2,则跳出循环,并得到目标位置所在层相对于最后一层所需的偏移层数n=v-t;
[0041]
若value1>value2,则进入循环,进入循环后再根据判断次数t来比较变量value3;
[0042]
其中:
[0043]
value3=(t-1)%2
[0044]
若value3=0,则:
[0045]
value2=value2+h2[0046]
若value3!=0,则:
[0047]
value2=value2+h1[0048]
步骤3.1.3、t=t+1,并返回步骤3.1.2继续循环。
[0049]
作为优选,参数s1的计算过程如下:
[0050]
已知料仓中奇数层物料个数为h1,偶数层物料个数为h2,物料的堆叠总层数为v;
[0051]
计算奇数层中相邻物料的几何中心之间的间距为:
[0052][0053]
计算偶数层中相邻物料的几何中心之间的间距为:
[0054][0055]
计算上下层相邻物料的几何中心之间的间距为:
[0056][0057]
计算料仓中物料总个数s1为:
[0058]
若堆叠总层数为偶数层,则物料总个数为:
[0059]
s1=v/2*(h1+h2)
[0060]
若堆叠总层数为奇数层,则物料总个数为:
[0061]
s1=v/2*(h1+h2)+h1。
[0062]
本发明提供的复杂堆叠下的机械手快速卸料控制方法,只需示教物料的四个点的位置,便可计算出所有点位置,不仅能够大大提高生产速率,操作简单,而且能够确保位置的准确度。
附图说明
[0063]
图1为本发明的复杂堆叠下的机械手快速卸料控制方法的流程图;
[0064]
图2为本发明建立坐标系的示意图;
[0065]
图3为本发明计算卸料的目标位置的流程图。
具体实施方式
[0066]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本发明。
[0068]
针对现有技术中针对奇偶层堆叠数量不同的场景没有较优的卸料方案,本实施例提供一种复杂堆叠下的机械手快速卸料控制方法,只需示教几个目标点位置信息,便可根
据此信息精准计算出所有所需移至拆卸物料目标点的位置。可应用在奇偶堆叠个数不同的轻薄铝制、塑料长管等类似物品卸料场景中,不仅能够提高使用便利性,还能够保障卸料位置的准确性。
[0069]
由于加工生产机械化装备需求的不断增加,对于奇偶堆叠个数不同的物料的拆卸,存取过程的效率与安全性要求越来越高。以往依靠人工来拆卸过重过多物料几乎不现实,搬取精密设备需要承担更大不可控的风险。取而代之的是机器设备武装起来的灵活手臂。而利用一种便捷的在线示教计算方法来控制机械手去拆卸物料就显得尤为重要,它不仅无需逐个目标点去示教位置,而且根据示教方式所计算出的目标位置更加准确,能够使机械手在保证快速拆卸的同时更精准的抓取物料,保证效率的同时安全性也大大提升。
[0070]
具体的,如图1所示,本实施例的复杂堆叠下的机械手快速卸料控制方法,包括以下步骤:
[0071]
步骤1、建立坐标系,设置坐标原点。
[0072]
如图2所示,坐标系的建立优选是以要抓取的第一个物料或者要抓取的最后一个物料作为参照,并设置相应坐标原点。本实施例依据所要抓取的第一个物料为参照,横向延伸为机械轴x方向,纵向延伸为机械轴z方向,相应的建立坐标系。其中以机械手x轴方向为坐标系x轴的正方向,以机械手z轴方向为坐标系y轴的正方向。
[0073]
以第一个物料的几何中心为起始点,沿x轴和y轴反方向延伸预设距离后设置坐标系的坐标原点a(0,0)。这里的预设距离根据物料形状决定,若物料为圆柱,则预设距离为圆柱半径;若是矩形,就分别延伸长宽的一半。
[0074]
步骤2、料仓示教。
[0075]
令p1为第一个所要抓取物料的几何中心,该层作为料仓的第一层即奇数层,将机械手移动至第一层的第一个物料的几何中心得到示教点p1(x1,y1)。在机械手z轴不动的情况下,由示教点p1起将机械手x轴移至第一层的最后一个物料的几何中心得到示教点p2(x2,y2)。
[0076]
在示教完奇数层的第一个物料和最后一个物料位置后,继续示教偶数层。将机械手移动至第二层的第一个物料的几何中心得到示教点p3(x3,y3),在机械手z轴不动的情况下,由示教点p1起将机械手x轴移至第二层的最后一个物料的几何中心得到示教点p4(x4,y4),完成料仓示教。
[0077]
需要说明的是,本实施例中示教的p1、p2、p3、p4为几何中心点,图2中为了便于直接观察将示教点映射至物料侧面显示。
[0078]
已知料仓中奇数层中物料个数为h1,偶数层中物料个数为h2,物料的堆叠层数为v,所求目标位置为p(x,y),默认第一次目标位置为p1(x1,y1),并初始化已完成卸料的物料数量s2=0,则参数s1的计算过程如下:
[0079]
计算奇数层中相邻物料的几何中心之间的间距为:
[0080][0081]
计算偶数层中相邻物料的几何中心之间的间距为:
[0082][0083]
计算上下层相邻物料的几何中心之间的间距为:
[0084][0085]
计算料仓中物料总个数s1为:
[0086]
若堆叠总层数为偶数层,则物料总个数为:
[0087]
s1=v/2*(h1+h2)
[0088]
若堆叠总层数为奇数层,则物料总个数为:
[0089]
s1=v/2*(h1+h2)+h1。
[0090]
以上是通过计算得到的有用参数,便于下面计算出当前机器所要执行到的位置信息,如图3所示,具体计算如步骤3。
[0091]
步骤3、以示教点p1作为第一次卸料的目标位置,计算机械手卸料下一次卸料的目标位置。本实施例中计算目标位置时,本次卸料计算所得的目标位置记为下一次卸料计算时的当前位置,例如示教点p1作为第一次卸料的目标位置,也就是作为第二次卸料计算时机械手的当前位置。
[0092]
步骤3.1、计算目标位置所在层相对于最后一层所需的偏移层数n,包括:
[0093]
步骤3.1.1、初始化判断次数t=1,value2=h1,value1=s
1-s2%s1;
[0094]
步骤3.1.2、对变量value1与变量value2进行判断:
[0095]
若value1<=value2,则跳出循环,并得到目标位置所在层相对于最后一层所需的偏移层数n=v-t;
[0096]
若value1>value2,则进入循环,进入循环后再根据判断次数t来比较变量value3;
[0097]
其中:
[0098]
value3=(t-1)%2
[0099]
若value3=0,则:
[0100]
value2=value2+h2[0101]
若value3!=0,则:
[0102]
value2=value2+h1[0103]
步骤3.1.3、t=t+1,并返回步骤3.1.2继续循环。
[0104]
即在具体循环中,第一步先对变量value1与变量value2进行判断:
[0105]
其中,
[0106]
value1=s
1-s2%s1[0107]
value2=h1[0108]
当第一次判断t=1时,若value1<=value2,则跳出循环,并累计相对于最后一层的所需偏移层数n=v-1。
[0109]
若第一次判断value1>value2,则进入循环,进入循环后再根据判断次数t来比较变量value3。
[0110]
其中:
[0111]
value3=(t-1)%2
[0112]
若value3=0,则:value2=value2+h2。
[0113]
若value3!=0,则:value2=value2+h1。
[0114]
此次判断结束,t=t+1进入第二次的循环判断。
[0115]
此时,
[0116]
value1=s
1-s2%s1[0117]
value2=h1+h2[0118]
若第二次判断value1<=value2,则跳出循环,并累计相对于最后一层的所需偏移层数n=v-2。
[0119]
若第二次判断value1>value2,则进入循环,进入循环后再根据判断次数t来比较变量value3。
[0120]
其中:
[0121]
value3=(t-1)%2
[0122]
若value3=0,则:value2=value2+h2。
[0123]
若value3!=0,则:value2=value2+h1。
[0124]
此次判断结束,t=t+1进入第三次的循环判断。
[0125]
此时,
[0126]
value1=s
1-s2%s1[0127]
value2=h1+h2+h1[0128]
依此类推,最终会跳出循环而得到目标值即相对于最后一层所需偏移层数n。
[0129]
步骤3.2、根据偏移层数n对变量value4进行判断:
[0130]
其中:
[0131]
value4=(v-1-n)%2
[0132]
若value4=0,则求得目标位置p点的x轴坐标为:
[0133][0134]
若value4=1,则求得目标位置p点的x轴坐标为:
[0135][0136]
即目标位置基于当前位置进行更新。
[0137]
式中,v为物料堆叠的总层数,(即为图中的d_h1)为奇数层中物料的几何中心之间的间距,(即为图中的d_h2)为偶数层中物料的几何中心之间的间距。
[0138]
步骤3.3、根据已完成卸料的物料数量s2对变量value5进行判断:
[0139]
其中:
[0140]
value5=s2%(h1+h2)
[0141]
若value5=0,则求得目标位置p点的x轴坐标为:
[0142]
x=x1[0143]
若value5=h1,则求得目标位置p点的x轴坐标为:
[0144]
x=x3[0145]
若value5!=0且value5!=h1,则目标位置p点的x轴坐标保持步骤3.2中计算所得值。
[0146]
式中,h1为奇数层物料个数,h2为偶数层物料个数。
[0147]
步骤3.4、根据偏移层数n求得目标位置p点的y轴坐标为:
[0148][0149]
式中,(即为图中的)为上下层物料的几何中心之间的间距,至此,便基于上
一次完成产量的目标位置得到了下次机器所需移至位置p(x,y)。
[0150]
步骤4、根据计算所得的目标位置p(x,y)控制卸料机械手进行卸料,本次卸料完成后更新s2=s2+1,当s2=s1时,则完成卸料;否则更新当前位置为p(x,y)并返回步骤3继续执行,s1为料仓中物料总个数。
[0151]
第一次卸料时由于直接指定示教点p1作为第一次卸料的目标位置,因此第一次卸料时的当前位置可以不用考虑,在后续的卸料目标位置计算中,以前一次卸料的目标位置作为当前位置。
[0152]
本实施例针对奇偶堆叠层个数不同的多轴机械手卸料位置提供了有效计算方式。主要应用的场景为堆叠奇数层和偶数层个数不同的轻薄铝制、塑料长管等类似物品的拆卸。根据现场堆叠模式分别设置奇数层数与奇数层个数、偶数层数与偶数层个数参数,保存需要拆卸的总产量;根据总参量与当前完成产量的关系以及几个特殊点位置,自动计算出下一次机器手所要移至的目标点位置。
[0153]
本发明无需示教每一个点的位置,只需要人工去简单操作示教好四个点的位置信息,便可知下一个点坐标,最终将物料安全,快速,准确的抓住然后实施拆卸工作。极大了减少了在线示教所带来的繁琐工作,降低了操作难度,而且经过计算走出的坐标更为准确,可以提高工作效率,减少没必要的位置错误信息。
[0154]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0155]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。