本发明涉及辅助焊接技术,特别是一种应用于机器人多层多道焊的摆动焊接数据分析方法。
背景技术:
在机器人焊接工艺实验中,获取多层多道焊接作业的摆动焊接数据的传统方法为:焊接过程中人工手动记录焊接电源面板的焊接电流和焊接电压等参数、每道焊接完成后,人工使用钢尺测量焊枪末端空间偏移值,同时根据经验估测焊枪姿态偏转角度值。因此传统方法存在误差大,工艺实验效率低等问题。为了直观高效的监视机器人焊接工作路径、摆动方式、摆动特征、焊接电流、焊接电压等信息,方便实验人员动态调整焊枪位置及姿态来观察焊接效果,需要支持机器人末端位置和姿态、焊接电流、焊接电压等参数的实时监控功能的设备/方法。
技术实现要素:
本发明的目的在于提供一种应用于机器人多层多道焊的摆动焊接数据分析方法。
实现本发明目的的技术方案为:一种应用于机器人多层多道焊的摆动焊接数据分析方法,包括:
s1、选取多层多道焊的基路径焊道所在平面建立用户坐标系,在基路径焊道中,基于离散的焊枪位置数据,确定基路径的平面方程及平面法向量;基于起弧点位置数据与息弧点位置数据,确定焊接方向向量;
s2、基于平面的法向量、平面中的焊接方向向量、起弧点位置,建立用户坐标系,确定用户坐标系相对于世界坐标系的变换矩阵;
s3、在其他道焊接过程中,基于实时焊枪的位置和姿态,确定当前焊枪的用户坐标系中位置和姿态,即每道焊接路径相对于基路径的偏移量和偏转角。
进一步的,步骤s1中采用最小二乘法拟合基路径的焊接平面;其中,以起弧点q1作为用户坐标系的原点,起弧点与息弧点q2作为焊接方向向量
进一步的,步骤s2中所述建立用户坐标系包括:
以起弧点q1作为原点、焊接方向向量
平面方程为:z=a0x+a1y+a2
基于最小二乘法公式,得
解方程组,得a0、a1、a2和平面法向量
式中,l为于
进一步的,步骤s2中所述的计算用户坐标系相对于世界坐标系的变换矩阵,具体为:
upx=[100]t
upy=[010]t
upz=[001]t
uoweld=[000]t
其中,wpx、wpy、wpz、woweld分别为世界坐标系中的焊接方向向量的单位向量
进一步的,步骤s3中以焊枪在世界坐标系中的实时位置和姿态,得到与位置姿态数据一一对应的齐次矩阵;基于焊枪在世界坐标系中的齐次矩阵、相对变换矩阵,得出焊枪在用户坐标系中的齐次矩阵:
uparc=utwwparc
式中,x、y、z分别为焊枪在世界坐标系中的坐标值,α、β、γ分别为焊枪在世界坐标系中的姿态角;cα、sα分别代表cosα、sinα;cβ、sβ分别代表cosβ、sinβ;cγ、sγ分别代表cosγ、sinγ;wparc为焊枪在世界坐标系中的齐次矩阵;uparc为焊枪在用户坐标系中的齐次矩阵;utw为用户坐标系相对于世界坐标系的变换矩阵
本发明与现有技术相比,其显著优点为:
(1)支持多种品牌机器人,本发明已经在kuka机器人进行验证;对于支持ethernettcp/ip通信协议或者profinet协议的机器人,都可以实现多层多道焊接数据的采集分析;
(2)自动分析数据,从采集数据中自动提取起弧点,息弧点;对于多层多道焊,基路径尤其重要;本发明依托基路径的焊接数据(位置和姿态),计算多层多道焊的用户坐标系,计算每道焊道在用户坐标系中的位置和姿态,即偏移量和偏转角。
下面结合附图对本发明作进一步详细描述。
附图说明
图1是多层多道焊接的焊道排布示意图。
图2是用户坐标系相对于世界坐标系的变换关系示意图。
图3是本发明的焊接分析流程图。
具体实施方式
目前,我国的船舶焊接基本以工人为主的手动焊接方式,焊接效率和安全性低;此外,由于船舶焊接的特殊性,多层多道焊接的应用场景非常丰富。
本发明以多层多道焊的基路径上的一系列离散且紧密的位置和姿态数据,建立用户坐标系,计算每道焊道相对于基路径的偏移量和旋转角。在基路径数据采集完毕后,自动计算用户坐标系的参数。在上层焊道焊接过程中,实时计算并显示当前焊枪的偏移量和偏转角。当前道焊接结束后,实验人员可以根据与焊接起点的距离,在数据分析系统中快速定位任意焊接位置的焊接数据。
如图1、图2所示,本发明的一种应用于机器人多层多道焊的摆动焊接数据分析方法,包括以下步骤:
步骤1:建立拟合平面方程
三维空间中平面方程的一般表达式为:
ax+by+cz+d=0(c≠0)(1)
令
z=a0x+a1y+a2(2)
根据最小二乘法,误差值为:
对于点集{(xi,yi,zi)|i=0,1,2,...,n-1},n≥3,只要使s最小,即可获取这个点集最佳的拟合平面。要使s最小,应满足
可得到:
解线性方程组,得a0、a1、a2,进而求得该点集拟合的平面方程和平面的法向量
步骤2:建立用户工作坐标系相对于世界坐标系的齐次变换矩阵
本发明中,认定基路径的起点为起弧点,其终点为息弧点,两点构成的矢量为焊接方向(同样适用于摆动焊接形式)。根据拟合平面的单位法向量、焊接方向的单位向量和起弧点坐标,计算多层多道焊的用户坐标系相对于世界坐标系的变换矩阵。
假设焊接行进的单位向量为用户坐标系的x轴基向量
公式(5)中,l为
用户坐标系下,x轴、y轴和z轴的单位向量分别为:upx=[100]t,upy=[010]t,upz=[001]t。根据齐次变换公式,得到用户坐标系的坐标轴方向向量在用户坐标系下的描述和在世界坐标系下的描述的关系:
合并公式(5),得到
wpx,wpy,wpz,woweld分别为世界坐标系的x轴单位向量、y轴单位向量、z轴单位向量、原点在世界坐标系下的坐标。将upx,upy,upz,uoweld代入,公式8的左侧为单位矩阵。wpx,wpy,wpz,woweld均已经计算得出。因此,
至此,已经得到用户坐标系相对于世界坐标系的变换矩阵。
步骤3:计算每道焊道相对于基路径的偏移量和偏转角
欧拉角用于确定定点转动刚体位置的一组独立角参量,由章动角α,旋进角β,自转角γ组成。根据用户坐标系相对于世界坐标系的变换矩阵utw计算焊接路径任意一点在用户坐标系中的位置和姿态。本发明中使用z-y-z欧拉角描述焊枪的姿态。
由z-y-z欧拉角公式,得到旋转变换矩阵:
公式(11)中,α、β、γ分别为焊枪在世界坐标系中的姿态角;cα、sα分别代表cosα、sinα;cβ、sβ分别代表cosβ、sinβ;cγ、sγ分别代表cosγ、sinγ。
则描述焊枪位置和姿态的齐次矩阵为
由公式(8),焊枪在用户坐标系中的位姿的齐次矩阵uparc和在世界坐标系中的位姿齐次矩阵wparc存在以下关系:
uparc=utwwparc(13)
根据步骤2中求解的用户坐标系相对于世界坐标系的变换矩阵,以及焊枪在世界坐标系的位姿数据,可以得到焊枪在用户坐标系的位姿齐次矩阵uparc,进而求解焊枪在用户坐标系的位置和姿态数据(upx,upy,upz,upα,upβ,upγ),即相对于基路径的偏移量和偏转角。
下面参照附图对本发明的示例性实施方式进行详细描述。
实施例
本实施例提供一种应用于机器人多层多道焊的摆动焊接数据分析方法,通过基路径的摆动焊接数据确定用户坐标系,将焊接过程中实时的焊枪位置和姿态转换成用户坐标系中的位置和姿态,进而得到每道焊道相对于基路径的偏移量和偏转角。结合图3,该方法包括以下步骤:
步骤1,初始化数据分析项目,设置焊接类型、预计焊接的层数和每层的道数;
步骤2,机器人开始焊接后,数据分析系统自动获取基路径的焊接路径数据;
步骤3,基路径的焊接路径数据采集完毕后,建立用户坐标系:
1)选取第一个数据点为起弧点q1,最后一个数据点为息弧点q2和焊接方向的单位向量
2)根据基路径的所有的位置数据,利用最小二乘法拟合平面方程和平面的单位法向量
3)向量
4)计算用户坐标系相对于世界坐标系的变换矩阵。
步骤3,机器人继续多层多道焊,数据分析系统根据焊枪当前在世界坐标系的位置和姿态,计算焊枪在用户坐标系中的位置和姿态数据,即每道焊道相对于基路径的偏移量和偏转角。
步骤4,机器人多层多道焊结束后,数据分析系统将所有焊接路径数据存入数据库,并将每道焊道的偏移量、偏转角数据存入工艺库。