本发明涉及焊接机器人路径规划领域,尤其涉及焊接机器人路径规划领域中一种可快速调整焊枪姿态的圆弧8字形摆弧路径的规划算法。
背景技术:
近年来,先进工业国家在机器人研究方面取得了十分迅速的发展,机器人广泛应用于工业生产,在汽车制造、焊接、喷涂、建筑、搬运码垛、装配等作业中得到越来越多的应用。然而由于姿态示教的复杂性,使得焊枪姿态的示教占据了大量的示教时间,而且传统示教不能在实际焊接过程中随时调整焊接工艺参数﹐致使工作效率低下。因此亟待找到一种新方法,使得在实际焊接过程中,一次示教后通过调整就可以实现不同焊枪姿态和不同焊接工艺参数的焊接,从而提高焊接质量和焊接效率,降低焊接成本。
技术实现要素:
本发明的目的旨在为提高工业机器人示教效率和焊接质量,实现圆弧摆动焊接算法的不同焊枪姿态的快速示教及姿态调整,提出可快速调整焊枪姿态的圆弧8字形摆弧路径规划策略。该策略能以任意焊枪姿态对圆弧焊缝进行位置示教,然后根据焊枪工作角计算得到焊接平面,并根据焊枪摆动幅值、机器人末端线速度等参数调用圆弧8字形摆弧路径生成算法得到路径上各插补点位置信息,最后对焊枪坐标系加入焊枪行走角得到机器人焊接过程各个插补点姿态值。
为了实现上述目的,本发明采用如下的技术方案:
可快速调整焊枪工作角与行走角的圆弧8字形摆动算法,其包括以下步骤:
(1)示教点的获取:通过人工示教获得个3示教点ps、pm和pe;
(2)以3个示教点ps、pm和pe确定的圆弧
(3)对圆弧
(4)插入焊枪工作角α,计算圆弧
(5)计算8字型摆动模型上8字形摆动路径的各摆动插补点的机器人位置;
(6)计算8字型摆动模型上8字形摆动路径的各摆动插补点的机器人姿态。
所述步骤(2)中以3个示教点ps、pm和pe确定的圆弧
(2.1)对三个示教点ps、pm和pe进行共线判断,将三个示教点的坐标值组成一个3*3的行列式:
行列式中,xs、ys和zs分别是示教点ps的x轴、y轴和z轴坐标值,同理行列式中第二列和第三列的值分别是pm和pe的坐标值;若行列式结果不等于0则说明三点不共线,可以构件一个过三个示教点的圆弧平面,继续计算圆弧平面方程;若行列式结果等于0说明三点共线,返回步骤(1)重新获取三个示教点;
(2.2)由向量
b11·x b12·y b13·z c1=0
其中:
b11=(ym-ys)(ze-zm)-(ye-ym)(zm-zs)
b12=(xe-xm)(zm-zs)-(xm-xs)(ze-zm)
b13=(xm-xs)(ye-ym)-(xe-xm)(ym-ys)
c1=xs·b11 ys·b12 zs·b13
(2.3)在圆弧
b21·x b22·y b23·z c2=0
其中:
b21=xm-xs
b22=ym-ys
b23=zm-zs
同样的,在圆弧
b31x b32y b33z c3=0
其中:
b31=xe-xm
b32=ye-ym
b33=ze-zm
(2.4)垂直平分面psm、垂直平分面pme和3个示教点ps、pm和pe确定的圆弧
变换得圆心坐标为:
计算得到的圆弧圆心坐标以及圆弧边上任意一点得圆的半径r:
(2.5)以圆弧
以圆心oc指向示教圆弧
并由z轴和x轴方向按照右手定则确定圆弧坐标系y轴方向,计算其单位向量
(2.6)计算圆弧坐标系oc-xcyczc相对于机器人绝对坐标系的变换矩阵tc:
所述步骤(3)中对圆弧
(3.1)分别计算ocps与ocpm构成的圆心角δ1和ocpm与ocpe构成的圆心角δ2:
其中,
(3.2)对圆弧
其中,f为完成一次8字形摆动插补运动周期所需要的插补点数,amp是摆动焊接时从焊缝中心向两边摆动的最大距离;其次,根据圆心角增量值δθ和圆心角δ1、δ2,分别计算圆弧
最后,计算圆弧
(3.3)计算圆弧
(3.4)根据圆弧坐标系oc-xcyczc相对于机器人绝对坐标系的变换矩阵tc,可将圆弧
mb=tc·mc
其中,xi=mb[0][3],yi=mb[1][3],zi=mb[2][3];
同理,可求圆弧
所述步骤(4)中插入焊枪工作角α,计算圆弧
首先加入焊枪工作角α调整焊枪姿态和焊接面与工件之间角度,并根据焊接面与被焊工件表面的空间几何关系,计算圆弧
所述步骤(5)中计算8字形摆动模型上8字形摆动路径的各摆动插补点的机器人位置的具体步骤是:
(5.1)在焊接面上建立8字形摆动模型坐标系,设摆动模型第j个摆动插补点的焊缝切线方向作为8字形摆动模型坐标系的xs轴,其方向的单位向量为
(5.2)计算8字形摆弧模型上的摆动路径的第j个摆动插补点在其所在焊接面的x轴偏移量
计算偏移矢量8字形插补点位于y轴正负方向的标志位变量temp:
temp=ceil(j/f)
当temp变量与2相除的余数为0时,代表偏移矢量8字形插补点位于y轴正方向,此时的x轴偏移量
当temp变量与2相除的余数不为0时代表偏移矢量8字型插补点位于y轴负方向,此时的x轴偏移量
(5.3)计算8字形摆弧模型上的摆动路径的各摆动插补点位置信息,设第j个摆动插补点位置为posj:
所述步骤(6)计算8字形摆动模型上8字形摆动路径的各摆动插补点的机器人姿态的具体步骤是:
(6.1)建立焊枪坐标系ot-xtytzt,取焊枪轴线作为焊枪坐标系zt轴,方向由焊枪指向焊缝,则zt的方向向量
取焊枪坐标系ot-xtytzt的yt轴方向为焊接前进方向,则yt轴的方向向量
由
(6.2)根据焊枪坐标系ot-xtytzt相对于机器人绝对坐标系各轴方向余弦值建立机器人位于焊接面中8字形摆动模型上8字形摆动路径的各个摆动插补点的位姿矩阵mt:
(6.3)加入焊枪行走角β,可视为焊枪坐标系ot-xtytzt绕自身坐标系的xt轴转过β度,由此计算加入焊枪行走角β后的焊枪姿态变化矩阵tb:
确定经焊枪行走角β偏移后焊接面中8字形摆动模型上第j个摆动插补点位姿矩阵mj:mj=mt*tb,将得到的位姿矩阵mj转化为位姿信息,得到8字形摆动模型上第j个摆动插补点姿态orij:orij=(aj,bj,cj),式中(aj,bj,cj)代表机器人焊枪处于圆弧8字形摆动模型上的摆动路径的第j个摆动插补点时的欧拉角。
相比于现有技术,本发明具有如下有益效果:可以先以任意焊枪姿态对焊缝位置进行示教,缩短了对于焊枪姿态的示教时间,并引入焊枪工作角和焊枪行走角,通过调整工作角和行走角这两个角度来快速实现焊枪姿态的调整;通过调整焊接摆弧来调节实际焊接时的焊缝宽度,可一次获取较宽的焊缝,减少焊接道次,缩短焊接时间,进一步减少了整体作业时间,提高焊接效率和焊接质量。
附图说明
图1为总流程图;
图2为圆弧平面示意图;
图3为空间圆弧圆心矢量关系图;
图4为圆心角几何关系示意图;
图5为圆弧插补点空间位置矢量关系示意图;
图6为8字形摆动焊接面矢量坐标模型示意图;
图7为圆弧路径插补点姿态调整前后焊接面与工件空间几何关系图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如附图1的流程图所示,本发明公开了可快速调整焊枪姿态的圆弧8字形摆弧路径的规划算法,包括以下步骤:
步骤1:示教点的获取:通过人工示教获得个3示教点ps、pm和pe;
步骤2:以3个示教点ps、pm和pe确定的圆弧
步骤2.1:对三个示教点ps、pm和pe进行共线判断,将三个示教点的坐标值组成一个3*3的行列式:
行列式中,xs、ys和zs分别是示教点ps的x轴、y轴和z轴坐标值,同理行列式中第二列和第三列的值分别是pm和pe的坐标值;若行列式结果不等于0则说明三点不共线,可以确定一个过三个示教点的圆弧平面,继续计算圆弧平面方程;若行列式结果等于0说明三点共线,返回第一步重新示教三个点;如图2所示,由3个示教点ps、pm和pe确定一个圆弧
步骤2.2:由向量
令
b11·x b12·y b13·z c1=0
其中:
b11=(ym-ys)(ze-zm)-(ye-ym)(zm-zs)
b12=(xe-xm)(zm-zs)-(xm-xs)(ze-zm)
b13=(xm-xs)(ye-ym)-(xe-xm)(ym-ys)
c1=xs·b11 ys·b12 zs·b13
步骤2.3:在圆弧
b21·x b22·y b23·z c2=0
其中:
b21=xm-xs
b22=ym-ys
b23=zm-zs
同样的,在圆弧
b31x b32y b33z c3=0
其中:
b31=xe-xm
b32=ye-ym
b33=ze-zm
步骤2.4:垂直平分面psm、垂直平分面pme和3个示教点ps、pm和pe确定的圆弧
变换得圆心坐标为:
计算得到的圆弧圆心坐标以及圆弧边上任意一点得圆的半径r:
步骤2.5:以圆弧
以圆心oc指向示教圆弧
并由z轴和x轴方向按照右手定则确定圆弧坐标系y轴方向,计算其单位向量
步骤2.6:计算圆弧坐标系oc-xcyczc相对于机器人绝对坐标系的变换矩阵tc:
步骤3:对圆弧
步骤3.1:分别计算ocps与ocpm构成的圆心角δ1和ocpm与ocpe构成的圆心角δ2,如图4所示,分别计算当δ1≤π和δ1≥π时两个圆心角大小:
其中,
步骤3.2:对圆弧
首先计算插补步距δl和插补圆心角增量值δθ:
其中,f为完成一次8字形摆动插补运动周期所需要的插补点数,对于8字形摆动路径,一般选取周期插补点数为16,amp是摆动焊接时从焊缝中心向两边摆动的最大距离;其次,根据圆心角增量值δθ和圆心角δ1、δ2,分别计算圆弧
最后,计算圆弧
stepnum=n1 n2 1
步骤3.3:计算圆弧
步骤3.4:根据圆弧坐标系oc-xcyczc相对于机器人绝对坐标系的变换矩阵tc,可将圆弧
mb=tc·mc
其中,xi=mb[0][3],yi=mb[1][3],zi=mb[2][3];
同理,可求圆弧
步骤4:插入焊枪工作角α,计算圆弧
首先加入焊枪工作角α调整焊枪姿态和焊接面与工件之间的角度,如图5所示,在未加入焊枪工作角之前的焊接面为直线er所在平面,加入工作角后的焊接面为直线e'r'所在平面;并根据图5的焊接面与被焊工件表面的空间几何关系,计算圆弧
步骤5:计算8字型摆动模型上8字形摆动路径的各摆动插补点的机器人位置;计算过程具体包括以下几个步骤:
步骤5.1:在焊接面上建立8字形摆动模型坐标系,如图6所示,设摆动模型第j个摆动插补点的焊缝切线方向作为8字形摆动模型坐标系的xs轴,其方向的单位向量为
步骤5.2:计算8字形摆弧模型上的摆动路径的第j个摆动插补点在其所在焊接面的x轴偏移量
计算偏移矢量8字形插补点位于y轴正负方向的标志位变量temp:
temp=ceil(j/f)
当temp变量与2相除的余数为0时,代表偏移矢量8字形插补点位于y轴正方向,此时的x轴偏移量
当temp变量与2相除的余数不为0时代表偏移矢量8字型插补点位于y轴负方向,此时的x轴偏移量
步骤5.3:计算8字形摆弧模型上的摆动路径的各摆动插补点位置信息,设第j个摆动插补点位置为posj:
步骤6:计算8字型摆动模型上8字形摆动路径的各摆动插补点的机器人姿态;计算的过程具体分为以下几个步骤:
步骤6.1:建立焊枪坐标系ot-xtytzt,取焊枪轴线作为焊枪坐标系zt轴,方向由焊枪指向焊缝,则zt的方向向量
取焊枪坐标系ot-xtytzt的yt轴方向为焊接前进方向,则yt轴的方向向量
由
步骤6.2:根据焊枪坐标系ot-xtytzt相对于机器人绝对坐标系各轴方向余弦值建立机器人位于焊接面中8字形摆动模型上8字形摆动路径的各个摆动插补点的位姿矩阵mt:
步骤6.3:加入焊枪行走角β,可视为焊枪坐标系ot-xtytzt绕自身坐标系的xt轴转过β度,如图7所示,加入焊枪行走角β后,焊枪轴线位置由l2转变到l3,调整了焊枪的姿态,由此计算加入焊枪行走角β后的焊枪姿态变化矩阵tb:
确定经焊枪行走角β偏移后焊接面中8字形摆动模型上第j个摆动插补点位姿矩阵mj:
mj=mt*tb
将得到的位姿矩阵mj转化为位姿信息,得到8字形摆动模型上第j个摆动插补点姿态orij:
orij=(aj,bj,cj)
式中(aj,bj,cj)代表机器人焊枪处于圆弧8字形摆动模型上的摆动路径的第j个摆动插补点时的欧拉角。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.可快速调整焊枪工作角与行走角的圆弧8字形摆动算法,其特征在于,包括以下步骤:
(1)示教点的获取:通过人工示教获得个3示教点ps、pm和pe;
(2)以3个示教点ps、pm和pe确定的圆弧
(3)对圆弧
(4)插入焊枪工作角α,计算圆弧
(5)计算8字型摆动模型上8字形摆动路径的各摆动插补点的机器人位置;
(6)计算8字型摆动模型上8字形摆动路径的各摆动插补点的机器人姿态。
2.如权利要求1所述的可快速调整焊枪工作角与行走角的圆弧8字形摆动算法,其特征在于:所述步骤(2)中以3个示教点ps、pm和pe确定的圆弧
(2.1)对三个示教点ps、pm和pe进行共线判断,将三个示教点的坐标值组成一个3*3的行列式:
行列式中,xs、ys和zs分别是示教点ps的x轴、y轴和z轴坐标值,同理行列式中第二列和第三列的值分别是pm和pe的坐标值;若行列式结果不等于0则说明三点不共线,可以构件一个过三个示教点的圆弧平面,继续计算圆弧平面方程;若行列式结果等于0说明三点共线,返回步骤(1)重新获取三个示教点;
(2.2)由向量
b11·x b12·y b13·z c1=0
其中:
b11=(ym-ys)(ze-zm)-(ye-ym)(zm-zs)
b12=(xe-xm)(zm-zs)-(xm-xs)(ze-zm)
b13=(xm-xs)(ye-ym)-(xe-xm)(ym-ys)
c1=xs·b11 ys·b12 zs·b13
(2.3)在圆弧
b21·x b22·y b23·z c2=0
其中:
b21=xm-xs
b22=ym-ys
b23=zm-zs
同样的,在圆弧
b31x b32y b33z c3=0
其中:
b31=xe-xm
b32=ye-ym
b33=ze-zm
(2.4)垂直平分面psm、垂直平分面pme和3个示教点ps、pm和pe确定的圆弧
变换得圆心坐标为:
计算得到的圆弧圆心坐标以及圆弧边上任意一点得圆的半径r:
(2.5)以圆弧
以圆心oc指向示教圆弧
并由z轴和x轴方向按照右手定则确定圆弧坐标系y轴方向,计算其单位向量
(2.6)计算圆弧坐标系oc-xcyczc相对于机器人绝对坐标系的变换矩阵tc:
3.如权利要求1所述的可快速调整焊枪工作角与行走角的圆弧8字形摆动算法,其特征在于:所述步骤(3)中对圆弧
(3.1)分别计算ocps与ocpm构成的圆心角δ1和ocpm与ocpe构成的圆心角δ2:
其中,
(3.2)对圆弧
其中,f为完成一次8字形摆动插补运动周期所需要的插补点数,amp是摆动焊接时从焊缝中心向两边摆动的最大距离;其次,根据圆心角增量值δθ和圆心角δ1、δ2,分别计算圆弧
最后,计算圆弧
(3.3)计算圆弧
(3.4)根据圆弧坐标系oc-xcyczc相对于机器人绝对坐标系的变换矩阵tc,可将圆弧
mb=tc·mc
其中,xi=mb[0][3],yi=mb[1][3],zi=mb[2][3];
同理,可求圆弧
4.如权利要求1所述的可快速调整焊枪工作角与行走角的圆弧8字形摆动算法,其特征在于:所述步骤(4)中插入焊枪工作角α,计算圆弧
首先加入焊枪工作角α调整焊枪姿态和焊接面与工件之间角度,并根据焊接面与被焊工件表面的空间几何关系,计算圆弧
5.如权利要求1所述的可快速调整焊枪工作角与行走角的圆弧8字形摆动算法,其特征在于:所述步骤(5)中计算8字形摆动模型上8字形摆动路径的各摆动插补点的机器人位置的具体步骤是:
(5.1)在焊接面上建立8字形摆动模型坐标系,设摆动模型第j个摆动插补点的焊缝切线方向作为8字形摆动模型坐标系的xs轴,其方向的单位向量为
(5.2)计算8字形摆弧模型上的摆动路径的第j个摆动插补点在其所在焊接面的x轴偏移量
计算偏移矢量8字形插补点位于y轴正负方向的标志位变量temp:
temp=ceil(j/f)
当temp变量与2相除的余数为0时,代表偏移矢量8字形插补点位于y轴正方向,此时的x轴偏移量
当temp变量与2相除的余数不为0时代表偏移矢量8字型插补点位于y轴负方向,此时的x轴偏移量
(5.3)计算8字形摆弧模型上的摆动路径的各摆动插补点位置信息,设第j个摆动插补点位置为posj:
6.如权利要求1所述的可快速调整焊枪工作角与行走角的圆弧8字形摆动算法,其特征在于:所述步骤(6)计算8字形摆动模型上8字形摆动路径的各摆动插补点的机器人姿态的具体步骤是:
(6.1)建立焊枪坐标系ot-xtytzt,取焊枪轴线作为焊枪坐标系zt轴,方向由焊枪指向焊缝,则zt的方向向量
取焊枪坐标系ot-xtytzt的yt轴方向为焊接前进方向,则yt轴的方向向量
由
(6.2)根据焊枪坐标系ot-xtytzt相对于机器人绝对坐标系各轴方向余弦值建立机器人位于焊接面中8字形摆动模型上8字形摆动路径的各个摆动插补点的位姿矩阵mt:
(6.3)加入焊枪行走角β,可视为焊枪坐标系ot-xtytzt绕自身坐标系的xt轴转过β度,由此计算加入焊枪行走角β后的焊枪姿态变化矩阵tb:
确定经焊枪行走角β偏移后焊接面中8字形摆动模型上第j个摆动插补点位姿矩阵mj:mj=mt*tb,将得到的位姿矩阵mj转化为位姿信息,得到8字形摆动模型上第j个摆动插补点姿态orij:orij=(aj,bj,cj),式中(aj,bj,cj)代表机器人焊枪处于圆弧8字形摆动模型上的摆动路径的第j个摆动插补点时的欧拉角。
技术总结