本发明涉及机械设备领域,具体涉及一种机器人夹具抓取算法。
背景技术:
随着现代机械化程度的提高,在工业生产中大量使用搬运机器人对货物(以板材为例)进行拆垛码垛,机器人夹具夹取及放置物品时需根据参数设置在一定范围内完成自动目标识别、抓取、码放等功能。
如何根据待抓取板材的长度、宽度、以及在平台上的位置信息精准计算机器人夹具的抓取位置,避免因抓取位置误差造成的工作错误,是本技术领域亟待解决的问题。
技术实现要素:
本发明提供一种机器人夹具抓取算法,有效地解决了机器人夹具工作过程中抓取位置不精确的问题。
为实现上述目的,本发明采用以下技术方案实现:
一种机器人夹具抓取算法,机器人夹具包括底部设置的能够沿夹具长度方向运动的两排吸盘,分别为第一吸盘排和第二吸盘排,用于抓取cnc平台上切割后的板材,第一、二吸盘排均包括两列沿夹具宽度方向呈直线排列的多组吸盘,每组吸盘按照顺序进行编号;抓取算法在cnc平台坐标系下计算,以平台长度方向为x方向,平台宽度方向为y方向,抓取算法包括以下步骤:
步骤s1、计算机器人夹具y向偏距值及需要开启的吸盘组编号值;
步骤s11、根据板材宽度、吸盘直径及y方向吸盘中心距,计算当板材边缘与吸盘边缘相切时板材宽度所能覆盖的最大吸盘组数量q;
步骤s12、根据板材中心在y方向上的实际位置,计算y方向上板材中心距离最近吸盘组的数量n2,并得到n2取小数的数值f;
步骤s13、在步骤s11和s12的基础上,计算使板材边缘与吸盘边缘相切时的夹具y方向偏移量p;
步骤s14、在步骤s11和s12的基础上,计算需要开启的吸盘组编号最大值、最小值;
步骤s2、选取所需开启的吸盘排并计算机器人夹具x向偏距值;
步骤s21、根据板材中心在x方向上的实际位置,分别计算确定x方向上两个吸盘排的中线在cnc平台坐标系上的位置x10和x20;
步骤s22、在步骤s21的基础上,分别计算每个吸盘排的中线到板材中心的距离x1c和x2c;
步骤s23、在步骤s22的基础上,选择开启哪一列吸盘,再计算使吸盘中心对齐板材中心时的二次偏移量x1d和x2d,并据此分别计算两个吸盘排的中线偏移距离x1和x2。
作为上述方案的优选,在步骤s11中,根据以下公式(1)计算得到最大吸盘组数量q:
其中,符号表示向下取整。
作为上述方案的优选,在步骤s12中,根据以下公式(2-1)、(2-2)及公式(2-3)计算得到吸盘组数量n2和数值f:
当y方向上板材中心坐标
n2=(y方向板材中心坐标-y方向最外侧吸盘切线到夹具边缘距离)/y方向吸盘中心距(2-1)
当y方向上板材中心坐标>夹具中心坐标上限时:
n2=(cnc平台宽度-y方向板材中心坐标-y方向最外侧吸盘切线到夹具边缘距离)/y方向吸盘中心距(2-2)
f={n2}(2-3)
其中,符号{}表示取小数,即f为n2小数点后的小数。
作为上述方案的优选,在步骤s13中,夹具y方向偏移量p的计算如下:
若q为偶数,根据以下公式(3-1)计算得到夹具y方向偏移量p:
p=f*y方向吸盘中心距+(y方向吸盘中心距-吸盘直径)/2(3-1)
若q为奇数,根据以下公式(3-2)计算得到夹具y方向偏移量p:
p=f*y方向吸盘中心距-吸盘直径/2(3-2)
其中,q为偶数时,则两个吸盘的中心线对齐板材中心;q为奇数时,则吸盘的中心线对齐板材中心。
作为上述方案的优选,在步骤s14中,需要开启的吸盘组编号最大值、最小值计算如下:
当y方向上板材中心坐标
若q为偶数,根据以下公式(4-1)计算得到最大值、最小值:
若q为奇数,根据以下公式(4-2)计算得到最大值、最小值:
当y方向上板材中心坐标>夹具中心坐标上限时:
若q为偶数,根据以下公式(4-3)计算得到最大值、最小值:
若q为奇数,根据以下公式(4-4)计算得到最大值、最小值:
其中,符号表示向下取整。
作为上述方案的优选,在步骤s21中,根据以下公式(5-1)、(5-2)、(5-3)计算得到x10和x20:
当x方向上板材中心坐标>=夹具中心坐标上限时:
x10=(cnc平台长度-夹具长度)+吸盘排宽度/2
x20=cnc平台长度-吸盘排宽度/2(5-1)
当夹具中心坐标下限
x10=(x方向夹具中心坐标-x方向夹具中心坐标下限)+吸盘排宽度/2
x20=x10+夹具长度-吸盘排宽度(5-2)
当x方向上板材中心坐标
x10=吸盘排宽度/2
x20=夹具长度-吸盘排宽度/2(5-3)
其中,吸盘排宽度表示每一排吸盘的宽度。
作为上述方案的优选,在步骤s22中,根据以下公式(6)计算得到距离x1c和x2c:
x1c=x方向板材中心坐标-x10
x2c=|x方向板材中心坐标-x20|(6)
其中,符号||表示取绝对值。
作为上述方案的优选,在步骤s23中,根据以下公式(7)计算得到偏移距离x1和x2:
x1=x1c+x1d
x2=x2c+x2d(7)
式中,二次偏移量x1d和x2d计算如下:
当板材最小长度
当吸盘排宽度
当x方向3吸盘最小覆盖长度
若x方向上板材中心坐标
若x方向上夹具中心坐标下限
若x方向上板材中心坐标>=夹具中心坐标上限,则x1d=-(x方向3吸盘最小覆盖长度/2+(吸盘排宽度/2-吸盘直径)),x2d=-(x方向3吸盘最小覆盖长度/2-吸盘排宽度/2)
当x方向4吸盘最小覆盖长度
当x方向4吸盘
其中,x方向3吸盘最小覆盖长度等于吸盘排宽度、吸盘直径、两个吸盘排之间的最小间距和x方向吸盘切线到夹具边缘距离的总和;x方向4吸盘最小覆盖长度等于两排吸盘宽度与两个吸盘排之间最小间距的总和;x方向4吸盘等于吸盘排中线能对齐板材四等分线时的最小覆盖长度。
作为上述方案的优选,根据以下公式:y方向上夹具中心坐标上限=平台宽度-夹具宽度/2,计算得到y方向上夹具中心坐标上限。
作为上述方案的优选,根据以下公式:x方向上夹具中心坐标上限=平台宽度-夹具长度/2,x方向上夹具中心坐标下限=夹具宽度/2,计算得到x方向上夹具中心坐标上限和下限。
由于具有上述结构,本发明的有益效果在于:
本发明的机器人夹具抓取算法,针对待抓取物品的不同长度、宽度、在平台上的不同位置,充分考虑各种情况,经过精确计算得到机器人夹具抓取位置空间坐标,选择所需开启吸盘列及吸盘编号,完成对待抓取物品的准确夹取及码放,避免因抓取位置误差造成的工作错误。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本发明的抓取算法流程图;
图2为利用机器人夹具进行拆垛码垛示意图;
图3至图5为机器人夹具上吸盘排列示意图;
图6为y方向上板材中心坐标小于夹具中心坐标上限时的夹具位置示意图;
图7为y方向上板材中心坐标大于夹具中心坐标上限时的夹具位置示意图;
图8为x方向上板材中心坐标大于等于夹具中心坐标上限时的夹具位置示意图;
图9为x方向上板材中心坐标在夹具中心坐标上限和下限之间时的夹具位置示意图;
图10为x方向上板材中心坐标小于等于夹具中心坐标下限时的夹具位置示意图。
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅如图1至图10,本实施例提供一种机器人夹具抓取算法。
如图2至图6所示,机器人夹具1包括底部设置的能够沿夹具长度方向运动的两排吸盘2,分别为第一吸盘排和第二吸盘排,用于抓取cnc平台3上切割后的板材,第一、二吸盘排均包括两列(x1_1,x1_2,x2_1,x2_2)沿夹具宽度方向呈直线排列的多组吸盘,每组吸盘按照顺序进行编号:1号吸盘组、2号吸盘组……10号吸盘组;抓取算法在cnc平台坐标系下计算,以平台长度方向为x方向,平台宽度方向为y方向,平台起点为原点,夹具的初始位置为夹具中心与板材中心重合在平台上的位置重合。
如图1、图7至图10所示,抓取算法包括以下步骤:
步骤s1、计算机器人夹具y向偏距值及需要开启的吸盘组编号值:
步骤s11、根据板材宽度、吸盘直径及y方向吸盘中心距,计算当板材边缘与吸盘边缘相切时板材宽度所能覆盖的最大吸盘组数量q;
具体根据以下公式(1)计算得到:
其中,符号表示向下取整。
步骤s12、根据板材中心在y方向上的实际位置,计算y方向上板材中心距离最近吸盘组的数量n2,并得到n2取小数的数值f;
具体分以下几种情况根据公式(2-1)、(2-2)及公式(2-3)计算得到吸盘组数量n2和数值f:
①当y方向上板材中心坐标
n2=(y方向板材中心坐标-y方向最外侧吸盘切线到夹具边缘距离)/y方向吸盘中心距(2-1)
②当y方向上板材中心坐标>=夹具中心坐标上限时:
n2=(cnc平台宽度-y方向板材中心坐标-y方向最外侧吸盘切线到夹具边缘距离)/y方向吸盘中心距(2-2)
此时,对每个吸盘管辖范围计数时,顺序反向,即n2反向计数;
f={n2}(2-3)
其中,符号{}表示取小数,即f为n2小数点后的小数。
步骤s13、在步骤s11和s12的基础上,计算使板材边缘与吸盘边缘相切时的夹具y方向偏移量p;
具体根据以下公式进行计算:
若q为偶数,根据以下公式(3-1)计算得到夹具y方向偏移量p:
p=f*y方向吸盘中心距+(y方向吸盘中心距-吸盘直径)/2(3-1)
若q为奇数,根据以下公式(3-2)计算得到夹具y方向偏移量p:
p=f*y方向吸盘中心距-吸盘直径/2(3-2)
其中,q为偶数时,则两个吸盘的中心线对齐板材中心;q为奇数时,则吸盘的中心线对齐板材中心。
步骤s14、在步骤s11和s12的基础上,计算需要开启的吸盘组编号最大值、最小值,具体计算如下:
①当y方向上板材中心坐标
若q为偶数,根据以下公式(4-1)计算得到最大值、最小值:
若q为奇数,根据以下公式(4-2)计算得到最大值、最小值:
②当y方向上板材中心坐标>夹具中心坐标上限时:
若q为偶数,根据以下公式(4-3)计算得到最大值、最小值:
若q为奇数,根据以下公式(4-4)计算得到最大值、最小值:
其中,符号表示向下取整,q/2是整型除法。
步骤s2、选取所需开启的吸盘排并计算机器人夹具x向偏距值:
步骤s21、根据板材中心在x方向上的实际位置,分别计算确定x方向上两个吸盘排的中线在cnc平台坐标系上的位置x10和x20;
具体根据以下公式(5-1)、(5-2)、(5-3)计算得到x10和x20:
①当x方向上板材中心坐标>=夹具中心坐标上限时:
x10=(cnc平台长度-夹具长度)+吸盘排宽度/2
x20=cnc平台长度-吸盘排宽度/2(5-1)
②当夹具中心坐标下限
x10=(x方向夹具中心坐标-x方向夹具中心坐标下限)+吸盘排宽度/2
x20=x10+夹具长度-吸盘排宽度(5-2)
③当x方向上板材中心坐标
x10=吸盘排宽度/2
x20=夹具长度-吸盘排宽度/2(5-3)
其中,吸盘排宽度表示每一排吸盘的宽度。
步骤s22、在步骤s21的基础上,分别计算每个吸盘排的中线到板材中心的距离x1c和x2c;
具体根据以下公式(6)计算得到距离x1c和x2c:
x1c=x方向板材中心坐标-x10
x2c=|x方向板材中心坐标-x20|(6)
其中,符号||表示取绝对值。
步骤s23、在步骤s22的基础上,计算使吸盘中心对齐板材中心时的二次偏移量x1d和x2d,并据此分别计算两个吸盘排的中线偏移距离x1和x2。
根据以下公式(7)计算得到偏移距离x1和x2:
x1=x1c+x1d
x2=x2c+x2d(7)
式中,二次偏移量x1d和x2d计算如下:
①当板材最小长度
若x方向上板材中心坐标
若x方向上板材中心坐标>=夹具中心坐标上限,则选择开启第二吸盘排最外侧一列x2_2的吸盘,此时x2d=x方向上吸盘中心到吸盘排中心线的距离,x1d=0;
②当吸盘排宽度
若x方向上板材中心坐标
若x方向上板材中心坐标>=夹具中心坐标上限,则选择开启第二吸盘排的两列吸盘x2_1和x2_2;
③当x方向3吸盘最小覆盖长度
若x方向上板材中心坐标
若x方向上夹具中心坐标下限
若x方向上板材中心坐标>=夹具中心坐标上限,则选择开启第二吸盘排的两列吸盘x2_1、x2_2和第一吸盘排内侧一列x1_2的吸盘,此时x1d=-(x方向3吸盘最小覆盖长度/2+(吸盘排宽度/2-吸盘直径)),x2d=-(x方向3吸盘最小覆盖长度/2-吸盘排宽度/2)
④当x方向4吸盘最小覆盖长度
⑤当x方向4吸盘
其中,x方向3吸盘最小覆盖长度=吸盘排宽度+吸盘直径+两个吸盘排之间的最小间距+x方向吸盘切线到夹具边缘距离;
x方向4吸盘最小覆盖长度=吸盘排宽度*2+两个吸盘排之间最小间距;
x方向4吸盘=吸盘排中线能对齐板材四等分线时的最小覆盖长度。
上述公式中,y方向上夹具中心坐标上限=平台宽度-夹具宽度/2。
x方向上夹具中心坐标上限=平台宽度-夹具长度/2,x方向上夹具中心坐标下限=夹具宽度/2。
本实施例的算法中,初始输入的参数包括有板材中心坐标,板材的长度、最大长度、最小长度、宽度、最大宽度、最小宽度;cnc平台的长度和宽度;夹具的长度、宽度、吸盘排宽度(轴宽度)、吸盘直径、x方向和y方向吸盘中心距、两个吸盘排邻边最小间距、y方向最外侧吸盘切线到夹具边缘距离、x方向2吸盘最小覆盖长度、x方向3吸盘最小覆盖长度、x方向4吸盘最小覆盖长度、x方向4吸盘,轴中线能对齐板材4等分线时最小覆盖长度等。
根据初始输入参数,经过计算可得到板材中心坐标上下限、长度上下限、宽度上下限;机器人夹具中心坐标上下限、板材宽度所能覆盖的最大吸盘数、板材中心距离最近吸盘组的数量n2、吸盘排中线在x方向上的坐标、吸盘排中线与板材中心的距离等中间参数,并最终计算得到机器人夹具y向偏距值及需要开启的吸盘组编号值和机器人夹具x向偏距值。
本发明的机器人夹具抓取算法,针对待抓取物品的不同长度、宽度、在平台上的不同位置,充分考虑各种情况,经过精确计算得到机器人夹具抓取位置空间坐标,选择所需开启吸盘列及吸盘编号,完成对待抓取物品的准确夹取及码放,能够避免因抓取位置误差造成的工作错误。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3